diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2019-05-24 14:28:44 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-06-11 13:09:33 +0200 |
commit | 89b2d88659b8a561769f51dfab1fa325e7fc0603 (patch) | |
tree | a2832b49dd0036f3928d10279d28422f687caf39 /Zend/zend_inheritance.c | |
parent | 9ecc0a4f296cf5c72572e75a9734b40d941e2427 (diff) | |
download | php-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.c | 5 |
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) { |