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")] []