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_STATEMENT | ||||
| [ | + n_FUNCTION_DECLARATION | ||||
| [ | + n_EMPTY | ||||
| 9006, | > <null> | ||||
| 0, | + n_EMPTY | ||||
| 70, | > <null> | ||||
| [ | + n_STRING | ||||
| [ | > foo | ||||
| 9007, | + n_DECLARATION_PARAMETER_LIST | ||||
| 0, | > () | ||||
| 0 | + n_EMPTY | ||||
| ], | > <null> | ||||
| [ | + n_EMPTY | ||||
| 9004, | > <null> | ||||
| 2, | + n_STATEMENT_LIST | ||||
| 21, | + n_STATEMENT | ||||
| [ | + n_RETURN | ||||
| [ | + n_ARRAY_LITERAL | ||||
| 9050, | + n_ARRAY_VALUE_LIST | ||||
| 2, | + n_ARRAY_VALUE | ||||
| 21, | + n_EMPTY | ||||
| [ | > <null> | ||||
| [ | + n_NUMERIC_SCALAR | ||||
| 9005 | > 1 | ||||
| ], | + n_ARRAY_VALUE | ||||
| [ | + n_EMPTY | ||||
| 9005 | > <null> | ||||
| ], | + n_NUMERIC_SCALAR | ||||
| [ | > 2 | ||||
| 9013, | + n_ARRAY_VALUE | ||||
| 4, | + n_EMPTY | ||||
| 4 | > <null> | ||||
| ], | + n_NUMERIC_SCALAR | ||||
| [ | > 3 | ||||
| 9059, | + n_STATEMENT | ||||
| 5, | + n_BINARY_EXPRESSION | ||||
| 6 | + n_VARIABLE | ||||
| ], | > $i | ||||
| [ | + n_OPERATOR | ||||
| 9005 | > = | ||||
| ], | + n_NUMERIC_SCALAR | ||||
| [ | > 1 | ||||
| 9005 | + n_STATEMENT | ||||
| ], | + n_BINARY_EXPRESSION | ||||
| [ | + n_VARIABLE | ||||
| 9006, | > $x | ||||
| 8, | + n_OPERATOR | ||||
| 21, | > = | ||||
| [ | + n_INDEX_ACCESS | ||||
| [ | + n_FUNCTION_CALL | ||||
| 9004, | + n_SYMBOL_NAME | ||||
| 10, | > foo | ||||
| 19, | + n_CALL_PARAMETER_LIST | ||||
| [ | > () | ||||
| [ | + n_NUMERIC_SCALAR | ||||
| 9027, | > 2 | ||||
| 10, | + n_STATEMENT | ||||
| 18, | + n_BINARY_EXPRESSION | ||||
| [ | + n_VARIABLE | ||||
| [ | > $y | ||||
| 9082, | + n_OPERATOR | ||||
| 12, | > = | ||||
| 18, | + n_INDEX_ACCESS | ||||
| [ | + n_FUNCTION_CALL | ||||
| [ | + n_SYMBOL_NAME | ||||
| 9093, | > foo | ||||
| 12, | + n_CALL_PARAMETER_LIST | ||||
| 18, | > () | ||||
| [ | + n_VARIABLE | ||||
| [ | > $i | ||||
| 9094, | + n_STATEMENT | ||||
| 13, | + n_CONDITION_LIST | ||||
| 13, | + n_IF | ||||
| [ | + n_CONTROL_CONDITION | ||||
| [ | + n_FUNCTION_CALL | ||||
| 9005 | + n_SYMBOL_NAME | ||||
| ], | > isset | ||||
| [ | + n_CALL_PARAMETER_LIST | ||||
| 9086, | + n_INDEX_ACCESS | ||||
| 13, | + n_FUNCTION_CALL | ||||
| 13 | + n_SYMBOL_NAME | ||||
| ] | > foo | ||||
| ] | + n_CALL_PARAMETER_LIST | ||||
| ], | > () | ||||
| [ | + n_NUMERIC_SCALAR | ||||
| 9094, | > <null> | ||||
| 15, | + n_STATEMENT_LIST | ||||
| 15, | > {_} | ||||
| [ | -------------------------------------------------------------------------------- | ||||
| [ | > T_OPEN_TAG <?php | ||||
| 9005 | > T_WHITESPACE \n\n | ||||
| ], | > T_FUNCTION function | ||||
| [ | > T_WHITESPACE _ | ||||
| 9086, | > T_STRING foo | ||||
| 15, | > ( ( | ||||
| 15 | > ) ) | ||||
| ] | > T_WHITESPACE _ | ||||
| ] | > { { | ||||
| ], | > T_WHITESPACE \n__ | ||||
| [ | > T_RETURN return | ||||
| 9094, | > T_WHITESPACE _ | ||||
| 17, | > [ [ | ||||
| 17, | > T_LNUMBER 1 | ||||
| [ | > , , | ||||
| [ | > T_LNUMBER 2 | ||||
| 9005 | > , , | ||||
| ], | > T_LNUMBER 3 | ||||
| [ | > ] ] | ||||
| 9086, | > ; ; | ||||
| 17, | > T_WHITESPACE \n | ||||
| 17 | > } } | ||||
| ] | > T_WHITESPACE \n\n | ||||
| ] | > T_VARIABLE $i | ||||
| ] | > T_WHITESPACE _ | ||||
| ] | > = = | ||||
| ] | > T_WHITESPACE _ | ||||
| ] | > T_LNUMBER 1 | ||||
| ] | > ; ; | ||||
| ] | > T_WHITESPACE \n | ||||
| ] | > T_VARIABLE $x | ||||
| ] | > T_WHITESPACE _ | ||||
| ] | > = = | ||||
| ] | > T_WHITESPACE _ | ||||
| ] | > T_STRING foo | ||||
| ] | > ( ( | ||||
| ] | > ) ) | ||||
| ] | > [ [ | ||||
| ], | > T_LNUMBER 2 | ||||
| [ | > ] ] | ||||
| 9004, | > ; ; | ||||
| 23, | > T_WHITESPACE \n\n | ||||
| 28, | > T_VARIABLE $y | ||||
| [ | > T_WHITESPACE _ | ||||
| [ | > = = | ||||
| 9077, | > T_WHITESPACE _ | ||||
| 23, | > T_STRING foo | ||||
| 27, | > ( ( | ||||
| [ | > ) ) | ||||
| [ | > [ [ | ||||
| 9047, | > T_VARIABLE $i | ||||
| 23, | > ] ] | ||||
| 23 | > ; ; | ||||
| ], | > T_WHITESPACE \n\n | ||||
| [ | > T_IF if | ||||
| 9081, | > T_WHITESPACE _ | ||||
| 25, | > ( ( | ||||
| 25 | > T_ISSET isset | ||||
| ], | > ( ( | ||||
| [ | > T_STRING foo | ||||
| 9086, | > ( ( | ||||
| 27, | > ) ) | ||||
| 27 | > [ [ | ||||
| ] | > T_LNUMBER <null> | ||||
| ] | > ] ] | ||||
| ] | > ) ) | ||||
| ] | > ) ) | ||||
| ], | > T_WHITESPACE _ | ||||
| [ | > { { | ||||
| 9004, | > T_WHITESPACE _ | ||||
| 30, | > } } | ||||
| 40, | > T_WHITESPACE \n | ||||
| [ | |||||
| [ | |||||
| 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 | |||||
| ] | |||||
| ] | |||||
| } | |||||