From badc19d8840ae367ab5efea28c55783c0b0862e5 Mon Sep 17 00:00:00 2001 From: Reeze Xia Date: Tue, 3 Mar 2015 21:28:09 +0800 Subject: [PATCH] Optimize class constant declare compilation --- Zend/zend_compile.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index ae23d83f2a..b0269ca17e 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -4535,6 +4535,11 @@ void zend_compile_class_const_decl(zend_ast *ast) /* {{{ */ zend_class_entry *ce = CG(active_class_entry); uint32_t i; + if ((ce->ce_flags & ZEND_ACC_TRAIT) != 0) { + zend_error_noreturn(E_COMPILE_ERROR, "Traits cannot have constants"); + return; + } + for (i = 0; i < list->children; ++i) { zend_ast *const_ast = list->child[i]; zend_ast *name_ast = const_ast->child[0]; @@ -4542,11 +4547,6 @@ void zend_compile_class_const_decl(zend_ast *ast) /* {{{ */ zend_string *name = zend_ast_get_str(name_ast); zval value_zv; - if ((ce->ce_flags & ZEND_ACC_TRAIT) != 0) { - zend_error_noreturn(E_COMPILE_ERROR, "Traits cannot have constants"); - return; - } - zend_const_expr_to_zval(&value_zv, value_ast); name = zend_new_interned_string_safe(name); -- 2.40.0