JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
JsExpressionStatement {
expression: JsComputedMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@0..3 "foo" [] [],
},
},
optional_chain_token: missing (optional),
l_brack_token: L_BRACK@3..4 "[" [] [],
member: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@4..7 "bar" [] [],
},
},
r_brack_token: R_BRACK@7..8 "]" [] [],
},
semicolon_token: missing (optional),
},
JsExpressionStatement {
expression: JsComputedMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@8..12 "foo" [Newline("\n")] [],
},
},
optional_chain_token: missing (optional),
l_brack_token: L_BRACK@12..13 "[" [] [],
member: JsBinaryExpression {
left: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@13..15 "5" [] [Whitespace(" ")],
},
operator_token: PLUS@15..17 "+" [] [Whitespace(" ")],
right: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@17..18 "5" [] [],
},
},
r_brack_token: R_BRACK@18..19 "]" [] [],
},
semicolon_token: missing (optional),
},
JsExpressionStatement {
expression: JsComputedMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@19..23 "foo" [Newline("\n")] [],
},
},
optional_chain_token: missing (optional),
l_brack_token: L_BRACK@23..24 "[" [] [],
member: JsStringLiteralExpression {
value_token: JS_STRING_LITERAL@24..29 "\"bar\"" [] [],
},
r_brack_token: R_BRACK@29..30 "]" [] [],
},
semicolon_token: missing (optional),
},
JsExpressionStatement {
expression: JsComputedMemberExpression {
object: JsComputedMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@30..34 "foo" [Newline("\n")] [],
},
},
optional_chain_token: missing (optional),
l_brack_token: L_BRACK@34..35 "[" [] [],
member: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@35..38 "bar" [] [],
},
},
r_brack_token: R_BRACK@38..39 "]" [] [],
},
optional_chain_token: missing (optional),
l_brack_token: L_BRACK@39..40 "[" [] [],
member: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@40..43 "baz" [] [],
},
},
r_brack_token: R_BRACK@43..44 "]" [] [],
},
semicolon_token: missing (optional),
},
JsExpressionStatement {
expression: JsComputedMemberExpression {
object: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@44..48 "foo" [Newline("\n")] [],
},
},
optional_chain_token: QUESTIONDOT@48..50 "?." [] [],
l_brack_token: L_BRACK@50..51 "[" [] [],
member: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@51..54 "bar" [] [],
},
},
r_brack_token: R_BRACK@54..55 "]" [] [],
},
semicolon_token: missing (optional),
},
],
eof_token: EOF@55..56 "" [Newline("\n")] [],
}
0: JS_MODULE@0..56
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..55
0: JS_EXPRESSION_STATEMENT@0..8
0: JS_COMPUTED_MEMBER_EXPRESSION@0..8
0: JS_IDENTIFIER_EXPRESSION@0..3
0: JS_REFERENCE_IDENTIFIER@0..3
0: IDENT@0..3 "foo" [] []
1: (empty)
2: L_BRACK@3..4 "[" [] []
3: JS_IDENTIFIER_EXPRESSION@4..7
0: JS_REFERENCE_IDENTIFIER@4..7
0: IDENT@4..7 "bar" [] []
4: R_BRACK@7..8 "]" [] []
1: (empty)
1: JS_EXPRESSION_STATEMENT@8..19
0: JS_COMPUTED_MEMBER_EXPRESSION@8..19
0: JS_IDENTIFIER_EXPRESSION@8..12
0: JS_REFERENCE_IDENTIFIER@8..12
0: IDENT@8..12 "foo" [Newline("\n")] []
1: (empty)
2: L_BRACK@12..13 "[" [] []
3: JS_BINARY_EXPRESSION@13..18
0: JS_NUMBER_LITERAL_EXPRESSION@13..15
0: JS_NUMBER_LITERAL@13..15 "5" [] [Whitespace(" ")]
1: PLUS@15..17 "+" [] [Whitespace(" ")]
2: JS_NUMBER_LITERAL_EXPRESSION@17..18
0: JS_NUMBER_LITERAL@17..18 "5" [] []
4: R_BRACK@18..19 "]" [] []
1: (empty)
2: JS_EXPRESSION_STATEMENT@19..30
0: JS_COMPUTED_MEMBER_EXPRESSION@19..30
0: JS_IDENTIFIER_EXPRESSION@19..23
0: JS_REFERENCE_IDENTIFIER@19..23
0: IDENT@19..23 "foo" [Newline("\n")] []
1: (empty)
2: L_BRACK@23..24 "[" [] []
3: JS_STRING_LITERAL_EXPRESSION@24..29
0: JS_STRING_LITERAL@24..29 "\"bar\"" [] []
4: R_BRACK@29..30 "]" [] []
1: (empty)
3: JS_EXPRESSION_STATEMENT@30..44
0: JS_COMPUTED_MEMBER_EXPRESSION@30..44
0: JS_COMPUTED_MEMBER_EXPRESSION@30..39
0: JS_IDENTIFIER_EXPRESSION@30..34
0: JS_REFERENCE_IDENTIFIER@30..34
0: IDENT@30..34 "foo" [Newline("\n")] []
1: (empty)
2: L_BRACK@34..35 "[" [] []
3: JS_IDENTIFIER_EXPRESSION@35..38
0: JS_REFERENCE_IDENTIFIER@35..38
0: IDENT@35..38 "bar" [] []
4: R_BRACK@38..39 "]" [] []
1: (empty)
2: L_BRACK@39..40 "[" [] []
3: JS_IDENTIFIER_EXPRESSION@40..43
0: JS_REFERENCE_IDENTIFIER@40..43
0: IDENT@40..43 "baz" [] []
4: R_BRACK@43..44 "]" [] []
1: (empty)
4: JS_EXPRESSION_STATEMENT@44..55
0: JS_COMPUTED_MEMBER_EXPRESSION@44..55
0: JS_IDENTIFIER_EXPRESSION@44..48
0: JS_REFERENCE_IDENTIFIER@44..48
0: IDENT@44..48 "foo" [Newline("\n")] []
1: QUESTIONDOT@48..50 "?." [] []
2: L_BRACK@50..51 "[" [] []
3: JS_IDENTIFIER_EXPRESSION@51..54
0: JS_REFERENCE_IDENTIFIER@51..54
0: IDENT@51..54 "bar" [] []
4: R_BRACK@54..55 "]" [] []
1: (empty)
4: EOF@55..56 "" [Newline("\n")] []