diff --git a/crates/oxc_linter/src/snapshots/button_has_type.snap b/crates/oxc_linter/src/snapshots/button_has_type.snap index 6a2290f1d14bd..a42f06e32ab1a 100644 --- a/crates/oxc_linter/src/snapshots/button_has_type.snap +++ b/crates/oxc_linter/src/snapshots/button_has_type.snap @@ -95,7 +95,7 @@ source: crates/oxc_linter/src/tester.rs × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[button_has_type.tsx:1:7] 1 │ button type/> - · ─ + · ▲ ╰──── help: Try insert a semicolon here diff --git a/crates/oxc_linter/src/snapshots/consistent_indexed_object_style.snap b/crates/oxc_linter/src/snapshots/consistent_indexed_object_style.snap index cc80668baaa2d..9416a75a6dfa8 100644 --- a/crates/oxc_linter/src/snapshots/consistent_indexed_object_style.snap +++ b/crates/oxc_linter/src/snapshots/consistent_indexed_object_style.snap @@ -222,6 +222,6 @@ source: crates/oxc_linter/src/tester.rs × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[consistent_indexed_object_style.tsx:1:10] 1 │ funcction foo(): Record {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here diff --git a/crates/oxc_parser/src/cursor.rs b/crates/oxc_parser/src/cursor.rs index e38f767dbc9be..9c76429e9517f 100644 --- a/crates/oxc_parser/src/cursor.rs +++ b/crates/oxc_parser/src/cursor.rs @@ -172,7 +172,7 @@ impl<'a> ParserImpl<'a> { /// # Errors pub(crate) fn asi(&mut self) -> Result<()> { if !self.can_insert_semicolon() { - let span = Span::new(self.prev_token_end, self.cur_token().start); + let span = Span::new(self.prev_token_end, self.prev_token_end); return Err(diagnostics::auto_semicolon_insertion(span)); } if self.at(Kind::Semicolon) { diff --git a/tasks/coverage/misc/fail/oxc-4111-1.js b/tasks/coverage/misc/fail/oxc-4111-1.js new file mode 100644 index 0000000000000..14c8be0070578 --- /dev/null +++ b/tasks/coverage/misc/fail/oxc-4111-1.js @@ -0,0 +1 @@ +funtransientction as longciiConÞr>ol(cde) { diff --git a/tasks/coverage/parser_babel.snap b/tasks/coverage/parser_babel.snap index d5c9ea06ef336..1a79c2c878037 100644 --- a/tasks/coverage/parser_babel.snap +++ b/tasks/coverage/parser_babel.snap @@ -563,7 +563,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[core/create-parenthesized-expressions/invalid-pattern-in-rest-binding/input.js:1:11] 1 │ ([...(a)]) => {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -1380,14 +1380,14 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[core/uncategorised/388/input.js:1:6] 1 │ { set 1 } - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[core/uncategorised/389/input.js:1:6] 1 │ { get 2 } - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -1491,7 +1491,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[core/uncategorised/405/input.js:1:2] 1 │ a b; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -1505,14 +1505,14 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[core/uncategorised/407/input.js:1:2] 1 │ a if; - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[core/uncategorised/408/input.js:1:2] 1 │ a class; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -2321,56 +2321,56 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/arrow-functions/inner-parens/input.js:1:18] 1 │ var foo = ((foo)) => {}; - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/arrow-functions/inner-parens-2/input.js:1:9] 1 │ (a, (b)) => 42 - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/arrow-functions/inner-parens-array-pattern/input.js:1:8] 1 │ ([(a)]) => {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/arrow-functions/inner-parens-array-pattern-2/input.js:1:22] 1 │ ([ [(a)] = [] ] = []) => {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/arrow-functions/inner-parens-array-pattern-3/input.js:1:19] 1 │ ([(a) = [] ] = []) => {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/arrow-functions/inner-parens-object-pattern/input.js:1:20] 1 │ ({ a: (foo) } = {}) => {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/arrow-functions/inner-parens-object-pattern-member/input.js:1:24] 1 │ ({ a: (foo.qux) } = {}) => {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/arrow-functions/invalid-arrow-before-in/input.js:1:9] 1 │ () => {} in x - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -2385,7 +2385,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/arrow-functions/no-binary-left/input.js:1:9] 1 │ () => {} || true - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -2405,7 +2405,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/arrow-functions/no-ternary-test/input.js:1:9] 1 │ () => {} ? 1 : 2; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -2447,7 +2447,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[es2015/class-methods/disallow-computed-async-identifier/input.js:2:10] 1 │ class A { 2 │ [async] a() {} - · ─ + · ▲ 3 │ } ╰──── help: Try insert a semicolon here @@ -2456,7 +2456,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[es2015/class-methods/disallow-computed-async-string/input.js:2:12] 1 │ class A { 2 │ ["async"] a() {} - · ─ + · ▲ 3 │ } ╰──── help: Try insert a semicolon here @@ -2465,7 +2465,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[es2015/class-methods/disallow-computed-get-identifier/input.js:2:8] 1 │ class A { 2 │ [get] a() {} - · ─ + · ▲ 3 │ } ╰──── help: Try insert a semicolon here @@ -2474,7 +2474,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[es2015/class-methods/disallow-computed-get-string/input.js:2:10] 1 │ class A { 2 │ ["get"] a() {} - · ─ + · ▲ 3 │ } ╰──── help: Try insert a semicolon here @@ -2493,7 +2493,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[es2015/class-methods/disallow-literal-async/input.js:2:10] 1 │ class A { 2 │ "async" a() {} - · ─ + · ▲ 3 │ } ╰──── help: Try insert a semicolon here @@ -2502,7 +2502,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[es2015/class-methods/disallow-literal-get/input.js:2:8] 1 │ class A { 2 │ "get" a() {} - · ─ + · ▲ 3 │ } ╰──── help: Try insert a semicolon here @@ -2742,7 +2742,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/let/invalid-escape/input.js:1:9] 1 │ le\u0074 x = 5 - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -3350,7 +3350,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/modules/export-default-variable-declaration2/input.js:1:19] 1 │ export default let Foo = () => { - · ─ + · ▲ 2 │ return `
Hola
`; ╰──── help: Try insert a semicolon here @@ -3517,7 +3517,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/statements/label-invalid-let/input.js:1:9] 1 │ foo: let bar; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -3732,7 +3732,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[es2015/uncategorised/224/input.js:2:4] 1 │ x 2 │ is y - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -3740,7 +3740,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[es2015/uncategorised/225/input.js:2:6] 1 │ x 2 │ isnt y - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -3889,14 +3889,14 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/uncategorised/251/input.js:1:5] 1 │ (10) => 00 - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/uncategorised/252/input.js:1:9] 1 │ (10, 20) => 00 - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -4011,7 +4011,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/uncategorised/284/input.js:1:8] 1 │ ([ 5 ]) => {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -4071,7 +4071,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/uncategorised/298/input.js:1:21] 1 │ ({ get test() { } }) => 42 - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -4109,7 +4109,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/uncategorised/328/input.js:1:11] 1 │ if (1) let x = 10; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -4271,7 +4271,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/uncategorised/37/input.js:1:8] 1 │ ([a.a]) => 42 - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -4390,7 +4390,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2015/uncategorised/395/input.js:1:8] 1 │ ([a.a]) => 42 - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -4546,7 +4546,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[es2015/yield/parameter-name-arrow-inside-generator-2/input.js:2:13] 1 │ function* fn() { 2 │ (yield fn) => {}; - · ─ + · ▲ 3 │ } ╰──── help: Try insert a semicolon here @@ -4709,14 +4709,14 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2016/simple-parameter-list/async-arrow-function-after-binary-operator/input.js:1:12] 1 │ 3 + async() => 2 - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2016/simple-parameter-list/async-arrow-function-after-unary-operator/input.js:1:16] 1 │ delete async () => 3; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -4787,49 +4787,49 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2017/async-arrow/parenthesized-array-pattern-nested/input.js:1:28] 1 │ async ([ [(a)] = [] ] = []) => {}; - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2017/async-arrow/parenthesized-array-pattern-nested-2/input.js:1:24] 1 │ async ([(a) = []] = []) => {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2017/async-arrow/parenthesized-binding-identifier/input.js:1:24] 1 │ var foo = async ((foo)) => {}; - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2017/async-arrow/parenthesized-binding-member-expression/input.js:1:26] 1 │ async ([(a.b) = []] = []) => {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2017/async-arrow/parenthesized-binding-pattern/input.js:1:26] 1 │ var foo = async ([(foo)]) => {}; - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2017/async-arrow/parenthesized-rest-array/input.js:1:29] 1 │ var foo = async ([...(foo)]) => {}; - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2017/async-arrow/parenthesized-rest-object/input.js:1:29] 1 │ var foo = async ({...(foo)}) => {}; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -4859,7 +4859,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[es2017/async-functions/10/input.js:2:4] 1 │ var x = async 2 │ (x) => x + 1; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -4923,7 +4923,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2017/async-functions/async-function-and-non-bmp-character/input.js:1:6] 1 │ async function𝐬 f() {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -5014,7 +5014,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2017/async-functions/export-invalid/input.js:1:21] 1 │ export default async functionX () {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -5022,7 +5022,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[es2017/async-functions/invalid-await-with-object-exp-in-function/input.js:2:8] 1 │ function foo() { 2 │ await { foo }; - · ─ + · ▲ 3 │ } ╰──── help: Try insert a semicolon here @@ -5149,21 +5149,21 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2017/async-functions/invalid-parens-async-arrow/input.js:1:11] 1 │ (async)(a) => {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2017/async-functions/invalid-parens-async-func/input.js:1:8] 1 │ (async) function x (a) {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[es2017/async-functions/multiple-await-in-async-arrow-params/input.js:1:41] 1 │ async ({ x = [ await ], y = { await } }) => {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -7053,7 +7053,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/es2015-arrow-function/non-arrow-param-followed-by-arrow/input.js:1:6] 1 │ ((a)) => 0 - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -7073,7 +7073,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/es2015-arrow-function/object-binding-pattern-invalid-method-in-pattern/input.js:1:14] 1 │ ({get a(){}}) => 0; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -7155,7 +7155,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/es2015-export-declaration/invalid-export-default/input.js:1:20] 1 │ export default from "foo" - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -7175,7 +7175,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/es2015-export-declaration/invalid-export-default-token/input.js:1:17] 1 │ export {default} + - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -7463,7 +7463,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/es2015-import-declaration/invalid-import-module-specifier/input.js:1:18] 1 │ export {foo} from bar - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -8434,7 +8434,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/invalid-syntax/migrated_0065/input.js:1:2] 1 │ i #= 42 - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -8470,14 +8470,14 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/invalid-syntax/migrated_0071/input.js:1:6] 1 │ { set 1 } - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/invalid-syntax/migrated_0072/input.js:1:6] 1 │ { get 2 } - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -8626,14 +8626,14 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/invalid-syntax/migrated_0098/input.js:1:5] 1 │ (10) => 00 - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/invalid-syntax/migrated_0099/input.js:1:9] 1 │ (10, 20) => 00 - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -8659,7 +8659,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/invalid-syntax/migrated_0112/input.js:1:2] 1 │ a b; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -8673,14 +8673,14 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/invalid-syntax/migrated_0114/input.js:1:2] 1 │ a if; - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/invalid-syntax/migrated_0115/input.js:1:2] 1 │ a enum; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -8847,7 +8847,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/invalid-syntax/migrated_0141/input.js:1:13] 1 │ if(true) let a = 1; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -9573,7 +9573,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/invalid-syntax/migrated_0257/input.js:1:16] 1 │ 'use strict'; a package - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -9678,7 +9678,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[esprima/invalid-syntax/migrated_0275/input.js:1:11] 1 │ class A {a static(){}} - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -9852,7 +9852,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[typescript/arrow-function/async-arrow-function-after-binary-operator/input.ts:1:20] 1 │ 4 + async() => 2 - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -9889,28 +9889,28 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[typescript/cast/arrow-async-parameter-as/input.ts:1:15] 1 │ async (a as T) => {}; - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[typescript/cast/arrow-async-parameter-assertion/input.ts:1:14] 1 │ async ( a) => {}; - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[typescript/cast/arrow-parameter-as/input.ts:1:9] 1 │ (a as T) => {}; - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[typescript/cast/arrow-parameter-assertion/input.ts:1:8] 1 │ ( a) => {}; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -9955,7 +9955,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[typescript/cast/null-assertion-invalid-arrow-param/input.ts:1:5] 1 │ (a!) => b; - · ─ + · ▲ 2 │ (a! = b) => c; ╰──── help: Try insert a semicolon here @@ -10073,7 +10073,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[typescript/class/declare-new-line-abstract/input.ts:1:8] 1 │ declare abstract - · ─ + · ▲ 2 │ class A {} ╰──── help: Try insert a semicolon here @@ -10182,7 +10182,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[typescript/class/optional-async-error/input.js:3:11] 2 │ class A extends B { 3 │ async? method(val: string): Promise; - · ─ + · ▲ 4 │ } ╰──── help: Try insert a semicolon here @@ -10409,7 +10409,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[typescript/interface/declare-new-line/input.ts:1:8] 1 │ declare interface - · ─ + · ▲ 2 │ I ╰──── help: Try insert a semicolon here @@ -10464,7 +10464,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[typescript/interface/invalid-abstract-interface/input.ts:1:9] 1 │ abstract interface - · ─ + · ▲ 2 │ Foo {} ╰──── help: Try insert a semicolon here @@ -10480,7 +10480,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[typescript/interface/new-line-error/input.ts:2:2] 1 │ interface 2 │ F {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -10494,7 +10494,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[typescript/module-namespace/module-declare-new-line/input.ts:6:8] 5 │ 6 │ declare module - · ─ + · ▲ 7 │ 'bar' ╰──── help: Try insert a semicolon here @@ -10503,7 +10503,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[typescript/module-namespace/module-new-line-error/input.ts:2:4] 1 │ module 2 │ Foo {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -10511,7 +10511,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[typescript/module-namespace/namespace-declare-new-line/input.ts:6:8] 5 │ 6 │ declare namespace - · ─ + · ▲ 7 │ barbar ╰──── help: Try insert a semicolon here @@ -10520,7 +10520,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" ╭─[typescript/module-namespace/namespace-new-line-error/input.ts:2:4] 1 │ namespace 2 │ Foo {} - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -10807,7 +10807,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[typescript/type-alias/declare-new-line/input.ts:1:8] 1 │ declare type - · ─ + · ▲ 2 │ T = number ╰──── help: Try insert a semicolon here @@ -10815,7 +10815,7 @@ Expect to Parse: "typescript/types/const-type-parameters-babel-7/input.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[typescript/type-arguments/new-without-arguments-missing-semicolon/input.ts:1:9] 1 │ new A if (0); - · ─ + · ▲ ╰──── help: Try insert a semicolon here diff --git a/tasks/coverage/parser_misc.snap b/tasks/coverage/parser_misc.snap index 350905d2df719..78647df29b260 100644 --- a/tasks/coverage/parser_misc.snap +++ b/tasks/coverage/parser_misc.snap @@ -1,7 +1,7 @@ parser_misc Summary: AST Parsed : 23/23 (100.00%) Positive Passed: 23/23 (100.00%) -Negative Passed: 11/11 (100.00%) +Negative Passed: 12/12 (100.00%) × Unexpected token ╭─[fail/oxc-169.js:2:1] @@ -159,6 +159,13 @@ Negative Passed: 11/11 (100.00%) 9 │ } ╰──── + × Expected a semicolon or an implicit semicolon after a statement, but found none + ╭─[fail/oxc-4111-1.js:1:35] + 1 │ funtransientction as longciiConÞr>ol(cde) { + · ▲ + ╰──── + help: Try insert a semicolon here + × The keyword 'let' is reserved ╭─[fail/oxc.js:1:1] 1 │ let.a = 1; diff --git a/tasks/coverage/parser_test262.snap b/tasks/coverage/parser_test262.snap index 67c9743c10d34..214a54144fb7c 100644 --- a/tasks/coverage/parser_test262.snap +++ b/tasks/coverage/parser_test262.snap @@ -74,7 +74,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/asi/S7.9.2_A1_T1.js:16:4] 15 │ //CHECK#1 16 │ { 1 2 } 3 - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -119,7 +119,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/asi/S7.9_A10_T8.js:16:3] 15 │ //CHECK#1 16 │ {1 2} 3 - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -127,7 +127,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/asi/S7.9_A11_T4.js:17:17] 16 │ var x = 0; 17 │ if (false) x = 1 else x = -1 - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -1462,7 +1462,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/comments/hashbang/multi-line-comment.js:3:6] 2 │ throw "Test262: This statement should not be evaluated."; 3 │ these characters should not be considered within a comment - · ─ + · ▲ 4 │ */ ╰──── help: Try insert a semicolon here @@ -1533,7 +1533,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/comments/multi-line-html-close-extra.js:25:7] 24 │ /* 25 │ */ the comment should not include these characters, regardless of AnnexB extensions --> - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -3036,7 +3036,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/assignmenttargettype/direct-arrowfunction-0.js:20:9] 19 │ 20 │ () => {} = 1; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -3086,7 +3086,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/assignmenttargettype/direct-asyncarrowfunction-0.js:20:15] 19 │ 20 │ async () => {} = 1; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -5297,7 +5297,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js:14:17] 13 │ $DONOTEVALUATE(); 14 │ async(x = await) => { } - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -5365,7 +5365,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/async-arrow-function/early-errors-arrow-formals-lineterminator.js:33:6] 32 │ async 33 │ (foo) => { } - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -8960,7 +8960,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/fields-asi-3.js:17:8] 16 │ x = "string" 17 │ [0]() {} - · ─ + · ▲ 18 │ } ╰──── help: Try insert a semicolon here @@ -8969,7 +8969,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/fields-asi-4.js:17:9] 16 │ x = 42 17 │ *gen() {} - · ─ + · ▲ 18 │ } ╰──── help: Try insert a semicolon here @@ -8978,7 +8978,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/fields-asi-same-line-1.js:16:8] 15 │ var C = class { 16 │ field /* no ASI here */ method(){} - · ─────────────────── + · ▲ 17 │ } ╰──── help: Try insert a semicolon here @@ -8987,7 +8987,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/fields-asi-same-line-2.js:16:12] 15 │ var C = class { 16 │ field = 1 /* no ASI here */ method(){} - · ─────────────────── + · ▲ 17 │ } ╰──── help: Try insert a semicolon here @@ -9316,7 +9316,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/nested-equality-init-err-contains-arguments.js:32:15] 31 │ var C = class { 32 │ x = () => {} == arguments; - · ─ + · ▲ 33 │ } ╰──── help: Try insert a semicolon here @@ -9325,7 +9325,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/nested-equality-init-err-contains-super.js:25:15] 24 │ var C = class { 25 │ x = () => {} == super(); - · ─ + · ▲ 26 │ } ╰──── help: Try insert a semicolon here @@ -11032,7 +11032,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/syntax/early-errors/grammar-fields-same-line-error.js:32:4] 31 │ var C = class { 32 │ x y - · ─ + · ▲ 33 │ }; ╰──── help: Try insert a semicolon here @@ -11343,7 +11343,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-accessor-get-meth.js:28:6] 27 │ var C = class { 28 │ get # m() {} - · ─ + · ▲ 29 │ }; ╰──── help: Try insert a semicolon here @@ -11360,7 +11360,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-accessor-set-meth.js:28:6] 27 │ var C = class { 28 │ set # m(_) {} - · ─ + · ▲ 29 │ }; ╰──── help: Try insert a semicolon here @@ -11385,7 +11385,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-async-meth.js:28:8] 27 │ var C = class { 28 │ async # m() {} - · ─ + · ▲ 29 │ }; ╰──── help: Try insert a semicolon here @@ -11450,7 +11450,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-get-meth.js:28:13] 27 │ var C = class { 28 │ static get # m() {} - · ─ + · ▲ 29 │ }; ╰──── help: Try insert a semicolon here @@ -11467,7 +11467,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-set-meth.js:28:13] 27 │ var C = class { 28 │ static set # m(_) {} - · ─ + · ▲ 29 │ }; ╰──── help: Try insert a semicolon here @@ -11492,7 +11492,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-static-async-meth.js:28:15] 27 │ var C = class { 28 │ static async # m() {} - · ─ + · ▲ 29 │ }; ╰──── help: Try insert a semicolon here @@ -11509,7 +11509,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-static-field-init.js:28:9] 27 │ var C = class { 28 │ static # x = 1; - · ─ + · ▲ 29 │ }; ╰──── help: Try insert a semicolon here @@ -11526,7 +11526,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-static-field.js:28:9] 27 │ var C = class { 28 │ static # x; - · ─ + · ▲ 29 │ }; ╰──── help: Try insert a semicolon here @@ -11551,7 +11551,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-static-meth.js:28:9] 27 │ var C = class { 28 │ static # m() {} - · ─ + · ▲ 29 │ }; ╰──── help: Try insert a semicolon here @@ -11560,7 +11560,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/class/elements/syntax/early-errors/grammar-privatenames-same-line-error.js:35:5] 34 │ var C = class { 35 │ #x #y - · ─ + · ▲ 36 │ }; ╰──── help: Try insert a semicolon here @@ -14560,7 +14560,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/generators/yield-weak-binding.js:16:38] 15 │ 16 │ var g = function*() { yield 3 + yield 4; }; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -16224,7 +16224,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/expressions/object/method-definition/yield-weak-binding.js:17:25] 16 │ var obj = { 17 │ *g() { yield 3 + yield 4; } - · ─ + · ▲ 18 │ }; ╰──── help: Try insert a semicolon here @@ -18178,7 +18178,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[language/line-terminators/invalid-comment-single-cr.js:17:6] 16 │ // this text is not included in the single-line comment that precedes it - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -18186,7 +18186,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/line-terminators/invalid-comment-single-lf.js:17:5] 16 │ //single 17 │ line comment - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -20411,7 +20411,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/module-code/parse-err-export-dflt-let.js:15:19] 14 │ 15 │ export default let x; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -20469,7 +20469,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/module-code/parse-err-semi-dflt-expr.js:27:20] 26 │ 27 │ export default null null; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -20477,7 +20477,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/module-code/parse-err-semi-export-star.js:27:48] 26 │ 27 │ export * from './parse-err-semi-export-star.js' null; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -20485,7 +20485,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/module-code/parse-err-semi-name-space-export.js:28:67] 27 │ 28 │ export * as namespace from './parse-err-semi-name-space-export.js' null; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -20493,7 +20493,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/module-code/parse-err-semi-named-export-from.js:27:56] 26 │ 27 │ export {} from './parse-err-semi-export-clause-from.js' null; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -20501,7 +20501,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/module-code/parse-err-semi-named-export.js:27:10] 26 │ 27 │ export {} null; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -21168,7 +21168,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/async-function/let-newline-await-in-async-function.js:23:10] 22 │ let 23 │ await 0; - · ─ + · ▲ 24 │ } ╰──── help: Try insert a semicolon here @@ -22644,7 +22644,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/definition/methods-gen-yield-weak-binding.js:17:25] 16 │ class A { 17 │ *g() { yield 3 + yield 4; } - · ─ + · ▲ 18 │ } ╰──── help: Try insert a semicolon here @@ -24321,7 +24321,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/fields-asi-3.js:17:8] 16 │ x = "string" 17 │ [0]() {} - · ─ + · ▲ 18 │ } ╰──── help: Try insert a semicolon here @@ -24330,7 +24330,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/fields-asi-4.js:17:9] 16 │ x = 42 17 │ *gen() {} - · ─ + · ▲ 18 │ } ╰──── help: Try insert a semicolon here @@ -24339,7 +24339,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/fields-asi-same-line-1.js:16:8] 15 │ class C { 16 │ field /* no ASI here */ method(){} - · ─────────────────── + · ▲ 17 │ } ╰──── help: Try insert a semicolon here @@ -24348,7 +24348,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/fields-asi-same-line-2.js:16:12] 15 │ class C { 16 │ field = 1 /* no ASI here */ method(){} - · ─────────────────── + · ▲ 17 │ } ╰──── help: Try insert a semicolon here @@ -24677,7 +24677,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/nested-equality-init-err-contains-arguments.js:32:15] 31 │ class C { 32 │ x = () => {} == arguments; - · ─ + · ▲ 33 │ } ╰──── help: Try insert a semicolon here @@ -24686,7 +24686,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/nested-equality-init-err-contains-super.js:25:15] 24 │ class C { 25 │ x = () => {} == super(); - · ─ + · ▲ 26 │ } ╰──── help: Try insert a semicolon here @@ -26454,7 +26454,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/syntax/early-errors/grammar-fields-same-line-error.js:32:4] 31 │ class C { 32 │ x y - · ─ + · ▲ 33 │ } ╰──── help: Try insert a semicolon here @@ -26765,7 +26765,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-accessor-get-meth.js:28:6] 27 │ class C { 28 │ get # m() {} - · ─ + · ▲ 29 │ } ╰──── help: Try insert a semicolon here @@ -26782,7 +26782,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-accessor-set-meth.js:28:6] 27 │ class C { 28 │ set # m(_) {} - · ─ + · ▲ 29 │ } ╰──── help: Try insert a semicolon here @@ -26807,7 +26807,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-async-meth.js:28:8] 27 │ class C { 28 │ async # m() {} - · ─ + · ▲ 29 │ } ╰──── help: Try insert a semicolon here @@ -26872,7 +26872,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-get-meth.js:28:13] 27 │ class C { 28 │ static get # m() {} - · ─ + · ▲ 29 │ } ╰──── help: Try insert a semicolon here @@ -26889,7 +26889,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-set-meth.js:28:13] 27 │ class C { 28 │ static set # m(_) {} - · ─ + · ▲ 29 │ } ╰──── help: Try insert a semicolon here @@ -26914,7 +26914,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-static-async-meth.js:28:15] 27 │ class C { 28 │ static async # m() {} - · ─ + · ▲ 29 │ } ╰──── help: Try insert a semicolon here @@ -26931,7 +26931,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-static-field-init.js:28:9] 27 │ class C { 28 │ static # x = 1; - · ─ + · ▲ 29 │ } ╰──── help: Try insert a semicolon here @@ -26948,7 +26948,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-static-field.js:28:9] 27 │ class C { 28 │ static # x; - · ─ + · ▲ 29 │ } ╰──── help: Try insert a semicolon here @@ -26973,7 +26973,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/syntax/early-errors/grammar-privatename-whitespace-error-static-meth.js:28:9] 27 │ class C { 28 │ static # m() {} - · ─ + · ▲ 29 │ } ╰──── help: Try insert a semicolon here @@ -26982,7 +26982,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/class/elements/syntax/early-errors/grammar-privatenames-same-line-error.js:35:5] 34 │ class C { 35 │ #x #y - · ─ + · ▲ 36 │ } ╰──── help: Try insert a semicolon here @@ -28757,7 +28757,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/do-while/decl-let.js:14:7] 13 │ 14 │ do let x; while (false) - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -29015,7 +29015,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/for/decl-let.js:14:21] 13 │ 14 │ for ( ; false; ) let x; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -30030,7 +30030,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/for-in/decl-let.js:14:22] 13 │ 14 │ for (var x in {}) let y; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -30536,7 +30536,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/for-of/decl-let.js:14:22] 13 │ 14 │ for (var x of []) let y; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -31970,7 +31970,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/generators/yield-weak-binding.js:16:32] 15 │ 16 │ function* g() { yield 3 + yield 4; } - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32320,7 +32320,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/if/if-let-else-let.js:14:14] 13 │ 14 │ if (true) let x; else let y; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32328,7 +32328,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/if/if-let-else-stmt.js:14:14] 13 │ 14 │ if (true) let x; else ; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32336,7 +32336,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/if/if-let-no-else.js:14:14] 13 │ 14 │ if (true) let x; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32421,7 +32421,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/if/if-stmt-else-let.js:14:22] 13 │ 14 │ if (false) ; else let x; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32542,7 +32542,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/labeled/decl-let.js:14:11] 13 │ 14 │ label: let x; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32706,7 +32706,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/let/syntax/let-newline-await-in-normal-function.js:23:10] 22 │ let 23 │ await 0; - · ─ + · ▲ 24 │ } ╰──── help: Try insert a semicolon here @@ -32723,7 +32723,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/let/syntax/let-newline-yield-in-generator-function.js:24:10] 23 │ let 24 │ yield 0; - · ─ + · ▲ 25 │ } ╰──── help: Try insert a semicolon here @@ -32732,7 +32732,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/let/syntax/let-newline-yield-in-normal-function.js:22:10] 21 │ let 22 │ yield 0; - · ─ + · ▲ 23 │ } ╰──── help: Try insert a semicolon here @@ -32741,7 +32741,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/let/syntax/with-initialisers-in-statement-positions-do-statement-while-expression.js:14:7] 13 │ $DONOTEVALUATE(); 14 │ do let x = 1; while (false) - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32749,7 +32749,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/let/syntax/with-initialisers-in-statement-positions-for-statement.js:14:18] 13 │ $DONOTEVALUATE(); 14 │ for (;false;) let x = 1; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32757,7 +32757,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/let/syntax/with-initialisers-in-statement-positions-if-expression-statement-else-statement.js:14:22] 13 │ $DONOTEVALUATE(); 14 │ if (true) {} else let x = 1; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32765,7 +32765,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/let/syntax/with-initialisers-in-statement-positions-if-expression-statement.js:14:14] 13 │ $DONOTEVALUATE(); 14 │ if (true) let x = 1; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32773,7 +32773,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/let/syntax/with-initialisers-in-statement-positions-label-statement.js:14:11] 13 │ $DONOTEVALUATE(); 14 │ label: let x = 1; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32781,7 +32781,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/let/syntax/with-initialisers-in-statement-positions-while-expression-statement.js:14:18] 13 │ $DONOTEVALUATE(); 14 │ while (false) let x = 1; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32789,7 +32789,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/let/syntax/without-initialisers-in-statement-positions-do-statement-while-expression.js:14:7] 13 │ $DONOTEVALUATE(); 14 │ do let x; while (false) - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32797,7 +32797,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/let/syntax/without-initialisers-in-statement-positions-for-statement.js:14:18] 13 │ $DONOTEVALUATE(); 14 │ for (;false;) let x; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32805,7 +32805,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/let/syntax/without-initialisers-in-statement-positions-if-expression-statement-else-statement.js:14:22] 13 │ $DONOTEVALUATE(); 14 │ if (true) {} else let x; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32813,7 +32813,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/let/syntax/without-initialisers-in-statement-positions-if-expression-statement.js:14:14] 13 │ $DONOTEVALUATE(); 14 │ if (true) let x; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32821,7 +32821,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/let/syntax/without-initialisers-in-statement-positions-label-statement.js:14:11] 13 │ $DONOTEVALUATE(); 14 │ label: let x; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -32829,7 +32829,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/let/syntax/without-initialisers-in-statement-positions-while-expression-statement.js:14:18] 13 │ $DONOTEVALUATE(); 14 │ while (false) let x; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -33781,7 +33781,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/variable/S12.2_A8_T1.js:17:6] 16 │ //CHECK#1 17 │ var x += 1; - · ─ + · ▲ 18 │ // ╰──── help: Try insert a semicolon here @@ -33790,7 +33790,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/variable/S12.2_A8_T2.js:17:6] 16 │ //CHECK#1 17 │ var x | true; - · ─ + · ▲ 18 │ // ╰──── help: Try insert a semicolon here @@ -33799,7 +33799,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/variable/S12.2_A8_T3.js:17:6] 16 │ //CHECK#1 17 │ var x && 1; - · ─ + · ▲ 18 │ // ╰──── help: Try insert a semicolon here @@ -33843,7 +33843,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/variable/S12.2_A8_T8.js:19:6] 18 │ //CHECK#1 19 │ var x in __arr; - · ─ + · ▲ 20 │ // ╰──── help: Try insert a semicolon here @@ -34305,7 +34305,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/while/decl-let.js:14:18] 13 │ 14 │ while (false) let x; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -34405,7 +34405,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╭─[language/statements/with/decl-let.js:15:14] 14 │ 15 │ with ({}) let x; - · ─ + · ▲ ╰──── help: Try insert a semicolon here diff --git a/tasks/coverage/parser_typescript.snap b/tasks/coverage/parser_typescript.snap index a354da75413ca..b4e49bf512a29 100644 --- a/tasks/coverage/parser_typescript.snap +++ b/tasks/coverage/parser_typescript.snap @@ -3892,7 +3892,7 @@ Expect to Parse: "conformance/esDecorators/esDecorators-decoratorExpression.1.ts ╭─[conformance/esDecorators/esDecorators-decoratorExpression.1.ts:13:12] 12 │ 13 │ { @x?.["y"] class C {} } - · ─ + · ▲ 14 │ ╰──── help: Try insert a semicolon here @@ -3950,7 +3950,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/ClassDeclaration26.ts:2:17] 1 │ class C { 2 │ public const var export foo = 10; - · ─ + · ▲ 3 │ ╰──── help: Try insert a semicolon here @@ -3959,7 +3959,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/ClassDeclarationWithInvalidConstOnPropertyDeclaration.ts:2:15] 1 │ class AtomicNumbers { 2 │ static const H = 1; - · ─ + · ▲ 3 │ } ╰──── help: Try insert a semicolon here @@ -4115,7 +4115,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[compiler/anonymousModules.ts:1:7] 1 │ module { - · ─ + · ▲ 2 │ export var foo = 1; ╰──── help: Try insert a semicolon here @@ -4699,7 +4699,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/castOfYield.ts:4:19] 3 │ // Unlike await, yield is not allowed to appear in a simple unary expression. 4 │ yield 0; - · ─ + · ▲ 5 │ } ╰──── help: Try insert a semicolon here @@ -4729,7 +4729,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[compiler/class2.ts:1:35] 1 │ class foo { constructor() { static f = 3; } } - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -4749,7 +4749,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/classExpressionPropertyModifiers.ts:3:11] 2 │ declare [Symbol.toStringTag] = "uh"; 3 │ export foo = 1; - · ─ + · ▲ 4 │ } ╰──── help: Try insert a semicolon here @@ -4790,7 +4790,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/classUpdateTests.ts:93:9] 92 │ constructor() { 93 │ public p1 = 0; // ERROR - · ─ + · ▲ 94 │ } ╰──── help: Try insert a semicolon here @@ -5338,7 +5338,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/commonMissingSemicolons.ts:2:6] 1 │ async function myAsyncFunction1() {} 2 │ asynd function myAsyncFunction2() {} - · ─ + · ▲ 3 │ sasync function myAsyncFunction3() {} ╰──── help: Try insert a semicolon here @@ -5624,7 +5624,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/constInClassExpression.ts:2:10] 1 │ let C = class { 2 │ const a = 4; - · ─ + · ▲ 3 │ }; ╰──── help: Try insert a semicolon here @@ -6326,7 +6326,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/enumConflictsWithGlobalIdentifier.ts:5:4] 4 │ var x = IgnoreRulesSpecific. 5 │ var y = Position.IgnoreRulesSpecific; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -6344,7 +6344,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/enumMemberResolution.ts:5:4] 4 │ var x = IgnoreRulesSpecific. // error 5 │ var y = 1; - · ─ + · ▲ 6 │ var z = Position2.IgnoreRulesSpecific; // no error ╰──── help: Try insert a semicolon here @@ -6392,7 +6392,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/errorRecoveryWithDotFollowedByNamespaceKeyword.ts:7:18] 6 │ 7 │ namespace B { - · ─ + · ▲ 8 │ export function baz() { } ╰──── help: Try insert a semicolon here @@ -6636,7 +6636,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[compiler/externModule.ts:1:8] 1 │ declare module { - · ─ + · ▲ 2 │ export class XDate { ╰──── help: Try insert a semicolon here @@ -6654,7 +6654,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/fatarrowfunctionsOptionalArgs.ts:88:22] 87 │ //multiple levels 88 │ (a?) => { return a; } ? (b)=>(c)=>81 : (c)=>(d)=>82; - · ─ + · ▲ 89 │ ╰──── help: Try insert a semicolon here @@ -6685,7 +6685,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[compiler/fatarrowfunctionsOptionalArgsErrors2.ts:1:22] 1 │ var tt1 = (a, (b, c)) => a+b+c; - · ─ + · ▲ 2 │ var tt2 = ((a), b, c) => a+b+c; ╰──── help: Try insert a semicolon here @@ -6849,7 +6849,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/illegalModifiersOnClassElements.ts:3:11] 2 │ declare foo = 1; 3 │ export bar = 1; - · ─ + · ▲ 4 │ } ╰──── help: Try insert a semicolon here @@ -7002,7 +7002,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/innerModExport1.ts:5:11] 4 │ var non_export_var: number; 5 │ module { - · ─ + · ▲ 6 │ var non_export_var = 0; ╰──── help: Try insert a semicolon here @@ -7011,7 +7011,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/innerModExport2.ts:5:11] 4 │ var non_export_var: number; 5 │ module { - · ─ + · ▲ 6 │ var non_export_var = 0; ╰──── help: Try insert a semicolon here @@ -7035,7 +7035,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[compiler/interfaceNaming1.ts:1:10] 1 │ interface { } - · ─ + · ▲ 2 │ interface interface{ } ╰──── help: Try insert a semicolon here @@ -7345,7 +7345,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/letDeclarations-invalidContexts.ts:3:8] 2 │ if (true) 3 │ let l1 = 0; - · ─ + · ▲ 4 │ else ╰──── help: Try insert a semicolon here @@ -7498,7 +7498,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/letDeclarations-scopes.ts:43:15] 42 │ if (true) { 43 │ label: let l = 0; - · ─ + · ▲ 44 │ n = l; ╰──── help: Try insert a semicolon here @@ -7507,7 +7507,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/letDeclarations-validContexts.ts:31:15] 30 │ if (true) { 31 │ label: let l8 = 0; - · ─ + · ▲ 32 │ } ╰──── help: Try insert a semicolon here @@ -7964,7 +7964,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/moduleKeywordRepeatError.ts:3:14] 2 │ 3 │ module.module { } - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -7972,7 +7972,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/moduleProperty1.ts:9:12] 8 │ var x = 10; // variable local to this module body 9 │ private y = x; // can't use private in modules - · ─ + · ▲ 10 │ export var z = y; // property visible to any code ╰──── help: Try insert a semicolon here @@ -8067,7 +8067,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/nestedGlobalNamespaceInClass.ts:3:11] 2 │ class C { 3 │ global x - · ─ + · ▲ 4 │ } ╰──── help: Try insert a semicolon here @@ -8663,7 +8663,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[compiler/parseInvalidNames.ts:1:10] 1 │ namespace 100 {} - · ─ + · ▲ 2 │ interface 100 {} ╰──── help: Try insert a semicolon here @@ -8826,7 +8826,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/propertyWrappedInTry.ts:3:8] 2 │ 3 │ try { - · ─ + · ▲ 4 │ ╰──── help: Try insert a semicolon here @@ -9293,7 +9293,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/staticClassProps.ts:4:15] 3 │ public foo() { 4 │ static z = 1; - · ─ + · ▲ 5 │ } ╰──── help: Try insert a semicolon here @@ -9326,7 +9326,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/staticsInConstructorBodies.ts:3:9] 2 │ constructor() { 3 │ static p1 = 0; // ERROR - · ─ + · ▲ 4 │ static m1() {} // ERROR ╰──── help: Try insert a semicolon here @@ -10102,7 +10102,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/taggedTemplatesWithIncompleteNoSubstitutionTemplate1.ts:5:2] 4 │ // Incomplete call, not enough parameters. 5 │ f `123qdawdrqw - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -10117,7 +10117,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/taggedTemplatesWithIncompleteNoSubstitutionTemplate2.ts:5:2] 4 │ // Incomplete call, not enough parameters, at EOF. 5 │ f ` - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -10434,7 +10434,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[compiler/typeAliasDeclareKeywordNewlines.ts:4:8] 3 │ // The following is invalid but should declare a type alias named 'T1': 4 │ declare type /*unexpected newline*/ - · ─ + · ▲ 5 │ T1 = null; ╰──── help: Try insert a semicolon here @@ -10534,7 +10534,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[compiler/unparenthesizedConstructorTypeInUnionOrIntersection.ts:1:23] 1 │ type U1 = string | new () => void; - · ─ + · ▲ 2 │ type U2 = string | new (foo: number) => void ╰──── help: Try insert a semicolon here @@ -10576,7 +10576,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[compiler/validRegexp.ts:1:23] 1 │ var x = / [a - z /]$ / i; - · ─ + · ▲ 2 │ var x1 = /[a-z/]$/i; ╰──── help: Try insert a semicolon here @@ -10654,7 +10654,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/ambient/ambientModuleDeclarationWithReservedIdentifierInDottedPath.ts:11:8] 10 │ 11 │ declare module debugger {} // still an error - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -10662,7 +10662,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/ambient/ambientModuleDeclarationWithReservedIdentifierInDottedPath2.ts:9:8] 8 │ 9 │ declare namespace debugger {} // still an error - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -11275,7 +11275,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/classes/classDeclarations/classBody/classBodyWithStatements.ts:2:8] 1 │ class C { 2 │ var x = 1; - · ─ + · ▲ 3 │ } ╰──── help: Try insert a semicolon here @@ -12472,7 +12472,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/classes/nestedClassDeclaration.ts:5:10] 4 │ x: string; 5 │ class C2 { - · ─ + · ▲ 6 │ } ╰──── help: Try insert a semicolon here @@ -12688,7 +12688,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/decorators/class/accessor/decoratorOnClassAccessor3.ts:4:11] 3 │ class C { 4 │ public @dec get accessor() { return 1; } - · ─ + · ▲ 5 │ } ╰──── help: Try insert a semicolon here @@ -12697,7 +12697,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts:4:11] 3 │ class C { 4 │ public @dec set accessor(value: number) { } - · ─ + · ▲ 5 │ } ╰──── help: Try insert a semicolon here @@ -12715,7 +12715,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/decorators/class/method/decoratorOnClassMethod17.ts:4:17] 3 │ class Foo { 4 │ private prop @decorator - · ─ + · ▲ 5 │ foo() { ╰──── help: Try insert a semicolon here @@ -12724,7 +12724,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/decorators/class/method/decoratorOnClassMethod3.ts:4:11] 3 │ class C { 4 │ public @dec method() {} - · ─ + · ▲ 5 │ } ╰──── help: Try insert a semicolon here @@ -12750,7 +12750,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/decorators/class/property/decoratorOnClassProperty3.ts:4:11] 3 │ class C { 4 │ public @dec prop; - · ─ + · ▲ 5 │ } ╰──── help: Try insert a semicolon here @@ -13844,7 +13844,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[conformance/es6/templates/templateStringInModuleName.ts:1:8] 1 │ declare module `M1` { - · ─ + · ▲ 2 │ } ╰──── help: Try insert a semicolon here @@ -13852,7 +13852,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[conformance/es6/templates/templateStringInModuleNameES6.ts:1:8] 1 │ declare module `M1` { - · ─ + · ▲ 2 │ } ╰──── help: Try insert a semicolon here @@ -15837,7 +15837,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/expressions/newOperator/newOperatorErrorCases.ts:26:15] 25 │ // Construct expression with no parentheses for construct signature with > 0 parameters 26 │ var b = new C0 32, ''; // Parse error - · ─ + · ▲ 27 │ ╰──── help: Try insert a semicolon here @@ -16113,7 +16113,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/expressions/typeGuards/typeGuardFunctionErrors.ts:17:56] 16 │ 17 │ function hasTypeGuardTypeInsideTypeGuardType(x): x is x is A { - · ─ + · ▲ 18 │ return true; ╰──── help: Try insert a semicolon here @@ -16122,7 +16122,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/expressions/typeGuards/typeGuardOfFormThisMember.ts:4:14] 3 │ export class FileSystemObject { 4 │ isFSO: this is FileSystemObject; - · ─ + · ▲ 5 │ get isFile(): this is File { ╰──── help: Try insert a semicolon here @@ -16131,7 +16131,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/expressions/typeGuards/typeGuardOfFormThisMemberErrors.ts:4:14] 3 │ export class FileSystemObject { 4 │ isFSO: this is FileSystemObject; - · ─ + · ▲ 5 │ get isFile(): this is File { ╰──── help: Try insert a semicolon here @@ -16139,14 +16139,14 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[conformance/expressions/typeGuards/typePredicateOnVariableDeclaration01.ts:1:12] 1 │ var x: this is string; - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[conformance/expressions/typeGuards/typePredicateOnVariableDeclaration02.ts:1:9] 1 │ var y: z is number; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -16203,7 +16203,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/expressions/unaryOperators/deleteOperator/deleteOperatorInvalidOperations.ts:5:19] 4 │ // operand before delete operator 5 │ var BOOLEAN1 = ANY delete ; //expect error - · ─ + · ▲ 6 │ ╰──── help: Try insert a semicolon here @@ -16275,7 +16275,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/expressions/unaryOperators/typeofOperator/typeofOperatorInvalidOperations.ts:4:14] 3 │ // opreand before typeof 4 │ var ANY = ANY typeof ; //expect error - · ─ + · ▲ 5 │ ╰──── help: Try insert a semicolon here @@ -16284,7 +16284,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/expressions/unaryOperators/voidOperator/voidOperatorInvalidOperations.ts:4:14] 3 │ // operand before void 4 │ var ANY = ANY void ; //expect error - · ─ + · ▲ 5 │ ╰──── help: Try insert a semicolon here @@ -16565,7 +16565,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/interfaces/interfaceDeclarations/interfacesWithPredefinedTypesAsNames.ts:5:10] 4 │ interface boolean { } 5 │ interface void {} - · ─ + · ▲ 6 │ interface unknown {} ╰──── help: Try insert a semicolon here @@ -17063,7 +17063,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression2.ts:1:14] 1 │ a = () => { } || a - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -17086,7 +17086,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/parser/ecmascript5/ConstructorDeclarations/parserConstructorDeclaration3.ts:2:9] 1 │ class C { 2 │ export constructor() { } - · ─ + · ▲ 3 │ } ╰──── help: Try insert a semicolon here @@ -17256,7 +17256,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/parser/ecmascript5/ErrorRecovery/Blocks/parserErrorRecovery_Block3.ts:4:12] 3 │ 4 │ private b(): boolean { - · ─ + · ▲ 5 │ } ╰──── help: Try insert a semicolon here @@ -17265,7 +17265,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/parser/ecmascript5/ErrorRecovery/ClassElements/parserErrorRecovery_ClassElement1.ts:5:6] 4 │ // this as a source unit element. 5 │ class D { - · ─ + · ▲ 6 │ } ╰──── help: Try insert a semicolon here @@ -17274,7 +17274,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/parser/ecmascript5/ErrorRecovery/ClassElements/parserErrorRecovery_ClassElement2.ts:4:7] 3 │ 4 │ enum E { - · ─ + · ▲ 5 │ } ╰──── help: Try insert a semicolon here @@ -17371,7 +17371,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/parser/ecmascript5/ErrorRecovery/IfStatements/parserErrorRecoveryIfStatement5.ts:5:7] 4 │ } 5 │ f2() { - · ─ + · ▲ 6 │ } ╰──── help: Try insert a semicolon here @@ -17380,7 +17380,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/parser/ecmascript5/ErrorRecovery/IfStatements/parserErrorRecoveryIfStatement6.ts:5:9] 4 │ } 5 │ public f2() { - · ─ + · ▲ 6 │ } ╰──── help: Try insert a semicolon here @@ -17389,7 +17389,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/parser/ecmascript5/ErrorRecovery/IncompleteMemberVariables/parserErrorRecovery_IncompleteMemberVariable2.ts:12:21] 11 │ 12 │ public con:C "hello"; - · ─ + · ▲ 13 │ // Constructor ╰──── help: Try insert a semicolon here @@ -17571,7 +17571,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/parser/ecmascript5/ErrorRecovery/parserErrantAccessibilityModifierInModule1.ts:3:12] 2 │ var x=10; // variable local to this module body 3 │ private y=x; // property visible only in module - · ─ + · ▲ 4 │ export var z=y; // property visible to any code ╰──── help: Try insert a semicolon here @@ -17579,14 +17579,14 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[conformance/parser/ecmascript5/ErrorRecovery/parserErrantEqualsGreaterThanAfterFunction1.ts:1:13] 1 │ function f() => 4; - · ─ + · ▲ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[conformance/parser/ecmascript5/ErrorRecovery/parserErrantEqualsGreaterThanAfterFunction2.ts:1:17] 1 │ function f(p: A) => p; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -17601,7 +17601,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[conformance/parser/ecmascript5/ErrorRecovery/parserFuzz1.ts:1:8] 1 │ cla a+b+c; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -18288,7 +18288,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[conformance/parser/ecmascript5/RegressionTests/parser521128.ts:1:14] 1 │ module.module { } - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -18310,7 +18310,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/parser/ecmascript5/RegressionTests/parser585151.ts:2:6] 1 │ class Foo2 { 2 │ var icecream = "chocolate"; - · ─ + · ▲ 3 │ } ╰──── help: Try insert a semicolon here @@ -18442,7 +18442,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Expected a semicolon or an implicit semicolon after a statement, but found none ╭─[conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens13.ts:1:9] 1 │ /regexp/ \ ; - · ─ + · ▲ ╰──── help: Try insert a semicolon here @@ -19129,7 +19129,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName33.ts:4:11] 3 │ [e] = 0 4 │ [e2]() { } - · ─ + · ▲ 5 │ } ╰──── help: Try insert a semicolon here @@ -19576,7 +19576,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarations.6.ts:2:16] 1 │ { 2 │ await using {a} = null; - · ─ + · ▲ 3 │ } ╰──── help: Try insert a semicolon here @@ -19658,7 +19658,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarations.6.ts:2:10] 1 │ { 2 │ using {a} = null; - · ─ + · ▲ 3 │ } ╰──── help: Try insert a semicolon here @@ -20081,7 +20081,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel.ts:8:11] 7 │ label: var a = 1; 8 │ label: let b = 1; - · ─ + · ▲ 9 │ label: const c = 1; ╰──── help: Try insert a semicolon here @@ -20115,7 +20115,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_es2015.ts:8:11] 7 │ label: var a = 1; 8 │ label: let b = 1; - · ─ + · ▲ 9 │ label: const c = 1; ╰──── help: Try insert a semicolon here @@ -20149,7 +20149,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_strict.ts:9:11] 8 │ label: var a = 1; 9 │ label: let b = 1; - · ─ + · ▲ 10 │ label: const c = 1; ╰──── help: Try insert a semicolon here @@ -21287,7 +21287,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╭─[conformance/types/typeAliases/reservedNamesInAliases.ts:6:5] 5 │ type string = I; 6 │ type void = I; - · ─ + · ▲ 7 │ type object = I; ╰──── help: Try insert a semicolon here