pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:5549:    b = pop_unfinished_type();       ret = low_type_binop(op, a, b, remap, aflags, bflags, remap_flags);    free_type(b);    return ret;       case TWOT(T_OBJECT, T_FUNCTION):    case TWOT(T_OBJECT, T_MANY):    case TWOT(T_OBJECT, T_PROGRAM):    case TWOT(T_OBJECT, PIKE_T_TRANSITIVE): -  a = low_object_lfun_type(a, LFUN_CALL); -  if (!a) return NULL; +  tmp = low_object_lfun_type(a, LFUN_CALL); +  if (!tmp) { +  break; +  } +  a = tmp;    goto loop;       case TWOT(T_FUNCTION, T_OBJECT):    case TWOT(T_MANY, T_OBJECT):    case TWOT(T_PROGRAM, T_OBJECT):    case TWOT(PIKE_T_TRANSITIVE, T_OBJECT): -  b = low_object_lfun_type(b, LFUN_CALL); -  if (!b) return NULL; +  tmp = low_object_lfun_type(b, LFUN_CALL); +  if (!tmp) { +  break; +  } +  b = tmp;    goto loop;       case TWOT(PIKE_T_TRANSITIVE, T_MANY):    if (op == PT_BINOP_AND) {    type_stack_mark();    tmp = low_type_binop(op, a->car, b, remap, aflags, bflags, remap_flags);    push_finished_type(tmp);    if (tmp || !a->car) {    free_type(tmp);    tmp = low_type_binop(op, a->cdr, b, NULL, aflags, bflags, remap_flags);