JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
JsExpressionStatement {
expression: JsAssignmentExpression {
left: JsArrayAssignmentPattern {
l_brack_token: L_BRACK@0..1 "[" [] [],
elements: JsArrayAssignmentPatternElementList [
JsArrayAssignmentPatternElement {
pattern: JsIdentifierAssignment {
name_token: IDENT@1..4 "foo" [] [],
},
init: missing (optional),
},
COMMA@4..6 "," [] [Whitespace(" ")],
JsArrayAssignmentPatternElement {
pattern: JsIdentifierAssignment {
name_token: IDENT@6..9 "bar" [] [],
},
init: missing (optional),
},
],
r_brack_token: R_BRACK@9..11 "]" [] [Whitespace(" ")],
},
operator_token: EQ@11..13 "=" [] [Whitespace(" ")],
right: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@13..16 "baz" [] [],
},
},
},
semicolon_token: SEMICOLON@16..17 ";" [] [],
},
JsExpressionStatement {
expression: JsAssignmentExpression {
left: JsArrayAssignmentPattern {
l_brack_token: L_BRACK@17..19 "[" [Newline("\n")] [],
elements: JsArrayAssignmentPatternElementList [
JsArrayHole,
COMMA@19..20 "," [] [],
JsArrayHole,
COMMA@20..21 "," [] [],
JsArrayHole,
COMMA@21..22 "," [] [],
JsArrayAssignmentPatternElement {
pattern: JsIdentifierAssignment {
name_token: IDENT@22..23 "b" [] [],
},
init: missing (optional),
},
COMMA@23..24 "," [] [],
JsArrayHole,
COMMA@24..25 "," [] [],
JsArrayAssignmentPatternElement {
pattern: JsIdentifierAssignment {
name_token: IDENT@25..26 "c" [] [],
},
init: missing (optional),
},
COMMA@26..27 "," [] [],
],
r_brack_token: R_BRACK@27..29 "]" [] [Whitespace(" ")],
},
operator_token: EQ@29..31 "=" [] [Whitespace(" ")],
right: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@31..34 "baz" [] [],
},
},
},
semicolon_token: SEMICOLON@34..35 ";" [] [],
},
JsExpressionStatement {
expression: JsAssignmentExpression {
left: JsArrayAssignmentPattern {
l_brack_token: L_BRACK@35..37 "[" [Newline("\n")] [],
elements: JsArrayAssignmentPatternElementList [
JsArrayAssignmentPatternElement {
pattern: JsIdentifierAssignment {
name_token: IDENT@37..39 "a" [] [Whitespace(" ")],
},
init: JsInitializerClause {
eq_token: EQ@39..41 "=" [] [Whitespace(" ")],
expression: JsStringLiteralExpression {
value_token: JS_STRING_LITERAL@41..47 "\"test\"" [] [],
},
},
},
COMMA@47..49 "," [] [Whitespace(" ")],
JsArrayAssignmentPatternElement {
pattern: JsStaticMemberAssignment {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@49..50 "a" [] [],
},
},
dot_token: DOT@50..51 "." [] [],
member: JsName {
value_token: IDENT@51..52 "b" [] [],
},
},
init: missing (optional),
},
COMMA@52..54 "," [] [Whitespace(" ")],
JsArrayAssignmentPatternElement {
pattern: JsStaticMemberAssignment {
object: JsCallExpression {
callee: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@54..58 "call" [] [],
},
},
optional_chain_token: missing (optional),
type_arguments: missing (optional),
arguments: JsCallArguments {
l_paren_token: L_PAREN@58..59 "(" [] [],
args: JsCallArgumentList [],
r_paren_token: R_PAREN@59..60 ")" [] [],
},
},
dot_token: DOT@60..61 "." [] [],
member: JsName {
value_token: IDENT@61..62 "b" [] [],
},
},
init: missing (optional),
},
],
r_brack_token: R_BRACK@62..64 "]" [] [Whitespace(" ")],
},
operator_token: EQ@64..66 "=" [] [Whitespace(" ")],
right: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@66..69 "baz" [] [],
},
},
},
semicolon_token: SEMICOLON@69..70 ";" [] [],
},
JsExpressionStatement {
expression: JsAssignmentExpression {
left: JsArrayAssignmentPattern {
l_brack_token: L_BRACK@70..72 "[" [Newline("\n")] [],
elements: JsArrayAssignmentPatternElementList [
JsArrayAssignmentPatternElement {
pattern: JsParenthesizedAssignment {
l_paren_token: L_PAREN@72..73 "(" [] [],
assignment: JsParenthesizedAssignment {
l_paren_token: L_PAREN@73..74 "(" [] [],
assignment: JsIdentifierAssignment {
name_token: IDENT@74..75 "a" [] [],
},
r_paren_token: R_PAREN@75..76 ")" [] [],
},
r_paren_token: R_PAREN@76..77 ")" [] [],
},
init: missing (optional),
},
],
r_brack_token: R_BRACK@77..79 "]" [] [Whitespace(" ")],
},
operator_token: EQ@79..81 "=" [] [Whitespace(" ")],
right: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@81..84 "baz" [] [],
},
},
},
semicolon_token: SEMICOLON@84..85 ";" [] [],
},
],
eof_token: EOF@85..86 "" [Newline("\n")] [],
}
0: JS_MODULE@0..86
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..85
0: JS_EXPRESSION_STATEMENT@0..17
0: JS_ASSIGNMENT_EXPRESSION@0..16
0: JS_ARRAY_ASSIGNMENT_PATTERN@0..11
0: L_BRACK@0..1 "[" [] []
1: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT_LIST@1..9
0: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@1..4
0: JS_IDENTIFIER_ASSIGNMENT@1..4
0: IDENT@1..4 "foo" [] []
1: (empty)
1: COMMA@4..6 "," [] [Whitespace(" ")]
2: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@6..9
0: JS_IDENTIFIER_ASSIGNMENT@6..9
0: IDENT@6..9 "bar" [] []
1: (empty)
2: R_BRACK@9..11 "]" [] [Whitespace(" ")]
1: EQ@11..13 "=" [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@13..16
0: JS_REFERENCE_IDENTIFIER@13..16
0: IDENT@13..16 "baz" [] []
1: SEMICOLON@16..17 ";" [] []
1: JS_EXPRESSION_STATEMENT@17..35
0: JS_ASSIGNMENT_EXPRESSION@17..34
0: JS_ARRAY_ASSIGNMENT_PATTERN@17..29
0: L_BRACK@17..19 "[" [Newline("\n")] []
1: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT_LIST@19..27
0: JS_ARRAY_HOLE@19..19
1: COMMA@19..20 "," [] []
2: JS_ARRAY_HOLE@20..20
3: COMMA@20..21 "," [] []
4: JS_ARRAY_HOLE@21..21
5: COMMA@21..22 "," [] []
6: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@22..23
0: JS_IDENTIFIER_ASSIGNMENT@22..23
0: IDENT@22..23 "b" [] []
1: (empty)
7: COMMA@23..24 "," [] []
8: JS_ARRAY_HOLE@24..24
9: COMMA@24..25 "," [] []
10: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@25..26
0: JS_IDENTIFIER_ASSIGNMENT@25..26
0: IDENT@25..26 "c" [] []
1: (empty)
11: COMMA@26..27 "," [] []
2: R_BRACK@27..29 "]" [] [Whitespace(" ")]
1: EQ@29..31 "=" [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@31..34
0: JS_REFERENCE_IDENTIFIER@31..34
0: IDENT@31..34 "baz" [] []
1: SEMICOLON@34..35 ";" [] []
2: JS_EXPRESSION_STATEMENT@35..70
0: JS_ASSIGNMENT_EXPRESSION@35..69
0: JS_ARRAY_ASSIGNMENT_PATTERN@35..64
0: L_BRACK@35..37 "[" [Newline("\n")] []
1: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT_LIST@37..62
0: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@37..47
0: JS_IDENTIFIER_ASSIGNMENT@37..39
0: IDENT@37..39 "a" [] [Whitespace(" ")]
1: JS_INITIALIZER_CLAUSE@39..47
0: EQ@39..41 "=" [] [Whitespace(" ")]
1: JS_STRING_LITERAL_EXPRESSION@41..47
0: JS_STRING_LITERAL@41..47 "\"test\"" [] []
1: COMMA@47..49 "," [] [Whitespace(" ")]
2: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@49..52
0: JS_STATIC_MEMBER_ASSIGNMENT@49..52
0: JS_IDENTIFIER_EXPRESSION@49..50
0: JS_REFERENCE_IDENTIFIER@49..50
0: IDENT@49..50 "a" [] []
1: DOT@50..51 "." [] []
2: JS_NAME@51..52
0: IDENT@51..52 "b" [] []
1: (empty)
3: COMMA@52..54 "," [] [Whitespace(" ")]
4: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@54..62
0: JS_STATIC_MEMBER_ASSIGNMENT@54..62
0: JS_CALL_EXPRESSION@54..60
0: JS_IDENTIFIER_EXPRESSION@54..58
0: JS_REFERENCE_IDENTIFIER@54..58
0: IDENT@54..58 "call" [] []
1: (empty)
2: (empty)
3: JS_CALL_ARGUMENTS@58..60
0: L_PAREN@58..59 "(" [] []
1: JS_CALL_ARGUMENT_LIST@59..59
2: R_PAREN@59..60 ")" [] []
1: DOT@60..61 "." [] []
2: JS_NAME@61..62
0: IDENT@61..62 "b" [] []
1: (empty)
2: R_BRACK@62..64 "]" [] [Whitespace(" ")]
1: EQ@64..66 "=" [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@66..69
0: JS_REFERENCE_IDENTIFIER@66..69
0: IDENT@66..69 "baz" [] []
1: SEMICOLON@69..70 ";" [] []
3: JS_EXPRESSION_STATEMENT@70..85
0: JS_ASSIGNMENT_EXPRESSION@70..84
0: JS_ARRAY_ASSIGNMENT_PATTERN@70..79
0: L_BRACK@70..72 "[" [Newline("\n")] []
1: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT_LIST@72..77
0: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@72..77
0: JS_PARENTHESIZED_ASSIGNMENT@72..77
0: L_PAREN@72..73 "(" [] []
1: JS_PARENTHESIZED_ASSIGNMENT@73..76
0: L_PAREN@73..74 "(" [] []
1: JS_IDENTIFIER_ASSIGNMENT@74..75
0: IDENT@74..75 "a" [] []
2: R_PAREN@75..76 ")" [] []
2: R_PAREN@76..77 ")" [] []
1: (empty)
2: R_BRACK@77..79 "]" [] [Whitespace(" ")]
1: EQ@79..81 "=" [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@81..84
0: JS_REFERENCE_IDENTIFIER@81..84
0: IDENT@81..84 "baz" [] []
1: SEMICOLON@84..85 ";" [] []
4: EOF@85..86 "" [Newline("\n")] []