JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
JsVariableStatement {
declarations: JsVariableDeclarations {
kind: LET_KW@0..4 "let" [] [Whitespace(" ")],
items: JsVariableDeclarationList [
JsVariableDeclaration {
id: JsIdentifierBinding {
name_token: IDENT@4..6 "b" [] [Whitespace(" ")],
},
excl_token: missing (optional),
type_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@6..8 "=" [] [Whitespace(" ")],
expression: JsObjectExpression {
l_curly_token: L_CURLY@8..9 "{" [] [],
members: JsObjectMemberList [
JsSetterObjectMember {
set_token: SET_KW@9..15 "set" [Whitespace("\n ")] [Whitespace(" ")],
name: JsComputedMemberName {
l_brack_token: L_BRACK@15..16 "[" [] [],
expression: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@16..19 "foo" [] [],
},
},
r_brack_token: R_BRACK@19..20 "]" [] [],
},
l_paren_token: L_PAREN@20..21 "(" [] [],
parameter: JsIdentifierBinding {
name_token: IDENT@21..24 "bar" [] [],
},
r_paren_token: R_PAREN@24..26 ")" [] [Whitespace(" ")],
body: JsFunctionBody {
l_curly_token: L_CURLY@26..27 "{" [] [],
directives: JsDirectiveList [],
statements: JsStatementList [
JsReturnStatement {
return_token: RETURN_KW@27..39 "return" [Whitespace("\n ")] [Whitespace(" ")],
argument: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@39..40 "5" [] [],
},
semicolon_token: SEMICOLON@40..41 ";" [] [],
},
],
r_curly_token: R_CURLY@41..44 "}" [Whitespace("\n ")] [],
},
},
],
r_curly_token: R_CURLY@44..46 "}" [Whitespace("\n")] [],
},
},
},
],
},
semicolon_token: missing (optional),
},
],
eof_token: EOF@46..47 "" [Whitespace("\n")] [],
}
0: JS_MODULE@0..47
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..46
0: JS_VARIABLE_STATEMENT@0..46
0: JS_VARIABLE_DECLARATIONS@0..46
0: LET_KW@0..4 "let" [] [Whitespace(" ")]
1: JS_VARIABLE_DECLARATION_LIST@4..46
0: JS_VARIABLE_DECLARATION@4..46
0: JS_IDENTIFIER_BINDING@4..6
0: IDENT@4..6 "b" [] [Whitespace(" ")]
1: (empty)
2: (empty)
3: JS_INITIALIZER_CLAUSE@6..46
0: EQ@6..8 "=" [] [Whitespace(" ")]
1: JS_OBJECT_EXPRESSION@8..46
0: L_CURLY@8..9 "{" [] []
1: JS_OBJECT_MEMBER_LIST@9..44
0: JS_SETTER_OBJECT_MEMBER@9..44
0: SET_KW@9..15 "set" [Whitespace("\n ")] [Whitespace(" ")]
1: JS_COMPUTED_MEMBER_NAME@15..20
0: L_BRACK@15..16 "[" [] []
1: JS_IDENTIFIER_EXPRESSION@16..19
0: JS_REFERENCE_IDENTIFIER@16..19
0: IDENT@16..19 "foo" [] []
2: R_BRACK@19..20 "]" [] []
2: L_PAREN@20..21 "(" [] []
3: JS_IDENTIFIER_BINDING@21..24
0: IDENT@21..24 "bar" [] []
4: R_PAREN@24..26 ")" [] [Whitespace(" ")]
5: JS_FUNCTION_BODY@26..44
0: L_CURLY@26..27 "{" [] []
1: JS_DIRECTIVE_LIST@27..27
2: JS_STATEMENT_LIST@27..41
0: JS_RETURN_STATEMENT@27..41
0: RETURN_KW@27..39 "return" [Whitespace("\n ")] [Whitespace(" ")]
1: JS_NUMBER_LITERAL_EXPRESSION@39..40
0: JS_NUMBER_LITERAL@39..40 "5" [] []
2: SEMICOLON@40..41 ";" [] []
3: R_CURLY@41..44 "}" [Whitespace("\n ")] []
2: R_CURLY@44..46 "}" [Whitespace("\n")] []
1: (empty)
4: EOF@46..47 "" [Whitespace("\n")] []