function_name = EX_CONSTANT(opline->op2);
if (IS_CONST != IS_CONST) {
- if (IS_CONST & (IS_VAR|IS_CV)) {
- ZVAL_DEREF(function_name);
- }
if (UNEXPECTED(Z_TYPE_P(function_name) != IS_STRING)) {
- if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
- GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
- if (UNEXPECTED(EG(exception) != NULL)) {
- HANDLE_EXCEPTION();
+ do {
+ if (IS_CONST & (IS_VAR|IS_CV) && Z_ISREF_P(function_name)) {
+ function_name = Z_REFVAL_P(function_name);
+ if (EXPECTED(Z_TYPE_P(function_name) == IS_STRING)) {
+ break;
+ }
+ } else if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
+ GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ HANDLE_EXCEPTION();
+ }
}
- }
- zend_throw_error(NULL, "Function name must be a string");
+ zend_throw_error(NULL, "Function name must be a string");
- HANDLE_EXCEPTION();
+ HANDLE_EXCEPTION();
+ } while (0);
}
}
function_name = NULL;
if (IS_UNUSED != IS_CONST) {
- if (IS_UNUSED & (IS_VAR|IS_CV)) {
- ZVAL_DEREF(function_name);
- }
if (UNEXPECTED(Z_TYPE_P(function_name) != IS_STRING)) {
- if (IS_UNUSED == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
- GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
- if (UNEXPECTED(EG(exception) != NULL)) {
- HANDLE_EXCEPTION();
+ do {
+ if (IS_UNUSED & (IS_VAR|IS_CV) && Z_ISREF_P(function_name)) {
+ function_name = Z_REFVAL_P(function_name);
+ if (EXPECTED(Z_TYPE_P(function_name) == IS_STRING)) {
+ break;
+ }
+ } else if (IS_UNUSED == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
+ GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ HANDLE_EXCEPTION();
+ }
}
- }
- zend_throw_error(NULL, "Function name must be a string");
+ zend_throw_error(NULL, "Function name must be a string");
- HANDLE_EXCEPTION();
+ HANDLE_EXCEPTION();
+ } while (0);
}
}
function_name = _get_zval_ptr_cv_undef(execute_data, opline->op2.var);
if (IS_CV != IS_CONST) {
- if (IS_CV & (IS_VAR|IS_CV)) {
- ZVAL_DEREF(function_name);
- }
if (UNEXPECTED(Z_TYPE_P(function_name) != IS_STRING)) {
- if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
- GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
- if (UNEXPECTED(EG(exception) != NULL)) {
- HANDLE_EXCEPTION();
+ do {
+ if (IS_CV & (IS_VAR|IS_CV) && Z_ISREF_P(function_name)) {
+ function_name = Z_REFVAL_P(function_name);
+ if (EXPECTED(Z_TYPE_P(function_name) == IS_STRING)) {
+ break;
+ }
+ } else if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
+ GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ HANDLE_EXCEPTION();
+ }
}
- }
- zend_throw_error(NULL, "Function name must be a string");
+ zend_throw_error(NULL, "Function name must be a string");
- HANDLE_EXCEPTION();
+ HANDLE_EXCEPTION();
+ } while (0);
}
}
function_name = _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2);
if ((IS_TMP_VAR|IS_VAR) != IS_CONST) {
- if ((IS_TMP_VAR|IS_VAR) & (IS_VAR|IS_CV)) {
- ZVAL_DEREF(function_name);
- }
if (UNEXPECTED(Z_TYPE_P(function_name) != IS_STRING)) {
- if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
- GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
- if (UNEXPECTED(EG(exception) != NULL)) {
- HANDLE_EXCEPTION();
+ do {
+ if ((IS_TMP_VAR|IS_VAR) & (IS_VAR|IS_CV) && Z_ISREF_P(function_name)) {
+ function_name = Z_REFVAL_P(function_name);
+ if (EXPECTED(Z_TYPE_P(function_name) == IS_STRING)) {
+ break;
+ }
+ } else if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
+ GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ HANDLE_EXCEPTION();
+ }
}
- }
- zend_throw_error(NULL, "Function name must be a string");
- zval_ptr_dtor_nogc(free_op2);
- HANDLE_EXCEPTION();
+ zend_throw_error(NULL, "Function name must be a string");
+ zval_ptr_dtor_nogc(free_op2);
+ HANDLE_EXCEPTION();
+ } while (0);
}
}
function_name = EX_CONSTANT(opline->op2);
if (IS_CONST != IS_CONST) {
- if (IS_CONST & (IS_VAR|IS_CV)) {
- ZVAL_DEREF(function_name);
- }
if (UNEXPECTED(Z_TYPE_P(function_name) != IS_STRING)) {
- if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
- GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
- if (UNEXPECTED(EG(exception) != NULL)) {
- HANDLE_EXCEPTION();
+ do {
+ if (IS_CONST & (IS_VAR|IS_CV) && Z_ISREF_P(function_name)) {
+ function_name = Z_REFVAL_P(function_name);
+ if (EXPECTED(Z_TYPE_P(function_name) == IS_STRING)) {
+ break;
+ }
+ } else if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
+ GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ HANDLE_EXCEPTION();
+ }
}
- }
- zend_throw_error(NULL, "Function name must be a string");
+ zend_throw_error(NULL, "Function name must be a string");
- HANDLE_EXCEPTION();
+ HANDLE_EXCEPTION();
+ } while (0);
}
}
function_name = NULL;
if (IS_UNUSED != IS_CONST) {
- if (IS_UNUSED & (IS_VAR|IS_CV)) {
- ZVAL_DEREF(function_name);
- }
if (UNEXPECTED(Z_TYPE_P(function_name) != IS_STRING)) {
- if (IS_UNUSED == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
- GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
- if (UNEXPECTED(EG(exception) != NULL)) {
- HANDLE_EXCEPTION();
+ do {
+ if (IS_UNUSED & (IS_VAR|IS_CV) && Z_ISREF_P(function_name)) {
+ function_name = Z_REFVAL_P(function_name);
+ if (EXPECTED(Z_TYPE_P(function_name) == IS_STRING)) {
+ break;
+ }
+ } else if (IS_UNUSED == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
+ GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ HANDLE_EXCEPTION();
+ }
}
- }
- zend_throw_error(NULL, "Function name must be a string");
+ zend_throw_error(NULL, "Function name must be a string");
- HANDLE_EXCEPTION();
+ HANDLE_EXCEPTION();
+ } while (0);
}
}
function_name = _get_zval_ptr_cv_undef(execute_data, opline->op2.var);
if (IS_CV != IS_CONST) {
- if (IS_CV & (IS_VAR|IS_CV)) {
- ZVAL_DEREF(function_name);
- }
if (UNEXPECTED(Z_TYPE_P(function_name) != IS_STRING)) {
- if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
- GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
- if (UNEXPECTED(EG(exception) != NULL)) {
- HANDLE_EXCEPTION();
+ do {
+ if (IS_CV & (IS_VAR|IS_CV) && Z_ISREF_P(function_name)) {
+ function_name = Z_REFVAL_P(function_name);
+ if (EXPECTED(Z_TYPE_P(function_name) == IS_STRING)) {
+ break;
+ }
+ } else if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
+ GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ HANDLE_EXCEPTION();
+ }
}
- }
- zend_throw_error(NULL, "Function name must be a string");
+ zend_throw_error(NULL, "Function name must be a string");
- HANDLE_EXCEPTION();
+ HANDLE_EXCEPTION();
+ } while (0);
}
}
function_name = _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2);
if ((IS_TMP_VAR|IS_VAR) != IS_CONST) {
- if ((IS_TMP_VAR|IS_VAR) & (IS_VAR|IS_CV)) {
- ZVAL_DEREF(function_name);
- }
if (UNEXPECTED(Z_TYPE_P(function_name) != IS_STRING)) {
- if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
- GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
- if (UNEXPECTED(EG(exception) != NULL)) {
- HANDLE_EXCEPTION();
+ do {
+ if ((IS_TMP_VAR|IS_VAR) & (IS_VAR|IS_CV) && Z_ISREF_P(function_name)) {
+ function_name = Z_REFVAL_P(function_name);
+ if (EXPECTED(Z_TYPE_P(function_name) == IS_STRING)) {
+ break;
+ }
+ } else if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(function_name) == IS_UNDEF)) {
+ GET_OP2_UNDEF_CV(function_name, BP_VAR_R);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+ HANDLE_EXCEPTION();
+ }
}
- }
- zend_throw_error(NULL, "Function name must be a string");
- zval_ptr_dtor_nogc(free_op2);
- HANDLE_EXCEPTION();
+ zend_throw_error(NULL, "Function name must be a string");
+ zval_ptr_dtor_nogc(free_op2);
+ HANDLE_EXCEPTION();
+ } while (0);
}
}