summaryrefslogtreecommitdiff
path: root/Zend/zend_compile.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2006-09-12 11:01:16 +0000
committerDmitry Stogov <dmitry@php.net>2006-09-12 11:01:16 +0000
commit7e17f8591a06e2bf0fb7955b6654bd7f86b8f9e9 (patch)
tree2851eec8c33fbca6b9335f2fa76ad0b2f2fa4cc9 /Zend/zend_compile.c
parent1a6cd5162e7a15599352e91837a04b57ea9ebe57 (diff)
downloadphp-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.c4
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))) {