JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsVariableStatement { declaration: JsVariableDeclaration { await_token: missing (optional), kind: LET_KW@0..4 "let" [] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@4..6 "a" [] [Whitespace(" ")], }, variable_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" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], name: JsLiteralMemberName { value: IDENT@15..18 "foo" [] [], }, l_paren_token: L_PAREN@18..19 "(" [] [], parameter: JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@19..24 "value" [] [], }, question_mark_token: missing (optional), type_annotation: missing (optional), initializer: missing (optional), }, r_paren_token: R_PAREN@24..26 ")" [] [Whitespace(" ")], body: JsFunctionBody { l_curly_token: L_CURLY@26..27 "{" [] [], directives: JsDirectiveList [], statements: JsStatementList [], r_curly_token: R_CURLY@27..30 "}" [Newline("\n"), Whitespace(" ")] [], }, }, COMMA@30..31 "," [] [], JsSetterObjectMember { set_token: SET_KW@31..37 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], name: JsLiteralMemberName { value: JS_STRING_LITERAL@37..42 "\"bar\"" [] [], }, l_paren_token: L_PAREN@42..43 "(" [] [], parameter: JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@43..48 "value" [] [], }, question_mark_token: missing (optional), type_annotation: missing (optional), initializer: missing (optional), }, r_paren_token: R_PAREN@48..50 ")" [] [Whitespace(" ")], body: JsFunctionBody { l_curly_token: L_CURLY@50..51 "{" [] [], directives: JsDirectiveList [], statements: JsStatementList [], r_curly_token: R_CURLY@51..54 "}" [Newline("\n"), Whitespace(" ")] [], }, }, COMMA@54..55 "," [] [], JsSetterObjectMember { set_token: SET_KW@55..61 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], name: JsComputedMemberName { l_brack_token: L_BRACK@61..62 "[" [] [], expression: JsBinaryExpression { left: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@62..66 "\"a\"" [] [Whitespace(" ")], }, operator_token: PLUS@66..68 "+" [] [Whitespace(" ")], right: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@68..71 "\"b\"" [] [], }, }, r_brack_token: R_BRACK@71..72 "]" [] [], }, l_paren_token: L_PAREN@72..73 "(" [] [], parameter: JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@73..78 "value" [] [], }, question_mark_token: missing (optional), type_annotation: missing (optional), initializer: missing (optional), }, r_paren_token: R_PAREN@78..80 ")" [] [Whitespace(" ")], body: JsFunctionBody { l_curly_token: L_CURLY@80..81 "{" [] [], directives: JsDirectiveList [], statements: JsStatementList [], r_curly_token: R_CURLY@81..84 "}" [Newline("\n"), Whitespace(" ")] [], }, }, COMMA@84..85 "," [] [], JsSetterObjectMember { set_token: SET_KW@85..91 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], name: JsLiteralMemberName { value: JS_NUMBER_LITERAL@91..92 "5" [] [], }, l_paren_token: L_PAREN@92..93 "(" [] [], parameter: JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@93..98 "value" [] [], }, question_mark_token: missing (optional), type_annotation: missing (optional), initializer: missing (optional), }, r_paren_token: R_PAREN@98..100 ")" [] [Whitespace(" ")], body: JsFunctionBody { l_curly_token: L_CURLY@100..101 "{" [] [], directives: JsDirectiveList [], statements: JsStatementList [], r_curly_token: R_CURLY@101..104 "}" [Newline("\n"), Whitespace(" ")] [], }, }, COMMA@104..105 "," [] [], JsMethodObjectMember { async_token: missing (optional), star_token: missing (optional), name: JsLiteralMemberName { value: IDENT@105..110 "set" [Newline("\n"), Whitespace(" ")] [], }, type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@110..111 "(" [] [], items: JsParameterList [], r_paren_token: R_PAREN@111..113 ")" [] [Whitespace(" ")], }, return_type_annotation: missing (optional), body: JsFunctionBody { l_curly_token: L_CURLY@113..114 "{" [] [], directives: JsDirectiveList [], statements: JsStatementList [ JsReturnStatement { return_token: RETURN_KW@114..124 "return" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")], argument: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@124..159 "\"This is a method and not a setter\"" [] [], }, semicolon_token: SEMICOLON@159..160 ";" [] [], }, ], r_curly_token: R_CURLY@160..163 "}" [Newline("\n"), Whitespace(" ")] [], }, }, ], r_curly_token: R_CURLY@163..165 "}" [Newline("\n")] [], }, }, }, ], }, semicolon_token: missing (optional), }, ], eof_token: EOF@165..166 "" [Newline("\n")] [], } 0: JS_MODULE@0..166 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..165 0: JS_VARIABLE_STATEMENT@0..165 0: JS_VARIABLE_DECLARATION@0..165 0: (empty) 1: LET_KW@0..4 "let" [] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@4..165 0: JS_VARIABLE_DECLARATOR@4..165 0: JS_IDENTIFIER_BINDING@4..6 0: IDENT@4..6 "a" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@6..165 0: EQ@6..8 "=" [] [Whitespace(" ")] 1: JS_OBJECT_EXPRESSION@8..165 0: L_CURLY@8..9 "{" [] [] 1: JS_OBJECT_MEMBER_LIST@9..163 0: JS_SETTER_OBJECT_MEMBER@9..30 0: SET_KW@9..15 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@15..18 0: IDENT@15..18 "foo" [] [] 2: L_PAREN@18..19 "(" [] [] 3: JS_FORMAL_PARAMETER@19..24 0: JS_DECORATOR_LIST@19..19 1: JS_IDENTIFIER_BINDING@19..24 0: IDENT@19..24 "value" [] [] 2: (empty) 3: (empty) 4: (empty) 4: R_PAREN@24..26 ")" [] [Whitespace(" ")] 5: JS_FUNCTION_BODY@26..30 0: L_CURLY@26..27 "{" [] [] 1: JS_DIRECTIVE_LIST@27..27 2: JS_STATEMENT_LIST@27..27 3: R_CURLY@27..30 "}" [Newline("\n"), Whitespace(" ")] [] 1: COMMA@30..31 "," [] [] 2: JS_SETTER_OBJECT_MEMBER@31..54 0: SET_KW@31..37 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@37..42 0: JS_STRING_LITERAL@37..42 "\"bar\"" [] [] 2: L_PAREN@42..43 "(" [] [] 3: JS_FORMAL_PARAMETER@43..48 0: JS_DECORATOR_LIST@43..43 1: JS_IDENTIFIER_BINDING@43..48 0: IDENT@43..48 "value" [] [] 2: (empty) 3: (empty) 4: (empty) 4: R_PAREN@48..50 ")" [] [Whitespace(" ")] 5: JS_FUNCTION_BODY@50..54 0: L_CURLY@50..51 "{" [] [] 1: JS_DIRECTIVE_LIST@51..51 2: JS_STATEMENT_LIST@51..51 3: R_CURLY@51..54 "}" [Newline("\n"), Whitespace(" ")] [] 3: COMMA@54..55 "," [] [] 4: JS_SETTER_OBJECT_MEMBER@55..84 0: SET_KW@55..61 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_COMPUTED_MEMBER_NAME@61..72 0: L_BRACK@61..62 "[" [] [] 1: JS_BINARY_EXPRESSION@62..71 0: JS_STRING_LITERAL_EXPRESSION@62..66 0: JS_STRING_LITERAL@62..66 "\"a\"" [] [Whitespace(" ")] 1: PLUS@66..68 "+" [] [Whitespace(" ")] 2: JS_STRING_LITERAL_EXPRESSION@68..71 0: JS_STRING_LITERAL@68..71 "\"b\"" [] [] 2: R_BRACK@71..72 "]" [] [] 2: L_PAREN@72..73 "(" [] [] 3: JS_FORMAL_PARAMETER@73..78 0: JS_DECORATOR_LIST@73..73 1: JS_IDENTIFIER_BINDING@73..78 0: IDENT@73..78 "value" [] [] 2: (empty) 3: (empty) 4: (empty) 4: R_PAREN@78..80 ")" [] [Whitespace(" ")] 5: JS_FUNCTION_BODY@80..84 0: L_CURLY@80..81 "{" [] [] 1: JS_DIRECTIVE_LIST@81..81 2: JS_STATEMENT_LIST@81..81 3: R_CURLY@81..84 "}" [Newline("\n"), Whitespace(" ")] [] 5: COMMA@84..85 "," [] [] 6: JS_SETTER_OBJECT_MEMBER@85..104 0: SET_KW@85..91 "set" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@91..92 0: JS_NUMBER_LITERAL@91..92 "5" [] [] 2: L_PAREN@92..93 "(" [] [] 3: JS_FORMAL_PARAMETER@93..98 0: JS_DECORATOR_LIST@93..93 1: JS_IDENTIFIER_BINDING@93..98 0: IDENT@93..98 "value" [] [] 2: (empty) 3: (empty) 4: (empty) 4: R_PAREN@98..100 ")" [] [Whitespace(" ")] 5: JS_FUNCTION_BODY@100..104 0: L_CURLY@100..101 "{" [] [] 1: JS_DIRECTIVE_LIST@101..101 2: JS_STATEMENT_LIST@101..101 3: R_CURLY@101..104 "}" [Newline("\n"), Whitespace(" ")] [] 7: COMMA@104..105 "," [] [] 8: JS_METHOD_OBJECT_MEMBER@105..163 0: (empty) 1: (empty) 2: JS_LITERAL_MEMBER_NAME@105..110 0: IDENT@105..110 "set" [Newline("\n"), Whitespace(" ")] [] 3: (empty) 4: JS_PARAMETERS@110..113 0: L_PAREN@110..111 "(" [] [] 1: JS_PARAMETER_LIST@111..111 2: R_PAREN@111..113 ")" [] [Whitespace(" ")] 5: (empty) 6: JS_FUNCTION_BODY@113..163 0: L_CURLY@113..114 "{" [] [] 1: JS_DIRECTIVE_LIST@114..114 2: JS_STATEMENT_LIST@114..160 0: JS_RETURN_STATEMENT@114..160 0: RETURN_KW@114..124 "return" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")] 1: JS_STRING_LITERAL_EXPRESSION@124..159 0: JS_STRING_LITERAL@124..159 "\"This is a method and not a setter\"" [] [] 2: SEMICOLON@159..160 ";" [] [] 3: R_CURLY@160..163 "}" [Newline("\n"), Whitespace(" ")] [] 2: R_CURLY@163..165 "}" [Newline("\n")] [] 1: (empty) 4: EOF@165..166 "" [Newline("\n")] []