summaryrefslogtreecommitdiff
path: root/Zend/zend_inheritance.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-05-24 14:28:44 +0200
committerNikita Popov <nikita.ppv@gmail.com>2019-06-11 13:09:33 +0200
commit89b2d88659b8a561769f51dfab1fa325e7fc0603 (patch)
treea2832b49dd0036f3928d10279d28422f687caf39 /Zend/zend_inheritance.c
parent9ecc0a4f296cf5c72572e75a9734b40d941e2427 (diff)
downloadphp-git-89b2d88659b8a561769f51dfab1fa325e7fc0603.tar.gz
Register class before fetching parent
We want the class declaration to be available while compiling the parent class.
Diffstat (limited to 'Zend/zend_inheritance.c')
-rw-r--r--Zend/zend_inheritance.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Zend/zend_inheritance.c b/Zend/zend_inheritance.c
index 8541a22df0..738e528308 100644
--- a/Zend/zend_inheritance.c
+++ b/Zend/zend_inheritance.c
@@ -2130,10 +2130,11 @@ void zend_verify_abstract_class(zend_class_entry *ce) /* {{{ */
}
/* }}} */
-ZEND_API void zend_do_link_class(zend_class_entry *ce, zend_class_entry *parent) /* {{{ */
+ZEND_API void zend_do_link_class(zend_class_entry *ce) /* {{{ */
{
ce->ce_flags |= ZEND_ACC_LINKING_IN_PROGRESS;
- if (parent) {
+ if (ce->parent_name) {
+ zend_class_entry *parent = zend_fetch_class_by_name(ce->parent_name, NULL, 0);
zend_do_inheritance(ce, parent);
}
if (ce->ce_flags & ZEND_ACC_IMPLEMENT_TRAITS) {