Changeset View
Changeset View
Standalone View
Standalone View
src/parser/xhpast/__tests__/data/php-array-dereference.test
<?php | <?php | ||||
function foo() { | function foo() { | ||||
return [1,2,3]; | return [1,2,3]; | ||||
} | } | ||||
$i = 1; | $i = 1; | ||||
$x = foo()[2]; | $x = foo()[2]; | ||||
$y = foo()[$i]; | $y = foo()[$i]; | ||||
if (isset(foo()[0])) { } | if (isset(foo()[0])) { } | ||||
~~~~~~~~~~ | ~~~~~~~~~~ | ||||
pass | pass | ||||
~~~~~~~~~~ | ~~~~~~~~~~ | ||||
{ | * n_PROGRAM | ||||
"tree": [ | * n_STATEMENT_LIST | ||||
9000, | * n_OPEN_TAG | ||||
0, | > <?php | ||||
71, | > "\n\n" | ||||
[ | * n_STATEMENT | ||||
[ | * n_FUNCTION_DECLARATION | ||||
9006, | * n_EMPTY | ||||
0, | * n_EMPTY | ||||
70, | * n_STRING | ||||
[ | > foo | ||||
[ | * n_DECLARATION_PARAMETER_LIST | ||||
9007, | > ( | ||||
0, | > ) | ||||
0 | * n_EMPTY | ||||
], | * n_EMPTY | ||||
[ | * n_STATEMENT_LIST | ||||
9004, | > { | ||||
2, | > "\n " | ||||
21, | * n_STATEMENT | ||||
[ | * n_RETURN | ||||
[ | > return | ||||
9050, | > " " | ||||
2, | * n_ARRAY_LITERAL | ||||
21, | * n_ARRAY_VALUE_LIST | ||||
[ | > [ | ||||
[ | * n_ARRAY_VALUE | ||||
9005 | * n_EMPTY | ||||
], | * n_NUMERIC_SCALAR | ||||
[ | > 1 | ||||
9005 | > , | ||||
], | * n_ARRAY_VALUE | ||||
[ | * n_EMPTY | ||||
9013, | * n_NUMERIC_SCALAR | ||||
4, | > 2 | ||||
4 | > , | ||||
], | * n_ARRAY_VALUE | ||||
[ | * n_EMPTY | ||||
9059, | * n_NUMERIC_SCALAR | ||||
5, | > 3 | ||||
6 | > ] | ||||
], | > ; | ||||
[ | > "\n" | ||||
9005 | > } | ||||
], | > "\n\n" | ||||
[ | * n_STATEMENT | ||||
9005 | * n_BINARY_EXPRESSION | ||||
], | * n_VARIABLE | ||||
[ | > $i | ||||
9006, | > " " | ||||
8, | * n_OPERATOR | ||||
21, | > = | ||||
[ | > " " | ||||
[ | * n_NUMERIC_SCALAR | ||||
9004, | > 1 | ||||
10, | > ; | ||||
19, | > "\n" | ||||
[ | * n_STATEMENT | ||||
[ | * n_BINARY_EXPRESSION | ||||
9027, | * n_VARIABLE | ||||
10, | > $x | ||||
18, | > " " | ||||
[ | * n_OPERATOR | ||||
[ | > = | ||||
9082, | > " " | ||||
12, | * n_INDEX_ACCESS | ||||
18, | * n_FUNCTION_CALL | ||||
[ | * n_SYMBOL_NAME | ||||
[ | > foo | ||||
9093, | * n_CALL_PARAMETER_LIST | ||||
12, | > ( | ||||
18, | > ) | ||||
[ | > [ | ||||
[ | * n_NUMERIC_SCALAR | ||||
9094, | > 2 | ||||
13, | > ] | ||||
13, | > ; | ||||
[ | > "\n\n" | ||||
[ | * n_STATEMENT | ||||
9005 | * n_BINARY_EXPRESSION | ||||
], | * n_VARIABLE | ||||
[ | > $y | ||||
9086, | > " " | ||||
13, | * n_OPERATOR | ||||
13 | > = | ||||
] | > " " | ||||
] | * n_INDEX_ACCESS | ||||
], | * n_FUNCTION_CALL | ||||
[ | * n_SYMBOL_NAME | ||||
9094, | > foo | ||||
15, | * n_CALL_PARAMETER_LIST | ||||
15, | > ( | ||||
[ | > ) | ||||
[ | > [ | ||||
9005 | * n_VARIABLE | ||||
], | > $i | ||||
[ | > ] | ||||
9086, | > ; | ||||
15, | > "\n\n" | ||||
15 | * n_STATEMENT | ||||
] | * n_CONDITION_LIST | ||||
] | * n_IF | ||||
], | > if | ||||
[ | > " " | ||||
9094, | * n_CONTROL_CONDITION | ||||
17, | > ( | ||||
17, | * n_FUNCTION_CALL | ||||
[ | * n_SYMBOL_NAME | ||||
[ | > isset | ||||
9005 | * n_CALL_PARAMETER_LIST | ||||
], | > ( | ||||
[ | * n_INDEX_ACCESS | ||||
9086, | * n_FUNCTION_CALL | ||||
17, | * n_SYMBOL_NAME | ||||
17 | > foo | ||||
] | * n_CALL_PARAMETER_LIST | ||||
] | > ( | ||||
] | > ) | ||||
] | > [ | ||||
] | * n_NUMERIC_SCALAR | ||||
] | > 0 | ||||
] | > ] | ||||
] | > ) | ||||
] | > ) | ||||
] | > " " | ||||
] | * n_STATEMENT_LIST | ||||
] | > { | ||||
] | > " " | ||||
] | > } | ||||
] | > "\n" | ||||
] | |||||
], | |||||
[ | |||||
9004, | |||||
23, | |||||
28, | |||||
[ | |||||
[ | |||||
9077, | |||||
23, | |||||
27, | |||||
[ | |||||
[ | |||||
9047, | |||||
23, | |||||
23 | |||||
], | |||||
[ | |||||
9081, | |||||
25, | |||||
25 | |||||
], | |||||
[ | |||||
9086, | |||||
27, | |||||
27 | |||||
] | |||||
] | |||||
] | |||||
] | |||||
], | |||||
[ | |||||
9004, | |||||
30, | |||||
40, | |||||
[ | |||||
[ | |||||
9077, | |||||
30, | |||||
39, | |||||
[ | |||||
[ | |||||
9047, | |||||
30, | |||||
30 | |||||
], | |||||
[ | |||||
9081, | |||||
32, | |||||
32 | |||||
], | |||||
[ | |||||
9100, | |||||
34, | |||||
39, | |||||
[ | |||||
[ | |||||
9099, | |||||
34, | |||||
36, | |||||
[ | |||||
[ | |||||
9001, | |||||
34, | |||||
34 | |||||
], | |||||
[ | |||||
9095, | |||||
35, | |||||
36 | |||||
] | |||||
] | |||||
], | |||||
[ | |||||
9086, | |||||
38, | |||||
38 | |||||
] | |||||
] | |||||
] | |||||
] | |||||
] | |||||
] | |||||
], | |||||
[ | |||||
9004, | |||||
42, | |||||
52, | |||||
[ | |||||
[ | |||||
9077, | |||||
42, | |||||
51, | |||||
[ | |||||
[ | |||||
9047, | |||||
42, | |||||
42 | |||||
], | |||||
[ | |||||
9081, | |||||
44, | |||||
44 | |||||
], | |||||
[ | |||||
9100, | |||||
46, | |||||
51, | |||||
[ | |||||
[ | |||||
9099, | |||||
46, | |||||
48, | |||||
[ | |||||
[ | |||||
9001, | |||||
46, | |||||
46 | |||||
], | |||||
[ | |||||
9095, | |||||
47, | |||||
48 | |||||
] | |||||
] | |||||
], | |||||
[ | |||||
9047, | |||||
50, | |||||
50 | |||||
] | |||||
] | |||||
] | |||||
] | |||||
] | |||||
] | |||||
], | |||||
[ | |||||
9004, | |||||
54, | |||||
70, | |||||
[ | |||||
[ | |||||
9015, | |||||
54, | |||||
70, | |||||
[ | |||||
[ | |||||
9017, | |||||
54, | |||||
70, | |||||
[ | |||||
[ | |||||
9016, | |||||
56, | |||||
66, | |||||
[ | |||||
[ | |||||
9099, | |||||
57, | |||||
65, | |||||
[ | |||||
[ | |||||
9001, | |||||
57, | |||||
57 | |||||
], | |||||
[ | |||||
9095, | |||||
58, | |||||
65, | |||||
[ | |||||
[ | |||||
9100, | |||||
59, | |||||
64, | |||||
[ | |||||
[ | |||||
9099, | |||||
59, | |||||
61, | |||||
[ | |||||
[ | |||||
9001, | |||||
59, | |||||
59 | |||||
], | |||||
[ | |||||
9095, | |||||
60, | |||||
61 | |||||
] | |||||
] | |||||
], | |||||
[ | |||||
9086, | |||||
63, | |||||
63 | |||||
] | |||||
] | |||||
] | |||||
] | |||||
] | |||||
] | |||||
] | |||||
] | |||||
], | |||||
[ | |||||
9006, | |||||
68, | |||||
70 | |||||
] | |||||
] | |||||
] | |||||
] | |||||
] | |||||
] | |||||
] | |||||
] | |||||
] | |||||
] | |||||
], | |||||
"stream": [ | |||||
[ | |||||
373, | |||||
5 | |||||
], | |||||
[ | |||||
377, | |||||
2 | |||||
], | |||||
[ | |||||
339, | |||||
8 | |||||
], | |||||
[ | |||||
377, | |||||
1 | |||||
], | |||||
[ | |||||
311, | |||||
3 | |||||
], | |||||
[ | |||||
40, | |||||
1 | |||||
], | |||||
[ | |||||
41, | |||||
1 | |||||
], | |||||
[ | |||||
377, | |||||
1 | |||||
], | |||||
[ | |||||
123, | |||||
1 | |||||
], | |||||
[ | |||||
377, | |||||
3 | |||||
], | |||||
[ | |||||
341, | |||||
6 | |||||
], | |||||
[ | |||||
377, | |||||
1 | |||||
], | |||||
[ | |||||
91, | |||||
1 | |||||
], | |||||
[ | |||||
309, | |||||
1 | |||||
], | |||||
[ | |||||
44, | |||||
1 | |||||
], | |||||
[ | |||||
309, | |||||
1 | |||||
], | |||||
[ | |||||
44, | |||||
1 | |||||
], | |||||
[ | |||||
309, | |||||
1 | |||||
], | |||||
[ | |||||
93, | |||||
1 | |||||
], | |||||
[ | |||||
59, | |||||
1 | |||||
], | |||||
[ | |||||
377, | |||||
1 | |||||
], | |||||
[ | |||||
125, | |||||
1 | |||||
], | |||||
[ | |||||
377, | |||||
2 | |||||
], | |||||
[ | |||||
313, | |||||
2 | |||||
], | |||||
[ | |||||
377, | |||||
1 | |||||
], | |||||
[ | |||||
61, | |||||
1 | |||||
], | |||||
[ | |||||
377, | |||||
1 | |||||
], | |||||
[ | |||||
309, | |||||
1 | |||||
], | |||||
[ | |||||
59, | |||||
1 | |||||
], | |||||
[ | |||||
377, | |||||
1 | |||||
], | |||||
[ | |||||
313, | |||||
2 | |||||
], | |||||
[ | |||||
377, | |||||
1 | |||||
], | |||||
[ | |||||
61, | |||||
1 | |||||
], | |||||
[ | |||||
377, | |||||
1 | |||||
], | |||||
[ | |||||
311, | |||||
3 | |||||
], | |||||
[ | |||||
40, | |||||
1 | |||||
], | |||||
[ | |||||
41, | |||||
1 | |||||
], | |||||
[ | |||||
91, | |||||
1 | |||||
], | |||||
[ | |||||
309, | |||||
1 | |||||
], | |||||
[ | |||||
93, | |||||
1 | |||||
], | |||||
[ | |||||
59, | |||||
1 | |||||
], | |||||
[ | |||||
377, | |||||
2 | |||||
], | |||||
[ | |||||
313, | |||||
2 | |||||
], | |||||
[ | |||||
377, | |||||
1 | |||||
], | |||||
[ | |||||
61, | |||||
1 | |||||
], | |||||
[ | |||||
377, | |||||
1 | |||||
], | |||||
[ | |||||
311, | |||||
3 | |||||
], | |||||
[ | |||||
40, | |||||
1 | |||||
], | |||||
[ | |||||
41, | |||||
1 | |||||
], | |||||
[ | |||||
91, | |||||
1 | |||||
], | |||||
[ | |||||
313, | |||||
2 | |||||
], | |||||
[ | |||||
93, | |||||
1 | |||||
], | |||||
[ | |||||
59, | |||||
1 | |||||
], | |||||
[ | |||||
377, | |||||
2 | |||||
], | |||||
[ | |||||
305, | |||||
2 | |||||
], | |||||
[ | |||||
377, | |||||
1 | |||||
], | |||||
[ | |||||
40, | |||||
1 | |||||
], | |||||
[ | |||||
355, | |||||
5 | |||||
], | |||||
[ | |||||
40, | |||||
1 | |||||
], | |||||
[ | |||||
311, | |||||
3 | |||||
], | |||||
[ | |||||
40, | |||||
1 | |||||
], | |||||
[ | |||||
41, | |||||
1 | |||||
], | |||||
[ | |||||
91, | |||||
1 | |||||
], | |||||
[ | |||||
309, | |||||
1 | |||||
], | |||||
[ | |||||
93, | |||||
1 | |||||
], | |||||
[ | |||||
41, | |||||
1 | |||||
], | |||||
[ | |||||
41, | |||||
1 | |||||
], | |||||
[ | |||||
377, | |||||
1 | |||||
], | |||||
[ | |||||
123, | |||||
1 | |||||
], | |||||
[ | |||||
377, | |||||
1 | |||||
], | |||||
[ | |||||
125, | |||||
1 | |||||
], | |||||
[ | |||||
377, | |||||
1 | |||||
] | |||||
] | |||||
} |