diff --git a/tasks/coverage/parser_typescript.snap b/tasks/coverage/parser_typescript.snap index ab83b4ff64dde..72611f80d5b2f 100644 --- a/tasks/coverage/parser_typescript.snap +++ b/tasks/coverage/parser_typescript.snap @@ -1,8 +1,8 @@ commit: 64d2eeea parser_typescript Summary: -AST Parsed : 5240/5243 (99.94%) -Positive Passed: 5233/5243 (99.81%) +AST Parsed : 5242/5243 (99.98%) +Positive Passed: 5235/5243 (99.85%) Negative Passed: 1064/4879 (21.81%) Expect Syntax Error: "compiler/ClassDeclaration10.ts" Expect Syntax Error: "compiler/ClassDeclaration11.ts" @@ -3835,24 +3835,6 @@ Expect to Parse: "compiler/elidedEmbeddedStatementsReplacedWithSemicolon.ts" · ──── 24 │ const enum H {} ╰──── -Expect to Parse: "compiler/emitBundleWithShebang1.ts" - - × Invalid Character `!` - ╭─[compiler/emitBundleWithShebang1.ts:5:2] - 4 │ - 5 │ #!/usr/bin/env gjs - · ─ - 6 │ class Doo {} - ╰──── -Expect to Parse: "compiler/emitBundleWithShebangAndPrologueDirectives1.ts" - - × Invalid Character `!` - ╭─[compiler/emitBundleWithShebangAndPrologueDirectives1.ts:6:2] - 5 │ // @Filename: test.ts - 6 │ #!/usr/bin/env gjs - · ─ - 7 │ "use strict" - ╰──── Expect to Parse: "compiler/withStatementInternalComments.ts" × 'with' statements are not allowed @@ -3864,104 +3846,103 @@ Expect to Parse: "compiler/withStatementInternalComments.ts" Expect to Parse: "conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts" × Classes may not have a static property named prototype - ╭─[conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts:56:12] - 55 │ class StaticPrototype { - 56 │ static prototype: number; // always an error + ╭─[conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts:53:12] + 52 │ class StaticPrototype { + 53 │ static prototype: number; // always an error · ───────── - 57 │ prototype: string; // ok + 54 │ prototype: string; // ok ╰──── × Classes may not have a static property named prototype - ╭─[conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts:66:12] - 65 │ class StaticPrototypeFn { - 66 │ static prototype() {} // always an error + ╭─[conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts:63:12] + 62 │ class StaticPrototypeFn { + 63 │ static prototype() {} // always an error · ───────── - 67 │ prototype() {} // ok + 64 │ prototype() {} // ok ╰──── × Classes may not have a static property named prototype - ╭─[conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts:164:12] - 163 │ var StaticPrototype_Anonymous = class { - 164 │ static prototype: number; // always an error + ╭─[conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts:161:12] + 160 │ var StaticPrototype_Anonymous = class { + 161 │ static prototype: number; // always an error · ───────── - 165 │ prototype: string; // ok + 162 │ prototype: string; // ok ╰──── × Classes may not have a static property named prototype - ╭─[conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts:174:12] - 173 │ var StaticPrototypeFn_Anonymous = class { - 174 │ static prototype() {} // always an error + ╭─[conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts:171:12] + 170 │ var StaticPrototypeFn_Anonymous = class { + 171 │ static prototype() {} // always an error · ───────── - 175 │ prototype() {} // ok + 172 │ prototype() {} // ok ╰──── × Classes may not have a static property named prototype - ╭─[conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts:281:16] - 280 │ export default class StaticPrototype { - 281 │ static prototype: number; // always an error + ╭─[conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts:278:16] + 277 │ export default class StaticPrototype { + 278 │ static prototype: number; // always an error · ───────── - 282 │ prototype: string; // ok + 279 │ prototype: string; // ok ╰──── × Classes may not have a static property named prototype - ╭─[conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts:293:16] - 292 │ export default class StaticPrototypeFn { - 293 │ static prototype() {} // always an error + ╭─[conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts:290:16] + 289 │ export default class StaticPrototypeFn { + 290 │ static prototype() {} // always an error · ───────── - 294 │ prototype() {} // ok + 291 │ prototype() {} // ok ╰──── Expect to Parse: "conformance/es6/moduleExportsSystem/topLevelVarHoistingCommonJS.ts" × 'with' statements are not allowed - ╭─[conformance/es6/moduleExportsSystem/topLevelVarHoistingCommonJS.ts:68:1] - 67 │ // @ts-ignore - 68 │ with (_) { + ╭─[conformance/es6/moduleExportsSystem/topLevelVarHoistingCommonJS.ts:64:1] + 63 │ // @ts-ignore + 64 │ with (_) { · ──── - 69 │ var y = _; + 65 │ var y = _; ╰──── Expect to Parse: "conformance/externalModules/topLevelAwait.2.ts" × Cannot use `await` as an identifier in an async context - ╭─[conformance/externalModules/topLevelAwait.2.ts:7:8] - 6 │ // await allowed in import=namespace when not a module - 7 │ import await = foo.await; + ╭─[conformance/externalModules/topLevelAwait.2.ts:4:8] + 3 │ // await allowed in import=namespace when not a module + 4 │ import await = foo.await; · ───── ╰──── × The keyword 'await' is reserved - ╭─[conformance/externalModules/topLevelAwait.2.ts:7:8] - 6 │ // await allowed in import=namespace when not a module - 7 │ import await = foo.await; + ╭─[conformance/externalModules/topLevelAwait.2.ts:4:8] + 3 │ // await allowed in import=namespace when not a module + 4 │ import await = foo.await; · ───── ╰──── Expect to Parse: "conformance/externalModules/topLevelAwait.3.ts" × The keyword 'await' is reserved - ╭─[conformance/externalModules/topLevelAwait.3.ts:7:15] - 6 │ export {}; - 7 │ declare const await: any; + ╭─[conformance/externalModules/topLevelAwait.3.ts:3:15] + 2 │ export {}; + 3 │ declare const await: any; · ────────── - 8 │ declare class C extends await {} + 4 │ declare class C extends await {} ╰──── × The keyword 'await' is reserved - ╭─[conformance/externalModules/topLevelAwait.3.ts:8:25] - 7 │ declare const await: any; - 8 │ declare class C extends await {} + ╭─[conformance/externalModules/topLevelAwait.3.ts:4:25] + 3 │ declare const await: any; + 4 │ declare class C extends await {} · ───── ╰──── Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Identifier `orbitol` has already been declared - ╭─[conformance/salsa/plainJSRedeclare3.ts:5:7] - 4 │ // @filename: plainJSRedeclare.js - 5 │ const orbitol = 1 + ╭─[conformance/salsa/plainJSRedeclare3.ts:1:7] + 1 │ const orbitol = 1 · ───┬─── · ╰── `orbitol` has already been declared here - 6 │ var orbitol = 1 + false + 2 │ var orbitol = 1 + false · ───┬─── · ╰── It can not be redeclared here - 7 │ orbitol.toExponential() + 3 │ orbitol.toExponential() ╰──── × A parameter property is only allowed in a constructor implementation. @@ -4050,35 +4031,35 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × A parameter property is only allowed in a constructor implementation. - ╭─[compiler/accessorParameterAccessibilityModifier.ts:4:11] - 3 │ class C { - 4 │ set X(public v) { } + ╭─[compiler/accessorParameterAccessibilityModifier.ts:2:11] + 1 │ class C { + 2 │ set X(public v) { } · ──────── - 5 │ static set X(public v2) { } + 3 │ static set X(public v2) { } ╰──── × A parameter property is only allowed in a constructor implementation. - ╭─[compiler/accessorParameterAccessibilityModifier.ts:5:18] - 4 │ set X(public v) { } - 5 │ static set X(public v2) { } + ╭─[compiler/accessorParameterAccessibilityModifier.ts:3:18] + 2 │ set X(public v) { } + 3 │ static set X(public v2) { } · ───────── - 6 │ } + 4 │ } ╰──── × A 'set' accessor cannot have rest parameter. - ╭─[compiler/accessorWithRestParam.ts:4:11] - 3 │ class C { - 4 │ set X(...v) { } + ╭─[compiler/accessorWithRestParam.ts:2:11] + 1 │ class C { + 2 │ set X(...v) { } · ──── - 5 │ static set X(...v2) { } + 3 │ static set X(...v2) { } ╰──── × A 'set' accessor cannot have rest parameter. - ╭─[compiler/accessorWithRestParam.ts:5:18] - 4 │ set X(...v) { } - 5 │ static set X(...v2) { } + ╭─[compiler/accessorWithRestParam.ts:3:18] + 2 │ set X(...v) { } + 3 │ static set X(...v2) { } · ───── - 6 │ } + 4 │ } ╰──── × Unexpected token @@ -4195,12 +4176,12 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected `=>` but found `{` - ╭─[compiler/arrowFunctionsMissingTokens.ts:3:16] - 2 │ module missingArrowsWithCurly { - 3 │ var a = () { }; + ╭─[compiler/arrowFunctionsMissingTokens.ts:2:16] + 1 │ module missingArrowsWithCurly { + 2 │ var a = () { }; · ┬ · ╰── `=>` expected - 4 │ + 3 │ ╰──── × TS1108: A 'return' statement can only be used within a function body @@ -4573,12 +4554,12 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: Try insert a semicolon here × Expected `(` but found `await` - ╭─[compiler/awaitInNonAsyncFunction.ts:5:7] - 4 │ function normalFunc(p: Promise) { - 5 │ for await (const _ of []); + ╭─[compiler/awaitInNonAsyncFunction.ts:4:7] + 3 │ function normalFunc(p: Promise) { + 4 │ for await (const _ of []); · ──┬── · ╰── `(` expected - 6 │ return await p; + 5 │ return await p; ╰──── × `await` is only allowed within async functions and at the top levels of modules @@ -4669,11 +4650,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: A `break` statement can only be used within an enclosing iteration or switch statement. × Jump target cannot cross function boundary. - ╭─[compiler/breakTarget5.ts:7:13] - 6 │ while (true) { - 7 │ break target; + ╭─[compiler/breakTarget5.ts:5:13] + 4 │ while (true) { + 5 │ break target; · ────── - 8 │ } + 6 │ } ╰──── × Use of undefined label @@ -4724,14 +4705,14 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × 'super' can only be referenced in a derived class. - ╭─[compiler/checkSuperCallBeforeThisAccessing9.ts:17:1] - 16 │ /** @extends {Based} */ - 17 │ ╭─▶ class Derived2 { - 18 │ │ constructor() { - 19 │ │ super(); + ╭─[compiler/checkSuperCallBeforeThisAccessing9.ts:12:1] + 11 │ /** @extends {Based} */ + 12 │ ╭─▶ class Derived2 { + 13 │ │ constructor() { + 14 │ │ super(); · │ ───── - 20 │ │ } - 21 │ ├─▶ } + 15 │ │ } + 16 │ ├─▶ } · ╰──── class does not have `extends` ╰──── help: either remove this super, or extend the class @@ -4756,11 +4737,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[compiler/classExpressionPropertyModifiers.ts:7:11] - 6 │ declare [Symbol.toStringTag] = "uh"; - 7 │ export foo = 1; + ╭─[compiler/classExpressionPropertyModifiers.ts:3:11] + 2 │ declare [Symbol.toStringTag] = "uh"; + 3 │ export foo = 1; · ─ - 8 │ } + 4 │ } ╰──── help: Try insert a semicolon here @@ -5347,20 +5328,20 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[compiler/commonMissingSemicolons.ts:5:6] - 4 │ async function myAsyncFunction1() {} - 5 │ asynd function myAsyncFunction2() {} + ╭─[compiler/commonMissingSemicolons.ts:2:6] + 1 │ async function myAsyncFunction1() {} + 2 │ asynd function myAsyncFunction2() {} · ─ - 6 │ sasync function myAsyncFunction3() {} + 3 │ sasync function myAsyncFunction3() {} ╰──── help: Try insert a semicolon here × A 'get' accessor must not have any formal parameters. - ╭─[compiler/complicatedPrivacy.ts:12:26] - 11 │ export class C2 implements m3.i3 { - 12 │ public get p1(arg) { + ╭─[compiler/complicatedPrivacy.ts:11:26] + 10 │ export class C2 implements m3.i3 { + 11 │ public get p1(arg) { · ───── - 13 │ return new C1(); + 12 │ return new C1(); ╰──── × Unexpected token @@ -5410,91 +5391,100 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Identifier `y` has already been declared - ╭─[compiler/constDeclarationShadowedByVarDeclaration.ts:14:11] - 13 │ { - 14 │ const y = 0; + ╭─[compiler/constDeclarationShadowedByVarDeclaration.ts:12:11] + 11 │ { + 12 │ const y = 0; · ┬ · ╰── `y` has already been declared here - 15 │ { - 16 │ var y = 0; + 13 │ { + 14 │ var y = 0; · ┬ · ╰── It can not be redeclared here - 17 │ } + 15 │ } ╰──── × Identifier `z` has already been declared - ╭─[compiler/constDeclarationShadowedByVarDeclaration.ts:22:9] - 21 │ { - 22 │ const z = 0; + ╭─[compiler/constDeclarationShadowedByVarDeclaration.ts:20:9] + 19 │ { + 20 │ const z = 0; · ┬ · ╰── `z` has already been declared here - 23 │ var z = 0 + 21 │ var z = 0 · ┬ · ╰── It can not be redeclared here - 24 │ } + 22 │ } ╰──── × Missing initializer in const declaration - ╭─[compiler/constDeclarations-errors.ts:4:7] - 3 │ // error, missing intialicer - 4 │ const c1; + ╭─[compiler/constDeclarations-errors.ts:2:7] + 1 │ // error, missing intialicer + 2 │ const c1; · ── - 5 │ const c2: number; + 3 │ const c2: number; ╰──── × Missing initializer in const declaration - ╭─[compiler/constDeclarations-errors.ts:5:7] - 4 │ const c1; - 5 │ const c2: number; + ╭─[compiler/constDeclarations-errors.ts:3:7] + 2 │ const c1; + 3 │ const c2: number; · ────────── - 6 │ const c3, c4, c5 :string, c6; // error, missing initialicer + 4 │ const c3, c4, c5 :string, c6; // error, missing initialicer ╰──── × Missing initializer in const declaration - ╭─[compiler/constDeclarations-errors.ts:6:7] - 5 │ const c2: number; - 6 │ const c3, c4, c5 :string, c6; // error, missing initialicer + ╭─[compiler/constDeclarations-errors.ts:4:7] + 3 │ const c2: number; + 4 │ const c3, c4, c5 :string, c6; // error, missing initialicer · ── - 7 │ + 5 │ ╰──── × Missing initializer in const declaration - ╭─[compiler/constDeclarations-errors.ts:6:11] - 5 │ const c2: number; - 6 │ const c3, c4, c5 :string, c6; // error, missing initialicer + ╭─[compiler/constDeclarations-errors.ts:4:11] + 3 │ const c2: number; + 4 │ const c3, c4, c5 :string, c6; // error, missing initialicer · ── - 7 │ + 5 │ ╰──── × Missing initializer in const declaration - ╭─[compiler/constDeclarations-errors.ts:6:15] - 5 │ const c2: number; - 6 │ const c3, c4, c5 :string, c6; // error, missing initialicer + ╭─[compiler/constDeclarations-errors.ts:4:15] + 3 │ const c2: number; + 4 │ const c3, c4, c5 :string, c6; // error, missing initialicer · ────────── - 7 │ + 5 │ ╰──── × Missing initializer in const declaration - ╭─[compiler/constDeclarations-errors.ts:6:27] - 5 │ const c2: number; - 6 │ const c3, c4, c5 :string, c6; // error, missing initialicer + ╭─[compiler/constDeclarations-errors.ts:4:27] + 3 │ const c2: number; + 4 │ const c3, c4, c5 :string, c6; // error, missing initialicer · ── - 7 │ + 5 │ + ╰──── + + × Lexical declaration cannot appear in a single-statement context + ╭─[compiler/constDeclarations-invalidContexts.ts:3:5] + 2 │ if (true) + 3 │ const c1 = 0; + · ───────────── + 4 │ else ╰──── + help: Wrap this declaration in a block statement × Lexical declaration cannot appear in a single-statement context - ╭─[compiler/constDeclarations-invalidContexts.ts:6:5] - 5 │ if (true) - 6 │ const c1 = 0; + ╭─[compiler/constDeclarations-invalidContexts.ts:5:5] + 4 │ else + 5 │ const c2 = 0; · ───────────── - 7 │ else + 6 │ ╰──── help: Wrap this declaration in a block statement × Lexical declaration cannot appear in a single-statement context ╭─[compiler/constDeclarations-invalidContexts.ts:8:5] - 7 │ else - 8 │ const c2 = 0; + 7 │ while (true) + 8 │ const c3 = 0; · ───────────── 9 │ ╰──── @@ -5502,26 +5492,26 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Lexical declaration cannot appear in a single-statement context ╭─[compiler/constDeclarations-invalidContexts.ts:11:5] - 10 │ while (true) - 11 │ const c3 = 0; + 10 │ do + 11 │ const c4 = 0; · ───────────── - 12 │ + 12 │ while (true); ╰──── help: Wrap this declaration in a block statement × Lexical declaration cannot appear in a single-statement context - ╭─[compiler/constDeclarations-invalidContexts.ts:14:5] - 13 │ do - 14 │ const c4 = 0; + ╭─[compiler/constDeclarations-invalidContexts.ts:16:5] + 15 │ with (obj) + 16 │ const c5 = 0; // No Error will be reported here since we turn off all type checking · ───────────── - 15 │ while (true); + 17 │ ╰──── help: Wrap this declaration in a block statement × Lexical declaration cannot appear in a single-statement context ╭─[compiler/constDeclarations-invalidContexts.ts:19:5] - 18 │ with (obj) - 19 │ const c5 = 0; // No Error will be reported here since we turn off all type checking + 18 │ for (var i = 0; i < 10; i++) + 19 │ const c6 = 0; · ───────────── 20 │ ╰──── @@ -5529,107 +5519,98 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" × Lexical declaration cannot appear in a single-statement context ╭─[compiler/constDeclarations-invalidContexts.ts:22:5] - 21 │ for (var i = 0; i < 10; i++) - 22 │ const c6 = 0; + 21 │ for (var i2 in {}) + 22 │ const c7 = 0; · ───────────── 23 │ ╰──── help: Wrap this declaration in a block statement × Lexical declaration cannot appear in a single-statement context - ╭─[compiler/constDeclarations-invalidContexts.ts:25:5] - 24 │ for (var i2 in {}) - 25 │ const c7 = 0; - · ───────────── - 26 │ - ╰──── - help: Wrap this declaration in a block statement - - × Lexical declaration cannot appear in a single-statement context - ╭─[compiler/constDeclarations-invalidContexts.ts:28:12] - 27 │ if (true) - 28 │ label: const c8 = 0; + ╭─[compiler/constDeclarations-invalidContexts.ts:25:12] + 24 │ if (true) + 25 │ label: const c8 = 0; · ───────────── - 29 │ + 26 │ ╰──── help: Wrap this declaration in a block statement × Lexical declaration cannot appear in a single-statement context - ╭─[compiler/constDeclarations-invalidContexts.ts:31:29] - 30 │ while (false) - 31 │ label2: label3: label4: const c9 = 0; + ╭─[compiler/constDeclarations-invalidContexts.ts:28:29] + 27 │ while (false) + 28 │ label2: label3: label4: const c9 = 0; · ───────────── - 32 │ + 29 │ ╰──── help: Wrap this declaration in a block statement × 'with' statements are not allowed - ╭─[compiler/constDeclarations-invalidContexts.ts:18:1] - 17 │ var obj; - 18 │ with (obj) + ╭─[compiler/constDeclarations-invalidContexts.ts:15:1] + 14 │ var obj; + 15 │ with (obj) · ──── - 19 │ const c5 = 0; // No Error will be reported here since we turn off all type checking + 16 │ const c5 = 0; // No Error will be reported here since we turn off all type checking ╰──── × Lexical declaration cannot appear in a single-statement context - ╭─[compiler/constDeclarations-scopes.ts:45:12] - 44 │ if (true) { - 45 │ label: const c = 0; + ╭─[compiler/constDeclarations-scopes.ts:43:12] + 42 │ if (true) { + 43 │ label: const c = 0; · ──────────── - 46 │ n = c; + 44 │ n = c; ╰──── help: Wrap this declaration in a block statement × Lexical declaration cannot appear in a single-statement context - ╭─[compiler/constDeclarations-scopes.ts:50:29] - 49 │ while (false) { - 50 │ label2: label3: label4: const c = 0; + ╭─[compiler/constDeclarations-scopes.ts:48:29] + 47 │ while (false) { + 48 │ label2: label3: label4: const c = 0; · ──────────── - 51 │ n = c; + 49 │ n = c; ╰──── help: Wrap this declaration in a block statement × 'with' statements are not allowed - ╭─[compiler/constDeclarations-scopes.ts:29:1] - 28 │ var obj; - 29 │ with (obj) { + ╭─[compiler/constDeclarations-scopes.ts:27:1] + 26 │ var obj; + 27 │ with (obj) { · ──── - 30 │ const c = 0; + 28 │ const c = 0; ╰──── × Lexical declaration cannot appear in a single-statement context - ╭─[compiler/constDeclarations-validContexts.ts:35:12] - 34 │ if (true) { - 35 │ label: const c8 = 0; + ╭─[compiler/constDeclarations-validContexts.ts:31:12] + 30 │ if (true) { + 31 │ label: const c8 = 0; · ───────────── - 36 │ } + 32 │ } ╰──── help: Wrap this declaration in a block statement × Lexical declaration cannot appear in a single-statement context - ╭─[compiler/constDeclarations-validContexts.ts:39:29] - 38 │ while (false) { - 39 │ label2: label3: label4: const c9 = 0; + ╭─[compiler/constDeclarations-validContexts.ts:35:29] + 34 │ while (false) { + 35 │ label2: label3: label4: const c9 = 0; · ───────────── - 40 │ } + 36 │ } ╰──── help: Wrap this declaration in a block statement × Lexical declaration cannot appear in a single-statement context - ╭─[compiler/constDeclarations-validContexts.ts:68:18] - 67 │ const c16 = 0 - 68 │ label17: const c17 = 0; + ╭─[compiler/constDeclarations-validContexts.ts:64:18] + 63 │ const c16 = 0 + 64 │ label17: const c17 = 0; · ────────────── - 69 │ } + 65 │ } ╰──── help: Wrap this declaration in a block statement × 'with' statements are not allowed - ╭─[compiler/constDeclarations-validContexts.ts:22:1] - 21 │ var obj; - 22 │ with (obj) { + ╭─[compiler/constDeclarations-validContexts.ts:18:1] + 17 │ var obj; + 18 │ with (obj) { · ──── - 23 │ const c5 = 0; + 19 │ const c5 = 0; ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none @@ -5692,11 +5673,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[compiler/constructorWithIncompleteTypeAnnotation.ts:14:19] - 13 │ - 14 │ import fs = module("fs"); + ╭─[compiler/constructorWithIncompleteTypeAnnotation.ts:11:19] + 10 │ + 11 │ import fs = module("fs"); · ▲ - 15 │ + 12 │ ╰──── help: Try insert a semicolon here @@ -5736,11 +5717,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Jump target cannot cross function boundary. - ╭─[compiler/continueTarget5.ts:7:16] - 6 │ while (true) { - 7 │ continue target; + ╭─[compiler/continueTarget5.ts:5:16] + 4 │ while (true) { + 5 │ continue target; · ────── - 8 │ } + 6 │ } ╰──── × Use of undefined label @@ -5775,19 +5756,18 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[compiler/declarationEmitInvalidExport.ts:7:1] - 6 │ export type MyClass = typeof myClass; - 7 │ } + ╭─[compiler/declarationEmitInvalidExport.ts:5:1] + 4 │ export type MyClass = typeof myClass; + 5 │ } · ─ ╰──── × Expected `from` but found `Identifier` - ╭─[compiler/declarationEmitUnknownImport2.ts:5:12] - 4 │ - 5 │ import Foo From './Foo'; // Syntax error + ╭─[compiler/declarationEmitUnknownImport2.ts:1:12] + 1 │ import Foo From './Foo'; // Syntax error · ──┬─ · ╰── `from` expected - 6 │ export default Foo + 2 │ export default Foo ╰──── × Cannot assign to this expression @@ -5799,9 +5779,9 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[compiler/defaultKeywordWithoutExport1.ts:6:1] - 5 │ @decorator - 6 │ default class {} + ╭─[compiler/defaultKeywordWithoutExport1.ts:4:1] + 3 │ @decorator + 4 │ default class {} · ─────── ╰──── @@ -5828,12 +5808,12 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected `=>` but found `.` - ╭─[compiler/destructuringControlFlowNoCrash.ts:12:28] - 11 │ date2, - 12 │ } = (inspectedElement: any).props; + ╭─[compiler/destructuringControlFlowNoCrash.ts:11:28] + 10 │ date2, + 11 │ } = (inspectedElement: any).props; · ┬ · ╰── `=>` expected - 13 │ + 12 │ ╰──── × Unexpected token @@ -5958,264 +5938,262 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Identifier `a` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:3:13] - 2 │ - 3 │ function f0(a, [a, [b]], {b}) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:1:13] + 1 │ function f0(a, [a, [b]], {b}) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `a` has already been declared here - 4 │ function f1([a, a]) { } + 2 │ function f1([a, a]) { } ╰──── × Identifier `b` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:3:21] - 2 │ - 3 │ function f0(a, [a, [b]], {b}) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:1:21] + 1 │ function f0(a, [a, [b]], {b}) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `b` has already been declared here - 4 │ function f1([a, a]) { } + 2 │ function f1([a, a]) { } ╰──── × Identifier `a` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:4:14] - 3 │ function f0(a, [a, [b]], {b}) { } - 4 │ function f1([a, a]) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:2:14] + 1 │ function f0(a, [a, [b]], {b}) { } + 2 │ function f1([a, a]) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `a` has already been declared here - 5 │ function f2({b}, {b}) { } + 3 │ function f2({b}, {b}) { } ╰──── × Identifier `b` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:5:14] - 4 │ function f1([a, a]) { } - 5 │ function f2({b}, {b}) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:3:14] + 2 │ function f1([a, a]) { } + 3 │ function f2({b}, {b}) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `b` has already been declared here - 6 │ function f3([c,[c],[[c]]]) { } + 4 │ function f3([c,[c],[[c]]]) { } ╰──── × Identifier `c` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:6:14] - 5 │ function f2({b}, {b}) { } - 6 │ function f3([c,[c],[[c]]]) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:4:14] + 3 │ function f2({b}, {b}) { } + 4 │ function f3([c,[c],[[c]]]) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `c` has already been declared here - 7 │ function f4({d, d:{d}}) { } + 5 │ function f4({d, d:{d}}) { } ╰──── × Identifier `c` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:6:14] - 5 │ function f2({b}, {b}) { } - 6 │ function f3([c,[c],[[c]]]) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:4:14] + 3 │ function f2({b}, {b}) { } + 4 │ function f3([c,[c],[[c]]]) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `c` has already been declared here - 7 │ function f4({d, d:{d}}) { } + 5 │ function f4({d, d:{d}}) { } ╰──── × Identifier `d` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:7:14] - 6 │ function f3([c,[c],[[c]]]) { } - 7 │ function f4({d, d:{d}}) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:5:14] + 4 │ function f3([c,[c],[[c]]]) { } + 5 │ function f4({d, d:{d}}) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `d` has already been declared here - 8 │ function f5({e, e: {e}}, {e}, [d,e, [[e]]], ...e) { } + 6 │ function f5({e, e: {e}}, {e}, [d,e, [[e]]], ...e) { } ╰──── × Identifier `e` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:8:14] - 7 │ function f4({d, d:{d}}) { } - 8 │ function f5({e, e: {e}}, {e}, [d,e, [[e]]], ...e) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:6:14] + 5 │ function f4({d, d:{d}}) { } + 6 │ function f5({e, e: {e}}, {e}, [d,e, [[e]]], ...e) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `e` has already been declared here - 9 │ function f6([f, ...f]) { } + 7 │ function f6([f, ...f]) { } ╰──── × Identifier `e` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:8:14] - 7 │ function f4({d, d:{d}}) { } - 8 │ function f5({e, e: {e}}, {e}, [d,e, [[e]]], ...e) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:6:14] + 5 │ function f4({d, d:{d}}) { } + 6 │ function f5({e, e: {e}}, {e}, [d,e, [[e]]], ...e) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `e` has already been declared here - 9 │ function f6([f, ...f]) { } + 7 │ function f6([f, ...f]) { } ╰──── × Identifier `e` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:8:14] - 7 │ function f4({d, d:{d}}) { } - 8 │ function f5({e, e: {e}}, {e}, [d,e, [[e]]], ...e) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:6:14] + 5 │ function f4({d, d:{d}}) { } + 6 │ function f5({e, e: {e}}, {e}, [d,e, [[e]]], ...e) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `e` has already been declared here - 9 │ function f6([f, ...f]) { } + 7 │ function f6([f, ...f]) { } ╰──── × Identifier `e` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:8:14] - 7 │ function f4({d, d:{d}}) { } - 8 │ function f5({e, e: {e}}, {e}, [d,e, [[e]]], ...e) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:6:14] + 5 │ function f4({d, d:{d}}) { } + 6 │ function f5({e, e: {e}}, {e}, [d,e, [[e]]], ...e) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `e` has already been declared here - 9 │ function f6([f, ...f]) { } + 7 │ function f6([f, ...f]) { } ╰──── × Identifier `e` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:8:14] - 7 │ function f4({d, d:{d}}) { } - 8 │ function f5({e, e: {e}}, {e}, [d,e, [[e]]], ...e) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:6:14] + 5 │ function f4({d, d:{d}}) { } + 6 │ function f5({e, e: {e}}, {e}, [d,e, [[e]]], ...e) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `e` has already been declared here - 9 │ function f6([f, ...f]) { } + 7 │ function f6([f, ...f]) { } ╰──── × Identifier `f` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:9:14] - 8 │ function f5({e, e: {e}}, {e}, [d,e, [[e]]], ...e) { } - 9 │ function f6([f, ...f]) { } - · ┬ ┬ - · │ ╰── It can not be redeclared here - · ╰── `f` has already been declared here - 10 │ function f7(a, func = (a) => { return 1 }) { } // not error - ╰──── + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration1.ts:7:14] + 6 │ function f5({e, e: {e}}, {e}, [d,e, [[e]]], ...e) { } + 7 │ function f6([f, ...f]) { } + · ┬ ┬ + · │ ╰── It can not be redeclared here + · ╰── `f` has already been declared here + 8 │ function f7(a, func = (a) => { return 1 }) { } // not error + ╰──── × Identifier `a` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:4:13] - 3 │ "use strict" - 4 │ function f0(a, [a, [b]], {b}) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:2:13] + 1 │ "use strict" + 2 │ function f0(a, [a, [b]], {b}) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `a` has already been declared here - 5 │ function f1([a, a]) { } + 3 │ function f1([a, a]) { } ╰──── × Identifier `b` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:4:21] - 3 │ "use strict" - 4 │ function f0(a, [a, [b]], {b}) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:2:21] + 1 │ "use strict" + 2 │ function f0(a, [a, [b]], {b}) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `b` has already been declared here - 5 │ function f1([a, a]) { } + 3 │ function f1([a, a]) { } ╰──── × Identifier `a` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:5:14] - 4 │ function f0(a, [a, [b]], {b}) { } - 5 │ function f1([a, a]) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:3:14] + 2 │ function f0(a, [a, [b]], {b}) { } + 3 │ function f1([a, a]) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `a` has already been declared here - 6 │ function f2({b}, {b}) { } + 4 │ function f2({b}, {b}) { } ╰──── × Identifier `b` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:6:14] - 5 │ function f1([a, a]) { } - 6 │ function f2({b}, {b}) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:4:14] + 3 │ function f1([a, a]) { } + 4 │ function f2({b}, {b}) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `b` has already been declared here - 7 │ function f3([c, [c], [[c]]]) { } + 5 │ function f3([c, [c], [[c]]]) { } ╰──── × Identifier `c` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:7:14] - 6 │ function f2({b}, {b}) { } - 7 │ function f3([c, [c], [[c]]]) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:5:14] + 4 │ function f2({b}, {b}) { } + 5 │ function f3([c, [c], [[c]]]) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `c` has already been declared here - 8 │ function f4({d, d: {d}}) { } + 6 │ function f4({d, d: {d}}) { } ╰──── × Identifier `c` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:7:14] - 6 │ function f2({b}, {b}) { } - 7 │ function f3([c, [c], [[c]]]) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:5:14] + 4 │ function f2({b}, {b}) { } + 5 │ function f3([c, [c], [[c]]]) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `c` has already been declared here - 8 │ function f4({d, d: {d}}) { } + 6 │ function f4({d, d: {d}}) { } ╰──── × Identifier `d` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:8:14] - 7 │ function f3([c, [c], [[c]]]) { } - 8 │ function f4({d, d: {d}}) { } + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:6:14] + 5 │ function f3([c, [c], [[c]]]) { } + 6 │ function f4({d, d: {d}}) { } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `d` has already been declared here - 9 │ function f5({e, e: {e}}, {e}, [d, e, [[e]]], ...e) { } + 7 │ function f5({e, e: {e}}, {e}, [d, e, [[e]]], ...e) { } ╰──── × Identifier `e` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:9:14] - 8 │ function f4({d, d: {d}}) { } - 9 │ function f5({e, e: {e}}, {e}, [d, e, [[e]]], ...e) { } - · ┬ ┬ - · │ ╰── It can not be redeclared here - · ╰── `e` has already been declared here - 10 │ function f6([f, ...f]) { } - ╰──── + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:7:14] + 6 │ function f4({d, d: {d}}) { } + 7 │ function f5({e, e: {e}}, {e}, [d, e, [[e]]], ...e) { } + · ┬ ┬ + · │ ╰── It can not be redeclared here + · ╰── `e` has already been declared here + 8 │ function f6([f, ...f]) { } + ╰──── × Identifier `e` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:9:14] - 8 │ function f4({d, d: {d}}) { } - 9 │ function f5({e, e: {e}}, {e}, [d, e, [[e]]], ...e) { } - · ┬ ┬ - · │ ╰── It can not be redeclared here - · ╰── `e` has already been declared here - 10 │ function f6([f, ...f]) { } - ╰──── + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:7:14] + 6 │ function f4({d, d: {d}}) { } + 7 │ function f5({e, e: {e}}, {e}, [d, e, [[e]]], ...e) { } + · ┬ ┬ + · │ ╰── It can not be redeclared here + · ╰── `e` has already been declared here + 8 │ function f6([f, ...f]) { } + ╰──── × Identifier `e` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:9:14] - 8 │ function f4({d, d: {d}}) { } - 9 │ function f5({e, e: {e}}, {e}, [d, e, [[e]]], ...e) { } - · ┬ ┬ - · │ ╰── It can not be redeclared here - · ╰── `e` has already been declared here - 10 │ function f6([f, ...f]) { } - ╰──── + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:7:14] + 6 │ function f4({d, d: {d}}) { } + 7 │ function f5({e, e: {e}}, {e}, [d, e, [[e]]], ...e) { } + · ┬ ┬ + · │ ╰── It can not be redeclared here + · ╰── `e` has already been declared here + 8 │ function f6([f, ...f]) { } + ╰──── × Identifier `e` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:9:14] - 8 │ function f4({d, d: {d}}) { } - 9 │ function f5({e, e: {e}}, {e}, [d, e, [[e]]], ...e) { } - · ┬ ┬ - · │ ╰── It can not be redeclared here - · ╰── `e` has already been declared here - 10 │ function f6([f, ...f]) { } - ╰──── + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:7:14] + 6 │ function f4({d, d: {d}}) { } + 7 │ function f5({e, e: {e}}, {e}, [d, e, [[e]]], ...e) { } + · ┬ ┬ + · │ ╰── It can not be redeclared here + · ╰── `e` has already been declared here + 8 │ function f6([f, ...f]) { } + ╰──── × Identifier `e` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:9:14] - 8 │ function f4({d, d: {d}}) { } - 9 │ function f5({e, e: {e}}, {e}, [d, e, [[e]]], ...e) { } - · ┬ ┬ - · │ ╰── It can not be redeclared here - · ╰── `e` has already been declared here - 10 │ function f6([f, ...f]) { } - ╰──── + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:7:14] + 6 │ function f4({d, d: {d}}) { } + 7 │ function f5({e, e: {e}}, {e}, [d, e, [[e]]], ...e) { } + · ┬ ┬ + · │ ╰── It can not be redeclared here + · ╰── `e` has already been declared here + 8 │ function f6([f, ...f]) { } + ╰──── × Identifier `f` has already been declared - ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:10:14] - 9 │ function f5({e, e: {e}}, {e}, [d, e, [[e]]], ...e) { } - 10 │ function f6([f, ...f]) { } - · ┬ ┬ - · │ ╰── It can not be redeclared here - · ╰── `f` has already been declared here - 11 │ function f7(a, func = (a) => { return 1 }){ } // not error - ╰──── + ╭─[compiler/duplicateIdentifierBindingElementInParameterDeclaration2.ts:8:14] + 7 │ function f5({e, e: {e}}, {e}, [d, e, [[e]]], ...e) { } + 8 │ function f6([f, ...f]) { } + · ┬ ┬ + · │ ╰── It can not be redeclared here + · ╰── `f` has already been declared here + 9 │ function f7(a, func = (a) => { return 1 }){ } // not error + ╰──── × Identifier `a` has already been declared ╭─[compiler/duplicateIdentifierComputedName.ts:2:6] @@ -6242,41 +6220,39 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Identifier `target` has already been declared - ╭─[compiler/duplicateLabel1.ts:3:1] - 2 │ - 3 │ target: + ╭─[compiler/duplicateLabel1.ts:1:1] + 1 │ target: · ───┬── · ╰── `target` has already been declared here - 4 │ target: + 2 │ target: · ───┬── · ╰── It can not be redeclared here - 5 │ while (true) { + 3 │ while (true) { ╰──── × Identifier `target` has already been declared - ╭─[compiler/duplicateLabel2.ts:3:1] - 2 │ - 3 │ target: + ╭─[compiler/duplicateLabel2.ts:1:1] + 1 │ target: · ───┬── · ╰── `target` has already been declared here - 4 │ while (true) { - 5 │ target: + 2 │ while (true) { + 3 │ target: · ───┬── · ╰── It can not be redeclared here - 6 │ while (true) { + 4 │ while (true) { ╰──── × Identifier `F` has already been declared - ╭─[compiler/duplicateSymbolsExportMatching.ts:50:5] - 49 │ module M { - 50 │ ╭─▶ module F { - 51 │ │ var t; - 52 │ ├─▶ } + ╭─[compiler/duplicateSymbolsExportMatching.ts:49:5] + 48 │ module M { + 49 │ ╭─▶ module F { + 50 │ │ var t; + 51 │ ├─▶ } · ╰──── `F` has already been declared here - 53 │ export function F() { } // Only one error for duplicate identifier (don't consider visibility) + 52 │ export function F() { } // Only one error for duplicate identifier (don't consider visibility) · ┬ · ╰── It can not be redeclared here - 54 │ } + 53 │ } ╰──── × Empty parenthesized expression @@ -6288,9 +6264,9 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[compiler/enumConflictsWithGlobalIdentifier.ts:6:4] - 5 │ var x = IgnoreRulesSpecific. - 6 │ var y = Position.IgnoreRulesSpecific; + ╭─[compiler/enumConflictsWithGlobalIdentifier.ts:5:4] + 4 │ var x = IgnoreRulesSpecific. + 5 │ var y = Position.IgnoreRulesSpecific; · ─ ╰──── help: Try insert a semicolon here @@ -6363,49 +6339,49 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: Try insert a semicolon here × Expected `<` but found `EOF` - ╭─[compiler/errorSpanForUnclosedJsxTag.tsx:12:23] - 11 │ - 12 │ let y = < Baz >Hello + ╭─[compiler/errorSpanForUnclosedJsxTag.tsx:11:23] + 10 │ + 11 │ let y = < Baz >Hello ╰──── × 'with' statements are not allowed - ╭─[compiler/es5-asyncFunctionWithStatements.ts:7:5] - 6 │ async function withStatement0() { - 7 │ with (x) { + ╭─[compiler/es5-asyncFunctionWithStatements.ts:4:5] + 3 │ async function withStatement0() { + 4 │ with (x) { · ──── - 8 │ y; + 5 │ y; ╰──── × 'with' statements are not allowed - ╭─[compiler/es5-asyncFunctionWithStatements.ts:13:5] - 12 │ async function withStatement1() { - 13 │ with (await x) { + ╭─[compiler/es5-asyncFunctionWithStatements.ts:10:5] + 9 │ async function withStatement1() { + 10 │ with (await x) { · ──── - 14 │ y; + 11 │ y; ╰──── × 'with' statements are not allowed - ╭─[compiler/es5-asyncFunctionWithStatements.ts:19:5] - 18 │ async function withStatement2() { - 19 │ with (x) { + ╭─[compiler/es5-asyncFunctionWithStatements.ts:16:5] + 15 │ async function withStatement2() { + 16 │ with (x) { · ──── - 20 │ a; + 17 │ a; ╰──── × 'with' statements are not allowed - ╭─[compiler/es5-asyncFunctionWithStatements.ts:28:9] - 27 │ with (x) { - 28 │ with (z) { + ╭─[compiler/es5-asyncFunctionWithStatements.ts:25:9] + 24 │ with (x) { + 25 │ with (z) { · ──── - 29 │ a; + 26 │ a; ╰──── × 'with' statements are not allowed - ╭─[compiler/es5-asyncFunctionWithStatements.ts:27:5] - 26 │ async function withStatement3() { - 27 │ with (x) { + ╭─[compiler/es5-asyncFunctionWithStatements.ts:24:5] + 23 │ async function withStatement3() { + 24 │ with (x) { · ──── - 28 │ with (z) { + 25 │ with (z) { ╰──── × Expected `{` but found `(` @@ -6417,99 +6393,97 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[compiler/es6ImportNamedImportIdentifiersParsing.ts:4:10] - 3 │ import { yield } from "somemodule"; // Allowed - 4 │ import { default } from "somemodule"; // Error - as this is keyword that is not allowed as identifier + ╭─[compiler/es6ImportNamedImportIdentifiersParsing.ts:2:10] + 1 │ import { yield } from "somemodule"; // Allowed + 2 │ import { default } from "somemodule"; // Error - as this is keyword that is not allowed as identifier · ─────── - 5 │ import { yield as default } from "somemodule"; // error to use default as binding name + 3 │ import { yield as default } from "somemodule"; // error to use default as binding name ╰──── × Expected `from` but found `decimal` - ╭─[compiler/es6ImportParseErrors.ts:3:8] - 2 │ - 3 │ import 10; + ╭─[compiler/es6ImportParseErrors.ts:1:8] + 1 │ import 10; · ─┬ · ╰── `from` expected ╰──── × Unexpected token - ╭─[compiler/exportAssignmentWithDeclareAndExportModifiers.ts:3:16] - 2 │ var x; - 3 │ export declare export = x; + ╭─[compiler/exportAssignmentWithDeclareAndExportModifiers.ts:2:16] + 1 │ var x; + 2 │ export declare export = x; · ────── ╰──── × Unexpected token - ╭─[compiler/exportAssignmentWithDeclareModifier.ts:3:9] - 2 │ var x; - 3 │ declare export = x; + ╭─[compiler/exportAssignmentWithDeclareModifier.ts:2:9] + 1 │ var x; + 2 │ declare export = x; · ────── ╰──── × Unexpected token - ╭─[compiler/exportAssignmentWithExportModifier.ts:3:8] - 2 │ var x; - 3 │ export export = x; + ╭─[compiler/exportAssignmentWithExportModifier.ts:2:8] + 1 │ var x; + 2 │ export export = x; · ────── ╰──── × A class name is required. - ╭─[compiler/exportClassWithoutName.ts:3:8] - 2 │ //@target: es2015 - 3 │ export class { + ╭─[compiler/exportClassWithoutName.ts:1:8] + 1 │ export class { · ───── - 4 │ } + 2 │ } ╰──── × Unexpected token - ╭─[compiler/exportDeclarationInInternalModule.ts:17:19] - 16 │ - 17 │ export * from Aaa; // this line causes the nullref + ╭─[compiler/exportDeclarationInInternalModule.ts:13:19] + 12 │ + 13 │ export * from Aaa; // this line causes the nullref · ─── - 18 │ } + 14 │ } ╰──── × Identifier `someProp` has already been declared - ╭─[compiler/exportEqualsClassRedeclarationError.ts:8:16] - 7 │ - 8 │ static set someProp(value: number) {} - · ────┬─── - · ╰── `someProp` has already been declared here - 9 │ static set someProp(value: number) {} - · ────┬─── - · ╰── It can not be redeclared here - 10 │ } - ╰──── + ╭─[compiler/exportEqualsClassRedeclarationError.ts:6:16] + 5 │ + 6 │ static set someProp(value: number) {} + · ────┬─── + · ╰── `someProp` has already been declared here + 7 │ static set someProp(value: number) {} + · ────┬─── + · ╰── It can not be redeclared here + 8 │ } + ╰──── × Expected `}` but found `EOF` - ╭─[compiler/exportInFunction.ts:3:1] + ╭─[compiler/exportInFunction.ts:2:16] + 1 │ function f() { 2 │ export = 0; ╰──── × Unexpected token - ╭─[compiler/expressionWithJSDocTypeArguments.ts:11:21] - 10 │ - 11 │ const WhatFoo = foo; + ╭─[compiler/expressionWithJSDocTypeArguments.ts:9:21] + 8 │ + 9 │ const WhatFoo = foo; · ─ - 12 │ const HuhFoo = foo; + 10 │ const HuhFoo = foo; ╰──── × await expression not allowed in formal parameter - ╭─[compiler/expressionsForbiddenInParameterInitializers.ts:3:35] - 2 │ // @filename: bar.ts - 3 │ export async function foo({ foo = await import("./bar") }) { + ╭─[compiler/expressionsForbiddenInParameterInitializers.ts:1:35] + 1 │ export async function foo({ foo = await import("./bar") }) { · ──────────┬────────── · ╰── await expression not allowed in formal parameter - 4 │ } + 2 │ } ╰──── × yield expression not allowed in formal parameter - ╭─[compiler/expressionsForbiddenInParameterInitializers.ts:6:31] - 5 │ - 6 │ export function* foo2({ foo = yield "a" }) { + ╭─[compiler/expressionsForbiddenInParameterInitializers.ts:4:31] + 3 │ + 4 │ export function* foo2({ foo = yield "a" }) { · ────┬──── · ╰── yield expression not allowed in formal parameter - 7 │ } + 5 │ } ╰──── × Unexpected token @@ -6584,15 +6558,15 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Identifier `x` has already been declared - ╭─[compiler/fieldAndGetterWithSameName.ts:3:5] - 2 │ export class C { - 3 │ x: number; + ╭─[compiler/fieldAndGetterWithSameName.ts:2:5] + 1 │ export class C { + 2 │ x: number; · ┬ · ╰── `x` has already been declared here - 4 │ get x(): number { return 1; } + 3 │ get x(): number { return 1; } · ┬ · ╰── It can not be redeclared here - 5 │ } + 4 │ } ╰──── × TS1108: A 'return' statement can only be used within a function body @@ -6603,12 +6577,12 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected `;` but found `)` - ╭─[compiler/for.ts:31:6] - 30 │ - 31 │ for () { // error + ╭─[compiler/for.ts:29:6] + 28 │ + 29 │ for () { // error · ┬ · ╰── `;` expected - 32 │ } + 30 │ } ╰──── × Identifier `foo3` has already been declared @@ -6654,12 +6628,12 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected `=>` but found `)` - ╭─[compiler/functionTypesLackingReturnTypes.ts:3:17] - 2 │ // Error (no '=>') - 3 │ function f(x: ()) { + ╭─[compiler/functionTypesLackingReturnTypes.ts:2:17] + 1 │ // Error (no '=>') + 2 │ function f(x: ()) { · ┬ · ╰── `=>` expected - 4 │ } + 3 │ } ╰──── × Identifier `total` has already been declared @@ -6675,11 +6649,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[compiler/functionsMissingReturnStatementsAndExpressions.ts:157:5] - 156 │ throw undefined. - 157 │ } + ╭─[compiler/functionsMissingReturnStatementsAndExpressions.ts:153:5] + 152 │ throw undefined. + 153 │ } · ─ - 158 │ } + 154 │ } ╰──── × Unexpected token @@ -6710,11 +6684,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[compiler/giant.ts:64:17] - 63 │ [p]; - 64 │ [p1: string]; + ╭─[compiler/giant.ts:61:17] + 60 │ [p]; + 61 │ [p1: string]; · ─ - 65 │ [p2: string, p3: number]; + 62 │ [p2: string, p3: number]; ╰──── × Invalid characters after number @@ -6750,11 +6724,10 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[compiler/importAssertionNonstring.ts:3:52] - 2 │ // @filename: mod.mts - 3 │ import * as thing1 from "./mod.mjs" assert {field: 0}; + ╭─[compiler/importAssertionNonstring.ts:1:52] + 1 │ import * as thing1 from "./mod.mjs" assert {field: 0}; · ─ - 4 │ + 2 │ ╰──── × Unexpected token @@ -6936,21 +6909,21 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: A `continue` statement can only be used within an enclosing `for`, `while` or `do while` × Expected `;` but found `[` - ╭─[compiler/invalidLetInForOfAndForIn_ES5.ts:6:13] - 5 │ var let = 10; - 6 │ for (let of [1,2,3]) {} + ╭─[compiler/invalidLetInForOfAndForIn_ES5.ts:5:13] + 4 │ var let = 10; + 5 │ for (let of [1,2,3]) {} · ┬ · ╰── `;` expected - 7 │ + 6 │ ╰──── × Expected `;` but found `[` - ╭─[compiler/invalidLetInForOfAndForIn_ES6.ts:6:13] - 5 │ var let = 10; - 6 │ for (let of [1,2,3]) {} + ╭─[compiler/invalidLetInForOfAndForIn_ES6.ts:5:13] + 4 │ var let = 10; + 5 │ for (let of [1,2,3]) {} · ┬ · ╰── `;` expected - 7 │ + 6 │ ╰──── × Optional chaining cannot appear in the callee of new expressions @@ -6987,211 +6960,206 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Identifier `a` has already been declared - ╭─[compiler/jsFileCompilationBindDuplicateIdentifier.ts:5:5] - 4 │ // @filename: a.js - 5 │ var a = 10; + ╭─[compiler/jsFileCompilationBindDuplicateIdentifier.ts:1:5] + 1 │ var a = 10; · ┬ · ╰── `a` has already been declared here - 6 │ class a { + 2 │ class a { · ┬ · ╰── It can not be redeclared here - 7 │ } + 3 │ } ╰──── × Identifier `C` has already been declared - ╭─[compiler/jsFileCompilationBindErrors.ts:7:5] - 6 │ // @filename: a.js - 7 │ let C = "sss"; + ╭─[compiler/jsFileCompilationBindErrors.ts:1:5] + 1 │ let C = "sss"; · ┬ · ╰── `C` has already been declared here - 8 │ let C = 0; // Error: Cannot redeclare block-scoped variable 'C'. + 2 │ let C = 0; // Error: Cannot redeclare block-scoped variable 'C'. · ┬ · ╰── It can not be redeclared here - 9 │ + 3 │ ╰──── × Cannot assign to 'arguments' in strict mode - ╭─[compiler/jsFileCompilationBindErrors.ts:17:9] - 16 │ "use strict"; - 17 │ var arguments = 0; // Error: Invalid use of 'arguments' in strict mode. + ╭─[compiler/jsFileCompilationBindErrors.ts:11:9] + 10 │ "use strict"; + 11 │ var arguments = 0; // Error: Invalid use of 'arguments' in strict mode. · ───────── - 18 │ } + 12 │ } ╰──── × Unexpected token - ╭─[compiler/jsFileCompilationBindMultipleDefaultExports.ts:8:16] - 7 │ } - 8 │ export default var a = 10; + ╭─[compiler/jsFileCompilationBindMultipleDefaultExports.ts:3:16] + 2 │ } + 3 │ export default var a = 10; · ─── ╰──── × Unexpected token - ╭─[compiler/jsFileCompilationTypeArgumentSyntaxOfCall.ts:7:15] - 6 │ Foo``; - 7 │ >; + ╭─[compiler/jsFileCompilationTypeArgumentSyntaxOfCall.ts:4:15] + 3 │ Foo``; + 4 │ >; · ─ - 8 │ />; + 5 │ />; ╰──── × Unexpected token - ╭─[compiler/jsxAttributeMissingInitializer.tsx:2:21] - 1 │ // @jsx: preserve - 2 │ const x =
; + ╭─[compiler/jsxAttributeMissingInitializer.tsx:1:21] + 1 │ const x =
; · ─ - 3 │ const y = 0; + 2 │ const y = 0; + ╰──── + + × Unexpected token + ╭─[compiler/jsxNamespacePrefixInName.tsx:7:32] + 6 │ + 7 │ var tooManySeparators1 = ; + · ─ + 8 │ var tooManySeparators2 = ; ╰──── × Unexpected token - ╭─[compiler/jsxNamespacePrefixInName.tsx:9:32] + ╭─[compiler/jsxNamespacePrefixInNameReact.tsx:9:32] 8 │ 9 │ var tooManySeparators1 = ; · ─ 10 │ var tooManySeparators2 = ; ╰──── - × Unexpected token - ╭─[compiler/jsxNamespacePrefixInNameReact.tsx:10:32] - 9 │ - 10 │ var tooManySeparators1 = ; - · ─ - 11 │ var tooManySeparators2 = ; - ╰──── - × Identifier `e0` has already been declared - ╭─[compiler/letAndVarRedeclaration.ts:5:5] - 4 │ - 5 │ let e0 + ╭─[compiler/letAndVarRedeclaration.ts:1:5] + 1 │ let e0 · ─┬ · ╰── `e0` has already been declared here - 6 │ var e0; + 2 │ var e0; · ─┬ · ╰── It can not be redeclared here - 7 │ function e0() { } + 3 │ function e0() { } ╰──── × Identifier `e0` has already been declared - ╭─[compiler/letAndVarRedeclaration.ts:5:5] - 4 │ - 5 │ let e0 + ╭─[compiler/letAndVarRedeclaration.ts:1:5] + 1 │ let e0 · ─┬ · ╰── `e0` has already been declared here - 6 │ var e0; - 7 │ function e0() { } + 2 │ var e0; + 3 │ function e0() { } · ─┬ · ╰── It can not be redeclared here - 8 │ + 4 │ ╰──── × Identifier `x1` has already been declared - ╭─[compiler/letAndVarRedeclaration.ts:10:9] - 9 │ function f0() { - 10 │ let x1; - · ─┬ - · ╰── `x1` has already been declared here - 11 │ var x1; - · ─┬ - · ╰── It can not be redeclared here - 12 │ function x1() { } - ╰──── + ╭─[compiler/letAndVarRedeclaration.ts:6:9] + 5 │ function f0() { + 6 │ let x1; + · ─┬ + · ╰── `x1` has already been declared here + 7 │ var x1; + · ─┬ + · ╰── It can not be redeclared here + 8 │ function x1() { } + ╰──── × Identifier `x1` has already been declared - ╭─[compiler/letAndVarRedeclaration.ts:10:9] - 9 │ function f0() { - 10 │ let x1; - · ─┬ - · ╰── `x1` has already been declared here - 11 │ var x1; - 12 │ function x1() { } - · ─┬ - · ╰── It can not be redeclared here - 13 │ } - ╰──── + ╭─[compiler/letAndVarRedeclaration.ts:6:9] + 5 │ function f0() { + 6 │ let x1; + · ─┬ + · ╰── `x1` has already been declared here + 7 │ var x1; + 8 │ function x1() { } + · ─┬ + · ╰── It can not be redeclared here + 9 │ } + ╰──── × Identifier `x` has already been declared - ╭─[compiler/letAndVarRedeclaration.ts:16:9] - 15 │ function f1() { - 16 │ let x; + ╭─[compiler/letAndVarRedeclaration.ts:12:9] + 11 │ function f1() { + 12 │ let x; · ┬ · ╰── `x` has already been declared here - 17 │ { - 18 │ var x; + 13 │ { + 14 │ var x; · ┬ · ╰── It can not be redeclared here - 19 │ } + 15 │ } ╰──── × Identifier `x2` has already been declared - ╭─[compiler/letAndVarRedeclaration.ts:26:9] - 25 │ module M0 { - 26 │ let x2; + ╭─[compiler/letAndVarRedeclaration.ts:22:9] + 21 │ module M0 { + 22 │ let x2; · ─┬ · ╰── `x2` has already been declared here - 27 │ var x2; + 23 │ var x2; · ─┬ · ╰── It can not be redeclared here - 28 │ function x2() { } + 24 │ function x2() { } ╰──── × Identifier `x2` has already been declared - ╭─[compiler/letAndVarRedeclaration.ts:26:9] - 25 │ module M0 { - 26 │ let x2; + ╭─[compiler/letAndVarRedeclaration.ts:22:9] + 21 │ module M0 { + 22 │ let x2; · ─┬ · ╰── `x2` has already been declared here - 27 │ var x2; - 28 │ function x2() { } + 23 │ var x2; + 24 │ function x2() { } · ─┬ · ╰── It can not be redeclared here - 29 │ } + 25 │ } ╰──── × Identifier `x2` has already been declared - ╭─[compiler/letAndVarRedeclaration.ts:32:9] - 31 │ module M1 { - 32 │ let x2; + ╭─[compiler/letAndVarRedeclaration.ts:28:9] + 27 │ module M1 { + 28 │ let x2; · ─┬ · ╰── `x2` has already been declared here - 33 │ { - 34 │ var x2; + 29 │ { + 30 │ var x2; · ─┬ · ╰── It can not be redeclared here - 35 │ } + 31 │ } ╰──── × Identifier `x11` has already been declared - ╭─[compiler/letAndVarRedeclaration.ts:41:5] - 40 │ - 41 │ let x11; + ╭─[compiler/letAndVarRedeclaration.ts:37:5] + 36 │ + 37 │ let x11; · ─┬─ · ╰── `x11` has already been declared here - 42 │ for (var x11; ;) { + 38 │ for (var x11; ;) { · ─┬─ · ╰── It can not be redeclared here - 43 │ } + 39 │ } ╰──── × Identifier `x11` has already been declared - ╭─[compiler/letAndVarRedeclaration.ts:46:9] - 45 │ function f2() { - 46 │ let x11; + ╭─[compiler/letAndVarRedeclaration.ts:42:9] + 41 │ function f2() { + 42 │ let x11; · ─┬─ · ╰── `x11` has already been declared here - 47 │ for (var x11; ;) { + 43 │ for (var x11; ;) { · ─┬─ · ╰── It can not be redeclared here - 48 │ } + 44 │ } ╰──── × Identifier `x11` has already been declared - ╭─[compiler/letAndVarRedeclaration.ts:52:9] - 51 │ module M2 { - 52 │ let x11; + ╭─[compiler/letAndVarRedeclaration.ts:48:9] + 47 │ module M2 { + 48 │ let x11; · ─┬─ · ╰── `x11` has already been declared here - 53 │ for (var x11; ;) { + 49 │ for (var x11; ;) { · ─┬─ · ╰── It can not be redeclared here - 54 │ } + 50 │ } ╰──── × The keyword 'let' is reserved @@ -7224,366 +7192,366 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[compiler/letDeclarations-invalidContexts.ts:7:8] - 6 │ if (true) - 7 │ let l1 = 0; + ╭─[compiler/letDeclarations-invalidContexts.ts:3:8] + 2 │ if (true) + 3 │ let l1 = 0; · ─ - 8 │ else + 4 │ else ╰──── help: Try insert a semicolon here × Identifier `var1` has already been declared - ╭─[compiler/letDeclarations-scopes-duplicates.ts:4:5] - 3 │ // Errors: redeclaration - 4 │ let var1 = 0; + ╭─[compiler/letDeclarations-scopes-duplicates.ts:2:5] + 1 │ // Errors: redeclaration + 2 │ let var1 = 0; · ──┬─ · ╰── `var1` has already been declared here - 5 │ let var1 = 0; // error + 3 │ let var1 = 0; // error · ──┬─ · ╰── It can not be redeclared here - 6 │ + 4 │ ╰──── × Identifier `var2` has already been declared - ╭─[compiler/letDeclarations-scopes-duplicates.ts:7:5] - 6 │ - 7 │ let var2 = 0; + ╭─[compiler/letDeclarations-scopes-duplicates.ts:5:5] + 4 │ + 5 │ let var2 = 0; · ──┬─ · ╰── `var2` has already been declared here - 8 │ const var2 = 0; + 6 │ const var2 = 0; · ──┬─ · ╰── It can not be redeclared here - 9 │ + 7 │ ╰──── × Identifier `var3` has already been declared - ╭─[compiler/letDeclarations-scopes-duplicates.ts:10:7] - 9 │ - 10 │ const var3 = 0; + ╭─[compiler/letDeclarations-scopes-duplicates.ts:8:7] + 7 │ + 8 │ const var3 = 0; · ──┬─ · ╰── `var3` has already been declared here - 11 │ let var3 = 0; + 9 │ let var3 = 0; · ──┬─ · ╰── It can not be redeclared here - 12 │ + 10 │ ╰──── × Identifier `var4` has already been declared - ╭─[compiler/letDeclarations-scopes-duplicates.ts:13:7] - 12 │ - 13 │ const var4 = 0; + ╭─[compiler/letDeclarations-scopes-duplicates.ts:11:7] + 10 │ + 11 │ const var4 = 0; · ──┬─ · ╰── `var4` has already been declared here - 14 │ const var4 = 0; + 12 │ const var4 = 0; · ──┬─ · ╰── It can not be redeclared here - 15 │ + 13 │ ╰──── × Identifier `var5` has already been declared - ╭─[compiler/letDeclarations-scopes-duplicates.ts:16:5] - 15 │ - 16 │ var var5 = 0; + ╭─[compiler/letDeclarations-scopes-duplicates.ts:14:5] + 13 │ + 14 │ var var5 = 0; · ──┬─ · ╰── `var5` has already been declared here - 17 │ let var5 = 0; + 15 │ let var5 = 0; · ──┬─ · ╰── It can not be redeclared here - 18 │ + 16 │ ╰──── × Identifier `var6` has already been declared - ╭─[compiler/letDeclarations-scopes-duplicates.ts:19:5] - 18 │ - 19 │ let var6 = 0; + ╭─[compiler/letDeclarations-scopes-duplicates.ts:17:5] + 16 │ + 17 │ let var6 = 0; · ──┬─ · ╰── `var6` has already been declared here - 20 │ var var6 = 0; + 18 │ var var6 = 0; · ──┬─ · ╰── It can not be redeclared here - 21 │ + 19 │ ╰──── × Identifier `var7` has already been declared - ╭─[compiler/letDeclarations-scopes-duplicates.ts:23:9] - 22 │ { - 23 │ let var7 = 0; + ╭─[compiler/letDeclarations-scopes-duplicates.ts:21:9] + 20 │ { + 21 │ let var7 = 0; · ──┬─ · ╰── `var7` has already been declared here - 24 │ let var7 = 0; + 22 │ let var7 = 0; · ──┬─ · ╰── It can not be redeclared here - 25 │ { + 23 │ { ╰──── × Identifier `var8` has already been declared - ╭─[compiler/letDeclarations-scopes-duplicates.ts:26:13] - 25 │ { - 26 │ let var8 = 0; + ╭─[compiler/letDeclarations-scopes-duplicates.ts:24:13] + 23 │ { + 24 │ let var8 = 0; · ──┬─ · ╰── `var8` has already been declared here - 27 │ const var8 = 0; + 25 │ const var8 = 0; · ──┬─ · ╰── It can not be redeclared here - 28 │ } + 26 │ } ╰──── × Identifier `var9` has already been declared - ╭─[compiler/letDeclarations-scopes-duplicates.ts:33:13] - 32 │ default: - 33 │ let var9 = 0; + ╭─[compiler/letDeclarations-scopes-duplicates.ts:31:13] + 30 │ default: + 31 │ let var9 = 0; · ──┬─ · ╰── `var9` has already been declared here - 34 │ let var9 = 0; + 32 │ let var9 = 0; · ──┬─ · ╰── It can not be redeclared here - 35 │ } + 33 │ } ╰──── × Identifier `var10` has already been declared - ╭─[compiler/letDeclarations-scopes-duplicates.ts:38:11] - 37 │ try { - 38 │ const var10 = 0; + ╭─[compiler/letDeclarations-scopes-duplicates.ts:36:11] + 35 │ try { + 36 │ const var10 = 0; · ──┬── · ╰── `var10` has already been declared here - 39 │ const var10 = 0; + 37 │ const var10 = 0; · ──┬── · ╰── It can not be redeclared here - 40 │ } + 38 │ } ╰──── × Identifier `var11` has already been declared - ╭─[compiler/letDeclarations-scopes-duplicates.ts:42:9] - 41 │ catch (e) { - 42 │ let var11 = 0; + ╭─[compiler/letDeclarations-scopes-duplicates.ts:40:9] + 39 │ catch (e) { + 40 │ let var11 = 0; · ──┬── · ╰── `var11` has already been declared here - 43 │ let var11 = 0; + 41 │ let var11 = 0; · ──┬── · ╰── It can not be redeclared here - 44 │ } + 42 │ } ╰──── × Identifier `var12` has already been declared - ╭─[compiler/letDeclarations-scopes-duplicates.ts:47:9] - 46 │ function F1() { - 47 │ let var12; + ╭─[compiler/letDeclarations-scopes-duplicates.ts:45:9] + 44 │ function F1() { + 45 │ let var12; · ──┬── · ╰── `var12` has already been declared here - 48 │ let var12; + 46 │ let var12; · ──┬── · ╰── It can not be redeclared here - 49 │ } + 47 │ } ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[compiler/letDeclarations-scopes.ts:48:15] - 47 │ if (true) { - 48 │ label: let l = 0; + ╭─[compiler/letDeclarations-scopes.ts:43:15] + 42 │ if (true) { + 43 │ label: let l = 0; · ─ - 49 │ n = l; + 44 │ n = l; ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[compiler/letDeclarations-validContexts.ts:37:15] - 36 │ if (true) { - 37 │ label: let l8 = 0; + ╭─[compiler/letDeclarations-validContexts.ts:31:15] + 30 │ if (true) { + 31 │ label: let l8 = 0; · ─ - 38 │ } + 32 │ } ╰──── help: Try insert a semicolon here × `let` cannot be declared as a variable name inside of a `const` declaration - ╭─[compiler/letInConstDeclarations_ES5.ts:4:15] - 3 │ // All use of let in const declaration should be an error - 4 │ const x = 50, let = 5; + ╭─[compiler/letInConstDeclarations_ES5.ts:2:15] + 1 │ // All use of let in const declaration should be an error + 2 │ const x = 50, let = 5; · ─── - 5 │ + 3 │ ╰──── × `let` cannot be declared as a variable name inside of a `const` declaration - ╭─[compiler/letInConstDeclarations_ES5.ts:7:19] - 6 │ { - 7 │ const x = 10, let = 20; + ╭─[compiler/letInConstDeclarations_ES5.ts:5:19] + 4 │ { + 5 │ const x = 10, let = 20; · ─── - 8 │ } + 6 │ } ╰──── × `let` cannot be declared as a variable name inside of a `const` declaration - ╭─[compiler/letInConstDeclarations_ES6.ts:4:15] - 3 │ // All use of let in const declaration should be an error - 4 │ const x = 50, let = 5; + ╭─[compiler/letInConstDeclarations_ES6.ts:2:15] + 1 │ // All use of let in const declaration should be an error + 2 │ const x = 50, let = 5; · ─── - 5 │ + 3 │ ╰──── × `let` cannot be declared as a variable name inside of a `const` declaration - ╭─[compiler/letInConstDeclarations_ES6.ts:7:19] - 6 │ { - 7 │ const x = 10, let = 20; + ╭─[compiler/letInConstDeclarations_ES6.ts:5:19] + 4 │ { + 5 │ const x = 10, let = 20; · ─── - 8 │ } + 6 │ } ╰──── × `let` cannot be declared as a variable name inside of a `let` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:4:10] - 3 │ // Should be an error - 4 │ for (let let of [1,2,3]) {} + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:2:10] + 1 │ // Should be an error + 2 │ for (let let of [1,2,3]) {} · ─── - 5 │ + 3 │ ╰──── × `let` cannot be declared as a variable name inside of a `const` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:6:12] - 5 │ - 6 │ for (const let of [1,2,3]) {} + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:4:12] + 3 │ + 4 │ for (const let of [1,2,3]) {} · ─── - 7 │ + 5 │ ╰──── × `let` cannot be declared as a variable name inside of a `let` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:8:10] - 7 │ - 8 │ for (let let in [1,2,3]) {} + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:6:10] + 5 │ + 6 │ for (let let in [1,2,3]) {} · ─── - 9 │ + 7 │ ╰──── × `let` cannot be declared as a variable name inside of a `const` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:10:12] - 9 │ - 10 │ for (const let in [1,2,3]) {} - · ─── - 11 │ - ╰──── + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:8:12] + 7 │ + 8 │ for (const let in [1,2,3]) {} + · ─── + 9 │ + ╰──── × `let` cannot be declared as a variable name inside of a `let` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:13:11] - 12 │ { - 13 │ for (let let of [1,2,3]) {} + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:11:11] + 10 │ { + 11 │ for (let let of [1,2,3]) {} · ─── - 14 │ + 12 │ ╰──── × `let` cannot be declared as a variable name inside of a `const` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:15:13] - 14 │ - 15 │ for (const let of [1,2,3]) {} + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:13:13] + 12 │ + 13 │ for (const let of [1,2,3]) {} · ─── - 16 │ + 14 │ ╰──── × `let` cannot be declared as a variable name inside of a `let` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:17:11] - 16 │ - 17 │ for (let let in [1,2,3]) {} + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:15:11] + 14 │ + 15 │ for (let let in [1,2,3]) {} · ─── - 18 │ + 16 │ ╰──── × `let` cannot be declared as a variable name inside of a `const` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:19:13] - 18 │ - 19 │ for (const let in [1,2,3]) {} + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES5.ts:17:13] + 16 │ + 17 │ for (const let in [1,2,3]) {} · ─── - 20 │ } + 18 │ } ╰──── × `let` cannot be declared as a variable name inside of a `let` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:4:10] - 3 │ // Should be an error - 4 │ for (let let of [1,2,3]) {} + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:2:10] + 1 │ // Should be an error + 2 │ for (let let of [1,2,3]) {} · ─── - 5 │ + 3 │ ╰──── × `let` cannot be declared as a variable name inside of a `const` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:6:12] - 5 │ - 6 │ for (const let of [1,2,3]) {} + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:4:12] + 3 │ + 4 │ for (const let of [1,2,3]) {} · ─── - 7 │ + 5 │ ╰──── × `let` cannot be declared as a variable name inside of a `let` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:8:10] - 7 │ - 8 │ for (let let in [1,2,3]) {} + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:6:10] + 5 │ + 6 │ for (let let in [1,2,3]) {} · ─── - 9 │ + 7 │ ╰──── × `let` cannot be declared as a variable name inside of a `const` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:10:12] - 9 │ - 10 │ for (const let in [1,2,3]) {} - · ─── - 11 │ - ╰──── + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:8:12] + 7 │ + 8 │ for (const let in [1,2,3]) {} + · ─── + 9 │ + ╰──── × `let` cannot be declared as a variable name inside of a `let` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:13:11] - 12 │ { - 13 │ for (let let of [1,2,3]) {} + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:11:11] + 10 │ { + 11 │ for (let let of [1,2,3]) {} · ─── - 14 │ + 12 │ ╰──── × `let` cannot be declared as a variable name inside of a `const` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:15:13] - 14 │ - 15 │ for (const let of [1,2,3]) {} + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:13:13] + 12 │ + 13 │ for (const let of [1,2,3]) {} · ─── - 16 │ + 14 │ ╰──── × `let` cannot be declared as a variable name inside of a `let` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:17:11] - 16 │ - 17 │ for (let let in [1,2,3]) {} + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:15:11] + 14 │ + 15 │ for (let let in [1,2,3]) {} · ─── - 18 │ + 16 │ ╰──── × `let` cannot be declared as a variable name inside of a `const` declaration - ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:19:13] - 18 │ - 19 │ for (const let in [1,2,3]) {} + ╭─[compiler/letInLetConstDeclOfForOfAndForIn_ES6.ts:17:13] + 16 │ + 17 │ for (const let in [1,2,3]) {} · ─── - 20 │ } + 18 │ } ╰──── × `let` cannot be declared as a variable name inside of a `let` declaration - ╭─[compiler/letInLetDeclarations_ES5.ts:4:13] - 3 │ // All use of let in const declaration should be an error - 4 │ let x = 50, let = 5; + ╭─[compiler/letInLetDeclarations_ES5.ts:2:13] + 1 │ // All use of let in const declaration should be an error + 2 │ let x = 50, let = 5; · ─── - 5 │ + 3 │ ╰──── × `let` cannot be declared as a variable name inside of a `let` declaration - ╭─[compiler/letInLetDeclarations_ES5.ts:7:17] - 6 │ { - 7 │ let x = 10, let = 20; + ╭─[compiler/letInLetDeclarations_ES5.ts:5:17] + 4 │ { + 5 │ let x = 10, let = 20; · ─── - 8 │ } + 6 │ } ╰──── × `let` cannot be declared as a variable name inside of a `let` declaration - ╭─[compiler/letInLetDeclarations_ES6.ts:4:13] - 3 │ // All use of let in const declaration should be an error - 4 │ let x = 50, let = 5; + ╭─[compiler/letInLetDeclarations_ES6.ts:2:13] + 1 │ // All use of let in const declaration should be an error + 2 │ let x = 50, let = 5; · ─── - 5 │ + 3 │ ╰──── × `let` cannot be declared as a variable name inside of a `let` declaration - ╭─[compiler/letInLetDeclarations_ES6.ts:7:17] - 6 │ { - 7 │ let x = 10, let = 20; + ╭─[compiler/letInLetDeclarations_ES6.ts:5:17] + 4 │ { + 5 │ let x = 10, let = 20; · ─── - 8 │ } + 6 │ } ╰──── × Unexpected token @@ -7612,12 +7580,14 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected `}` but found `EOF` - ╭─[compiler/missingCloseBrace.ts:9:1] + ╭─[compiler/missingCloseBrace.ts:8:6] + 7 │ 8 │ } ╰──── × Expected `}` but found `EOF` - ╭─[compiler/missingCloseBraceInObjectLiteral.ts:5:1] + ╭─[compiler/missingCloseBraceInObjectLiteral.ts:4:11] + 3 │ b: 'b', 4 │ c: 'c' ╰──── @@ -7659,18 +7629,18 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Identifier `Kettle` has already been declared - ╭─[compiler/moduleDuplicateIdentifiers.ts:21:14] - 20 │ - 21 │ export class Kettle { + ╭─[compiler/moduleDuplicateIdentifiers.ts:20:14] + 19 │ + 20 │ export class Kettle { · ───┬── · ╰── `Kettle` has already been declared here - 22 │ member1 = 2; - 23 │ } - 24 │ - 25 │ export class Kettle { // Should error + 21 │ member1 = 2; + 22 │ } + 23 │ + 24 │ export class Kettle { // Should error · ───┬── · ╰── It can not be redeclared here - 26 │ member2 = 42; + 25 │ member2 = 42; ╰──── × A namespace declaration is only allowed at the top level of a namespace or module. @@ -7880,17 +7850,17 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: Try insert a semicolon here × Unexpected token - ╭─[compiler/nestedUnaryExpressionHang.ts:2:1] + ╭─[compiler/nestedUnaryExpressionHang.ts:1:34] 1 │ 3333%!!!!!!!!!!!!!!!!!!!!!!!!!!!! ╰──── × Unexpected token - ╭─[compiler/newExpressionWithCast.ts:9:17] - 8 │ // parse error - 9 │ var test2 = new Test2(); - · ─ - 10 │ - ╰──── + ╭─[compiler/newExpressionWithCast.ts:7:17] + 6 │ // parse error + 7 │ var test2 = new Test2(); + · ─ + 8 │ + ╰──── × Empty parenthesized expression ╭─[compiler/newMissingIdentifier.ts:1:13] @@ -7907,59 +7877,57 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Missing initializer in destructuring declaration - ╭─[compiler/noImplicitAnyDestructuringVarDeclaration.ts:2:5] - 1 │ // @noimplicitany: true - 2 │ var [a], {b}, c, d; // error + ╭─[compiler/noImplicitAnyDestructuringVarDeclaration.ts:1:5] + 1 │ var [a], {b}, c, d; // error · ─── - 3 │ + 2 │ ╰──── × Missing initializer in destructuring declaration - ╭─[compiler/noImplicitAnyDestructuringVarDeclaration.ts:2:10] - 1 │ // @noimplicitany: true - 2 │ var [a], {b}, c, d; // error + ╭─[compiler/noImplicitAnyDestructuringVarDeclaration.ts:1:10] + 1 │ var [a], {b}, c, d; // error · ─── - 3 │ + 2 │ ╰──── × Missing initializer in destructuring declaration - ╭─[compiler/noImplicitAnyDestructuringVarDeclaration.ts:4:5] - 3 │ - 4 │ var [a1 = undefined], {b1 = null}, c1 = undefined, d1 = null; // error + ╭─[compiler/noImplicitAnyDestructuringVarDeclaration.ts:3:5] + 2 │ + 3 │ var [a1 = undefined], {b1 = null}, c1 = undefined, d1 = null; // error · ──────────────── - 5 │ + 4 │ ╰──── × Missing initializer in destructuring declaration - ╭─[compiler/noImplicitAnyDestructuringVarDeclaration.ts:4:23] - 3 │ - 4 │ var [a1 = undefined], {b1 = null}, c1 = undefined, d1 = null; // error + ╭─[compiler/noImplicitAnyDestructuringVarDeclaration.ts:3:23] + 2 │ + 3 │ var [a1 = undefined], {b1 = null}, c1 = undefined, d1 = null; // error · ─────────── - 5 │ + 4 │ ╰──── × Missing initializer in destructuring declaration - ╭─[compiler/noImplicitAnyDestructuringVarDeclaration.ts:6:5] - 5 │ - 6 │ var [a2]: [any], {b2}: { b2: any }, c2: any, d2: any; + ╭─[compiler/noImplicitAnyDestructuringVarDeclaration.ts:5:5] + 4 │ + 5 │ var [a2]: [any], {b2}: { b2: any }, c2: any, d2: any; · ─────────── - 7 │ + 6 │ ╰──── × Missing initializer in destructuring declaration - ╭─[compiler/noImplicitAnyDestructuringVarDeclaration.ts:6:18] - 5 │ - 6 │ var [a2]: [any], {b2}: { b2: any }, c2: any, d2: any; + ╭─[compiler/noImplicitAnyDestructuringVarDeclaration.ts:5:18] + 4 │ + 5 │ var [a2]: [any], {b2}: { b2: any }, c2: any, d2: any; · ───────────────── - 7 │ + 6 │ ╰──── × Missing initializer in destructuring declaration - ╭─[compiler/noImplicitAnyDestructuringVarDeclaration.ts:8:5] - 7 │ - 8 │ var {b3}: { b3 }, c3: { b3 }; // error in type instead + ╭─[compiler/noImplicitAnyDestructuringVarDeclaration.ts:7:5] + 6 │ + 7 │ var {b3}: { b3 }, c3: { b3 }; // error in type instead · ──────────── - 9 │ + 8 │ ╰──── × Identifier `m1` has already been declared @@ -7988,19 +7956,19 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: Try insert a semicolon here × Missing initializer in const declaration - ╭─[compiler/numberVsBigIntOperations.ts:88:7] - 87 │ const isNumber: (x: 0 | 1) => number = (x: 0 | 1) => x; - 88 │ const zeroOrBigOne: 0 | 1n; + ╭─[compiler/numberVsBigIntOperations.ts:86:7] + 85 │ const isNumber: (x: 0 | 1) => number = (x: 0 | 1) => x; + 86 │ const zeroOrBigOne: 0 | 1n; · ──────────────────── - 89 │ if (typeof zeroOrBigOne === "bigint") isBigInt(zeroOrBigOne); + 87 │ if (typeof zeroOrBigOne === "bigint") isBigInt(zeroOrBigOne); ╰──── × Missing initializer in const declaration - ╭─[compiler/numberVsBigIntOperations.ts:95:7] - 94 │ if (zeroOrBigOne) isOne(zeroOrBigOne); - 95 │ const bigZeroOrOne: 0n | 1; + ╭─[compiler/numberVsBigIntOperations.ts:93:7] + 92 │ if (zeroOrBigOne) isOne(zeroOrBigOne); + 93 │ const bigZeroOrOne: 0n | 1; · ──────────────────── - 96 │ if (bigZeroOrOne) isOne(bigZeroOrOne); + 94 │ if (bigZeroOrOne) isOne(bigZeroOrOne); ╰──── × Identifier `0` has already been declared @@ -8028,19 +7996,19 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Invalid characters after number - ╭─[compiler/numericLiteralsWithTrailingDecimalPoints01.ts:4:3] - 3 │ 1.0.toString(); - 4 │ 1.toString(); + ╭─[compiler/numericLiteralsWithTrailingDecimalPoints01.ts:3:3] + 2 │ 1.0.toString(); + 3 │ 1.toString(); · ──────── - 5 │ 1.+2.0 + 3. ; + 4 │ 1.+2.0 + 3. ; ╰──── × Invalid characters after number - ╭─[compiler/numericLiteralsWithTrailingDecimalPoints02.ts:6:3] - 5 │ 1.0.toString(); - 6 │ 1.toString(); + ╭─[compiler/numericLiteralsWithTrailingDecimalPoints02.ts:3:3] + 2 │ 1.0.toString(); + 3 │ 1.toString(); · ──────── - 7 │ 1.+2.0 + 3. ; + 4 │ 1.+2.0 + 3. ; ╰──── × Unexpected token @@ -8051,11 +8019,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[compiler/objectLitArrayDeclNoNew.ts:23:20] - 22 │ return { - 23 │ tokens: Gar[],//IToken[], // Missing new. Correct syntax is: tokens: new IToken[] + ╭─[compiler/objectLitArrayDeclNoNew.ts:22:20] + 21 │ return { + 22 │ tokens: Gar[],//IToken[], // Missing new. Correct syntax is: tokens: new IToken[] · ─ - 24 │ endState: state + 23 │ endState: state ╰──── × Expected `,` but found `Identifier` @@ -8383,12 +8351,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: Try insert a semicolon here × Expected `(` but found `{` - ╭─[compiler/overloadingStaticFunctionsInFunctions.ts:2:14] - 1 │ // @lib: es5 - 2 │ function boo { + ╭─[compiler/overloadingStaticFunctionsInFunctions.ts:1:14] + 1 │ function boo { · ┬ · ╰── `(` expected - 3 │ static test() + 2 │ static test() ╰──── × Identifier `fnOverload` has already been declared @@ -8427,11 +8394,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Invalid characters after number - ╭─[compiler/parseBigInt.ts:58:25] - 57 │ // In separate blocks because they each declare an "n" variable - 58 │ { const legacyOct = 0123n; } + ╭─[compiler/parseBigInt.ts:56:25] + 55 │ // In separate blocks because they each declare an "n" variable + 56 │ { const legacyOct = 0123n; } · ─ - 59 │ { const scientific = 1e2n; } + 57 │ { const scientific = 1e2n; } ╰──── × Unexpected token @@ -8465,11 +8432,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[compiler/parseErrorIncorrectReturnToken.ts:3:17] - 2 │ type F1 = { - 3 │ (n: number) => string; // should be : not => + ╭─[compiler/parseErrorIncorrectReturnToken.ts:2:17] + 1 │ type F1 = { + 2 │ (n: number) => string; // should be : not => · ── - 4 │ } + 3 │ } ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none @@ -8481,54 +8448,50 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[compiler/parseInvalidNonNullableTypes.ts:3:36] - 2 │ - 3 │ function f1(a: string): a is string! { + ╭─[compiler/parseInvalidNonNullableTypes.ts:1:36] + 1 │ function f1(a: string): a is string! { · ▲ - 4 │ return true; + 2 │ return true; ╰──── help: Try insert a semicolon here × Expected `,` but found `?` - ╭─[compiler/parseInvalidNullableTypes.ts:7:22] - 6 │ - 7 │ function f2(a: string?) {} + ╭─[compiler/parseInvalidNullableTypes.ts:5:22] + 4 │ + 5 │ function f2(a: string?) {} · ┬ · ╰── `,` expected - 8 │ function f3(a: number?) {} + 6 │ function f3(a: number?) {} ╰──── × Expected `>` but found `EOF` - ╭─[compiler/parseJsxElementInUnaryExpressionNoCrash1.ts:5:1] - 4 │ ~< < + ╭─[compiler/parseJsxElementInUnaryExpressionNoCrash1.ts:1:5] + 1 │ ~< < ╰──── × Unexpected token - ╭─[compiler/parseJsxElementInUnaryExpressionNoCrash2.ts:4:3] - 3 │ // @filename: a.js - 4 │ ~<> < + ╭─[compiler/parseJsxElementInUnaryExpressionNoCrash2.ts:1:3] + 1 │ ~<> < · ─ ╰──── × Unexpected token - ╭─[compiler/parseJsxElementInUnaryExpressionNoCrash3.ts:4:5] - 3 │ // @filename: a.js - 4 │ !< {:> + ╭─[compiler/parseJsxElementInUnaryExpressionNoCrash3.ts:1:5] + 1 │ !< {:> · ─ - 5 │ ╰──── × Unexpected token - ╭─[compiler/parseUnaryExpressionNoTypeAssertionInJsx2.ts:7:14] - 6 │ const x = "oops"; - 7 │ const y = + <> x; + ╭─[compiler/parseUnaryExpressionNoTypeAssertionInJsx2.ts:2:14] + 1 │ const x = "oops"; + 2 │ const y = + <> x; · ─ ╰──── × Unexpected token - ╭─[compiler/parseUnaryExpressionNoTypeAssertionInJsx4.ts:8:13] - 7 │ const b = + <> x; - 8 │ const c = + <1234> x; + ╭─[compiler/parseUnaryExpressionNoTypeAssertionInJsx4.ts:5:13] + 4 │ const b = + <> x; + 5 │ const c = + <1234> x; · ─ ╰──── @@ -8622,9 +8585,8 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected `,` but found `;` - ╭─[compiler/parserUnparsedTokenCrash1.ts:4:9] - 3 │ // @filename: a.js - 4 │ ( y = 1 ; 2 ) + ╭─[compiler/parserUnparsedTokenCrash1.ts:1:9] + 1 │ ( y = 1 ; 2 ) · ┬ · ╰── `,` expected ╰──── @@ -8636,16 +8598,16 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected `}` but found `EOF` - ╭─[compiler/prettyContextNotDebugAssertion.ts:4:1] - 3 │ if (true) { + ╭─[compiler/prettyContextNotDebugAssertion.ts:1:12] + 1 │ if (true) { ╰──── × Unexpected token - ╭─[compiler/privateNameJsx.tsx:6:22] - 5 │ render() { - 6 │ return ; + ╭─[compiler/privateNameJsx.tsx:4:22] + 3 │ render() { + 4 │ return ; · ───── - 7 │ } + 5 │ } ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none @@ -8671,49 +8633,49 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Identifier `e` has already been declared - ╭─[compiler/redeclareParameterInCatchBlock.ts:5:9] - 4 │ - 5 │ } catch(e) { + ╭─[compiler/redeclareParameterInCatchBlock.ts:3:9] + 2 │ + 3 │ } catch(e) { · ┬ · ╰── `e` has already been declared here - 6 │ const e = null; + 4 │ const e = null; · ┬ · ╰── It can not be redeclared here - 7 │ } + 5 │ } ╰──── × Identifier `e` has already been declared - ╭─[compiler/redeclareParameterInCatchBlock.ts:11:9] - 10 │ - 11 │ } catch(e) { + ╭─[compiler/redeclareParameterInCatchBlock.ts:9:9] + 8 │ + 9 │ } catch(e) { · ┬ · ╰── `e` has already been declared here - 12 │ let e; + 10 │ let e; · ┬ · ╰── It can not be redeclared here - 13 │ } + 11 │ } ╰──── × Identifier `b` has already been declared - ╭─[compiler/redeclareParameterInCatchBlock.ts:17:14] - 16 │ - 17 │ } catch ([a, b]) { + ╭─[compiler/redeclareParameterInCatchBlock.ts:15:14] + 14 │ + 15 │ } catch ([a, b]) { · ┬ · ╰── `b` has already been declared here - 18 │ const [c, b] = [0, 1]; + 16 │ const [c, b] = [0, 1]; · ┬ · ╰── It can not be redeclared here - 19 │ } + 17 │ } ╰──── × Identifier `x` has already been declared - ╭─[compiler/redeclareParameterInCatchBlock.ts:23:15] - 22 │ - 23 │ } catch ({ a: x, b: x }) { + ╭─[compiler/redeclareParameterInCatchBlock.ts:21:15] + 20 │ + 21 │ } catch ({ a: x, b: x }) { · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `x` has already been declared here - 24 │ + 22 │ ╰──── × Expected `from` but found `while` @@ -8775,59 +8737,59 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Identifier `v` has already been declared - ╭─[compiler/shadowedFunctionScopedVariablesByBlockScopedOnes.ts:6:14] - 5 │ function test1() { - 6 │ for (let v; ; ) { var v; } + ╭─[compiler/shadowedFunctionScopedVariablesByBlockScopedOnes.ts:4:14] + 3 │ function test1() { + 4 │ for (let v; ; ) { var v; } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `v` has already been declared here - 7 │ } + 5 │ } ╰──── × Identifier `v` has already been declared - ╭─[compiler/shadowedFunctionScopedVariablesByBlockScopedOnes.ts:9:14] - 8 │ function test2() { - 9 │ for (let v in []) { var v; } - · ┬ ┬ - · │ ╰── It can not be redeclared here - · ╰── `v` has already been declared here - 10 │ } - ╰──── + ╭─[compiler/shadowedFunctionScopedVariablesByBlockScopedOnes.ts:7:14] + 6 │ function test2() { + 7 │ for (let v in []) { var v; } + · ┬ ┬ + · │ ╰── It can not be redeclared here + · ╰── `v` has already been declared here + 8 │ } + ╰──── × Identifier `v` has already been declared - ╭─[compiler/shadowedFunctionScopedVariablesByBlockScopedOnes.ts:12:14] - 11 │ function test3() { - 12 │ for (let v of []) { var v; } + ╭─[compiler/shadowedFunctionScopedVariablesByBlockScopedOnes.ts:10:14] + 9 │ function test3() { + 10 │ for (let v of []) { var v; } · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `v` has already been declared here - 13 │ } + 11 │ } ╰──── × Identifier `x` has already been declared - ╭─[compiler/shadowedFunctionScopedVariablesByBlockScopedOnes.ts:16:13] - 15 │ { - 16 │ let x; + ╭─[compiler/shadowedFunctionScopedVariablesByBlockScopedOnes.ts:14:13] + 13 │ { + 14 │ let x; · ┬ · ╰── `x` has already been declared here - 17 │ { - 18 │ var x; + 15 │ { + 16 │ var x; · ┬ · ╰── It can not be redeclared here - 19 │ } + 17 │ } ╰──── × Identifier `x` has already been declared - ╭─[compiler/shadowedFunctionScopedVariablesByBlockScopedOnes.ts:25:17] - 24 │ { - 25 │ var x; + ╭─[compiler/shadowedFunctionScopedVariablesByBlockScopedOnes.ts:23:17] + 22 │ { + 23 │ var x; · ┬ · ╰── `x` has already been declared here - 26 │ } - 27 │ let x; + 24 │ } + 25 │ let x; · ┬ · ╰── It can not be redeclared here - 28 │ } + 26 │ } ╰──── × Identifier `x` has already been declared @@ -8932,27 +8894,27 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Invalid Character `!` - ╭─[compiler/shebangError.ts:3:2] - 2 │ var foo = 'Shebang is only allowed on the first line'; - 3 │ #!/usr/bin/env node + ╭─[compiler/shebangError.ts:2:2] + 1 │ var foo = 'Shebang is only allowed on the first line'; + 2 │ #!/usr/bin/env node · ─ ╰──── × Invalid assignment in object literal - ╭─[compiler/shorthandPropertyAssignmentsInDestructuring.ts:114:12] - 113 │ (function() { - 114 │ let a = { s = 5 }; + ╭─[compiler/shorthandPropertyAssignmentsInDestructuring.ts:111:12] + 110 │ (function() { + 111 │ let a = { s = 5 }; · ───── - 115 │ }); + 112 │ }); ╰──── help: Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern. × Invalid assignment in object literal - ╭─[compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts:114:12] - 113 │ (function() { - 114 │ let a = { s = 5 }; + ╭─[compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts:111:12] + 110 │ (function() { + 111 │ let a = { s = 5 }; · ───── - 115 │ }); + 112 │ }); ╰──── help: Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern. @@ -8969,24 +8931,24 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Identifier `x` has already been declared - ╭─[compiler/sourceMapValidationEnums.ts:3:5] - 2 │ enum e { - 3 │ x, + ╭─[compiler/sourceMapValidationEnums.ts:2:5] + 1 │ enum e { + 2 │ x, · ┬ · ╰── `x` has already been declared here - 4 │ y, - 5 │ x + 3 │ y, + 4 │ x · ┬ · ╰── It can not be redeclared here - 6 │ } + 5 │ } ╰──── × 'with' statements are not allowed - ╭─[compiler/sourceMapValidationStatements.ts:44:5] - 43 │ } - 44 │ with (obj) { + ╭─[compiler/sourceMapValidationStatements.ts:43:5] + 42 │ } + 43 │ with (obj) { · ──── - 45 │ i = 2; + 44 │ i = 2; ╰──── × Expected `,` but found `?` @@ -9029,12 +8991,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected `(` but found `{` - ╭─[compiler/staticsInAFunction.ts:2:13] - 1 │ // @lib: es5 - 2 │ function boo{ + ╭─[compiler/staticsInAFunction.ts:1:13] + 1 │ function boo{ · ┬ · ╰── `(` expected - 3 │ static test() + 2 │ static test() ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none @@ -9477,32 +9438,32 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × The keyword 'public' is reserved - ╭─[compiler/strictModeReservedWordInImportEqualDeclaration.ts:4:8] - 3 │ "use strict" - 4 │ import public = require("1"); + ╭─[compiler/strictModeReservedWordInImportEqualDeclaration.ts:2:8] + 1 │ "use strict" + 2 │ import public = require("1"); · ────── ╰──── × The keyword 'package' is reserved - ╭─[compiler/strictModeWordInImportDeclaration.ts:3:13] - 2 │ "use strict" - 3 │ import * as package from "./1" + ╭─[compiler/strictModeWordInImportDeclaration.ts:2:13] + 1 │ "use strict" + 2 │ import * as package from "./1" · ─────── - 4 │ import {foo as private} from "./1" + 3 │ import {foo as private} from "./1" ╰──── × The keyword 'private' is reserved - ╭─[compiler/strictModeWordInImportDeclaration.ts:4:16] - 3 │ import * as package from "./1" - 4 │ import {foo as private} from "./1" + ╭─[compiler/strictModeWordInImportDeclaration.ts:3:16] + 2 │ import * as package from "./1" + 3 │ import {foo as private} from "./1" · ─────── - 5 │ import public from "./1" + 4 │ import public from "./1" ╰──── × The keyword 'public' is reserved - ╭─[compiler/strictModeWordInImportDeclaration.ts:5:8] - 4 │ import {foo as private} from "./1" - 5 │ import public from "./1" + ╭─[compiler/strictModeWordInImportDeclaration.ts:4:8] + 3 │ import {foo as private} from "./1" + 4 │ import public from "./1" · ────── ╰──── @@ -9579,22 +9540,22 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: replace with `super()` or `super.prop` or `super[prop]` × 'super' can only be referenced in a derived class. - ╭─[compiler/superCallFromClassThatHasNoBaseType1.ts:8:1] - 7 │ - 8 │ ╭─▶ class B { - 9 │ │ constructor() { super(value => String(value)); } - · │ ───── - 10 │ ├─▶ } - · ╰──── class does not have `extends` - ╰──── + ╭─[compiler/superCallFromClassThatHasNoBaseType1.ts:7:1] + 6 │ + 7 │ ╭─▶ class B { + 8 │ │ constructor() { super(value => String(value)); } + · │ ───── + 9 │ ├─▶ } + · ╰──── class does not have `extends` + ╰──── help: either remove this super, or extend the class × Super calls are not permitted outside constructors or in nested functions inside constructors. - ╭─[compiler/superCallFromFunction1.ts:3:5] - 2 │ function foo() { - 3 │ super(value => String(value)); + ╭─[compiler/superCallFromFunction1.ts:2:5] + 1 │ function foo() { + 2 │ super(value => String(value)); · ───────────────────────────── - 4 │ } + 3 │ } ╰──── × Super calls are not permitted outside constructors or in nested functions inside constructors. @@ -9755,43 +9716,43 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: replace with `super()` or `super.prop` or `super[prop]` × Keywords cannot contain escape characters - ╭─[compiler/switchStatementsWithMultipleDefaults.ts:26:13] - 25 │ default: // Error, third 'default' clause - 26 │ def\u0061ult: // Error, fourth 'default' clause. + ╭─[compiler/switchStatementsWithMultipleDefaults.ts:25:13] + 24 │ default: // Error, third 'default' clause + 25 │ def\u0061ult: // Error, fourth 'default' clause. · ──────────── - 27 │ // Errors on fifth-seventh + 26 │ // Errors on fifth-seventh ╰──── × TS1108: A 'return' statement can only be used within a function body - ╭─[compiler/switchStatementsWithMultipleDefaults.ts:28:22] - 27 │ // Errors on fifth-seventh - 28 │ default: return; + ╭─[compiler/switchStatementsWithMultipleDefaults.ts:27:22] + 26 │ // Errors on fifth-seventh + 27 │ default: return; · ────── - 29 │ default: default: + 28 │ default: default: ╰──── × Identifier `default` has already been declared - ╭─[compiler/switchStatementsWithMultipleDefaults.ts:7:5] - 6 │ case 2: - 7 │ ╭─▶ default: // No issues. - 8 │ ├─▶ break; - · ╰──── `default` has already been declared here - 9 │ default: // Error; second 'default' clause. - · ────┬─── - · ╰── It can not be redeclared here - 10 │ default: // Error; third 'default' clause. - ╰──── + ╭─[compiler/switchStatementsWithMultipleDefaults.ts:6:5] + 5 │ case 2: + 6 │ ╭─▶ default: // No issues. + 7 │ ├─▶ break; + · ╰──── `default` has already been declared here + 8 │ default: // Error; second 'default' clause. + · ────┬─── + · ╰── It can not be redeclared here + 9 │ default: // Error; third 'default' clause. + ╰──── × Identifier `default` has already been declared - ╭─[compiler/switchStatementsWithMultipleDefaults.ts:20:13] - 19 │ switch (x * x) { - 20 │ default: // No issues. + ╭─[compiler/switchStatementsWithMultipleDefaults.ts:19:13] + 18 │ switch (x * x) { + 19 │ default: // No issues. · ────┬─── · ╰── `default` has already been declared here - 21 │ ╭─▶ default: // Error; second 'default' clause. - 22 │ ├─▶ break; + 20 │ ╭─▶ default: // Error; second 'default' clause. + 21 │ ├─▶ break; · ╰──── It can not be redeclared here - 23 │ case 10000: + 22 │ case 10000: ╰──── × Identifier `default` has already been declared @@ -9807,71 +9768,71 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unterminated string - ╭─[compiler/taggedTemplatesWithIncompleteNoSubstitutionTemplate1.ts:7:3] - 6 │ // Incomplete call, not enough parameters. - 7 │ f `123qdawdrqw + ╭─[compiler/taggedTemplatesWithIncompleteNoSubstitutionTemplate1.ts:5:3] + 4 │ // Incomplete call, not enough parameters. + 5 │ f `123qdawdrqw · ──────────── ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[compiler/taggedTemplatesWithIncompleteNoSubstitutionTemplate1.ts:7:2] - 6 │ // Incomplete call, not enough parameters. - 7 │ f `123qdawdrqw + ╭─[compiler/taggedTemplatesWithIncompleteNoSubstitutionTemplate1.ts:5:2] + 4 │ // Incomplete call, not enough parameters. + 5 │ f `123qdawdrqw · ─ ╰──── help: Try insert a semicolon here × Unterminated string - ╭─[compiler/taggedTemplatesWithIncompleteNoSubstitutionTemplate2.ts:7:3] - 6 │ // Incomplete call, not enough parameters, at EOF. - 7 │ f ` + ╭─[compiler/taggedTemplatesWithIncompleteNoSubstitutionTemplate2.ts:5:3] + 4 │ // Incomplete call, not enough parameters, at EOF. + 5 │ f ` · ─ ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[compiler/taggedTemplatesWithIncompleteNoSubstitutionTemplate2.ts:7:2] - 6 │ // Incomplete call, not enough parameters, at EOF. - 7 │ f ` + ╭─[compiler/taggedTemplatesWithIncompleteNoSubstitutionTemplate2.ts:5:2] + 4 │ // Incomplete call, not enough parameters, at EOF. + 5 │ f ` · ─ ╰──── help: Try insert a semicolon here × Unexpected token - ╭─[compiler/taggedTemplatesWithIncompleteTemplateExpressions1.ts:7:17] - 6 │ // Incomplete call, not enough parameters. - 7 │ f `123qdawdrqw${ + ╭─[compiler/taggedTemplatesWithIncompleteTemplateExpressions1.ts:5:17] + 4 │ // Incomplete call, not enough parameters. + 5 │ f `123qdawdrqw${ ╰──── × Unexpected token - ╭─[compiler/taggedTemplatesWithIncompleteTemplateExpressions2.ts:7:18] - 6 │ // Incomplete call, enough parameters. - 7 │ f `123qdawdrqw${ }${ + ╭─[compiler/taggedTemplatesWithIncompleteTemplateExpressions2.ts:5:18] + 4 │ // Incomplete call, enough parameters. + 5 │ f `123qdawdrqw${ }${ · ─ ╰──── × Expected `$}` but found `EOF` - ╭─[compiler/taggedTemplatesWithIncompleteTemplateExpressions3.ts:7:23] - 6 │ // Incomplete call, not enough parameters. - 7 │ f `123qdawdrqw${ 1 }${ + ╭─[compiler/taggedTemplatesWithIncompleteTemplateExpressions3.ts:5:23] + 4 │ // Incomplete call, not enough parameters. + 5 │ f `123qdawdrqw${ 1 }${ ╰──── × Unexpected token - ╭─[compiler/taggedTemplatesWithIncompleteTemplateExpressions4.ts:7:24] - 6 │ // Incomplete call, but too many parameters. - 7 │ f `123qdawdrqw${ 1 }${ }${ + ╭─[compiler/taggedTemplatesWithIncompleteTemplateExpressions4.ts:5:24] + 4 │ // Incomplete call, but too many parameters. + 5 │ f `123qdawdrqw${ 1 }${ }${ · ─ ╰──── × Expected `$}` but found `EOF` - ╭─[compiler/taggedTemplatesWithIncompleteTemplateExpressions5.ts:7:30] - 6 │ // Incomplete call, but too many parameters. - 7 │ f `123qdawdrqw${ 1 }${ 2 }${ + ╭─[compiler/taggedTemplatesWithIncompleteTemplateExpressions5.ts:5:30] + 4 │ // Incomplete call, but too many parameters. + 5 │ f `123qdawdrqw${ 1 }${ 2 }${ ╰──── × Expected `$}` but found `EOF` - ╭─[compiler/taggedTemplatesWithIncompleteTemplateExpressions6.ts:7:23] - 6 │ // Incomplete call, not enough parameters, at EOF. - 7 │ f `123qdawdrqw${ 1 }${ + ╭─[compiler/taggedTemplatesWithIncompleteTemplateExpressions6.ts:5:23] + 4 │ // Incomplete call, not enough parameters, at EOF. + 5 │ f `123qdawdrqw${ 1 }${ ╰──── × Bad escape sequence in untagged template literal @@ -10280,12 +10241,12 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected `;` but found `)` - ╭─[compiler/unusedLocalsAndParameters.ts:86:14] - 85 │ - 86 │ for (let x: y) { + ╭─[compiler/unusedLocalsAndParameters.ts:83:14] + 82 │ + 83 │ for (let x: y) { · ┬ · ╰── `;` expected - 87 │ z(x); + 84 │ z(x); ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none @@ -10303,9 +10264,9 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Cannot assign to 'eval' in strict mode - ╭─[compiler/variableDeclarationInStrictMode1.ts:3:5] - 2 │ "use strict"; - 3 │ var eval; + ╭─[compiler/variableDeclarationInStrictMode1.ts:2:5] + 1 │ "use strict"; + 2 │ var eval; · ──── ╰──── @@ -10358,399 +10319,378 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/ambient/ambientModuleDeclarationWithReservedIdentifierInDottedPath.ts:13:8] - 12 │ - 13 │ declare module debugger {} // still an error + ╭─[conformance/ambient/ambientModuleDeclarationWithReservedIdentifierInDottedPath.ts:11:8] + 10 │ + 11 │ declare module debugger {} // still an error · ─ ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/ambient/ambientModuleDeclarationWithReservedIdentifierInDottedPath2.ts:11:8] - 10 │ - 11 │ declare namespace debugger {} // still an error - · ─ - ╰──── + ╭─[conformance/ambient/ambientModuleDeclarationWithReservedIdentifierInDottedPath2.ts:9:8] + 8 │ + 9 │ declare namespace debugger {} // still an error + · ─ + ╰──── help: Try insert a semicolon here × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es2017/asyncArrowFunction/asyncArrowFunction5_es2017.ts:4:18] - 3 │ - 4 │ var foo = async (await): Promise => { + ╭─[conformance/async/es2017/asyncArrowFunction/asyncArrowFunction5_es2017.ts:1:18] + 1 │ var foo = async (await): Promise => { · ───── - 5 │ } + 2 │ } ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/async/es2017/asyncArrowFunction/asyncArrowFunction6_es2017.ts:4:28] - 3 │ - 4 │ var foo = async (a = await): Promise => { + ╭─[conformance/async/es2017/asyncArrowFunction/asyncArrowFunction6_es2017.ts:1:28] + 1 │ var foo = async (a = await): Promise => { · ▲ - 5 │ } + 2 │ } ╰──── help: Try insert a semicolon here × Unexpected token - ╭─[conformance/async/es2017/asyncArrowFunction/asyncArrowFunction7_es2017.ts:6:29] - 5 │ // 'await' here is an identifier, and not an await expression. - 6 │ var foo = async (a = await): Promise => { + ╭─[conformance/async/es2017/asyncArrowFunction/asyncArrowFunction7_es2017.ts:3:29] + 2 │ // 'await' here is an identifier, and not an await expression. + 3 │ var foo = async (a = await): Promise => { · ─ - 7 │ } + 4 │ } ╰──── × Unexpected token - ╭─[conformance/async/es2017/asyncArrowFunction/asyncArrowFunction8_es2017.ts:5:19] - 4 │ var foo = async (): Promise => { - 5 │ var v = { [await]: foo } + ╭─[conformance/async/es2017/asyncArrowFunction/asyncArrowFunction8_es2017.ts:2:19] + 1 │ var foo = async (): Promise => { + 2 │ var v = { [await]: foo } · ─ - 6 │ } + 3 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es2017/asyncArrowFunction/asyncArrowFunction9_es2017.ts:3:22] - 2 │ // @noEmitHelpers: true - 3 │ var foo = async (a = await => await): Promise => { + ╭─[conformance/async/es2017/asyncArrowFunction/asyncArrowFunction9_es2017.ts:1:22] + 1 │ var foo = async (a = await => await): Promise => { · ───── - 4 │ } + 2 │ } ╰──── × Cannot assign to this expression - ╭─[conformance/async/es2017/await_unaryExpression_es2017_3.ts:4:7] - 3 │ async function bar1() { - 4 │ ++await 42; // Error + ╭─[conformance/async/es2017/await_unaryExpression_es2017_3.ts:2:7] + 1 │ async function bar1() { + 2 │ ++await 42; // Error · ──────── - 5 │ } + 3 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration10_es2017.ts:3:24] - 2 │ // @noEmitHelpers: true - 3 │ async function foo(a = await => await): Promise { + ╭─[conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration10_es2017.ts:1:24] + 1 │ async function foo(a = await => await): Promise { · ───── - 4 │ } + 2 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration12_es2017.ts:3:24] - 2 │ // @noEmitHelpers: true - 3 │ var v = async function await(): Promise { } + ╭─[conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration12_es2017.ts:1:24] + 1 │ var v = async function await(): Promise { } · ───── ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration5_es2017.ts:3:20] - 2 │ // @noEmitHelpers: true - 3 │ async function foo(await): Promise { + ╭─[conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration5_es2017.ts:1:20] + 1 │ async function foo(await): Promise { · ───── - 4 │ } + 2 │ } ╰──── × Unexpected token - ╭─[conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration6_es2017.ts:3:29] - 2 │ // @noEmitHelpers: true - 3 │ async function foo(a = await): Promise { + ╭─[conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration6_es2017.ts:1:29] + 1 │ async function foo(a = await): Promise { · ─ - 4 │ } + 2 │ } ╰──── × Unexpected token - ╭─[conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration7_es2017.ts:5:31] - 4 │ // 'await' here is an identifier, and not a yield expression. - 5 │ async function foo(a = await): Promise { + ╭─[conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration7_es2017.ts:3:31] + 2 │ // 'await' here is an identifier, and not a yield expression. + 3 │ async function foo(a = await): Promise { · ─ - 6 │ } + 4 │ } ╰──── × Unexpected token - ╭─[conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration9_es2017.ts:4:19] - 3 │ async function foo(): Promise { - 4 │ var v = { [await]: foo } + ╭─[conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration9_es2017.ts:2:19] + 1 │ async function foo(): Promise { + 2 │ var v = { [await]: foo } · ─ - 5 │ } + 3 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es5/asyncArrowFunction/asyncArrowFunction5_es5.ts:5:18] - 4 │ - 5 │ var foo = async (await): Promise => { + ╭─[conformance/async/es5/asyncArrowFunction/asyncArrowFunction5_es5.ts:1:18] + 1 │ var foo = async (await): Promise => { · ───── - 6 │ } + 2 │ } ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/async/es5/asyncArrowFunction/asyncArrowFunction6_es5.ts:5:28] - 4 │ - 5 │ var foo = async (a = await): Promise => { + ╭─[conformance/async/es5/asyncArrowFunction/asyncArrowFunction6_es5.ts:1:28] + 1 │ var foo = async (a = await): Promise => { · ▲ - 6 │ } + 2 │ } ╰──── help: Try insert a semicolon here × Unexpected token - ╭─[conformance/async/es5/asyncArrowFunction/asyncArrowFunction7_es5.ts:7:29] - 6 │ // 'await' here is an identifier, and not an await expression. - 7 │ var foo = async (a = await): Promise => { + ╭─[conformance/async/es5/asyncArrowFunction/asyncArrowFunction7_es5.ts:3:29] + 2 │ // 'await' here is an identifier, and not an await expression. + 3 │ var foo = async (a = await): Promise => { · ─ - 8 │ } + 4 │ } ╰──── × Unexpected token - ╭─[conformance/async/es5/asyncArrowFunction/asyncArrowFunction8_es5.ts:6:19] - 5 │ var foo = async (): Promise => { - 6 │ var v = { [await]: foo } + ╭─[conformance/async/es5/asyncArrowFunction/asyncArrowFunction8_es5.ts:2:19] + 1 │ var foo = async (): Promise => { + 2 │ var v = { [await]: foo } · ─ - 7 │ } + 3 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es5/asyncArrowFunction/asyncArrowFunction9_es5.ts:4:22] - 3 │ // @noEmitHelpers: true - 4 │ var foo = async (a = await => await): Promise => { + ╭─[conformance/async/es5/asyncArrowFunction/asyncArrowFunction9_es5.ts:1:22] + 1 │ var foo = async (a = await => await): Promise => { · ───── - 5 │ } + 2 │ } ╰──── × Constructor can't be an async method - ╭─[conformance/async/es5/asyncConstructor_es5.ts:5:9] - 4 │ class C { - 5 │ async constructor() { + ╭─[conformance/async/es5/asyncConstructor_es5.ts:2:9] + 1 │ class C { + 2 │ async constructor() { · ─────────── - 6 │ } + 3 │ } ╰──── × Expected `(` but found `Identifier` - ╭─[conformance/async/es5/asyncGetter_es5.ts:5:13] - 4 │ class C { - 5 │ async get foo() { + ╭─[conformance/async/es5/asyncGetter_es5.ts:2:13] + 1 │ class C { + 2 │ async get foo() { · ─┬─ · ╰── `(` expected - 6 │ } + 3 │ } ╰──── × Expected `(` but found `Identifier` - ╭─[conformance/async/es5/asyncSetter_es5.ts:5:13] - 4 │ class C { - 5 │ async set foo(value) { + ╭─[conformance/async/es5/asyncSetter_es5.ts:2:13] + 1 │ class C { + 2 │ async set foo(value) { · ─┬─ · ╰── `(` expected - 6 │ } + 3 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es5/functionDeclarations/asyncFunctionDeclaration10_es5.ts:4:24] - 3 │ // @noEmitHelpers: true - 4 │ async function foo(a = await => await): Promise { + ╭─[conformance/async/es5/functionDeclarations/asyncFunctionDeclaration10_es5.ts:1:24] + 1 │ async function foo(a = await => await): Promise { · ───── - 5 │ } + 2 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es5/functionDeclarations/asyncFunctionDeclaration12_es5.ts:4:24] - 3 │ // @noEmitHelpers: true - 4 │ var v = async function await(): Promise { } + ╭─[conformance/async/es5/functionDeclarations/asyncFunctionDeclaration12_es5.ts:1:24] + 1 │ var v = async function await(): Promise { } · ───── ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es5/functionDeclarations/asyncFunctionDeclaration5_es5.ts:4:20] - 3 │ // @noEmitHelpers: true - 4 │ async function foo(await): Promise { + ╭─[conformance/async/es5/functionDeclarations/asyncFunctionDeclaration5_es5.ts:1:20] + 1 │ async function foo(await): Promise { · ───── - 5 │ } + 2 │ } ╰──── × Unexpected token - ╭─[conformance/async/es5/functionDeclarations/asyncFunctionDeclaration6_es5.ts:4:29] - 3 │ // @noEmitHelpers: true - 4 │ async function foo(a = await): Promise { + ╭─[conformance/async/es5/functionDeclarations/asyncFunctionDeclaration6_es5.ts:1:29] + 1 │ async function foo(a = await): Promise { · ─ - 5 │ } + 2 │ } ╰──── × Unexpected token - ╭─[conformance/async/es5/functionDeclarations/asyncFunctionDeclaration7_es5.ts:6:31] - 5 │ // 'await' here is an identifier, and not a yield expression. - 6 │ async function foo(a = await): Promise { + ╭─[conformance/async/es5/functionDeclarations/asyncFunctionDeclaration7_es5.ts:3:31] + 2 │ // 'await' here is an identifier, and not a yield expression. + 3 │ async function foo(a = await): Promise { · ─ - 7 │ } + 4 │ } ╰──── × Unexpected token - ╭─[conformance/async/es5/functionDeclarations/asyncFunctionDeclaration9_es5.ts:5:19] - 4 │ async function foo(): Promise { - 5 │ var v = { [await]: foo } + ╭─[conformance/async/es5/functionDeclarations/asyncFunctionDeclaration9_es5.ts:2:19] + 1 │ async function foo(): Promise { + 2 │ var v = { [await]: foo } · ─ - 6 │ } + 3 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es6/asyncArrowFunction/asyncArrowFunction5_es6.ts:4:18] - 3 │ - 4 │ var foo = async (await): Promise => { + ╭─[conformance/async/es6/asyncArrowFunction/asyncArrowFunction5_es6.ts:1:18] + 1 │ var foo = async (await): Promise => { · ───── - 5 │ } + 2 │ } ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/async/es6/asyncArrowFunction/asyncArrowFunction6_es6.ts:4:28] - 3 │ - 4 │ var foo = async (a = await): Promise => { + ╭─[conformance/async/es6/asyncArrowFunction/asyncArrowFunction6_es6.ts:1:28] + 1 │ var foo = async (a = await): Promise => { · ▲ - 5 │ } + 2 │ } ╰──── help: Try insert a semicolon here × Unexpected token - ╭─[conformance/async/es6/asyncArrowFunction/asyncArrowFunction7_es6.ts:6:29] - 5 │ // 'await' here is an identifier, and not an await expression. - 6 │ var foo = async (a = await): Promise => { + ╭─[conformance/async/es6/asyncArrowFunction/asyncArrowFunction7_es6.ts:3:29] + 2 │ // 'await' here is an identifier, and not an await expression. + 3 │ var foo = async (a = await): Promise => { · ─ - 7 │ } + 4 │ } ╰──── × Unexpected token - ╭─[conformance/async/es6/asyncArrowFunction/asyncArrowFunction8_es6.ts:5:19] - 4 │ var foo = async (): Promise => { - 5 │ var v = { [await]: foo } + ╭─[conformance/async/es6/asyncArrowFunction/asyncArrowFunction8_es6.ts:2:19] + 1 │ var foo = async (): Promise => { + 2 │ var v = { [await]: foo } · ─ - 6 │ } + 3 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es6/asyncArrowFunction/asyncArrowFunction9_es6.ts:3:22] - 2 │ // @noEmitHelpers: true - 3 │ var foo = async (a = await => await): Promise => { + ╭─[conformance/async/es6/asyncArrowFunction/asyncArrowFunction9_es6.ts:1:22] + 1 │ var foo = async (a = await => await): Promise => { · ───── - 4 │ } + 2 │ } ╰──── × Constructor can't be an async method - ╭─[conformance/async/es6/asyncConstructor_es6.ts:4:9] - 3 │ class C { - 4 │ async constructor() { + ╭─[conformance/async/es6/asyncConstructor_es6.ts:2:9] + 1 │ class C { + 2 │ async constructor() { · ─────────── - 5 │ } + 3 │ } ╰──── × Expected `(` but found `Identifier` - ╭─[conformance/async/es6/asyncGetter_es6.ts:4:13] - 3 │ class C { - 4 │ async get foo() { + ╭─[conformance/async/es6/asyncGetter_es6.ts:2:13] + 1 │ class C { + 2 │ async get foo() { · ─┬─ · ╰── `(` expected - 5 │ } + 3 │ } ╰──── × Expected `(` but found `Identifier` - ╭─[conformance/async/es6/asyncSetter_es6.ts:4:13] - 3 │ class C { - 4 │ async set foo(value) { + ╭─[conformance/async/es6/asyncSetter_es6.ts:2:13] + 1 │ class C { + 2 │ async set foo(value) { · ─┬─ · ╰── `(` expected - 5 │ } + 3 │ } ╰──── × Cannot assign to this expression - ╭─[conformance/async/es6/await_unaryExpression_es6_3.ts:4:7] - 3 │ async function bar1() { - 4 │ ++await 42; // Error + ╭─[conformance/async/es6/await_unaryExpression_es6_3.ts:2:7] + 1 │ async function bar1() { + 2 │ ++await 42; // Error · ──────── - 5 │ } + 3 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es6/functionDeclarations/asyncFunctionDeclaration10_es6.ts:3:24] - 2 │ // @noEmitHelpers: true - 3 │ async function foo(a = await => await): Promise { + ╭─[conformance/async/es6/functionDeclarations/asyncFunctionDeclaration10_es6.ts:1:24] + 1 │ async function foo(a = await => await): Promise { · ───── - 4 │ } + 2 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es6/functionDeclarations/asyncFunctionDeclaration12_es6.ts:3:24] - 2 │ // @noEmitHelpers: true - 3 │ var v = async function await(): Promise { } + ╭─[conformance/async/es6/functionDeclarations/asyncFunctionDeclaration12_es6.ts:1:24] + 1 │ var v = async function await(): Promise { } · ───── ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es6/functionDeclarations/asyncFunctionDeclaration5_es6.ts:3:20] - 2 │ // @noEmitHelpers: true - 3 │ async function foo(await): Promise { + ╭─[conformance/async/es6/functionDeclarations/asyncFunctionDeclaration5_es6.ts:1:20] + 1 │ async function foo(await): Promise { · ───── - 4 │ } + 2 │ } ╰──── × Unexpected token - ╭─[conformance/async/es6/functionDeclarations/asyncFunctionDeclaration6_es6.ts:3:29] - 2 │ // @noEmitHelpers: true - 3 │ async function foo(a = await): Promise { + ╭─[conformance/async/es6/functionDeclarations/asyncFunctionDeclaration6_es6.ts:1:29] + 1 │ async function foo(a = await): Promise { · ─ - 4 │ } + 2 │ } ╰──── × Unexpected token - ╭─[conformance/async/es6/functionDeclarations/asyncFunctionDeclaration7_es6.ts:5:31] - 4 │ // 'await' here is an identifier, and not a yield expression. - 5 │ async function foo(a = await): Promise { + ╭─[conformance/async/es6/functionDeclarations/asyncFunctionDeclaration7_es6.ts:3:31] + 2 │ // 'await' here is an identifier, and not a yield expression. + 3 │ async function foo(a = await): Promise { · ─ - 6 │ } + 4 │ } ╰──── × Unexpected token - ╭─[conformance/async/es6/functionDeclarations/asyncFunctionDeclaration9_es6.ts:4:19] - 3 │ async function foo(): Promise { - 4 │ var v = { [await]: foo } + ╭─[conformance/async/es6/functionDeclarations/asyncFunctionDeclaration9_es6.ts:2:19] + 1 │ async function foo(): Promise { + 2 │ var v = { [await]: foo } · ─ - 5 │ } + 3 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:16:9] - 15 │ async function f2_let () { - 16 │ let await = 1 + ╭─[conformance/async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:14:9] + 13 │ async function f2_let () { + 14 │ let await = 1 · ───── - 17 │ } + 15 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:20:9] - 19 │ async function f2_var () { - 20 │ var await = 1 + ╭─[conformance/async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:18:9] + 17 │ async function f2_var () { + 18 │ var await = 1 · ───── - 21 │ } + 19 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:24:11] - 23 │ async function f2_const () { - 24 │ const await = 1 + ╭─[conformance/async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:22:11] + 21 │ async function f2_const () { + 22 │ const await = 1 · ───── - 25 │ } + 23 │ } ╰──── × Cannot use `yield` as an identifier in a generator context - ╭─[conformance/async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:40:9] - 39 │ function * f4_let () { - 40 │ let yield = 2; + ╭─[conformance/async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:38:9] + 37 │ function * f4_let () { + 38 │ let yield = 2; · ───── - 41 │ } + 39 │ } ╰──── × Cannot use `yield` as an identifier in a generator context - ╭─[conformance/async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:44:9] - 43 │ function * f4_var () { - 44 │ var yield = 2; + ╭─[conformance/async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:42:9] + 41 │ function * f4_var () { + 42 │ var yield = 2; · ───── - 45 │ } + 43 │ } ╰──── × Cannot use `yield` as an identifier in a generator context - ╭─[conformance/async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:48:11] - 47 │ function * f4_const () { - 48 │ const yield = 2; + ╭─[conformance/async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:46:11] + 45 │ function * f4_const () { + 46 │ const yield = 2; · ───── - 49 │ } + 47 │ } ╰──── × Unexpected token @@ -10887,19 +10827,19 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Private field 'y' must be declared in an enclosing class - ╭─[conformance/classes/classStaticBlock/classStaticBlock16.ts:13:28] - 12 │ getX = (obj: C) => obj.#x; - 13 │ getY = (obj: D) => obj.#y; + ╭─[conformance/classes/classStaticBlock/classStaticBlock16.ts:11:28] + 10 │ getX = (obj: C) => obj.#x; + 11 │ getY = (obj: D) => obj.#y; · ── - 14 │ } + 12 │ } ╰──── × Private field 'x' must be declared in an enclosing class - ╭─[conformance/classes/classStaticBlock/classStaticBlock16.ts:23:28] - 22 │ // getY has privileged access to y - 23 │ getX = (obj: C) => obj.#x; + ╭─[conformance/classes/classStaticBlock/classStaticBlock16.ts:21:28] + 20 │ // getY has privileged access to y + 21 │ getX = (obj: C) => obj.#x; · ── - 24 │ getY = (obj: D) => obj.#y; + 22 │ getY = (obj: D) => obj.#y; ╰──── × Expected `(` but found `{` @@ -10912,51 +10852,51 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/classes/classStaticBlock/classStaticBlock22.ts:6:9] - 5 │ static { - 6 │ let await: any; // illegal, cannot declare a new binding for await + ╭─[conformance/classes/classStaticBlock/classStaticBlock22.ts:4:9] + 3 │ static { + 4 │ let await: any; // illegal, cannot declare a new binding for await · ───── - 7 │ } + 5 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/classes/classStaticBlock/classStaticBlock22.ts:15:9] - 14 │ static { - 15 │ let await; // illegal, cannot declare a new binding for await + ╭─[conformance/classes/classStaticBlock/classStaticBlock22.ts:13:9] + 12 │ static { + 13 │ let await; // illegal, cannot declare a new binding for await · ───── - 16 │ } + 14 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/classes/classStaticBlock/classStaticBlock22.ts:18:14] - 17 │ static { - 18 │ function await() { }; // illegal + ╭─[conformance/classes/classStaticBlock/classStaticBlock22.ts:16:14] + 15 │ static { + 16 │ function await() { }; // illegal · ───── - 19 │ } + 17 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/classes/classStaticBlock/classStaticBlock22.ts:21:11] - 20 │ static { - 21 │ class await { }; // illegal + ╭─[conformance/classes/classStaticBlock/classStaticBlock22.ts:19:11] + 18 │ static { + 19 │ class await { }; // illegal · ───── - 22 │ } + 20 │ } ╰──── × Unexpected token - ╭─[conformance/classes/classStaticBlock/classStaticBlock22.ts:27:16] - 26 │ await = 1; // legal - 27 │ x = await; // legal (initializers have an implicit function boundary) + ╭─[conformance/classes/classStaticBlock/classStaticBlock22.ts:25:16] + 24 │ await = 1; // legal + 25 │ x = await; // legal (initializers have an implicit function boundary) · ─ - 28 │ }; + 26 │ }; ╰──── × Unexpected token - ╭─[conformance/classes/classStaticBlock/classStaticBlock26.ts:5:14] - 4 │ static { - 5 │ await; // illegal + ╭─[conformance/classes/classStaticBlock/classStaticBlock26.ts:3:14] + 2 │ static { + 3 │ await; // illegal · ─ - 6 │ } + 4 │ } ╰──── × Cannot use `await` as an identifier in an async context @@ -11143,68 +11083,68 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Private identifier '#prop' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameAccessorsAccess.ts:16:10] - 15 │ } - 16 │ new A2().#prop; // Error + ╭─[conformance/classes/members/privateNames/privateNameAccessorsAccess.ts:14:10] + 13 │ } + 14 │ new A2().#prop; // Error · ───── - 17 │ + 15 │ ╰──── × Private identifier '#prop' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameAccessorsAccess.ts:19:14] - 18 │ function foo (){ - 19 │ new A2().#prop; // Error + ╭─[conformance/classes/members/privateNames/privateNameAccessorsAccess.ts:17:14] + 16 │ function foo (){ + 17 │ new A2().#prop; // Error · ───── - 20 │ } + 18 │ } ╰──── × Private field 'prop' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameAccessorsAccess.ts:24:18] - 23 │ m() { - 24 │ new A2().#prop; + ╭─[conformance/classes/members/privateNames/privateNameAccessorsAccess.ts:22:18] + 21 │ m() { + 22 │ new A2().#prop; · ───── - 25 │ } + 23 │ } ╰──── × Private field 'prop' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameAccessorssDerivedClasses.ts:11:23] - 10 │ static method(x: Derived) { - 11 │ console.log(x.#prop); + ╭─[conformance/classes/members/privateNames/privateNameAccessorssDerivedClasses.ts:9:23] + 8 │ static method(x: Derived) { + 9 │ console.log(x.#prop); · ───── - 12 │ } + 10 │ } ╰──── × Private field 'bar' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameAndAny.ts:12:15] - 11 │ thing.#baz; - 12 │ thing.#bar; // Error + ╭─[conformance/classes/members/privateNames/privateNameAndAny.ts:9:15] + 8 │ thing.#baz; + 9 │ thing.#bar; // Error · ──── - 13 │ thing.#foo(); + 10 │ thing.#foo(); ╰──── × Private field 'bar' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameAndAny.ts:19:15] - 18 │ thing.#baz; - 19 │ thing.#bar; + ╭─[conformance/classes/members/privateNames/privateNameAndAny.ts:16:15] + 15 │ thing.#baz; + 16 │ thing.#bar; · ──── - 20 │ thing.#foo(); + 17 │ thing.#foo(); ╰──── × Private field 'bar' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameAndAny.ts:26:15] - 25 │ thing.#baz; - 26 │ thing.#bar; + ╭─[conformance/classes/members/privateNames/privateNameAndAny.ts:23:15] + 22 │ thing.#baz; + 23 │ thing.#bar; · ──── - 27 │ thing.#foo(); + 24 │ thing.#foo(); ╰──── × Private field 'f' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameAndIndexSignature.ts:9:14] - 8 │ constructor(message: string) { - 9 │ this.#f = 3 // Error (index signatures do not implicitly declare private names) - · ── - 10 │ this["#foo"] = 3; // Okay (type has index signature and "#foo" does not collide with private identifier #foo) - ╰──── + ╭─[conformance/classes/members/privateNames/privateNameAndIndexSignature.ts:6:14] + 5 │ constructor(message: string) { + 6 │ this.#f = 3 // Error (index signatures do not implicitly declare private names) + · ── + 7 │ this["#foo"] = 3; // Okay (type has index signature and "#foo" does not collide with private identifier #foo) + ╰──── × Unexpected token ╭─[conformance/classes/members/privateNames/privateNameAndPropertySignature.ts:2:5] @@ -11215,35 +11155,34 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Private identifier '#nope' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameBadAssignment.ts:3:9] - 2 │ - 3 │ exports.#nope = 1; // Error (outside class body) + ╭─[conformance/classes/members/privateNames/privateNameBadAssignment.ts:1:9] + 1 │ exports.#nope = 1; // Error (outside class body) · ───── - 4 │ function A() { } + 2 │ function A() { } ╰──── × Private identifier '#no' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameBadAssignment.ts:5:13] - 4 │ function A() { } - 5 │ A.prototype.#no = 2; // Error (outside class body) + ╭─[conformance/classes/members/privateNames/privateNameBadAssignment.ts:3:13] + 2 │ function A() { } + 3 │ A.prototype.#no = 2; // Error (outside class body) · ─── - 6 │ + 4 │ ╰──── × Private identifier '#foo' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameBadAssignment.ts:8:3] - 7 │ class B {} - 8 │ B.#foo = 3; // Error (outside class body) + ╭─[conformance/classes/members/privateNames/privateNameBadAssignment.ts:6:3] + 5 │ class B {} + 6 │ B.#foo = 3; // Error (outside class body) · ──── - 9 │ + 7 │ ╰──── × Private field 'foo' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameBadAssignment.ts:14:14] - 13 │ exports.#bar = 6; // Error - 14 │ this.#foo = 3; // Error (undeclared) + ╭─[conformance/classes/members/privateNames/privateNameBadAssignment.ts:12:14] + 11 │ exports.#bar = 6; // Error + 12 │ this.#foo = 3; // Error (undeclared) · ──── - 15 │ } + 13 │ } ╰──── × Unexpected token @@ -11255,397 +11194,397 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Classes can't have an element named '#constructor' - ╭─[conformance/classes/members/privateNames/privateNameConstructorReserved.ts:4:5] - 3 │ class A { - 4 │ #constructor() {} // Error: `#constructor` is a reserved word. + ╭─[conformance/classes/members/privateNames/privateNameConstructorReserved.ts:2:5] + 1 │ class A { + 2 │ #constructor() {} // Error: `#constructor` is a reserved word. · ──────────── - 5 │ } + 3 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:8:9] - 7 │ class A_Field_Field { - 8 │ #foo = "foo"; - · ──┬─ - · ╰── `foo` has already been declared here - 9 │ #foo = "foo"; - · ──┬─ - · ╰── It can not be redeclared here - 10 │ } - ╰──── + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:5:9] + 4 │ class A_Field_Field { + 5 │ #foo = "foo"; + · ──┬─ + · ╰── `foo` has already been declared here + 6 │ #foo = "foo"; + · ──┬─ + · ╰── It can not be redeclared here + 7 │ } + ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:14:9] - 13 │ class A_Field_Method { - 14 │ #foo = "foo"; + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:11:9] + 10 │ class A_Field_Method { + 11 │ #foo = "foo"; · ──┬─ · ╰── `foo` has already been declared here - 15 │ #foo() { } + 12 │ #foo() { } · ──┬─ · ╰── It can not be redeclared here - 16 │ } + 13 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:20:9] - 19 │ class A_Field_Getter { - 20 │ #foo = "foo"; + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:17:9] + 16 │ class A_Field_Getter { + 17 │ #foo = "foo"; · ──┬─ · ╰── `foo` has already been declared here - 21 │ get #foo() { return ""} + 18 │ get #foo() { return ""} · ──┬─ · ╰── It can not be redeclared here - 22 │ } + 19 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:26:9] - 25 │ class A_Field_Setter { - 26 │ #foo = "foo"; + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:23:9] + 22 │ class A_Field_Setter { + 23 │ #foo = "foo"; · ──┬─ · ╰── `foo` has already been declared here - 27 │ set #foo(value: string) { } + 24 │ set #foo(value: string) { } · ──┬─ · ╰── It can not be redeclared here - 28 │ } + 25 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:58:9] - 57 │ class A_Method_Field { - 58 │ #foo() { } + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:55:9] + 54 │ class A_Method_Field { + 55 │ #foo() { } · ──┬─ · ╰── `foo` has already been declared here - 59 │ #foo = "foo"; + 56 │ #foo = "foo"; · ──┬─ · ╰── It can not be redeclared here - 60 │ } + 57 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:64:9] - 63 │ class A_Method_Method { - 64 │ #foo() { } + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:61:9] + 60 │ class A_Method_Method { + 61 │ #foo() { } · ──┬─ · ╰── `foo` has already been declared here - 65 │ #foo() { } + 62 │ #foo() { } · ──┬─ · ╰── It can not be redeclared here - 66 │ } + 63 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:70:9] - 69 │ class A_Method_Getter { - 70 │ #foo() { } + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:67:9] + 66 │ class A_Method_Getter { + 67 │ #foo() { } · ──┬─ · ╰── `foo` has already been declared here - 71 │ get #foo() { return ""} + 68 │ get #foo() { return ""} · ──┬─ · ╰── It can not be redeclared here - 72 │ } + 69 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:76:9] - 75 │ class A_Method_Setter { - 76 │ #foo() { } + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:73:9] + 72 │ class A_Method_Setter { + 73 │ #foo() { } · ──┬─ · ╰── `foo` has already been declared here - 77 │ set #foo(value: string) { } + 74 │ set #foo(value: string) { } · ──┬─ · ╰── It can not be redeclared here - 78 │ } + 75 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:109:13] - 108 │ class A_Getter_Field { - 109 │ get #foo() { return ""} + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:106:13] + 105 │ class A_Getter_Field { + 106 │ get #foo() { return ""} · ──┬─ · ╰── `foo` has already been declared here - 110 │ #foo = "foo"; + 107 │ #foo = "foo"; · ──┬─ · ╰── It can not be redeclared here - 111 │ } + 108 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:115:13] - 114 │ class A_Getter_Method { - 115 │ get #foo() { return ""} + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:112:13] + 111 │ class A_Getter_Method { + 112 │ get #foo() { return ""} · ──┬─ · ╰── `foo` has already been declared here - 116 │ #foo() { } + 113 │ #foo() { } · ──┬─ · ╰── It can not be redeclared here - 117 │ } + 114 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:121:13] - 120 │ class A_Getter_Getter { - 121 │ get #foo() { return ""} + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:118:13] + 117 │ class A_Getter_Getter { + 118 │ get #foo() { return ""} · ──┬─ · ╰── `foo` has already been declared here - 122 │ get #foo() { return ""} + 119 │ get #foo() { return ""} · ──┬─ · ╰── It can not be redeclared here - 123 │ } + 120 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:159:13] - 158 │ class A_Setter_Field { - 159 │ set #foo(value: string) { } + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:156:13] + 155 │ class A_Setter_Field { + 156 │ set #foo(value: string) { } · ──┬─ · ╰── `foo` has already been declared here - 160 │ #foo = "foo"; + 157 │ #foo = "foo"; · ──┬─ · ╰── It can not be redeclared here - 161 │ } + 158 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:165:13] - 164 │ class A_Setter_Method { - 165 │ set #foo(value: string) { } + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:162:13] + 161 │ class A_Setter_Method { + 162 │ set #foo(value: string) { } · ──┬─ · ╰── `foo` has already been declared here - 166 │ #foo() { } + 163 │ #foo() { } · ──┬─ · ╰── It can not be redeclared here - 167 │ } + 164 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:177:13] - 176 │ class A_Setter_Setter { - 177 │ set #foo(value: string) { } + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:174:13] + 173 │ class A_Setter_Setter { + 174 │ set #foo(value: string) { } · ──┬─ · ╰── `foo` has already been declared here - 178 │ set #foo(value: string) { } + 175 │ set #foo(value: string) { } · ──┬─ · ╰── It can not be redeclared here - 179 │ } + 176 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:233:16] - 232 │ class A_StaticField_StaticField { - 233 │ static #foo = "foo"; + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:230:16] + 229 │ class A_StaticField_StaticField { + 230 │ static #foo = "foo"; · ──┬─ · ╰── `foo` has already been declared here - 234 │ static #foo = "foo"; + 231 │ static #foo = "foo"; · ──┬─ · ╰── It can not be redeclared here - 235 │ } + 232 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:239:16] - 238 │ class A_StaticField_StaticMethod { - 239 │ static #foo = "foo"; + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:236:16] + 235 │ class A_StaticField_StaticMethod { + 236 │ static #foo = "foo"; · ──┬─ · ╰── `foo` has already been declared here - 240 │ static #foo() { } + 237 │ static #foo() { } · ──┬─ · ╰── It can not be redeclared here - 241 │ } + 238 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:245:16] - 244 │ class A_StaticField_StaticGetter { - 245 │ static #foo = "foo"; + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:242:16] + 241 │ class A_StaticField_StaticGetter { + 242 │ static #foo = "foo"; · ──┬─ · ╰── `foo` has already been declared here - 246 │ static get #foo() { return ""} + 243 │ static get #foo() { return ""} · ──┬─ · ╰── It can not be redeclared here - 247 │ } + 244 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:251:16] - 250 │ class A_StaticField_StaticSetter { - 251 │ static #foo = "foo"; + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:248:16] + 247 │ class A_StaticField_StaticSetter { + 248 │ static #foo = "foo"; · ──┬─ · ╰── `foo` has already been declared here - 252 │ static set #foo(value: string) { } + 249 │ static set #foo(value: string) { } · ──┬─ · ╰── It can not be redeclared here - 253 │ } + 250 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:283:16] - 282 │ class A_StaticMethod_StaticField { - 283 │ static #foo() { } + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:280:16] + 279 │ class A_StaticMethod_StaticField { + 280 │ static #foo() { } · ──┬─ · ╰── `foo` has already been declared here - 284 │ static #foo = "foo"; + 281 │ static #foo = "foo"; · ──┬─ · ╰── It can not be redeclared here - 285 │ } + 282 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:289:16] - 288 │ class A_StaticMethod_StaticMethod { - 289 │ static #foo() { } + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:286:16] + 285 │ class A_StaticMethod_StaticMethod { + 286 │ static #foo() { } · ──┬─ · ╰── `foo` has already been declared here - 290 │ static #foo() { } + 287 │ static #foo() { } · ──┬─ · ╰── It can not be redeclared here - 291 │ } + 288 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:295:16] - 294 │ class A_StaticMethod_StaticGetter { - 295 │ static #foo() { } + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:292:16] + 291 │ class A_StaticMethod_StaticGetter { + 292 │ static #foo() { } · ──┬─ · ╰── `foo` has already been declared here - 296 │ static get #foo() { return ""} + 293 │ static get #foo() { return ""} · ──┬─ · ╰── It can not be redeclared here - 297 │ } + 294 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:301:16] - 300 │ class A_StaticMethod_StaticSetter { - 301 │ static #foo() { } + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:298:16] + 297 │ class A_StaticMethod_StaticSetter { + 298 │ static #foo() { } · ──┬─ · ╰── `foo` has already been declared here - 302 │ static set #foo(value: string) { } + 299 │ static set #foo(value: string) { } · ──┬─ · ╰── It can not be redeclared here - 303 │ } + 300 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:334:20] - 333 │ class A_StaticGetter_StaticField { - 334 │ static get #foo() { return ""} + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:331:20] + 330 │ class A_StaticGetter_StaticField { + 331 │ static get #foo() { return ""} · ──┬─ · ╰── `foo` has already been declared here - 335 │ static #foo() { } + 332 │ static #foo() { } · ──┬─ · ╰── It can not be redeclared here - 336 │ } + 333 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:340:20] - 339 │ class A_StaticGetter_StaticMethod { - 340 │ static get #foo() { return ""} + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:337:20] + 336 │ class A_StaticGetter_StaticMethod { + 337 │ static get #foo() { return ""} · ──┬─ · ╰── `foo` has already been declared here - 341 │ static #foo() { } + 338 │ static #foo() { } · ──┬─ · ╰── It can not be redeclared here - 342 │ } + 339 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:346:20] - 345 │ class A_StaticGetter_StaticGetter { - 346 │ static get #foo() { return ""} + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:343:20] + 342 │ class A_StaticGetter_StaticGetter { + 343 │ static get #foo() { return ""} · ──┬─ · ╰── `foo` has already been declared here - 347 │ static get #foo() { return ""} + 344 │ static get #foo() { return ""} · ──┬─ · ╰── It can not be redeclared here - 348 │ } + 345 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:384:20] - 383 │ class A_StaticSetter_StaticField { - 384 │ static set #foo(value: string) { } + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:381:20] + 380 │ class A_StaticSetter_StaticField { + 381 │ static set #foo(value: string) { } · ──┬─ · ╰── `foo` has already been declared here - 385 │ static #foo = "foo"; + 382 │ static #foo = "foo"; · ──┬─ · ╰── It can not be redeclared here - 386 │ } + 383 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:390:20] - 389 │ class A_StaticSetter_StaticMethod { - 390 │ static set #foo(value: string) { } + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:387:20] + 386 │ class A_StaticSetter_StaticMethod { + 387 │ static set #foo(value: string) { } · ──┬─ · ╰── `foo` has already been declared here - 391 │ static #foo() { } + 388 │ static #foo() { } · ──┬─ · ╰── It can not be redeclared here - 392 │ } + 389 │ } ╰──── × Identifier `foo` has already been declared - ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:402:20] - 401 │ class A_StaticSetter_StaticSetter { - 402 │ static set #foo(value: string) { } + ╭─[conformance/classes/members/privateNames/privateNameDuplicateField.ts:399:20] + 398 │ class A_StaticSetter_StaticSetter { + 399 │ static set #foo(value: string) { } · ──┬─ · ╰── `foo` has already been declared here - 403 │ static set #foo(value: string) { } + 400 │ static set #foo(value: string) { } · ──┬─ · ╰── It can not be redeclared here - 404 │ } + 401 │ } ╰──── × Unexpected token - ╭─[conformance/classes/members/privateNames/privateNameEnum.ts:3:5] - 2 │ enum E { - 3 │ #x + ╭─[conformance/classes/members/privateNames/privateNameEnum.ts:2:5] + 1 │ enum E { + 2 │ #x · ── - 4 │ } + 3 │ } ╰──── × Private field 'prop' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameFieldDerivedClasses.ts:11:23] - 10 │ static method(x: Derived) { - 11 │ console.log(x.#prop); + ╭─[conformance/classes/members/privateNames/privateNameFieldDerivedClasses.ts:9:23] + 8 │ static method(x: Derived) { + 9 │ console.log(x.#prop); · ───── - 12 │ } + 10 │ } ╰──── - × Invalid Character ` ` - ╭─[conformance/classes/members/privateNames/privateNameHashCharName.ts:3:2] - 2 │ - 3 │ # + × Invalid Character ` + │ ` + ╭─[conformance/classes/members/privateNames/privateNameHashCharName.ts:1:2] + 1 │ # · ─ - 4 │ - 5 │ class C { + 2 │ + 3 │ class C { ╰──── × Private field 'x' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameImplicitDeclaration.ts:9:14] - 8 │ /** @type {string} */ - 9 │ this.#x; - · ── - 10 │ } - ╰──── + ╭─[conformance/classes/members/privateNames/privateNameImplicitDeclaration.ts:4:14] + 3 │ /** @type {string} */ + 4 │ this.#x; + · ── + 5 │ } + ╰──── × Expected `in` but found `)` - ╭─[conformance/classes/members/privateNames/privateNameInInExpression.ts:29:26] - 28 │ - 29 │ const c = (#field) in v; // Bad - privateID is not an expression on its own + ╭─[conformance/classes/members/privateNames/privateNameInInExpression.ts:25:26] + 24 │ + 25 │ const c = (#field) in v; // Bad - privateID is not an expression on its own · ┬ · ╰── `in` expected - 30 │ + 26 │ ╰──── × Cannot assign to this expression - ╭─[conformance/classes/members/privateNames/privateNameInInExpressionTransform.ts:31:9] - 30 │ invalidLHS(v: any) { - 31 │ 'prop' in v = 10; + ╭─[conformance/classes/members/privateNames/privateNameInInExpressionTransform.ts:29:9] + 28 │ invalidLHS(v: any) { + 29 │ 'prop' in v = 10; · ─────────── - 32 │ #field in v = 10; + 30 │ #field in v = 10; ╰──── × Unexpected token @@ -11673,273 +11612,268 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Private identifier '#nope' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameJsBadAssignment.ts:7:9] - 6 │ - 7 │ exports.#nope = 1; // Error (outside class body) + ╭─[conformance/classes/members/privateNames/privateNameJsBadAssignment.ts:1:9] + 1 │ exports.#nope = 1; // Error (outside class body) · ───── - 8 │ function A() { } + 2 │ function A() { } ╰──── × Private identifier '#no' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameJsBadAssignment.ts:9:13] - 8 │ function A() { } - 9 │ A.prototype.#no = 2; // Error (outside class body) - · ─── - 10 │ - ╰──── + ╭─[conformance/classes/members/privateNames/privateNameJsBadAssignment.ts:3:13] + 2 │ function A() { } + 3 │ A.prototype.#no = 2; // Error (outside class body) + · ─── + 4 │ + ╰──── × Private identifier '#foo' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameJsBadAssignment.ts:12:3] - 11 │ class B {} - 12 │ B.#foo = 3; // Error (outside class body) - · ──── - 13 │ - ╰──── + ╭─[conformance/classes/members/privateNames/privateNameJsBadAssignment.ts:6:3] + 5 │ class B {} + 6 │ B.#foo = 3; // Error (outside class body) + · ──── + 7 │ + ╰──── × Private field 'foo' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameJsBadAssignment.ts:17:14] - 16 │ constructor () { - 17 │ this.#foo = 3; // Error (undeclared) + ╭─[conformance/classes/members/privateNames/privateNameJsBadAssignment.ts:11:14] + 10 │ constructor () { + 11 │ this.#foo = 3; // Error (undeclared) · ──── - 18 │ } + 12 │ } ╰──── × Unexpected token - ╭─[conformance/classes/members/privateNames/privateNameJsBadDeclaration.ts:8:3] - 7 │ A.prototype = { - 8 │ #x: 1, // Error + ╭─[conformance/classes/members/privateNames/privateNameJsBadDeclaration.ts:3:3] + 2 │ A.prototype = { + 3 │ #x: 1, // Error · ── - 9 │ #m() {}, // Error + 4 │ #m() {}, // Error ╰──── × Private identifier '#method' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameMethodAccess.ts:14:10] - 13 │ } - 14 │ new A2().#method(); // Error + ╭─[conformance/classes/members/privateNames/privateNameMethodAccess.ts:12:10] + 11 │ } + 12 │ new A2().#method(); // Error · ─────── - 15 │ + 13 │ ╰──── × Private identifier '#method' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameMethodAccess.ts:17:14] - 16 │ function foo (){ - 17 │ new A2().#method(); // Error + ╭─[conformance/classes/members/privateNames/privateNameMethodAccess.ts:15:14] + 14 │ function foo (){ + 15 │ new A2().#method(); // Error · ─────── - 18 │ } + 16 │ } ╰──── × Private field 'method' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameMethodAccess.ts:22:18] - 21 │ m() { - 22 │ new A2().#method(); + ╭─[conformance/classes/members/privateNames/privateNameMethodAccess.ts:20:18] + 19 │ m() { + 20 │ new A2().#method(); · ─────── - 23 │ } + 21 │ } ╰──── × Private identifier '#method' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameMethodClassExpression.ts:11:17] - 10 │ console.log(C.getInstance().getField()); - 11 │ C.getInstance().#method; // Error + ╭─[conformance/classes/members/privateNames/privateNameMethodClassExpression.ts:9:17] + 8 │ console.log(C.getInstance().getField()); + 9 │ C.getInstance().#method; // Error · ─────── - 12 │ C.getInstance().#field; // Error + 10 │ C.getInstance().#field; // Error ╰──── × Private identifier '#field' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameMethodClassExpression.ts:12:17] - 11 │ C.getInstance().#method; // Error - 12 │ C.getInstance().#field; // Error + ╭─[conformance/classes/members/privateNames/privateNameMethodClassExpression.ts:10:17] + 9 │ C.getInstance().#method; // Error + 10 │ C.getInstance().#field; // Error · ────── - 13 │ ╰──── × Private field 'prop' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameMethodsDerivedClasses.ts:11:23] - 10 │ static method(x: Derived) { - 11 │ console.log(x.#prop()); + ╭─[conformance/classes/members/privateNames/privateNameMethodsDerivedClasses.ts:9:23] + 8 │ static method(x: Derived) { + 9 │ console.log(x.#prop()); · ───── - 12 │ } + 10 │ } ╰──── × Private field 'unknown' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameNestedMethodAccess.ts:21:19] - 20 │ x.#bar; - 21 │ x.#unknown; // Error + ╭─[conformance/classes/members/privateNames/privateNameNestedMethodAccess.ts:19:19] + 18 │ x.#bar; + 19 │ x.#unknown; // Error · ──────── - 22 │ } + 20 │ } ╰──── × Private identifier '#foo' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameNotAccessibleOutsideDefiningClass.ts:8:9] - 7 │ - 8 │ new A().#foo = 4; // Error + ╭─[conformance/classes/members/privateNames/privateNameNotAccessibleOutsideDefiningClass.ts:5:9] + 4 │ + 5 │ new A().#foo = 4; // Error · ──── ╰──── × Unexpected token - ╭─[conformance/classes/members/privateNames/privateNameNotAllowedOutsideClass.ts:4:7] - 3 │ - 4 │ const #foo = 3; + ╭─[conformance/classes/members/privateNames/privateNameNotAllowedOutsideClass.ts:1:7] + 1 │ const #foo = 3; · ──── ╰──── × Private identifier '#prop' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameStaticAccessorsAccess.ts:17:4] - 16 │ - 17 │ A2.#prop; // Error + ╭─[conformance/classes/members/privateNames/privateNameStaticAccessorsAccess.ts:16:4] + 15 │ + 16 │ A2.#prop; // Error · ───── - 18 │ + 17 │ ╰──── × Private identifier '#prop' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameStaticAccessorsAccess.ts:20:8] - 19 │ function foo (){ - 20 │ A2.#prop; // Error + ╭─[conformance/classes/members/privateNames/privateNameStaticAccessorsAccess.ts:19:8] + 18 │ function foo (){ + 19 │ A2.#prop; // Error · ───── - 21 │ } + 20 │ } ╰──── × Private field 'prop' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameStaticAccessorsAccess.ts:25:12] - 24 │ m() { - 25 │ A2.#prop; + ╭─[conformance/classes/members/privateNames/privateNameStaticAccessorsAccess.ts:24:12] + 23 │ m() { + 24 │ A2.#prop; · ───── - 26 │ } + 25 │ } ╰──── × Private field 'prop' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameStaticAccessorssDerivedClasses.ts:11:23] - 10 │ static method(x: typeof Derived) { - 11 │ console.log(x.#prop); + ╭─[conformance/classes/members/privateNames/privateNameStaticAccessorssDerivedClasses.ts:9:23] + 8 │ static method(x: typeof Derived) { + 9 │ console.log(x.#prop); · ───── - 12 │ } + 10 │ } ╰──── × Private field 'derivedProp' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameStaticFieldDerivedClasses.ts:6:17] - 5 │ static method(x: Derived) { - 6 │ Derived.#derivedProp // error + ╭─[conformance/classes/members/privateNames/privateNameStaticFieldDerivedClasses.ts:4:17] + 3 │ static method(x: Derived) { + 4 │ Derived.#derivedProp // error · ──────────── - 7 │ Base.#prop = 10; + 5 │ Base.#prop = 10; ╰──── × Private field 'prop' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameStaticFieldDerivedClasses.ts:14:14] - 13 │ Derived.#derivedProp - 14 │ Base.#prop = 10; // error + ╭─[conformance/classes/members/privateNames/privateNameStaticFieldDerivedClasses.ts:12:14] + 11 │ Derived.#derivedProp + 12 │ Base.#prop = 10; // error · ───── - 15 │ } + 13 │ } ╰──── × Expected `(` but found `*` - ╭─[conformance/classes/members/privateNames/privateNameStaticMethodAsync.ts:13:18] - 12 │ } - 13 │ async static *#bazBad() { yield 42; } + ╭─[conformance/classes/members/privateNames/privateNameStaticMethodAsync.ts:11:18] + 10 │ } + 11 │ async static *#bazBad() { yield 42; } · ┬ · ╰── `(` expected - 14 │ } + 12 │ } ╰──── × Private identifier '#method' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameStaticMethodClassExpression.ts:11:14] - 10 │ console.log(C.getClass().getField()); - 11 │ C.getClass().#method; // Error + ╭─[conformance/classes/members/privateNames/privateNameStaticMethodClassExpression.ts:9:14] + 8 │ console.log(C.getClass().getField()); + 9 │ C.getClass().#method; // Error · ─────── - 12 │ C.getClass().#field; // Error + 10 │ C.getClass().#field; // Error ╰──── × Private identifier '#field' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNameStaticMethodClassExpression.ts:12:14] - 11 │ C.getClass().#method; // Error - 12 │ C.getClass().#field; // Error + ╭─[conformance/classes/members/privateNames/privateNameStaticMethodClassExpression.ts:10:14] + 9 │ C.getClass().#method; // Error + 10 │ C.getClass().#field; // Error · ────── - 13 │ ╰──── × Private field 'foo' must be declared in an enclosing class - ╭─[conformance/classes/members/privateNames/privateNameUncheckedJsOptionalChain.ts:10:15] - 9 │ constructor () { - 10 │ this?.#foo; - · ──── - 11 │ this?.#bar; - ╰──── + ╭─[conformance/classes/members/privateNames/privateNameUncheckedJsOptionalChain.ts:4:15] + 3 │ constructor () { + 4 │ this?.#foo; + · ──── + 5 │ this?.#bar; + ╰──── × Private identifier '#foo' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNamesAndGenericClasses-2.ts:27:3] - 26 │ const x: number = a.baz // OK - 27 │ a.#foo; // Error + ╭─[conformance/classes/members/privateNames/privateNamesAndGenericClasses-2.ts:24:3] + 23 │ const x: number = a.baz // OK + 24 │ a.#foo; // Error · ──── - 28 │ a = b; // Error + 25 │ a = b; // Error ╰──── × Unexpected token - ╭─[conformance/classes/members/privateNames/privateNamesAndIndexedAccess.ts:11:28] - 10 │ // not supported yet, could support in future: - 11 │ const badForNow: C[#bar] = 3; // Error - · ──── - 12 │ // will never use this syntax, already taken: - ╰──── + ╭─[conformance/classes/members/privateNames/privateNamesAndIndexedAccess.ts:7:28] + 6 │ // not supported yet, could support in future: + 7 │ const badForNow: C[#bar] = 3; // Error + · ──── + 8 │ // will never use this syntax, already taken: + ╰──── × Private identifier '#foo' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNamesInGenericClasses.ts:26:3] - 25 │ declare let b: C; - 26 │ a.#foo; // Error + ╭─[conformance/classes/members/privateNames/privateNamesInGenericClasses.ts:22:3] + 21 │ declare let b: C; + 22 │ a.#foo; // Error · ──── - 27 │ a.#method; // Error + 23 │ a.#method; // Error ╰──── × Private identifier '#method' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNamesInGenericClasses.ts:27:3] - 26 │ a.#foo; // Error - 27 │ a.#method; // Error + ╭─[conformance/classes/members/privateNames/privateNamesInGenericClasses.ts:23:3] + 22 │ a.#foo; // Error + 23 │ a.#method; // Error · ─────── - 28 │ a.#prop; // Error + 24 │ a.#prop; // Error ╰──── × Private identifier '#prop' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNamesInGenericClasses.ts:28:3] - 27 │ a.#method; // Error - 28 │ a.#prop; // Error + ╭─[conformance/classes/members/privateNames/privateNamesInGenericClasses.ts:24:3] + 23 │ a.#method; // Error + 24 │ a.#prop; // Error · ───── - 29 │ a = b; // Error + 25 │ a = b; // Error ╰──── × Expected `(` but found `#identifier` - ╭─[conformance/classes/members/privateNames/privateNamesIncompatibleModifiers.ts:30:15] - 29 │ declare set #whatProp(value: number) // Error - 30 │ async get #asyncProp() { return 1; } // Error + ╭─[conformance/classes/members/privateNames/privateNamesIncompatibleModifiers.ts:27:15] + 26 │ declare set #whatProp(value: number) // Error + 27 │ async get #asyncProp() { return 1; } // Error · ─────┬──── · ╰── `(` expected - 31 │ async set #asyncProp(value: number) { } // Error + 28 │ async set #asyncProp(value: number) { } // Error ╰──── × Private identifier '#prop' is not allowed outside class bodies - ╭─[conformance/classes/members/privateNames/privateNamesInterfaceExtendingClass.ts:12:7] - 11 │ function func(x: I) { - 12 │ x.#prop = 123; + ╭─[conformance/classes/members/privateNames/privateNamesInterfaceExtendingClass.ts:10:7] + 9 │ function func(x: I) { + 10 │ x.#prop = 123; · ───── - 13 │ } + 11 │ } ╰──── × Private fields can not be deleted - ╭─[conformance/classes/members/privateNames/privateNamesNoDelete.ts:7:16] - 6 │ constructor() { - 7 │ delete this.#v; // Error: The operand of a delete operator cannot be a private name. + ╭─[conformance/classes/members/privateNames/privateNamesNoDelete.ts:4:16] + 3 │ constructor() { + 4 │ delete this.#v; // Error: The operand of a delete operator cannot be a private name. · ─────── - 8 │ } + 5 │ } ╰──── × Unexpected token - ╭─[conformance/classes/members/privateNames/privateNamesNotAllowedAsParameters.ts:4:12] - 3 │ class A { - 4 │ setFoo(#foo: string) {} + ╭─[conformance/classes/members/privateNames/privateNamesNotAllowedAsParameters.ts:2:12] + 1 │ class A { + 2 │ setFoo(#foo: string) {} · ──── - 5 │ } + 3 │ } ╰──── × Unexpected token - ╭─[conformance/classes/members/privateNames/privateNamesNotAllowedInVariableDeclarations.ts:4:7] - 3 │ - 4 │ const #foo = 3; + ╭─[conformance/classes/members/privateNames/privateNamesNotAllowedInVariableDeclarations.ts:1:7] + 1 │ const #foo = 3; · ──── ╰──── @@ -11953,26 +11887,26 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: Try insert a semicolon here × Identifier `accessor` has already been declared - ╭─[conformance/classes/propertyMemberDeclarations/autoAccessor11.ts:7:12] - 6 │ - 7 │ static accessor + ╭─[conformance/classes/propertyMemberDeclarations/autoAccessor11.ts:5:12] + 4 │ + 5 │ static accessor · ────┬─── · ╰── `accessor` has already been declared here - 8 │ b - 9 │ - 10 │ static - 11 │ accessor + 6 │ b + 7 │ + 8 │ static + 9 │ accessor · ────┬─── · ╰── It can not be redeclared here - 12 │ c + 10 │ c ╰──── × Unexpected token - ╭─[conformance/classes/propertyMemberDeclarations/autoAccessorDisallowedModifiers.ts:13:15] - 12 │ accessor static h: any; - 13 │ accessor i() {} + ╭─[conformance/classes/propertyMemberDeclarations/autoAccessorDisallowedModifiers.ts:10:15] + 9 │ accessor static h: any; + 10 │ accessor i() {} · ─ - 14 │ accessor get j() { return false; } + 11 │ accessor get j() { return false; } ╰──── × Identifier `x` has already been declared @@ -12052,28 +11986,28 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Identifier `x` has already been declared - ╭─[conformance/classes/propertyMemberDeclarations/twoAccessorsWithSameName.ts:3:9] - 2 │ class C { - 3 │ get x() { return 1; } + ╭─[conformance/classes/propertyMemberDeclarations/twoAccessorsWithSameName.ts:2:9] + 1 │ class C { + 2 │ get x() { return 1; } · ┬ · ╰── `x` has already been declared here - 4 │ get x() { return 1; } // error + 3 │ get x() { return 1; } // error · ┬ · ╰── It can not be redeclared here - 5 │ } + 4 │ } ╰──── × Identifier `x` has already been declared - ╭─[conformance/classes/propertyMemberDeclarations/twoAccessorsWithSameName.ts:8:9] - 7 │ class D { - 8 │ set x(v) { } - · ┬ - · ╰── `x` has already been declared here - 9 │ set x(v) { } // error - · ┬ - · ╰── It can not be redeclared here - 10 │ } - ╰──── + ╭─[conformance/classes/propertyMemberDeclarations/twoAccessorsWithSameName.ts:7:9] + 6 │ class D { + 7 │ set x(v) { } + · ┬ + · ╰── `x` has already been declared here + 8 │ set x(v) { } // error + · ┬ + · ╰── It can not be redeclared here + 9 │ } + ╰──── × Identifier `x` has already been declared ╭─[conformance/classes/propertyMemberDeclarations/twoAccessorsWithSameName2.ts:2:16] @@ -12100,109 +12034,109 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[conformance/classes/staticIndexSignature/staticIndexSignature4.ts:14:5] - 13 │ interface IB { - 14 │ static [s: string]: number; + ╭─[conformance/classes/staticIndexSignature/staticIndexSignature4.ts:12:5] + 11 │ interface IB { + 12 │ static [s: string]: number; · ────── - 15 │ static [s: number]: 42 | 233; + 13 │ static [s: number]: 42 | 233; ╰──── × Unexpected token - ╭─[conformance/classes/staticIndexSignature/staticIndexSignature5.ts:9:5] - 8 │ interface I { - 9 │ static readonly [s: string]: number; - · ────── - 10 │ static readonly [s: number]: 42 | 233 - ╰──── + ╭─[conformance/classes/staticIndexSignature/staticIndexSignature5.ts:7:5] + 6 │ interface I { + 7 │ static readonly [s: string]: number; + · ────── + 8 │ static readonly [s: number]: 42 | 233 + ╰──── × Expected `,` but found `is` - ╭─[conformance/controlFlow/assertionTypePredicates1.ts:167:20] - 166 │ get p1(): this is string; - 167 │ set p1(x: this is string); + ╭─[conformance/controlFlow/assertionTypePredicates1.ts:163:20] + 162 │ get p1(): this is string; + 163 │ set p1(x: this is string); · ─┬ · ╰── `,` expected - 168 │ get p2(): asserts this is string; + 164 │ get p2(): asserts this is string; ╰──── × Expected `,` but found `!` - ╭─[conformance/controlFlow/definiteAssignmentAssertionsWithObjectShortHand.ts:5:16] - 4 │ const a: string | undefined = 'ff'; - 5 │ const foo = { a! } + ╭─[conformance/controlFlow/definiteAssignmentAssertionsWithObjectShortHand.ts:2:16] + 1 │ const a: string | undefined = 'ff'; + 2 │ const foo = { a! } · ┬ · ╰── `,` expected - 6 │ + 3 │ ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/decorators/class/accessor/decoratorOnClassAccessor3.ts:6:11] - 5 │ class C { - 6 │ public @dec get accessor() { return 1; } + ╭─[conformance/decorators/class/accessor/decoratorOnClassAccessor3.ts:4:11] + 3 │ class C { + 4 │ public @dec get accessor() { return 1; } · ─ - 7 │ } + 5 │ } ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts:6:11] - 5 │ class C { - 6 │ public @dec set accessor(value: number) { } + ╭─[conformance/decorators/class/accessor/decoratorOnClassAccessor6.ts:4:11] + 3 │ class C { + 4 │ public @dec set accessor(value: number) { } · ─ - 7 │ } + 5 │ } ╰──── help: Try insert a semicolon here × Expected `,` but found `@` - ╭─[conformance/decorators/class/constructor/parameter/decoratorOnClassConstructorParameter4.ts:6:24] - 5 │ class C { - 6 │ constructor(public @dec p: number) {} + ╭─[conformance/decorators/class/constructor/parameter/decoratorOnClassConstructorParameter4.ts:4:24] + 3 │ class C { + 4 │ constructor(public @dec p: number) {} · ┬ · ╰── `,` expected - 7 │ } + 5 │ } ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/decorators/class/method/decoratorOnClassMethod17.ts:7:17] - 6 │ class Foo { - 7 │ private prop @decorator + ╭─[conformance/decorators/class/method/decoratorOnClassMethod17.ts:4:17] + 3 │ class Foo { + 4 │ private prop @decorator · ─ - 8 │ foo() { + 5 │ foo() { ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/decorators/class/method/decoratorOnClassMethod3.ts:6:11] - 5 │ class C { - 6 │ public @dec method() {} + ╭─[conformance/decorators/class/method/decoratorOnClassMethod3.ts:4:11] + 3 │ class C { + 4 │ public @dec method() {} · ─ - 7 │ } + 5 │ } ╰──── help: Try insert a semicolon here × await expression not allowed in formal parameter - ╭─[conformance/decorators/class/method/parameter/decoratorOnClassMethodParameter3.ts:8:23] - 7 │ class Class { - 8 │ async method(@dec(await value) arg: number) {} + ╭─[conformance/decorators/class/method/parameter/decoratorOnClassMethodParameter3.ts:5:23] + 4 │ class Class { + 5 │ async method(@dec(await value) arg: number) {} · ─────┬───── · ╰── await expression not allowed in formal parameter - 9 │ } + 6 │ } ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/decorators/class/property/decoratorOnClassProperty3.ts:6:11] - 5 │ class C { - 6 │ public @dec prop; + ╭─[conformance/decorators/class/property/decoratorOnClassProperty3.ts:4:11] + 3 │ class C { + 4 │ public @dec prop; · ─ - 7 │ } + 5 │ } ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/decorators/decoratorMetadata-jsdoc.ts:9:15] - 8 │ @decorator() - 9 │ a?: string?; - · ▲ - 10 │ @decorator() - ╰──── + ╭─[conformance/decorators/decoratorMetadata-jsdoc.ts:5:15] + 4 │ @decorator() + 5 │ a?: string?; + · ▲ + 6 │ @decorator() + ╰──── help: Try insert a semicolon here × Unexpected token @@ -12222,19 +12156,19 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[conformance/dynamicImport/importCallExpressionGrammarError.ts:9:8] - 8 │ var a = ["./0"]; - 9 │ import(...["PathModule"]); - · ─── - 10 │ - ╰──── + ╭─[conformance/dynamicImport/importCallExpressionGrammarError.ts:5:8] + 4 │ var a = ["./0"]; + 5 │ import(...["PathModule"]); + · ─── + 6 │ + ╰──── × `await` is only allowed within async functions and at the top levels of modules - ╭─[conformance/enums/awaitAndYield.ts:5:15] - 4 │ enum E { - 5 │ foo = await x, + ╭─[conformance/enums/awaitAndYield.ts:3:15] + 2 │ enum E { + 3 │ foo = await x, · ───── - 6 │ baz = yield 1, + 4 │ baz = yield 1, ╰──── × Expected `,` but found `;` @@ -12247,28 +12181,28 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Bad escape sequence in untagged template literal - ╭─[conformance/es2018/invalidTaggedTemplateEscapeSequences.ts:10:12] - 9 │ const x = tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld`; - 10 │ const y = `\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld`; // should error with NoSubstitutionTemplate - · ────────── - 11 │ const z = tag`\u{hello} \xtraordinary wonderful \uworld` // should work with Tagged NoSubstitutionTemplate - ╰──── + ╭─[conformance/es2018/invalidTaggedTemplateEscapeSequences.ts:8:12] + 7 │ const x = tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld`; + 8 │ const y = `\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld`; // should error with NoSubstitutionTemplate + · ────────── + 9 │ const z = tag`\u{hello} \xtraordinary wonderful \uworld` // should work with Tagged NoSubstitutionTemplate + ╰──── × Bad escape sequence in untagged template literal - ╭─[conformance/es2018/invalidTaggedTemplateEscapeSequences.ts:10:30] - 9 │ const x = tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld`; - 10 │ const y = `\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld`; // should error with NoSubstitutionTemplate - · ─────────────── - 11 │ const z = tag`\u{hello} \xtraordinary wonderful \uworld` // should work with Tagged NoSubstitutionTemplate - ╰──── + ╭─[conformance/es2018/invalidTaggedTemplateEscapeSequences.ts:8:30] + 7 │ const x = tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld`; + 8 │ const y = `\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld`; // should error with NoSubstitutionTemplate + · ─────────────── + 9 │ const z = tag`\u{hello} \xtraordinary wonderful \uworld` // should work with Tagged NoSubstitutionTemplate + ╰──── × Bad escape sequence in untagged template literal - ╭─[conformance/es2018/invalidTaggedTemplateEscapeSequences.ts:10:72] - 9 │ const x = tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld`; - 10 │ const y = `\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld`; // should error with NoSubstitutionTemplate - · ──────── - 11 │ const z = tag`\u{hello} \xtraordinary wonderful \uworld` // should work with Tagged NoSubstitutionTemplate - ╰──── + ╭─[conformance/es2018/invalidTaggedTemplateEscapeSequences.ts:8:72] + 7 │ const x = tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld`; + 8 │ const y = `\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld`; // should error with NoSubstitutionTemplate + · ──────── + 9 │ const z = tag`\u{hello} \xtraordinary wonderful \uworld` // should work with Tagged NoSubstitutionTemplate + ╰──── × Line terminator not permitted before arrow ╭─[conformance/es6/arrowFunction/disallowLineTerminatorBeforeArrow.ts:2:5] @@ -12415,19 +12349,19 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Cannot assign to 'arguments' in strict mode - ╭─[conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments12.ts:4:7] - 3 │ class C { - 4 │ f(arguments) { + ╭─[conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments12.ts:2:7] + 1 │ class C { + 2 │ f(arguments) { · ───────── - 5 │ var a = () => arguments; + 3 │ var a = () => arguments; ╰──── × Cannot assign to 'arguments' in strict mode - ╭─[conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments12_ES6.ts:4:7] - 3 │ class C { - 4 │ f(arguments) { + ╭─[conformance/es6/arrowFunction/emitArrowFunctionWhenUsingArguments12_ES6.ts:2:7] + 1 │ class C { + 2 │ f(arguments) { · ───────── - 5 │ var a = () => arguments; + 3 │ var a = () => arguments; ╰──── × Invalid characters after number @@ -12455,27 +12389,27 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Cannot assign to 'arguments' in strict mode - ╭─[conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts:5:16] - 4 │ public implements() { } - 5 │ public foo(arguments: any) { } + ╭─[conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts:4:16] + 3 │ public implements() { } + 4 │ public foo(arguments: any) { } · ────────────── - 6 │ private bar(eval:any) { + 5 │ private bar(eval:any) { ╰──── × Cannot assign to 'eval' in strict mode - ╭─[conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts:6:17] - 5 │ public foo(arguments: any) { } - 6 │ private bar(eval:any) { + ╭─[conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts:5:17] + 4 │ public foo(arguments: any) { } + 5 │ private bar(eval:any) { · ──────── - 7 │ arguments = "hello"; + 6 │ arguments = "hello"; ╰──── × Cannot assign to 'arguments' in strict mode - ╭─[conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts:7:9] - 6 │ private bar(eval:any) { - 7 │ arguments = "hello"; + ╭─[conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts:6:9] + 5 │ private bar(eval:any) { + 6 │ arguments = "hello"; · ───────── - 8 │ } + 7 │ } ╰──── × 'super' can only be referenced in a derived class. @@ -12492,91 +12426,91 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: either remove this super, or extend the class × Super calls are not permitted outside constructors or in nested functions inside constructors. - ╭─[conformance/es6/computedProperties/computedPropertyNames27_ES5.ts:5:7] - 4 │ class C extends Base { - 5 │ [(super(), "prop")]() { } + ╭─[conformance/es6/computedProperties/computedPropertyNames27_ES5.ts:4:7] + 3 │ class C extends Base { + 4 │ [(super(), "prop")]() { } · ─────── - 6 │ } + 5 │ } ╰──── × Super calls are not permitted outside constructors or in nested functions inside constructors. - ╭─[conformance/es6/computedProperties/computedPropertyNames27_ES6.ts:5:7] - 4 │ class C extends Base { - 5 │ [(super(), "prop")]() { } + ╭─[conformance/es6/computedProperties/computedPropertyNames27_ES6.ts:4:7] + 3 │ class C extends Base { + 4 │ [(super(), "prop")]() { } · ─────── - 6 │ } + 5 │ } ╰──── × Delete of an unqualified identifier in strict mode. - ╭─[conformance/es6/computedProperties/computedPropertyNames3_ES5.ts:6:17] - 5 │ static [() => { }]() { } - 6 │ get [delete id]() { } + ╭─[conformance/es6/computedProperties/computedPropertyNames3_ES5.ts:5:17] + 4 │ static [() => { }]() { } + 5 │ get [delete id]() { } · ── - 7 │ set [[0, 1]](v) { } + 6 │ set [[0, 1]](v) { } ╰──── × Delete of an unqualified identifier in strict mode. - ╭─[conformance/es6/computedProperties/computedPropertyNames3_ES6.ts:6:17] - 5 │ static [() => { }]() { } - 6 │ get [delete id]() { } + ╭─[conformance/es6/computedProperties/computedPropertyNames3_ES6.ts:5:17] + 4 │ static [() => { }]() { } + 5 │ get [delete id]() { } · ── - 7 │ set [[0, 1]](v) { } + 6 │ set [[0, 1]](v) { } ╰──── × Identifier `` has already been declared - ╭─[conformance/es6/computedProperties/computedPropertyNames40_ES5.ts:9:6] - 8 │ // Computed properties - 9 │ [""]() { return new Foo } + ╭─[conformance/es6/computedProperties/computedPropertyNames40_ES5.ts:8:6] + 7 │ // Computed properties + 8 │ [""]() { return new Foo } · ─┬ · ╰── `` has already been declared here - 10 │ [""]() { return new Foo2 } + 9 │ [""]() { return new Foo2 } · ─┬ · ╰── It can not be redeclared here - 11 │ } + 10 │ } ╰──── × Identifier `` has already been declared - ╭─[conformance/es6/computedProperties/computedPropertyNames40_ES6.ts:9:6] - 8 │ // Computed properties - 9 │ [""]() { return new Foo } + ╭─[conformance/es6/computedProperties/computedPropertyNames40_ES6.ts:8:6] + 7 │ // Computed properties + 8 │ [""]() { return new Foo } · ─┬ · ╰── `` has already been declared here - 10 │ [""]() { return new Foo2 } + 9 │ [""]() { return new Foo2 } · ─┬ · ╰── It can not be redeclared here - 11 │ } + 10 │ } ╰──── × A 'set' accessor must have exactly one parameter. - ╭─[conformance/es6/computedProperties/computedPropertyNames49_ES5.ts:10:16] - 9 │ }, - 10 │ set [1 + 1]() { + ╭─[conformance/es6/computedProperties/computedPropertyNames49_ES5.ts:9:16] + 8 │ }, + 9 │ set [1 + 1]() { · ── - 11 │ // just throw + 10 │ // just throw ╰──── × A 'set' accessor must have exactly one parameter. - ╭─[conformance/es6/computedProperties/computedPropertyNames49_ES6.ts:11:16] - 10 │ }, - 11 │ set [1 + 1]() { + ╭─[conformance/es6/computedProperties/computedPropertyNames49_ES6.ts:9:16] + 8 │ }, + 9 │ set [1 + 1]() { · ── - 12 │ // just throw + 10 │ // just throw ╰──── × A 'set' accessor must have exactly one parameter. - ╭─[conformance/es6/computedProperties/computedPropertyNames50_ES5.ts:12:16] - 11 │ }, - 12 │ set [1 + 1]() { + ╭─[conformance/es6/computedProperties/computedPropertyNames50_ES5.ts:11:16] + 10 │ }, + 11 │ set [1 + 1]() { · ── - 13 │ // just throw + 12 │ // just throw ╰──── × A 'set' accessor must have exactly one parameter. - ╭─[conformance/es6/computedProperties/computedPropertyNames50_ES6.ts:13:16] - 12 │ }, - 13 │ set [1 + 1]() { + ╭─[conformance/es6/computedProperties/computedPropertyNames50_ES6.ts:11:16] + 10 │ }, + 11 │ set [1 + 1]() { · ── - 14 │ // just throw + 12 │ // just throw ╰──── × Missing initializer in destructuring declaration @@ -12603,23 +12537,23 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Identifier `number` has already been declared - ╭─[conformance/es6/destructuring/destructuringParameterDeclaration1ES6.ts:97:18] - 96 │ - 97 │ function e6({x: [number, number, number]}) { } // error, duplicate identifier; + ╭─[conformance/es6/destructuring/destructuringParameterDeclaration1ES6.ts:96:18] + 95 │ + 96 │ function e6({x: [number, number, number]}) { } // error, duplicate identifier; · ───┬── ───┬── · │ ╰── It can not be redeclared here · ╰── `number` has already been declared here - 98 │ + 97 │ ╰──── × Identifier `number` has already been declared - ╭─[conformance/es6/destructuring/destructuringParameterDeclaration1ES6.ts:97:18] - 96 │ - 97 │ function e6({x: [number, number, number]}) { } // error, duplicate identifier; + ╭─[conformance/es6/destructuring/destructuringParameterDeclaration1ES6.ts:96:18] + 95 │ + 96 │ function e6({x: [number, number, number]}) { } // error, duplicate identifier; · ───┬── ───┬── · │ ╰── It can not be redeclared here · ╰── `number` has already been declared here - 98 │ + 97 │ ╰──── × Expected `,` but found `)` @@ -12736,176 +12670,172 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts:5:9] - 4 │ (function () { - 5 │ var {}; + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts:2:9] + 1 │ (function () { + 2 │ var {}; · ── - 6 │ let {}; + 3 │ let {}; ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts:6:9] - 5 │ var {}; - 6 │ let {}; + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts:3:9] + 2 │ var {}; + 3 │ let {}; · ── - 7 │ const {}; + 4 │ const {}; ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts:7:11] - 6 │ let {}; - 7 │ const {}; + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts:4:11] + 3 │ let {}; + 4 │ const {}; · ── - 8 │ + 5 │ ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts:9:9] - 8 │ - 9 │ var []; - · ── - 10 │ let []; - ╰──── + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts:6:9] + 5 │ + 6 │ var []; + · ── + 7 │ let []; + ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts:10:9] - 9 │ var []; - 10 │ let []; - · ── - 11 │ const []; - ╰──── + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts:7:9] + 6 │ var []; + 7 │ let []; + · ── + 8 │ const []; + ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts:11:11] - 10 │ let []; - 11 │ const []; - · ── - 12 │ })(); - ╰──── + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts:8:11] + 7 │ let []; + 8 │ const []; + · ── + 9 │ })(); + ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5iterable.ts:6:9] - 5 │ (function () { - 6 │ var {}; + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5iterable.ts:2:9] + 1 │ (function () { + 2 │ var {}; · ── - 7 │ let {}; + 3 │ let {}; ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5iterable.ts:7:9] - 6 │ var {}; - 7 │ let {}; + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5iterable.ts:3:9] + 2 │ var {}; + 3 │ let {}; · ── - 8 │ const {}; + 4 │ const {}; ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5iterable.ts:8:11] - 7 │ let {}; - 8 │ const {}; + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5iterable.ts:4:11] + 3 │ let {}; + 4 │ const {}; · ── - 9 │ + 5 │ ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5iterable.ts:10:9] - 9 │ - 10 │ var []; - · ── - 11 │ let []; - ╰──── + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5iterable.ts:6:9] + 5 │ + 6 │ var []; + · ── + 7 │ let []; + ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5iterable.ts:11:9] - 10 │ var []; - 11 │ let []; - · ── - 12 │ const []; - ╰──── + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5iterable.ts:7:9] + 6 │ var []; + 7 │ let []; + · ── + 8 │ const []; + ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5iterable.ts:12:11] - 11 │ let []; - 12 │ const []; - · ── - 13 │ })(); - ╰──── + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5iterable.ts:8:11] + 7 │ let []; + 8 │ const []; + · ── + 9 │ })(); + ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts:5:9] - 4 │ (function () { - 5 │ var {}; + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts:2:9] + 1 │ (function () { + 2 │ var {}; · ── - 6 │ let {}; + 3 │ let {}; ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts:6:9] - 5 │ var {}; - 6 │ let {}; + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts:3:9] + 2 │ var {}; + 3 │ let {}; · ── - 7 │ const {}; + 4 │ const {}; ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts:7:11] - 6 │ let {}; - 7 │ const {}; + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts:4:11] + 3 │ let {}; + 4 │ const {}; · ── - 8 │ + 5 │ ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts:9:9] - 8 │ - 9 │ var []; - · ── - 10 │ let []; - ╰──── + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts:6:9] + 5 │ + 6 │ var []; + · ── + 7 │ let []; + ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts:10:9] - 9 │ var []; - 10 │ let []; - · ── - 11 │ const []; - ╰──── + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts:7:9] + 6 │ var []; + 7 │ let []; + · ── + 8 │ const []; + ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts:11:11] - 10 │ let []; - 11 │ const []; - · ── - 12 │ })(); - ╰──── + ╭─[conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts:8:11] + 7 │ let []; + 8 │ const []; + · ── + 9 │ })(); + ╰──── × Expected `:` but found `}` - ╭─[conformance/es6/destructuring/objectBindingPatternKeywordIdentifiers01.ts:2:13] - 1 │ - 2 │ var { while } = { while: 1 } + ╭─[conformance/es6/destructuring/objectBindingPatternKeywordIdentifiers01.ts:1:13] + 1 │ var { while } = { while: 1 } · ┬ · ╰── `:` expected ╰──── × Unexpected token - ╭─[conformance/es6/destructuring/objectBindingPatternKeywordIdentifiers02.ts:2:14] - 1 │ - 2 │ var { while: while } = { while: 1 } + ╭─[conformance/es6/destructuring/objectBindingPatternKeywordIdentifiers02.ts:1:14] + 1 │ var { while: while } = { while: 1 } · ───── ╰──── × Expected `:` but found `}` - ╭─[conformance/es6/destructuring/objectBindingPatternKeywordIdentifiers03.ts:2:15] - 1 │ - 2 │ var { "while" } = { while: 1 } + ╭─[conformance/es6/destructuring/objectBindingPatternKeywordIdentifiers03.ts:1:15] + 1 │ var { "while" } = { while: 1 } · ┬ · ╰── `:` expected ╰──── × Unexpected token - ╭─[conformance/es6/destructuring/objectBindingPatternKeywordIdentifiers04.ts:2:16] - 1 │ - 2 │ var { "while": while } = { while: 1 } + ╭─[conformance/es6/destructuring/objectBindingPatternKeywordIdentifiers04.ts:1:16] + 1 │ var { "while": while } = { while: 1 } · ───── ╰──── @@ -12932,323 +12862,306 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Only a single declaration is allowed in a `for...of` statement - ╭─[conformance/es6/for-ofStatements/for-of-excess-declarations.ts:2:6] - 1 │ // @target: esnext - 2 │ for (const a, { [b]: c} of [1]) { + ╭─[conformance/es6/for-ofStatements/for-of-excess-declarations.ts:1:6] + 1 │ for (const a, { [b]: c} of [1]) { · ────────────────── - 3 │ + 2 │ ╰──── × Missing initializer in const declaration - ╭─[conformance/es6/for-ofStatements/for-of2.ts:2:7] - 1 │ //@target: ES6 - 2 │ const v; + ╭─[conformance/es6/for-ofStatements/for-of2.ts:1:7] + 1 │ const v; · ─ - 3 │ for (v of []) { } + 2 │ for (v of []) { } ╰──── × Unexpected token - ╭─[conformance/es6/for-ofStatements/for-of3.ts:3:6] - 2 │ var v: any; - 3 │ for (v++ of []) { } + ╭─[conformance/es6/for-ofStatements/for-of3.ts:2:6] + 1 │ var v: any; + 2 │ for (v++ of []) { } · ─── ╰──── × `let` cannot be declared as a variable name inside of a `let` declaration - ╭─[conformance/es6/for-ofStatements/for-of51.ts:2:10] - 1 │ //@target: ES6 - 2 │ for (let let of []) {} + ╭─[conformance/es6/for-ofStatements/for-of51.ts:1:10] + 1 │ for (let let of []) {} · ─── ╰──── × Identifier `v` has already been declared - ╭─[conformance/es6/for-ofStatements/for-of52.ts:2:11] - 1 │ //@target: ES6 - 2 │ for (let [v, v] of [[]]) {} + ╭─[conformance/es6/for-ofStatements/for-of52.ts:1:11] + 1 │ for (let [v, v] of [[]]) {} · ┬ ┬ · │ ╰── It can not be redeclared here · ╰── `v` has already been declared here ╰──── × Identifier `v` has already been declared - ╭─[conformance/es6/for-ofStatements/for-of53.ts:2:10] - 1 │ //@target: ES6 - 2 │ for (let v of []) { + ╭─[conformance/es6/for-ofStatements/for-of53.ts:1:10] + 1 │ for (let v of []) { · ┬ · ╰── `v` has already been declared here - 3 │ var v; + 2 │ var v; · ┬ · ╰── It can not be redeclared here - 4 │ } + 3 │ } ╰──── × Identifier `v` has already been declared - ╭─[conformance/es6/for-ofStatements/for-of54.ts:2:10] - 1 │ //@target: ES6 - 2 │ for (let v of []) { + ╭─[conformance/es6/for-ofStatements/for-of54.ts:1:10] + 1 │ for (let v of []) { · ┬ · ╰── `v` has already been declared here - 3 │ var v = 0; + 2 │ var v = 0; · ┬ · ╰── It can not be redeclared here - 4 │ } + 3 │ } ╰──── × Cannot use `yield` as an identifier in a generator context - ╭─[conformance/es6/functionDeclarations/FunctionDeclaration10_es6.ts:2:20] - 1 │ // @target: es6 - 2 │ function * foo(a = yield => yield) { + ╭─[conformance/es6/functionDeclarations/FunctionDeclaration10_es6.ts:1:20] + 1 │ function * foo(a = yield => yield) { · ───── - 3 │ } + 2 │ } ╰──── × Cannot use `yield` as an identifier in a generator context - ╭─[conformance/es6/functionDeclarations/FunctionDeclaration12_es6.ts:2:20] - 1 │ // @target: es6 - 2 │ var v = function * yield() { } + ╭─[conformance/es6/functionDeclarations/FunctionDeclaration12_es6.ts:1:20] + 1 │ var v = function * yield() { } · ───── ╰──── × Cannot use `yield` as an identifier in a generator context - ╭─[conformance/es6/functionDeclarations/FunctionDeclaration5_es6.ts:2:14] - 1 │ // @target: es6 - 2 │ function*foo(yield) { + ╭─[conformance/es6/functionDeclarations/FunctionDeclaration5_es6.ts:1:14] + 1 │ function*foo(yield) { · ───── - 3 │ } + 2 │ } ╰──── × yield expression not allowed in formal parameter - ╭─[conformance/es6/functionDeclarations/FunctionDeclaration6_es6.ts:2:18] - 1 │ // @target: es6 - 2 │ function*foo(a = yield) { + ╭─[conformance/es6/functionDeclarations/FunctionDeclaration6_es6.ts:1:18] + 1 │ function*foo(a = yield) { · ──┬── · ╰── yield expression not allowed in formal parameter - 3 │ } + 2 │ } ╰──── × yield expression not allowed in formal parameter - ╭─[conformance/es6/functionDeclarations/FunctionDeclaration7_es6.ts:4:20] - 3 │ // 'yield' here is an identifier, and not a yield expression. - 4 │ function*foo(a = yield) { + ╭─[conformance/es6/functionDeclarations/FunctionDeclaration7_es6.ts:3:20] + 2 │ // 'yield' here is an identifier, and not a yield expression. + 3 │ function*foo(a = yield) { · ──┬── · ╰── yield expression not allowed in formal parameter - 5 │ } + 4 │ } ╰──── × Unexpected token - ╭─[conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments2_es6.ts:2:11] - 1 │ // @target: es6 - 2 │ var v = { *() { } } + ╭─[conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments2_es6.ts:1:11] + 1 │ var v = { *() { } } · ─ ╰──── × Unexpected token - ╭─[conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments3_es6.ts:2:11] - 1 │ // @target: es6 - 2 │ var v = { *{ } } + ╭─[conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments3_es6.ts:1:11] + 1 │ var v = { *{ } } · ─ ╰──── × Unexpected token - ╭─[conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments4_es6.ts:2:11] - 1 │ // @target: es6 - 2 │ var v = { * } + ╭─[conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments4_es6.ts:1:11] + 1 │ var v = { * } · ─ ╰──── × Unexpected token - ╭─[conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments6_es6.ts:2:11] - 1 │ // @target: es6 - 2 │ var v = { *() { } } + ╭─[conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments6_es6.ts:1:11] + 1 │ var v = { *() { } } · ─ ╰──── × Unexpected token - ╭─[conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration4_es6.ts:3:5] - 2 │ class C { - 3 │ *() { } + ╭─[conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration4_es6.ts:2:5] + 1 │ class C { + 2 │ *() { } · ─ - 4 │ } + 3 │ } ╰──── × Unexpected token - ╭─[conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration5_es6.ts:4:1] - 3 │ * - 4 │ } + ╭─[conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration5_es6.ts:3:1] + 2 │ * + 3 │ } · ─ ╰──── × Expected `(` but found `}` - ╭─[conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration6_es6.ts:4:1] - 3 │ *foo - 4 │ } + ╭─[conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration6_es6.ts:3:1] + 2 │ *foo + 3 │ } · ┬ · ╰── `(` expected ╰──── × Invalid Character `¬` - ╭─[conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration8_es6.ts:5:12] - 4 │ // Make sure we don't think of *bar as the start of a generator method. - 5 │ if (a) ¬ * bar; + ╭─[conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration8_es6.ts:4:12] + 3 │ // Make sure we don't think of *bar as the start of a generator method. + 4 │ if (a) ¬ * bar; · ─ - 6 │ return bar; + 5 │ return bar; ╰──── × Identifier `C` has already been declared - ╭─[conformance/es6/modules/multipleDefaultExports03.ts:4:22] - 3 │ - 4 │ export default class C { + ╭─[conformance/es6/modules/multipleDefaultExports03.ts:1:22] + 1 │ export default class C { · ┬ · ╰── `C` has already been declared here - 5 │ } - 6 │ - 7 │ export default class C { + 2 │ } + 3 │ + 4 │ export default class C { · ┬ · ╰── It can not be redeclared here - 8 │ } + 5 │ } ╰──── × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:2:11] - 1 │ // @target: es5 - 2 │ const a = new.target; + ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:1:11] + 1 │ const a = new.target; · ────────── - 3 │ const b = () => new.target; + 2 │ const b = () => new.target; ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:3:17] - 2 │ const a = new.target; - 3 │ const b = () => new.target; + ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:2:17] + 1 │ const a = new.target; + 2 │ const b = () => new.target; · ────────── - 4 │ + 3 │ ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:6:6] - 5 │ class C { - 6 │ [new.target]() { } + ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:5:6] + 4 │ class C { + 5 │ [new.target]() { } · ────────── - 7 │ c() { return new.target; } + 6 │ c() { return new.target; } ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:10:15] - 9 │ set e(_) { _ = new.target; } - 10 │ f = () => new.target; + ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:9:15] + 8 │ set e(_) { _ = new.target; } + 9 │ f = () => new.target; · ────────── - 11 │ + 10 │ ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:12:13] - 11 │ - 12 │ static [new.target]() { } + ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:11:13] + 10 │ + 11 │ static [new.target]() { } · ────────── - 13 │ static g() { return new.target; } + 12 │ static g() { return new.target; } ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:16:22] - 15 │ static set i(_) { _ = new.target; } - 16 │ static j = () => new.target; + ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:15:22] + 14 │ static set i(_) { _ = new.target; } + 15 │ static j = () => new.target; · ────────── - 17 │ } + 16 │ } ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:20:6] - 19 │ const O = { - 20 │ [new.target]: undefined, + ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:19:6] + 18 │ const O = { + 19 │ [new.target]: undefined, · ────────── - 21 │ k() { return new.target; }, + 20 │ k() { return new.target; }, ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:24:8] - 23 │ set m(_) { _ = new.target; }, - 24 │ n: new.target, + ╭─[conformance/es6/newTarget/invalidNewTarget.es5.ts:23:8] + 22 │ set m(_) { _ = new.target; }, + 23 │ n: new.target, · ────────── - 25 │ }; + 24 │ }; ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:2:11] - 1 │ // @target: es6 - 2 │ const a = new.target; + ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:1:11] + 1 │ const a = new.target; · ────────── - 3 │ const b = () => new.target; + 2 │ const b = () => new.target; ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:3:17] - 2 │ const a = new.target; - 3 │ const b = () => new.target; + ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:2:17] + 1 │ const a = new.target; + 2 │ const b = () => new.target; · ────────── - 4 │ + 3 │ ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:6:6] - 5 │ class C { - 6 │ [new.target]() { } + ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:5:6] + 4 │ class C { + 5 │ [new.target]() { } · ────────── - 7 │ c() { return new.target; } + 6 │ c() { return new.target; } ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:10:15] - 9 │ set e(_) { _ = new.target; } - 10 │ f = () => new.target; + ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:9:15] + 8 │ set e(_) { _ = new.target; } + 9 │ f = () => new.target; · ────────── - 11 │ + 10 │ ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:12:13] - 11 │ - 12 │ static [new.target]() { } + ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:11:13] + 10 │ + 11 │ static [new.target]() { } · ────────── - 13 │ static g() { return new.target; } + 12 │ static g() { return new.target; } ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:16:22] - 15 │ static set i(_) { _ = new.target; } - 16 │ static j = () => new.target; + ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:15:22] + 14 │ static set i(_) { _ = new.target; } + 15 │ static j = () => new.target; · ────────── - 17 │ } + 16 │ } ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:20:6] - 19 │ const O = { - 20 │ [new.target]: undefined, + ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:19:6] + 18 │ const O = { + 19 │ [new.target]: undefined, · ────────── - 21 │ k() { return new.target; }, + 20 │ k() { return new.target; }, ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator × Unexpected new.target expression - ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:24:8] - 23 │ set m(_) { _ = new.target; }, - 24 │ n: new.target, + ╭─[conformance/es6/newTarget/invalidNewTarget.es6.ts:23:8] + 22 │ set m(_) { _ = new.target; }, + 23 │ n: new.target, · ────────── - 25 │ }; + 24 │ }; ╰──── help: new.target is only allowed in constructors and functions invoked using thew `new` operator @@ -13274,11 +13187,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × 'super' can only be used with function calls or in property accesses - ╭─[conformance/es6/templates/taggedTemplatesWithTypeArguments2.ts:40:9] - 39 │ constructor() { - 40 │ super `hello world`; + ╭─[conformance/es6/templates/taggedTemplatesWithTypeArguments2.ts:36:9] + 35 │ constructor() { + 36 │ super `hello world`; · ───── - 41 │ } + 37 │ } ╰──── help: replace with `super()` or `super.prop` or `super[prop]` @@ -13290,11 +13203,10 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[conformance/es6/templates/templateStringInFunctionParameterTypeES6.ts:2:12] - 1 │ // @target: ES6 - 2 │ function f(`hello`); + ╭─[conformance/es6/templates/templateStringInFunctionParameterTypeES6.ts:1:12] + 1 │ function f(`hello`); · ─────── - 3 │ function f(x: string); + 2 │ function f(x: string); ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none @@ -13306,11 +13218,10 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/es6/templates/templateStringInModuleNameES6.ts:2:8] - 1 │ // @target: ES6 - 2 │ declare module `M1` { + ╭─[conformance/es6/templates/templateStringInModuleNameES6.ts:1:8] + 1 │ declare module `M1` { · ─ - 3 │ } + 2 │ } ╰──── help: Try insert a semicolon here @@ -13323,11 +13234,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[conformance/es6/templates/templateStringInObjectLiteralES6.ts:4:5] - 3 │ a: `abc${ 123 }def`, - 4 │ `b`: 321 + ╭─[conformance/es6/templates/templateStringInObjectLiteralES6.ts:3:5] + 2 │ a: `abc${ 123 }def`, + 3 │ `b`: 321 · ─── - 5 │ } + 4 │ } ╰──── × Unexpected token @@ -13347,88 +13258,78 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[conformance/es6/templates/templateStringInPropertyNameES6_1.ts:3:5] - 2 │ var x = { - 3 │ `a`: 321 + ╭─[conformance/es6/templates/templateStringInPropertyNameES6_1.ts:2:5] + 1 │ var x = { + 2 │ `a`: 321 · ─── - 4 │ } + 3 │ } ╰──── × Unexpected token - ╭─[conformance/es6/templates/templateStringInPropertyNameES6_2.ts:3:5] - 2 │ var x = { - 3 │ `abc${ 123 }def${ 456 }ghi`: 321 + ╭─[conformance/es6/templates/templateStringInPropertyNameES6_2.ts:2:5] + 1 │ var x = { + 2 │ `abc${ 123 }def${ 456 }ghi`: 321 · ────── - 4 │ } + 3 │ } ╰──── × Unterminated string - ╭─[conformance/es6/templates/templateStringUnterminated1.ts:2:1] - 1 │ - 2 │ ` + ╭─[conformance/es6/templates/templateStringUnterminated1.ts:1:1] + 1 │ ` · ─ ╰──── × Unterminated string - ╭─[conformance/es6/templates/templateStringUnterminated1_ES6.ts:2:1] - 1 │ // @target: ES6 - 2 │ ` + ╭─[conformance/es6/templates/templateStringUnterminated1_ES6.ts:1:1] + 1 │ ` · ─ ╰──── × Unterminated string - ╭─[conformance/es6/templates/templateStringUnterminated2.ts:2:1] - 1 │ - 2 │ `\` + ╭─[conformance/es6/templates/templateStringUnterminated2.ts:1:1] + 1 │ `\` · ─── ╰──── × Unterminated string - ╭─[conformance/es6/templates/templateStringUnterminated2_ES6.ts:2:1] - 1 │ // @target: ES6 - 2 │ `\` + ╭─[conformance/es6/templates/templateStringUnterminated2_ES6.ts:1:1] + 1 │ `\` · ─── ╰──── × Unterminated string - ╭─[conformance/es6/templates/templateStringUnterminated3.ts:2:1] - 1 │ - 2 │ `\\ + ╭─[conformance/es6/templates/templateStringUnterminated3.ts:1:1] + 1 │ `\\ · ─── ╰──── × Unterminated string - ╭─[conformance/es6/templates/templateStringUnterminated3_ES6.ts:2:1] - 1 │ // @target: ES6 - 2 │ `\\ + ╭─[conformance/es6/templates/templateStringUnterminated3_ES6.ts:1:1] + 1 │ `\\ · ─── ╰──── × Unterminated string - ╭─[conformance/es6/templates/templateStringUnterminated4.ts:2:1] - 1 │ - 2 │ `\\\` + ╭─[conformance/es6/templates/templateStringUnterminated4.ts:1:1] + 1 │ `\\\` · ───── ╰──── × Unterminated string - ╭─[conformance/es6/templates/templateStringUnterminated4_ES6.ts:2:1] - 1 │ // @target: ES6 - 2 │ `\\\` + ╭─[conformance/es6/templates/templateStringUnterminated4_ES6.ts:1:1] + 1 │ `\\\` · ───── ╰──── × Unterminated string - ╭─[conformance/es6/templates/templateStringUnterminated5.ts:2:1] - 1 │ - 2 │ `\\\\\` + ╭─[conformance/es6/templates/templateStringUnterminated5.ts:1:1] + 1 │ `\\\\\` · ─────── ╰──── × Unterminated string - ╭─[conformance/es6/templates/templateStringUnterminated5_ES6.ts:2:1] - 1 │ // @target: ES6 - 2 │ `\\\\\` + ╭─[conformance/es6/templates/templateStringUnterminated5_ES6.ts:1:1] + 1 │ `\\\\\` · ─────── ╰──── @@ -13441,1898 +13342,1863 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings07_ES5.ts:5:10] - 4 │ // 1. Assert: 0 ≤ cp ≤ 0x10FFFF. - 5 │ var x = "\u{110000}"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings07_ES5.ts:3:10] + 2 │ // 1. Assert: 0 ≤ cp ≤ 0x10FFFF. + 3 │ var x = "\u{110000}"; · ───────── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings07_ES6.ts:5:10] - 4 │ // 1. Assert: 0 ≤ cp ≤ 0x10FFFF. - 5 │ var x = "\u{110000}"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings07_ES6.ts:3:10] + 2 │ // 1. Assert: 0 ≤ cp ≤ 0x10FFFF. + 3 │ var x = "\u{110000}"; · ───────── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings12_ES5.ts:3:10] - 2 │ - 3 │ var x = "\u{FFFFFFFF}"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings12_ES5.ts:1:10] + 1 │ var x = "\u{FFFFFFFF}"; · ───────── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings12_ES6.ts:3:10] - 2 │ - 3 │ var x = "\u{FFFFFFFF}"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings12_ES6.ts:1:10] + 1 │ var x = "\u{FFFFFFFF}"; · ───────── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings14_ES5.ts:4:10] - 3 │ // Shouldn't work, negatives are not allowed. - 4 │ var x = "\u{-DDDD}"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings14_ES5.ts:2:10] + 1 │ // Shouldn't work, negatives are not allowed. + 2 │ var x = "\u{-DDDD}"; · ─── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings14_ES6.ts:4:10] - 3 │ // Shouldn't work, negatives are not allowed. - 4 │ var x = "\u{-DDDD}"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings14_ES6.ts:2:10] + 1 │ // Shouldn't work, negatives are not allowed. + 2 │ var x = "\u{-DDDD}"; · ─── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings17_ES5.ts:3:10] - 2 │ - 3 │ var x = "\u{r}\u{n}\u{t}"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings17_ES5.ts:1:10] + 1 │ var x = "\u{r}\u{n}\u{t}"; · ─── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings17_ES5.ts:3:15] - 2 │ - 3 │ var x = "\u{r}\u{n}\u{t}"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings17_ES5.ts:1:15] + 1 │ var x = "\u{r}\u{n}\u{t}"; · ─── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings17_ES5.ts:3:20] - 2 │ - 3 │ var x = "\u{r}\u{n}\u{t}"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings17_ES5.ts:1:20] + 1 │ var x = "\u{r}\u{n}\u{t}"; · ─── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings17_ES6.ts:3:10] - 2 │ - 3 │ var x = "\u{r}\u{n}\u{t}"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings17_ES6.ts:1:10] + 1 │ var x = "\u{r}\u{n}\u{t}"; · ─── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings17_ES6.ts:3:15] - 2 │ - 3 │ var x = "\u{r}\u{n}\u{t}"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings17_ES6.ts:1:15] + 1 │ var x = "\u{r}\u{n}\u{t}"; · ─── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings17_ES6.ts:3:20] - 2 │ - 3 │ var x = "\u{r}\u{n}\u{t}"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings17_ES6.ts:1:20] + 1 │ var x = "\u{r}\u{n}\u{t}"; · ─── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings19_ES5.ts:3:10] - 2 │ - 3 │ var x = "\u{}"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings19_ES5.ts:1:10] + 1 │ var x = "\u{}"; · ─── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings19_ES6.ts:3:10] - 2 │ - 3 │ var x = "\u{}"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings19_ES6.ts:1:10] + 1 │ var x = "\u{}"; · ─── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings20_ES5.ts:3:10] - 2 │ - 3 │ var x = "\u{"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings20_ES5.ts:1:10] + 1 │ var x = "\u{"; · ─── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings20_ES6.ts:3:10] - 2 │ - 3 │ var x = "\u{"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings20_ES6.ts:1:10] + 1 │ var x = "\u{"; · ─── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings21_ES5.ts:3:10] - 2 │ - 3 │ var x = "\u{67"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings21_ES5.ts:1:10] + 1 │ var x = "\u{67"; · ───── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings21_ES6.ts:3:10] - 2 │ - 3 │ var x = "\u{67"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings21_ES6.ts:1:10] + 1 │ var x = "\u{67"; · ───── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings22_ES5.ts:3:10] - 2 │ - 3 │ var x = "\u{00000000000067"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings22_ES5.ts:1:10] + 1 │ var x = "\u{00000000000067"; · ───────────────── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings22_ES6.ts:3:10] - 2 │ - 3 │ var x = "\u{00000000000067"; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings22_ES6.ts:1:10] + 1 │ var x = "\u{00000000000067"; · ───────────────── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings24_ES5.ts:3:10] - 2 │ - 3 │ var x = "\u{00000000000067 + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings24_ES5.ts:1:10] + 1 │ var x = "\u{00000000000067 · ───────────────── ╰──── × Unterminated string - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings24_ES5.ts:3:9] - 2 │ - 3 │ var x = "\u{00000000000067 - · ─────────────────── + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings24_ES5.ts:1:9] + 1 │ var x = "\u{00000000000067 + · ────────────────── ╰──── × Invalid escape sequence - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings24_ES6.ts:3:10] - 2 │ - 3 │ var x = "\u{00000000000067 + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings24_ES6.ts:1:10] + 1 │ var x = "\u{00000000000067 · ───────────────── ╰──── × Unterminated string - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings24_ES6.ts:3:9] - 2 │ - 3 │ var x = "\u{00000000000067 - · ─────────────────── + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings24_ES6.ts:1:9] + 1 │ var x = "\u{00000000000067 + · ────────────────── ╰──── × Unterminated string - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings25_ES5.ts:3:9] - 2 │ - 3 │ var x = "\u{00000000000067} - · ──────────────────── + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings25_ES5.ts:1:9] + 1 │ var x = "\u{00000000000067} + · ─────────────────── ╰──── × Unterminated string - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings25_ES6.ts:3:9] - 2 │ - 3 │ var x = "\u{00000000000067} - · ──────────────────── + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInStrings25_ES6.ts:1:9] + 1 │ var x = "\u{00000000000067} + · ─────────────────── ╰──── × Bad escape sequence in untagged template literal - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates07_ES5.ts:5:10] - 4 │ // 1. Assert: 0 ≤ cp ≤ 0x10FFFF. - 5 │ var x = `\u{110000}`; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates07_ES5.ts:3:10] + 2 │ // 1. Assert: 0 ≤ cp ≤ 0x10FFFF. + 3 │ var x = `\u{110000}`; · ────────── ╰──── × Bad escape sequence in untagged template literal - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates07_ES6.ts:5:10] - 4 │ // 1. Assert: 0 ≤ cp ≤ 0x10FFFF. - 5 │ var x = `\u{110000}`; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates07_ES6.ts:3:10] + 2 │ // 1. Assert: 0 ≤ cp ≤ 0x10FFFF. + 3 │ var x = `\u{110000}`; · ────────── ╰──── × Bad escape sequence in untagged template literal - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates12_ES5.ts:3:10] - 2 │ - 3 │ var x = `\u{FFFFFFFF}`; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates12_ES5.ts:1:10] + 1 │ var x = `\u{FFFFFFFF}`; · ──────────── ╰──── × Bad escape sequence in untagged template literal - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates12_ES6.ts:3:10] - 2 │ - 3 │ var x = `\u{FFFFFFFF}`; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates12_ES6.ts:1:10] + 1 │ var x = `\u{FFFFFFFF}`; · ──────────── ╰──── × Bad escape sequence in untagged template literal - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates14_ES5.ts:4:10] - 3 │ // Shouldn't work, negatives are not allowed. - 4 │ var x = `\u{-DDDD}`; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates14_ES5.ts:2:10] + 1 │ // Shouldn't work, negatives are not allowed. + 2 │ var x = `\u{-DDDD}`; · ───────── ╰──── × Bad escape sequence in untagged template literal - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates14_ES6.ts:4:10] - 3 │ // Shouldn't work, negatives are not allowed. - 4 │ var x = `\u{-DDDD}`; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates14_ES6.ts:2:10] + 1 │ // Shouldn't work, negatives are not allowed. + 2 │ var x = `\u{-DDDD}`; · ───────── ╰──── × Bad escape sequence in untagged template literal - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates17_ES5.ts:3:10] - 2 │ - 3 │ var x = `\u{r}\u{n}\u{t}`; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates17_ES5.ts:1:10] + 1 │ var x = `\u{r}\u{n}\u{t}`; · ─────────────── ╰──── × Bad escape sequence in untagged template literal - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates17_ES6.ts:3:10] - 2 │ - 3 │ var x = `\u{r}\u{n}\u{t}`; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates17_ES6.ts:1:10] + 1 │ var x = `\u{r}\u{n}\u{t}`; · ─────────────── ╰──── × Bad escape sequence in untagged template literal - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates19_ES5.ts:3:10] - 2 │ - 3 │ var x = `\u{}`; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates19_ES5.ts:1:10] + 1 │ var x = `\u{}`; · ──── ╰──── × Bad escape sequence in untagged template literal - ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates19_ES6.ts:3:10] - 2 │ - 3 │ var x = `\u{}`; + ╭─[conformance/es6/unicodeExtendedEscapes/unicodeExtendedEscapesInTemplates19_ES6.ts:1:10] + 1 │ var x = `\u{}`; · ──── ╰──── × Unexpected token - ╭─[conformance/es6/variableDeclarations/VariableDeclaration11_es6.ts:3:4] - 2 │ "use strict"; - 3 │ let + ╭─[conformance/es6/variableDeclarations/VariableDeclaration11_es6.ts:2:4] + 1 │ "use strict"; + 2 │ let ╰──── × Unexpected token - ╭─[conformance/es6/variableDeclarations/VariableDeclaration13_es6.ts:6:5] - 5 │ var let: any; - 6 │ let[0] = 100; + ╭─[conformance/es6/variableDeclarations/VariableDeclaration13_es6.ts:4:5] + 3 │ var let: any; + 4 │ let[0] = 100; · ─ ╰──── × Unexpected token - ╭─[conformance/es6/variableDeclarations/VariableDeclaration1_es6.ts:2:6] - 1 │ // @target:es6 - 2 │ const + ╭─[conformance/es6/variableDeclarations/VariableDeclaration1_es6.ts:1:6] + 1 │ const ╰──── × Missing initializer in const declaration - ╭─[conformance/es6/variableDeclarations/VariableDeclaration2_es6.ts:2:7] - 1 │ // @target:es6 - 2 │ const a + ╭─[conformance/es6/variableDeclarations/VariableDeclaration2_es6.ts:1:7] + 1 │ const a · ─ ╰──── × Missing initializer in const declaration - ╭─[conformance/es6/variableDeclarations/VariableDeclaration4_es6.ts:2:7] - 1 │ // @target:es6 - 2 │ const a: number + ╭─[conformance/es6/variableDeclarations/VariableDeclaration4_es6.ts:1:7] + 1 │ const a: number · ───────── ╰──── × Unexpected token - ╭─[conformance/es6/variableDeclarations/VariableDeclaration6_es6.ts:2:4] - 1 │ // @target:es6 - 2 │ let + ╭─[conformance/es6/variableDeclarations/VariableDeclaration6_es6.ts:1:4] + 1 │ let ╰──── × A 'yield' expression is only allowed in a generator body. - ╭─[conformance/es6/yieldExpressions/YieldExpression12_es6.ts:4:6] - 3 │ constructor() { - 4 │ yield foo + ╭─[conformance/es6/yieldExpressions/YieldExpression12_es6.ts:3:6] + 2 │ constructor() { + 3 │ yield foo · ───── - 5 │ } + 4 │ } ╰──── × A 'yield' expression is only allowed in a generator body. - ╭─[conformance/es6/yieldExpressions/YieldExpression14_es6.ts:4:6] - 3 │ foo() { - 4 │ yield foo + ╭─[conformance/es6/yieldExpressions/YieldExpression14_es6.ts:3:6] + 2 │ foo() { + 3 │ yield foo · ───── - 5 │ } + 4 │ } ╰──── × A 'yield' expression is only allowed in a generator body. - ╭─[conformance/es6/yieldExpressions/YieldExpression15_es6.ts:3:6] - 2 │ var v = () => { - 3 │ yield foo + ╭─[conformance/es6/yieldExpressions/YieldExpression15_es6.ts:2:6] + 1 │ var v = () => { + 2 │ yield foo · ───── - 4 │ } + 3 │ } ╰──── × A 'yield' expression is only allowed in a generator body. - ╭─[conformance/es6/yieldExpressions/YieldExpression16_es6.ts:4:5] - 3 │ function bar() { - 4 │ yield foo; + ╭─[conformance/es6/yieldExpressions/YieldExpression16_es6.ts:3:5] + 2 │ function bar() { + 3 │ yield foo; · ───── - 5 │ } + 4 │ } ╰──── × A 'yield' expression is only allowed in a generator body. - ╭─[conformance/es6/yieldExpressions/YieldExpression17_es6.ts:2:23] - 1 │ // @target: es6 - 2 │ var v = { get foo() { yield foo; } } + ╭─[conformance/es6/yieldExpressions/YieldExpression17_es6.ts:1:23] + 1 │ var v = { get foo() { yield foo; } } · ───── ╰──── × The keyword 'yield' is reserved - ╭─[conformance/es6/yieldExpressions/YieldExpression18_es6.ts:3:1] - 2 │ "use strict"; - 3 │ yield(foo); + ╭─[conformance/es6/yieldExpressions/YieldExpression18_es6.ts:2:1] + 1 │ "use strict"; + 2 │ yield(foo); · ───── ╰──── × A 'yield' expression is only allowed in a generator body. - ╭─[conformance/es6/yieldExpressions/YieldExpression2_es6.ts:2:1] - 1 │ // @target: es6 - 2 │ yield foo; + ╭─[conformance/es6/yieldExpressions/YieldExpression2_es6.ts:1:1] + 1 │ yield foo; · ───── ╰──── × Unexpected token - ╭─[conformance/es6/yieldExpressions/YieldExpression5_es6.ts:4:1] - 3 │ yield* - 4 │ } + ╭─[conformance/es6/yieldExpressions/YieldExpression5_es6.ts:3:1] + 2 │ yield* + 3 │ } · ─ ╰──── × Unexpected token - ╭─[conformance/es6/yieldExpressions/YieldStarExpression2_es6.ts:2:8] - 1 │ // @target: es6 - 2 │ yield *; + ╭─[conformance/es6/yieldExpressions/YieldStarExpression2_es6.ts:1:8] + 1 │ yield *; · ─ ╰──── × Unexpected token - ╭─[conformance/es6/yieldExpressions/YieldStarExpression3_es6.ts:3:12] - 2 │ function *g() { - 3 │ yield *; + ╭─[conformance/es6/yieldExpressions/YieldStarExpression3_es6.ts:2:12] + 1 │ function *g() { + 2 │ yield *; · ─ - 4 │ } + 3 │ } ╰──── × A 'yield' expression is only allowed in a generator body. - ╭─[conformance/es6/yieldExpressions/generatorTypeCheck32.ts:3:29] - 2 │ var s: string; - 3 │ var f: () => number = () => yield s; + ╭─[conformance/es6/yieldExpressions/generatorTypeCheck32.ts:2:29] + 1 │ var s: string; + 2 │ var f: () => number = () => yield s; · ───── ╰──── × Cannot assign to this expression - ╭─[conformance/es7/exponentiationOperator/compoundExponentiationAssignmentLHSIsValue.ts:8:9] - 7 │ constructor() { - 8 │ this **= value; + ╭─[conformance/es7/exponentiationOperator/compoundExponentiationAssignmentLHSIsValue.ts:7:9] + 6 │ constructor() { + 7 │ this **= value; · ──── - 9 │ } + 8 │ } ╰──── × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:9:8] - 8 │ // TempateHead & TemplateTail are empty - 9 │ `${1 + typeof t1 ** t2 ** t1}`; - · ───────────────────── - 10 │ `${-t1 ** t2 - t1}`; - ╰──── + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:7:8] + 6 │ // TempateHead & TemplateTail are empty + 7 │ `${1 + typeof t1 ** t2 ** t1}`; + · ───────────────────── + 8 │ `${-t1 ** t2 - t1}`; + ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:10:4] - 9 │ `${1 + typeof t1 ** t2 ** t1}`; - 10 │ `${-t1 ** t2 - t1}`; - · ───────── - 11 │ `${-++t1 ** t2 - t1}`; - ╰──── + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:8:4] + 7 │ `${1 + typeof t1 ** t2 ** t1}`; + 8 │ `${-t1 ** t2 - t1}`; + · ───────── + 9 │ `${-++t1 ** t2 - t1}`; + ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:11:4] - 10 │ `${-t1 ** t2 - t1}`; - 11 │ `${-++t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:9:4] + 8 │ `${-t1 ** t2 - t1}`; + 9 │ `${-++t1 ** t2 - t1}`; · ─────────── - 12 │ `${-t1++ ** t2 - t1}`; + 10 │ `${-t1++ ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:12:4] - 11 │ `${-++t1 ** t2 - t1}`; - 12 │ `${-t1++ ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:10:4] + 9 │ `${-++t1 ** t2 - t1}`; + 10 │ `${-t1++ ** t2 - t1}`; · ─────────── - 13 │ `${!t1 ** t2 ** --t1 }`; + 11 │ `${!t1 ** t2 ** --t1 }`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:13:4] - 12 │ `${-t1++ ** t2 - t1}`; - 13 │ `${!t1 ** t2 ** --t1 }`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:11:4] + 10 │ `${-t1++ ** t2 - t1}`; + 11 │ `${!t1 ** t2 ** --t1 }`; · ───────────────── - 14 │ `${typeof t1 ** t2 ** t1}`; + 12 │ `${typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:14:4] - 13 │ `${!t1 ** t2 ** --t1 }`; - 14 │ `${typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:12:4] + 11 │ `${!t1 ** t2 ** --t1 }`; + 12 │ `${typeof t1 ** t2 ** t1}`; · ───────────────────── - 15 │ + 13 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:16:4] - 15 │ - 16 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:14:4] + 13 │ + 14 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; · ───────── - 17 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; + 15 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:16:21] - 15 │ - 16 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:14:21] + 13 │ + 14 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; · ───────── - 17 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; + 15 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:17:4] - 16 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; - 17 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:15:4] + 14 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; + 15 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; · ─────────── - 18 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; + 16 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:17:23] - 16 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; - 17 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:15:23] + 14 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; + 15 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; · ─────────── - 18 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; + 16 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:18:4] - 17 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; - 18 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:16:4] + 15 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; + 16 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; · ─────────── - 19 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; + 17 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:18:23] - 17 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; - 18 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:16:23] + 15 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; + 16 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; · ─────────── - 19 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; + 17 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:19:4] - 18 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; - 19 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:17:4] + 16 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; + 17 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; · ───────────────── - 20 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; + 18 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:19:25] - 18 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; - 19 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:17:25] + 16 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; + 17 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; · ───────────────── - 20 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; + 18 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:20:4] - 19 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; - 20 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:18:4] + 17 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; + 18 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; · ───────────────────── - 21 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; + 19 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:20:28] - 19 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; - 20 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:18:28] + 17 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; + 18 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; · ───────────────────── - 21 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; + 19 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:21:8] - 20 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; - 21 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:19:8] + 18 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; + 19 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; · ───────────────────── - 22 │ + 20 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:21:36] - 20 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; - 21 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:19:36] + 18 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; + 19 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; · ───────────────────── - 22 │ + 20 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:23:4] - 22 │ - 23 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:21:4] + 20 │ + 21 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; · ───────── - 24 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; + 22 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:23:34] - 22 │ - 23 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:21:34] + 20 │ + 21 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; · ───────── - 24 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; + 22 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:24:4] - 23 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; - 24 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:22:4] + 21 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; + 22 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; · ─────────── - 25 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; + 23 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:24:36] - 23 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; - 24 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:22:36] + 21 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; + 22 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; · ─────────── - 25 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; + 23 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:25:4] - 24 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; - 25 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:23:4] + 22 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; + 23 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; · ─────────── - 26 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; + 24 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:25:36] - 24 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; - 25 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:23:36] + 22 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; + 23 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; · ─────────── - 26 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; + 24 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:26:4] - 25 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; - 26 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:24:4] + 23 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; + 24 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; · ───────────────── - 27 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; + 25 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:26:38] - 25 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; - 26 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:24:38] + 23 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; + 24 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; · ───────────────── - 27 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; + 25 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:27:4] - 26 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; - 27 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:25:4] + 24 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; + 25 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; · ───────────────────── - 28 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; + 26 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:27:41] - 26 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; - 27 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:25:41] + 24 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; + 25 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; · ───────────────────── - 28 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; + 26 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:28:8] - 27 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; - 28 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:26:8] + 25 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; + 26 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; · ───────────────────── ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:28:49] - 27 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; - 28 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError1.ts:26:49] + 25 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; + 26 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; · ───────────────────── ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:9:10] - 8 │ // With templateHead - 9 │ `hello ${-t1 ** t2 - t1}`; - · ───────── - 10 │ `hello ${-++t1 ** t2 - t1}`; - ╰──── + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:7:10] + 6 │ // With templateHead + 7 │ `hello ${-t1 ** t2 - t1}`; + · ───────── + 8 │ `hello ${-++t1 ** t2 - t1}`; + ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:10:10] - 9 │ `hello ${-t1 ** t2 - t1}`; - 10 │ `hello ${-++t1 ** t2 - t1}`; - · ─────────── - 11 │ `hello ${-t1++ ** t2 - t1}`; - ╰──── + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:8:10] + 7 │ `hello ${-t1 ** t2 - t1}`; + 8 │ `hello ${-++t1 ** t2 - t1}`; + · ─────────── + 9 │ `hello ${-t1++ ** t2 - t1}`; + ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:11:10] - 10 │ `hello ${-++t1 ** t2 - t1}`; - 11 │ `hello ${-t1++ ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:9:10] + 8 │ `hello ${-++t1 ** t2 - t1}`; + 9 │ `hello ${-t1++ ** t2 - t1}`; · ─────────── - 12 │ `hello ${!t1 ** t2 ** --t1 }`; + 10 │ `hello ${!t1 ** t2 ** --t1 }`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:12:10] - 11 │ `hello ${-t1++ ** t2 - t1}`; - 12 │ `hello ${!t1 ** t2 ** --t1 }`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:10:10] + 9 │ `hello ${-t1++ ** t2 - t1}`; + 10 │ `hello ${!t1 ** t2 ** --t1 }`; · ───────────────── - 13 │ `hello ${typeof t1 ** t2 ** t1}`; + 11 │ `hello ${typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:13:10] - 12 │ `hello ${!t1 ** t2 ** --t1 }`; - 13 │ `hello ${typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:11:10] + 10 │ `hello ${!t1 ** t2 ** --t1 }`; + 11 │ `hello ${typeof t1 ** t2 ** t1}`; · ───────────────────── - 14 │ `hello ${1 + typeof t1 ** t2 ** t1}`; + 12 │ `hello ${1 + typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:14:14] - 13 │ `hello ${typeof t1 ** t2 ** t1}`; - 14 │ `hello ${1 + typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:12:14] + 11 │ `hello ${typeof t1 ** t2 ** t1}`; + 12 │ `hello ${1 + typeof t1 ** t2 ** t1}`; · ───────────────────── - 15 │ + 13 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:16:10] - 15 │ - 16 │ `hello ${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:14:10] + 13 │ + 14 │ `hello ${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; · ───────── - 17 │ `hello ${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; + 15 │ `hello ${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:16:27] - 15 │ - 16 │ `hello ${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:14:27] + 13 │ + 14 │ `hello ${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; · ───────── - 17 │ `hello ${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; + 15 │ `hello ${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:17:10] - 16 │ `hello ${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; - 17 │ `hello ${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:15:10] + 14 │ `hello ${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; + 15 │ `hello ${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; · ─────────── - 18 │ `hello ${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; + 16 │ `hello ${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:17:29] - 16 │ `hello ${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; - 17 │ `hello ${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:15:29] + 14 │ `hello ${-t1 ** t2 - t1}${-t1 ** t2 - t1}`; + 15 │ `hello ${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; · ─────────── - 18 │ `hello ${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; + 16 │ `hello ${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:18:10] - 17 │ `hello ${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; - 18 │ `hello ${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:16:10] + 15 │ `hello ${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; + 16 │ `hello ${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; · ─────────── - 19 │ `hello ${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; + 17 │ `hello ${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:18:29] - 17 │ `hello ${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; - 18 │ `hello ${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:16:29] + 15 │ `hello ${-++t1 ** t2 - t1}${-++t1 ** t2 - t1}`; + 16 │ `hello ${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; · ─────────── - 19 │ `hello ${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; + 17 │ `hello ${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:19:10] - 18 │ `hello ${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; - 19 │ `hello ${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:17:10] + 16 │ `hello ${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; + 17 │ `hello ${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; · ───────────────── - 20 │ `hello ${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; + 18 │ `hello ${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:19:31] - 18 │ `hello ${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; - 19 │ `hello ${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:17:31] + 16 │ `hello ${-t1++ ** t2 - t1}${-t1++ ** t2 - t1}`; + 17 │ `hello ${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; · ───────────────── - 20 │ `hello ${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; + 18 │ `hello ${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:20:10] - 19 │ `hello ${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; - 20 │ `hello ${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:18:10] + 17 │ `hello ${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; + 18 │ `hello ${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; · ───────────────────── - 21 │ `hello ${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; + 19 │ `hello ${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:20:34] - 19 │ `hello ${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; - 20 │ `hello ${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:18:34] + 17 │ `hello ${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 }`; + 18 │ `hello ${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; · ───────────────────── - 21 │ `hello ${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; + 19 │ `hello ${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:21:14] - 20 │ `hello ${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; - 21 │ `hello ${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:19:14] + 18 │ `hello ${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; + 19 │ `hello ${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; · ───────────────────── - 22 │ + 20 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:21:42] - 20 │ `hello ${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; - 21 │ `hello ${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:19:42] + 18 │ `hello ${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1}`; + 19 │ `hello ${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1}`; · ───────────────────── - 22 │ + 20 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:23:10] - 22 │ - 23 │ `hello ${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:21:10] + 20 │ + 21 │ `hello ${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; · ───────── - 24 │ `hello ${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; + 22 │ `hello ${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:23:40] - 22 │ - 23 │ `hello ${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:21:40] + 20 │ + 21 │ `hello ${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; · ───────── - 24 │ `hello ${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; + 22 │ `hello ${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:24:10] - 23 │ `hello ${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; - 24 │ `hello ${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:22:10] + 21 │ `hello ${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; + 22 │ `hello ${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; · ─────────── - 25 │ `hello ${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; + 23 │ `hello ${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:24:42] - 23 │ `hello ${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; - 24 │ `hello ${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:22:42] + 21 │ `hello ${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1}`; + 22 │ `hello ${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; · ─────────── - 25 │ `hello ${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; + 23 │ `hello ${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:25:10] - 24 │ `hello ${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; - 25 │ `hello ${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:23:10] + 22 │ `hello ${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; + 23 │ `hello ${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; · ─────────── - 26 │ `hello ${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; + 24 │ `hello ${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:25:42] - 24 │ `hello ${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; - 25 │ `hello ${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:23:42] + 22 │ `hello ${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1}`; + 23 │ `hello ${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; · ─────────── - 26 │ `hello ${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; + 24 │ `hello ${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:26:10] - 25 │ `hello ${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; - 26 │ `hello ${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:24:10] + 23 │ `hello ${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; + 24 │ `hello ${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; · ───────────────── - 27 │ `hello ${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; + 25 │ `hello ${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:26:44] - 25 │ `hello ${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; - 26 │ `hello ${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:24:44] + 23 │ `hello ${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1}`; + 24 │ `hello ${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; · ───────────────── - 27 │ `hello ${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; + 25 │ `hello ${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:27:10] - 26 │ `hello ${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; - 27 │ `hello ${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:25:10] + 24 │ `hello ${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; + 25 │ `hello ${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; · ───────────────────── - 28 │ `hello ${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; + 26 │ `hello ${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:27:47] - 26 │ `hello ${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; - 27 │ `hello ${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:25:47] + 24 │ `hello ${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 }`; + 25 │ `hello ${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; · ───────────────────── - 28 │ `hello ${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; + 26 │ `hello ${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:28:14] - 27 │ `hello ${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; - 28 │ `hello ${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:26:14] + 25 │ `hello ${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; + 26 │ `hello ${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; · ───────────────────── ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:28:55] - 27 │ `hello ${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; - 28 │ `hello ${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError2.ts:26:55] + 25 │ `hello ${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1}`; + 26 │ `hello ${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1}`; · ───────────────────── ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:9:4] - 8 │ // With TemplateTail - 9 │ `${-t1 ** t2 - t1} world`; - · ───────── - 10 │ `${-++t1 ** t2 - t1} world`; - ╰──── + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:7:4] + 6 │ // With TemplateTail + 7 │ `${-t1 ** t2 - t1} world`; + · ───────── + 8 │ `${-++t1 ** t2 - t1} world`; + ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:10:4] - 9 │ `${-t1 ** t2 - t1} world`; - 10 │ `${-++t1 ** t2 - t1} world`; - · ─────────── - 11 │ `${-t1++ ** t2 - t1} world`; - ╰──── + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:8:4] + 7 │ `${-t1 ** t2 - t1} world`; + 8 │ `${-++t1 ** t2 - t1} world`; + · ─────────── + 9 │ `${-t1++ ** t2 - t1} world`; + ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:11:4] - 10 │ `${-++t1 ** t2 - t1} world`; - 11 │ `${-t1++ ** t2 - t1} world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:9:4] + 8 │ `${-++t1 ** t2 - t1} world`; + 9 │ `${-t1++ ** t2 - t1} world`; · ─────────── - 12 │ `${!t1 ** t2 ** --t1 } world`; + 10 │ `${!t1 ** t2 ** --t1 } world`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:12:4] - 11 │ `${-t1++ ** t2 - t1} world`; - 12 │ `${!t1 ** t2 ** --t1 } world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:10:4] + 9 │ `${-t1++ ** t2 - t1} world`; + 10 │ `${!t1 ** t2 ** --t1 } world`; · ───────────────── - 13 │ `${typeof t1 ** t2 ** t1} world`; + 11 │ `${typeof t1 ** t2 ** t1} world`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:13:4] - 12 │ `${!t1 ** t2 ** --t1 } world`; - 13 │ `${typeof t1 ** t2 ** t1} world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:11:4] + 10 │ `${!t1 ** t2 ** --t1 } world`; + 11 │ `${typeof t1 ** t2 ** t1} world`; · ───────────────────── - 14 │ `${1 + typeof t1 ** t2 ** t1} world`; + 12 │ `${1 + typeof t1 ** t2 ** t1} world`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:14:8] - 13 │ `${typeof t1 ** t2 ** t1} world`; - 14 │ `${1 + typeof t1 ** t2 ** t1} world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:12:8] + 11 │ `${typeof t1 ** t2 ** t1} world`; + 12 │ `${1 + typeof t1 ** t2 ** t1} world`; · ───────────────────── - 15 │ + 13 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:16:4] - 15 │ - 16 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1} world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:14:4] + 13 │ + 14 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1} world`; · ───────── - 17 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1} world`; + 15 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1} world`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:16:21] - 15 │ - 16 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1} world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:14:21] + 13 │ + 14 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1} world`; · ───────── - 17 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1} world`; + 15 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1} world`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:17:4] - 16 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1} world`; - 17 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1} world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:15:4] + 14 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1} world`; + 15 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1} world`; · ─────────── - 18 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1} world`; + 16 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1} world`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:17:23] - 16 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1} world`; - 17 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1} world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:15:23] + 14 │ `${-t1 ** t2 - t1}${-t1 ** t2 - t1} world`; + 15 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1} world`; · ─────────── - 18 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1} world`; + 16 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1} world`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:18:4] - 17 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1} world`; - 18 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1} world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:16:4] + 15 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1} world`; + 16 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1} world`; · ─────────── - 19 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 } world`; + 17 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 } world`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:18:23] - 17 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1} world`; - 18 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1} world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:16:23] + 15 │ `${-++t1 ** t2 - t1}${-++t1 ** t2 - t1} world`; + 16 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1} world`; · ─────────── - 19 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 } world`; + 17 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 } world`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:19:4] - 18 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1} world`; - 19 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 } world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:17:4] + 16 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1} world`; + 17 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 } world`; · ───────────────── - 20 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1} world`; + 18 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1} world`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:19:25] - 18 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1} world`; - 19 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 } world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:17:25] + 16 │ `${-t1++ ** t2 - t1}${-t1++ ** t2 - t1} world`; + 17 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 } world`; · ───────────────── - 20 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1} world`; + 18 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1} world`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:20:4] - 19 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 } world`; - 20 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1} world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:18:4] + 17 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 } world`; + 18 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1} world`; · ───────────────────── - 21 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1} world`; + 19 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1} world`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:20:28] - 19 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 } world`; - 20 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1} world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:18:28] + 17 │ `${!t1 ** t2 ** --t1 }${!t1 ** t2 ** --t1 } world`; + 18 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1} world`; · ───────────────────── - 21 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1} world`; + 19 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1} world`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:21:8] - 20 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1} world`; - 21 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1} world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:19:8] + 18 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1} world`; + 19 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1} world`; · ───────────────────── - 22 │ + 20 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:21:36] - 20 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1} world`; - 21 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1} world`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:19:36] + 18 │ `${typeof t1 ** t2 ** t1}${typeof t1 ** t2 ** t1} world`; + 19 │ `${1 + typeof t1 ** t2 ** t1}${1 + typeof t1 ** t2 ** t1} world`; · ───────────────────── - 22 │ + 20 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:23:4] - 22 │ - 23 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1} !!`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:21:4] + 20 │ + 21 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1} !!`; · ───────── - 24 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1} !!`; + 22 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1} !!`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:23:34] - 22 │ - 23 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1} !!`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:21:34] + 20 │ + 21 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1} !!`; · ───────── - 24 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1} !!`; + 22 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1} !!`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:24:4] - 23 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1} !!`; - 24 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1} !!`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:22:4] + 21 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1} !!`; + 22 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1} !!`; · ─────────── - 25 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1} !!`; + 23 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1} !!`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:24:36] - 23 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1} !!`; - 24 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1} !!`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:22:36] + 21 │ `${-t1 ** t2 - t1} hello world ${-t1 ** t2 - t1} !!`; + 22 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1} !!`; · ─────────── - 25 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1} !!`; + 23 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1} !!`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:25:4] - 24 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1} !!`; - 25 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1} !!`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:23:4] + 22 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1} !!`; + 23 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1} !!`; · ─────────── - 26 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 } !!`; + 24 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 } !!`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:25:36] - 24 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1} !!`; - 25 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1} !!`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:23:36] + 22 │ `${-++t1 ** t2 - t1} hello world ${-++t1 ** t2 - t1} !!`; + 23 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1} !!`; · ─────────── - 26 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 } !!`; + 24 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 } !!`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:26:4] - 25 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1} !!`; - 26 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 } !!`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:24:4] + 23 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1} !!`; + 24 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 } !!`; · ───────────────── - 27 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1} !!`; + 25 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1} !!`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:26:38] - 25 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1} !!`; - 26 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 } !!`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:24:38] + 23 │ `${-t1++ ** t2 - t1} hello world ${-t1++ ** t2 - t1} !!`; + 24 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 } !!`; · ───────────────── - 27 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1} !!`; + 25 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1} !!`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:27:4] - 26 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 } !!`; - 27 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1} !!`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:25:4] + 24 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 } !!`; + 25 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1} !!`; · ───────────────────── - 28 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1} !!`; + 26 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1} !!`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:27:41] - 26 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 } !!`; - 27 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1} !!`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:25:41] + 24 │ `${!t1 ** t2 ** --t1 } hello world ${!t1 ** t2 ** --t1 } !!`; + 25 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1} !!`; · ───────────────────── - 28 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1} !!`; + 26 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1} !!`; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:28:8] - 27 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1} !!`; - 28 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1} !!`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:26:8] + 25 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1} !!`; + 26 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1} !!`; · ───────────────────── ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:28:49] - 27 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1} !!`; - 28 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1} !!`; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorInTemplateStringWithSyntaxError3.ts:26:49] + 25 │ `${typeof t1 ** t2 ** t1} hello world ${typeof t1 ** t2 ** t1} !!`; + 26 │ `${1 + typeof t1 ** t2 ** t1} hello world ${1 + typeof t1 ** t2 ** t1} !!`; · ───────────────────── ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:4:1] - 3 │ // Error: early syntax error using ES7 SimpleUnaryExpression on left-hand side without () - 4 │ -1 ** 2; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:2:1] + 1 │ // Error: early syntax error using ES7 SimpleUnaryExpression on left-hand side without () + 2 │ -1 ** 2; · ─────── - 5 │ +1 ** 2 + 3 │ +1 ** 2 ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:5:1] - 4 │ -1 ** 2; - 5 │ +1 ** 2 + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:3:1] + 2 │ -1 ** 2; + 3 │ +1 ** 2 · ─────── - 6 │ 1 ** -2 ** 3; + 4 │ 1 ** -2 ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:6:6] - 5 │ +1 ** 2 - 6 │ 1 ** -2 ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:4:6] + 3 │ +1 ** 2 + 4 │ 1 ** -2 ** 3; · ─────── - 7 │ 1 ** -2 ** -3; + 5 │ 1 ** -2 ** -3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:7:6] - 6 │ 1 ** -2 ** 3; - 7 │ 1 ** -2 ** -3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:5:6] + 4 │ 1 ** -2 ** 3; + 5 │ 1 ** -2 ** -3; · ──────── - 8 │ -1 ** -2 ** -3; + 6 │ -1 ** -2 ** -3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:8:7] - 7 │ 1 ** -2 ** -3; - 8 │ -1 ** -2 ** -3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:6:7] + 5 │ 1 ** -2 ** -3; + 6 │ -1 ** -2 ** -3; · ──────── - 9 │ -(1 ** 2) ** 3; + 7 │ -(1 ** 2) ** 3; + ╰──── + help: Wrap unary expression in parentheses to enforce operator precedence + + × Unexpected exponentiation expression + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:6:1] + 5 │ 1 ** -2 ** -3; + 6 │ -1 ** -2 ** -3; + · ────────────── + 7 │ -(1 ** 2) ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:8:1] - 7 │ 1 ** -2 ** -3; - 8 │ -1 ** -2 ** -3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:7:1] + 6 │ -1 ** -2 ** -3; + 7 │ -(1 ** 2) ** 3; · ────────────── - 9 │ -(1 ** 2) ** 3; + 8 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:9:1] - 8 │ -1 ** -2 ** -3; - 9 │ -(1 ** 2) ** 3; - · ────────────── + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:11:1] 10 │ + 11 │ -++temp ** 3; + · ──────────── + 12 │ +--temp ** 3; + ╰──── + help: Wrap unary expression in parentheses to enforce operator precedence + + × Unexpected exponentiation expression + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:12:1] + 11 │ -++temp ** 3; + 12 │ +--temp ** 3; + · ──────────── + 13 │ -temp++ ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:13:1] - 12 │ - 13 │ -++temp ** 3; + 12 │ +--temp ** 3; + 13 │ -temp++ ** 3; · ──────────── - 14 │ +--temp ** 3; + 14 │ +temp-- ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:14:1] - 13 │ -++temp ** 3; - 14 │ +--temp ** 3; + 13 │ -temp++ ** 3; + 14 │ +temp-- ** 3; · ──────────── - 15 │ -temp++ ** 3; + 15 │ 1 ** -++temp ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:15:1] - 14 │ +--temp ** 3; - 15 │ -temp++ ** 3; - · ──────────── - 16 │ +temp-- ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:15:6] + 14 │ +temp-- ** 3; + 15 │ 1 ** -++temp ** 3; + · ──────────── + 16 │ 1 ** +--temp ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:16:1] - 15 │ -temp++ ** 3; - 16 │ +temp-- ** 3; - · ──────────── - 17 │ 1 ** -++temp ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:16:6] + 15 │ 1 ** -++temp ** 3; + 16 │ 1 ** +--temp ** 3; + · ──────────── + 17 │ 1 ** -temp++ ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:17:6] - 16 │ +temp-- ** 3; - 17 │ 1 ** -++temp ** 3; + 16 │ 1 ** +--temp ** 3; + 17 │ 1 ** -temp++ ** 3; · ──────────── - 18 │ 1 ** +--temp ** 3; + 18 │ 1 ** +temp-- ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:18:6] - 17 │ 1 ** -++temp ** 3; - 18 │ 1 ** +--temp ** 3; + 17 │ 1 ** -temp++ ** 3; + 18 │ 1 ** +temp-- ** 3; · ──────────── - 19 │ 1 ** -temp++ ** 3; + 19 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:19:6] - 18 │ 1 ** +--temp ** 3; - 19 │ 1 ** -temp++ ** 3; - · ──────────── - 20 │ 1 ** +temp-- ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:20:1] + 19 │ + 20 │ -3 ** temp++; + · ──────────── + 21 │ -3 ** temp--; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:20:6] - 19 │ 1 ** -temp++ ** 3; - 20 │ 1 ** +temp-- ** 3; - · ──────────── - 21 │ + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:21:1] + 20 │ -3 ** temp++; + 21 │ -3 ** temp--; + · ──────────── + 22 │ -3 ** ++temp; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:22:1] - 21 │ - 22 │ -3 ** temp++; + 21 │ -3 ** temp--; + 22 │ -3 ** ++temp; · ──────────── - 23 │ -3 ** temp--; + 23 │ -3 ** --temp; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:23:1] - 22 │ -3 ** temp++; - 23 │ -3 ** temp--; + 22 │ -3 ** ++temp; + 23 │ -3 ** --temp; · ──────────── - 24 │ -3 ** ++temp; + 24 │ +3 ** temp++; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:24:1] - 23 │ -3 ** temp--; - 24 │ -3 ** ++temp; + 23 │ -3 ** --temp; + 24 │ +3 ** temp++; · ──────────── - 25 │ -3 ** --temp; + 25 │ +3 ** temp--; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:25:1] - 24 │ -3 ** ++temp; - 25 │ -3 ** --temp; + 24 │ +3 ** temp++; + 25 │ +3 ** temp--; · ──────────── - 26 │ +3 ** temp++; + 26 │ +3 ** ++temp; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:26:1] - 25 │ -3 ** --temp; - 26 │ +3 ** temp++; + 25 │ +3 ** temp--; + 26 │ +3 ** ++temp; · ──────────── - 27 │ +3 ** temp--; + 27 │ +3 ** --temp; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:27:1] - 26 │ +3 ** temp++; - 27 │ +3 ** temp--; + 26 │ +3 ** ++temp; + 27 │ +3 ** --temp; · ──────────── - 28 │ +3 ** ++temp; + 28 │ -3 ** temp++ ** 2; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:28:1] - 27 │ +3 ** temp--; - 28 │ +3 ** ++temp; - · ──────────── - 29 │ +3 ** --temp; + 27 │ +3 ** --temp; + 28 │ -3 ** temp++ ** 2; + · ───────────────── + 29 │ -3 ** temp-- ** 2; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:29:1] - 28 │ +3 ** ++temp; - 29 │ +3 ** --temp; - · ──────────── - 30 │ -3 ** temp++ ** 2; + 28 │ -3 ** temp++ ** 2; + 29 │ -3 ** temp-- ** 2; + · ───────────────── + 30 │ -3 ** ++temp ** 2; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:30:1] - 29 │ +3 ** --temp; - 30 │ -3 ** temp++ ** 2; + 29 │ -3 ** temp-- ** 2; + 30 │ -3 ** ++temp ** 2; · ───────────────── - 31 │ -3 ** temp-- ** 2; + 31 │ -3 ** --temp ** 2; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:31:1] - 30 │ -3 ** temp++ ** 2; - 31 │ -3 ** temp-- ** 2; + 30 │ -3 ** ++temp ** 2; + 31 │ -3 ** --temp ** 2; · ───────────────── - 32 │ -3 ** ++temp ** 2; + 32 │ +3 ** temp++ ** 2; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:32:1] - 31 │ -3 ** temp-- ** 2; - 32 │ -3 ** ++temp ** 2; + 31 │ -3 ** --temp ** 2; + 32 │ +3 ** temp++ ** 2; · ───────────────── - 33 │ -3 ** --temp ** 2; + 33 │ +3 ** temp-- ** 2; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:33:1] - 32 │ -3 ** ++temp ** 2; - 33 │ -3 ** --temp ** 2; + 32 │ +3 ** temp++ ** 2; + 33 │ +3 ** temp-- ** 2; · ───────────────── - 34 │ +3 ** temp++ ** 2; + 34 │ +3 ** ++temp ** 2; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:34:1] - 33 │ -3 ** --temp ** 2; - 34 │ +3 ** temp++ ** 2; + 33 │ +3 ** temp-- ** 2; + 34 │ +3 ** ++temp ** 2; · ───────────────── - 35 │ +3 ** temp-- ** 2; + 35 │ +3 ** --temp ** 2; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:35:1] - 34 │ +3 ** temp++ ** 2; - 35 │ +3 ** temp-- ** 2; - · ───────────────── - 36 │ +3 ** ++temp ** 2; - ╰──── - help: Wrap unary expression in parentheses to enforce operator precedence - - × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:36:1] - 35 │ +3 ** temp-- ** 2; - 36 │ +3 ** ++temp ** 2; - · ───────────────── - 37 │ +3 ** --temp ** 2; - ╰──── - help: Wrap unary expression in parentheses to enforce operator precedence - - × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError1.ts:37:1] - 36 │ +3 ** ++temp ** 2; - 37 │ +3 ** --temp ** 2; + 34 │ +3 ** ++temp ** 2; + 35 │ +3 ** --temp ** 2; · ───────────────── - 38 │ + 36 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:6:1] - 5 │ - 6 │ delete --temp ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:4:1] + 3 │ + 4 │ delete --temp ** 3; · ────────────────── - 7 │ delete ++temp ** 3; + 5 │ delete ++temp ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:7:1] - 6 │ delete --temp ** 3; - 7 │ delete ++temp ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:5:1] + 4 │ delete --temp ** 3; + 5 │ delete ++temp ** 3; · ────────────────── - 8 │ delete temp-- ** 3; + 6 │ delete temp-- ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:8:1] - 7 │ delete ++temp ** 3; - 8 │ delete temp-- ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:6:1] + 5 │ delete ++temp ** 3; + 6 │ delete temp-- ** 3; · ────────────────── - 9 │ delete temp++ ** 3; + 7 │ delete temp++ ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:9:1] - 8 │ delete temp-- ** 3; - 9 │ delete temp++ ** 3; - · ────────────────── - 10 │ - ╰──── + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:7:1] + 6 │ delete temp-- ** 3; + 7 │ delete temp++ ** 3; + · ────────────────── + 8 │ + ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:12:6] - 11 │ - 12 │ 1 ** delete --temp ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:10:6] + 9 │ + 10 │ 1 ** delete --temp ** 3; · ────────────────── - 13 │ 1 ** delete ++temp ** 3; + 11 │ 1 ** delete ++temp ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:13:6] - 12 │ 1 ** delete --temp ** 3; - 13 │ 1 ** delete ++temp ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:11:6] + 10 │ 1 ** delete --temp ** 3; + 11 │ 1 ** delete ++temp ** 3; · ────────────────── - 14 │ 1 ** delete temp-- ** 3; + 12 │ 1 ** delete temp-- ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:14:6] - 13 │ 1 ** delete ++temp ** 3; - 14 │ 1 ** delete temp-- ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:12:6] + 11 │ 1 ** delete ++temp ** 3; + 12 │ 1 ** delete temp-- ** 3; · ────────────────── - 15 │ 1 ** delete temp++ ** 3; + 13 │ 1 ** delete temp++ ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:15:6] - 14 │ 1 ** delete temp-- ** 3; - 15 │ 1 ** delete temp++ ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:13:6] + 12 │ 1 ** delete temp-- ** 3; + 13 │ 1 ** delete temp++ ** 3; · ────────────────── - 16 │ + 14 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:17:1] - 16 │ - 17 │ typeof --temp ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:15:1] + 14 │ + 15 │ typeof --temp ** 3; · ────────────────── - 18 │ typeof temp-- ** 3; + 16 │ typeof temp-- ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:18:1] - 17 │ typeof --temp ** 3; - 18 │ typeof temp-- ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:16:1] + 15 │ typeof --temp ** 3; + 16 │ typeof temp-- ** 3; · ────────────────── - 19 │ typeof 3 ** 4; + 17 │ typeof 3 ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:19:1] - 18 │ typeof temp-- ** 3; - 19 │ typeof 3 ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:17:1] + 16 │ typeof temp-- ** 3; + 17 │ typeof 3 ** 4; · ───────────── - 20 │ typeof temp++ ** 4; + 18 │ typeof temp++ ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:20:1] - 19 │ typeof 3 ** 4; - 20 │ typeof temp++ ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:18:1] + 17 │ typeof 3 ** 4; + 18 │ typeof temp++ ** 4; · ────────────────── - 21 │ typeof temp-- ** 4; + 19 │ typeof temp-- ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:21:1] - 20 │ typeof temp++ ** 4; - 21 │ typeof temp-- ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:19:1] + 18 │ typeof temp++ ** 4; + 19 │ typeof temp-- ** 4; · ────────────────── - 22 │ + 20 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:23:6] - 22 │ - 23 │ 1 ** typeof --temp ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:21:6] + 20 │ + 21 │ 1 ** typeof --temp ** 3; · ────────────────── - 24 │ 1 ** typeof temp-- ** 3; + 22 │ 1 ** typeof temp-- ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:24:6] - 23 │ 1 ** typeof --temp ** 3; - 24 │ 1 ** typeof temp-- ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:22:6] + 21 │ 1 ** typeof --temp ** 3; + 22 │ 1 ** typeof temp-- ** 3; · ────────────────── - 25 │ 1 ** typeof 3 ** 4; + 23 │ 1 ** typeof 3 ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:25:6] - 24 │ 1 ** typeof temp-- ** 3; - 25 │ 1 ** typeof 3 ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:23:6] + 22 │ 1 ** typeof temp-- ** 3; + 23 │ 1 ** typeof 3 ** 4; · ───────────── - 26 │ 1 ** typeof temp++ ** 4; + 24 │ 1 ** typeof temp++ ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:26:6] - 25 │ 1 ** typeof 3 ** 4; - 26 │ 1 ** typeof temp++ ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:24:6] + 23 │ 1 ** typeof 3 ** 4; + 24 │ 1 ** typeof temp++ ** 4; · ────────────────── - 27 │ 1 ** typeof temp-- ** 4; + 25 │ 1 ** typeof temp-- ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:27:6] - 26 │ 1 ** typeof temp++ ** 4; - 27 │ 1 ** typeof temp-- ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:25:6] + 24 │ 1 ** typeof temp++ ** 4; + 25 │ 1 ** typeof temp-- ** 4; · ────────────────── - 28 │ + 26 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:29:1] - 28 │ - 29 │ void --temp ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:27:1] + 26 │ + 27 │ void --temp ** 3; · ──────────────── - 30 │ void temp-- ** 3; + 28 │ void temp-- ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:30:1] - 29 │ void --temp ** 3; - 30 │ void temp-- ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:28:1] + 27 │ void --temp ** 3; + 28 │ void temp-- ** 3; · ──────────────── - 31 │ void 3 ** 4; + 29 │ void 3 ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:31:1] - 30 │ void temp-- ** 3; - 31 │ void 3 ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:29:1] + 28 │ void temp-- ** 3; + 29 │ void 3 ** 4; · ─────────── - 32 │ void temp++ ** 4; + 30 │ void temp++ ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:32:1] - 31 │ void 3 ** 4; - 32 │ void temp++ ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:30:1] + 29 │ void 3 ** 4; + 30 │ void temp++ ** 4; · ──────────────── - 33 │ void temp-- ** 4; + 31 │ void temp-- ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:33:1] - 32 │ void temp++ ** 4; - 33 │ void temp-- ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:31:1] + 30 │ void temp++ ** 4; + 31 │ void temp-- ** 4; · ──────────────── - 34 │ + 32 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:35:6] - 34 │ - 35 │ 1 ** void --temp ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:33:6] + 32 │ + 33 │ 1 ** void --temp ** 3; · ──────────────── - 36 │ 1 ** void temp-- ** 3; + 34 │ 1 ** void temp-- ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:36:6] - 35 │ 1 ** void --temp ** 3; - 36 │ 1 ** void temp-- ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:34:6] + 33 │ 1 ** void --temp ** 3; + 34 │ 1 ** void temp-- ** 3; · ──────────────── - 37 │ 1 ** void 3 ** 4; + 35 │ 1 ** void 3 ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:37:6] - 36 │ 1 ** void temp-- ** 3; - 37 │ 1 ** void 3 ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:35:6] + 34 │ 1 ** void temp-- ** 3; + 35 │ 1 ** void 3 ** 4; · ─────────── - 38 │ 1 ** void temp++ ** 4; + 36 │ 1 ** void temp++ ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:38:6] - 37 │ 1 ** void 3 ** 4; - 38 │ 1 ** void temp++ ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:36:6] + 35 │ 1 ** void 3 ** 4; + 36 │ 1 ** void temp++ ** 4; · ──────────────── - 39 │ 1 ** void temp-- ** 4 ; + 37 │ 1 ** void temp-- ** 4 ; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:39:6] - 38 │ 1 ** void temp++ ** 4; - 39 │ 1 ** void temp-- ** 4 ; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:37:6] + 36 │ 1 ** void temp++ ** 4; + 37 │ 1 ** void temp-- ** 4 ; · ──────────────── - 40 │ + 38 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:41:1] - 40 │ - 41 │ ~ --temp ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:39:1] + 38 │ + 39 │ ~ --temp ** 3; · ───────────── - 42 │ ~temp-- ** 3; + 40 │ ~temp-- ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:42:1] - 41 │ ~ --temp ** 3; - 42 │ ~temp-- ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:40:1] + 39 │ ~ --temp ** 3; + 40 │ ~temp-- ** 3; · ──────────── - 43 │ ~3 ** 4; + 41 │ ~3 ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:43:1] - 42 │ ~temp-- ** 3; - 43 │ ~3 ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:41:1] + 40 │ ~temp-- ** 3; + 41 │ ~3 ** 4; · ─────── - 44 │ ~temp++ ** 4; + 42 │ ~temp++ ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:44:1] - 43 │ ~3 ** 4; - 44 │ ~temp++ ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:42:1] + 41 │ ~3 ** 4; + 42 │ ~temp++ ** 4; · ──────────── - 45 │ ~temp-- ** 4; + 43 │ ~temp-- ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:45:1] - 44 │ ~temp++ ** 4; - 45 │ ~temp-- ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:43:1] + 42 │ ~temp++ ** 4; + 43 │ ~temp-- ** 4; · ──────────── - 46 │ + 44 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:47:6] - 46 │ - 47 │ 1 ** ~ --temp ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:45:6] + 44 │ + 45 │ 1 ** ~ --temp ** 3; · ───────────── - 48 │ 1 ** ~temp-- ** 3; + 46 │ 1 ** ~temp-- ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:48:6] - 47 │ 1 ** ~ --temp ** 3; - 48 │ 1 ** ~temp-- ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:46:6] + 45 │ 1 ** ~ --temp ** 3; + 46 │ 1 ** ~temp-- ** 3; · ──────────── - 49 │ 1 ** ~3 ** 4; + 47 │ 1 ** ~3 ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:49:6] - 48 │ 1 ** ~temp-- ** 3; - 49 │ 1 ** ~3 ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:47:6] + 46 │ 1 ** ~temp-- ** 3; + 47 │ 1 ** ~3 ** 4; · ─────── - 50 │ 1 ** ~temp++ ** 4; + 48 │ 1 ** ~temp++ ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:50:6] - 49 │ 1 ** ~3 ** 4; - 50 │ 1 ** ~temp++ ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:48:6] + 47 │ 1 ** ~3 ** 4; + 48 │ 1 ** ~temp++ ** 4; · ──────────── - 51 │ 1 ** ~temp-- ** 4; + 49 │ 1 ** ~temp-- ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:51:6] - 50 │ 1 ** ~temp++ ** 4; - 51 │ 1 ** ~temp-- ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:49:6] + 48 │ 1 ** ~temp++ ** 4; + 49 │ 1 ** ~temp-- ** 4; · ──────────── - 52 │ + 50 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:53:1] - 52 │ - 53 │ ! --temp ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:51:1] + 50 │ + 51 │ ! --temp ** 3; · ───────────── - 54 │ !temp-- ** 3; + 52 │ !temp-- ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:54:1] - 53 │ ! --temp ** 3; - 54 │ !temp-- ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:52:1] + 51 │ ! --temp ** 3; + 52 │ !temp-- ** 3; · ──────────── - 55 │ !3 ** 4; + 53 │ !3 ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:55:1] - 54 │ !temp-- ** 3; - 55 │ !3 ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:53:1] + 52 │ !temp-- ** 3; + 53 │ !3 ** 4; · ─────── - 56 │ !temp++ ** 4; + 54 │ !temp++ ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:56:1] - 55 │ !3 ** 4; - 56 │ !temp++ ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:54:1] + 53 │ !3 ** 4; + 54 │ !temp++ ** 4; · ──────────── - 57 │ !temp-- ** 4; + 55 │ !temp-- ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:57:1] - 56 │ !temp++ ** 4; - 57 │ !temp-- ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:55:1] + 54 │ !temp++ ** 4; + 55 │ !temp-- ** 4; · ──────────── - 58 │ + 56 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:59:6] - 58 │ - 59 │ 1 ** ! --temp ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:57:6] + 56 │ + 57 │ 1 ** ! --temp ** 3; · ───────────── - 60 │ 1 ** !temp-- ** 3; + 58 │ 1 ** !temp-- ** 3; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:60:6] - 59 │ 1 ** ! --temp ** 3; - 60 │ 1 ** !temp-- ** 3; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:58:6] + 57 │ 1 ** ! --temp ** 3; + 58 │ 1 ** !temp-- ** 3; · ──────────── - 61 │ 1 ** !3 ** 4; + 59 │ 1 ** !3 ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:61:6] - 60 │ 1 ** !temp-- ** 3; - 61 │ 1 ** !3 ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:59:6] + 58 │ 1 ** !temp-- ** 3; + 59 │ 1 ** !3 ** 4; · ─────── - 62 │ 1 ** !temp++ ** 4; + 60 │ 1 ** !temp++ ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:62:6] - 61 │ 1 ** !3 ** 4; - 62 │ 1 ** !temp++ ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:60:6] + 59 │ 1 ** !3 ** 4; + 60 │ 1 ** !temp++ ** 4; · ──────────── - 63 │ 1 ** !temp-- ** 4; + 61 │ 1 ** !temp-- ** 4; ╰──── help: Wrap unary expression in parentheses to enforce operator precedence × Unexpected exponentiation expression - ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:63:6] - 62 │ 1 ** !temp++ ** 4; - 63 │ 1 ** !temp-- ** 4; + ╭─[conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts:61:6] + 60 │ 1 ** !temp++ ** 4; + 61 │ 1 ** !temp-- ** 4; · ──────────── - 64 │ + 62 │ ╰──── help: Wrap unary expression in parentheses to enforce operator precedence @@ -15360,11 +15226,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × A rest element must be last in a destructuring pattern - ╭─[conformance/es7/trailingCommasInFunctionParametersAndArguments.ts:7:13] - 6 │ - 7 │ function f2(...args,) {} + ╭─[conformance/es7/trailingCommasInFunctionParametersAndArguments.ts:5:13] + 4 │ + 5 │ function f2(...args,) {} · ─────── - 8 │ + 6 │ ╰──── × Unexpected token @@ -15376,19 +15242,19 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Private identifier '#foo' is not allowed outside class bodies - ╭─[conformance/esDecorators/esDecorators-privateFieldAccess.ts:6:13] - 5 │ - 6 │ @dec(x => x.#foo) // error + ╭─[conformance/esDecorators/esDecorators-privateFieldAccess.ts:3:13] + 2 │ + 3 │ @dec(x => x.#foo) // error · ──── - 7 │ class A { + 4 │ class A { ╰──── × Private identifier '#foo' is not allowed outside class bodies - ╭─[conformance/esDecorators/esDecorators-privateFieldAccess.ts:14:18] - 13 │ - 14 │ @dec((x: B) => x.#foo) // error + ╭─[conformance/esDecorators/esDecorators-privateFieldAccess.ts:11:18] + 10 │ + 11 │ @dec((x: B) => x.#foo) // error · ──── - 15 │ class B { + 12 │ class B { ╰──── × Cannot assign to this expression @@ -15400,112 +15266,112 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Cannot assign to this expression - ╭─[conformance/expressions/assignmentOperator/compoundAssignmentLHSIsValue.ts:9:9] - 8 │ constructor() { - 9 │ this *= value; - · ──── - 10 │ this += value; - ╰──── + ╭─[conformance/expressions/assignmentOperator/compoundAssignmentLHSIsValue.ts:7:9] + 6 │ constructor() { + 7 │ this *= value; + · ──── + 8 │ this += value; + ╰──── × Unexpected token - ╭─[conformance/expressions/commaOperator/commaOperatorWithoutOperand.ts:17:2] - 16 │ // Missing the first operand - 17 │ (, ANY); + ╭─[conformance/expressions/commaOperator/commaOperatorWithoutOperand.ts:16:2] + 15 │ // Missing the first operand + 16 │ (, ANY); · ─ - 18 │ (, BOOLEAN); + 17 │ (, BOOLEAN); ╰──── × 'with' statements are not allowed - ╭─[conformance/expressions/functions/arrowFunctionContexts.ts:3:1] - 2 │ // Arrow function used in with statement - 3 │ with (window) { + ╭─[conformance/expressions/functions/arrowFunctionContexts.ts:2:1] + 1 │ // Arrow function used in with statement + 2 │ with (window) { · ──── - 4 │ var p = () => this; + 3 │ var p = () => this; ╰──── × 'with' statements are not allowed - ╭─[conformance/expressions/functions/arrowFunctionContexts.ts:44:5] - 43 │ // Arrow function used in with statement - 44 │ with (window) { + ╭─[conformance/expressions/functions/arrowFunctionContexts.ts:43:5] + 42 │ // Arrow function used in with statement + 43 │ with (window) { · ──── - 45 │ var p = () => this; + 44 │ var p = () => this; ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/expressions/newOperator/newOperatorErrorCases.ts:27:15] - 26 │ // Construct expression with no parentheses for construct signature with > 0 parameters - 27 │ var b = new C0 32, ''; // Parse error + ╭─[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 · ─ - 28 │ + 27 │ ╰──── help: Try insert a semicolon here × Logical expressions and coalesce expressions cannot be mixed - ╭─[conformance/expressions/nullishCoalescingOperator/nullishCoalescingOperator5.ts:8:1] - 7 │ // should be a syntax error - 8 │ a ?? b || c; + ╭─[conformance/expressions/nullishCoalescingOperator/nullishCoalescingOperator5.ts:6:1] + 5 │ // should be a syntax error + 6 │ a ?? b || c; · ─────────── - 9 │ + 7 │ ╰──── help: Wrap either expression by parentheses × Logical expressions and coalesce expressions cannot be mixed - ╭─[conformance/expressions/nullishCoalescingOperator/nullishCoalescingOperator5.ts:11:1] - 10 │ // should be a syntax error - 11 │ a || b ?? c; + ╭─[conformance/expressions/nullishCoalescingOperator/nullishCoalescingOperator5.ts:9:1] + 8 │ // should be a syntax error + 9 │ a || b ?? c; · ─────────── - 12 │ + 10 │ ╰──── help: Wrap either expression by parentheses × Logical expressions and coalesce expressions cannot be mixed - ╭─[conformance/expressions/nullishCoalescingOperator/nullishCoalescingOperator5.ts:14:1] - 13 │ // should be a syntax error - 14 │ a ?? b && c; + ╭─[conformance/expressions/nullishCoalescingOperator/nullishCoalescingOperator5.ts:12:1] + 11 │ // should be a syntax error + 12 │ a ?? b && c; · ─────────── - 15 │ + 13 │ ╰──── help: Wrap either expression by parentheses × Logical expressions and coalesce expressions cannot be mixed - ╭─[conformance/expressions/nullishCoalescingOperator/nullishCoalescingOperator5.ts:17:1] - 16 │ // should be a syntax error - 17 │ a && b ?? c; + ╭─[conformance/expressions/nullishCoalescingOperator/nullishCoalescingOperator5.ts:15:1] + 14 │ // should be a syntax error + 15 │ a && b ?? c; · ─────────── - 18 │ + 16 │ ╰──── help: Wrap either expression by parentheses × Unexpected token - ╭─[conformance/expressions/objectLiterals/objectLiteralErrors.ts:52:5] - 51 │ y = 2, - 52 │ #z: 3 + ╭─[conformance/expressions/objectLiterals/objectLiteralErrors.ts:50:5] + 49 │ y = 2, + 50 │ #z: 3 · ── - 53 │ } + 51 │ } ╰──── × Cannot assign to this expression - ╭─[conformance/expressions/operators/incrementAndDecrement.ts:9:1] - 8 │ // Assign to expression++ - 9 │ x++ = 4; // Error - · ─── - 10 │ - ╰──── + ╭─[conformance/expressions/operators/incrementAndDecrement.ts:8:1] + 7 │ // Assign to expression++ + 8 │ x++ = 4; // Error + · ─── + 9 │ + ╰──── × Cannot assign to this expression - ╭─[conformance/expressions/optionalChaining/elementAccessChain/elementAccessChain.3.ts:5:1] - 4 │ - 5 │ obj?.["a"]++; + ╭─[conformance/expressions/optionalChaining/elementAccessChain/elementAccessChain.3.ts:3:1] + 2 │ + 3 │ obj?.["a"]++; · ────────── - 6 │ obj?.a["b"]++; + 4 │ obj?.a["b"]++; ╰──── × Cannot assign to this expression - ╭─[conformance/expressions/optionalChaining/propertyAccessChain/propertyAccessChain.3.ts:5:1] - 4 │ - 5 │ obj?.a++; + ╭─[conformance/expressions/optionalChaining/propertyAccessChain/propertyAccessChain.3.ts:3:1] + 2 │ + 3 │ obj?.a++; · ────── - 6 │ obj?.a.b++; + 4 │ obj?.a.b++; ╰──── × Tagged template expressions are not permitted in an optional chain @@ -15708,44 +15574,42 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/expressions/typeGuards/typeGuardFunctionErrors.ts:18:56] - 17 │ - 18 │ function hasTypeGuardTypeInsideTypeGuardType(x): x is x is A { + ╭─[conformance/expressions/typeGuards/typeGuardFunctionErrors.ts:17:56] + 16 │ + 17 │ function hasTypeGuardTypeInsideTypeGuardType(x): x is x is A { · ─ - 19 │ return true; + 18 │ return true; ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/expressions/typeGuards/typeGuardOfFormThisMember.ts:6:14] - 5 │ export class FileSystemObject { - 6 │ isFSO: this is FileSystemObject; + ╭─[conformance/expressions/typeGuards/typeGuardOfFormThisMember.ts:4:14] + 3 │ export class FileSystemObject { + 4 │ isFSO: this is FileSystemObject; · ─ - 7 │ get isFile(): this is File { + 5 │ get isFile(): this is File { ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/expressions/typeGuards/typeGuardOfFormThisMemberErrors.ts:6:14] - 5 │ export class FileSystemObject { - 6 │ isFSO: this is FileSystemObject; + ╭─[conformance/expressions/typeGuards/typeGuardOfFormThisMemberErrors.ts:4:14] + 3 │ export class FileSystemObject { + 4 │ isFSO: this is FileSystemObject; · ─ - 7 │ get isFile(): this is File { + 5 │ get isFile(): this is File { ╰──── help: Try insert a semicolon here × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/expressions/typeGuards/typePredicateOnVariableDeclaration01.ts:3:12] - 2 │ - 3 │ var x: this is string; + ╭─[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:3:9] - 2 │ - 3 │ var y: z is number; + ╭─[conformance/expressions/typeGuards/typePredicateOnVariableDeclaration02.ts:1:9] + 1 │ var y: z is number; · ─ ╰──── help: Try insert a semicolon here @@ -15890,149 +15754,144 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: Try insert a semicolon here × Unexpected token - ╭─[conformance/externalModules/exportNonInitializedVariablesAMD.ts:3:4] - 2 │ - 3 │ var; + ╭─[conformance/externalModules/exportNonInitializedVariablesAMD.ts:1:4] + 1 │ var; · ─ - 4 │ let; + 2 │ let; ╰──── × Unexpected token - ╭─[conformance/externalModules/exportNonInitializedVariablesCommonJS.ts:3:4] - 2 │ - 3 │ var; + ╭─[conformance/externalModules/exportNonInitializedVariablesCommonJS.ts:1:4] + 1 │ var; · ─ - 4 │ let; + 2 │ let; ╰──── × Unexpected token - ╭─[conformance/externalModules/exportNonInitializedVariablesES6.ts:3:4] - 2 │ - 3 │ var; + ╭─[conformance/externalModules/exportNonInitializedVariablesES6.ts:1:4] + 1 │ var; · ─ - 4 │ let; + 2 │ let; ╰──── × Unexpected token - ╭─[conformance/externalModules/exportNonInitializedVariablesSystem.ts:3:4] - 2 │ - 3 │ var; + ╭─[conformance/externalModules/exportNonInitializedVariablesSystem.ts:1:4] + 1 │ var; · ─ - 4 │ let; + 2 │ let; ╰──── × Unexpected token - ╭─[conformance/externalModules/exportNonInitializedVariablesUMD.ts:3:4] - 2 │ - 3 │ var; + ╭─[conformance/externalModules/exportNonInitializedVariablesUMD.ts:1:4] + 1 │ var; · ─ - 4 │ let; + 2 │ let; ╰──── × Unexpected token - ╭─[conformance/externalModules/importNonStringLiteral.ts:4:22] - 3 │ var x = "filename"; - 4 │ import foo = require(x); // invalid + ╭─[conformance/externalModules/importNonStringLiteral.ts:2:22] + 1 │ var x = "filename"; + 2 │ import foo = require(x); // invalid · ─ ╰──── × Expected `>` but found `,` - ╭─[conformance/externalModules/topLevelAwaitErrors.1.ts:10:14] - 9 │ await (1,); - 10 │ await (1); - · ┬ - · ╰── `>` expected - 11 │ - ╰──── + ╭─[conformance/externalModules/topLevelAwaitErrors.1.ts:5:14] + 4 │ await (1,); + 5 │ await (1); + · ┬ + · ╰── `>` expected + 6 │ + ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/externalModules/topLevelAwaitErrors.12.ts:8:8] - 7 │ // await disallowed in import=namespace when in a module - 8 │ import await = foo.await; + ╭─[conformance/externalModules/topLevelAwaitErrors.12.ts:5:8] + 4 │ // await disallowed in import=namespace when in a module + 5 │ import await = foo.await; · ───── ╰──── × The keyword 'await' is reserved - ╭─[conformance/externalModules/topLevelAwaitErrors.12.ts:8:8] - 7 │ // await disallowed in import=namespace when in a module - 8 │ import await = foo.await; + ╭─[conformance/externalModules/topLevelAwaitErrors.12.ts:5:8] + 4 │ // await disallowed in import=namespace when in a module + 5 │ import await = foo.await; · ───── ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/externalModules/topLevelAwaitErrors.2.ts:7:5] - 6 │ // reparse variable name as await should fail - 7 │ var await = 1; + ╭─[conformance/externalModules/topLevelAwaitErrors.2.ts:4:5] + 3 │ // reparse variable name as await should fail + 4 │ var await = 1; · ───── ╰──── × The keyword 'await' is reserved - ╭─[conformance/externalModules/topLevelAwaitErrors.2.ts:7:5] - 6 │ // reparse variable name as await should fail - 7 │ var await = 1; + ╭─[conformance/externalModules/topLevelAwaitErrors.2.ts:4:5] + 3 │ // reparse variable name as await should fail + 4 │ var await = 1; · ───── ╰──── × The keyword 'await' is reserved - ╭─[conformance/externalModules/topLevelAwaitErrors.3.ts:7:6] - 6 │ // reparse binding pattern as await should fail - 7 │ var {await} = {await:1}; + ╭─[conformance/externalModules/topLevelAwaitErrors.3.ts:4:6] + 3 │ // reparse binding pattern as await should fail + 4 │ var {await} = {await:1}; · ───── ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/externalModules/topLevelAwaitErrors.4.ts:7:6] - 6 │ // reparse binding pattern as await should fail - 7 │ var [await] = [1]; + ╭─[conformance/externalModules/topLevelAwaitErrors.4.ts:4:6] + 3 │ // reparse binding pattern as await should fail + 4 │ var [await] = [1]; · ───── ╰──── × The keyword 'await' is reserved - ╭─[conformance/externalModules/topLevelAwaitErrors.4.ts:7:6] - 6 │ // reparse binding pattern as await should fail - 7 │ var [await] = [1]; + ╭─[conformance/externalModules/topLevelAwaitErrors.4.ts:4:6] + 3 │ // reparse binding pattern as await should fail + 4 │ var [await] = [1]; · ───── ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/externalModules/topLevelAwaitErrors.5.ts:5:14] - 4 │ // await in exported class name should fail - 5 │ export class await { + ╭─[conformance/externalModules/topLevelAwaitErrors.5.ts:2:14] + 1 │ // await in exported class name should fail + 2 │ export class await { · ───── - 6 │ } + 3 │ } ╰──── × The keyword 'await' is reserved - ╭─[conformance/externalModules/topLevelAwaitErrors.5.ts:5:14] - 4 │ // await in exported class name should fail - 5 │ export class await { + ╭─[conformance/externalModules/topLevelAwaitErrors.5.ts:2:14] + 1 │ // await in exported class name should fail + 2 │ export class await { · ───── - 6 │ } + 3 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/externalModules/topLevelAwaitErrors.6.ts:5:17] - 4 │ // await in exported function name should fail - 5 │ export function await() { + ╭─[conformance/externalModules/topLevelAwaitErrors.6.ts:2:17] + 1 │ // await in exported function name should fail + 2 │ export function await() { · ───── - 6 │ } + 3 │ } ╰──── × The keyword 'await' is reserved - ╭─[conformance/externalModules/topLevelAwaitErrors.6.ts:5:17] - 4 │ // await in exported function name should fail - 5 │ export function await() { + ╭─[conformance/externalModules/topLevelAwaitErrors.6.ts:2:17] + 1 │ // await in exported function name should fail + 2 │ export function await() { · ───── - 6 │ } + 3 │ } ╰──── × Expected `=` but found `;` - ╭─[conformance/externalModules/typeOnly/exportDeclaration_missingBraces.ts:14:16] - 13 │ namespace ns { - 14 │ export type T; // Normal parse error because there is no other 'T' + ╭─[conformance/externalModules/typeOnly/exportDeclaration_missingBraces.ts:11:16] + 10 │ namespace ns { + 11 │ export type T; // Normal parse error because there is no other 'T' · ┬ · ╰── `=` expected - 15 │ } + 12 │ } ╰──── × A rest element must be last in a destructuring pattern @@ -16060,76 +15919,76 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Illegal 'use strict' directive in function with non-simple parameter list - ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:4:5] - 3 │ function a(a = 10) { - 4 │ "use strict"; + ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:2:5] + 1 │ function a(a = 10) { + 2 │ "use strict"; · ───────────── - 5 │ } + 3 │ } ╰──── × Illegal 'use strict' directive in function with non-simple parameter list - ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:18:5] - 17 │ function rest(...args: any[]) { - 18 │ 'use strict'; + ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:16:5] + 15 │ function rest(...args: any[]) { + 16 │ 'use strict'; · ───────────── - 19 │ } + 17 │ } ╰──── × Illegal 'use strict' directive in function with non-simple parameter list - ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:22:5] - 21 │ function rest1(a = 1, ...args) { - 22 │ 'use strict'; + ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:20:5] + 19 │ function rest1(a = 1, ...args) { + 20 │ 'use strict'; · ───────────── - 23 │ } + 21 │ } ╰──── × Illegal 'use strict' directive in function with non-simple parameter list - ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:26:5] - 25 │ function paramDefault(param = 1) { - 26 │ 'use strict'; + ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:24:5] + 23 │ function paramDefault(param = 1) { + 24 │ 'use strict'; · ───────────── - 27 │ } + 25 │ } ╰──── × Illegal 'use strict' directive in function with non-simple parameter list - ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:30:5] - 29 │ function objectBindingPattern({foo}: any) { - 30 │ 'use strict'; + ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:28:5] + 27 │ function objectBindingPattern({foo}: any) { + 28 │ 'use strict'; · ───────────── - 31 │ } + 29 │ } ╰──── × Illegal 'use strict' directive in function with non-simple parameter list - ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:34:5] - 33 │ function arrayBindingPattern([foo]: any[]) { - 34 │ 'use strict'; + ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:32:5] + 31 │ function arrayBindingPattern([foo]: any[]) { + 32 │ 'use strict'; · ───────────── - 35 │ } + 33 │ } ╰──── × Illegal 'use strict' directive in function with non-simple parameter list - ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:38:5] - 37 │ function manyParameter(a = 10, b = 20) { - 38 │ "use strict"; + ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:36:5] + 35 │ function manyParameter(a = 10, b = 20) { + 36 │ "use strict"; · ───────────── - 39 │ } + 37 │ } ╰──── × Illegal 'use strict' directive in function with non-simple parameter list - ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:43:5] - 42 │ "foo"; - 43 │ "use strict"; + ╭─[conformance/functions/functionWithUseStrictAndSimpleParameterList_es2016.ts:41:5] + 40 │ "foo"; + 41 │ "use strict"; · ───────────── - 44 │ } + 42 │ } ╰──── × Expected `{` but found `EOF` - ╭─[conformance/importAssertion/importAssertion4.ts:2:1] + ╭─[conformance/importAssertion/importAssertion4.ts:1:36] 1 │ import * as f from "./first" assert ╰──── × Expected `}` but found `EOF` - ╭─[conformance/importAssertion/importAssertion5.ts:2:1] + ╭─[conformance/importAssertion/importAssertion5.ts:1:38] 1 │ import * as f from "./first" assert { ╰──── @@ -16144,11 +16003,10 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[conformance/importAttributes/importAttributes6.ts:3:51] - 2 │ // @filename: mod.mts - 3 │ import * as thing1 from "./mod.mjs" with { field: 0 }; + ╭─[conformance/importAttributes/importAttributes6.ts:1:51] + 1 │ import * as thing1 from "./mod.mjs" with { field: 0 }; · ─ - 4 │ import * as thing2 from "./mod.mjs" with { field: `a` }; + 2 │ import * as thing2 from "./mod.mjs" with { field: `a` }; ╰──── × The keyword 'interface' is reserved @@ -16177,17 +16035,17 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: Try insert a semicolon here × Expected `}` but found `EOF` - ╭─[conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClass2.ts:17:6] - 16 │ }; - 17 │ } + ╭─[conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClass2.ts:15:6] + 14 │ }; + 15 │ } ╰──── × Unexpected token - ╭─[conformance/internalModules/exportDeclarations/NonInitializedExportInInternalModule.ts:3:8] - 2 │ module Inner { - 3 │ var; + ╭─[conformance/internalModules/exportDeclarations/NonInitializedExportInInternalModule.ts:2:8] + 1 │ module Inner { + 2 │ var; · ─ - 4 │ let; + 3 │ let; ╰──── × Identifier `Point` has already been declared @@ -16203,24 +16061,24 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Identifier `err` has already been declared - ╭─[conformance/jsdoc/jsdocCatchClauseWithTypeAnnotation.ts:40:9] - 39 │ try { } - 40 │ catch (err) { + ╭─[conformance/jsdoc/jsdocCatchClauseWithTypeAnnotation.ts:33:9] + 32 │ try { } + 33 │ catch (err) { · ─┬─ · ╰── `err` has already been declared here - 41 │ /** @type {string} */ - 42 │ let err; + 34 │ /** @type {string} */ + 35 │ let err; · ─┬─ · ╰── It can not be redeclared here - 43 │ } + 36 │ } ╰──── × Unexpected token - ╭─[conformance/jsdoc/jsdocDisallowedInTypescript.ts:4:16] - 3 │ // grammar error from checker - 4 │ var ara: Array. = [1,2,3]; + ╭─[conformance/jsdoc/jsdocDisallowedInTypescript.ts:2:16] + 1 │ // grammar error from checker + 2 │ var ara: Array. = [1,2,3]; · ─ - 5 │ + 3 │ ╰──── × Unexpected token @@ -16231,139 +16089,136 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[conformance/jsx/checkJsxNamespaceNamesQuestionableForms.tsx:13:5] - 12 │ ; - 13 │ ; + ╭─[conformance/jsx/checkJsxNamespaceNamesQuestionableForms.tsx:12:5] + 11 │ ; + 12 │ ; · ─ - 14 │ ; + 13 │ ; ╰──── × Expected `}` but found `:` - ╭─[conformance/jsx/jsxAndTypeAssertion.tsx:8:17] - 7 │ var x: any; - 8 │ x = { test: }; + ╭─[conformance/jsx/jsxAndTypeAssertion.tsx:6:17] + 5 │ var x: any; + 6 │ x = { test: }; · ┬ · ╰── `}` expected - 9 │ + 7 │ ╰──── × Unexpected token - ╭─[conformance/jsx/jsxAttributeInitializer.ts:9:16] - 8 │
foo
/> - 9 │
- · ─ - 10 │
- ╰──── + ╭─[conformance/jsx/jsxAttributeInitializer.ts:7:16] + 6 │
foo
/> + 7 │
+ · ─ + 8 │
+ ╰──── × TS18007: JSX expressions may not use the comma operator. - ╭─[conformance/jsx/jsxParsingError1.tsx:14:30] - 13 │ const class2 = "bar"; - 14 │ const elem =
; + ╭─[conformance/jsx/jsxParsingError1.tsx:11:30] + 10 │ const class2 = "bar"; + 11 │ const elem =
; · ────────────── ╰──── help: Did you mean to write an array? × Missing initializer in const declaration - ╭─[conformance/jsx/jsxParsingErrorImmediateSpreadInAttributeValue.tsx:11:7] - 10 │ - 11 │ const X: any - · ────── - 12 │ const a: any - ╰──── + ╭─[conformance/jsx/jsxParsingErrorImmediateSpreadInAttributeValue.tsx:8:7] + 7 │ + 8 │ const X: any + · ────── + 9 │ const a: any + ╰──── × Missing initializer in const declaration - ╭─[conformance/jsx/jsxParsingErrorImmediateSpreadInAttributeValue.tsx:12:7] - 11 │ const X: any - 12 │ const a: any + ╭─[conformance/jsx/jsxParsingErrorImmediateSpreadInAttributeValue.tsx:9:7] + 8 │ const X: any + 9 │ const a: any · ────── - 13 │ + 10 │ ╰──── × Unexpected token - ╭─[conformance/jsx/jsxParsingErrorImmediateSpreadInAttributeValue.tsx:14:7] - 13 │ - 14 │ + ╭─[conformance/jsx/jsxParsingErrorImmediateSpreadInAttributeValue.tsx:11:7] + 10 │ + 11 │ · ─── ╰──── × Unexpected token - ╭─[conformance/jsx/jsxUnclosedParserRecovery.ts:14:5] - 13 │ var donkey =
- 14 │ < + ╭─[conformance/jsx/jsxUnclosedParserRecovery.ts:11:5] + 10 │ var donkey =
+ 11 │ < · ─ - 15 │
; + 12 │
; ╰──── × Invalid characters after number - ╭─[conformance/jsx/tsxAttributeInvalidNames.tsx:12:10] - 11 │ // Invalid names - 12 │ ; + ╭─[conformance/jsx/tsxAttributeInvalidNames.tsx:10:10] + 9 │ // Invalid names + 10 │ ; · ──── - 13 │ ; + 11 │ ; ╰──── × Unexpected token - ╭─[conformance/jsx/tsxErrorRecovery1.tsx:7:20] - 6 │ function foo() { - 7 │ var x =
{
+ ╭─[conformance/jsx/tsxErrorRecovery1.tsx:4:20] + 3 │ function foo() { + 4 │ var x =
{
· ─ - 8 │ } + 5 │ } ╰──── × Expected `>` but found `Identifier` - ╭─[conformance/jsx/tsxFragmentErrors.tsx:12:7] - 11 │ - 12 │ <>hi
// Error + ╭─[conformance/jsx/tsxFragmentErrors.tsx:9:7] + 8 │ + 9 │ <>hi
// Error · ─┬─ · ╰── `>` expected - 13 │ + 10 │ ╰──── × Expected `,` but found `;` - ╭─[conformance/jsx/tsxStatelessFunctionComponents1.tsx:47:16] - 46 │ let o = { - 47 │ prop1: true; + ╭─[conformance/jsx/tsxStatelessFunctionComponents1.tsx:41:16] + 40 │ let o = { + 41 │ prop1: true; · ┬ · ╰── `,` expected - 48 │ } + 42 │ } ╰──── × Expected `(` but found `Identifier` - ╭─[conformance/override/overrideKeywordOrder.ts:15:18] - 14 │ override async m1() {} - 15 │ async override m2() {} // error + ╭─[conformance/override/overrideKeywordOrder.ts:12:18] + 11 │ override async m1() {} + 12 │ async override m2() {} // error · ─┬ · ╰── `(` expected - 16 │ } + 13 │ } ╰──── × Expected `,` but found `get` - ╭─[conformance/parser/ecmascript5/Accessors/parserAccessors10.ts:3:10] - 2 │ var v = { - 3 │ public get foo() { } + ╭─[conformance/parser/ecmascript5/Accessors/parserAccessors10.ts:2:10] + 1 │ var v = { + 2 │ public get foo() { } · ─┬─ · ╰── `,` expected - 4 │ }; + 3 │ }; ╰──── × A 'get' accessor must not have any formal parameters. - ╭─[conformance/parser/ecmascript5/Accessors/parserAccessors7.ts:2:18] - 1 │ // @target: es5 - 2 │ var v = { get foo(v: number) { } }; + ╭─[conformance/parser/ecmascript5/Accessors/parserAccessors7.ts:1:18] + 1 │ var v = { get foo(v: number) { } }; · ─────────── ╰──── × A 'set' accessor must have exactly one parameter. - ╭─[conformance/parser/ecmascript5/Accessors/parserAccessors8.ts:2:18] - 1 │ // @target: es5 - 2 │ var v = { set foo() { } } + ╭─[conformance/parser/ecmascript5/Accessors/parserAccessors8.ts:1:18] + 1 │ var v = { set foo() { } } · ── ╰──── × A 'set' accessor must have exactly one parameter. - ╭─[conformance/parser/ecmascript5/Accessors/parserAccessors9.ts:2:18] - 1 │ // @target: es5 - 2 │ var v = { set foo(a, b) { } } + ╭─[conformance/parser/ecmascript5/Accessors/parserAccessors9.ts:1:18] + 1 │ var v = { set foo(a, b) { } } · ────── ╰──── @@ -16413,11 +16268,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[conformance/parser/ecmascript5/EnumDeclarations/parserEnum4.ts:4:9] - 3 │ export enum SignatureFlags { - 4 │ , + ╭─[conformance/parser/ecmascript5/EnumDeclarations/parserEnum4.ts:2:9] + 1 │ export enum SignatureFlags { + 2 │ , · ─ - 5 │ } + 3 │ } ╰──── × Expected `,` but found `:` @@ -16980,9 +16835,8 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/parser/ecmascript5/Expressions/parserMemberAccessAfterPostfixExpression1.ts:2:4] - 1 │ // @lib: es5 - 2 │ a--.toString() + ╭─[conformance/parser/ecmascript5/Expressions/parserMemberAccessAfterPostfixExpression1.ts:1:4] + 1 │ a--.toString() · ▲ ╰──── help: Try insert a semicolon here @@ -17234,52 +17088,52 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration10.ts:3:11] - 2 │ class C { - 3 │ export get Foo() { } + ╭─[conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration10.ts:2:11] + 1 │ class C { + 2 │ export get Foo() { } · ─ - 4 │ } + 3 │ } ╰──── help: Try insert a semicolon here × A 'get' accessor must not have any formal parameters. - ╭─[conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration12.ts:3:11] - 2 │ class C { - 3 │ get Foo(a: number) { } + ╭─[conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration12.ts:2:11] + 1 │ class C { + 2 │ get Foo(a: number) { } · ─────────── - 4 │ } + 3 │ } ╰──── × A 'set' accessor must have exactly one parameter. - ╭─[conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration13.ts:3:11] - 2 │ class C { - 3 │ set Foo() { } + ╭─[conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration13.ts:2:11] + 1 │ class C { + 2 │ set Foo() { } · ── - 4 │ } + 3 │ } ╰──── × A 'set' accessor must have exactly one parameter. - ╭─[conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration14.ts:3:11] - 2 │ class C { - 3 │ set Foo(a: number, b: number) { } + ╭─[conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration14.ts:2:11] + 1 │ class C { + 2 │ set Foo(a: number, b: number) { } · ────────────────────── - 4 │ } + 3 │ } ╰──── × A parameter property is only allowed in a constructor implementation. - ╭─[conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration15.ts:3:12] - 2 │ class C { - 3 │ set Foo(public a: number) { } + ╭─[conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration15.ts:2:12] + 1 │ class C { + 2 │ set Foo(public a: number) { } · ──────────────── - 4 │ } + 3 │ } ╰──── × A 'set' accessor cannot have rest parameter. - ╭─[conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration18.ts:3:12] - 2 │ class C { - 3 │ set Foo(...a) { } + ╭─[conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration18.ts:2:12] + 1 │ class C { + 2 │ set Foo(...a) { } · ──── - 4 │ } + 3 │ } ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none @@ -17456,11 +17310,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/parser/ecmascript5/RealWorld/parserharness.ts:1431:16] - 1430 │ // Regex for parsing options in the format "@Alpha: Value of any sort" - 1431 │ private optionRegex = /^[\/]{2}\s*@(\w+):\s*(\S*)/gm; // multiple matches on multiple lines + ╭─[conformance/parser/ecmascript5/RealWorld/parserharness.ts:1430:16] + 1429 │ // Regex for parsing options in the format "@Alpha: Value of any sort" + 1430 │ private optionRegex = /^[\/]{2}\s*@(\w+):\s*(\S*)/gm; // multiple matches on multiple lines · ─ - 1432 │ + 1431 │ ╰──── help: Try insert a semicolon here @@ -17489,7 +17343,7 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected `}` but found `EOF` - ╭─[conformance/parser/ecmascript5/RegressionTests/parser512084.ts:2:1] + ╭─[conformance/parser/ecmascript5/RegressionTests/parser512084.ts:1:12] 1 │ class foo { ╰──── @@ -17943,51 +17797,45 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected `;` but found `Identifier` - ╭─[conformance/parser/ecmascript5/Statements/parserES5ForOfStatement2.ts:2:13] - 1 │ //@target: ES5 - 2 │ for (var of X) { + ╭─[conformance/parser/ecmascript5/Statements/parserES5ForOfStatement2.ts:1:13] + 1 │ for (var of X) { · ┬ · ╰── `;` expected - 3 │ } + 2 │ } ╰──── × Unexpected token - ╭─[conformance/parser/ecmascript5/Statements/parserES5ForOfStatement21.ts:2:15] - 1 │ //@target: ES5 - 2 │ for (var of of) { } + ╭─[conformance/parser/ecmascript5/Statements/parserES5ForOfStatement21.ts:1:15] + 1 │ for (var of of) { } · ─ ╰──── × Only a single declaration is allowed in a `for...of` statement - ╭─[conformance/parser/ecmascript5/Statements/parserES5ForOfStatement3.ts:2:6] - 1 │ //@target: ES5 - 2 │ for (var a, b of X) { + ╭─[conformance/parser/ecmascript5/Statements/parserES5ForOfStatement3.ts:1:6] + 1 │ for (var a, b of X) { · ──────── - 3 │ } + 2 │ } ╰──── × for-of loop variable declaration may not have an initializer - ╭─[conformance/parser/ecmascript5/Statements/parserES5ForOfStatement4.ts:2:6] - 1 │ //@target: ES5 - 2 │ for (var a = 1 of X) { + ╭─[conformance/parser/ecmascript5/Statements/parserES5ForOfStatement4.ts:1:6] + 1 │ for (var a = 1 of X) { · ───────── - 3 │ } + 2 │ } ╰──── × Only a single declaration is allowed in a `for...of` statement - ╭─[conformance/parser/ecmascript5/Statements/parserES5ForOfStatement6.ts:2:6] - 1 │ //@target: ES5 - 2 │ for (var a = 1, b = 2 of X) { + ╭─[conformance/parser/ecmascript5/Statements/parserES5ForOfStatement6.ts:1:6] + 1 │ for (var a = 1, b = 2 of X) { · ──────────────── - 3 │ } + 2 │ } ╰──── × Only a single declaration is allowed in a `for...of` statement - ╭─[conformance/parser/ecmascript5/Statements/parserES5ForOfStatement7.ts:2:6] - 1 │ //@target: ES5 - 2 │ for (var a: number = 1, b: string = "" of X) { + ╭─[conformance/parser/ecmascript5/Statements/parserES5ForOfStatement7.ts:1:6] + 1 │ for (var a: number = 1, b: string = "" of X) { · ───────────────────────────────── - 3 │ } + 2 │ } ╰──── × Unexpected token @@ -18091,9 +17939,9 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Cannot assign to 'eval' in strict mode - ╭─[conformance/parser/ecmascript5/StrictMode/parserStrictMode12.ts:3:19] - 2 │ "use strict"; - 3 │ var v = { set foo(eval) { } } + ╭─[conformance/parser/ecmascript5/StrictMode/parserStrictMode12.ts:2:19] + 1 │ "use strict"; + 2 │ var v = { set foo(eval) { } } · ──── ╰──── @@ -18163,11 +18011,11 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Cannot assign to 'eval' in strict mode - ╭─[conformance/parser/ecmascript5/StrictMode/parserStrictMode8.ts:3:10] - 2 │ "use strict"; - 3 │ function eval() { + ╭─[conformance/parser/ecmascript5/StrictMode/parserStrictMode8.ts:2:10] + 1 │ "use strict"; + 2 │ function eval() { · ──── - 4 │ } + 3 │ } ╰──── × Cannot assign to 'eval' in strict mode @@ -18240,9 +18088,9 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × The keyword 'public' is reserved - ╭─[conformance/parser/ecmascript5/parser10.1.1-8gs.ts:19:5] - 18 │ throw NotEarlyError; - 19 │ var public = 1; + ╭─[conformance/parser/ecmascript5/parser10.1.1-8gs.ts:17:5] + 16 │ throw NotEarlyError; + 17 │ var public = 1; · ────── ╰──── @@ -18327,7 +18175,6 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" 16 │ ╭─▶ ++ 17 │ │ ++ 18 │ ╰─▶ y - 19 │ ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none @@ -18338,139 +18185,131 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: Try insert a semicolon here × Unexpected token - ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName1.ts:2:15] - 1 │ //@target: ES6 - 2 │ var v = { [e] }; + ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName1.ts:1:15] + 1 │ var v = { [e] }; · ─ ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName27.ts:5:9] - 4 │ [e]: number = 0 - 5 │ [e2]: number + ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName27.ts:4:9] + 3 │ [e]: number = 0 + 4 │ [e2]: number · ▲ - 6 │ } + 5 │ } ╰──── help: Try insert a semicolon here × Expected `,` but found `[` - ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName30.ts:5:5] - 4 │ [e] = id++ - 5 │ [e2] = 1 + ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName30.ts:4:5] + 3 │ [e] = id++ + 4 │ [e2] = 1 · ┬ · ╰── `,` expected - 6 │ } + 5 │ } ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName33.ts:5:11] - 4 │ [e] = 0 - 5 │ [e2]() { } + ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName33.ts:4:11] + 3 │ [e] = 0 + 4 │ [e2]() { } · ─ - 6 │ } + 5 │ } ╰──── help: Try insert a semicolon here × Expected `]` but found `,` - ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName35.ts:3:7] - 2 │ var x = { - 3 │ [0, 1]: { } + ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName35.ts:2:7] + 1 │ var x = { + 2 │ [0, 1]: { } · ┬ · ╰── `]` expected - 4 │ } + 3 │ } ╰──── × The keyword 'public' is reserved - ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName36.ts:3:6] - 2 │ class C { - 3 │ [public ]: string; + ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName36.ts:2:6] + 1 │ class C { + 2 │ [public ]: string; · ────── - 4 │ } + 3 │ } ╰──── × The keyword 'public' is reserved - ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName38.ts:3:6] - 2 │ class C { - 3 │ [public]() { } + ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName38.ts:2:6] + 1 │ class C { + 2 │ [public]() { } · ────── - 4 │ } + 3 │ } ╰──── × The keyword 'public' is reserved - ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName39.ts:4:6] - 3 │ class C { - 4 │ [public]() { } + ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName39.ts:3:6] + 2 │ class C { + 3 │ [public]() { } · ────── - 5 │ } + 4 │ } ╰──── × Expected `,` but found `get` - ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName5.ts:2:18] - 1 │ //@target: ES6 - 2 │ var v = { public get [e]() { } }; + ╭─[conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName5.ts:1:18] + 1 │ var v = { public get [e]() { } }; · ─┬─ · ╰── `,` expected ╰──── × Expected `;` but found `Identifier` - ╭─[conformance/parser/ecmascript6/Iterators/parserForOfStatement2.ts:2:13] - 1 │ //@target: ES6 - 2 │ for (var of X) { + ╭─[conformance/parser/ecmascript6/Iterators/parserForOfStatement2.ts:1:13] + 1 │ for (var of X) { · ┬ · ╰── `;` expected - 3 │ } + 2 │ } ╰──── × Unexpected token - ╭─[conformance/parser/ecmascript6/Iterators/parserForOfStatement21.ts:2:15] - 1 │ //@target: ES6 - 2 │ for (var of of) { } + ╭─[conformance/parser/ecmascript6/Iterators/parserForOfStatement21.ts:1:15] + 1 │ for (var of of) { } · ─ ╰──── × The left-hand side of a `for...of` statement may not be `async` - ╭─[conformance/parser/ecmascript6/Iterators/parserForOfStatement22.ts:4:6] - 3 │ var async; - 4 │ for (async of [1, 2]) {} + ╭─[conformance/parser/ecmascript6/Iterators/parserForOfStatement22.ts:2:6] + 1 │ var async; + 2 │ for (async of [1, 2]) {} · ───── ╰──── × Only a single declaration is allowed in a `for...of` statement - ╭─[conformance/parser/ecmascript6/Iterators/parserForOfStatement3.ts:2:6] - 1 │ //@target: ES6 - 2 │ for (var a, b of X) { + ╭─[conformance/parser/ecmascript6/Iterators/parserForOfStatement3.ts:1:6] + 1 │ for (var a, b of X) { · ──────── - 3 │ } + 2 │ } ╰──── × for-of loop variable declaration may not have an initializer - ╭─[conformance/parser/ecmascript6/Iterators/parserForOfStatement4.ts:2:6] - 1 │ //@target: ES6 - 2 │ for (var a = 1 of X) { + ╭─[conformance/parser/ecmascript6/Iterators/parserForOfStatement4.ts:1:6] + 1 │ for (var a = 1 of X) { · ───────── - 3 │ } + 2 │ } ╰──── × Only a single declaration is allowed in a `for...of` statement - ╭─[conformance/parser/ecmascript6/Iterators/parserForOfStatement6.ts:2:6] - 1 │ //@target: ES6 - 2 │ for (var a = 1, b = 2 of X) { + ╭─[conformance/parser/ecmascript6/Iterators/parserForOfStatement6.ts:1:6] + 1 │ for (var a = 1, b = 2 of X) { · ──────────────── - 3 │ } + 2 │ } ╰──── × Only a single declaration is allowed in a `for...of` statement - ╭─[conformance/parser/ecmascript6/Iterators/parserForOfStatement7.ts:2:6] - 1 │ //@target: ES6 - 2 │ for (var a: number = 1, b: string = "" of X) { + ╭─[conformance/parser/ecmascript6/Iterators/parserForOfStatement7.ts:1:6] + 1 │ for (var a: number = 1, b: string = "" of X) { · ───────────────────────────────── - 3 │ } + 2 │ } ╰──── × Expected `,` but found `?` - ╭─[conformance/parser/ecmascript6/ShorthandPropertyAssignment/parserShorthandPropertyAssignment1.ts:4:11] - 3 │ var name:any, id: any; - 4 │ foo({ name?, id? }); + ╭─[conformance/parser/ecmascript6/ShorthandPropertyAssignment/parserShorthandPropertyAssignment1.ts:3:11] + 2 │ var name:any, id: any; + 3 │ foo({ name?, id? }); · ┬ · ╰── `,` expected ╰──── @@ -18502,183 +18341,181 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected `]` but found `:` - ╭─[conformance/parser/ecmascript6/Symbols/parserSymbolIndexer5.ts:3:7] - 2 │ var x = { - 3 │ [s: symbol]: "" + ╭─[conformance/parser/ecmascript6/Symbols/parserSymbolIndexer5.ts:2:7] + 1 │ var x = { + 2 │ [s: symbol]: "" · ┬ · ╰── `]` expected - 4 │ } + 3 │ } ╰──── × Constructor can't have get/set modifier - ╭─[conformance/salsa/constructorNameInAccessor.ts:3:9] - 2 │ class C1 { - 3 │ get constructor() { return } + ╭─[conformance/salsa/constructorNameInAccessor.ts:2:9] + 1 │ class C1 { + 2 │ get constructor() { return } · ─────────── - 4 │ set constructor(value) {} + 3 │ set constructor(value) {} ╰──── × Constructor can't have get/set modifier - ╭─[conformance/salsa/constructorNameInAccessor.ts:4:9] - 3 │ get constructor() { return } - 4 │ set constructor(value) {} + ╭─[conformance/salsa/constructorNameInAccessor.ts:3:9] + 2 │ get constructor() { return } + 3 │ set constructor(value) {} · ─────────── - 5 │ } + 4 │ } ╰──── × Multiple constructor implementations are not allowed. - ╭─[conformance/salsa/constructorNameInAccessor.ts:3:9] - 2 │ class C1 { - 3 │ get constructor() { return } + ╭─[conformance/salsa/constructorNameInAccessor.ts:2:9] + 1 │ class C1 { + 2 │ get constructor() { return } · ─────┬───── · ╰── constructor has already been declared here - 4 │ set constructor(value) {} + 3 │ set constructor(value) {} · ─────┬───── · ╰── it cannot be redeclared here - 5 │ } + 4 │ } ╰──── × Constructor can't be a generator - ╭─[conformance/salsa/constructorNameInGenerator.ts:3:6] - 2 │ class C2 { - 3 │ *constructor() {} + ╭─[conformance/salsa/constructorNameInGenerator.ts:2:6] + 1 │ class C2 { + 2 │ *constructor() {} · ─────────── - 4 │ } + 3 │ } ╰──── × Cannot use `await` as an identifier in an async context - ╭─[conformance/salsa/plainJSBinderErrors.ts:10:11] - 9 │ async function f() { - 10 │ const await = 3 - · ───── - 11 │ } - ╰──── + ╭─[conformance/salsa/plainJSBinderErrors.ts:6:11] + 5 │ async function f() { + 6 │ const await = 3 + · ───── + 7 │ } + ╰──── × Cannot use `yield` as an identifier in a generator context - ╭─[conformance/salsa/plainJSBinderErrors.ts:13:11] - 12 │ function* g() { - 13 │ const yield = 4 + ╭─[conformance/salsa/plainJSBinderErrors.ts:9:11] + 8 │ function* g() { + 9 │ const yield = 4 · ───── - 14 │ } + 10 │ } ╰──── × Classes can't have an element named '#constructor' - ╭─[conformance/salsa/plainJSBinderErrors.ts:16:5] - 15 │ class C { - 16 │ #constructor = 5 + ╭─[conformance/salsa/plainJSBinderErrors.ts:12:5] + 11 │ class C { + 12 │ #constructor = 5 · ──────────── - 17 │ deleted() { + 13 │ deleted() { ╰──── × Delete of an unqualified identifier in strict mode. - ╭─[conformance/salsa/plainJSBinderErrors.ts:19:20] - 18 │ function container(f) { - 19 │ delete f + ╭─[conformance/salsa/plainJSBinderErrors.ts:15:20] + 14 │ function container(f) { + 15 │ delete f · ─ - 20 │ } + 16 │ } ╰──── × Delete of an unqualified identifier in strict mode. - ╭─[conformance/salsa/plainJSBinderErrors.ts:22:16] - 21 │ var g = 6 - 22 │ delete g + ╭─[conformance/salsa/plainJSBinderErrors.ts:18:16] + 17 │ var g = 6 + 18 │ delete g · ─ - 23 │ delete container + 19 │ delete container ╰──── × Delete of an unqualified identifier in strict mode. - ╭─[conformance/salsa/plainJSBinderErrors.ts:23:16] - 22 │ delete g - 23 │ delete container + ╭─[conformance/salsa/plainJSBinderErrors.ts:19:16] + 18 │ delete g + 19 │ delete container · ───────── - 24 │ } + 20 │ } ╰──── × Cannot assign to 'eval' in strict mode - ╭─[conformance/salsa/plainJSBinderErrors.ts:26:15] - 25 │ evalArguments() { - 26 │ const eval = 7 + ╭─[conformance/salsa/plainJSBinderErrors.ts:22:15] + 21 │ evalArguments() { + 22 │ const eval = 7 · ──── - 27 │ const arguments = 8 + 23 │ const arguments = 8 ╰──── × Cannot assign to 'arguments' in strict mode - ╭─[conformance/salsa/plainJSBinderErrors.ts:27:15] - 26 │ const eval = 7 - 27 │ const arguments = 8 + ╭─[conformance/salsa/plainJSBinderErrors.ts:23:15] + 22 │ const eval = 7 + 23 │ const arguments = 8 · ───────── - 28 │ } + 24 │ } ╰──── × 'with' statements are not allowed - ╭─[conformance/salsa/plainJSBinderErrors.ts:31:9] - 30 │ const redundant = 0o10 - 31 │ with (redundant) { + ╭─[conformance/salsa/plainJSBinderErrors.ts:27:9] + 26 │ const redundant = 0o10 + 27 │ with (redundant) { · ──── - 32 │ return toFixed() + 28 │ return toFixed() ╰──── × Use of undefined label - ╭─[conformance/salsa/plainJSBinderErrors.ts:38:19] - 37 │ label: var x = 1 - 38 │ break label + ╭─[conformance/salsa/plainJSBinderErrors.ts:34:19] + 33 │ label: var x = 1 + 34 │ break label · ───── - 39 │ } + 35 │ } ╰──── × Expected `in` but found `Identifier` - ╭─[conformance/salsa/plainJSGrammarErrors.ts:9:5] - 8 │ q = #unbound - 9 │ m() { - · ┬ - · ╰── `in` expected - 10 │ #p - ╰──── + ╭─[conformance/salsa/plainJSGrammarErrors.ts:4:5] + 3 │ q = #unbound + 4 │ m() { + · ┬ + · ╰── `in` expected + 5 │ #p + ╰──── × Private field 'b' must be declared in an enclosing class - ╭─[conformance/salsa/plainJSGrammarErrors4.ts:10:14] - 9 │ this.#a; // ok - 10 │ this.#b; // error - · ── - 11 │ } - ╰──── + ╭─[conformance/salsa/plainJSGrammarErrors4.ts:5:14] + 4 │ this.#a; // ok + 5 │ this.#b; // error + · ── + 6 │ } + ╰──── × Identifier `orbitol` has already been declared - ╭─[conformance/salsa/plainJSRedeclare.ts:4:7] - 3 │ // @filename: plainJSRedeclare.js - 4 │ const orbitol = 1 + ╭─[conformance/salsa/plainJSRedeclare.ts:1:7] + 1 │ const orbitol = 1 · ───┬─── · ╰── `orbitol` has already been declared here - 5 │ var orbitol = 1 + false + 2 │ var orbitol = 1 + false · ───┬─── · ╰── It can not be redeclared here - 6 │ orbitol.toExponential() + 3 │ orbitol.toExponential() ╰──── × Identifier `orbitol` has already been declared - ╭─[conformance/salsa/plainJSRedeclare2.ts:5:7] - 4 │ // @filename: plainJSRedeclare.js - 5 │ const orbitol = 1 + ╭─[conformance/salsa/plainJSRedeclare2.ts:1:7] + 1 │ const orbitol = 1 · ───┬─── · ╰── `orbitol` has already been declared here - 6 │ var orbitol = 1 + false + 2 │ var orbitol = 1 + false · ───┬─── · ╰── It can not be redeclared here - 7 │ orbitol.toExponential() + 3 │ orbitol.toExponential() ╰──── × Cannot assign to 'eval' in strict mode - ╭─[conformance/salsa/plainJSReservedStrict.ts:6:7] - 5 │ "use strict" - 6 │ const eval = 1 + ╭─[conformance/salsa/plainJSReservedStrict.ts:2:7] + 1 │ "use strict" + 2 │ const eval = 1 · ──── - 7 │ const arguments = 2 + 3 │ const arguments = 2 ╰──── × Cannot assign to 'arguments' in strict mode - ╭─[conformance/salsa/plainJSReservedStrict.ts:7:7] - 6 │ const eval = 1 - 7 │ const arguments = 2 + ╭─[conformance/salsa/plainJSReservedStrict.ts:3:7] + 2 │ const eval = 1 + 3 │ const arguments = 2 · ───────── ╰──── @@ -18719,44 +18556,39 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/scanner/ecmascript5/scannerNumericLiteral3.ts:2:3] - 1 │ // @target: ES5 - 2 │ 01.0 + ╭─[conformance/scanner/ecmascript5/scannerNumericLiteral3.ts:1:3] + 1 │ 01.0 · ▲ ╰──── help: Try insert a semicolon here × Unexpected end of file - ╭─[conformance/scanner/ecmascript5/scannerNumericLiteral4.ts:2:3] - 1 │ // @target: ES5 - 2 │ 1e + ╭─[conformance/scanner/ecmascript5/scannerNumericLiteral4.ts:1:3] + 1 │ 1e ╰──── × Invalid Number invalid float - ╭─[conformance/scanner/ecmascript5/scannerNumericLiteral4.ts:2:1] - 1 │ // @target: ES5 - 2 │ 1e + ╭─[conformance/scanner/ecmascript5/scannerNumericLiteral4.ts:1:1] + 1 │ 1e · ── ╰──── × Unexpected end of file - ╭─[conformance/scanner/ecmascript5/scannerNumericLiteral6.ts:2:4] - 1 │ // @target: ES5 - 2 │ 1e+ + ╭─[conformance/scanner/ecmascript5/scannerNumericLiteral6.ts:1:4] + 1 │ 1e+ ╰──── × Invalid Number invalid float - ╭─[conformance/scanner/ecmascript5/scannerNumericLiteral6.ts:2:1] - 1 │ // @target: ES5 - 2 │ 1e+ + ╭─[conformance/scanner/ecmascript5/scannerNumericLiteral6.ts:1:1] + 1 │ 1e+ · ─── ╰──── × Unterminated multiline comment ╭─[conformance/scanner/ecmascript5/scannerS7.4_A2_T2.ts:12:1] - 11 │ - 12 │ ╭─▶ /*CHECK#1/ - 13 │ ╰─▶ + 11 │ + 12 │ /*CHECK#1/ + · ─────────── ╰──── × Invalid Character ` @@ -18765,7 +18597,6 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" 12 │ //CHECK#1 13 │ 0x · ▲ - 14 │ ╰──── × Invalid escape sequence @@ -18773,7 +18604,6 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" 12 │ //CHECK# 13 │ "\u000G" · ───── - 14 │ ╰──── × Unterminated string @@ -18804,265 +18634,260 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarations.11.ts:6:8] - 5 │ - 6 │ export await using x = null; + ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarations.11.ts:1:8] + 1 │ export await using x = null; · ───── - 7 │ declare await using y: null; + 2 │ declare await using y: null; ╰──── × Cannot assign to this expression - ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarations.4.ts:7:5] - 6 │ { - 7 │ await using [a] = null; + ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarations.4.ts:2:5] + 1 │ { + 2 │ await using [a] = null; · ─────────────── - 8 │ } + 3 │ } ╰──── × Using declarations may not have binding patterns. - ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarations.5.ts:8:17] - 7 │ await using a = null, - 8 │ [b] = null, + ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarations.5.ts:3:17] + 2 │ await using a = null, + 3 │ [b] = null, · ─── - 9 │ c = null; + 4 │ c = null; ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarations.6.ts:7:16] - 6 │ { - 7 │ await using {a} = null; + ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarations.6.ts:2:16] + 1 │ { + 2 │ await using {a} = null; · ─ - 8 │ } + 3 │ } ╰──── help: Try insert a semicolon here × Using declarations may not have binding patterns. - ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarations.7.ts:8:17] - 7 │ await using a = null, - 8 │ {b} = null, + ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarations.7.ts:3:17] + 2 │ await using a = null, + 3 │ {b} = null, · ─── - 9 │ c = null; + 4 │ c = null; ╰──── × Using declarations must have an initializer. - ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarations.8.ts:7:17] - 6 │ { - 7 │ await using a; + ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarations.8.ts:2:17] + 1 │ { + 2 │ await using a; · ─ - 8 │ } + 3 │ } ╰──── × The left-hand side of a for...in statement cannot be an await using declaration. - ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsInForIn.ts:7:10] - 6 │ async function main() { - 7 │ for (await using x in {}) { + ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsInForIn.ts:2:10] + 1 │ async function main() { + 2 │ for (await using x in {}) { · ───────────── - 8 │ } + 3 │ } ╰──── × Missing initializer in destructuring declaration - ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsInForOf.3.ts:7:22] - 6 │ async function main() { - 7 │ for (await using {} of []) { + ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsInForOf.3.ts:2:22] + 1 │ async function main() { + 2 │ for (await using {} of []) { · ── - 8 │ } + 3 │ } ╰──── × Using declarations may not have binding patterns. - ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsInForOf.3.ts:7:22] - 6 │ async function main() { - 7 │ for (await using {} of []) { + ╭─[conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsInForOf.3.ts:2:22] + 1 │ async function main() { + 2 │ for (await using {} of []) { · ── - 8 │ } + 3 │ } ╰──── × Unexpected token - ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarations.13.ts:6:8] - 5 │ - 6 │ export using x = null; + ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarations.13.ts:1:8] + 1 │ export using x = null; · ───── - 7 │ declare using y: null; + 2 │ declare using y: null; ╰──── × Using declarations may not have binding patterns. - ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarations.5.ts:8:11] - 7 │ using a = null, - 8 │ [b] = null, + ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarations.5.ts:3:11] + 2 │ using a = null, + 3 │ [b] = null, · ─── - 9 │ c = null; + 4 │ c = null; ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarations.6.ts:7:10] - 6 │ { - 7 │ using {a} = null; + ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarations.6.ts:2:10] + 1 │ { + 2 │ using {a} = null; · ─ - 8 │ } + 3 │ } ╰──── help: Try insert a semicolon here × Using declarations may not have binding patterns. - ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarations.7.ts:8:11] - 7 │ using a = null, - 8 │ {b} = null, + ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarations.7.ts:3:11] + 2 │ using a = null, + 3 │ {b} = null, · ─── - 9 │ c = null; + 4 │ c = null; ╰──── × Using declarations must have an initializer. - ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarations.8.ts:7:11] - 6 │ { - 7 │ using a; + ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarations.8.ts:2:11] + 1 │ { + 2 │ using a; · ─ - 8 │ } + 3 │ } ╰──── × The left-hand side of a for...in statement cannot be an using declaration. - ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarationsInForIn.ts:6:6] - 5 │ - 6 │ for (using x in {}) { + ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarationsInForIn.ts:1:6] + 1 │ for (using x in {}) { · ─────── - 7 │ } + 2 │ } ╰──── × Unexpected token - ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarationsInForOf.2.ts:6:19] - 5 │ - 6 │ for (using of of []) { + ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarationsInForOf.2.ts:1:19] + 1 │ for (using of of []) { · ─ - 7 │ } + 2 │ } ╰──── × Expected `;` but found `{` - ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarationsInForOf.3.ts:6:12] - 5 │ - 6 │ for (using {} of []) { + ╭─[conformance/statements/VariableStatements/usingDeclarations/usingDeclarationsInForOf.3.ts:1:12] + 1 │ for (using {} of []) { · ┬ · ╰── `;` expected - 7 │ } + 2 │ } ╰──── × Illegal break statement - ╭─[conformance/statements/breakStatements/invalidDoWhileBreakStatements.ts:7:1] - 6 │ // naked break not allowed - 7 │ break; + ╭─[conformance/statements/breakStatements/invalidDoWhileBreakStatements.ts:4:1] + 3 │ // naked break not allowed + 4 │ break; · ────── - 8 │ + 5 │ ╰──── help: A `break` statement can only be used within an enclosing iteration or switch statement. × Use of undefined label - ╭─[conformance/statements/breakStatements/invalidDoWhileBreakStatements.ts:11:10] - 10 │ ONE: - 11 │ do break TWO; while (true) - · ─── - 12 │ - ╰──── + ╭─[conformance/statements/breakStatements/invalidDoWhileBreakStatements.ts:8:10] + 7 │ ONE: + 8 │ do break TWO; while (true) + · ─── + 9 │ + ╰──── × Jump target cannot cross function boundary. - ╭─[conformance/statements/breakStatements/invalidDoWhileBreakStatements.ts:24:15] - 23 │ var fn = function () { - 24 │ break THREE; + ╭─[conformance/statements/breakStatements/invalidDoWhileBreakStatements.ts:21:15] + 20 │ var fn = function () { + 21 │ break THREE; · ───── - 25 │ } + 22 │ } ╰──── × Use of undefined label - ╭─[conformance/statements/breakStatements/invalidDoWhileBreakStatements.ts:30:11] - 29 │ do { - 30 │ break FIVE; + ╭─[conformance/statements/breakStatements/invalidDoWhileBreakStatements.ts:27:11] + 26 │ do { + 27 │ break FIVE; · ──── - 31 │ FIVE: + 28 │ FIVE: ╰──── × Use of undefined label - ╭─[conformance/statements/breakStatements/invalidDoWhileBreakStatements.ts:40:11] - 39 │ do { - 40 │ break NINE; + ╭─[conformance/statements/breakStatements/invalidDoWhileBreakStatements.ts:37:11] + 36 │ do { + 37 │ break NINE; · ──── - 41 │ }while (true) + 38 │ }while (true) ╰──── × Illegal break statement - ╭─[conformance/statements/breakStatements/invalidForBreakStatements.ts:7:1] - 6 │ // naked break not allowed - 7 │ break; + ╭─[conformance/statements/breakStatements/invalidForBreakStatements.ts:4:1] + 3 │ // naked break not allowed + 4 │ break; · ────── - 8 │ + 5 │ ╰──── help: A `break` statement can only be used within an enclosing iteration or switch statement. × Use of undefined label - ╭─[conformance/statements/breakStatements/invalidForBreakStatements.ts:11:15] - 10 │ ONE: - 11 │ for(;;) break TWO; - · ─── - 12 │ - ╰──── + ╭─[conformance/statements/breakStatements/invalidForBreakStatements.ts:8:15] + 7 │ ONE: + 8 │ for(;;) break TWO; + · ─── + 9 │ + ╰──── × Jump target cannot cross function boundary. - ╭─[conformance/statements/breakStatements/invalidForBreakStatements.ts:24:15] - 23 │ var fn = function () { - 24 │ break THREE; + ╭─[conformance/statements/breakStatements/invalidForBreakStatements.ts:21:15] + 20 │ var fn = function () { + 21 │ break THREE; · ───── - 25 │ } + 22 │ } ╰──── × Use of undefined label - ╭─[conformance/statements/breakStatements/invalidForBreakStatements.ts:30:11] - 29 │ for(;;) { - 30 │ break FIVE; + ╭─[conformance/statements/breakStatements/invalidForBreakStatements.ts:27:11] + 26 │ for(;;) { + 27 │ break FIVE; · ──── - 31 │ FIVE: + 28 │ FIVE: ╰──── × Use of undefined label - ╭─[conformance/statements/breakStatements/invalidForBreakStatements.ts:39:11] - 38 │ for(;;) { - 39 │ break NINE; + ╭─[conformance/statements/breakStatements/invalidForBreakStatements.ts:36:11] + 35 │ for(;;) { + 36 │ break NINE; · ──── - 40 │ } + 37 │ } ╰──── × Illegal break statement - ╭─[conformance/statements/breakStatements/invalidForInBreakStatements.ts:7:1] - 6 │ // naked break not allowed - 7 │ break; + ╭─[conformance/statements/breakStatements/invalidForInBreakStatements.ts:4:1] + 3 │ // naked break not allowed + 4 │ break; · ────── - 8 │ + 5 │ ╰──── help: A `break` statement can only be used within an enclosing iteration or switch statement. × Use of undefined label - ╭─[conformance/statements/breakStatements/invalidForInBreakStatements.ts:11:25] - 10 │ ONE: - 11 │ for (var x in {}) break TWO; - · ─── - 12 │ - ╰──── + ╭─[conformance/statements/breakStatements/invalidForInBreakStatements.ts:8:25] + 7 │ ONE: + 8 │ for (var x in {}) break TWO; + · ─── + 9 │ + ╰──── × Jump target cannot cross function boundary. - ╭─[conformance/statements/breakStatements/invalidForInBreakStatements.ts:24:15] - 23 │ var fn = function () { - 24 │ break THREE; + ╭─[conformance/statements/breakStatements/invalidForInBreakStatements.ts:21:15] + 20 │ var fn = function () { + 21 │ break THREE; · ───── - 25 │ } + 22 │ } ╰──── × Use of undefined label - ╭─[conformance/statements/breakStatements/invalidForInBreakStatements.ts:30:11] - 29 │ for (var x in {}) { - 30 │ break FIVE; + ╭─[conformance/statements/breakStatements/invalidForInBreakStatements.ts:27:11] + 26 │ for (var x in {}) { + 27 │ break FIVE; · ──── - 31 │ FIVE: + 28 │ FIVE: ╰──── × Use of undefined label - ╭─[conformance/statements/breakStatements/invalidForInBreakStatements.ts:40:11] - 39 │ for (var x in {}) { - 40 │ break NINE; + ╭─[conformance/statements/breakStatements/invalidForInBreakStatements.ts:37:11] + 36 │ for (var x in {}) { + 37 │ break NINE; · ──── - 41 │ } + 38 │ } ╰──── × Illegal break statement @@ -19107,126 +18932,126 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Illegal continue statement: no surrounding iteration statement - ╭─[conformance/statements/continueStatements/invalidDoWhileContinueStatements.ts:7:1] - 6 │ // naked continue not allowed - 7 │ continue; + ╭─[conformance/statements/continueStatements/invalidDoWhileContinueStatements.ts:4:1] + 3 │ // naked continue not allowed + 4 │ continue; · ───────── - 8 │ + 5 │ ╰──── help: A `continue` statement can only be used within an enclosing `for`, `while` or `do while` × Use of undefined label - ╭─[conformance/statements/continueStatements/invalidDoWhileContinueStatements.ts:11:13] - 10 │ ONE: - 11 │ do continue TWO; while (true) - · ─── - 12 │ - ╰──── + ╭─[conformance/statements/continueStatements/invalidDoWhileContinueStatements.ts:8:13] + 7 │ ONE: + 8 │ do continue TWO; while (true) + · ─── + 9 │ + ╰──── × Jump target cannot cross function boundary. - ╭─[conformance/statements/continueStatements/invalidDoWhileContinueStatements.ts:24:18] - 23 │ var fn = function () { - 24 │ continue THREE; + ╭─[conformance/statements/continueStatements/invalidDoWhileContinueStatements.ts:21:18] + 20 │ var fn = function () { + 21 │ continue THREE; · ───── - 25 │ } + 22 │ } ╰──── × Use of undefined label - ╭─[conformance/statements/continueStatements/invalidDoWhileContinueStatements.ts:30:14] - 29 │ do { - 30 │ continue FIVE; + ╭─[conformance/statements/continueStatements/invalidDoWhileContinueStatements.ts:27:14] + 26 │ do { + 27 │ continue FIVE; · ──── - 31 │ FIVE: + 28 │ FIVE: ╰──── × Use of undefined label - ╭─[conformance/statements/continueStatements/invalidDoWhileContinueStatements.ts:40:14] - 39 │ do { - 40 │ continue NINE; + ╭─[conformance/statements/continueStatements/invalidDoWhileContinueStatements.ts:37:14] + 36 │ do { + 37 │ continue NINE; · ──── - 41 │ }while (true) + 38 │ }while (true) ╰──── × Illegal continue statement: no surrounding iteration statement - ╭─[conformance/statements/continueStatements/invalidForContinueStatements.ts:7:1] - 6 │ // naked continue not allowed - 7 │ continue; + ╭─[conformance/statements/continueStatements/invalidForContinueStatements.ts:4:1] + 3 │ // naked continue not allowed + 4 │ continue; · ───────── - 8 │ + 5 │ ╰──── help: A `continue` statement can only be used within an enclosing `for`, `while` or `do while` × Use of undefined label - ╭─[conformance/statements/continueStatements/invalidForContinueStatements.ts:11:18] - 10 │ ONE: - 11 │ for(;;) continue TWO; - · ─── - 12 │ - ╰──── + ╭─[conformance/statements/continueStatements/invalidForContinueStatements.ts:8:18] + 7 │ ONE: + 8 │ for(;;) continue TWO; + · ─── + 9 │ + ╰──── × Jump target cannot cross function boundary. - ╭─[conformance/statements/continueStatements/invalidForContinueStatements.ts:24:18] - 23 │ var fn = function () { - 24 │ continue THREE; + ╭─[conformance/statements/continueStatements/invalidForContinueStatements.ts:21:18] + 20 │ var fn = function () { + 21 │ continue THREE; · ───── - 25 │ } + 22 │ } ╰──── × Use of undefined label - ╭─[conformance/statements/continueStatements/invalidForContinueStatements.ts:30:14] - 29 │ for(;;) { - 30 │ continue FIVE; + ╭─[conformance/statements/continueStatements/invalidForContinueStatements.ts:27:14] + 26 │ for(;;) { + 27 │ continue FIVE; · ──── - 31 │ FIVE: + 28 │ FIVE: ╰──── × Use of undefined label - ╭─[conformance/statements/continueStatements/invalidForContinueStatements.ts:39:14] - 38 │ for(;;) { - 39 │ continue NINE; + ╭─[conformance/statements/continueStatements/invalidForContinueStatements.ts:36:14] + 35 │ for(;;) { + 36 │ continue NINE; · ──── - 40 │ } + 37 │ } ╰──── × Illegal continue statement: no surrounding iteration statement - ╭─[conformance/statements/continueStatements/invalidForInContinueStatements.ts:7:1] - 6 │ // naked continue not allowed - 7 │ continue; + ╭─[conformance/statements/continueStatements/invalidForInContinueStatements.ts:4:1] + 3 │ // naked continue not allowed + 4 │ continue; · ───────── - 8 │ + 5 │ ╰──── help: A `continue` statement can only be used within an enclosing `for`, `while` or `do while` × Use of undefined label - ╭─[conformance/statements/continueStatements/invalidForInContinueStatements.ts:11:28] - 10 │ ONE: - 11 │ for (var x in {}) continue TWO; - · ─── - 12 │ - ╰──── + ╭─[conformance/statements/continueStatements/invalidForInContinueStatements.ts:8:28] + 7 │ ONE: + 8 │ for (var x in {}) continue TWO; + · ─── + 9 │ + ╰──── × Jump target cannot cross function boundary. - ╭─[conformance/statements/continueStatements/invalidForInContinueStatements.ts:24:18] - 23 │ var fn = function () { - 24 │ continue THREE; + ╭─[conformance/statements/continueStatements/invalidForInContinueStatements.ts:21:18] + 20 │ var fn = function () { + 21 │ continue THREE; · ───── - 25 │ } + 22 │ } ╰──── × Use of undefined label - ╭─[conformance/statements/continueStatements/invalidForInContinueStatements.ts:30:14] - 29 │ for (var x in {}) { - 30 │ continue FIVE; + ╭─[conformance/statements/continueStatements/invalidForInContinueStatements.ts:27:14] + 26 │ for (var x in {}) { + 27 │ continue FIVE; · ──── - 31 │ FIVE: + 28 │ FIVE: ╰──── × Use of undefined label - ╭─[conformance/statements/continueStatements/invalidForInContinueStatements.ts:40:14] - 39 │ for (var x in {}) { - 40 │ continue NINE; + ╭─[conformance/statements/continueStatements/invalidForInContinueStatements.ts:37:14] + 36 │ for (var x in {}) { + 37 │ continue NINE; · ──── - 41 │ } + 38 │ } ╰──── × Illegal continue statement: no surrounding iteration statement @@ -19239,44 +19064,44 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" help: A `continue` statement can only be used within an enclosing `for`, `while` or `do while` × Illegal continue statement: no surrounding iteration statement - ╭─[conformance/statements/continueStatements/invalidWhileContinueStatements.ts:7:1] - 6 │ // naked continue not allowed - 7 │ continue; + ╭─[conformance/statements/continueStatements/invalidWhileContinueStatements.ts:4:1] + 3 │ // naked continue not allowed + 4 │ continue; · ───────── - 8 │ + 5 │ ╰──── help: A `continue` statement can only be used within an enclosing `for`, `while` or `do while` × Use of undefined label - ╭─[conformance/statements/continueStatements/invalidWhileContinueStatements.ts:11:23] - 10 │ ONE: - 11 │ while (true) continue TWO; - · ─── - 12 │ - ╰──── + ╭─[conformance/statements/continueStatements/invalidWhileContinueStatements.ts:8:23] + 7 │ ONE: + 8 │ while (true) continue TWO; + · ─── + 9 │ + ╰──── × Jump target cannot cross function boundary. - ╭─[conformance/statements/continueStatements/invalidWhileContinueStatements.ts:24:18] - 23 │ var fn = function () { - 24 │ continue THREE; + ╭─[conformance/statements/continueStatements/invalidWhileContinueStatements.ts:21:18] + 20 │ var fn = function () { + 21 │ continue THREE; · ───── - 25 │ } + 22 │ } ╰──── × Use of undefined label - ╭─[conformance/statements/continueStatements/invalidWhileContinueStatements.ts:30:14] - 29 │ while (true) { - 30 │ continue FIVE; + ╭─[conformance/statements/continueStatements/invalidWhileContinueStatements.ts:27:14] + 26 │ while (true) { + 27 │ continue FIVE; · ──── - 31 │ FIVE: + 28 │ FIVE: ╰──── × Use of undefined label - ╭─[conformance/statements/continueStatements/invalidWhileContinueStatements.ts:40:14] - 39 │ while (true) { - 40 │ continue NINE; + ╭─[conformance/statements/continueStatements/invalidWhileContinueStatements.ts:37:14] + 36 │ while (true) { + 37 │ continue NINE; · ──── - 41 │ } + 38 │ } ╰──── × Unexpected token @@ -19294,113 +19119,112 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Generators can only be declared at the top level or inside a block - ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel.ts:4:8] - 3 │ label: function fn() { } - 4 │ label: function* gen() { } + ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel.ts:2:8] + 1 │ label: function fn() { } + 2 │ label: function* gen() { } · ─────────────── - 5 │ label: async function gen1() { } + 3 │ label: async function gen1() { } ╰──── × Async functions can only be declared at the top level or inside a block - ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel.ts:5:8] - 4 │ label: function* gen() { } - 5 │ label: async function gen1() { } + ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel.ts:3:8] + 2 │ label: function* gen() { } + 3 │ label: async function gen1() { } · ───────────────────── - 6 │ label: enum E {} + 4 │ label: enum E {} ╰──── × Invalid class declaration - ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel.ts:8:8] - 7 │ label: interface I {} - 8 │ label: class C { } + ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel.ts:6:8] + 5 │ label: interface I {} + 6 │ label: class C { } · ──────── - 9 │ label: var a = 1; + 7 │ label: var a = 1; ╰──── help: Classes can only be declared at top level or inside a block × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel.ts:10:11] - 9 │ label: var a = 1; - 10 │ label: let b = 1; - · ─ - 11 │ label: const c = 1; - ╰──── + ╭─[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 × Generators can only be declared at the top level or inside a block - ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_es2015.ts:4:8] - 3 │ label: function fn() { } - 4 │ label: function* gen() { } + ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_es2015.ts:2:8] + 1 │ label: function fn() { } + 2 │ label: function* gen() { } · ─────────────── - 5 │ label: async function gen1() { } + 3 │ label: async function gen1() { } ╰──── × Async functions can only be declared at the top level or inside a block - ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_es2015.ts:5:8] - 4 │ label: function* gen() { } - 5 │ label: async function gen1() { } + ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_es2015.ts:3:8] + 2 │ label: function* gen() { } + 3 │ label: async function gen1() { } · ───────────────────── - 6 │ label: enum E {} + 4 │ label: enum E {} ╰──── × Invalid class declaration - ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_es2015.ts:8:8] - 7 │ label: interface I {} - 8 │ label: class C { } + ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_es2015.ts:6:8] + 5 │ label: interface I {} + 6 │ label: class C { } · ──────── - 9 │ label: var a = 1; + 7 │ label: var a = 1; ╰──── help: Classes can only be declared at top level or inside a block × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_es2015.ts:10:11] - 9 │ label: var a = 1; - 10 │ label: let b = 1; - · ─ - 11 │ label: const c = 1; - ╰──── + ╭─[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 × Generators can only be declared at the top level or inside a block - ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_strict.ts:4:8] - 3 │ label: function fn() { } - 4 │ label: function* gen() { } + ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_strict.ts:3:8] + 2 │ label: function fn() { } + 3 │ label: function* gen() { } · ─────────────── - 5 │ label: async function gen1() { } + 4 │ label: async function gen1() { } ╰──── × Async functions can only be declared at the top level or inside a block - ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_strict.ts:5:8] - 4 │ label: function* gen() { } - 5 │ label: async function gen1() { } + ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_strict.ts:4:8] + 3 │ label: function* gen() { } + 4 │ label: async function gen1() { } · ───────────────────── - 6 │ label: enum E {} + 5 │ label: enum E {} ╰──── × Invalid class declaration - ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_strict.ts:8:8] - 7 │ label: interface I {} - 8 │ label: class C { } + ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_strict.ts:7:8] + 6 │ label: interface I {} + 7 │ label: class C { } · ──────── - 9 │ label: var a = 1; + 8 │ label: var a = 1; ╰──── help: Classes can only be declared at top level or inside a block × Expected a semicolon or an implicit semicolon after a statement, but found none - ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_strict.ts:10:11] - 9 │ label: var a = 1; - 10 │ label: let b = 1; + ╭─[conformance/statements/labeledStatements/labeledStatementWithLabel_strict.ts:9:11] + 8 │ label: var a = 1; + 9 │ label: let b = 1; · ─ - 11 │ label: const c = 1; + 10 │ label: const c = 1; ╰──── help: Try insert a semicolon here × Unexpected token - ╭─[conformance/statements/throwStatements/invalidThrowStatement.ts:3:6] - 2 │ - 3 │ throw; + ╭─[conformance/statements/throwStatements/invalidThrowStatement.ts:1:6] + 1 │ throw; · ─ - 4 │ + 2 │ ╰──── × Identifier `x` has already been declared @@ -19438,12 +19262,12 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Expected `}` but found `Identifier` - ╭─[conformance/types/mapped/mappedTypeProperties.ts:10:5] - 9 │ [placeType in PlaceType]: void; - 10 │ model: 'hour' | 'day' + ╭─[conformance/types/mapped/mappedTypeProperties.ts:9:5] + 8 │ [placeType in PlaceType]: void; + 9 │ model: 'hour' | 'day' · ──┬── · ╰── `}` expected - 11 │ } + 10 │ } ╰──── × Identifier `foo` has already been declared @@ -20420,25 +20244,25 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × A rest element must be last in a destructuring pattern - ╭─[conformance/types/rest/objectRestNegative.ts:3:7] - 2 │ let o = { a: 1, b: 'no' }; - 3 │ var { ...mustBeLast, a } = o; + ╭─[conformance/types/rest/objectRestNegative.ts:2:7] + 1 │ let o = { a: 1, b: 'no' }; + 2 │ var { ...mustBeLast, a } = o; · ───────────── - 4 │ + 3 │ ╰──── × A rest element must be last in a destructuring pattern - ╭─[conformance/types/rest/objectRestNegative.ts:10:28] - 9 │ - 10 │ function stillMustBeLast({ ...mustBeLast, a }: { a: number, b: string }): void { + ╭─[conformance/types/rest/objectRestNegative.ts:9:28] + 8 │ + 9 │ function stillMustBeLast({ ...mustBeLast, a }: { a: number, b: string }): void { · ───────────── - 11 │ } + 10 │ } ╰──── × Cannot assign to this expression - ╭─[conformance/types/rest/objectRestNegative.ts:18:9] - 17 │ let rest: { b: string } - 18 │ ({a, ...rest.b + rest.b} = o); + ╭─[conformance/types/rest/objectRestNegative.ts:17:9] + 16 │ let rest: { b: string } + 17 │ ({a, ...rest.b + rest.b} = o); · ─────────────── ╰──── @@ -20487,62 +20311,61 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[conformance/types/spread/objectSpreadNegativeParse.ts:2:18] - 1 │ // @lib: es5 - 2 │ let o7 = { ...o? }; + ╭─[conformance/types/spread/objectSpreadNegativeParse.ts:1:18] + 1 │ let o7 = { ...o? }; · ─ - 3 │ let o8 = { ...*o }; + 2 │ let o8 = { ...*o }; ╰──── × TS2681: A constructor cannot have a `this` parameter. - ╭─[conformance/types/thisType/thisTypeInFunctionsNegative.ts:160:17] - 159 │ class ThisConstructor { - 160 │ constructor(this: ThisConstructor, private n: number) { + ╭─[conformance/types/thisType/thisTypeInFunctionsNegative.ts:158:17] + 157 │ class ThisConstructor { + 158 │ constructor(this: ThisConstructor, private n: number) { · ───────────────────── - 161 │ } + 159 │ } ╰──── × TS2681: A constructor cannot have a `this` parameter. - ╭─[conformance/types/thisType/thisTypeInFunctionsNegative.ts:164:9] - 163 │ interface ThisConstructorInterface { - 164 │ new(this: ThisConstructor, n: number); + ╭─[conformance/types/thisType/thisTypeInFunctionsNegative.ts:162:9] + 161 │ interface ThisConstructorInterface { + 162 │ new(this: ThisConstructor, n: number); · ───────────────────── - 165 │ } + 163 │ } ╰──── × TS2681: A constructor cannot have a `this` parameter. - ╭─[conformance/types/thisType/thisTypeInFunctionsNegative.ts:166:31] - 165 │ } - 166 │ var thisConstructorType: new (this: number) => number; + ╭─[conformance/types/thisType/thisTypeInFunctionsNegative.ts:164:31] + 163 │ } + 164 │ var thisConstructorType: new (this: number) => number; · ──────────── - 167 │ function notFirst(a: number, this: C): number { return this.n; } + 165 │ function notFirst(a: number, this: C): number { return this.n; } ╰──── × Expected `,` but found `this` - ╭─[conformance/types/thisType/thisTypeInFunctionsNegative.ts:170:26] - 169 │ ///// parse errors ///// - 170 │ function modifiers(async this: C): number { return this.n; } + ╭─[conformance/types/thisType/thisTypeInFunctionsNegative.ts:168:26] + 167 │ ///// parse errors ///// + 168 │ function modifiers(async this: C): number { return this.n; } · ──┬─ · ╰── `,` expected - 171 │ function restParam(...this: C): number { return this.n; } + 169 │ function restParam(...this: C): number { return this.n; } ╰──── × Expected `,` but found `?` - ╭─[conformance/types/tuple/named/namedTupleMembersErrors.ts:12:35] - 11 │ - 12 │ export type Opt = [element: string?]; // question mark on element disallowed + ╭─[conformance/types/tuple/named/namedTupleMembersErrors.ts:10:35] + 9 │ + 10 │ export type Opt = [element: string?]; // question mark on element disallowed · ┬ · ╰── `,` expected - 13 │ + 11 │ ╰──── × Expected `,` but found `?` - ╭─[conformance/types/tuple/restTupleElements1.ts:13:22] - 12 │ type T08 = [...string]; // Error - 13 │ type T09 = [...string?]; // Error + ╭─[conformance/types/tuple/restTupleElements1.ts:10:22] + 9 │ type T08 = [...string]; // Error + 10 │ type T09 = [...string?]; // Error · ┬ · ╰── `,` expected - 14 │ type T10 = [string, ...[...string[]]]; + 11 │ type T10 = [string, ...[...string[]]]; ╰──── × Expected a semicolon or an implicit semicolon after a statement, but found none @@ -20577,26 +20400,25 @@ Expect to Parse: "conformance/salsa/plainJSRedeclare3.ts" ╰──── × Unexpected token - ╭─[conformance/types/typeParameters/typeArgumentLists/instantiationExpressionErrors.ts:21:29] - 20 │ - 21 │ const a8 = f; // Relational operator error + ╭─[conformance/types/typeParameters/typeArgumentLists/instantiationExpressionErrors.ts:18:29] + 17 │ + 18 │ const a8 = f; // Relational operator error · ─ - 22 │ const a9 = (f); // Error, no applicable signatures + 19 │ const a9 = (f); // Error, no applicable signatures ╰──── × Expected `,` but found `Identifier` - ╭─[conformance/types/typeParameters/typeParameterLists/varianceAnnotations.ts:98:17] - 97 │ - 98 │ type T20 = T; // Error + ╭─[conformance/types/typeParameters/typeParameterLists/varianceAnnotations.ts:95:17] + 94 │ + 95 │ type T20 = T; // Error · ┬ · ╰── `,` expected - 99 │ type T21 = T; // Error + 96 │ type T21 = T; // Error ╰──── × Unexpected token - ╭─[conformance/types/typeParameters/typeParameterLists/varianceAnnotationsWithCircularlyReferencesError.ts:4:12] - 3 │ - 4 │ type T1 = T1 // Error: circularly references + ╭─[conformance/types/typeParameters/typeParameterLists/varianceAnnotationsWithCircularlyReferencesError.ts:1:12] + 1 │ type T1 = T1 // Error: circularly references · ── - 5 │ type T2 = T2 // Error: circularly references + 2 │ type T2 = T2 // Error: circularly references ╰──── diff --git a/tasks/coverage/prettier_typescript.snap b/tasks/coverage/prettier_typescript.snap index b85a823f2820c..fdf5c63263b59 100644 --- a/tasks/coverage/prettier_typescript.snap +++ b/tasks/coverage/prettier_typescript.snap @@ -2,7 +2,7 @@ commit: 64d2eeea prettier_typescript Summary: AST Parsed : 5243/5243 (100.00%) -Positive Passed: 2434/5243 (46.42%) +Positive Passed: 2459/5243 (46.90%) Expect to Parse: "compiler/DeclarationErrorsNoEmitOnError.ts" Expect to Parse: "compiler/abstractInterfaceIdentifierName.ts" Expect to Parse: "compiler/abstractPropertyBasics.ts" @@ -189,6 +189,7 @@ Expect to Parse: "compiler/commentOnParameter1.ts" Expect to Parse: "compiler/commentOnParameter2.ts" Expect to Parse: "compiler/commentOnParameter3.ts" Expect to Parse: "compiler/commentOnParenthesizedExpressionOpenParen1.ts" +Expect to Parse: "compiler/commentsArgumentsOfCallExpression1.ts" Expect to Parse: "compiler/commentsCommentParsing.ts" Expect to Parse: "compiler/commentsDottedModuleName.ts" Expect to Parse: "compiler/commentsEnums.ts" @@ -200,6 +201,7 @@ Expect to Parse: "compiler/commentsModules.ts" Expect to Parse: "compiler/commentsMultiModuleSingleFile.ts" Expect to Parse: "compiler/commentsOnJSXExpressionsArePreserved.tsx" Expect to Parse: "compiler/commentsOnObjectLiteral3.ts" +Expect to Parse: "compiler/commentsOnPropertyOfObjectLiteral1.ts" Expect to Parse: "compiler/commentsOverloads.ts" Expect to Parse: "compiler/commentsTypeParameters.ts" Expect to Parse: "compiler/commentsVarDecl.ts" @@ -396,17 +398,12 @@ Expect to Parse: "compiler/declFileWithInternalModuleNameConflictsInExtendsClaus Expect to Parse: "compiler/declFileWithInternalModuleNameConflictsInExtendsClause2.ts" Expect to Parse: "compiler/declFileWithInternalModuleNameConflictsInExtendsClause3.ts" Expect to Parse: "compiler/declInput-2.ts" -Expect to Parse: "compiler/declInput.ts" -Expect to Parse: "compiler/declInput3.ts" Expect to Parse: "compiler/declInput4.ts" -Expect to Parse: "compiler/declarationEmitArrayTypesFromGenericArrayUsage.ts" Expect to Parse: "compiler/declarationEmitBindingPatternWithReservedWord.ts" Expect to Parse: "compiler/declarationEmitBindingPatternsFunctionExpr.ts" Expect to Parse: "compiler/declarationEmitClassMemberNameConflict.ts" Expect to Parse: "compiler/declarationEmitClassMemberNameConflict2.ts" Expect to Parse: "compiler/declarationEmitClassMixinLocalClassDeclaration.ts" -Expect to Parse: "compiler/declarationEmitClassPrivateConstructor.ts" -Expect to Parse: "compiler/declarationEmitClassPrivateConstructor2.ts" Expect to Parse: "compiler/declarationEmitDestructuring1.ts" Expect to Parse: "compiler/declarationEmitDestructuring5.ts" Expect to Parse: "compiler/declarationEmitDestructuringArrayPattern3.ts" @@ -483,10 +480,6 @@ Expect to Parse: "compiler/deeplyNestedConstraints.ts" Expect to Parse: "compiler/deeplyNestedTemplateLiteralIntersection.ts" Expect to Parse: "compiler/defaultDeclarationEmitNamedCorrectly.ts" Expect to Parse: "compiler/defaultDeclarationEmitShadowedNamedCorrectly.ts" -Expect to Parse: "compiler/defaultNamedExportWithType1.ts" -Expect to Parse: "compiler/defaultNamedExportWithType2.ts" -Expect to Parse: "compiler/defaultNamedExportWithType3.ts" -Expect to Parse: "compiler/defaultNamedExportWithType4.ts" Expect to Parse: "compiler/defaultParameterAddsUndefinedWithStrictNullChecks.ts" Expect to Parse: "compiler/deferredConditionalTypes.ts" Expect to Parse: "compiler/deferredConditionalTypes2.ts" @@ -910,7 +903,6 @@ Expect to Parse: "compiler/interfaceOnly.ts" Expect to Parse: "compiler/interfacePropertiesWithSameName1.ts" Expect to Parse: "compiler/interfaceSubtyping.ts" Expect to Parse: "compiler/interfaceWithCommaSeparators.ts" -Expect to Parse: "compiler/interfaceWithOptionalProperty.ts" Expect to Parse: "compiler/interfacedecl.ts" Expect to Parse: "compiler/internalAliasClass.ts" Expect to Parse: "compiler/internalAliasClassInsideLocalModuleWithExport.ts" @@ -1098,7 +1090,6 @@ Expect to Parse: "compiler/multiSignatureTypeInference.ts" Expect to Parse: "compiler/multipleInferenceContexts.ts" Expect to Parse: "compiler/mutuallyRecursiveGenericBaseTypes1.ts" Expect to Parse: "compiler/mutuallyRecursiveGenericBaseTypes2.ts" -Expect to Parse: "compiler/mutuallyRecursiveInterfaceDeclaration.ts" Expect to Parse: "compiler/nameCollisionWithBlockScopedVariable1.ts" Expect to Parse: "compiler/namedFunctionExpressionInModule.ts" Expect to Parse: "compiler/namespaces1.ts" @@ -1109,7 +1100,6 @@ Expect to Parse: "compiler/narrowByClauseExpressionInSwitchTrue1.ts" Expect to Parse: "compiler/narrowByClauseExpressionInSwitchTrue2.ts" Expect to Parse: "compiler/narrowByClauseExpressionInSwitchTrue4.ts" Expect to Parse: "compiler/narrowByClauseExpressionInSwitchTrue5.ts" -Expect to Parse: "compiler/narrowByClauseExpressionInSwitchTrue9.ts" Expect to Parse: "compiler/narrowByInstanceof.ts" Expect to Parse: "compiler/narrowByParenthesizedSwitchExpression.ts" Expect to Parse: "compiler/narrowCommaOperatorNestedWithinLHS.ts" @@ -1143,7 +1133,6 @@ Expect to Parse: "compiler/nestedLoops.ts" Expect to Parse: "compiler/nestedModulePrivateAccess.ts" Expect to Parse: "compiler/nestedSelf.ts" Expect to Parse: "compiler/nestedSuperCallEmit.ts" -Expect to Parse: "compiler/nestedThisContainer.ts" Expect to Parse: "compiler/nestedTypeVariableInfersLiteral.ts" Expect to Parse: "compiler/neverAsDiscriminantType.ts" Expect to Parse: "compiler/newArrays.ts" @@ -1284,7 +1273,6 @@ Expect to Parse: "compiler/promiseTest.ts" Expect to Parse: "compiler/promiseType.ts" Expect to Parse: "compiler/promiseTypeInference.ts" Expect to Parse: "compiler/promiseTypeStrictNull.ts" -Expect to Parse: "compiler/promiseVoidErrorCallback.ts" Expect to Parse: "compiler/promiseWithResolvers.ts" Expect to Parse: "compiler/promises.ts" Expect to Parse: "compiler/propagateNonInferrableType.ts" @@ -1433,7 +1421,6 @@ Expect to Parse: "compiler/specializedSignatureInInterface.ts" Expect to Parse: "compiler/specializedSignatureOverloadReturnTypeWithIndexers.ts" Expect to Parse: "compiler/spreadBooleanRespectsFreshness.ts" Expect to Parse: "compiler/spreadExpressionContextualType.ts" -Expect to Parse: "compiler/spreadIdenticalTypesRemoved.ts" Expect to Parse: "compiler/spreadIntersection.ts" Expect to Parse: "compiler/spreadIntersectionJsx.tsx" Expect to Parse: "compiler/spreadObjectPermutations.ts" @@ -1589,7 +1576,6 @@ Expect to Parse: "compiler/typePredicatesInUnion2.ts" Expect to Parse: "compiler/typePredicatesInUnion_noMatch.ts" Expect to Parse: "compiler/typePredicatesOptionalChaining1.ts" Expect to Parse: "compiler/typePredicatesOptionalChaining2.ts" -Expect to Parse: "compiler/typePredicatesOptionalChaining3.ts" Expect to Parse: "compiler/typeResolution.ts" Expect to Parse: "compiler/typeVariableConstraintIntersections.ts" Expect to Parse: "compiler/typeVariableTypeGuards.ts" @@ -1664,7 +1650,6 @@ Expect to Parse: "compiler/vueLikeDataAndPropsInference2.ts" Expect to Parse: "compiler/weakTypeAndPrimitiveNarrowing.ts" Expect to Parse: "compiler/wideningWithTopLevelTypeParameter.ts" Expect to Parse: "compiler/withExportDecl.ts" -Expect to Parse: "conformance/Symbols/ES5SymbolProperty1.ts" Expect to Parse: "conformance/Symbols/ES5SymbolProperty4.ts" Expect to Parse: "conformance/Symbols/ES5SymbolProperty5.ts" Expect to Parse: "conformance/Symbols/ES5SymbolProperty7.ts" @@ -1692,7 +1677,6 @@ Expect to Parse: "conformance/async/es2017/awaitCallExpression/awaitCallExpressi Expect to Parse: "conformance/async/es2017/awaitCallExpression/awaitCallExpression7_es2017.ts" Expect to Parse: "conformance/async/es2017/awaitCallExpression/awaitCallExpression8_es2017.ts" Expect to Parse: "conformance/async/es2017/awaitClassExpression_es2017.ts" -Expect to Parse: "conformance/async/es2017/awaitInheritedPromise_es2017.ts" Expect to Parse: "conformance/async/es5/asyncArrowFunction/asyncArrowFunction11_es5.ts" Expect to Parse: "conformance/async/es5/asyncAwaitNestedClasses_es5.ts" Expect to Parse: "conformance/async/es5/asyncAwait_es5.ts" @@ -1767,7 +1751,6 @@ Expect to Parse: "conformance/classes/mixinAbstractClassesReturnTypeInference.ts Expect to Parse: "conformance/classes/mixinClassesAnnotated.ts" Expect to Parse: "conformance/classes/mixinClassesAnonymous.ts" Expect to Parse: "conformance/classes/mixinClassesMembers.ts" -Expect to Parse: "conformance/classes/propertyMemberDeclarations/accessorsOverrideProperty5.ts" Expect to Parse: "conformance/classes/propertyMemberDeclarations/accessorsOverrideProperty8.ts" Expect to Parse: "conformance/classes/propertyMemberDeclarations/accessorsOverrideProperty9.ts" Expect to Parse: "conformance/classes/propertyMemberDeclarations/instanceMemberInitialization.ts" @@ -1815,7 +1798,6 @@ Expect to Parse: "conformance/controlFlow/typeGuardsNestedAssignments.ts" Expect to Parse: "conformance/controlFlow/typeGuardsTypeParameters.ts" Expect to Parse: "conformance/declarationEmit/classDoesNotDependOnPrivateMember.ts" Expect to Parse: "conformance/declarationEmit/declarationEmitWorkWithInlineComments.ts" -Expect to Parse: "conformance/declarationEmit/typePredicates/declarationEmitIdentifierPredicatesWithPrivateName01.ts" Expect to Parse: "conformance/declarationEmit/typePredicates/declarationEmitThisPredicates01.ts" Expect to Parse: "conformance/declarationEmit/typePredicates/declarationEmitThisPredicatesWithPrivateName01.ts" Expect to Parse: "conformance/decorators/1.0lib-noErrors.ts" @@ -1885,11 +1867,9 @@ Expect to Parse: "conformance/es6/Symbols/symbolProperty50.ts" Expect to Parse: "conformance/es6/Symbols/symbolProperty51.ts" Expect to Parse: "conformance/es6/Symbols/symbolProperty55.ts" Expect to Parse: "conformance/es6/Symbols/symbolProperty56.ts" -Expect to Parse: "conformance/es6/Symbols/symbolProperty58.ts" Expect to Parse: "conformance/es6/Symbols/symbolProperty60.ts" Expect to Parse: "conformance/es6/Symbols/symbolProperty61.ts" Expect to Parse: "conformance/es6/Symbols/symbolProperty8.ts" -Expect to Parse: "conformance/es6/Symbols/symbolType16.ts" Expect to Parse: "conformance/es6/Symbols/symbolType17.ts" Expect to Parse: "conformance/es6/Symbols/symbolType18.ts" Expect to Parse: "conformance/es6/Symbols/symbolType19.ts" @@ -1959,8 +1939,6 @@ Expect to Parse: "conformance/es6/destructuring/destructuringObjectBindingPatter Expect to Parse: "conformance/es6/destructuring/destructuringObjectBindingPatternAndAssignment7.ts" Expect to Parse: "conformance/es6/destructuring/destructuringObjectBindingPatternAndAssignment8.ts" Expect to Parse: "conformance/es6/destructuring/destructuringObjectBindingPatternAndAssignment9SiblingInitializer.ts" -Expect to Parse: "conformance/es6/destructuring/destructuringParameterDeclaration7ES5.ts" -Expect to Parse: "conformance/es6/destructuring/destructuringParameterDeclaration7ES5iterable.ts" Expect to Parse: "conformance/es6/destructuring/destructuringVariableDeclaration1ES5.ts" Expect to Parse: "conformance/es6/destructuring/destructuringVariableDeclaration1ES5iterable.ts" Expect to Parse: "conformance/es6/destructuring/destructuringVariableDeclaration1ES6.ts" @@ -2162,7 +2140,6 @@ Expect to Parse: "conformance/externalModules/globalAugmentationModuleResolution Expect to Parse: "conformance/externalModules/topLevelAwait.2.ts" Expect to Parse: "conformance/externalModules/verbatimModuleSyntaxConstEnum.ts" Expect to Parse: "conformance/functions/strictBindCallApply2.ts" -Expect to Parse: "conformance/generators/generatorReturnTypeIndirectReferenceToGlobalType.ts" Expect to Parse: "conformance/generators/generatorYieldContextualType.ts" Expect to Parse: "conformance/inferFromBindingPattern.ts" Expect to Parse: "conformance/interfaces/declarationMerging/genericAndNonGenericInterfaceWithTheSameName2.ts" @@ -2456,7 +2433,6 @@ Expect to Parse: "conformance/types/asyncGenerators/types.asyncGenerators.es2018 Expect to Parse: "conformance/types/conditional/inferTypes2.ts" Expect to Parse: "conformance/types/conditional/inferTypesWithExtends1.ts" Expect to Parse: "conformance/types/conditional/variance.ts" -Expect to Parse: "conformance/types/contextualTypes/asyncFunctions/contextuallyTypeAsyncFunctionAwaitOperand.ts" Expect to Parse: "conformance/types/contextualTypes/asyncFunctions/contextuallyTypeAsyncFunctionReturnType.ts" Expect to Parse: "conformance/types/contextualTypes/commaOperator/contextuallyTypeCommaOperator01.ts" Expect to Parse: "conformance/types/contextualTypes/logicalAnd/contextuallyTypeLogicalAnd01.ts" @@ -2695,7 +2671,6 @@ Expect to Parse: "conformance/types/typeRelationships/bestCommonType/heterogeneo Expect to Parse: "conformance/types/typeRelationships/comparable/equalityWithUnionTypes01.ts" Expect to Parse: "conformance/types/typeRelationships/comparable/equalityWithtNullishCoalescingAssignment.ts" Expect to Parse: "conformance/types/typeRelationships/comparable/independentPropertyVariance.ts" -Expect to Parse: "conformance/types/typeRelationships/comparable/optionalProperties01.ts" Expect to Parse: "conformance/types/typeRelationships/comparable/optionalProperties02.ts" Expect to Parse: "conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts" Expect to Parse: "conformance/types/typeRelationships/comparable/weakTypesAndLiterals01.ts" diff --git a/tasks/coverage/src/typescript.rs b/tasks/coverage/src/typescript.rs index fa65afc0ea41b..37811f4376d79 100644 --- a/tasks/coverage/src/typescript.rs +++ b/tasks/coverage/src/typescript.rs @@ -96,7 +96,15 @@ impl Case for TypeScriptCase { .with_module(is_module) .with_jsx(!compiler_options.jsx.is_empty()) .with_typescript_definition(compiler_options.declaration); - Self { path, code, source_type, result: TestResult::ToBeRun, meta } + Self { + path, + // FIXME: current skip multi-file test cases, if doesn't skip in the future, need to handle multi-file test cases + // Use meta.tests[0].content.clone() instead of code to get without meta options code + code: meta.tests[0].content.clone(), + source_type, + result: TestResult::ToBeRun, + meta, + } } fn code(&self) -> &str {