JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: USING_KW@0..6 "using" [] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@6..8 "a" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@8..10 "=" [] [Whitespace(" ")],
expression: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@10..11 "b" [] [],
},
},
},
},
],
},
semicolon_token: SEMICOLON@11..12 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: USING_KW@12..19 "using" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@19..21 "c" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@21..23 "=" [] [Whitespace(" ")],
expression: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@23..24 "d" [] [],
},
},
},
},
COMMA@24..26 "," [] [Whitespace(" ")],
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@26..28 "e" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@28..30 "=" [] [Whitespace(" ")],
expression: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@30..31 "_" [] [],
},
},
},
},
],
},
semicolon_token: SEMICOLON@31..32 ";" [] [],
},
JsExpressionStatement {
expression: JsAssignmentExpression {
left: JsComputedMemberAssignment {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@32..39 "using" [Newline("\n")] [Whitespace(" ")],
},
},
l_brack_token: L_BRACK@39..40 "[" [] [],
member: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@40..41 "g" [] [],
},
},
r_brack_token: R_BRACK@41..43 "]" [] [Whitespace(" ")],
},
operator_token: EQ@43..45 "=" [] [Whitespace(" ")],
right: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@45..46 "h" [] [],
},
},
},
semicolon_token: SEMICOLON@46..47 ";" [] [],
},
JsExpressionStatement {
expression: JsAssignmentExpression {
left: JsComputedMemberAssignment {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@47..54 "using" [Newline("\n")] [Whitespace(" ")],
},
},
l_brack_token: L_BRACK@54..55 "[" [] [],
member: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@55..56 "j" [] [],
},
},
r_brack_token: R_BRACK@56..57 "]" [] [],
},
operator_token: EQ@57..60 "=" [Newline("\n")] [Whitespace(" ")],
right: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@60..61 "k" [] [],
},
},
},
semicolon_token: SEMICOLON@61..62 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: AWAIT_KW@62..69 "await" [Newline("\n")] [Whitespace(" ")],
kind: USING_KW@69..75 "using" [] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@75..77 "l" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@77..79 "=" [] [Whitespace(" ")],
expression: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@79..80 "m" [] [],
},
},
},
},
],
},
semicolon_token: SEMICOLON@80..81 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: AWAIT_KW@81..87 "await" [Newline("\n")] [],
kind: USING_KW@87..94 "using" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@94..96 "p" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@96..98 "=" [] [Whitespace(" ")],
expression: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@98..99 "q" [] [],
},
},
},
},
],
},
semicolon_token: SEMICOLON@99..100 ";" [] [],
},
JsExpressionStatement {
expression: JsAwaitExpression {
await_token: AWAIT_KW@100..107 "await" [Newline("\n")] [Whitespace(" ")],
argument: JsComputedMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@107..112 "using" [] [],
},
},
optional_chain_token: missing (optional),
l_brack_token: L_BRACK@112..113 "[" [] [],
member: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@113..114 "r" [] [],
},
},
r_brack_token: R_BRACK@114..115 "]" [] [],
},
},
semicolon_token: SEMICOLON@115..116 ";" [] [],
},
JsExpressionStatement {
expression: JsAwaitExpression {
await_token: AWAIT_KW@116..123 "await" [Newline("\n")] [Whitespace(" ")],
argument: JsCallExpression {
callee: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@123..129 "using" [] [Whitespace(" ")],
},
},
optional_chain_token: missing (optional),
type_arguments: missing (optional),
arguments: JsCallArguments {
l_paren_token: L_PAREN@129..130 "(" [] [],
args: JsCallArgumentList [
JsAssignmentExpression {
left: JsArrayAssignmentPattern {
l_brack_token: L_BRACK@130..131 "[" [] [],
elements: JsArrayAssignmentPatternElementList [
JsArrayAssignmentPatternElement {
pattern: JsIdentifierAssignment {
name_token: IDENT@131..132 "s" [] [],
},
init: missing (optional),
},
],
r_brack_token: R_BRACK@132..134 "]" [] [Whitespace(" ")],
},
operator_token: EQ@134..136 "=" [] [Whitespace(" ")],
right: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@136..137 "t" [] [],
},
},
},
],
r_paren_token: R_PAREN@137..138 ")" [] [],
},
},
},
semicolon_token: SEMICOLON@138..139 ";" [] [],
},
JsExpressionStatement {
expression: JsAwaitExpression {
await_token: AWAIT_KW@139..146 "await" [Newline("\n")] [Whitespace(" ")],
argument: JsParenthesizedExpression {
l_paren_token: L_PAREN@146..147 "(" [] [],
expression: JsAssignmentExpression {
left: JsComputedMemberAssignment {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@147..153 "using" [] [Whitespace(" ")],
},
},
l_brack_token: L_BRACK@153..154 "[" [] [],
member: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@154..155 "u" [] [],
},
},
r_brack_token: R_BRACK@155..157 "]" [] [Whitespace(" ")],
},
operator_token: EQ@157..159 "=" [] [Whitespace(" ")],
right: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@159..160 "v" [] [],
},
},
},
r_paren_token: R_PAREN@160..161 ")" [] [],
},
},
semicolon_token: SEMICOLON@161..162 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: USING_KW@162..169 "using" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@169..171 "w" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@171..173 "=" [] [Whitespace(" ")],
expression: JsObjectExpression {
l_curly_token: L_CURLY@173..174 "{" [] [],
members: JsObjectMemberList [],
r_curly_token: R_CURLY@174..175 "}" [] [],
},
},
},
],
},
semicolon_token: SEMICOLON@175..176 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: USING_KW@176..183 "using" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@183..185 "x" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@185..187 "=" [] [Whitespace(" ")],
expression: JsNullLiteralExpression {
value_token: NULL_KW@187..191 "null" [] [],
},
},
},
],
},
semicolon_token: SEMICOLON@191..192 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: USING_KW@192..199 "using" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@199..201 "y" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@201..203 "=" [] [Whitespace(" ")],
expression: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@203..212 "undefined" [] [],
},
},
},
},
],
},
semicolon_token: SEMICOLON@212..213 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: USING_KW@213..220 "using" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@220..222 "z" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@222..224 "=" [] [Whitespace(" ")],
expression: JsParenthesizedExpression {
l_paren_token: L_PAREN@224..225 "(" [] [],
expression: JsSequenceExpression {
left: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@225..228 "foo" [] [],
},
},
comma_token: COMMA@228..230 "," [] [Whitespace(" ")],
right: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@230..233 "bar" [] [],
},
},
},
r_paren_token: R_PAREN@233..234 ")" [] [],
},
},
},
],
},
semicolon_token: SEMICOLON@234..235 ";" [] [],
},
],
eof_token: EOF@235..236 "" [Newline("\n")] [],
}
0: JS_MODULE@0..236
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..235
0: JS_VARIABLE_STATEMENT@0..12
0: JS_VARIABLE_DECLARATION@0..11
0: (empty)
1: USING_KW@0..6 "using" [] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@6..11
0: JS_VARIABLE_DECLARATOR@6..11
0: JS_IDENTIFIER_BINDING@6..8
0: IDENT@6..8 "a" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@8..11
0: EQ@8..10 "=" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@10..11
0: JS_REFERENCE_IDENTIFIER@10..11
0: IDENT@10..11 "b" [] []
1: SEMICOLON@11..12 ";" [] []
1: JS_VARIABLE_STATEMENT@12..32
0: JS_VARIABLE_DECLARATION@12..31
0: (empty)
1: USING_KW@12..19 "using" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@19..31
0: JS_VARIABLE_DECLARATOR@19..24
0: JS_IDENTIFIER_BINDING@19..21
0: IDENT@19..21 "c" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@21..24
0: EQ@21..23 "=" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@23..24
0: JS_REFERENCE_IDENTIFIER@23..24
0: IDENT@23..24 "d" [] []
1: COMMA@24..26 "," [] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR@26..31
0: JS_IDENTIFIER_BINDING@26..28
0: IDENT@26..28 "e" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@28..31
0: EQ@28..30 "=" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@30..31
0: JS_REFERENCE_IDENTIFIER@30..31
0: IDENT@30..31 "_" [] []
1: SEMICOLON@31..32 ";" [] []
2: JS_EXPRESSION_STATEMENT@32..47
0: JS_ASSIGNMENT_EXPRESSION@32..46
0: JS_COMPUTED_MEMBER_ASSIGNMENT@32..43
0: JS_IDENTIFIER_EXPRESSION@32..39
0: JS_REFERENCE_IDENTIFIER@32..39
0: IDENT@32..39 "using" [Newline("\n")] [Whitespace(" ")]
1: L_BRACK@39..40 "[" [] []
2: JS_IDENTIFIER_EXPRESSION@40..41
0: JS_REFERENCE_IDENTIFIER@40..41
0: IDENT@40..41 "g" [] []
3: R_BRACK@41..43 "]" [] [Whitespace(" ")]
1: EQ@43..45 "=" [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@45..46
0: JS_REFERENCE_IDENTIFIER@45..46
0: IDENT@45..46 "h" [] []
1: SEMICOLON@46..47 ";" [] []
3: JS_EXPRESSION_STATEMENT@47..62
0: JS_ASSIGNMENT_EXPRESSION@47..61
0: JS_COMPUTED_MEMBER_ASSIGNMENT@47..57
0: JS_IDENTIFIER_EXPRESSION@47..54
0: JS_REFERENCE_IDENTIFIER@47..54
0: IDENT@47..54 "using" [Newline("\n")] [Whitespace(" ")]
1: L_BRACK@54..55 "[" [] []
2: JS_IDENTIFIER_EXPRESSION@55..56
0: JS_REFERENCE_IDENTIFIER@55..56
0: IDENT@55..56 "j" [] []
3: R_BRACK@56..57 "]" [] []
1: EQ@57..60 "=" [Newline("\n")] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@60..61
0: JS_REFERENCE_IDENTIFIER@60..61
0: IDENT@60..61 "k" [] []
1: SEMICOLON@61..62 ";" [] []
4: JS_VARIABLE_STATEMENT@62..81
0: JS_VARIABLE_DECLARATION@62..80
0: AWAIT_KW@62..69 "await" [Newline("\n")] [Whitespace(" ")]
1: USING_KW@69..75 "using" [] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@75..80
0: JS_VARIABLE_DECLARATOR@75..80
0: JS_IDENTIFIER_BINDING@75..77
0: IDENT@75..77 "l" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@77..80
0: EQ@77..79 "=" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@79..80
0: JS_REFERENCE_IDENTIFIER@79..80
0: IDENT@79..80 "m" [] []
1: SEMICOLON@80..81 ";" [] []
5: JS_VARIABLE_STATEMENT@81..100
0: JS_VARIABLE_DECLARATION@81..99
0: AWAIT_KW@81..87 "await" [Newline("\n")] []
1: USING_KW@87..94 "using" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@94..99
0: JS_VARIABLE_DECLARATOR@94..99
0: JS_IDENTIFIER_BINDING@94..96
0: IDENT@94..96 "p" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@96..99
0: EQ@96..98 "=" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@98..99
0: JS_REFERENCE_IDENTIFIER@98..99
0: IDENT@98..99 "q" [] []
1: SEMICOLON@99..100 ";" [] []
6: JS_EXPRESSION_STATEMENT@100..116
0: JS_AWAIT_EXPRESSION@100..115
0: AWAIT_KW@100..107 "await" [Newline("\n")] [Whitespace(" ")]
1: JS_COMPUTED_MEMBER_EXPRESSION@107..115
0: JS_IDENTIFIER_EXPRESSION@107..112
0: JS_REFERENCE_IDENTIFIER@107..112
0: IDENT@107..112 "using" [] []
1: (empty)
2: L_BRACK@112..113 "[" [] []
3: JS_IDENTIFIER_EXPRESSION@113..114
0: JS_REFERENCE_IDENTIFIER@113..114
0: IDENT@113..114 "r" [] []
4: R_BRACK@114..115 "]" [] []
1: SEMICOLON@115..116 ";" [] []
7: JS_EXPRESSION_STATEMENT@116..139
0: JS_AWAIT_EXPRESSION@116..138
0: AWAIT_KW@116..123 "await" [Newline("\n")] [Whitespace(" ")]
1: JS_CALL_EXPRESSION@123..138
0: JS_IDENTIFIER_EXPRESSION@123..129
0: JS_REFERENCE_IDENTIFIER@123..129
0: IDENT@123..129 "using" [] [Whitespace(" ")]
1: (empty)
2: (empty)
3: JS_CALL_ARGUMENTS@129..138
0: L_PAREN@129..130 "(" [] []
1: JS_CALL_ARGUMENT_LIST@130..137
0: JS_ASSIGNMENT_EXPRESSION@130..137
0: JS_ARRAY_ASSIGNMENT_PATTERN@130..134
0: L_BRACK@130..131 "[" [] []
1: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT_LIST@131..132
0: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@131..132
0: JS_IDENTIFIER_ASSIGNMENT@131..132
0: IDENT@131..132 "s" [] []
1: (empty)
2: R_BRACK@132..134 "]" [] [Whitespace(" ")]
1: EQ@134..136 "=" [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@136..137
0: JS_REFERENCE_IDENTIFIER@136..137
0: IDENT@136..137 "t" [] []
2: R_PAREN@137..138 ")" [] []
1: SEMICOLON@138..139 ";" [] []
8: JS_EXPRESSION_STATEMENT@139..162
0: JS_AWAIT_EXPRESSION@139..161
0: AWAIT_KW@139..146 "await" [Newline("\n")] [Whitespace(" ")]
1: JS_PARENTHESIZED_EXPRESSION@146..161
0: L_PAREN@146..147 "(" [] []
1: JS_ASSIGNMENT_EXPRESSION@147..160
0: JS_COMPUTED_MEMBER_ASSIGNMENT@147..157
0: JS_IDENTIFIER_EXPRESSION@147..153
0: JS_REFERENCE_IDENTIFIER@147..153
0: IDENT@147..153 "using" [] [Whitespace(" ")]
1: L_BRACK@153..154 "[" [] []
2: JS_IDENTIFIER_EXPRESSION@154..155
0: JS_REFERENCE_IDENTIFIER@154..155
0: IDENT@154..155 "u" [] []
3: R_BRACK@155..157 "]" [] [Whitespace(" ")]
1: EQ@157..159 "=" [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@159..160
0: JS_REFERENCE_IDENTIFIER@159..160
0: IDENT@159..160 "v" [] []
2: R_PAREN@160..161 ")" [] []
1: SEMICOLON@161..162 ";" [] []
9: JS_VARIABLE_STATEMENT@162..176
0: JS_VARIABLE_DECLARATION@162..175
0: (empty)
1: USING_KW@162..169 "using" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@169..175
0: JS_VARIABLE_DECLARATOR@169..175
0: JS_IDENTIFIER_BINDING@169..171
0: IDENT@169..171 "w" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@171..175
0: EQ@171..173 "=" [] [Whitespace(" ")]
1: JS_OBJECT_EXPRESSION@173..175
0: L_CURLY@173..174 "{" [] []
1: JS_OBJECT_MEMBER_LIST@174..174
2: R_CURLY@174..175 "}" [] []
1: SEMICOLON@175..176 ";" [] []
10: JS_VARIABLE_STATEMENT@176..192
0: JS_VARIABLE_DECLARATION@176..191
0: (empty)
1: USING_KW@176..183 "using" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@183..191
0: JS_VARIABLE_DECLARATOR@183..191
0: JS_IDENTIFIER_BINDING@183..185
0: IDENT@183..185 "x" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@185..191
0: EQ@185..187 "=" [] [Whitespace(" ")]
1: JS_NULL_LITERAL_EXPRESSION@187..191
0: NULL_KW@187..191 "null" [] []
1: SEMICOLON@191..192 ";" [] []
11: JS_VARIABLE_STATEMENT@192..213
0: JS_VARIABLE_DECLARATION@192..212
0: (empty)
1: USING_KW@192..199 "using" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@199..212
0: JS_VARIABLE_DECLARATOR@199..212
0: JS_IDENTIFIER_BINDING@199..201
0: IDENT@199..201 "y" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@201..212
0: EQ@201..203 "=" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@203..212
0: JS_REFERENCE_IDENTIFIER@203..212
0: IDENT@203..212 "undefined" [] []
1: SEMICOLON@212..213 ";" [] []
12: JS_VARIABLE_STATEMENT@213..235
0: JS_VARIABLE_DECLARATION@213..234
0: (empty)
1: USING_KW@213..220 "using" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@220..234
0: JS_VARIABLE_DECLARATOR@220..234
0: JS_IDENTIFIER_BINDING@220..222
0: IDENT@220..222 "z" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@222..234
0: EQ@222..224 "=" [] [Whitespace(" ")]
1: JS_PARENTHESIZED_EXPRESSION@224..234
0: L_PAREN@224..225 "(" [] []
1: JS_SEQUENCE_EXPRESSION@225..233
0: JS_IDENTIFIER_EXPRESSION@225..228
0: JS_REFERENCE_IDENTIFIER@225..228
0: IDENT@225..228 "foo" [] []
1: COMMA@228..230 "," [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@230..233
0: JS_REFERENCE_IDENTIFIER@230..233
0: IDENT@230..233 "bar" [] []
2: R_PAREN@233..234 ")" [] []
1: SEMICOLON@234..235 ";" [] []
4: EOF@235..236 "" [Newline("\n")] []