summaryrefslogtreecommitdiff
path: root/Zend/zend_inheritance.c
diff options
context:
space:
mode:
authorJakub Zelenka <bukka@php.net>2015-02-08 14:08:31 +0000
committerJakub Zelenka <bukka@php.net>2015-02-08 14:08:31 +0000
commitf2825042b4dd9aa941a080c027f15f41c1b9e4bc (patch)
tree2e7d97c1dfd4aeabb506ffdd206a612b82adea8d /Zend/zend_inheritance.c
parent0a81f9a0bd36deac8707949acbcf92f612b60e8e (diff)
parentce9f52adcdfb19f70dc4274f3587e58ac07995bd (diff)
downloadphp-git-f2825042b4dd9aa941a080c027f15f41c1b9e4bc.tar.gz
Merge branch 'master' into jsond
Conflicts: ext/json/json.c
Diffstat (limited to 'Zend/zend_inheritance.c')
-rw-r--r--Zend/zend_inheritance.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/Zend/zend_inheritance.c b/Zend/zend_inheritance.c
index 10b0ae5e84..bcbf3c7b75 100644
--- a/Zend/zend_inheritance.c
+++ b/Zend/zend_inheritance.c
@@ -904,7 +904,7 @@ ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent
/* The verification will be done in runtime by ZEND_VERIFY_ABSTRACT_CLASS */
zend_verify_abstract_class(ce);
}
- ce->ce_flags |= parent_ce->ce_flags & ZEND_HAS_STATIC_IN_METHODS;
+ ce->ce_flags |= parent_ce->ce_flags & (ZEND_HAS_STATIC_IN_METHODS | ZEND_ACC_USE_GUARDS);
}
/* }}} */
@@ -1044,14 +1044,18 @@ static void zend_add_magic_methods(zend_class_entry* ce, zend_string* mname, zen
ce->destructor = fe; fe->common.fn_flags |= ZEND_ACC_DTOR;
} else if (!strncmp(mname->val, ZEND_GET_FUNC_NAME, mname->len)) {
ce->__get = fe;
+ ce->ce_flags |= ZEND_ACC_USE_GUARDS;
} else if (!strncmp(mname->val, ZEND_SET_FUNC_NAME, mname->len)) {
ce->__set = fe;
+ ce->ce_flags |= ZEND_ACC_USE_GUARDS;
} else if (!strncmp(mname->val, ZEND_CALL_FUNC_NAME, mname->len)) {
ce->__call = fe;
} else if (!strncmp(mname->val, ZEND_UNSET_FUNC_NAME, mname->len)) {
ce->__unset = fe;
+ ce->ce_flags |= ZEND_ACC_USE_GUARDS;
} else if (!strncmp(mname->val, ZEND_ISSET_FUNC_NAME, mname->len)) {
ce->__isset = fe;
+ ce->ce_flags |= ZEND_ACC_USE_GUARDS;
} else if (!strncmp(mname->val, ZEND_CALLSTATIC_FUNC_NAME, mname->len)) {
ce->__callstatic = fe;
} else if (!strncmp(mname->val, ZEND_TOSTRING_FUNC_NAME, mname->len)) {