} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
/*
if (!target_symbol_table) {
CHECK_EXCEPTION();
zend_std_unset_static_property(ce, Z_STR_P(varname), ((IS_CONST == IS_CONST) ? opline->op1.literal : NULL) TSRMLS_CC);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
zend_delete_variable(execute_data, target_symbol_table, Z_STR_P(varname) TSRMLS_CC);
}
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
if ((value = zend_hash_find(target_symbol_table, Z_STR_P(varname))) == NULL) {
isset = 0;
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
/*
if (!target_symbol_table) {
CHECK_EXCEPTION();
zend_std_unset_static_property(ce, Z_STR_P(varname), ((IS_CONST == IS_CONST) ? opline->op1.literal : NULL) TSRMLS_CC);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
zend_delete_variable(execute_data, target_symbol_table, Z_STR_P(varname) TSRMLS_CC);
}
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
if ((value = zend_hash_find(target_symbol_table, Z_STR_P(varname))) == NULL) {
isset = 0;
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
/*
if (!target_symbol_table) {
CHECK_EXCEPTION();
zend_std_unset_static_property(ce, Z_STR_P(varname), ((IS_CONST == IS_CONST) ? opline->op1.literal : NULL) TSRMLS_CC);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
zend_delete_variable(execute_data, target_symbol_table, Z_STR_P(varname) TSRMLS_CC);
}
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
if ((value = zend_hash_find(target_symbol_table, Z_STR_P(varname))) == NULL) {
isset = 0;
}
zval_dtor(free_op1.var);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
/*
if (!target_symbol_table) {
CHECK_EXCEPTION();
zend_std_unset_static_property(ce, Z_STR_P(varname), ((IS_TMP_VAR == IS_CONST) ? opline->op1.literal : NULL) TSRMLS_CC);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
zend_delete_variable(execute_data, target_symbol_table, Z_STR_P(varname) TSRMLS_CC);
}
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
if ((value = zend_hash_find(target_symbol_table, Z_STR_P(varname))) == NULL) {
isset = 0;
}
zval_dtor(free_op1.var);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
/*
if (!target_symbol_table) {
CHECK_EXCEPTION();
zend_std_unset_static_property(ce, Z_STR_P(varname), ((IS_TMP_VAR == IS_CONST) ? opline->op1.literal : NULL) TSRMLS_CC);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
zend_delete_variable(execute_data, target_symbol_table, Z_STR_P(varname) TSRMLS_CC);
}
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
if ((value = zend_hash_find(target_symbol_table, Z_STR_P(varname))) == NULL) {
isset = 0;
}
zval_dtor(free_op1.var);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
/*
if (!target_symbol_table) {
CHECK_EXCEPTION();
zend_std_unset_static_property(ce, Z_STR_P(varname), ((IS_TMP_VAR == IS_CONST) ? opline->op1.literal : NULL) TSRMLS_CC);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
zend_delete_variable(execute_data, target_symbol_table, Z_STR_P(varname) TSRMLS_CC);
}
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
if ((value = zend_hash_find(target_symbol_table, Z_STR_P(varname))) == NULL) {
isset = 0;
}
zval_ptr_dtor_nogc(free_op1.var);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
/*
if (!target_symbol_table) {
CHECK_EXCEPTION();
zend_std_unset_static_property(ce, Z_STR_P(varname), ((IS_VAR == IS_CONST) ? opline->op1.literal : NULL) TSRMLS_CC);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
zend_delete_variable(execute_data, target_symbol_table, Z_STR_P(varname) TSRMLS_CC);
}
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
if ((value = zend_hash_find(target_symbol_table, Z_STR_P(varname))) == NULL) {
isset = 0;
}
zval_ptr_dtor_nogc(free_op1.var);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
/*
if (!target_symbol_table) {
CHECK_EXCEPTION();
(IS_VAR == IS_VAR && UNEXPECTED(Z_TYPE_P(variable_ptr) == IS_STR_OFFSET))) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets nor overloaded objects");
}
+//???: instead of FREE_OP2_VAR_PTR
+ if (IS_VAR == IS_VAR && free_op2.var) {
+ if (Z_REFCOUNTED_P(free_op2.var)) Z_DELREF_P(free_op2.var);
+ free_op2.var = NULL;
+ }
zend_assign_to_variable_reference(variable_ptr, value_ptr TSRMLS_CC);
if (IS_VAR == IS_VAR && opline->extended_value == ZEND_RETURNS_NEW) {
}
//??? if (free_op1.var) {zval_ptr_dtor_nogc(free_op1.var);};
- if (free_op2.var) {zval_ptr_dtor_nogc(free_op2.var);};
+//??? if (free_op2.var) {zval_ptr_dtor_nogc(free_op2.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
zend_std_unset_static_property(ce, Z_STR_P(varname), ((IS_VAR == IS_CONST) ? opline->op1.literal : NULL) TSRMLS_CC);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
zend_delete_variable(execute_data, target_symbol_table, Z_STR_P(varname) TSRMLS_CC);
}
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
if ((value = zend_hash_find(target_symbol_table, Z_STR_P(varname))) == NULL) {
isset = 0;
}
zval_ptr_dtor_nogc(free_op1.var);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
/*
if (!target_symbol_table) {
CHECK_EXCEPTION();
zend_std_unset_static_property(ce, Z_STR_P(varname), ((IS_VAR == IS_CONST) ? opline->op1.literal : NULL) TSRMLS_CC);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
zend_delete_variable(execute_data, target_symbol_table, Z_STR_P(varname) TSRMLS_CC);
}
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
if ((value = zend_hash_find(target_symbol_table, Z_STR_P(varname))) == NULL) {
isset = 0;
}
(IS_VAR == IS_VAR && UNEXPECTED(Z_TYPE_P(variable_ptr) == IS_STR_OFFSET))) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets nor overloaded objects");
}
+//???: instead of FREE_OP2_VAR_PTR
+ if (IS_CV == IS_VAR && free_op2.var) {
+ if (Z_REFCOUNTED_P(free_op2.var)) Z_DELREF_P(free_op2.var);
+ free_op2.var = NULL;
+ }
zend_assign_to_variable_reference(variable_ptr, value_ptr TSRMLS_CC);
if (IS_CV == IS_VAR && opline->extended_value == ZEND_RETURNS_NEW) {
}
//??? if (free_op1.var) {zval_ptr_dtor_nogc(free_op1.var);};
+//??? ;
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
/*
if (!target_symbol_table) {
CHECK_EXCEPTION();
zend_std_unset_static_property(ce, Z_STR_P(varname), ((IS_CV == IS_CONST) ? opline->op1.literal : NULL) TSRMLS_CC);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
zend_delete_variable(execute_data, target_symbol_table, Z_STR_P(varname) TSRMLS_CC);
}
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
if ((value = zend_hash_find(target_symbol_table, Z_STR_P(varname))) == NULL) {
isset = 0;
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
/*
if (!target_symbol_table) {
CHECK_EXCEPTION();
(IS_CV == IS_VAR && UNEXPECTED(Z_TYPE_P(variable_ptr) == IS_STR_OFFSET))) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets nor overloaded objects");
}
+//???: instead of FREE_OP2_VAR_PTR
+ if (IS_VAR == IS_VAR && free_op2.var) {
+ if (Z_REFCOUNTED_P(free_op2.var)) Z_DELREF_P(free_op2.var);
+ free_op2.var = NULL;
+ }
zend_assign_to_variable_reference(variable_ptr, value_ptr TSRMLS_CC);
if (IS_VAR == IS_VAR && opline->extended_value == ZEND_RETURNS_NEW) {
}
//??? ;
- if (free_op2.var) {zval_ptr_dtor_nogc(free_op2.var);};
+//??? if (free_op2.var) {zval_ptr_dtor_nogc(free_op2.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
zend_std_unset_static_property(ce, Z_STR_P(varname), ((IS_CV == IS_CONST) ? opline->op1.literal : NULL) TSRMLS_CC);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
zend_delete_variable(execute_data, target_symbol_table, Z_STR_P(varname) TSRMLS_CC);
}
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
if ((value = zend_hash_find(target_symbol_table, Z_STR_P(varname))) == NULL) {
isset = 0;
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
/*
if (!target_symbol_table) {
CHECK_EXCEPTION();
zend_std_unset_static_property(ce, Z_STR_P(varname), ((IS_CV == IS_CONST) ? opline->op1.literal : NULL) TSRMLS_CC);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
zend_delete_variable(execute_data, target_symbol_table, Z_STR_P(varname) TSRMLS_CC);
}
}
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
+//???: STRING may become INDIRECT
+ if (Z_TYPE_P(varname) == IS_INDIRECT) {
+ varname = Z_INDIRECT_P(varname);
+ }
if ((value = zend_hash_find(target_symbol_table, Z_STR_P(varname))) == NULL) {
isset = 0;
}
(IS_CV == IS_VAR && UNEXPECTED(Z_TYPE_P(variable_ptr) == IS_STR_OFFSET))) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets nor overloaded objects");
}
+//???: instead of FREE_OP2_VAR_PTR
+ if (IS_CV == IS_VAR && free_op2.var) {
+ if (Z_REFCOUNTED_P(free_op2.var)) Z_DELREF_P(free_op2.var);
+ free_op2.var = NULL;
+ }
zend_assign_to_variable_reference(variable_ptr, value_ptr TSRMLS_CC);
if (IS_CV == IS_VAR && opline->extended_value == ZEND_RETURNS_NEW) {
ZVAL_COPY(EX_VAR(opline->result.var), variable_ptr);
}
+//??? ;
//??? ;
CHECK_EXCEPTION();