Lines Matching refs:property_info

275 static zend_always_inline int zend_verify_property_access(zend_property_info *property_info, zend_c…  in zend_verify_property_access()  argument
279 if (property_info->flags & ZEND_ACC_PUBLIC) { in zend_verify_property_access()
281 } else if (property_info->flags & ZEND_ACC_PRIVATE) { in zend_verify_property_access()
287 return (ce == scope || property_info->ce == scope); in zend_verify_property_access()
288 } else if (property_info->flags & ZEND_ACC_PROTECTED) { in zend_verify_property_access()
294 return zend_check_protected(property_info->ce, scope); in zend_verify_property_access()
317 zend_property_info *property_info = NULL; in zend_get_property_offset() local
338 property_info = (zend_property_info*)Z_PTR_P(zv); in zend_get_property_offset()
339 flags = property_info->flags; in zend_get_property_offset()
342 property_info = NULL; in zend_get_property_offset()
344 if (EXPECTED(zend_verify_property_access(property_info, ce) != 0)) { in zend_get_property_offset()
357 property_info = ZEND_WRONG_PROPERTY_INFO; in zend_get_property_offset()
373 property_info = (zend_property_info*)Z_PTR_P(zv); in zend_get_property_offset()
374 if (UNEXPECTED((property_info->flags & ZEND_ACC_STATIC) != 0)) { in zend_get_property_offset()
377 } else if (UNEXPECTED(property_info == NULL)) { in zend_get_property_offset()
383 } else if (UNEXPECTED(property_info == ZEND_WRONG_PROPERTY_INFO)) { in zend_get_property_offset()
393 CACHE_POLYMORPHIC_PTR_EX(cache_slot, ce, (void*)(intptr_t)property_info->offset); in zend_get_property_offset()
395 return property_info->offset; in zend_get_property_offset()
402 zend_property_info *property_info = NULL; in zend_get_property_info() local
419 property_info = (zend_property_info*)Z_PTR_P(zv); in zend_get_property_info()
420 flags = property_info->flags; in zend_get_property_info()
423 property_info = NULL; in zend_get_property_info()
425 if (EXPECTED(zend_verify_property_access(property_info, ce) != 0)) { in zend_get_property_info()
437 property_info = ZEND_WRONG_PROPERTY_INFO; in zend_get_property_info()
453 property_info = (zend_property_info*)Z_PTR_P(zv); in zend_get_property_info()
454 } else if (UNEXPECTED(property_info == NULL)) { in zend_get_property_info()
457 } else if (UNEXPECTED(property_info == ZEND_WRONG_PROPERTY_INFO)) { in zend_get_property_info()
466 return property_info; in zend_get_property_info()
472 zend_property_info *property_info; in zend_check_property_access() local
484 property_info = zend_get_property_info(zobj->ce, member, 1); in zend_check_property_access()
486 if (property_info == NULL) { in zend_check_property_access()
493 } else if (property_info == ZEND_WRONG_PROPERTY_INFO) { in zend_check_property_access()
497 if (!(property_info->flags & ZEND_ACC_PRIVATE)) { in zend_check_property_access()
500 } else if (strcmp(ZSTR_VAL(prop_info_name)+1, ZSTR_VAL(property_info->name)+1)) { in zend_check_property_access()
505 return zend_verify_property_access(property_info, zobj->ce) ? SUCCESS : FAILURE; in zend_check_property_access()
1374 zend_property_info *property_info = zend_hash_find_ptr(&ce->properties_info, property_name); in zend_std_get_static_property() local
1377 if (UNEXPECTED(property_info == NULL)) { in zend_std_get_static_property()
1381 if (UNEXPECTED(!zend_verify_property_access(property_info, ce))) { in zend_std_get_static_property()
1383 …zend_throw_error(NULL, "Cannot access %s property %s::$%s", zend_visibility_string(property_info->… in zend_std_get_static_property()
1388 if (UNEXPECTED((property_info->flags & ZEND_ACC_STATIC) == 0)) { in zend_std_get_static_property()
1397 ret = CE_STATIC_MEMBERS(ce) + property_info->offset; in zend_std_get_static_property()