From: Nikita Popov Date: Sat, 19 Jul 2014 13:18:06 +0000 (+0200) Subject: Handle class const doc comment X-Git-Tag: POST_AST_MERGE^2~117 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fd7387a7619a6fab09bc63ac4bfae77eb6ca9ebc;p=php Handle class const doc comment Property doc comments not yet handled --- diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 66eb470100..d19e377d68 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -6545,8 +6545,6 @@ void zend_compile_class_const_decl(zend_ast *ast TSRMLS_DC) { zend_error_noreturn(E_COMPILE_ERROR, "Cannot redefine class constant %s::%s", ce->name->val, name); } - - // TODO.AST doc comment } } diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index e2018e517a..7380949084 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -628,7 +628,10 @@ class_statement_list: class_statement: variable_modifiers property_list ';' { $$.u.ast = $2.u.ast; $$.u.ast->attr = Z_LVAL($1.u.constant); AS($$); } - | class_const_list ';' { $$.u.ast = $1.u.ast; AS($$); } + | class_const_list ';' + { $$.u.ast = $1.u.ast; + if (CG(doc_comment)) { STR_RELEASE(CG(doc_comment)); CG(doc_comment) = NULL; } + AS($$); } | trait_use_statement | method_modifiers function returns_ref T_STRING '(' parameter_list ')' method_body { $$.u.ast = zend_ast_create_func_decl(ZEND_AST_METHOD, $3.EA | Z_LVAL($1.u.constant),