Wrap List_ in ArrayItem

This was correctly done for the 'key'=>list() form, but not for
unkeyed nested lists.
This commit is contained in:
Nikita Popov 2016-12-01 13:32:37 +01:00
parent 68973aed1e
commit 3e158a2313
5 changed files with 16 additions and 12 deletions

View File

@ -939,7 +939,7 @@ list_expr_elements:
list_expr_element: list_expr_element:
variable { $$ = Expr\ArrayItem[$1, null, false]; } variable { $$ = Expr\ArrayItem[$1, null, false]; }
| list_expr { $$ = $1; } | list_expr { $$ = Expr\ArrayItem[$1, null, false]; }
| /* empty */ { $$ = null; } | /* empty */ { $$ = null; }
; ;

View File

@ -823,7 +823,7 @@ list_expr_elements:
list_expr_element: list_expr_element:
variable { $$ = Expr\ArrayItem[$1, null, false]; } variable { $$ = Expr\ArrayItem[$1, null, false]; }
| list_expr { $$ = $1; } | list_expr { $$ = Expr\ArrayItem[$1, null, false]; }
| expr T_DOUBLE_ARROW variable { $$ = Expr\ArrayItem[$3, $1, false]; } | expr T_DOUBLE_ARROW variable { $$ = Expr\ArrayItem[$3, $1, false]; }
| expr T_DOUBLE_ARROW list_expr { $$ = Expr\ArrayItem[$3, $1, false]; } | expr T_DOUBLE_ARROW list_expr { $$ = Expr\ArrayItem[$3, $1, false]; }
| /* empty */ { $$ = null; } | /* empty */ { $$ = null; }

View File

@ -3035,7 +3035,7 @@ class Php5 extends \PhpParser\ParserAbstract
} }
protected function reduceRule523() { protected function reduceRule523() {
$this->semValue = $this->semStack[$this->stackPos-(1-1)]; $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
} }
protected function reduceRule524() { protected function reduceRule524() {

View File

@ -2657,7 +2657,7 @@ class Php7 extends \PhpParser\ParserAbstract
} }
protected function reduceRule460() { protected function reduceRule460() {
$this->semValue = $this->semStack[$this->stackPos-(1-1)]; $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
} }
protected function reduceRule461() { protected function reduceRule461() {

View File

@ -246,17 +246,21 @@ array(
) )
byRef: false byRef: false
) )
1: Expr_List( 1: Expr_ArrayItem(
items: array( key: null
0: null value: Expr_List(
1: Expr_ArrayItem( items: array(
key: null 0: null
value: Expr_Variable( 1: Expr_ArrayItem(
name: c key: null
value: Expr_Variable(
name: c
)
byRef: false
) )
byRef: false
) )
) )
byRef: false
) )
2: Expr_ArrayItem( 2: Expr_ArrayItem(
key: null key: null