pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:12134:    case T_AND:    if (!(tmp = low_new_check_call(fun_type, arg_type->car,    flags & ~CALL_WEAK_VOID, sval))) {    return NULL;    }    if (!(tmp2 = low_new_check_call(fun_type, arg_type->cdr,    flags & ~CALL_WEAK_VOID, sval))) {    free_type(tmp);    return NULL;    } -  res = and_pike_types(tmp, tmp2); +  if (tmp == tmp2) { +  free_type(tmp2); +  return tmp; +  } +  type_stack_mark(); +  push_finished_type(tmp); +  push_finished_type(tmp2); +  push_type(T_AND);    free_type(tmp);    free_type(tmp2); -  return res; +  return pop_unfinished_type();       case T_VOID:    if ((flags & (CALL_WEAK_VOID|CALL_STRICT)) == CALL_STRICT) {    return NULL;    }    /* Promote void arguments to zero. */    arg_type = zero_type_string;    break;    }