summaryrefslogtreecommitdiff
path: root/Zend
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2006-05-30 23:10:28 +0000
committerMarcus Boerger <helly@php.net>2006-05-30 23:10:28 +0000
commitd87de86823208b9bedc1a456001b0c7916074a0d (patch)
tree1eaf9188c62be1c6d057f85ce64543efcf0175a2 /Zend
parent9246ba2a82e03201477444878c58b80f726adefe (diff)
downloadphp-git-d87de86823208b9bedc1a456001b0c7916074a0d.tar.gz
- Switch back to old severities and still keep bugfix for
#37632 (Protected method access problem) # It wasn't really my intention to change the severity. We simply didn't # have tests for that.
Diffstat (limited to 'Zend')
-rw-r--r--Zend/zend_compile.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index c9b6c814e9..ce64719f13 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -2028,12 +2028,12 @@ static zend_bool do_inherit_method_check(HashTable *child_function_table, zend_f
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)) {
+ } else if (!(parent->common.fn_flags & ZEND_ACC_CTOR) || (parent->common.prototype && (parent->common.prototype->common.scope->ce_flags & ZEND_ACC_INTERFACE))) {
/* ctors only have a prototype if it comes from an interface */
child->common.prototype = parent->common.prototype ? parent->common.prototype : parent;
}
- if (child->common.prototype) {
+ if (child->common.prototype && (child->common.prototype->common.fn_flags & ZEND_ACC_ABSTRACT)) {
if (!zend_do_perform_implementation_check(child, child->common.prototype)) {
zend_error(E_COMPILE_ERROR, "Declaration of %s::%s() must be compatible with that of %s::%s()", ZEND_FN_SCOPE_NAME(child), child->common.function_name, ZEND_FN_SCOPE_NAME(child->common.prototype), child->common.prototype->common.function_name);
}