From ff475e9e763ffc74c8c63d26b3d5c9f37c702904 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 31 May 2014 00:37:03 +0200 Subject: [PATCH] Allow arrays + object access for new expressions --- Zend/zend_language_parser.y | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index 1b2026359c..04455cac9e 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -902,7 +902,7 @@ class_name_reference: dynamic_class_name_reference: - simple_variable { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&$$, &$1, 1 TSRMLS_CC); } + new_variable { $$ = $1; } ; exit_expr: @@ -1104,6 +1104,15 @@ static_member: ; +new_variable: + simple_variable + { zend_do_begin_variable_parse(TSRMLS_C); + fetch_simple_variable(&$$, &$1, 1 TSRMLS_CC); } + | new_variable '[' dim_offset ']' { fetch_array_dim(&$$, &$1, &$3 TSRMLS_CC); } + | new_variable '{' expr '}' { fetch_string_offset(&$$, &$1, &$3 TSRMLS_CC); } + | new_variable T_OBJECT_OPERATOR object_member + { zend_do_fetch_property(&$$, &$1, &$3 TSRMLS_CC); } +; dim_offset: /* empty */ { $$.op_type = IS_UNUSED; } -- 2.50.1