cvs: ZendEngine2(PHP_5_2) / zend_compile.c
| From: | Marcus Boerger | Date: | Tue, 30 May 2006 23:10:28 +0000 |
| Subject: | cvs: ZendEngine2(PHP_5_2) / zend_compile.c | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-4948@lists.php.net to get a copy of this message | ||
helly Tue May 30 23:10:28 2006 UTC
Modified files: (Branch: PHP_5_2)
/ZendEngine2 zend_compile.c
Log:
- 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.
http://cvs.php.net/viewcvs.cgi/ZendEngine2/zend_compile.c?r1=1.647.2.27.2.8&r2=1.647.2.27.2.9&diff_format=u
Index: ZendEngine2/zend_compile.c
diff -u ZendEngine2/zend_compile.c:1.647.2.27.2.8 ZendEngine2/zend_compile.c:1.647.2.27.2.9
--- ZendEngine2/zend_compile.c:1.647.2.27.2.8 Tue May 30 19:41:04 2006
+++ ZendEngine2/zend_compile.c Tue May 30 23:10:28 2006
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_compile.c,v 1.647.2.27.2.8 2006/05/30 19:41:04 helly Exp $ */
+/* $Id: zend_compile.c,v 1.647.2.27.2.9 2006/05/30 23:10:28 helly Exp $ */
#include <zend_language_parser.h>
#include "zend.h"
@@ -2028,12 +2028,12 @@
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);
}