Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_compile.c
| From: | Marcus Boerger | Date: | Thu, 11 Aug 2005 20:38:58 +0000 |
| Subject: | Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_compile.c | ||
| References: | 1 | Groups: | php.zend-engine.cvs |
| Request: | Send a blank email to php-zend-engine-cvs+get-3988@lists.php.net to get a copy of this message | ||
Hello internals,
i checked that patch with Andrei yesturday but somehow it got blocked.
Sorry for any inconvenience caused by not recognizing this and thanks to
Tony for bugging and reminding me.
regards
marcus
Thursday, August 11, 2005, 10:32:02 PM, you wrote:
> 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);
> + }
> }
Best regards,
Marcus