JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
JsExpressionStatement {
expression: JsStaticMemberExpression {
object: JsComputedMemberExpression {
object: JsStaticMemberExpression {
object: JsCallExpression {
callee: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@0..3 "foo" [] [],
},
},
optional_chain_token: missing (optional),
type_arguments: missing (optional),
arguments: JsCallArguments {
l_paren_token: L_PAREN@3..4 "(" [] [],
args: JsCallArgumentList [],
r_paren_token: R_PAREN@4..5 ")" [] [],
},
},
operator_token: QUESTIONDOT@5..7 "?." [] [],
member: JsName {
value_token: IDENT@7..10 "baz" [] [],
},
},
optional_chain_token: missing (optional),
l_brack_token: L_BRACK@10..11 "[" [] [],
member: missing (required),
r_brack_token: R_BRACK@11..12 "]" [] [],
},
operator_token: DOT@12..13 "." [] [],
member: missing (required),
},
semicolon_token: SEMICOLON@13..14 ";" [] [],
},
JsExpressionStatement {
expression: JsTemplateExpression {
tag: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@14..18 "BAR" [Newline("\n")] [],
},
},
type_arguments: missing (optional),
l_tick_token: BACKTICK@18..19 "`" [] [],
elements: JsTemplateElementList [
JsTemplateChunkElement {
template_chunk_token: TEMPLATE_CHUNK@19..21 "b\n" [] [],
},
],
r_tick_token: missing (required),
},
semicolon_token: missing (optional),
},
],
eof_token: EOF@21..21 "" [] [],
}
0: JS_MODULE@0..21
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..21
0: JS_EXPRESSION_STATEMENT@0..14
0: JS_STATIC_MEMBER_EXPRESSION@0..13
0: JS_COMPUTED_MEMBER_EXPRESSION@0..12
0: JS_STATIC_MEMBER_EXPRESSION@0..10
0: JS_CALL_EXPRESSION@0..5
0: JS_IDENTIFIER_EXPRESSION@0..3
0: JS_REFERENCE_IDENTIFIER@0..3
0: IDENT@0..3 "foo" [] []
1: (empty)
2: (empty)
3: JS_CALL_ARGUMENTS@3..5
0: L_PAREN@3..4 "(" [] []
1: JS_CALL_ARGUMENT_LIST@4..4
2: R_PAREN@4..5 ")" [] []
1: QUESTIONDOT@5..7 "?." [] []
2: JS_NAME@7..10
0: IDENT@7..10 "baz" [] []
1: (empty)
2: L_BRACK@10..11 "[" [] []
3: (empty)
4: R_BRACK@11..12 "]" [] []
1: DOT@12..13 "." [] []
2: (empty)
1: SEMICOLON@13..14 ";" [] []
1: JS_EXPRESSION_STATEMENT@14..21
0: JS_TEMPLATE_EXPRESSION@14..21
0: JS_IDENTIFIER_EXPRESSION@14..18
0: JS_REFERENCE_IDENTIFIER@14..18
0: IDENT@14..18 "BAR" [Newline("\n")] []
1: (empty)
2: BACKTICK@18..19 "`" [] []
3: JS_TEMPLATE_ELEMENT_LIST@19..21
0: JS_TEMPLATE_CHUNK_ELEMENT@19..21
0: TEMPLATE_CHUNK@19..21 "b\n" [] []
4: (empty)
1: (empty)
4: EOF@21..21 "" [] []
--
subscripts_err.js:1:12 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
× Expected an expression but instead found ']'.
> 1 │ foo()?.baz[].;
│ ^
2 │ BAR`b
3 │
i Expected an expression here.
> 1 │ foo()?.baz[].;
│ ^
2 │ BAR`b
3 │
--
subscripts_err.js:1:14 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
× Expected an identifier but instead found ';'.
> 1 │ foo()?.baz[].;
│ ^
2 │ BAR`b
3 │
i Expected an identifier here.
> 1 │ foo()?.baz[].;
│ ^
2 │ BAR`b
3 │
--
subscripts_err.js:2:5 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
× unterminated template literal
1 │ foo()?.baz[].;
> 2 │ BAR`b
│ ^
> 3 │
│
--
foo()?.baz[].;
BAR`b