cvs: ZendEngine2 / zend_compile.c

From: Date: Thu, 11 Aug 2005 20:32:02 +0000
Subject: cvs: ZendEngine2 / zend_compile.c
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-3987@lists.php.net to get a copy of this message
helly Thu Aug 11 16:32:02 2005 EDT Modified files: /ZendEngine2 zend_compile.c Log: - For internal classes we must auto generate the abstract class flags. # Actually providing the flags while registering the class is not possible # since that would require a major API change. http://cvs.php.net/diff.php/ZendEngine2/zend_compile.c?r1=1.648&r2=1.649&ty=u Index: ZendEngine2/zend_compile.c diff -u ZendEngine2/zend_compile.c:1.648 ZendEngine2/zend_compile.c:1.649 --- ZendEngine2/zend_compile.c:1.648 Wed Aug 10 08:02:13 2005 +++ ZendEngine2/zend_compile.c Thu Aug 11 16:32:01 2005 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_compile.c,v 1.648 2005/08/10 12:02:13 dmitry Exp $ */ +/* $Id: zend_compile.c,v 1.649 2005/08/11 20:32:01 helly Exp $ */ #include <zend_language_parser.h> #include "zend.h" @@ -2144,8 +2144,12 @@ zend_hash_merge(&ce->constants_table, &parent_ce->constants_table, (void (*)(void *)) zval_add_ref, NULL, sizeof(zval *), 0); zend_hash_merge_ex(&ce->function_table, &parent_ce->function_table, (copy_ctor_func_t) do_inherit_method, sizeof(zend_function), (merge_checker_func_t) do_inherit_method_check, ce); do_inherit_parent_constructor(ce); - - zend_verify_abstract_class(ce TSRMLS_CC); + + if (ce->ce_flags & ZEND_ACC_IMPLICIT_ABSTRACT_CLASS && ce->type == ZEND_INTERNAL_CLASS) { + ce->ce_flags |= ZEND_ACC_EXPLICIT_ABSTRACT_CLASS; + } else { + zend_verify_abstract_class(ce TSRMLS_CC); + } }

« previous php.zend-engine.cvs (#3987) next »