diff options
author | Dmitry Stogov <dmitry@php.net> | 2006-09-12 11:01:16 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2006-09-12 11:01:16 +0000 |
commit | 7e17f8591a06e2bf0fb7955b6654bd7f86b8f9e9 (patch) | |
tree | 2851eec8c33fbca6b9335f2fa76ad0b2f2fa4cc9 /Zend/zend_compile.c | |
parent | 1a6cd5162e7a15599352e91837a04b57ea9ebe57 (diff) | |
download | php-git-7e17f8591a06e2bf0fb7955b6654bd7f86b8f9e9.tar.gz |
Fixed bug #38772 (inconsistent overriding of methods in different visibility contexts)
Diffstat (limited to 'Zend/zend_compile.c')
-rw-r--r-- | Zend/zend_compile.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 7f9bf757b0..bb04271e2e 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -2025,7 +2025,9 @@ static zend_bool do_inherit_method_check(HashTable *child_function_table, zend_f } } - if (parent_flags & ZEND_ACC_ABSTRACT) { + if (parent_flags & ZEND_ACC_PRIVATE) { + child->common.prototype = NULL; + } else if (parent_flags & ZEND_ACC_ABSTRACT) { child->common.fn_flags |= ZEND_ACC_IMPLEMENTED_ABSTRACT; child->common.prototype = parent; } else if (!(parent->common.fn_flags & ZEND_ACC_CTOR) || (parent->common.prototype && (parent->common.prototype->common.scope->ce_flags & ZEND_ACC_INTERFACE))) { |