ZEND_ASSERT(frame->call->func->op_array.arg_info);
arg_info = &frame->call->func->op_array.arg_info[opline->op2.num - 1];
if (ZEND_TYPE_IS_SET(arg_info->type)) {
- info &= ZEND_TYPE_FULL_MASK(arg_info->type);
+ zend_class_entry *ce;
+ uint32_t tmp = zend_fetch_arg_info_type(script, arg_info, &ce);
+ info &= tmp;
if (!info) {
break;
}
tmp |= MAY_BE_REF;
}
ssa_var_info[v].type = tmp;
+ ssa_var_info[i].ce = ce;
+ ssa_var_info[i].is_instanceof = 1;
} else {
ssa_var_info[v].type = MAY_BE_RC1 | MAY_BE_RCN | MAY_BE_REF | MAY_BE_ANY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF;
}