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")] []