Lines Matching refs:zobj

73 ZEND_API void rebuild_object_properties(zend_object *zobj) /* {{{ */  in rebuild_object_properties()  argument
75 if (!zobj->properties) { in rebuild_object_properties()
77 zend_class_entry *ce = zobj->ce; in rebuild_object_properties()
79 ALLOC_HASHTABLE(zobj->properties); in rebuild_object_properties()
80 zend_hash_init(zobj->properties, ce->default_properties_count, NULL, ZVAL_PTR_DTOR, 0); in rebuild_object_properties()
82 zend_hash_real_init(zobj->properties, 0); in rebuild_object_properties()
83 zobj->properties->nInternalPointer = 0; in rebuild_object_properties()
88 if (UNEXPECTED(Z_TYPE_P(OBJ_PROP(zobj, prop_info->offset)) == IS_UNDEF)) { in rebuild_object_properties()
89 zobj->properties->u.v.flags |= HASH_FLAG_HAS_EMPTY_IND; in rebuild_object_properties()
92 _zend_hash_append_ind(zobj->properties, prop_info->name, in rebuild_object_properties()
93 OBJ_PROP(zobj, prop_info->offset)); in rebuild_object_properties()
104 if (UNEXPECTED(Z_TYPE_P(OBJ_PROP(zobj, prop_info->offset)) == IS_UNDEF)) { in rebuild_object_properties()
105 zobj->properties->u.v.flags |= HASH_FLAG_HAS_EMPTY_IND; in rebuild_object_properties()
108 ZVAL_INDIRECT(&zv, OBJ_PROP(zobj, prop_info->offset)); in rebuild_object_properties()
109 zend_hash_add(zobj->properties, prop_info->name, &zv); in rebuild_object_properties()
120 zend_object *zobj; in zend_std_get_properties() local
121 zobj = Z_OBJ_P(object); in zend_std_get_properties()
122 if (!zobj->properties) { in zend_std_get_properties()
123 rebuild_object_properties(zobj); in zend_std_get_properties()
125 return zobj->properties; in zend_std_get_properties()
136 zend_object *zobj = Z_OBJ_P(object); in zend_std_get_gc() local
138 if (zobj->properties) { in zend_std_get_gc()
141 return zobj->properties; in zend_std_get_gc()
143 *table = zobj->properties_table; in zend_std_get_gc()
144 *n = zobj->ce->default_properties_count; in zend_std_get_gc()
477 ZEND_API int zend_check_property_access(zend_object *zobj, zend_string *prop_info_name) /* {{{ */ in zend_check_property_access() argument
491 property_info = zend_get_property_info(zobj->ce, member, 1); in zend_check_property_access()
512 return zend_verify_property_access(property_info, zobj->ce) ? SUCCESS : FAILURE; in zend_check_property_access()
524 ZEND_API uint32_t *zend_get_property_guard(zend_object *zobj, zend_string *member) /* {{{ */ in zend_get_property_guard() argument
530 ZEND_ASSERT(GC_FLAGS(zobj) & IS_OBJ_USE_GUARDS); in zend_get_property_guard()
531 zv = zobj->properties_table + zobj->ce->default_properties_count; in zend_get_property_guard()
562 GC_FLAGS(zobj) |= IS_OBJ_HAS_GUARDS; in zend_get_property_guard()
576 zend_object *zobj; in zend_std_read_property() local
582 zobj = Z_OBJ_P(object); in zend_std_read_property()
596 …property_offset = zend_get_property_offset(zobj->ce, Z_STR_P(member), (type == BP_VAR_IS) || (zobj in zend_std_read_property()
600 retval = OBJ_PROP(zobj, property_offset); in zend_std_read_property()
604 } else if (EXPECTED(zobj->properties != NULL)) { in zend_std_read_property()
605 retval = zend_hash_find(zobj->properties, Z_STR_P(member)); in zend_std_read_property()
616 if ((type == BP_VAR_IS) && zobj->ce->__isset) { in zend_std_read_property()
618 guard = zend_get_property_guard(zobj, Z_STR_P(member)); in zend_std_read_property()
644 if (zobj->ce->__get) { in zend_std_read_property()
646 guard = zend_get_property_guard(zobj, Z_STR_P(member)); in zend_std_read_property()
663 …rect modification of overloaded property %s::$%s has no effect", ZSTR_VAL(zobj->ce->name), Z_STRVA… in zend_std_read_property()
682 zend_error(E_NOTICE,"Undefined property: %s::$%s", ZSTR_VAL(zobj->ce->name), Z_STRVAL_P(member)); in zend_std_read_property()
697 zend_object *zobj; in zend_std_write_property() local
702 zobj = Z_OBJ_P(object); in zend_std_write_property()
711 …property_offset = zend_get_property_offset(zobj->ce, Z_STR_P(member), (zobj->ce->__set != NULL), c… in zend_std_write_property()
715 variable_ptr = OBJ_PROP(zobj, property_offset); in zend_std_write_property()
719 } else if (EXPECTED(zobj->properties != NULL)) { in zend_std_write_property()
720 if (UNEXPECTED(GC_REFCOUNT(zobj->properties) > 1)) { in zend_std_write_property()
721 if (EXPECTED(!(GC_FLAGS(zobj->properties) & IS_ARRAY_IMMUTABLE))) { in zend_std_write_property()
722 GC_REFCOUNT(zobj->properties)--; in zend_std_write_property()
724 zobj->properties = zend_array_dup(zobj->properties); in zend_std_write_property()
726 if ((variable_ptr = zend_hash_find(zobj->properties, Z_STR_P(member))) != NULL) { in zend_std_write_property()
737 if (zobj->ce->__set) { in zend_std_write_property()
738 uint32_t *guard = zend_get_property_guard(zobj, Z_STR_P(member)); in zend_std_write_property()
772 ZVAL_COPY_VALUE(OBJ_PROP(zobj, property_offset), value); in zend_std_write_property()
774 if (!zobj->properties) { in zend_std_write_property()
775 rebuild_object_properties(zobj); in zend_std_write_property()
777 zend_hash_add_new(zobj->properties, Z_STR_P(member), value); in zend_std_write_property()
896 zend_object *zobj; in zend_std_get_property_ptr_ptr() local
901 zobj = Z_OBJ_P(object); in zend_std_get_property_ptr_ptr()
912 property_offset = zend_get_property_offset(zobj->ce, name, (zobj->ce->__get != NULL), cache_slot); in zend_std_get_property_ptr_ptr()
916 retval = OBJ_PROP(zobj, property_offset); in zend_std_get_property_ptr_ptr()
918 if (EXPECTED(!zobj->ce->__get) || in zend_std_get_property_ptr_ptr()
919 UNEXPECTED((*zend_get_property_guard(zobj, name)) & IN_GET)) { in zend_std_get_property_ptr_ptr()
924 zend_error(E_NOTICE, "Undefined property: %s::$%s", ZSTR_VAL(zobj->ce->name), ZSTR_VAL(name)); in zend_std_get_property_ptr_ptr()
932 if (EXPECTED(zobj->properties)) { in zend_std_get_property_ptr_ptr()
933 if (UNEXPECTED(GC_REFCOUNT(zobj->properties) > 1)) { in zend_std_get_property_ptr_ptr()
934 if (EXPECTED(!(GC_FLAGS(zobj->properties) & IS_ARRAY_IMMUTABLE))) { in zend_std_get_property_ptr_ptr()
935 GC_REFCOUNT(zobj->properties)--; in zend_std_get_property_ptr_ptr()
937 zobj->properties = zend_array_dup(zobj->properties); in zend_std_get_property_ptr_ptr()
939 if (EXPECTED((retval = zend_hash_find(zobj->properties, name)) != NULL)) { in zend_std_get_property_ptr_ptr()
946 if (EXPECTED(!zobj->ce->__get) || in zend_std_get_property_ptr_ptr()
947 UNEXPECTED((*zend_get_property_guard(zobj, name)) & IN_GET)) { in zend_std_get_property_ptr_ptr()
948 if (UNEXPECTED(!zobj->properties)) { in zend_std_get_property_ptr_ptr()
949 rebuild_object_properties(zobj); in zend_std_get_property_ptr_ptr()
951 retval = zend_hash_update(zobj->properties, name, &EG(uninitialized_zval)); in zend_std_get_property_ptr_ptr()
955 zend_error(E_NOTICE, "Undefined property: %s::$%s", ZSTR_VAL(zobj->ce->name), ZSTR_VAL(name)); in zend_std_get_property_ptr_ptr()
970 zend_object *zobj; in zend_std_unset_property() local
974 zobj = Z_OBJ_P(object); in zend_std_unset_property()
983 …property_offset = zend_get_property_offset(zobj->ce, Z_STR_P(member), (zobj->ce->__unset != NULL),… in zend_std_unset_property()
987 zval *slot = OBJ_PROP(zobj, property_offset); in zend_std_unset_property()
992 if (zobj->properties) { in zend_std_unset_property()
993 zobj->properties->u.v.flags |= HASH_FLAG_HAS_EMPTY_IND; in zend_std_unset_property()
997 } else if (EXPECTED(zobj->properties != NULL)) { in zend_std_unset_property()
998 if (UNEXPECTED(GC_REFCOUNT(zobj->properties) > 1)) { in zend_std_unset_property()
999 if (EXPECTED(!(GC_FLAGS(zobj->properties) & IS_ARRAY_IMMUTABLE))) { in zend_std_unset_property()
1000 GC_REFCOUNT(zobj->properties)--; in zend_std_unset_property()
1002 zobj->properties = zend_array_dup(zobj->properties); in zend_std_unset_property()
1004 if (EXPECTED(zend_hash_del(zobj->properties, Z_STR_P(member)) != FAILURE)) { in zend_std_unset_property()
1013 if (zobj->ce->__unset) { in zend_std_unset_property()
1014 uint32_t *guard = zend_get_property_guard(zobj, Z_STR_P(member)); in zend_std_unset_property()
1189 zend_object *zobj = *obj_ptr; in zend_std_get_method() local
1206 if (UNEXPECTED((func = zend_hash_find(&zobj->ce->function_table, lc_method_name)) == NULL)) { in zend_std_get_method()
1210 if (zobj->ce->__call) { in zend_std_get_method()
1211 return zend_get_user_call_function(zobj->ce, method_name); in zend_std_get_method()
1225 updated_fbc = zend_check_private_int(fbc, zobj->ce, lc_method_name); in zend_std_get_method()
1229 if (zobj->ce->__call) { in zend_std_get_method()
1230 fbc = zend_get_user_call_function(zobj->ce, method_name); in zend_std_get_method()
1260 if (zobj->ce->__call) { in zend_std_get_method()
1261 fbc = zend_get_user_call_function(zobj->ce, method_name); in zend_std_get_method()
1431 ZEND_API union _zend_function *zend_std_get_constructor(zend_object *zobj) /* {{{ */ in zend_std_get_constructor() argument
1433 zend_function *constructor = zobj->ce->constructor; in zend_std_get_constructor()
1550 zend_object *zobj; in zend_std_has_property() local
1556 zobj = Z_OBJ_P(object); in zend_std_has_property()
1565 property_offset = zend_get_property_offset(zobj->ce, Z_STR_P(member), 1, cache_slot); in zend_std_has_property()
1569 value = OBJ_PROP(zobj, property_offset); in zend_std_has_property()
1573 } else if (EXPECTED(zobj->properties != NULL) && in zend_std_has_property()
1574 (value = zend_hash_find(zobj->properties, Z_STR_P(member))) != NULL) { in zend_std_has_property()
1596 if ((has_set_exists != 2) && zobj->ce->__isset) { in zend_std_has_property()
1597 uint32_t *guard = zend_get_property_guard(zobj, Z_STR_P(member)); in zend_std_has_property()
1615 if (EXPECTED(!EG(exception)) && zobj->ce->__get && !((*guard) & IN_GET)) { in zend_std_has_property()
1643 zend_string *zend_std_object_get_class_name(const zend_object *zobj) /* {{{ */ in zend_std_object_get_class_name() argument
1645 return zend_string_copy(zobj->ce->name); in zend_std_object_get_class_name()