JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsExpressionStatement { expression: JsAssignmentExpression { left: JsBogusAssignment { items: [ PLUS2@0..2 "++" [] [], JsIdentifierAssignment { name_token: IDENT@2..4 "a" [] [Whitespace(" ")], }, ], }, operator_token: EQ@4..6 "=" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@6..7 "b" [] [], }, }, }, semicolon_token: SEMICOLON@7..8 ";" [] [], }, JsExpressionStatement { expression: JsAssignmentExpression { left: JsParenthesizedAssignment { l_paren_token: L_PAREN@8..10 "(" [Newline("\n")] [], assignment: JsBogusAssignment { items: [ PLUS2@10..12 "++" [] [], JsIdentifierAssignment { name_token: IDENT@12..13 "a" [] [], }, ], }, r_paren_token: R_PAREN@13..15 ")" [] [Whitespace(" ")], }, operator_token: EQ@15..17 "=" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@17..18 "b" [] [], }, }, }, semicolon_token: SEMICOLON@18..19 ";" [] [], }, JsExpressionStatement { expression: JsParenthesizedExpression { l_paren_token: L_PAREN@19..21 "(" [Newline("\n")] [], expression: JsAssignmentExpression { left: JsIdentifierAssignment { name_token: IDENT@21..23 "a" [] [Whitespace(" ")], }, operator_token: EQ@23..25 "=" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@25..26 "b" [] [], }, }, }, r_paren_token: missing (required), }, semicolon_token: SEMICOLON@26..27 ";" [] [], }, JsExpressionStatement { expression: JsAssignmentExpression { left: JsBogusAssignment { items: [ JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@27..29 "a" [Newline("\n")] [], }, }, QUESTIONDOT@29..31 "?." [] [], JsName { value_token: IDENT@31..33 "b" [] [Whitespace(" ")], }, ], }, operator_token: EQ@33..35 "=" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@35..36 "b" [] [], }, }, }, semicolon_token: SEMICOLON@36..37 ";" [] [], }, JsExpressionStatement { expression: JsAssignmentExpression { left: JsBogusAssignment { items: [ JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@37..39 "a" [Newline("\n")] [], }, }, QUESTIONDOT@39..41 "?." [] [], L_BRACK@41..42 "[" [] [], JsStringLiteralExpression { value_token: JS_STRING_LITERAL@42..45 "\"b\"" [] [], }, R_BRACK@45..47 "]" [] [Whitespace(" ")], ], }, operator_token: EQ@47..49 "=" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@49..50 "b" [] [], }, }, }, semicolon_token: SEMICOLON@50..51 ";" [] [], }, JsExpressionStatement { expression: JsAssignmentExpression { left: JsParenthesizedAssignment { l_paren_token: L_PAREN@51..53 "(" [Newline("\n")] [], assignment: JsBogusAssignment { items: [ JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@53..55 "a" [] [Whitespace(" ")], }, }, PLUS@55..56 "+" [] [], ], }, r_paren_token: R_PAREN@56..58 ")" [] [Whitespace(" ")], }, operator_token: EQ@58..60 "=" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@60..61 "b" [] [], }, }, }, semicolon_token: SEMICOLON@61..62 ";" [] [], }, ], eof_token: EOF@62..63 "" [Newline("\n")] [], } 0: JS_MODULE@0..63 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..62 0: JS_EXPRESSION_STATEMENT@0..8 0: JS_ASSIGNMENT_EXPRESSION@0..7 0: JS_BOGUS_ASSIGNMENT@0..4 0: PLUS2@0..2 "++" [] [] 1: JS_IDENTIFIER_ASSIGNMENT@2..4 0: IDENT@2..4 "a" [] [Whitespace(" ")] 1: EQ@4..6 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@6..7 0: JS_REFERENCE_IDENTIFIER@6..7 0: IDENT@6..7 "b" [] [] 1: SEMICOLON@7..8 ";" [] [] 1: JS_EXPRESSION_STATEMENT@8..19 0: JS_ASSIGNMENT_EXPRESSION@8..18 0: JS_PARENTHESIZED_ASSIGNMENT@8..15 0: L_PAREN@8..10 "(" [Newline("\n")] [] 1: JS_BOGUS_ASSIGNMENT@10..13 0: PLUS2@10..12 "++" [] [] 1: JS_IDENTIFIER_ASSIGNMENT@12..13 0: IDENT@12..13 "a" [] [] 2: R_PAREN@13..15 ")" [] [Whitespace(" ")] 1: EQ@15..17 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@17..18 0: JS_REFERENCE_IDENTIFIER@17..18 0: IDENT@17..18 "b" [] [] 1: SEMICOLON@18..19 ";" [] [] 2: JS_EXPRESSION_STATEMENT@19..27 0: JS_PARENTHESIZED_EXPRESSION@19..26 0: L_PAREN@19..21 "(" [Newline("\n")] [] 1: JS_ASSIGNMENT_EXPRESSION@21..26 0: JS_IDENTIFIER_ASSIGNMENT@21..23 0: IDENT@21..23 "a" [] [Whitespace(" ")] 1: EQ@23..25 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@25..26 0: JS_REFERENCE_IDENTIFIER@25..26 0: IDENT@25..26 "b" [] [] 2: (empty) 1: SEMICOLON@26..27 ";" [] [] 3: JS_EXPRESSION_STATEMENT@27..37 0: JS_ASSIGNMENT_EXPRESSION@27..36 0: JS_BOGUS_ASSIGNMENT@27..33 0: JS_IDENTIFIER_EXPRESSION@27..29 0: JS_REFERENCE_IDENTIFIER@27..29 0: IDENT@27..29 "a" [Newline("\n")] [] 1: QUESTIONDOT@29..31 "?." [] [] 2: JS_NAME@31..33 0: IDENT@31..33 "b" [] [Whitespace(" ")] 1: EQ@33..35 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@35..36 0: JS_REFERENCE_IDENTIFIER@35..36 0: IDENT@35..36 "b" [] [] 1: SEMICOLON@36..37 ";" [] [] 4: JS_EXPRESSION_STATEMENT@37..51 0: JS_ASSIGNMENT_EXPRESSION@37..50 0: JS_BOGUS_ASSIGNMENT@37..47 0: JS_IDENTIFIER_EXPRESSION@37..39 0: JS_REFERENCE_IDENTIFIER@37..39 0: IDENT@37..39 "a" [Newline("\n")] [] 1: QUESTIONDOT@39..41 "?." [] [] 2: L_BRACK@41..42 "[" [] [] 3: JS_STRING_LITERAL_EXPRESSION@42..45 0: JS_STRING_LITERAL@42..45 "\"b\"" [] [] 4: R_BRACK@45..47 "]" [] [Whitespace(" ")] 1: EQ@47..49 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@49..50 0: JS_REFERENCE_IDENTIFIER@49..50 0: IDENT@49..50 "b" [] [] 1: SEMICOLON@50..51 ";" [] [] 5: JS_EXPRESSION_STATEMENT@51..62 0: JS_ASSIGNMENT_EXPRESSION@51..61 0: JS_PARENTHESIZED_ASSIGNMENT@51..58 0: L_PAREN@51..53 "(" [Newline("\n")] [] 1: JS_BOGUS_ASSIGNMENT@53..56 0: JS_IDENTIFIER_EXPRESSION@53..55 0: JS_REFERENCE_IDENTIFIER@53..55 0: IDENT@53..55 "a" [] [Whitespace(" ")] 1: PLUS@55..56 "+" [] [] 2: R_PAREN@56..58 ")" [] [Whitespace(" ")] 1: EQ@58..60 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@60..61 0: JS_REFERENCE_IDENTIFIER@60..61 0: IDENT@60..61 "b" [] [] 1: SEMICOLON@61..62 ";" [] [] 4: EOF@62..63 "" [Newline("\n")] [] -- invalid_assignment_target.js:1:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Invalid assignment to `++a` > 1 │ ++a = b; │ ^^^ 2 │ (++a) = b; 3 │ (a = b; i This expression cannot be assigned to -- invalid_assignment_target.js:2:2 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Invalid assignment to `++a` 1 │ ++a = b; > 2 │ (++a) = b; │ ^^^ 3 │ (a = b; 4 │ a?.b = b; i This expression cannot be assigned to -- invalid_assignment_target.js:3:7 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × expected `)` but instead found `;` 1 │ ++a = b; 2 │ (++a) = b; > 3 │ (a = b; │ ^ 4 │ a?.b = b; 5 │ a?.["b"] = b; i Remove ; -- invalid_assignment_target.js:4:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Invalid assignment to `a?.b` 2 │ (++a) = b; 3 │ (a = b; > 4 │ a?.b = b; │ ^^^^ 5 │ a?.["b"] = b; 6 │ (a +) = b; i This expression cannot be assigned to -- invalid_assignment_target.js:5:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Invalid assignment to `a?.["b"]` 3 │ (a = b; 4 │ a?.b = b; > 5 │ a?.["b"] = b; │ ^^^^^^^^ 6 │ (a +) = b; 7 │ i This expression cannot be assigned to -- invalid_assignment_target.js:6:5 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected an expression but instead found ')'. 4 │ a?.b = b; 5 │ a?.["b"] = b; > 6 │ (a +) = b; │ ^ 7 │ i Expected an expression here. 4 │ a?.b = b; 5 │ a?.["b"] = b; > 6 │ (a +) = b; │ ^ 7 │ -- invalid_assignment_target.js:6:2 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Invalid assignment to `a +` 4 │ a?.b = b; 5 │ a?.["b"] = b; > 6 │ (a +) = b; │ ^^^ 7 │ i This expression cannot be assigned to -- ++a = b; (++a) = b; (a = b; a?.b = b; a?.["b"] = b; (a +) = b;