JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
JsExpressionStatement {
expression: JsArrayExpression {
l_brack_token: L_BRACK@0..1 "[" [] [],
elements: JsArrayElementList [
JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@1..4 "foo" [] [],
},
},
COMMA@4..6 "," [] [Whitespace(" ")],
JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@6..9 "bar" [] [],
},
},
],
r_brack_token: R_BRACK@9..10 "]" [] [],
},
semicolon_token: SEMICOLON@10..11 ";" [] [],
},
JsExpressionStatement {
expression: JsArrayExpression {
l_brack_token: L_BRACK@11..13 "[" [Newline("\n")] [],
elements: JsArrayElementList [
JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@13..16 "foo" [] [],
},
},
],
r_brack_token: R_BRACK@16..17 "]" [] [],
},
semicolon_token: SEMICOLON@17..18 ";" [] [],
},
JsExpressionStatement {
expression: JsArrayExpression {
l_brack_token: L_BRACK@18..20 "[" [Newline("\n")] [],
elements: JsArrayElementList [
JsArrayHole,
COMMA@20..21 "," [] [],
JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@21..24 "foo" [] [],
},
},
],
r_brack_token: R_BRACK@24..25 "]" [] [],
},
semicolon_token: SEMICOLON@25..26 ";" [] [],
},
JsExpressionStatement {
expression: JsArrayExpression {
l_brack_token: L_BRACK@26..28 "[" [Newline("\n")] [],
elements: JsArrayElementList [
JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@28..31 "foo" [] [],
},
},
COMMA@31..32 "," [] [],
],
r_brack_token: R_BRACK@32..33 "]" [] [],
},
semicolon_token: SEMICOLON@33..34 ";" [] [],
},
JsExpressionStatement {
expression: JsArrayExpression {
l_brack_token: L_BRACK@34..36 "[" [Newline("\n")] [],
elements: JsArrayElementList [
JsArrayHole,
COMMA@36..37 "," [] [],
JsArrayHole,
COMMA@37..38 "," [] [],
JsArrayHole,
COMMA@38..39 "," [] [],
JsArrayHole,
COMMA@39..40 "," [] [],
JsArrayHole,
COMMA@40..41 "," [] [],
JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@41..44 "foo" [] [],
},
},
COMMA@44..45 "," [] [],
JsArrayHole,
COMMA@45..46 "," [] [],
JsArrayHole,
COMMA@46..47 "," [] [],
JsArrayHole,
COMMA@47..48 "," [] [],
],
r_brack_token: R_BRACK@48..49 "]" [] [],
},
semicolon_token: SEMICOLON@49..50 ";" [] [],
},
JsExpressionStatement {
expression: JsArrayExpression {
l_brack_token: L_BRACK@50..52 "[" [Newline("\n")] [],
elements: JsArrayElementList [
JsSpread {
dotdotdot_token: DOT3@52..55 "..." [] [],
argument: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@55..56 "a" [] [],
},
},
},
COMMA@56..58 "," [] [Whitespace(" ")],
JsSpread {
dotdotdot_token: DOT3@58..61 "..." [] [],
argument: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@61..62 "b" [] [],
},
},
},
],
r_brack_token: R_BRACK@62..63 "]" [] [],
},
semicolon_token: SEMICOLON@63..64 ";" [] [],
},
],
eof_token: EOF@64..65 "" [Newline("\n")] [],
}
0: JS_MODULE@0..65
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..64
0: JS_EXPRESSION_STATEMENT@0..11
0: JS_ARRAY_EXPRESSION@0..10
0: L_BRACK@0..1 "[" [] []
1: JS_ARRAY_ELEMENT_LIST@1..9
0: JS_IDENTIFIER_EXPRESSION@1..4
0: JS_REFERENCE_IDENTIFIER@1..4
0: IDENT@1..4 "foo" [] []
1: COMMA@4..6 "," [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@6..9
0: JS_REFERENCE_IDENTIFIER@6..9
0: IDENT@6..9 "bar" [] []
2: R_BRACK@9..10 "]" [] []
1: SEMICOLON@10..11 ";" [] []
1: JS_EXPRESSION_STATEMENT@11..18
0: JS_ARRAY_EXPRESSION@11..17
0: L_BRACK@11..13 "[" [Newline("\n")] []
1: JS_ARRAY_ELEMENT_LIST@13..16
0: JS_IDENTIFIER_EXPRESSION@13..16
0: JS_REFERENCE_IDENTIFIER@13..16
0: IDENT@13..16 "foo" [] []
2: R_BRACK@16..17 "]" [] []
1: SEMICOLON@17..18 ";" [] []
2: JS_EXPRESSION_STATEMENT@18..26
0: JS_ARRAY_EXPRESSION@18..25
0: L_BRACK@18..20 "[" [Newline("\n")] []
1: JS_ARRAY_ELEMENT_LIST@20..24
0: JS_ARRAY_HOLE@20..20
1: COMMA@20..21 "," [] []
2: JS_IDENTIFIER_EXPRESSION@21..24
0: JS_REFERENCE_IDENTIFIER@21..24
0: IDENT@21..24 "foo" [] []
2: R_BRACK@24..25 "]" [] []
1: SEMICOLON@25..26 ";" [] []
3: JS_EXPRESSION_STATEMENT@26..34
0: JS_ARRAY_EXPRESSION@26..33
0: L_BRACK@26..28 "[" [Newline("\n")] []
1: JS_ARRAY_ELEMENT_LIST@28..32
0: JS_IDENTIFIER_EXPRESSION@28..31
0: JS_REFERENCE_IDENTIFIER@28..31
0: IDENT@28..31 "foo" [] []
1: COMMA@31..32 "," [] []
2: R_BRACK@32..33 "]" [] []
1: SEMICOLON@33..34 ";" [] []
4: JS_EXPRESSION_STATEMENT@34..50
0: JS_ARRAY_EXPRESSION@34..49
0: L_BRACK@34..36 "[" [Newline("\n")] []
1: JS_ARRAY_ELEMENT_LIST@36..48
0: JS_ARRAY_HOLE@36..36
1: COMMA@36..37 "," [] []
2: JS_ARRAY_HOLE@37..37
3: COMMA@37..38 "," [] []
4: JS_ARRAY_HOLE@38..38
5: COMMA@38..39 "," [] []
6: JS_ARRAY_HOLE@39..39
7: COMMA@39..40 "," [] []
8: JS_ARRAY_HOLE@40..40
9: COMMA@40..41 "," [] []
10: JS_IDENTIFIER_EXPRESSION@41..44
0: JS_REFERENCE_IDENTIFIER@41..44
0: IDENT@41..44 "foo" [] []
11: COMMA@44..45 "," [] []
12: JS_ARRAY_HOLE@45..45
13: COMMA@45..46 "," [] []
14: JS_ARRAY_HOLE@46..46
15: COMMA@46..47 "," [] []
16: JS_ARRAY_HOLE@47..47
17: COMMA@47..48 "," [] []
2: R_BRACK@48..49 "]" [] []
1: SEMICOLON@49..50 ";" [] []
5: JS_EXPRESSION_STATEMENT@50..64
0: JS_ARRAY_EXPRESSION@50..63
0: L_BRACK@50..52 "[" [Newline("\n")] []
1: JS_ARRAY_ELEMENT_LIST@52..62
0: JS_SPREAD@52..56
0: DOT3@52..55 "..." [] []
1: JS_IDENTIFIER_EXPRESSION@55..56
0: JS_REFERENCE_IDENTIFIER@55..56
0: IDENT@55..56 "a" [] []
1: COMMA@56..58 "," [] [Whitespace(" ")]
2: JS_SPREAD@58..62
0: DOT3@58..61 "..." [] []
1: JS_IDENTIFIER_EXPRESSION@61..62
0: JS_REFERENCE_IDENTIFIER@61..62
0: IDENT@61..62 "b" [] []
2: R_BRACK@62..63 "]" [] []
1: SEMICOLON@63..64 ";" [] []
4: EOF@64..65 "" [Newline("\n")] []