break;
}
}
- switch (access_type & ZEND_ACC_PPP_MASK) {
- case ZEND_ACC_PRIVATE: {
- property_info->name = zend_mangle_property_name(ce->name->val, ce->name->len, name->val, name->len, ce->type & ZEND_INTERNAL_CLASS);
- }
- break;
- case ZEND_ACC_PROTECTED: {
- property_info->name = zend_mangle_property_name("*", 1, name->val, name->len, ce->type & ZEND_INTERNAL_CLASS);
- }
- break;
- case ZEND_ACC_PUBLIC:
- property_info->name = zend_string_copy(name);
- break;
+ if (access_type & ZEND_ACC_PUBLIC) {
+ property_info->name = zend_string_copy(name);
+ } else if (access_type & ZEND_ACC_PRIVATE) {
+ property_info->name = zend_mangle_property_name(ce->name->val, ce->name->len, name->val, name->len, ce->type & ZEND_INTERNAL_CLASS);
+ } else {
+ ZEND_ASSERT(access_type & ZEND_ACC_PROTECTED);
+ property_info->name = zend_mangle_property_name("*", 1, name->val, name->len, ce->type & ZEND_INTERNAL_CLASS);
}
property_info->name = zend_new_interned_string(property_info->name);
* then check whether the property is already there
*/
flags = property_info->flags;
- if ((flags & ZEND_ACC_PPP_MASK) == ZEND_ACC_PUBLIC) {
+ if (flags & ZEND_ACC_PUBLIC) {
prop_name = zend_string_copy(property_info->name);
} else {
const char *pname;
static zend_always_inline int zend_verify_property_access(zend_property_info *property_info, zend_class_entry *ce) /* {{{ */
{
- switch (property_info->flags & ZEND_ACC_PPP_MASK) {
- case ZEND_ACC_PUBLIC:
- return 1;
- case ZEND_ACC_PROTECTED:
- return zend_check_protected(property_info->ce, EG(scope));
- case ZEND_ACC_PRIVATE:
- return (ce == EG(scope) || property_info->ce == EG(scope));
+ if (property_info->flags & ZEND_ACC_PUBLIC) {
+ return 1;
+ } else if (property_info->flags & ZEND_ACC_PRIVATE) {
+ return (ce == EG(scope) || property_info->ce == EG(scope));
+ } else {
+ ZEND_ASSERT(property_info->flags & ZEND_ACC_PROTECTED);
+ return zend_check_protected(property_info->ce, EG(scope));
}
- return 0;
}
/* }}} */