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: missing (required), r_brack_token: R_BRACK@4..5 "]" [] [], }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsComputedMemberExpression { object: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@5..9 "foo" [Newline("\n")] [], }, }, optional_chain_token: QUESTIONDOT@9..11 "?." [] [], l_brack_token: L_BRACK@11..12 "[" [] [], member: missing (required), r_brack_token: R_BRACK@12..13 "]" [] [], }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsComputedMemberExpression { object: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@13..17 "foo" [Newline("\n")] [], }, }, optional_chain_token: missing (optional), l_brack_token: L_BRACK@17..18 "[" [] [], member: missing (required), r_brack_token: missing (required), }, semicolon_token: missing (optional), }, ], eof_token: EOF@18..19 "" [Newline("\n")] [], } 0: JS_MODULE@0..19 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..18 0: JS_EXPRESSION_STATEMENT@0..5 0: JS_COMPUTED_MEMBER_EXPRESSION@0..5 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: (empty) 4: R_BRACK@4..5 "]" [] [] 1: (empty) 1: JS_EXPRESSION_STATEMENT@5..13 0: JS_COMPUTED_MEMBER_EXPRESSION@5..13 0: JS_IDENTIFIER_EXPRESSION@5..9 0: JS_REFERENCE_IDENTIFIER@5..9 0: IDENT@5..9 "foo" [Newline("\n")] [] 1: QUESTIONDOT@9..11 "?." [] [] 2: L_BRACK@11..12 "[" [] [] 3: (empty) 4: R_BRACK@12..13 "]" [] [] 1: (empty) 2: JS_EXPRESSION_STATEMENT@13..18 0: JS_COMPUTED_MEMBER_EXPRESSION@13..18 0: JS_IDENTIFIER_EXPRESSION@13..17 0: JS_REFERENCE_IDENTIFIER@13..17 0: IDENT@13..17 "foo" [Newline("\n")] [] 1: (empty) 2: L_BRACK@17..18 "[" [] [] 3: (empty) 4: (empty) 1: (empty) 4: EOF@18..19 "" [Newline("\n")] [] -- bracket_expr_err.js:1:5 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected an expression but instead found ']'. > 1 │ foo[] │ ^ 2 │ foo?.[] 3 │ foo[ i Expected an expression here. > 1 │ foo[] │ ^ 2 │ foo?.[] 3 │ foo[ -- bracket_expr_err.js:2:7 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected an expression but instead found ']'. 1 │ foo[] > 2 │ foo?.[] │ ^ 3 │ foo[ 4 │ i Expected an expression here. 1 │ foo[] > 2 │ foo?.[] │ ^ 3 │ foo[ 4 │ -- bracket_expr_err.js:4:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected an expression but instead found the end of the file. 2 │ foo?.[] 3 │ foo[ > 4 │ │ i Expected an expression here. 2 │ foo?.[] 3 │ foo[ > 4 │ │ -- foo[] foo?.[] foo[