JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsExpressionStatement { expression: JsAssignmentExpression { left: JsBogusAssignment { items: [ IDENT@0..5 "eval" [] [Whitespace(" ")], ], }, operator_token: EQ@5..7 "=" [] [Whitespace(" ")], right: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@7..8 "0" [] [], }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsAssignmentExpression { left: JsBogusAssignment { items: [ IDENT@8..14 "eval" [Newline("\n")] [Whitespace(" ")], ], }, operator_token: QUESTION2EQ@14..18 "??=" [] [Whitespace(" ")], right: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@18..19 "2" [] [], }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsAssignmentExpression { left: JsBogusAssignment { items: [ IDENT@19..25 "eval" [Newline("\n")] [Whitespace(" ")], ], }, operator_token: STAREQ@25..28 "*=" [] [Whitespace(" ")], right: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@28..29 "4" [] [], }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsAssignmentExpression { left: JsBogusAssignment { items: [ IDENT@29..40 "arguments" [Newline("\n")] [Whitespace(" ")], ], }, operator_token: EQ@40..42 "=" [] [Whitespace(" ")], right: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@42..47 "\"foo\"" [] [], }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsAssignmentExpression { left: JsBogusAssignment { items: [ IDENT@47..58 "arguments" [Newline("\n")] [Whitespace(" ")], ], }, operator_token: PIPE2EQ@58..62 "||=" [] [Whitespace(" ")], right: JsAssignmentExpression { left: JsBogusAssignment { items: [ JsCallExpression { callee: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@62..67 "\"baz\"" [] [], }, optional_chain_token: missing (optional), type_arguments: missing (optional), arguments: JsCallArguments { l_paren_token: L_PAREN@67..69 "(" [Newline("\n")] [], args: JsCallArgumentList [ JsBogusExpression { items: [ JsBogus { items: [ L_CURLY@69..71 "{" [] [Whitespace(" ")], JsBogus { items: [ JsBogus { items: [ JsBogusAssignment { items: [ IDENT@71..76 "eval" [] [Whitespace(" ")], ], }, ], }, ], }, R_CURLY@76..78 "}" [] [Whitespace(" ")], ], }, EQ@78..80 "=" [] [Whitespace(" ")], JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@80..81 "o" [] [], }, }, ], }, ], r_paren_token: R_PAREN@81..82 ")" [] [], }, }, JsCallArguments { l_paren_token: L_PAREN@82..84 "(" [Newline("\n")] [], args: JsCallArgumentList [ JsObjectExpression { l_curly_token: L_CURLY@84..86 "{" [] [Whitespace(" ")], members: JsObjectMemberList [ JsPropertyObjectMember { name: JsLiteralMemberName { value: IDENT@86..89 "foo" [] [], }, colon_token: COLON@89..91 ":" [] [Whitespace(" ")], value: JsObjectExpression { l_curly_token: L_CURLY@91..93 "{" [] [Whitespace(" ")], members: JsObjectMemberList [ JsShorthandPropertyObjectMember { name: JsReferenceIdentifier { value_token: IDENT@93..98 "eval" [] [Whitespace(" ")], }, }, ], r_curly_token: R_CURLY@98..99 "}" [] [], }, }, ], r_curly_token: R_CURLY@99..100 "}" [] [], }, ], r_paren_token: R_PAREN@100..102 ")" [] [Whitespace(" ")], }, ], }, operator_token: EQ@102..104 "=" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@104..105 "o" [] [], }, }, }, }, semicolon_token: missing (optional), }, ], eof_token: EOF@105..106 "" [Newline("\n")] [], } 0: JS_MODULE@0..106 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..105 0: JS_EXPRESSION_STATEMENT@0..8 0: JS_ASSIGNMENT_EXPRESSION@0..8 0: JS_BOGUS_ASSIGNMENT@0..5 0: IDENT@0..5 "eval" [] [Whitespace(" ")] 1: EQ@5..7 "=" [] [Whitespace(" ")] 2: JS_NUMBER_LITERAL_EXPRESSION@7..8 0: JS_NUMBER_LITERAL@7..8 "0" [] [] 1: (empty) 1: JS_EXPRESSION_STATEMENT@8..19 0: JS_ASSIGNMENT_EXPRESSION@8..19 0: JS_BOGUS_ASSIGNMENT@8..14 0: IDENT@8..14 "eval" [Newline("\n")] [Whitespace(" ")] 1: QUESTION2EQ@14..18 "??=" [] [Whitespace(" ")] 2: JS_NUMBER_LITERAL_EXPRESSION@18..19 0: JS_NUMBER_LITERAL@18..19 "2" [] [] 1: (empty) 2: JS_EXPRESSION_STATEMENT@19..29 0: JS_ASSIGNMENT_EXPRESSION@19..29 0: JS_BOGUS_ASSIGNMENT@19..25 0: IDENT@19..25 "eval" [Newline("\n")] [Whitespace(" ")] 1: STAREQ@25..28 "*=" [] [Whitespace(" ")] 2: JS_NUMBER_LITERAL_EXPRESSION@28..29 0: JS_NUMBER_LITERAL@28..29 "4" [] [] 1: (empty) 3: JS_EXPRESSION_STATEMENT@29..47 0: JS_ASSIGNMENT_EXPRESSION@29..47 0: JS_BOGUS_ASSIGNMENT@29..40 0: IDENT@29..40 "arguments" [Newline("\n")] [Whitespace(" ")] 1: EQ@40..42 "=" [] [Whitespace(" ")] 2: JS_STRING_LITERAL_EXPRESSION@42..47 0: JS_STRING_LITERAL@42..47 "\"foo\"" [] [] 1: (empty) 4: JS_EXPRESSION_STATEMENT@47..105 0: JS_ASSIGNMENT_EXPRESSION@47..105 0: JS_BOGUS_ASSIGNMENT@47..58 0: IDENT@47..58 "arguments" [Newline("\n")] [Whitespace(" ")] 1: PIPE2EQ@58..62 "||=" [] [Whitespace(" ")] 2: JS_ASSIGNMENT_EXPRESSION@62..105 0: JS_BOGUS_ASSIGNMENT@62..102 0: JS_CALL_EXPRESSION@62..82 0: JS_STRING_LITERAL_EXPRESSION@62..67 0: JS_STRING_LITERAL@62..67 "\"baz\"" [] [] 1: (empty) 2: (empty) 3: JS_CALL_ARGUMENTS@67..82 0: L_PAREN@67..69 "(" [Newline("\n")] [] 1: JS_CALL_ARGUMENT_LIST@69..81 0: JS_BOGUS_EXPRESSION@69..81 0: JS_BOGUS@69..78 0: L_CURLY@69..71 "{" [] [Whitespace(" ")] 1: JS_BOGUS@71..76 0: JS_BOGUS@71..76 0: JS_BOGUS_ASSIGNMENT@71..76 0: IDENT@71..76 "eval" [] [Whitespace(" ")] 2: R_CURLY@76..78 "}" [] [Whitespace(" ")] 1: EQ@78..80 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@80..81 0: JS_REFERENCE_IDENTIFIER@80..81 0: IDENT@80..81 "o" [] [] 2: R_PAREN@81..82 ")" [] [] 1: JS_CALL_ARGUMENTS@82..102 0: L_PAREN@82..84 "(" [Newline("\n")] [] 1: JS_CALL_ARGUMENT_LIST@84..100 0: JS_OBJECT_EXPRESSION@84..100 0: L_CURLY@84..86 "{" [] [Whitespace(" ")] 1: JS_OBJECT_MEMBER_LIST@86..99 0: JS_PROPERTY_OBJECT_MEMBER@86..99 0: JS_LITERAL_MEMBER_NAME@86..89 0: IDENT@86..89 "foo" [] [] 1: COLON@89..91 ":" [] [Whitespace(" ")] 2: JS_OBJECT_EXPRESSION@91..99 0: L_CURLY@91..93 "{" [] [Whitespace(" ")] 1: JS_OBJECT_MEMBER_LIST@93..98 0: JS_SHORTHAND_PROPERTY_OBJECT_MEMBER@93..98 0: JS_REFERENCE_IDENTIFIER@93..98 0: IDENT@93..98 "eval" [] [Whitespace(" ")] 2: R_CURLY@98..99 "}" [] [] 2: R_CURLY@99..100 "}" [] [] 2: R_PAREN@100..102 ")" [] [Whitespace(" ")] 1: EQ@102..104 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@104..105 0: JS_REFERENCE_IDENTIFIER@104..105 0: IDENT@104..105 "o" [] [] 1: (empty) 4: EOF@105..106 "" [Newline("\n")] [] -- assign_eval_or_arguments.js:1:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Illegal use of `eval` as an identifier in strict mode > 1 │ eval = 0 │ ^^^^ 2 │ eval ??= 2 3 │ eval *= 4 -- assign_eval_or_arguments.js:2:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Illegal use of `eval` as an identifier in strict mode 1 │ eval = 0 > 2 │ eval ??= 2 │ ^^^^ 3 │ eval *= 4 4 │ arguments = "foo" -- assign_eval_or_arguments.js:3:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Illegal use of `eval` as an identifier in strict mode 1 │ eval = 0 2 │ eval ??= 2 > 3 │ eval *= 4 │ ^^^^ 4 │ arguments = "foo" 5 │ arguments ||= "baz" -- assign_eval_or_arguments.js:4:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Illegal use of `arguments` as an identifier in strict mode 2 │ eval ??= 2 3 │ eval *= 4 > 4 │ arguments = "foo" │ ^^^^^^^^^ 5 │ arguments ||= "baz" 6 │ ({ eval } = o) -- assign_eval_or_arguments.js:5:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Illegal use of `arguments` as an identifier in strict mode 3 │ eval *= 4 4 │ arguments = "foo" > 5 │ arguments ||= "baz" │ ^^^^^^^^^ 6 │ ({ eval } = o) 7 │ ({ foo: { eval }}) = o -- assign_eval_or_arguments.js:6:4 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Illegal use of `eval` as an identifier in strict mode 4 │ arguments = "foo" 5 │ arguments ||= "baz" > 6 │ ({ eval } = o) │ ^^^^ 7 │ ({ foo: { eval }}) = o 8 │ -- assign_eval_or_arguments.js:5:15 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Invalid assignment to `"baz" ({ eval } = o) ({ foo: { eval }})` 3 │ eval *= 4 4 │ arguments = "foo" > 5 │ arguments ||= "baz" │ ^^^^^ > 6 │ ({ eval } = o) > 7 │ ({ foo: { eval }}) = o │ ^^^^^^^^^^^^^^^^^^ 8 │ i This expression cannot be assigned to -- eval = 0 eval ??= 2 eval *= 4 arguments = "foo" arguments ||= "baz" ({ eval } = o) ({ foo: { eval }}) = o