]> granicus.if.org Git - php/commitdiff
Remove static_scalar_base
authorNikita Popov <nikic@php.net>
Thu, 26 Jun 2014 12:03:31 +0000 (14:03 +0200)
committerNikita Popov <nikic@php.net>
Thu, 26 Jun 2014 12:03:31 +0000 (14:03 +0200)
Zend/zend_language_parser.y

index bf2162b643e9f565723770b0c77a14795f0efaee..5142b465c95a75f7f2b049cca8e0bc67f0ff96b0 100644 (file)
@@ -980,17 +980,13 @@ static_scalar: /* compile-time evaluated scalars */
        static_scalar_value { zend_do_constant_expression(&$$, $1.u.ast TSRMLS_CC); }
 ;
 
-static_scalar_base:
-               T_CONSTANT_ENCAPSED_STRING      { $$ = $1; }
-       |       static_class_name_scalar        { $$ = $1; }
-       |       static_class_constant           { $$ = $1; }
-       |       namespace_name          { zend_do_fetch_constant(&$$, NULL, &$1, ZEND_CT, 1 TSRMLS_CC); }
-       |       T_NAMESPACE T_NS_SEPARATOR namespace_name { $$.op_type = IS_CONST; ZVAL_EMPTY_STRING(&$$.u.constant);  zend_do_build_namespace_name(&$$, &$$, &$3 TSRMLS_CC); $3 = $$; zend_do_fetch_constant(&$$, NULL, &$3, ZEND_CT, 0 TSRMLS_CC); }
-       |       T_NS_SEPARATOR namespace_name { zval tmp; ZVAL_NEW_STR(&tmp, STR_ALLOC(Z_STRLEN($2.u.constant)+1, 0)); Z_STRVAL(tmp)[0] = '\\'; memcpy(Z_STRVAL(tmp) + 1, Z_STRVAL($2.u.constant), Z_STRLEN($2.u.constant)+1); if (Z_DELREF($2.u.constant) == 0) {efree(Z_STR($2.u.constant));} Z_STR($2.u.constant) = Z_STR(tmp); zend_do_fetch_constant(&$$, NULL, &$2, ZEND_CT, 0 TSRMLS_CC); }
-;
-
 static_scalar_value:
-               static_scalar_base { $$.u.ast = zend_ast_create_constant(&$1.u.constant); }
+               T_CONSTANT_ENCAPSED_STRING      { $$.u.ast = AST_ZVAL(&$1); }
+       |       static_class_name_scalar        { $$.u.ast = AST_ZVAL(&$1); }
+       |       static_class_constant           { $$.u.ast = AST_ZVAL(&$1); }
+       |       namespace_name          { zend_do_fetch_constant(&$$, NULL, &$1, ZEND_CT, 1 TSRMLS_CC); $$.u.ast = AST_ZVAL(&$$); }
+       |       T_NAMESPACE T_NS_SEPARATOR namespace_name { $$.op_type = IS_CONST; ZVAL_EMPTY_STRING(&$$.u.constant);  zend_do_build_namespace_name(&$$, &$$, &$3 TSRMLS_CC); $3 = $$; zend_do_fetch_constant(&$$, NULL, &$3, ZEND_CT, 0 TSRMLS_CC); $$.u.ast = AST_ZVAL(&$$); }
+       |       T_NS_SEPARATOR namespace_name { zval tmp; ZVAL_NEW_STR(&tmp, STR_ALLOC(Z_STRLEN($2.u.constant)+1, 0)); Z_STRVAL(tmp)[0] = '\\'; memcpy(Z_STRVAL(tmp) + 1, Z_STRVAL($2.u.constant), Z_STRLEN($2.u.constant)+1); if (Z_DELREF($2.u.constant) == 0) {efree(Z_STR($2.u.constant));} Z_STR($2.u.constant) = Z_STR(tmp); zend_do_fetch_constant(&$$, NULL, &$2, ZEND_CT, 0 TSRMLS_CC); $$.u.ast = AST_ZVAL(&$$); }
        |       common_scalar { $$.u.ast = $1.u.ast; }
        |       T_ARRAY '(' static_array_pair_list ')' { $$.u.ast = $3.u.ast; }
        |       '[' static_array_pair_list ']' { $$.u.ast = $2.u.ast; }