Lines Matching refs:property_info

237 static zend_always_inline int zend_verify_property_access(zend_property_info *property_info, zend_c…  in zend_verify_property_access()  argument
239 switch (property_info->flags & ZEND_ACC_PPP_MASK) { in zend_verify_property_access()
243 return zend_check_protected(property_info->ce, EG(scope)); in zend_verify_property_access()
245 if ((ce==EG(scope) || property_info->ce == EG(scope)) && EG(scope)) { in zend_verify_property_access()
272 zend_property_info *property_info; in zend_get_property_info_quick() local
277 if (key && (property_info = CACHED_POLYMORPHIC_PTR(key->cache_slot, ce)) != NULL) { in zend_get_property_info_quick()
278 return property_info; in zend_get_property_info_quick()
291 property_info = NULL; in zend_get_property_info_quick()
293 …properties_info, Z_STRVAL_P(member), Z_STRLEN_P(member)+1, h, (void **) &property_info)==SUCCESS) { in zend_get_property_info_quick()
294 if (UNEXPECTED((property_info->flags & ZEND_ACC_SHADOW) != 0)) { in zend_get_property_info_quick()
296 property_info = NULL; in zend_get_property_info_quick()
298 if (EXPECTED(zend_verify_property_access(property_info, ce TSRMLS_CC) != 0)) { in zend_get_property_info_quick()
299 if (EXPECTED((property_info->flags & ZEND_ACC_CHANGED) != 0) in zend_get_property_info_quick()
300 && EXPECTED(!(property_info->flags & ZEND_ACC_PRIVATE))) { in zend_get_property_info_quick()
306 if (UNEXPECTED((property_info->flags & ZEND_ACC_STATIC) != 0) && !silent) { in zend_get_property_info_quick()
310 CACHE_POLYMORPHIC_PTR(key->cache_slot, ce, property_info); in zend_get_property_info_quick()
312 return property_info; in zend_get_property_info_quick()
329 } else if (property_info) { in zend_get_property_info_quick()
333 …(E_ERROR, "Cannot access %s property %s::$%s", zend_visibility_string(property_info->flags), ce->n… in zend_get_property_info_quick()
339 CACHE_POLYMORPHIC_PTR(key->cache_slot, ce, property_info); in zend_get_property_info_quick()
349 property_info = &EG(std_property_info); in zend_get_property_info_quick()
351 return property_info; in zend_get_property_info_quick()
363 zend_property_info *property_info; in zend_check_property_access() local
370 property_info = zend_get_property_info_quick(zobj->ce, &member, 1, NULL TSRMLS_CC); in zend_check_property_access()
371 if (!property_info) { in zend_check_property_access()
375 if (!(property_info->flags & ZEND_ACC_PRIVATE)) { in zend_check_property_access()
378 } else if (strcmp(prop_info_name+1, property_info->name+1)) { in zend_check_property_access()
383 return zend_verify_property_access(property_info, zobj->ce TSRMLS_CC) ? SUCCESS : FAILURE; in zend_check_property_access()
387 static int zend_get_property_guard(zend_object *zobj, zend_property_info *property_info, zval *memb… in zend_get_property_guard() argument
392 if (!property_info) { in zend_get_property_guard()
393 property_info = &info; in zend_get_property_guard()
397 } else if(property_info->name[0] == '\0'){ in zend_get_property_guard()
399 …zend_unmangle_property_name(property_info->name, property_info->name_length, &class_name, &prop_na… in zend_get_property_guard()
405 property_info = &info; in zend_get_property_guard()
411 …else if (zend_hash_quick_find(zobj->guards, property_info->name, property_info->name_length+1, pro… in zend_get_property_guard()
418 …return zend_hash_quick_add(zobj->guards, property_info->name, property_info->name_length+1, proper… in zend_get_property_guard()
428 zend_property_info *property_info; in zend_std_read_property() local
449property_info = zend_get_property_info_quick(zobj->ce, member, silent || (zobj->ce->__get != NULL)… in zend_std_read_property()
451 if (UNEXPECTED(!property_info) || in zend_std_read_property()
452 ((EXPECTED((property_info->flags & ZEND_ACC_STATIC) == 0) && in zend_std_read_property()
453 property_info->offset >= 0) ? in zend_std_read_property()
455 ((retval = (zval**)zobj->properties_table[property_info->offset]) == NULL) : in zend_std_read_property()
456 (*(retval = &zobj->properties_table[property_info->offset]) == NULL)) : in zend_std_read_property()
458 …CTED(zend_hash_quick_find(zobj->properties, property_info->name, property_info->name_length+1, pro… in zend_std_read_property()
462 zend_get_property_guard(zobj, property_info, member, &guard) == SUCCESS && in zend_std_read_property()
528 zend_property_info *property_info; in zend_std_write_property() local
542property_info = zend_get_property_info_quick(zobj->ce, member, (zobj->ce->__set != NULL), key TSRM… in zend_std_write_property()
544 if (EXPECTED(property_info != NULL) && in zend_std_write_property()
545 ((EXPECTED((property_info->flags & ZEND_ACC_STATIC) == 0) && in zend_std_write_property()
546 property_info->offset >= 0) ? in zend_std_write_property()
548 ((variable_ptr = (zval**)zobj->properties_table[property_info->offset]) != NULL) : in zend_std_write_property()
549 (*(variable_ptr = &zobj->properties_table[property_info->offset]) != NULL)) : in zend_std_write_property()
551 …CTED(zend_hash_quick_find(zobj->properties, property_info->name, property_info->name_length+1, pro… in zend_std_write_property()
584 zend_get_property_guard(zobj, property_info, member, &guard) == SUCCESS && in zend_std_write_property()
596 } else if (EXPECTED(property_info != NULL)) { in zend_std_write_property()
602 if (EXPECTED((property_info->flags & ZEND_ACC_STATIC) == 0) && in zend_std_write_property()
603 property_info->offset >= 0) { in zend_std_write_property()
605 zobj->properties_table[property_info->offset] = value; in zend_std_write_property()
606 } else if (zobj->properties_table[property_info->offset]) { in zend_std_write_property()
607 *(zval**)zobj->properties_table[property_info->offset] = value; in zend_std_write_property()
609 …rties, property_info->name, property_info->name_length+1, property_info->h, &value, sizeof(zval *)… in zend_std_write_property()
615 …zend_hash_quick_update(zobj->properties, property_info->name, property_info->name_length+1, proper… in zend_std_write_property()
722 zend_property_info *property_info; in zend_std_get_property_ptr_ptr() local
738property_info = zend_get_property_info_quick(zobj->ce, member, (zobj->ce->__get != NULL), key TSRM… in zend_std_get_property_ptr_ptr()
740 if (UNEXPECTED(!property_info) || in zend_std_get_property_ptr_ptr()
741 ((EXPECTED((property_info->flags & ZEND_ACC_STATIC) == 0) && in zend_std_get_property_ptr_ptr()
742 property_info->offset >= 0) ? in zend_std_get_property_ptr_ptr()
744 ((retval = (zval**)zobj->properties_table[property_info->offset]) == NULL) : in zend_std_get_property_ptr_ptr()
745 (*(retval = &zobj->properties_table[property_info->offset]) == NULL)) : in zend_std_get_property_ptr_ptr()
747 …CTED(zend_hash_quick_find(zobj->properties, property_info->name, property_info->name_length+1, pro… in zend_std_get_property_ptr_ptr()
752 zend_get_property_guard(zobj, property_info, member, &guard) != SUCCESS || in zend_std_get_property_ptr_ptr()
753 (property_info && guard->in_get)) { in zend_std_get_property_ptr_ptr()
758 if (EXPECTED((property_info->flags & ZEND_ACC_STATIC) == 0) && in zend_std_get_property_ptr_ptr()
759 property_info->offset >= 0) { in zend_std_get_property_ptr_ptr()
761 zobj->properties_table[property_info->offset] = new_zval; in zend_std_get_property_ptr_ptr()
762 retval = &zobj->properties_table[property_info->offset]; in zend_std_get_property_ptr_ptr()
763 } else if (zobj->properties_table[property_info->offset]) { in zend_std_get_property_ptr_ptr()
764 *(zval**)zobj->properties_table[property_info->offset] = new_zval; in zend_std_get_property_ptr_ptr()
765 retval = (zval**)zobj->properties_table[property_info->offset]; in zend_std_get_property_ptr_ptr()
767 …ties, property_info->name, property_info->name_length+1, property_info->h, &new_zval, sizeof(zval … in zend_std_get_property_ptr_ptr()
768 retval = (zval**)zobj->properties_table[property_info->offset]; in zend_std_get_property_ptr_ptr()
774 …zend_hash_quick_update(zobj->properties, property_info->name, property_info->name_length+1, proper… in zend_std_get_property_ptr_ptr()
798 zend_property_info *property_info; in zend_std_unset_property() local
812property_info = zend_get_property_info_quick(zobj->ce, member, (zobj->ce->__unset != NULL), key TS… in zend_std_unset_property()
814 if (EXPECTED(property_info != NULL) && in zend_std_unset_property()
815 EXPECTED((property_info->flags & ZEND_ACC_STATIC) == 0) && in zend_std_unset_property()
817 property_info->offset >= 0 && in zend_std_unset_property()
818 EXPECTED(zobj->properties_table[property_info->offset] != NULL)) { in zend_std_unset_property()
819 zval_ptr_dtor(&zobj->properties_table[property_info->offset]); in zend_std_unset_property()
820 zobj->properties_table[property_info->offset] = NULL; in zend_std_unset_property()
821 } else if (UNEXPECTED(!property_info) || in zend_std_unset_property()
823 …ECTED(zend_hash_quick_del(zobj->properties, property_info->name, property_info->name_length+1, pro… in zend_std_unset_property()
827 zend_get_property_guard(zobj, property_info, member, &guard) == SUCCESS && in zend_std_unset_property()
847 } else if (EXPECTED(property_info != NULL) && in zend_std_unset_property()
848 EXPECTED((property_info->flags & ZEND_ACC_STATIC) == 0) && in zend_std_unset_property()
849 property_info->offset >= 0) { in zend_std_unset_property()
850 zobj->properties_table[property_info->offset] = NULL; in zend_std_unset_property()
1244 zend_property_info *property_info; in zend_std_get_static_property() local
1248 (property_info = CACHED_POLYMORPHIC_PTR(key->cache_slot, ce)) == NULL) { in zend_std_get_static_property()
1255 …erties_info, property_name, property_name_len+1, hash_value, (void **) &property_info)==FAILURE)) { in zend_std_get_static_property()
1263 …s type for %s::%s is %s\n", ce->name, property_name, zend_visibility_string(property_info->flags)); in zend_std_get_static_property()
1266 if (UNEXPECTED(!zend_verify_property_access(property_info, ce TSRMLS_CC))) { in zend_std_get_static_property()
1268 …(E_ERROR, "Cannot access %s property %s::$%s", zend_visibility_string(property_info->flags), ce->n… in zend_std_get_static_property()
1273 if (UNEXPECTED((property_info->flags & ZEND_ACC_STATIC) == 0)) { in zend_std_get_static_property()
1283 CACHE_POLYMORPHIC_PTR(key->cache_slot, ce, property_info); in zend_std_get_static_property()
1288 UNEXPECTED(CE_STATIC_MEMBERS(ce)[property_info->offset] == NULL)) { in zend_std_get_static_property()
1295 return &CE_STATIC_MEMBERS(ce)[property_info->offset]; in zend_std_get_static_property()
1409 zend_property_info *property_info; in zend_std_has_property() local
1427 property_info = zend_get_property_info_quick(zobj->ce, member, 1, key TSRMLS_CC); in zend_std_has_property()
1429 if (UNEXPECTED(!property_info) || in zend_std_has_property()
1430 ((EXPECTED((property_info->flags & ZEND_ACC_STATIC) == 0) && in zend_std_has_property()
1431 property_info->offset >= 0) ? in zend_std_has_property()
1433 ((value = (zval**)zobj->properties_table[property_info->offset]) == NULL) : in zend_std_has_property()
1434 (*(value = &zobj->properties_table[property_info->offset]) == NULL)) : in zend_std_has_property()
1436 …CTED(zend_hash_quick_find(zobj->properties, property_info->name, property_info->name_length+1, pro… in zend_std_has_property()
1442 zend_get_property_guard(zobj, property_info, member, &guard) == SUCCESS && in zend_std_has_property()