/php-src/Zend/ |
H A D | zend_property_hooks.c | 66 zend_property_info *prop_info; in zho_build_properties_ex() local 68 if (prop_info->flags & ZEND_ACC_STATIC) { in zho_build_properties_ex() 71 zend_string *property_name = prop_info->name; in zho_build_properties_ex() 73 if (prop_info->flags & ZEND_ACC_PROTECTED) { in zho_build_properties_ex() 86 if (prop_info->hooks || force_ptr) { in zho_build_properties_ex() 96 if (property_name != prop_info->name) { in zho_build_properties_ex() 144 if (prop_info->hooks) { in zho_declared_it_fetch_current() 162 if (unmangled_name != prop_info->name) { in zho_declared_it_fetch_current() 182 ZSTR_VAL(prop_info->ce->name), zend_get_unmangled_property_name(prop_info->name)); in zho_declared_it_fetch_current() 186 if (ZEND_TYPE_IS_SET(prop_info->type)) { in zho_declared_it_fetch_current() [all …]
|
H A D | zend_object_handlers.c | 79 if (!prop_info) { in rebuild_object_properties_internal() 114 if (!prop_info) { in zend_std_build_object_properties_array() 291 return prop_info; in zend_get_parent_private_property() 825 prop_info = NULL; in zend_std_read_property() 911 if (prop_info) { in zend_std_read_property() 939 if (prop_info) { in zend_std_read_property() 1000 if (prop_info) { in zend_std_write_property() 1161 if (prop_info) { in zend_std_write_property() 1355 } else if (!prop_info || !ZEND_TYPE_IS_SET(prop_info->type)) { in zend_std_get_property_ptr_ptr() 1450 if (prop_info) { in zend_std_unset_property() [all …]
|
H A D | zend_inheritance.h | 53 …nce_status zend_verify_property_hook_variance(const zend_property_info *prop_info, const zend_func… 54 …D_COLD ZEND_NORETURN void zend_hooked_property_variance_error(const zend_property_info *prop_info); 56 ZEND_API void zend_verify_hooked_property(zend_class_entry *ce, zend_property_info *prop_info, zend…
|
H A D | zend_objects_API.h | 123 zend_property_info *prop_info = zend_get_property_info_for_slot(obj, slot); in zend_get_typed_property_info_for_slot() local 124 if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) { in zend_get_typed_property_info_for_slot() 125 return prop_info; in zend_get_typed_property_info_for_slot()
|
H A D | zend_opcode.c | 76 op_array->prop_info = NULL; in init_op_array() 187 zend_property_info *prop_info; in zend_cleanup_internal_class_data() local 189 if (prop_info->ce == ce && p - static_members == prop_info->offset) { in zend_cleanup_internal_class_data() 294 zend_property_info *prop_info; in destroy_zend_class() local 391 if (prop_info->ce == ce) { in destroy_zend_class() 396 if (prop_info->attributes) { in destroy_zend_class() 400 if (prop_info->hooks) { in destroy_zend_class() 402 if (prop_info->hooks[i]) { in destroy_zend_class() 464 if (prop_info->ce == ce) { in destroy_zend_class() 467 if (prop_info->attributes) { in destroy_zend_class() [all …]
|
H A D | zend_objects.c | 68 zend_property_info *prop_info = zend_get_property_info_for_slot_self(object, p); in zend_object_dtor_property() local 69 if (ZEND_TYPE_IS_SET(prop_info->type)) { in zend_object_dtor_property() 70 ZEND_REF_DEL_TYPE_SOURCE(Z_REF_P(p), prop_info); in zend_object_dtor_property() 236 zend_property_info *prop_info = zend_get_property_info_for_slot_self(new_object, dst); in zend_objects_clone_members() local 237 if (ZEND_TYPE_IS_SET(prop_info->type)) { in zend_objects_clone_members() 238 ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(dst), prop_info); in zend_objects_clone_members()
|
H A D | zend_inheritance.c | 1345 || (prop_info->hooks && prop_info->hooks[kind]); in property_has_operation() 1673 if (!prop_info->hooks) { in zend_verify_hooked_property() 1711 && (!prop_info->hooks[ZEND_PROPERTY_HOOK_GET] || !prop_info->hooks[ZEND_PROPERTY_HOOK_SET])) { in zend_verify_hooked_property() 1729 zend_hooked_property_variance_error_ex(value_param_name, prop_info->ce->name, prop_info->name); in zend_hooked_property_variance_error() 1734 ZEND_ASSERT(prop_info->hooks && prop_info->hooks[ZEND_PROPERTY_HOOK_SET] == func); in zend_verify_property_hook_variance() 3005 if (prop_info->hooks) { in zend_verify_abstract_class() 3377 prop_info = Z_PTR(p->val); in zend_lazy_class_load() 3379 ZEND_ASSERT(prop_info->prototype == prop_info); in zend_lazy_class_load() 3393 ZEND_ASSERT(hook->prop_info == prop_info); in zend_lazy_class_load() 3607 if (prop_info->ce == ce && prop_info->hooks && prop_info->hooks[ZEND_PROPERTY_HOOK_SET]) { in zend_do_link_class() [all …]
|
H A D | zend_execute.c | 944 ZSTR_VAL(prop_info->name), in zend_asymmetric_visibility_property_modification_error() 2209 if (prop_info) { in zend_pre_incdec_property_zval() 2247 if (prop_info) { in zend_post_incdec_property_zval() 3299 if (!prop_info) { in zend_handle_fetch_obj_flags() 3311 if (!prop_info) { in zend_handle_fetch_obj_flags() 3382 if (prop_info) { in zend_fetch_property_address() 3456 if (prop_info && ZEND_TYPE_IS_SET(prop_info->type)) { in zend_fetch_property_address() 3490 } else if (prop_info) { in zend_assign_to_property_reference() 3601 *prop_info = property_info; in zend_fetch_static_property_address_ex() 3646 if (prop_info) { in zend_fetch_static_property_address() [all …]
|
H A D | zend_lazy_objects.c | 327 zend_property_info *prop_info = obj->ce->properties_info_table[i]; in zend_object_make_lazy() local 328 if (EXPECTED(prop_info)) { in zend_object_make_lazy() 331 if ((prop_info->flags & ZEND_ACC_READONLY) && !(Z_PROP_FLAG_P(p) & IS_PROP_REINITABLE) in zend_object_make_lazy() 333 && ((obj->ce->ce_flags & ZEND_ACC_FINAL) || (prop_info->flags & ZEND_ACC_FINAL))) { in zend_object_make_lazy() 415 zend_property_info *prop_info = ce->properties_info_table[i]; in zend_lazy_object_revert_init() local 416 if (Z_ISREF_P(p) && prop_info && ZEND_TYPE_IS_SET(prop_info->type)) { in zend_lazy_object_revert_init() 417 ZEND_REF_ADD_TYPE_SOURCE(Z_REF_P(p), prop_info); in zend_lazy_object_revert_init()
|
H A D | zend_builtin_functions.c | 718 zend_property_info *prop_info; in add_class_vars() local 724 if (((prop_info->flags & ZEND_ACC_PROTECTED) && in add_class_vars() 725 !zend_check_protected(prop_info->ce, scope)) || in add_class_vars() 726 ((prop_info->flags & ZEND_ACC_PRIVATE) && in add_class_vars() 727 prop_info->ce != scope) || in add_class_vars() 728 (prop_info->flags & ZEND_ACC_VIRTUAL)) { in add_class_vars() 732 if (statics && (prop_info->flags & ZEND_ACC_STATIC) != 0) { in add_class_vars() 733 prop = &ce->default_static_members_table[prop_info->offset]; in add_class_vars() 735 } else if (!statics && (prop_info->flags & ZEND_ACC_STATIC) == 0) { in add_class_vars() 837 zend_property_info *prop_info = Z_PTR_P(value); in ZEND_FUNCTION() local [all …]
|
H A D | zend_object_handlers.h | 250 …end_class_entry *ce, zend_string *property_name, int type, struct _zend_property_info **prop_info); 330 const zend_property_info *prop_info, 333 …PI bool ZEND_FASTCALL zend_asymmetric_property_has_set_access(const zend_property_info *prop_info);
|
H A D | zend_vm_execute.h | 6823 if (!EG(exception) && prop_info && prop_info != ZEND_WRONG_PROPERTY_INFO in ZEND_FETCH_OBJ_R_SPEC_CONST_CONST_HANDLER() 9397 if (!EG(exception) && prop_info && prop_info != ZEND_WRONG_PROPERTY_INFO in ZEND_FETCH_OBJ_R_SPEC_CONST_TMPVAR_HANDLER() 11523 if (!prop_info) { in ZEND_INIT_PARENT_PROPERTY_HOOK_CALL_SPEC_CONST_UNUSED_HANDLER() 11889 if (!EG(exception) && prop_info && prop_info != ZEND_WRONG_PROPERTY_INFO in ZEND_FETCH_OBJ_R_SPEC_CONST_CV_HANDLER() 23580 if (prop_info) { in ZEND_ASSIGN_OBJ_OP_SPEC_VAR_CONST_HANDLER() 26566 if (prop_info) { in ZEND_ASSIGN_OBJ_OP_SPEC_VAR_TMPVAR_HANDLER() 30924 if (prop_info) { in ZEND_ASSIGN_OBJ_OP_SPEC_VAR_CV_HANDLER() 33593 if (prop_info) { in ZEND_ASSIGN_OBJ_OP_SPEC_UNUSED_CONST_HANDLER() 35764 if (prop_info) { in ZEND_ASSIGN_OBJ_OP_SPEC_UNUSED_TMPVAR_HANDLER() 38412 if (prop_info) { in ZEND_ASSIGN_OBJ_OP_SPEC_UNUSED_CV_HANDLER() [all …]
|
/php-src/ext/json/ |
H A D | json_encoder.c | 150 zend_property_info *prop_info; in php_json_encode_array() local 166 prop_info = ce->properties_info_table[i]; in php_json_encode_array() 167 if (!prop_info) { in php_json_encode_array() 170 if (ZSTR_VAL(prop_info->name)[0] == '\0' && ZSTR_LEN(prop_info->name) > 0) { in php_json_encode_array() 174 prop = OBJ_PROP(obj, prop_info->offset); in php_json_encode_array() 188 if (php_json_escape_string(buf, ZSTR_VAL(prop_info->name), ZSTR_LEN(prop_info->name), in php_json_encode_array() 282 zend_property_info *prop_info = Z_PTR_P(data); in php_json_encode_array() local 283 if ((prop_info->flags & ZEND_ACC_VIRTUAL) && !prop_info->hooks[ZEND_PROPERTY_HOOK_GET]) { in php_json_encode_array() 286 zend_read_property_ex(prop_info->ce, Z_OBJ_P(val), prop_info->name, /* silent */ true, &tmp); in php_json_encode_array()
|
/php-src/ext/standard/ |
H A D | var.c | 80 ZEND_ASSERT(ZEND_TYPE_IS_SET(prop_info->type)); in php_object_property_dump() 191 zend_property_info *prop_info = NULL; in php_var_dump() local 200 if (!Z_ISUNDEF_P(val) || prop_info) { in php_var_dump() 284 if (prop_info && Z_TYPE_P(zv) == IS_UNDEF) { in zval_object_property_dump() 385 zend_property_info *prop_info = NULL; in php_debug_zval_dump() local 394 if (!Z_ISUNDEF_P(val) || prop_info) { in php_debug_zval_dump() 635 if ((prop_info->flags & ZEND_ACC_VIRTUAL) && !prop_info->hooks[ZEND_PROPERTY_HOOK_GET]) { in php_var_export_ex() 1247 zend_property_info *prop_info; in php_var_serialize_intern() local 1254 if (!prop_info) { in php_var_serialize_intern() 1269 if (!prop_info) { in php_var_serialize_intern() [all …]
|
/php-src/ext/opcache/jit/ |
H A D | zend_jit_helpers.c | 2185 if (!prop_info) { in zend_handle_fetch_obj_flags() 2197 if (!prop_info) { in zend_handle_fetch_obj_flags() 2208 if (ZEND_TYPE_IS_SET(prop_info->type)) { in zend_handle_fetch_obj_flags() 2256 if (!prop_info) { in zend_jit_fetch_obj_w_slow() 2834 zend_property_info *prop_info; in zend_jit_assign_obj_op_helper() local 2860 if (prop_info) { in zend_jit_assign_obj_op_helper() 2966 zend_jit_inc_typed_prop(var_ptr, prop_info); in zend_jit_pre_inc_typed_prop() 3075 if (prop_info) { in zend_jit_pre_inc_obj_helper() 3145 if (prop_info) { in zend_jit_pre_dec_obj_helper() 3213 if (prop_info) { in zend_jit_post_inc_obj_helper() [all …]
|
H A D | zend_jit_vm_helpers.c | 529 || func->common.prop_info) { in zend_jit_trace_record_fake_init_call_ex() 879 zend_property_info *prop_info; local 890 prop_info = zend_get_property_info(Z_OBJCE_P(obj), prop_name, 1); 891 if (prop_info 892 && prop_info != ZEND_WRONG_PROPERTY_INFO 893 && !prop_info->hooks 894 && !(prop_info->flags & ZEND_ACC_STATIC)) { 895 val = OBJ_PROP(Z_OBJ_P(obj), prop_info->offset); 917 || func->common.prop_info) { 1000 if (EX(func)->op_array.prop_info) { [all …]
|
/php-src/Zend/tests/type_declarations/ |
H A D | typed_properties_088.phpt | 2 Check for correct invalidation of prop_info cache slots
|
/php-src/Zend/tests/lazy_objects/ |
H A D | jit_assign_obj_op_prop_info.phpt | 2 Lazy objects: JIT: ASSIGN_OBJ_OP with known prop_info
|
H A D | jit_assign_obj_prop_info.phpt | 2 Lazy objects: JIT: ASSIGN_OBJ with known prop_info
|
H A D | jit_assign_obj_unknown_prop_info.phpt | 7 // Private prop so that prop_info is not inferred
|
H A D | jit_assign_obj_op_unknown_prop_info.phpt | 7 // Private prop so that prop_info is not inferred
|
H A D | jit_assign_obj_op_unknown_prop_info_untyped.phpt | 7 // Private prop so that prop_info is not inferred
|
H A D | jit_assign_obj_unknown_prop_info_untyped.phpt | 7 // Private prop so that prop_info is not inferred
|
/php-src/Zend/Optimizer/ |
H A D | zend_inference.c | 2412 if (prop_info && prop_info != ZEND_WRONG_PROPERTY_INFO) { in lookup_prop_info() 2413 return prop_info; in lookup_prop_info() 2420 if (prop_info && in lookup_prop_info() 2424 return prop_info; in lookup_prop_info() 2444 if (prop_info && (prop_info->flags & ZEND_ACC_STATIC)) { in zend_fetch_prop_info() 2445 prop_info = NULL; in zend_fetch_prop_info() 2449 return prop_info; in zend_fetch_prop_info() 2480 if (prop_info && !(prop_info->flags & ZEND_ACC_STATIC)) { in zend_fetch_static_prop_info() 2485 return prop_info; in zend_fetch_static_prop_info() 2490 if (!prop_info) { in zend_fetch_prop_type() [all …]
|
/php-src/ext/xsl/ |
H A D | php_xsl.c | 134 …const zend_property_info *prop_info = zend_get_property_info(xsl_xsltprocessor_class_entry, prop_n… 136 ZEND_ASSERT(OBJ_PROP_TO_NUM(prop_info->offset) == (prop_index)); \
|