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: JsArrayBindingPattern {
l_brack_token: L_BRACK@4..6 "[" [] [Whitespace(" ")],
elements: JsArrayBindingPatternElementList [
JsArrayBindingPatternRestElement {
dotdotdot_token: DOT3@6..9 "..." [] [],
pattern: JsIdentifierBinding {
name_token: IDENT@9..14 "abcd" [] [Whitespace(" ")],
},
},
],
r_brack_token: R_BRACK@14..16 "]" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@16..18 "=" [] [Whitespace(" ")],
expression: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@18..19 "a" [] [],
},
},
},
},
],
},
semicolon_token: SEMICOLON@19..20 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: LET_KW@20..25 "let" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsArrayBindingPattern {
l_brack_token: L_BRACK@25..27 "[" [] [Whitespace(" ")],
elements: JsArrayBindingPatternElementList [
JsArrayBindingPatternRestElement {
dotdotdot_token: DOT3@27..30 "..." [] [],
pattern: JsArrayBindingPattern {
l_brack_token: L_BRACK@30..31 "[" [] [],
elements: JsArrayBindingPatternElementList [
JsArrayBindingPatternElement {
pattern: JsIdentifierBinding {
name_token: IDENT@31..32 "x" [] [],
},
init: missing (optional),
},
COMMA@32..34 "," [] [Whitespace(" ")],
JsArrayBindingPatternElement {
pattern: JsIdentifierBinding {
name_token: IDENT@34..35 "y" [] [],
},
init: missing (optional),
},
],
r_brack_token: R_BRACK@35..37 "]" [] [Whitespace(" ")],
},
},
],
r_brack_token: R_BRACK@37..39 "]" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@39..41 "=" [] [Whitespace(" ")],
expression: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@41..42 "b" [] [],
},
},
},
},
],
},
semicolon_token: SEMICOLON@42..43 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: LET_KW@43..48 "let" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsArrayBindingPattern {
l_brack_token: L_BRACK@48..50 "[" [] [Whitespace(" ")],
elements: JsArrayBindingPatternElementList [
JsArrayBindingPatternRestElement {
dotdotdot_token: DOT3@50..53 "..." [] [],
pattern: JsArrayBindingPattern {
l_brack_token: L_BRACK@53..55 "[" [] [Whitespace(" ")],
elements: JsArrayBindingPatternElementList [
JsArrayBindingPatternRestElement {
dotdotdot_token: DOT3@55..58 "..." [] [],
pattern: JsIdentifierBinding {
name_token: IDENT@58..60 "a" [] [Whitespace(" ")],
},
},
],
r_brack_token: R_BRACK@60..62 "]" [] [Whitespace(" ")],
},
},
],
r_brack_token: R_BRACK@62..64 "]" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@64..66 "=" [] [Whitespace(" ")],
expression: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@66..67 "c" [] [],
},
},
},
},
],
},
semicolon_token: SEMICOLON@67..68 ";" [] [],
},
],
eof_token: EOF@68..69 "" [Newline("\n")] [],
}
0: JS_MODULE@0..69
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..68
0: JS_VARIABLE_STATEMENT@0..20
0: JS_VARIABLE_DECLARATION@0..19
0: (empty)
1: LET_KW@0..4 "let" [] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@4..19
0: JS_VARIABLE_DECLARATOR@4..19
0: JS_ARRAY_BINDING_PATTERN@4..16
0: L_BRACK@4..6 "[" [] [Whitespace(" ")]
1: JS_ARRAY_BINDING_PATTERN_ELEMENT_LIST@6..14
0: JS_ARRAY_BINDING_PATTERN_REST_ELEMENT@6..14
0: DOT3@6..9 "..." [] []
1: JS_IDENTIFIER_BINDING@9..14
0: IDENT@9..14 "abcd" [] [Whitespace(" ")]
2: R_BRACK@14..16 "]" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@16..19
0: EQ@16..18 "=" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@18..19
0: JS_REFERENCE_IDENTIFIER@18..19
0: IDENT@18..19 "a" [] []
1: SEMICOLON@19..20 ";" [] []
1: JS_VARIABLE_STATEMENT@20..43
0: JS_VARIABLE_DECLARATION@20..42
0: (empty)
1: LET_KW@20..25 "let" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@25..42
0: JS_VARIABLE_DECLARATOR@25..42
0: JS_ARRAY_BINDING_PATTERN@25..39
0: L_BRACK@25..27 "[" [] [Whitespace(" ")]
1: JS_ARRAY_BINDING_PATTERN_ELEMENT_LIST@27..37
0: JS_ARRAY_BINDING_PATTERN_REST_ELEMENT@27..37
0: DOT3@27..30 "..." [] []
1: JS_ARRAY_BINDING_PATTERN@30..37
0: L_BRACK@30..31 "[" [] []
1: JS_ARRAY_BINDING_PATTERN_ELEMENT_LIST@31..35
0: JS_ARRAY_BINDING_PATTERN_ELEMENT@31..32
0: JS_IDENTIFIER_BINDING@31..32
0: IDENT@31..32 "x" [] []
1: (empty)
1: COMMA@32..34 "," [] [Whitespace(" ")]
2: JS_ARRAY_BINDING_PATTERN_ELEMENT@34..35
0: JS_IDENTIFIER_BINDING@34..35
0: IDENT@34..35 "y" [] []
1: (empty)
2: R_BRACK@35..37 "]" [] [Whitespace(" ")]
2: R_BRACK@37..39 "]" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@39..42
0: EQ@39..41 "=" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@41..42
0: JS_REFERENCE_IDENTIFIER@41..42
0: IDENT@41..42 "b" [] []
1: SEMICOLON@42..43 ";" [] []
2: JS_VARIABLE_STATEMENT@43..68
0: JS_VARIABLE_DECLARATION@43..67
0: (empty)
1: LET_KW@43..48 "let" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@48..67
0: JS_VARIABLE_DECLARATOR@48..67
0: JS_ARRAY_BINDING_PATTERN@48..64
0: L_BRACK@48..50 "[" [] [Whitespace(" ")]
1: JS_ARRAY_BINDING_PATTERN_ELEMENT_LIST@50..62
0: JS_ARRAY_BINDING_PATTERN_REST_ELEMENT@50..62
0: DOT3@50..53 "..." [] []
1: JS_ARRAY_BINDING_PATTERN@53..62
0: L_BRACK@53..55 "[" [] [Whitespace(" ")]
1: JS_ARRAY_BINDING_PATTERN_ELEMENT_LIST@55..60
0: JS_ARRAY_BINDING_PATTERN_REST_ELEMENT@55..60
0: DOT3@55..58 "..." [] []
1: JS_IDENTIFIER_BINDING@58..60
0: IDENT@58..60 "a" [] [Whitespace(" ")]
2: R_BRACK@60..62 "]" [] [Whitespace(" ")]
2: R_BRACK@62..64 "]" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@64..67
0: EQ@64..66 "=" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@66..67
0: JS_REFERENCE_IDENTIFIER@66..67
0: IDENT@66..67 "c" [] []
1: SEMICOLON@67..68 ";" [] []
4: EOF@68..69 "" [Newline("\n")] []