JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
JsSwitchStatement {
switch_token: SWITCH_KW@0..7 "switch" [] [Whitespace(" ")],
l_paren_token: L_PAREN@7..8 "(" [] [],
discriminant: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@8..11 "foo" [] [],
},
},
r_paren_token: R_PAREN@11..13 ")" [] [Whitespace(" ")],
l_curly_token: L_CURLY@13..14 "{" [] [],
cases: JsSwitchCaseList [
JsCaseClause {
case_token: CASE_KW@14..21 "case" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
test: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@21..24 "bar" [] [],
},
},
colon_token: COLON@24..25 ":" [] [],
consequent: JsStatementList [],
},
JsDefaultClause {
default_token: DEFAULT_KW@25..34 "default" [Newline("\n"), Whitespace(" ")] [],
colon_token: COLON@34..35 ":" [] [],
consequent: JsStatementList [],
},
],
r_curly_token: R_CURLY@35..37 "}" [Newline("\n")] [],
},
],
eof_token: EOF@37..38 "" [Newline("\n")] [],
}
0: JS_MODULE@0..38
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..37
0: JS_SWITCH_STATEMENT@0..37
0: SWITCH_KW@0..7 "switch" [] [Whitespace(" ")]
1: L_PAREN@7..8 "(" [] []
2: JS_IDENTIFIER_EXPRESSION@8..11
0: JS_REFERENCE_IDENTIFIER@8..11
0: IDENT@8..11 "foo" [] []
3: R_PAREN@11..13 ")" [] [Whitespace(" ")]
4: L_CURLY@13..14 "{" [] []
5: JS_SWITCH_CASE_LIST@14..35
0: JS_CASE_CLAUSE@14..25
0: CASE_KW@14..21 "case" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@21..24
0: JS_REFERENCE_IDENTIFIER@21..24
0: IDENT@21..24 "bar" [] []
2: COLON@24..25 ":" [] []
3: JS_STATEMENT_LIST@25..25
1: JS_DEFAULT_CLAUSE@25..35
0: DEFAULT_KW@25..34 "default" [Newline("\n"), Whitespace(" ")] []
1: COLON@34..35 ":" [] []
2: JS_STATEMENT_LIST@35..35
6: R_CURLY@35..37 "}" [Newline("\n")] []
4: EOF@37..38 "" [Newline("\n")] []