1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
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 [
JsPropertyObjectMember {
name: JsLiteralMemberName {
value: JS_STRING_LITERAL@9..14 "\"foo\"" [] [],
},
colon_token: COLON@14..16 ":" [] [Whitespace(" ")],
value: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@16..19 "foo" [] [],
},
},
},
COMMA@19..21 "," [] [Whitespace(" ")],
JsPropertyObjectMember {
name: JsComputedMemberName {
l_brack_token: L_BRACK@21..22 "[" [] [],
expression: JsBinaryExpression {
left: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@22..24 "6" [] [Whitespace(" ")],
},
operator_token: PLUS@24..26 "+" [] [Whitespace(" ")],
right: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@26..27 "6" [] [],
},
},
r_brack_token: R_BRACK@27..28 "]" [] [],
},
colon_token: COLON@28..30 ":" [] [Whitespace(" ")],
value: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@30..33 "foo" [] [],
},
},
},
COMMA@33..35 "," [] [Whitespace(" ")],
JsPropertyObjectMember {
name: JsLiteralMemberName {
value: IDENT@35..38 "bar" [] [],
},
colon_token: COLON@38..40 ":" [] [Whitespace(" ")],
value: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@40..43 "foo" [] [],
},
},
},
COMMA@43..45 "," [] [Whitespace(" ")],
JsPropertyObjectMember {
name: JsLiteralMemberName {
value: JS_NUMBER_LITERAL@45..46 "7" [] [],
},
colon_token: COLON@46..48 ":" [] [Whitespace(" ")],
value: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@48..51 "foo" [] [],
},
},
},
],
r_curly_token: R_CURLY@51..52 "}" [] [],
},
},
},
],
},
semicolon_token: missing (optional),
},
],
eof_token: EOF@52..53 "" [Newline("\n")] [],
}
0: JS_MODULE@0..53
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..52
0: JS_VARIABLE_STATEMENT@0..52
0: JS_VARIABLE_DECLARATION@0..52
0: (empty)
1: LET_KW@0..4 "let" [] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@4..52
0: JS_VARIABLE_DECLARATOR@4..52
0: JS_IDENTIFIER_BINDING@4..6
0: IDENT@4..6 "a" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@6..52
0: EQ@6..8 "=" [] [Whitespace(" ")]
1: JS_OBJECT_EXPRESSION@8..52
0: L_CURLY@8..9 "{" [] []
1: JS_OBJECT_MEMBER_LIST@9..51
0: JS_PROPERTY_OBJECT_MEMBER@9..19
0: JS_LITERAL_MEMBER_NAME@9..14
0: JS_STRING_LITERAL@9..14 "\"foo\"" [] []
1: COLON@14..16 ":" [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@16..19
0: JS_REFERENCE_IDENTIFIER@16..19
0: IDENT@16..19 "foo" [] []
1: COMMA@19..21 "," [] [Whitespace(" ")]
2: JS_PROPERTY_OBJECT_MEMBER@21..33
0: JS_COMPUTED_MEMBER_NAME@21..28
0: L_BRACK@21..22 "[" [] []
1: JS_BINARY_EXPRESSION@22..27
0: JS_NUMBER_LITERAL_EXPRESSION@22..24
0: JS_NUMBER_LITERAL@22..24 "6" [] [Whitespace(" ")]
1: PLUS@24..26 "+" [] [Whitespace(" ")]
2: JS_NUMBER_LITERAL_EXPRESSION@26..27
0: JS_NUMBER_LITERAL@26..27 "6" [] []
2: R_BRACK@27..28 "]" [] []
1: COLON@28..30 ":" [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@30..33
0: JS_REFERENCE_IDENTIFIER@30..33
0: IDENT@30..33 "foo" [] []
3: COMMA@33..35 "," [] [Whitespace(" ")]
4: JS_PROPERTY_OBJECT_MEMBER@35..43
0: JS_LITERAL_MEMBER_NAME@35..38
0: IDENT@35..38 "bar" [] []
1: COLON@38..40 ":" [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@40..43
0: JS_REFERENCE_IDENTIFIER@40..43
0: IDENT@40..43 "foo" [] []
5: COMMA@43..45 "," [] [Whitespace(" ")]
6: JS_PROPERTY_OBJECT_MEMBER@45..51
0: JS_LITERAL_MEMBER_NAME@45..46
0: JS_NUMBER_LITERAL@45..46 "7" [] []
1: COLON@46..48 ":" [] [Whitespace(" ")]
2: JS_IDENTIFIER_EXPRESSION@48..51
0: JS_REFERENCE_IDENTIFIER@48..51
0: IDENT@48..51 "foo" [] []
2: R_CURLY@51..52 "}" [] []
1: (empty)
4: EOF@52..53 "" [Newline("\n")] []