diff options
author | Dmitry Stogov <dmitry@zend.com> | 2015-03-04 18:07:07 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2015-03-04 18:07:07 +0300 |
commit | 13eed2676dc060c0545dad5f4d75362f188548bb (patch) | |
tree | 7e6f75063988d8f2698bed7e5bcf3ba60ce48464 | |
parent | 68d45751321201b62a0f07a951354a303968d1ed (diff) | |
parent | badc19d8840ae367ab5efea28c55783c0b0862e5 (diff) | |
download | php-git-13eed2676dc060c0545dad5f4d75362f188548bb.tar.gz |
Merge commit 'refs/pull/1137/head' of git://github.com/php/php-src
* git://github.com/php/php-src:
Optimize class constant declare compilation
-rw-r--r-- | Zend/zend_compile.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 1c4ecf7119..6321983a20 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -4524,6 +4524,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]; @@ -4531,11 +4536,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); |