];
//// [deferredLookupTypeResolution2.js]
+// Repro from #17456
//// [deferredLookupTypeResolution2.d.ts]
diff --git a/testdata/baselines/reference/submodule/compiler/deferredLookupTypeResolution2.js.diff b/testdata/baselines/reference/submodule/compiler/deferredLookupTypeResolution2.js.diff
index 7401b3875d..437c24328f 100644
--- a/testdata/baselines/reference/submodule/compiler/deferredLookupTypeResolution2.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/deferredLookupTypeResolution2.js.diff
@@ -5,7 +5,5 @@
//// [deferredLookupTypeResolution2.js]
-"use strict";
--// Repro from #17456
+ // Repro from #17456
-
- //// [deferredLookupTypeResolution2.d.ts]
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/destructuringWithConstraint.js b/testdata/baselines/reference/submodule/compiler/destructuringWithConstraint.js
index 0d9113f0c0..dada973102 100644
--- a/testdata/baselines/reference/submodule/compiler/destructuringWithConstraint.js
+++ b/testdata/baselines/reference/submodule/compiler/destructuringWithConstraint.js
@@ -14,6 +14,7 @@ function foo(props: Readonly
) {
//// [destructuringWithConstraint.js]
+// Repro from #22823
function foo(props) {
let { foo = false } = props;
if (foo === true) { }
diff --git a/testdata/baselines/reference/submodule/compiler/destructuringWithConstraint.js.diff b/testdata/baselines/reference/submodule/compiler/destructuringWithConstraint.js.diff
index 7fc47b688a..6c6c57ce24 100644
--- a/testdata/baselines/reference/submodule/compiler/destructuringWithConstraint.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/destructuringWithConstraint.js.diff
@@ -5,7 +5,6 @@
//// [destructuringWithConstraint.js]
-"use strict";
--// Repro from #22823
+ // Repro from #22823
function foo(props) {
- let { foo = false } = props;
- if (foo === true) { }
\ No newline at end of file
+ let { foo = false } = props;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/discriminantPropertyInference.js b/testdata/baselines/reference/submodule/compiler/discriminantPropertyInference.js
index 86bcb2df27..404d7e797c 100644
--- a/testdata/baselines/reference/submodule/compiler/discriminantPropertyInference.js
+++ b/testdata/baselines/reference/submodule/compiler/discriminantPropertyInference.js
@@ -42,6 +42,7 @@ f({
//// [discriminantPropertyInference.js]
+// Repro from #41759
// simple inference
f({
disc: true,
diff --git a/testdata/baselines/reference/submodule/compiler/discriminantPropertyInference.js.diff b/testdata/baselines/reference/submodule/compiler/discriminantPropertyInference.js.diff
deleted file mode 100644
index 002fbe8bab..0000000000
--- a/testdata/baselines/reference/submodule/compiler/discriminantPropertyInference.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.discriminantPropertyInference.js
-+++ new.discriminantPropertyInference.js
-@@= skipped -41, +41 lines =@@
-
-
- //// [discriminantPropertyInference.js]
--// Repro from #41759
- // simple inference
- f({
- disc: true,
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/discriminantsAndNullOrUndefined.js b/testdata/baselines/reference/submodule/compiler/discriminantsAndNullOrUndefined.js
index e2bba7fed0..5dbe68cd7c 100644
--- a/testdata/baselines/reference/submodule/compiler/discriminantsAndNullOrUndefined.js
+++ b/testdata/baselines/reference/submodule/compiler/discriminantsAndNullOrUndefined.js
@@ -26,6 +26,7 @@ if (c !== undefined) {
}
//// [discriminantsAndNullOrUndefined.js]
+// Repro from #10228
function never(_) {
throw new Error();
}
diff --git a/testdata/baselines/reference/submodule/compiler/discriminantsAndNullOrUndefined.js.diff b/testdata/baselines/reference/submodule/compiler/discriminantsAndNullOrUndefined.js.diff
deleted file mode 100644
index 9d2a710e34..0000000000
--- a/testdata/baselines/reference/submodule/compiler/discriminantsAndNullOrUndefined.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.discriminantsAndNullOrUndefined.js
-+++ new.discriminantsAndNullOrUndefined.js
-@@= skipped -25, +25 lines =@@
- }
-
- //// [discriminantsAndNullOrUndefined.js]
--// Repro from #10228
- function never(_) {
- throw new Error();
- }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/discriminantsAndPrimitives.js b/testdata/baselines/reference/submodule/compiler/discriminantsAndPrimitives.js
index 0e7a9e50b6..db43dd7836 100644
--- a/testdata/baselines/reference/submodule/compiler/discriminantsAndPrimitives.js
+++ b/testdata/baselines/reference/submodule/compiler/discriminantsAndPrimitives.js
@@ -83,6 +83,7 @@ else {
//// [discriminantsAndPrimitives.js]
+// Repro from #10257 plus other tests
function f1(x) {
if (typeof x !== 'string') {
switch (x.kind) {
diff --git a/testdata/baselines/reference/submodule/compiler/discriminantsAndPrimitives.js.diff b/testdata/baselines/reference/submodule/compiler/discriminantsAndPrimitives.js.diff
deleted file mode 100644
index f9f7e9b017..0000000000
--- a/testdata/baselines/reference/submodule/compiler/discriminantsAndPrimitives.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.discriminantsAndPrimitives.js
-+++ new.discriminantsAndPrimitives.js
-@@= skipped -82, +82 lines =@@
-
-
- //// [discriminantsAndPrimitives.js]
--// Repro from #10257 plus other tests
- function f1(x) {
- if (typeof x !== 'string') {
- switch (x.kind) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/discriminantsAndTypePredicates.js b/testdata/baselines/reference/submodule/compiler/discriminantsAndTypePredicates.js
index 305b5a0a9f..123d88e4b6 100644
--- a/testdata/baselines/reference/submodule/compiler/discriminantsAndTypePredicates.js
+++ b/testdata/baselines/reference/submodule/compiler/discriminantsAndTypePredicates.js
@@ -34,6 +34,7 @@ function foo2(x: A | B): any {
}
//// [discriminantsAndTypePredicates.js]
+// Repro from #10145
function isA(x) { return x.type === 'A'; }
function isB(x) { return x.type === 'B'; }
function foo1(x) {
diff --git a/testdata/baselines/reference/submodule/compiler/discriminantsAndTypePredicates.js.diff b/testdata/baselines/reference/submodule/compiler/discriminantsAndTypePredicates.js.diff
deleted file mode 100644
index e2266b751b..0000000000
--- a/testdata/baselines/reference/submodule/compiler/discriminantsAndTypePredicates.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.discriminantsAndTypePredicates.js
-+++ new.discriminantsAndTypePredicates.js
-@@= skipped -33, +33 lines =@@
- }
-
- //// [discriminantsAndTypePredicates.js]
--// Repro from #10145
- function isA(x) { return x.type === 'A'; }
- function isB(x) { return x.type === 'B'; }
- function foo1(x) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/discriminatedUnionJsxElement.js b/testdata/baselines/reference/submodule/compiler/discriminatedUnionJsxElement.js
index 28b2bd20f1..3bcffa3516 100644
--- a/testdata/baselines/reference/submodule/compiler/discriminatedUnionJsxElement.js
+++ b/testdata/baselines/reference/submodule/compiler/discriminatedUnionJsxElement.js
@@ -25,6 +25,7 @@ function ListItem(_data: IListItemData) {
//// [discriminatedUnionJsxElement.jsx]
+// Repro from #46021
function Menu(data) {
var _a;
const listItemVariant = (_a = data.menuItemsVariant) !== null && _a !== void 0 ? _a : ListItemVariant.OneLine;
diff --git a/testdata/baselines/reference/submodule/compiler/discriminatedUnionJsxElement.js.diff b/testdata/baselines/reference/submodule/compiler/discriminatedUnionJsxElement.js.diff
index ad545cf227..761ad11f9c 100644
--- a/testdata/baselines/reference/submodule/compiler/discriminatedUnionJsxElement.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/discriminatedUnionJsxElement.js.diff
@@ -5,7 +5,6 @@
//// [discriminatedUnionJsxElement.jsx]
-"use strict";
--// Repro from #46021
+ // Repro from #46021
function Menu(data) {
- var _a;
- const listItemVariant = (_a = data.menuItemsVariant) !== null && _a !== void 0 ? _a : ListItemVariant.OneLine;
\ No newline at end of file
+ var _a;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans6.js b/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans6.js
index 67ad695067..6ba104adb8 100644
--- a/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans6.js
+++ b/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans6.js
@@ -23,5 +23,5 @@ export {};
//// [file2.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
///
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans6.js.diff b/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans6.js.diff
index ce53729873..76baf49462 100644
--- a/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans6.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans6.js.diff
@@ -7,6 +7,4 @@
-//// [file1.js]
//// [file2.js]
"use strict";
--///
- Object.defineProperty(exports, "__esModule", { value: true });
-+///
\ No newline at end of file
+ ///
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans7.js b/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans7.js
index 634eac5395..5ca112f999 100644
--- a/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans7.js
+++ b/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans7.js
@@ -35,5 +35,5 @@ export {};
//// [file2.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
///
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans7.js.diff b/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans7.js.diff
index 9009fe87ce..a3b62bf462 100644
--- a/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans7.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/duplicateIdentifierRelatedSpans7.js.diff
@@ -7,6 +7,4 @@
-//// [file1.js]
//// [file2.js]
"use strict";
--///
- Object.defineProperty(exports, "__esModule", { value: true });
-+///
\ No newline at end of file
+ ///
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/duplicateLocalVariable1.js b/testdata/baselines/reference/submodule/compiler/duplicateLocalVariable1.js
index 39046d4eca..52f49c2d7e 100644
--- a/testdata/baselines/reference/submodule/compiler/duplicateLocalVariable1.js
+++ b/testdata/baselines/reference/submodule/compiler/duplicateLocalVariable1.js
@@ -347,6 +347,8 @@ export var tests: TestRunner = (function () {
//// [duplicateLocalVariable1.js]
"use strict";
+//import FileManager = require('filemanager');
+//import App = require('app');
Object.defineProperty(exports, "__esModule", { value: true });
exports.tests = exports.TestRunner = exports.TestCase = void 0;
var TestFileDir = ".\\TempTestFiles";
diff --git a/testdata/baselines/reference/submodule/compiler/duplicateLocalVariable1.js.diff b/testdata/baselines/reference/submodule/compiler/duplicateLocalVariable1.js.diff
index 62371627fa..a7227754cb 100644
--- a/testdata/baselines/reference/submodule/compiler/duplicateLocalVariable1.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/duplicateLocalVariable1.js.diff
@@ -1,12 +1,6 @@
--- old.duplicateLocalVariable1.js
+++ new.duplicateLocalVariable1.js
-@@= skipped -346, +346 lines =@@
-
- //// [duplicateLocalVariable1.js]
- "use strict";
--//import FileManager = require('filemanager');
--//import App = require('app');
- Object.defineProperty(exports, "__esModule", { value: true });
+@@= skipped -352, +352 lines =@@
exports.tests = exports.TestRunner = exports.TestCase = void 0;
var TestFileDir = ".\\TempTestFiles";
class TestCase {
@@ -16,7 +10,7 @@
constructor(name, test, errorMessageRegEx) {
this.name = name;
this.test = test;
-@@= skipped -14, +15 lines =@@
+@@= skipped -8, +11 lines =@@
}
exports.TestCase = TestCase;
class TestRunner {
diff --git a/testdata/baselines/reference/submodule/compiler/emitMethodCalledNew.js b/testdata/baselines/reference/submodule/compiler/emitMethodCalledNew.js
index 4c61b7d7ba..3999d213aa 100644
--- a/testdata/baselines/reference/submodule/compiler/emitMethodCalledNew.js
+++ b/testdata/baselines/reference/submodule/compiler/emitMethodCalledNew.js
@@ -16,9 +16,9 @@ export const c = {
//// [emitMethodCalledNew.js]
"use strict";
+// https://github.com/microsoft/TypeScript/issues/55075
Object.defineProperty(exports, "__esModule", { value: true });
exports.c = exports.b = exports.a = void 0;
-// https://github.com/microsoft/TypeScript/issues/55075
exports.a = {
new(x) { return x + 1; }
};
diff --git a/testdata/baselines/reference/submodule/compiler/emitMethodCalledNew.js.diff b/testdata/baselines/reference/submodule/compiler/emitMethodCalledNew.js.diff
deleted file mode 100644
index 3acf938c2e..0000000000
--- a/testdata/baselines/reference/submodule/compiler/emitMethodCalledNew.js.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- old.emitMethodCalledNew.js
-+++ new.emitMethodCalledNew.js
-@@= skipped -15, +15 lines =@@
-
- //// [emitMethodCalledNew.js]
- "use strict";
--// https://github.com/microsoft/TypeScript/issues/55075
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.c = exports.b = exports.a = void 0;
-+// https://github.com/microsoft/TypeScript/issues/55075
- exports.a = {
- new(x) { return x + 1; }
- };
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/emitPinnedCommentsOnTopOfFile.js b/testdata/baselines/reference/submodule/compiler/emitPinnedCommentsOnTopOfFile.js
index ca9a87b245..d50c8fc1c4 100644
--- a/testdata/baselines/reference/submodule/compiler/emitPinnedCommentsOnTopOfFile.js
+++ b/testdata/baselines/reference/submodule/compiler/emitPinnedCommentsOnTopOfFile.js
@@ -10,4 +10,9 @@
var x = 10;
//// [emitPinnedCommentsOnTopOfFile.js]
+/*!
+
+ multi line
+ comment
+*/
var x = 10;
diff --git a/testdata/baselines/reference/submodule/compiler/emitPinnedCommentsOnTopOfFile.js.diff b/testdata/baselines/reference/submodule/compiler/emitPinnedCommentsOnTopOfFile.js.diff
deleted file mode 100644
index 268a95d541..0000000000
--- a/testdata/baselines/reference/submodule/compiler/emitPinnedCommentsOnTopOfFile.js.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- old.emitPinnedCommentsOnTopOfFile.js
-+++ new.emitPinnedCommentsOnTopOfFile.js
-@@= skipped -9, +9 lines =@@
- var x = 10;
-
- //// [emitPinnedCommentsOnTopOfFile.js]
--/*!
--
-- multi line
-- comment
--*/
- var x = 10;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/errorElaboration.js b/testdata/baselines/reference/submodule/compiler/errorElaboration.js
index 2665c3b3fe..01bb02177c 100644
--- a/testdata/baselines/reference/submodule/compiler/errorElaboration.js
+++ b/testdata/baselines/reference/submodule/compiler/errorElaboration.js
@@ -27,6 +27,7 @@ const x = ({ [foo.bar]: c }) => undefined;
//// [errorElaboration.js]
+// Repro for #5712
let a;
foo(a);
// Repro for #25498
diff --git a/testdata/baselines/reference/submodule/compiler/errorElaboration.js.diff b/testdata/baselines/reference/submodule/compiler/errorElaboration.js.diff
deleted file mode 100644
index fea4b6e979..0000000000
--- a/testdata/baselines/reference/submodule/compiler/errorElaboration.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.errorElaboration.js
-+++ new.errorElaboration.js
-@@= skipped -26, +26 lines =@@
-
-
- //// [errorElaboration.js]
--// Repro for #5712
- let a;
- foo(a);
- // Repro for #25498
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/es6ExportEqualsInterop.js b/testdata/baselines/reference/submodule/compiler/es6ExportEqualsInterop.js
index 71125ca7fe..30831ecb96 100644
--- a/testdata/baselines/reference/submodule/compiler/es6ExportEqualsInterop.js
+++ b/testdata/baselines/reference/submodule/compiler/es6ExportEqualsInterop.js
@@ -208,6 +208,7 @@ export * from "class-module";
//// [main.js]
"use strict";
+///
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
diff --git a/testdata/baselines/reference/submodule/compiler/es6ExportEqualsInterop.js.diff b/testdata/baselines/reference/submodule/compiler/es6ExportEqualsInterop.js.diff
index ae73ab1233..032ba1bf0d 100644
--- a/testdata/baselines/reference/submodule/compiler/es6ExportEqualsInterop.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/es6ExportEqualsInterop.js.diff
@@ -1,14 +1,6 @@
--- old.es6ExportEqualsInterop.js
+++ new.es6ExportEqualsInterop.js
-@@= skipped -207, +207 lines =@@
-
- //// [main.js]
- "use strict";
--///
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- var desc = Object.getOwnPropertyDescriptor(m, k);
-@@= skipped -17, +16 lines =@@
+@@= skipped -224, +224 lines =@@
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.a0 = exports.a9 = exports.a8 = exports.a7 = exports.a6 = exports.a5 = exports.a4 = exports.a3 = exports.a2 = exports.a1 = void 0;
diff --git a/testdata/baselines/reference/submodule/compiler/excessPropertyCheckWithMultipleDiscriminants.js b/testdata/baselines/reference/submodule/compiler/excessPropertyCheckWithMultipleDiscriminants.js
index a81be3a2ca..7c0a7f2eda 100644
--- a/testdata/baselines/reference/submodule/compiler/excessPropertyCheckWithMultipleDiscriminants.js
+++ b/testdata/baselines/reference/submodule/compiler/excessPropertyCheckWithMultipleDiscriminants.js
@@ -144,6 +144,7 @@ const attributes2: Attribute2 = {
//// [excessPropertyCheckWithMultipleDiscriminants.js]
"use strict";
+// Repro from #32657
Object.defineProperty(exports, "__esModule", { value: true });
const foo = {
type: "number",
diff --git a/testdata/baselines/reference/submodule/compiler/excessPropertyCheckWithMultipleDiscriminants.js.diff b/testdata/baselines/reference/submodule/compiler/excessPropertyCheckWithMultipleDiscriminants.js.diff
deleted file mode 100644
index 9f32319ccc..0000000000
--- a/testdata/baselines/reference/submodule/compiler/excessPropertyCheckWithMultipleDiscriminants.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.excessPropertyCheckWithMultipleDiscriminants.js
-+++ new.excessPropertyCheckWithMultipleDiscriminants.js
-@@= skipped -143, +143 lines =@@
-
- //// [excessPropertyCheckWithMultipleDiscriminants.js]
- "use strict";
--// Repro from #32657
- Object.defineProperty(exports, "__esModule", { value: true });
- const foo = {
- type: "number",
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/excessPropertyChecksWithNestedIntersections.js b/testdata/baselines/reference/submodule/compiler/excessPropertyChecksWithNestedIntersections.js
index 2da41c0e26..1d1a6bde39 100644
--- a/testdata/baselines/reference/submodule/compiler/excessPropertyChecksWithNestedIntersections.js
+++ b/testdata/baselines/reference/submodule/compiler/excessPropertyChecksWithNestedIntersections.js
@@ -75,6 +75,7 @@ test = { foo: true, bar: { foo: true, bar: true, boo: true } }
//// [excessPropertyChecksWithNestedIntersections.js]
"use strict";
+// https://github.com/Microsoft/TypeScript/issues/13813
Object.defineProperty(exports, "__esModule", { value: true });
exports.myInstance = exports.photo = exports.obj = void 0;
let a = { a: { x: 'hello' } }; // ok
diff --git a/testdata/baselines/reference/submodule/compiler/excessPropertyChecksWithNestedIntersections.js.diff b/testdata/baselines/reference/submodule/compiler/excessPropertyChecksWithNestedIntersections.js.diff
deleted file mode 100644
index f87d79cdcf..0000000000
--- a/testdata/baselines/reference/submodule/compiler/excessPropertyChecksWithNestedIntersections.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.excessPropertyChecksWithNestedIntersections.js
-+++ new.excessPropertyChecksWithNestedIntersections.js
-@@= skipped -74, +74 lines =@@
-
- //// [excessPropertyChecksWithNestedIntersections.js]
- "use strict";
--// https://github.com/Microsoft/TypeScript/issues/13813
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.myInstance = exports.photo = exports.obj = void 0;
- let a = { a: { x: 'hello' } }; // ok
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/excessivelyLargeTupleSpread.js b/testdata/baselines/reference/submodule/compiler/excessivelyLargeTupleSpread.js
index 5f3c2cb38a..eb963d74e4 100644
--- a/testdata/baselines/reference/submodule/compiler/excessivelyLargeTupleSpread.js
+++ b/testdata/baselines/reference/submodule/compiler/excessivelyLargeTupleSpread.js
@@ -42,6 +42,7 @@ const a14 = [...a13, ...a13] as const; // 2^14 > 10,000
//// [excessivelyLargeTupleSpread.js]
+// #41771
const a0 = [0];
const a1 = [...a0, ...a0];
const a2 = [...a1, ...a1];
diff --git a/testdata/baselines/reference/submodule/compiler/excessivelyLargeTupleSpread.js.diff b/testdata/baselines/reference/submodule/compiler/excessivelyLargeTupleSpread.js.diff
deleted file mode 100644
index 92979b3175..0000000000
--- a/testdata/baselines/reference/submodule/compiler/excessivelyLargeTupleSpread.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.excessivelyLargeTupleSpread.js
-+++ new.excessivelyLargeTupleSpread.js
-@@= skipped -41, +41 lines =@@
-
-
- //// [excessivelyLargeTupleSpread.js]
--// #41771
- const a0 = [0];
- const a1 = [...a0, ...a0];
- const a2 = [...a1, ...a1];
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/exhaustiveSwitchCheckCircularity.js b/testdata/baselines/reference/submodule/compiler/exhaustiveSwitchCheckCircularity.js
index e92726d1c4..ec7240b8bf 100644
--- a/testdata/baselines/reference/submodule/compiler/exhaustiveSwitchCheckCircularity.js
+++ b/testdata/baselines/reference/submodule/compiler/exhaustiveSwitchCheckCircularity.js
@@ -40,6 +40,7 @@ function functionC(): void {
//// [exhaustiveSwitchCheckCircularity.js]
+// Repro from #47539
function f() {
let foo = "aaa";
while (true) {
diff --git a/testdata/baselines/reference/submodule/compiler/exhaustiveSwitchCheckCircularity.js.diff b/testdata/baselines/reference/submodule/compiler/exhaustiveSwitchCheckCircularity.js.diff
index 993390a5ce..6f44da6b5b 100644
--- a/testdata/baselines/reference/submodule/compiler/exhaustiveSwitchCheckCircularity.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/exhaustiveSwitchCheckCircularity.js.diff
@@ -5,7 +5,6 @@
//// [exhaustiveSwitchCheckCircularity.js]
-"use strict";
--// Repro from #47539
+ // Repro from #47539
function f() {
- let foo = "aaa";
- while (true) {
\ No newline at end of file
+ let foo = "aaa";
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/expandoFunctionBlockShadowing.js b/testdata/baselines/reference/submodule/compiler/expandoFunctionBlockShadowing.js
index 1b37891205..dfa5893abe 100644
--- a/testdata/baselines/reference/submodule/compiler/expandoFunctionBlockShadowing.js
+++ b/testdata/baselines/reference/submodule/compiler/expandoFunctionBlockShadowing.js
@@ -22,10 +22,10 @@ if (Math.random()) {
//// [expandoFunctionBlockShadowing.js]
"use strict";
+// https://github.com/microsoft/TypeScript/issues/56538
Object.defineProperty(exports, "__esModule", { value: true });
exports.X = X;
exports.Y = Y;
-// https://github.com/microsoft/TypeScript/issues/56538
function X() { }
if (Math.random()) {
const X = {};
diff --git a/testdata/baselines/reference/submodule/compiler/expandoFunctionBlockShadowing.js.diff b/testdata/baselines/reference/submodule/compiler/expandoFunctionBlockShadowing.js.diff
deleted file mode 100644
index ad675825bb..0000000000
--- a/testdata/baselines/reference/submodule/compiler/expandoFunctionBlockShadowing.js.diff
+++ /dev/null
@@ -1,14 +0,0 @@
---- old.expandoFunctionBlockShadowing.js
-+++ new.expandoFunctionBlockShadowing.js
-@@= skipped -21, +21 lines =@@
-
- //// [expandoFunctionBlockShadowing.js]
- "use strict";
--// https://github.com/microsoft/TypeScript/issues/56538
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.X = X;
- exports.Y = Y;
-+// https://github.com/microsoft/TypeScript/issues/56538
- function X() { }
- if (Math.random()) {
- const X = {};
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/expandoFunctionExpressionsWithDynamicNames.js b/testdata/baselines/reference/submodule/compiler/expandoFunctionExpressionsWithDynamicNames.js
index 054a90b860..da77799946 100644
--- a/testdata/baselines/reference/submodule/compiler/expandoFunctionExpressionsWithDynamicNames.js
+++ b/testdata/baselines/reference/submodule/compiler/expandoFunctionExpressionsWithDynamicNames.js
@@ -14,9 +14,9 @@ expr2[s] = 0
//// [expandoFunctionExpressionsWithDynamicNames.js]
"use strict";
+// https://github.com/microsoft/TypeScript/issues/54809
Object.defineProperty(exports, "__esModule", { value: true });
exports.expr2 = exports.expr = void 0;
-// https://github.com/microsoft/TypeScript/issues/54809
const s = "X";
const expr = () => { };
exports.expr = expr;
diff --git a/testdata/baselines/reference/submodule/compiler/expandoFunctionExpressionsWithDynamicNames.js.diff b/testdata/baselines/reference/submodule/compiler/expandoFunctionExpressionsWithDynamicNames.js.diff
index df20fd2068..bc387e9ed0 100644
--- a/testdata/baselines/reference/submodule/compiler/expandoFunctionExpressionsWithDynamicNames.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/expandoFunctionExpressionsWithDynamicNames.js.diff
@@ -1,17 +1,6 @@
--- old.expandoFunctionExpressionsWithDynamicNames.js
+++ new.expandoFunctionExpressionsWithDynamicNames.js
-@@= skipped -13, +13 lines =@@
-
- //// [expandoFunctionExpressionsWithDynamicNames.js]
- "use strict";
--// https://github.com/microsoft/TypeScript/issues/54809
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.expr2 = exports.expr = void 0;
-+// https://github.com/microsoft/TypeScript/issues/54809
- const s = "X";
- const expr = () => { };
- exports.expr = expr;
-@@= skipped -13, +13 lines =@@
+@@= skipped -26, +26 lines =@@
//// [expandoFunctionExpressionsWithDynamicNames.d.ts]
diff --git a/testdata/baselines/reference/submodule/compiler/expandoFunctionNullishProperty.js b/testdata/baselines/reference/submodule/compiler/expandoFunctionNullishProperty.js
index eaa83e486c..cd98400344 100644
--- a/testdata/baselines/reference/submodule/compiler/expandoFunctionNullishProperty.js
+++ b/testdata/baselines/reference/submodule/compiler/expandoFunctionNullishProperty.js
@@ -38,6 +38,7 @@ export function testUndefined(): TestUndefined {
//// [expandoFunctionNullishProperty.js]
+// mentioned in https://github.com/microsoft/TypeScript/issues/54220
export function testNull() {
function inner() { }
inner.prop = null;
diff --git a/testdata/baselines/reference/submodule/compiler/expandoFunctionNullishProperty.js.diff b/testdata/baselines/reference/submodule/compiler/expandoFunctionNullishProperty.js.diff
deleted file mode 100644
index f5d6dc439b..0000000000
--- a/testdata/baselines/reference/submodule/compiler/expandoFunctionNullishProperty.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.expandoFunctionNullishProperty.js
-+++ new.expandoFunctionNullishProperty.js
-@@= skipped -37, +37 lines =@@
-
-
- //// [expandoFunctionNullishProperty.js]
--// mentioned in https://github.com/microsoft/TypeScript/issues/54220
- export function testNull() {
- function inner() { }
- inner.prop = null;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/exportDeclarationForModuleOrEnumWithMemberOfSameName(module=commonjs).js b/testdata/baselines/reference/submodule/compiler/exportDeclarationForModuleOrEnumWithMemberOfSameName(module=commonjs).js
index 56044df4b6..e8fe3f601b 100644
--- a/testdata/baselines/reference/submodule/compiler/exportDeclarationForModuleOrEnumWithMemberOfSameName(module=commonjs).js
+++ b/testdata/baselines/reference/submodule/compiler/exportDeclarationForModuleOrEnumWithMemberOfSameName(module=commonjs).js
@@ -18,9 +18,9 @@ export { B }
//// [exportDeclarationForModuleOrEnumWithMemberOfSameName.js]
"use strict";
+// https://github.com/microsoft/TypeScript/issues/55038
Object.defineProperty(exports, "__esModule", { value: true });
exports.B = exports.A = void 0;
-// https://github.com/microsoft/TypeScript/issues/55038
var A;
(function (A_1) {
A_1.A = 0;
diff --git a/testdata/baselines/reference/submodule/compiler/exportDeclarationForModuleOrEnumWithMemberOfSameName(module=commonjs).js.diff b/testdata/baselines/reference/submodule/compiler/exportDeclarationForModuleOrEnumWithMemberOfSameName(module=commonjs).js.diff
deleted file mode 100644
index 9675ac592a..0000000000
--- a/testdata/baselines/reference/submodule/compiler/exportDeclarationForModuleOrEnumWithMemberOfSameName(module=commonjs).js.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- old.exportDeclarationForModuleOrEnumWithMemberOfSameName(module=commonjs).js
-+++ new.exportDeclarationForModuleOrEnumWithMemberOfSameName(module=commonjs).js
-@@= skipped -17, +17 lines =@@
-
- //// [exportDeclarationForModuleOrEnumWithMemberOfSameName.js]
- "use strict";
--// https://github.com/microsoft/TypeScript/issues/55038
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.B = exports.A = void 0;
-+// https://github.com/microsoft/TypeScript/issues/55038
- var A;
- (function (A_1) {
- A_1.A = 0;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/exportDefaultDuplicateCrash.js b/testdata/baselines/reference/submodule/compiler/exportDefaultDuplicateCrash.js
index 30f165ebe4..077ffd357f 100644
--- a/testdata/baselines/reference/submodule/compiler/exportDefaultDuplicateCrash.js
+++ b/testdata/baselines/reference/submodule/compiler/exportDefaultDuplicateCrash.js
@@ -10,10 +10,10 @@ export { aa as default } from './hi'
//// [exportDefaultDuplicateCrash.js]
"use strict";
+// #38214
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = void 0;
exports.default = default_1;
-// #38214
function default_1() { }
const hi_1 = require("./hi");
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return hi_1.default; } });
diff --git a/testdata/baselines/reference/submodule/compiler/exportDefaultDuplicateCrash.js.diff b/testdata/baselines/reference/submodule/compiler/exportDefaultDuplicateCrash.js.diff
index 9fc17e9cc4..d457f0ef4e 100644
--- a/testdata/baselines/reference/submodule/compiler/exportDefaultDuplicateCrash.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/exportDefaultDuplicateCrash.js.diff
@@ -1,14 +1,8 @@
--- old.exportDefaultDuplicateCrash.js
+++ new.exportDefaultDuplicateCrash.js
-@@= skipped -9, +9 lines =@@
-
- //// [exportDefaultDuplicateCrash.js]
- "use strict";
--// #38214
- Object.defineProperty(exports, "__esModule", { value: true });
+@@= skipped -14, +14 lines =@@
exports.default = void 0;
exports.default = default_1;
-+// #38214
function default_1() { }
-var hi_1 = require("./hi");
+const hi_1 = require("./hi");
diff --git a/testdata/baselines/reference/submodule/compiler/exportDefaultVariable.js b/testdata/baselines/reference/submodule/compiler/exportDefaultVariable.js
index a75a467ba1..ed42c5818e 100644
--- a/testdata/baselines/reference/submodule/compiler/exportDefaultVariable.js
+++ b/testdata/baselines/reference/submodule/compiler/exportDefaultVariable.js
@@ -11,3 +11,4 @@ declare module 'module' {
//// [exportDefaultVariable.js]
+// Regression test for #3018
diff --git a/testdata/baselines/reference/submodule/compiler/exportDefaultVariable.js.diff b/testdata/baselines/reference/submodule/compiler/exportDefaultVariable.js.diff
deleted file mode 100644
index fb2dddfa33..0000000000
--- a/testdata/baselines/reference/submodule/compiler/exportDefaultVariable.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.exportDefaultVariable.js
-+++ new.exportDefaultVariable.js
-@@= skipped -10, +10 lines =@@
-
-
- //// [exportDefaultVariable.js]
--// Regression test for #3018
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/flatArrayNoExcessiveStackDepth.js b/testdata/baselines/reference/submodule/compiler/flatArrayNoExcessiveStackDepth.js
index 34286aaf03..42f1f7cf4a 100644
--- a/testdata/baselines/reference/submodule/compiler/flatArrayNoExcessiveStackDepth.js
+++ b/testdata/baselines/reference/submodule/compiler/flatArrayNoExcessiveStackDepth.js
@@ -25,6 +25,7 @@ function f(x: FlatArray, y: FlatArray)
//// [flatArrayNoExcessiveStackDepth.js]
+// Repro from #43493
const bar = foo.flatMap(bar => bar);
// Repros from comments in #43249
const repro_43249 = (value) => {
diff --git a/testdata/baselines/reference/submodule/compiler/flatArrayNoExcessiveStackDepth.js.diff b/testdata/baselines/reference/submodule/compiler/flatArrayNoExcessiveStackDepth.js.diff
index de12ee2d61..c9bcb682b0 100644
--- a/testdata/baselines/reference/submodule/compiler/flatArrayNoExcessiveStackDepth.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/flatArrayNoExcessiveStackDepth.js.diff
@@ -5,7 +5,6 @@
//// [flatArrayNoExcessiveStackDepth.js]
-"use strict";
--// Repro from #43493
+ // Repro from #43493
const bar = foo.flatMap(bar => bar);
- // Repros from comments in #43249
- const repro_43249 = (value) => {
\ No newline at end of file
+ // Repros from comments in #43249
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/freshLiteralTypesInIntersections.js b/testdata/baselines/reference/submodule/compiler/freshLiteralTypesInIntersections.js
index 18ffbc6d0c..d0d355ef63 100644
--- a/testdata/baselines/reference/submodule/compiler/freshLiteralTypesInIntersections.js
+++ b/testdata/baselines/reference/submodule/compiler/freshLiteralTypesInIntersections.js
@@ -9,5 +9,6 @@ q("x");
//// [freshLiteralTypesInIntersections.js]
+// Repro from #19657
const q = func("x", ["x"]);
q("x");
diff --git a/testdata/baselines/reference/submodule/compiler/freshLiteralTypesInIntersections.js.diff b/testdata/baselines/reference/submodule/compiler/freshLiteralTypesInIntersections.js.diff
index 1a4ac6adf4..2186d4d734 100644
--- a/testdata/baselines/reference/submodule/compiler/freshLiteralTypesInIntersections.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/freshLiteralTypesInIntersections.js.diff
@@ -5,6 +5,6 @@
//// [freshLiteralTypesInIntersections.js]
-"use strict";
--// Repro from #19657
+ // Repro from #19657
const q = func("x", ["x"]);
q("x");
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/functionCallOnConstrainedTypeVariable.js b/testdata/baselines/reference/submodule/compiler/functionCallOnConstrainedTypeVariable.js
index e26a0c62a4..ad55053719 100644
--- a/testdata/baselines/reference/submodule/compiler/functionCallOnConstrainedTypeVariable.js
+++ b/testdata/baselines/reference/submodule/compiler/functionCallOnConstrainedTypeVariable.js
@@ -23,6 +23,7 @@ function callN(p: T) {
}
//// [functionCallOnConstrainedTypeVariable.js]
+// Repro from #20196
function call0(p) {
p.a("s"); // Error
}
diff --git a/testdata/baselines/reference/submodule/compiler/functionCallOnConstrainedTypeVariable.js.diff b/testdata/baselines/reference/submodule/compiler/functionCallOnConstrainedTypeVariable.js.diff
index 6b5920b987..89ac39c155 100644
--- a/testdata/baselines/reference/submodule/compiler/functionCallOnConstrainedTypeVariable.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/functionCallOnConstrainedTypeVariable.js.diff
@@ -5,7 +5,6 @@
//// [functionCallOnConstrainedTypeVariable.js]
-"use strict";
--// Repro from #20196
+ // Repro from #20196
function call0(p) {
- p.a("s"); // Error
- }
\ No newline at end of file
+ p.a("s"); // Error
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/genericFunctionInference2.js b/testdata/baselines/reference/submodule/compiler/genericFunctionInference2.js
index eac4f5f8e0..cbb72e8ab1 100644
--- a/testdata/baselines/reference/submodule/compiler/genericFunctionInference2.js
+++ b/testdata/baselines/reference/submodule/compiler/genericFunctionInference2.js
@@ -34,6 +34,7 @@ enhancer4.onChange(null);
//// [genericFunctionInference2.js]
+// Repro from #30685
const myReducer1 = combineReducers({
combined: combineReducers({ foo }),
});
diff --git a/testdata/baselines/reference/submodule/compiler/genericFunctionInference2.js.diff b/testdata/baselines/reference/submodule/compiler/genericFunctionInference2.js.diff
deleted file mode 100644
index 57fccd601a..0000000000
--- a/testdata/baselines/reference/submodule/compiler/genericFunctionInference2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.genericFunctionInference2.js
-+++ new.genericFunctionInference2.js
-@@= skipped -33, +33 lines =@@
-
-
- //// [genericFunctionInference2.js]
--// Repro from #30685
- const myReducer1 = combineReducers({
- combined: combineReducers({ foo }),
- });
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameter.js b/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameter.js
index b630ace2fd..404e6a0271 100644
--- a/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameter.js
+++ b/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameter.js
@@ -16,6 +16,7 @@ f1<"b">(event => { });
//// [genericInferenceDefaultTypeParameter.js]
+// Repro from #50858
f1(event => { });
f1(event => { });
f1(event => { });
diff --git a/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameter.js.diff b/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameter.js.diff
index 58907b3091..4c3d1313c7 100644
--- a/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameter.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameter.js.diff
@@ -5,7 +5,6 @@
//// [genericInferenceDefaultTypeParameter.js]
-"use strict";
--// Repro from #50858
- f1(event => { });
+ // Repro from #50858
f1(event => { });
f1(event => { });
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameterJsxReact.js b/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameterJsxReact.js
index 5dc0a47dea..7c9d1c4b98 100644
--- a/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameterJsxReact.js
+++ b/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameterJsxReact.js
@@ -18,11 +18,11 @@ const v1 = e.preventDefault()} />;
//// [genericInferenceDefaultTypeParameterJsxReact.js]
"use strict";
+///
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
-///
// Repro from #50858
const react_1 = __importDefault(require("react"));
function Component(props) {
diff --git a/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameterJsxReact.js.diff b/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameterJsxReact.js.diff
index fb30d959fd..7cd137b7da 100644
--- a/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameterJsxReact.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/genericInferenceDefaultTypeParameterJsxReact.js.diff
@@ -1,15 +1,8 @@
--- old.genericInferenceDefaultTypeParameterJsxReact.js
+++ new.genericInferenceDefaultTypeParameterJsxReact.js
-@@= skipped -17, +17 lines =@@
-
- //// [genericInferenceDefaultTypeParameterJsxReact.js]
- "use strict";
--///
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
+@@= skipped -23, +23 lines =@@
};
Object.defineProperty(exports, "__esModule", { value: true });
-+///
// Repro from #50858
-var react_1 = __importDefault(require("react"));
+const react_1 = __importDefault(require("react"));
diff --git a/testdata/baselines/reference/submodule/compiler/genericIsNeverEmptyObject.js b/testdata/baselines/reference/submodule/compiler/genericIsNeverEmptyObject.js
index 64a67ccc66..c4f2c68476 100644
--- a/testdata/baselines/reference/submodule/compiler/genericIsNeverEmptyObject.js
+++ b/testdata/baselines/reference/submodule/compiler/genericIsNeverEmptyObject.js
@@ -13,6 +13,7 @@ let o2: { b: string, x: number } = test(o1);
//// [genericIsNeverEmptyObject.js]
+// Repro from #29067
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -35,7 +36,6 @@ var __rest = (this && this.__rest) || function (s, e) {
}
return t;
};
-// Repro from #29067
function test(obj) {
let { a } = obj, rest = __rest(obj, ["a"]);
return __assign(__assign({}, rest), { b: a });
diff --git a/testdata/baselines/reference/submodule/compiler/genericIsNeverEmptyObject.js.diff b/testdata/baselines/reference/submodule/compiler/genericIsNeverEmptyObject.js.diff
index f4c36261ad..4d67e47082 100644
--- a/testdata/baselines/reference/submodule/compiler/genericIsNeverEmptyObject.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/genericIsNeverEmptyObject.js.diff
@@ -5,15 +5,6 @@
//// [genericIsNeverEmptyObject.js]
-"use strict";
--// Repro from #29067
+ // Repro from #29067
var __assign = (this && this.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
-@@= skipped -24, +22 lines =@@
- }
- return t;
- };
-+// Repro from #29067
- function test(obj) {
- let { a } = obj, rest = __rest(obj, ["a"]);
- return __assign(__assign({}, rest), { b: a });
\ No newline at end of file
+ __assign = Object.assign || function(t) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/genericRestTypes.js b/testdata/baselines/reference/submodule/compiler/genericRestTypes.js
index 3440eff575..cc93397822 100644
--- a/testdata/baselines/reference/submodule/compiler/genericRestTypes.js
+++ b/testdata/baselines/reference/submodule/compiler/genericRestTypes.js
@@ -30,6 +30,7 @@ function assignmentWithComplexRest3() {
}
//// [genericRestTypes.js]
+// Repro from #25793
function assignmentWithComplexRest() {
const fn1 = (x, ..._) => x;
const fn2 = fn1;
diff --git a/testdata/baselines/reference/submodule/compiler/genericRestTypes.js.diff b/testdata/baselines/reference/submodule/compiler/genericRestTypes.js.diff
index 327b439fef..865211326a 100644
--- a/testdata/baselines/reference/submodule/compiler/genericRestTypes.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/genericRestTypes.js.diff
@@ -5,7 +5,6 @@
//// [genericRestTypes.js]
-"use strict";
--// Repro from #25793
+ // Repro from #25793
function assignmentWithComplexRest() {
- const fn1 = (x, ..._) => x;
- const fn2 = fn1;
\ No newline at end of file
+ const fn1 = (x, ..._) => x;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/getParameterNameAtPosition.js b/testdata/baselines/reference/submodule/compiler/getParameterNameAtPosition.js
index 81379d9a8e..20d85a7956 100644
--- a/testdata/baselines/reference/submodule/compiler/getParameterNameAtPosition.js
+++ b/testdata/baselines/reference/submodule/compiler/getParameterNameAtPosition.js
@@ -13,4 +13,5 @@ cases(fn(opts => { }));
//// [getParameterNameAtPosition.js]
+// Repro from #30171
cases(fn(opts => { }));
diff --git a/testdata/baselines/reference/submodule/compiler/getParameterNameAtPosition.js.diff b/testdata/baselines/reference/submodule/compiler/getParameterNameAtPosition.js.diff
index 6faee97c2a..3377b2d600 100644
--- a/testdata/baselines/reference/submodule/compiler/getParameterNameAtPosition.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/getParameterNameAtPosition.js.diff
@@ -5,5 +5,5 @@
//// [getParameterNameAtPosition.js]
-"use strict";
--// Repro from #30171
+ // Repro from #30171
cases(fn(opts => { }));
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/identityRelationNeverTypes.js b/testdata/baselines/reference/submodule/compiler/identityRelationNeverTypes.js
index 3a97a865d2..3756895cc1 100644
--- a/testdata/baselines/reference/submodule/compiler/identityRelationNeverTypes.js
+++ b/testdata/baselines/reference/submodule/compiler/identityRelationNeverTypes.js
@@ -21,6 +21,7 @@ function f1(state: State<{ foo: number }>) {
//// [identityRelationNeverTypes.js]
+// Repro from #47996
function f1(state) {
if (state.matches('a') && state.matches('a.b')) {
state; // never
diff --git a/testdata/baselines/reference/submodule/compiler/identityRelationNeverTypes.js.diff b/testdata/baselines/reference/submodule/compiler/identityRelationNeverTypes.js.diff
index a3fc586d45..9d389e331e 100644
--- a/testdata/baselines/reference/submodule/compiler/identityRelationNeverTypes.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/identityRelationNeverTypes.js.diff
@@ -5,7 +5,6 @@
//// [identityRelationNeverTypes.js]
-"use strict";
--// Repro from #47996
+ // Repro from #47996
function f1(state) {
- if (state.matches('a') && state.matches('a.b')) {
- state; // never
\ No newline at end of file
+ if (state.matches('a') && state.matches('a.b')) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/ignoredJsxAttributes.js b/testdata/baselines/reference/submodule/compiler/ignoredJsxAttributes.js
index e4eea244b9..f2d8c25c70 100644
--- a/testdata/baselines/reference/submodule/compiler/ignoredJsxAttributes.js
+++ b/testdata/baselines/reference/submodule/compiler/ignoredJsxAttributes.js
@@ -25,8 +25,8 @@ let x2 = ; // Error
//// [ignoredJsxAttributes.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
///
+Object.defineProperty(exports, "__esModule", { value: true });
// Repro from #44797
const React = require("react");
let props = {
diff --git a/testdata/baselines/reference/submodule/compiler/ignoredJsxAttributes.js.diff b/testdata/baselines/reference/submodule/compiler/ignoredJsxAttributes.js.diff
index 39292a7044..1dc2a3e2ff 100644
--- a/testdata/baselines/reference/submodule/compiler/ignoredJsxAttributes.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/ignoredJsxAttributes.js.diff
@@ -1,12 +1,8 @@
--- old.ignoredJsxAttributes.js
+++ new.ignoredJsxAttributes.js
-@@= skipped -24, +24 lines =@@
-
- //// [ignoredJsxAttributes.js]
- "use strict";
--///
+@@= skipped -27, +27 lines =@@
+ ///
Object.defineProperty(exports, "__esModule", { value: true });
-+///
// Repro from #44797
-var React = require("react");
+const React = require("react");
diff --git a/testdata/baselines/reference/submodule/compiler/implementGenericWithMismatchedTypes.js b/testdata/baselines/reference/submodule/compiler/implementGenericWithMismatchedTypes.js
index a336436e99..c0a40a48ca 100644
--- a/testdata/baselines/reference/submodule/compiler/implementGenericWithMismatchedTypes.js
+++ b/testdata/baselines/reference/submodule/compiler/implementGenericWithMismatchedTypes.js
@@ -23,6 +23,8 @@ class C2 implements IFoo2 { // error
}
//// [implementGenericWithMismatchedTypes.js]
+// no errors because in the derived types the best common type for T's value is Object
+// and that matches the original signature for assignability since we treat its T's as Object
class C {
foo(x) {
return null;
diff --git a/testdata/baselines/reference/submodule/compiler/implementGenericWithMismatchedTypes.js.diff b/testdata/baselines/reference/submodule/compiler/implementGenericWithMismatchedTypes.js.diff
deleted file mode 100644
index 62094db9bf..0000000000
--- a/testdata/baselines/reference/submodule/compiler/implementGenericWithMismatchedTypes.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.implementGenericWithMismatchedTypes.js
-+++ new.implementGenericWithMismatchedTypes.js
-@@= skipped -22, +22 lines =@@
- }
-
- //// [implementGenericWithMismatchedTypes.js]
--// no errors because in the derived types the best common type for T's value is Object
--// and that matches the original signature for assignability since we treat its T's as Object
- class C {
- foo(x) {
- return null;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/indexedAccessNormalization.js b/testdata/baselines/reference/submodule/compiler/indexedAccessNormalization.js
index 51b4c2f889..7a7aed1ed6 100644
--- a/testdata/baselines/reference/submodule/compiler/indexedAccessNormalization.js
+++ b/testdata/baselines/reference/submodule/compiler/indexedAccessNormalization.js
@@ -24,6 +24,7 @@ function f2(mymap: MyMap, k: keyof M, z: { x: number }) {
//// [indexedAccessNormalization.js]
+// Repro from from #43152
function f1(mymap, k) {
const elemofM = mymap[k];
g(elemofM);
diff --git a/testdata/baselines/reference/submodule/compiler/indexedAccessNormalization.js.diff b/testdata/baselines/reference/submodule/compiler/indexedAccessNormalization.js.diff
index 5595f810a2..d3057e5365 100644
--- a/testdata/baselines/reference/submodule/compiler/indexedAccessNormalization.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/indexedAccessNormalization.js.diff
@@ -5,7 +5,6 @@
//// [indexedAccessNormalization.js]
-"use strict";
--// Repro from from #43152
+ // Repro from from #43152
function f1(mymap, k) {
- const elemofM = mymap[k];
- g(elemofM);
\ No newline at end of file
+ const elemofM = mymap[k];
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/indexedAccessRelation.js b/testdata/baselines/reference/submodule/compiler/indexedAccessRelation.js
index ccdebbb66a..0a52abf84e 100644
--- a/testdata/baselines/reference/submodule/compiler/indexedAccessRelation.js
+++ b/testdata/baselines/reference/submodule/compiler/indexedAccessRelation.js
@@ -23,8 +23,8 @@ class Comp extends Component>
//// [indexedAccessRelation.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
// Repro from #14723
+Object.defineProperty(exports, "__esModule", { value: true });
class Component {
setState(state) { }
}
diff --git a/testdata/baselines/reference/submodule/compiler/indexedAccessRelation.js.diff b/testdata/baselines/reference/submodule/compiler/indexedAccessRelation.js.diff
deleted file mode 100644
index 2f676bbe24..0000000000
--- a/testdata/baselines/reference/submodule/compiler/indexedAccessRelation.js.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- old.indexedAccessRelation.js
-+++ new.indexedAccessRelation.js
-@@= skipped -22, +22 lines =@@
-
- //// [indexedAccessRelation.js]
- "use strict";
--// Repro from #14723
- Object.defineProperty(exports, "__esModule", { value: true });
-+// Repro from #14723
- class Component {
- setState(state) { }
- }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/indexedAccessTypeConstraints.js b/testdata/baselines/reference/submodule/compiler/indexedAccessTypeConstraints.js
index aa3ef89972..85888552d7 100644
--- a/testdata/baselines/reference/submodule/compiler/indexedAccessTypeConstraints.js
+++ b/testdata/baselines/reference/submodule/compiler/indexedAccessTypeConstraints.js
@@ -39,6 +39,7 @@ function foo(x: C, y: T['content']) {
//// [indexedAccessTypeConstraints.js]
"use strict";
+// Repro from #14557
Object.defineProperty(exports, "__esModule", { value: true });
exports.Bar = exports.Foo = void 0;
class Parent {
diff --git a/testdata/baselines/reference/submodule/compiler/indexedAccessTypeConstraints.js.diff b/testdata/baselines/reference/submodule/compiler/indexedAccessTypeConstraints.js.diff
index 1fcf56ce47..7812071eaa 100644
--- a/testdata/baselines/reference/submodule/compiler/indexedAccessTypeConstraints.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/indexedAccessTypeConstraints.js.diff
@@ -1,10 +1,6 @@
--- old.indexedAccessTypeConstraints.js
+++ new.indexedAccessTypeConstraints.js
-@@= skipped -38, +38 lines =@@
-
- //// [indexedAccessTypeConstraints.js]
- "use strict";
--// Repro from #14557
+@@= skipped -42, +42 lines =@@
Object.defineProperty(exports, "__esModule", { value: true });
exports.Bar = exports.Foo = void 0;
class Parent {
diff --git a/testdata/baselines/reference/submodule/compiler/indirectTypeParameterReferences.js b/testdata/baselines/reference/submodule/compiler/indirectTypeParameterReferences.js
index 2049f4d25b..4e66f0faa5 100644
--- a/testdata/baselines/reference/submodule/compiler/indirectTypeParameterReferences.js
+++ b/testdata/baselines/reference/submodule/compiler/indirectTypeParameterReferences.js
@@ -33,6 +33,7 @@ let n: number = f(2).a;
//// [indirectTypeParameterReferences.js]
+// Repro from #19043
const flowtypes = (b) => {
const combined = (fn) => null;
const literal = (fn) => null;
diff --git a/testdata/baselines/reference/submodule/compiler/indirectTypeParameterReferences.js.diff b/testdata/baselines/reference/submodule/compiler/indirectTypeParameterReferences.js.diff
deleted file mode 100644
index aaa080d08a..0000000000
--- a/testdata/baselines/reference/submodule/compiler/indirectTypeParameterReferences.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.indirectTypeParameterReferences.js
-+++ new.indirectTypeParameterReferences.js
-@@= skipped -32, +32 lines =@@
-
-
- //// [indirectTypeParameterReferences.js]
--// Repro from #19043
- const flowtypes = (b) => {
- const combined = (fn) => null;
- const literal = (fn) => null;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/inferSecondaryParameter.js b/testdata/baselines/reference/submodule/compiler/inferSecondaryParameter.js
index 3584a8132a..fd0f6080ea 100644
--- a/testdata/baselines/reference/submodule/compiler/inferSecondaryParameter.js
+++ b/testdata/baselines/reference/submodule/compiler/inferSecondaryParameter.js
@@ -12,6 +12,7 @@ b.m("test", function (bug) {
});
//// [inferSecondaryParameter.js]
+// type inference on 'bug' should give 'any'
var b = { m: function (test, fn) { } };
b.m("test", function (bug) {
var a = bug;
diff --git a/testdata/baselines/reference/submodule/compiler/inferSecondaryParameter.js.diff b/testdata/baselines/reference/submodule/compiler/inferSecondaryParameter.js.diff
deleted file mode 100644
index 01cb15dbb6..0000000000
--- a/testdata/baselines/reference/submodule/compiler/inferSecondaryParameter.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.inferSecondaryParameter.js
-+++ new.inferSecondaryParameter.js
-@@= skipped -11, +11 lines =@@
- });
-
- //// [inferSecondaryParameter.js]
--// type inference on 'bug' should give 'any'
- var b = { m: function (test, fn) { } };
- b.m("test", function (bug) {
- var a = bug;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/inferTypeParameterConstraints.js b/testdata/baselines/reference/submodule/compiler/inferTypeParameterConstraints.js
index f038359b08..7b99077c69 100644
--- a/testdata/baselines/reference/submodule/compiler/inferTypeParameterConstraints.js
+++ b/testdata/baselines/reference/submodule/compiler/inferTypeParameterConstraints.js
@@ -41,6 +41,7 @@ m.child; // ok
//// [inferTypeParameterConstraints.js]
+// Repro from #42636
// https://github.com/microsoft/TypeScript/issues/57286#issuecomment-1927920336
class BaseClass {
fake() {
diff --git a/testdata/baselines/reference/submodule/compiler/inferTypeParameterConstraints.js.diff b/testdata/baselines/reference/submodule/compiler/inferTypeParameterConstraints.js.diff
index 4d4403e0ed..5b15a9e6b9 100644
--- a/testdata/baselines/reference/submodule/compiler/inferTypeParameterConstraints.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/inferTypeParameterConstraints.js.diff
@@ -5,11 +5,10 @@
//// [inferTypeParameterConstraints.js]
-"use strict";
--// Repro from #42636
+ // Repro from #42636
// https://github.com/microsoft/TypeScript/issues/57286#issuecomment-1927920336
class BaseClass {
- fake() {
-@@= skipped -9, +7 lines =@@
+@@= skipped -9, +8 lines =@@
}
}
class Klass extends BaseClass {
diff --git a/testdata/baselines/reference/submodule/compiler/inferenceAndSelfReferentialConstraint.js b/testdata/baselines/reference/submodule/compiler/inferenceAndSelfReferentialConstraint.js
index 3ba422ef3f..c630f363f7 100644
--- a/testdata/baselines/reference/submodule/compiler/inferenceAndSelfReferentialConstraint.js
+++ b/testdata/baselines/reference/submodule/compiler/inferenceAndSelfReferentialConstraint.js
@@ -33,6 +33,7 @@ const res3 = test({
//// [inferenceAndSelfReferentialConstraint.js]
+// @strict
function test(arg) {
return arg;
}
diff --git a/testdata/baselines/reference/submodule/compiler/inferenceAndSelfReferentialConstraint.js.diff b/testdata/baselines/reference/submodule/compiler/inferenceAndSelfReferentialConstraint.js.diff
deleted file mode 100644
index 97cadbab15..0000000000
--- a/testdata/baselines/reference/submodule/compiler/inferenceAndSelfReferentialConstraint.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.inferenceAndSelfReferentialConstraint.js
-+++ new.inferenceAndSelfReferentialConstraint.js
-@@= skipped -32, +32 lines =@@
-
-
- //// [inferenceAndSelfReferentialConstraint.js]
--// @strict
- function test(arg) {
- return arg;
- }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/inferenceErasedSignatures.js b/testdata/baselines/reference/submodule/compiler/inferenceErasedSignatures.js
index 7349cb195d..556e627a49 100644
--- a/testdata/baselines/reference/submodule/compiler/inferenceErasedSignatures.js
+++ b/testdata/baselines/reference/submodule/compiler/inferenceErasedSignatures.js
@@ -56,6 +56,7 @@ type T2 = GetT1; // number
//// [inferenceErasedSignatures.js]
+// Repro from #37163
class SomeAbstractClass extends SomeBaseClass {
foo;
bar;
diff --git a/testdata/baselines/reference/submodule/compiler/inferenceErasedSignatures.js.diff b/testdata/baselines/reference/submodule/compiler/inferenceErasedSignatures.js.diff
index fad7f0a963..90e89856c6 100644
--- a/testdata/baselines/reference/submodule/compiler/inferenceErasedSignatures.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/inferenceErasedSignatures.js.diff
@@ -5,7 +5,7 @@
//// [inferenceErasedSignatures.js]
-"use strict";
--// Repro from #37163
+ // Repro from #37163
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
diff --git a/testdata/baselines/reference/submodule/compiler/inferenceFromIncompleteSource.js b/testdata/baselines/reference/submodule/compiler/inferenceFromIncompleteSource.js
index a5fd40279b..b2e7c48bd7 100644
--- a/testdata/baselines/reference/submodule/compiler/inferenceFromIncompleteSource.js
+++ b/testdata/baselines/reference/submodule/compiler/inferenceFromIncompleteSource.js
@@ -15,4 +15,5 @@ Component({items: [{name:' string'}], itemKey: 'name' });
//// [inferenceFromIncompleteSource.js]
+// Repro from #42030
Component({ items: [{ name: ' string' }], itemKey: 'name' });
diff --git a/testdata/baselines/reference/submodule/compiler/inferenceFromIncompleteSource.js.diff b/testdata/baselines/reference/submodule/compiler/inferenceFromIncompleteSource.js.diff
index 165491bb7d..6abf1807cb 100644
--- a/testdata/baselines/reference/submodule/compiler/inferenceFromIncompleteSource.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/inferenceFromIncompleteSource.js.diff
@@ -5,5 +5,5 @@
//// [inferenceFromIncompleteSource.js]
-"use strict";
--// Repro from #42030
+ // Repro from #42030
Component({ items: [{ name: ' string' }], itemKey: 'name' });
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/infiniteConstraints.js b/testdata/baselines/reference/submodule/compiler/infiniteConstraints.js
index 791ffb843a..e3dff9c7a2 100644
--- a/testdata/baselines/reference/submodule/compiler/infiniteConstraints.js
+++ b/testdata/baselines/reference/submodule/compiler/infiniteConstraints.js
@@ -53,6 +53,7 @@ type Conv =
//// [infiniteConstraints.js]
"use strict";
+// Both of the following types trigger the recursion limiter in getImmediateBaseConstraint
Object.defineProperty(exports, "__esModule", { value: true });
const out = myBug({ obj1: { a: "test" } });
const noError = ensureNoDuplicates({ main: value("test"), alternate: value("test2") });
diff --git a/testdata/baselines/reference/submodule/compiler/infiniteConstraints.js.diff b/testdata/baselines/reference/submodule/compiler/infiniteConstraints.js.diff
deleted file mode 100644
index bccf326f67..0000000000
--- a/testdata/baselines/reference/submodule/compiler/infiniteConstraints.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.infiniteConstraints.js
-+++ new.infiniteConstraints.js
-@@= skipped -52, +52 lines =@@
-
- //// [infiniteConstraints.js]
- "use strict";
--// Both of the following types trigger the recursion limiter in getImmediateBaseConstraint
- Object.defineProperty(exports, "__esModule", { value: true });
- const out = myBug({ obj1: { a: "test" } });
- const noError = ensureNoDuplicates({ main: value("test"), alternate: value("test2") });
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/instantiateContextualTypes.js b/testdata/baselines/reference/submodule/compiler/instantiateContextualTypes.js
index 86091a4dc7..a2d3a00181 100644
--- a/testdata/baselines/reference/submodule/compiler/instantiateContextualTypes.js
+++ b/testdata/baselines/reference/submodule/compiler/instantiateContextualTypes.js
@@ -187,6 +187,7 @@ assignPartial(obj, { foo(...args) {} }); // args has type [string]
//// [instantiateContextualTypes.js]
+// #6611
function fn(values, value) {
}
fn(handlers, value => alert(value));
diff --git a/testdata/baselines/reference/submodule/compiler/instantiateContextualTypes.js.diff b/testdata/baselines/reference/submodule/compiler/instantiateContextualTypes.js.diff
index b1446de5ba..845ea67434 100644
--- a/testdata/baselines/reference/submodule/compiler/instantiateContextualTypes.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/instantiateContextualTypes.js.diff
@@ -1,14 +1,6 @@
--- old.instantiateContextualTypes.js
+++ new.instantiateContextualTypes.js
-@@= skipped -186, +186 lines =@@
-
-
- //// [instantiateContextualTypes.js]
--// #6611
- function fn(values, value) {
- }
- fn(handlers, value => alert(value));
-@@= skipped -22, +21 lines =@@
+@@= skipped -208, +208 lines =@@
})(N1 || (N1 = {}));
passContentsToFunc(outerBoxOfString, box => box.value);
class Interesting {
diff --git a/testdata/baselines/reference/submodule/compiler/instantiatedTypeAliasDisplay.js b/testdata/baselines/reference/submodule/compiler/instantiatedTypeAliasDisplay.js
index a282da3696..32452f4acf 100644
--- a/testdata/baselines/reference/submodule/compiler/instantiatedTypeAliasDisplay.js
+++ b/testdata/baselines/reference/submodule/compiler/instantiatedTypeAliasDisplay.js
@@ -18,6 +18,7 @@ const x1 = f1(); // Z
const x2 = f2({}, {}, {}, {}); // Z<{}, string[]>
//// [instantiatedTypeAliasDisplay.js]
+// Repros from #12066
const x1 = f1(); // Z
const x2 = f2({}, {}, {}, {}); // Z<{}, string[]>
diff --git a/testdata/baselines/reference/submodule/compiler/instantiatedTypeAliasDisplay.js.diff b/testdata/baselines/reference/submodule/compiler/instantiatedTypeAliasDisplay.js.diff
deleted file mode 100644
index d53a7d7398..0000000000
--- a/testdata/baselines/reference/submodule/compiler/instantiatedTypeAliasDisplay.js.diff
+++ /dev/null
@@ -1,9 +0,0 @@
---- old.instantiatedTypeAliasDisplay.js
-+++ new.instantiatedTypeAliasDisplay.js
-@@= skipped -17, +17 lines =@@
- const x2 = f2({}, {}, {}, {}); // Z<{}, string[]>
-
- //// [instantiatedTypeAliasDisplay.js]
--// Repros from #12066
- const x1 = f1(); // Z
- const x2 = f2({}, {}, {}, {}); // Z<{}, string[]>
diff --git a/testdata/baselines/reference/submodule/compiler/intersectionOfMixinConstructorTypeAndNonConstructorType.js b/testdata/baselines/reference/submodule/compiler/intersectionOfMixinConstructorTypeAndNonConstructorType.js
index 3c9c6d1b6b..e68f399703 100644
--- a/testdata/baselines/reference/submodule/compiler/intersectionOfMixinConstructorTypeAndNonConstructorType.js
+++ b/testdata/baselines/reference/submodule/compiler/intersectionOfMixinConstructorTypeAndNonConstructorType.js
@@ -8,4 +8,5 @@ new x();
//// [intersectionOfMixinConstructorTypeAndNonConstructorType.js]
+// Repro for #17388
new x();
diff --git a/testdata/baselines/reference/submodule/compiler/intersectionOfMixinConstructorTypeAndNonConstructorType.js.diff b/testdata/baselines/reference/submodule/compiler/intersectionOfMixinConstructorTypeAndNonConstructorType.js.diff
deleted file mode 100644
index 186b4c63d0..0000000000
--- a/testdata/baselines/reference/submodule/compiler/intersectionOfMixinConstructorTypeAndNonConstructorType.js.diff
+++ /dev/null
@@ -1,8 +0,0 @@
---- old.intersectionOfMixinConstructorTypeAndNonConstructorType.js
-+++ new.intersectionOfMixinConstructorTypeAndNonConstructorType.js
-@@= skipped -7, +7 lines =@@
-
-
- //// [intersectionOfMixinConstructorTypeAndNonConstructorType.js]
--// Repro for #17388
- new x();
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/intersectionTypeInference1.js b/testdata/baselines/reference/submodule/compiler/intersectionTypeInference1.js
index 961b7c1037..23ed81694f 100644
--- a/testdata/baselines/reference/submodule/compiler/intersectionTypeInference1.js
+++ b/testdata/baselines/reference/submodule/compiler/intersectionTypeInference1.js
@@ -12,9 +12,9 @@ export const Form3 = brokenFunction(parameterFn)({store: "hello"})
//// [intersectionTypeInference1.js]
"use strict";
+// Repro from #8801
Object.defineProperty(exports, "__esModule", { value: true });
exports.Form3 = void 0;
-// Repro from #8801
function alert(s) { }
const parameterFn = (props) => alert(props.store);
const brokenFunction = (f) => (o) => o;
diff --git a/testdata/baselines/reference/submodule/compiler/intersectionTypeInference1.js.diff b/testdata/baselines/reference/submodule/compiler/intersectionTypeInference1.js.diff
deleted file mode 100644
index 56f35b8476..0000000000
--- a/testdata/baselines/reference/submodule/compiler/intersectionTypeInference1.js.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- old.intersectionTypeInference1.js
-+++ new.intersectionTypeInference1.js
-@@= skipped -11, +11 lines =@@
-
- //// [intersectionTypeInference1.js]
- "use strict";
--// Repro from #8801
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.Form3 = void 0;
-+// Repro from #8801
- function alert(s) { }
- const parameterFn = (props) => alert(props.store);
- const brokenFunction = (f) => (o) => o;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/intersectionsOfLargeUnions.js b/testdata/baselines/reference/submodule/compiler/intersectionsOfLargeUnions.js
index 8a09619e08..6e682816f3 100644
--- a/testdata/baselines/reference/submodule/compiler/intersectionsOfLargeUnions.js
+++ b/testdata/baselines/reference/submodule/compiler/intersectionsOfLargeUnions.js
@@ -30,11 +30,11 @@ export function assertNodeProperty<
//// [intersectionsOfLargeUnions.js]
"use strict";
+// Repro from #23977
Object.defineProperty(exports, "__esModule", { value: true });
exports.assertIsElement = assertIsElement;
exports.assertNodeTagName = assertNodeTagName;
exports.assertNodeProperty = assertNodeProperty;
-// Repro from #23977
function assertIsElement(node) {
let nodeType = node === null ? null : node.nodeType;
return nodeType === 1;
diff --git a/testdata/baselines/reference/submodule/compiler/intersectionsOfLargeUnions.js.diff b/testdata/baselines/reference/submodule/compiler/intersectionsOfLargeUnions.js.diff
deleted file mode 100644
index 1552e303e5..0000000000
--- a/testdata/baselines/reference/submodule/compiler/intersectionsOfLargeUnions.js.diff
+++ /dev/null
@@ -1,15 +0,0 @@
---- old.intersectionsOfLargeUnions.js
-+++ new.intersectionsOfLargeUnions.js
-@@= skipped -29, +29 lines =@@
-
- //// [intersectionsOfLargeUnions.js]
- "use strict";
--// Repro from #23977
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.assertIsElement = assertIsElement;
- exports.assertNodeTagName = assertNodeTagName;
- exports.assertNodeProperty = assertNodeProperty;
-+// Repro from #23977
- function assertIsElement(node) {
- let nodeType = node === null ? null : node.nodeType;
- return nodeType === 1;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/intersectionsOfLargeUnions2.js b/testdata/baselines/reference/submodule/compiler/intersectionsOfLargeUnions2.js
index d61b378eec..4fdc0f80b9 100644
--- a/testdata/baselines/reference/submodule/compiler/intersectionsOfLargeUnions2.js
+++ b/testdata/baselines/reference/submodule/compiler/intersectionsOfLargeUnions2.js
@@ -40,6 +40,7 @@ export function assertNodeProperty<
//// [intersectionsOfLargeUnions2.js]
"use strict";
+// Repro from #24233
Object.defineProperty(exports, "__esModule", { value: true });
exports.assertIsElement = assertIsElement;
exports.assertNodeTagName = assertNodeTagName;
diff --git a/testdata/baselines/reference/submodule/compiler/intersectionsOfLargeUnions2.js.diff b/testdata/baselines/reference/submodule/compiler/intersectionsOfLargeUnions2.js.diff
deleted file mode 100644
index 7468281772..0000000000
--- a/testdata/baselines/reference/submodule/compiler/intersectionsOfLargeUnions2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.intersectionsOfLargeUnions2.js
-+++ new.intersectionsOfLargeUnions2.js
-@@= skipped -39, +39 lines =@@
-
- //// [intersectionsOfLargeUnions2.js]
- "use strict";
--// Repro from #24233
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.assertIsElement = assertIsElement;
- exports.assertNodeTagName = assertNodeTagName;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/isolatedDeclarationErrorTypes1.js b/testdata/baselines/reference/submodule/compiler/isolatedDeclarationErrorTypes1.js
index f373f20796..64ad2de25b 100644
--- a/testdata/baselines/reference/submodule/compiler/isolatedDeclarationErrorTypes1.js
+++ b/testdata/baselines/reference/submodule/compiler/isolatedDeclarationErrorTypes1.js
@@ -12,6 +12,7 @@ export const foo3 = (type: Unresolved): void => {};
//// [isolatedDeclarationErrorTypes1.js]
"use strict";
+// https://github.com/microsoft/TypeScript/issues/60192
Object.defineProperty(exports, "__esModule", { value: true });
exports.foo3 = exports.foo2 = exports.foo1 = void 0;
const foo1 = (type) => { };
diff --git a/testdata/baselines/reference/submodule/compiler/isolatedDeclarationErrorTypes1.js.diff b/testdata/baselines/reference/submodule/compiler/isolatedDeclarationErrorTypes1.js.diff
index bec6aaca54..4134efb25c 100644
--- a/testdata/baselines/reference/submodule/compiler/isolatedDeclarationErrorTypes1.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/isolatedDeclarationErrorTypes1.js.diff
@@ -1,14 +1,6 @@
--- old.isolatedDeclarationErrorTypes1.js
+++ new.isolatedDeclarationErrorTypes1.js
-@@= skipped -11, +11 lines =@@
-
- //// [isolatedDeclarationErrorTypes1.js]
- "use strict";
--// https://github.com/microsoft/TypeScript/issues/60192
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.foo3 = exports.foo2 = exports.foo1 = void 0;
- const foo1 = (type) => { };
-@@= skipped -12, +11 lines =@@
+@@= skipped -23, +23 lines =@@
//// [isolatedDeclarationErrorTypes1.d.ts]
diff --git a/testdata/baselines/reference/submodule/compiler/isolatedDeclarationsAddUndefined2.js b/testdata/baselines/reference/submodule/compiler/isolatedDeclarationsAddUndefined2.js
index ead291b262..32bc756193 100644
--- a/testdata/baselines/reference/submodule/compiler/isolatedDeclarationsAddUndefined2.js
+++ b/testdata/baselines/reference/submodule/compiler/isolatedDeclarationsAddUndefined2.js
@@ -28,12 +28,12 @@ export function test3(x?: Unresolved): void {}
//// [isolatedDeclarationsAddUndefined2.js]
"use strict";
+// https://github.com/microsoft/TypeScript/issues/60123
Object.defineProperty(exports, "__esModule", { value: true });
exports.Bar4 = exports.Bar3 = exports.Bar2 = exports.Bar = void 0;
exports.test1 = test1;
exports.test2 = test2;
exports.test3 = test3;
-// https://github.com/microsoft/TypeScript/issues/60123
class Bar {
x;
constructor(x) {
diff --git a/testdata/baselines/reference/submodule/compiler/isolatedDeclarationsAddUndefined2.js.diff b/testdata/baselines/reference/submodule/compiler/isolatedDeclarationsAddUndefined2.js.diff
index b9c92a668b..1a37f56f75 100644
--- a/testdata/baselines/reference/submodule/compiler/isolatedDeclarationsAddUndefined2.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/isolatedDeclarationsAddUndefined2.js.diff
@@ -1,16 +1,8 @@
--- old.isolatedDeclarationsAddUndefined2.js
+++ new.isolatedDeclarationsAddUndefined2.js
-@@= skipped -27, +27 lines =@@
-
- //// [isolatedDeclarationsAddUndefined2.js]
- "use strict";
--// https://github.com/microsoft/TypeScript/issues/60123
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.Bar4 = exports.Bar3 = exports.Bar2 = exports.Bar = void 0;
- exports.test1 = test1;
+@@= skipped -34, +34 lines =@@
exports.test2 = test2;
exports.test3 = test3;
-+// https://github.com/microsoft/TypeScript/issues/60123
class Bar {
+ x;
constructor(x) {
diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js
index bf182d3b0a..225ab69c4c 100644
--- a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js
+++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js
@@ -14,11 +14,11 @@ module.exports = function loader(options) {}
//// [index.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
/**
* @typedef Options
* @property {string} opt
*/
+Object.defineProperty(exports, "__esModule", { value: true });
/**
* @param {Options} options
*/
@@ -34,6 +34,10 @@ module.exports = function loader(options) { };
//// [index.d.ts]
+/**
+ * @typedef Options
+ * @property {string} opt
+ */
export type Options = {
opt: string;
};
diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js.diff b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js.diff
index b9cfac184e..05ce65400f 100644
--- a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js.diff
@@ -1,22 +1,22 @@
--- old.jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js
+++ new.jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js
-@@= skipped -13, +13 lines =@@
-
- //// [index.js]
- "use strict";
+@@= skipped -17, +17 lines =@@
+ * @typedef Options
+ * @property {string} opt
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+/**
-+ * @typedef Options
-+ * @property {string} opt
-+ */
-+/**
+ * @param {Options} options
+ */
+export = function loader(options) { };
++/**
++ * @typedef Options
++ * @property {string} opt
++ */
/**
- * @typedef Options
- * @property {string} opt
-@@= skipped -11, +20 lines =@@
+ * @param {Options} options
+ */
+@@= skipped -7, +16 lines =@@
//// [index.d.ts]
@@ -26,6 +26,10 @@
-declare function _exports(options: Options): void;
-export = _exports;
-type Options = {
++/**
++ * @typedef Options
++ * @property {string} opt
++ */
+export type Options = {
opt: string;
};
diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationsInheritedTypes.js b/testdata/baselines/reference/submodule/compiler/jsDeclarationsInheritedTypes.js
index efd479b20b..27af38aea1 100644
--- a/testdata/baselines/reference/submodule/compiler/jsDeclarationsInheritedTypes.js
+++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationsInheritedTypes.js
@@ -36,6 +36,10 @@ class C3 extends C1 {
//// [a.d.ts]
+/**
+ * @typedef A
+ * @property {string} a
+ */
export type A = {
a: string;
};
diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationsInheritedTypes.js.diff b/testdata/baselines/reference/submodule/compiler/jsDeclarationsInheritedTypes.js.diff
index 0847a31c50..b9410f80a6 100644
--- a/testdata/baselines/reference/submodule/compiler/jsDeclarationsInheritedTypes.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationsInheritedTypes.js.diff
@@ -1,13 +1,9 @@
--- old.jsDeclarationsInheritedTypes.js
+++ new.jsDeclarationsInheritedTypes.js
-@@= skipped -35, +35 lines =@@
-
-
- //// [a.d.ts]
--/**
-- * @typedef A
-- * @property {string} a
-- */
+@@= skipped -39, +39 lines =@@
+ * @typedef A
+ * @property {string} a
+ */
-/**
- * @typedef B
- * @property {number} b
diff --git a/testdata/baselines/reference/submodule/compiler/jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js b/testdata/baselines/reference/submodule/compiler/jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js
index 236608d9bd..0bb4e6f499 100644
--- a/testdata/baselines/reference/submodule/compiler/jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js
+++ b/testdata/baselines/reference/submodule/compiler/jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js
@@ -47,10 +47,10 @@ NewAjax.prototype.case6_unexpectedlyResolvesPathToNodeModules;
//// [index.d.ts]
-export type LionRequestInit = import('@lion/ajax').LionRequestInit;
/**
* @typedef {import('@lion/ajax').LionRequestInit} LionRequestInit
*/
+export type LionRequestInit = import('@lion/ajax').LionRequestInit;
export declare class NewAjax {
/**
* @param {LionRequestInit} [init]
diff --git a/testdata/baselines/reference/submodule/compiler/jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js.diff b/testdata/baselines/reference/submodule/compiler/jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js.diff
index 7a5027b638..18975a2a3f 100644
--- a/testdata/baselines/reference/submodule/compiler/jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js.diff
@@ -1,14 +1,11 @@
--- old.jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js
+++ new.jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js
-@@= skipped -46, +46 lines =@@
-
-
- //// [index.d.ts]
-+export type LionRequestInit = import('@lion/ajax').LionRequestInit;
+@@= skipped -49, +49 lines =@@
/**
* @typedef {import('@lion/ajax').LionRequestInit} LionRequestInit
*/
-export class NewAjax {
++export type LionRequestInit = import('@lion/ajax').LionRequestInit;
+export declare class NewAjax {
/**
* @param {LionRequestInit} [init]
diff --git a/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js b/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js
index 30fd9c4e05..6a374721cf 100644
--- a/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js
+++ b/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js
@@ -56,10 +56,10 @@ const example3 = {
//// [jsFileAlternativeUseOfOverloadTag.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
// These are a few examples of existing alternative uses of @overload tag.
// They will not work as expected with our implementation, but we are
// trying to make sure that our changes do not result in any crashes here.
+Object.defineProperty(exports, "__esModule", { value: true });
const example1 = {
/**
* @overload Example1(value)
diff --git a/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js.diff
index 72bb7b12fe..8dae32a238 100644
--- a/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js.diff
@@ -5,10 +5,13 @@
//// [jsFileAlternativeUseOfOverloadTag.js]
+"use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
// These are a few examples of existing alternative uses of @overload tag.
// They will not work as expected with our implementation, but we are
// trying to make sure that our changes do not result in any crashes here.
++Object.defineProperty(exports, "__esModule", { value: true });
+ const example1 = {
+ /**
+ * @overload Example1(value)
@@= skipped -51, +53 lines =@@
diff --git a/testdata/baselines/reference/submodule/compiler/jsxCallElaborationCheckNoCrash1.js b/testdata/baselines/reference/submodule/compiler/jsxCallElaborationCheckNoCrash1.js
index 089e12841d..4f197298a1 100644
--- a/testdata/baselines/reference/submodule/compiler/jsxCallElaborationCheckNoCrash1.js
+++ b/testdata/baselines/reference/submodule/compiler/jsxCallElaborationCheckNoCrash1.js
@@ -17,9 +17,9 @@ export const Hoc = (
//// [jsxCallElaborationCheckNoCrash1.js]
"use strict";
+///
Object.defineProperty(exports, "__esModule", { value: true });
exports.Hoc = void 0;
-///
const React = require("react");
const Hoc = (TagElement) => {
const Component = () => React.createElement(TagElement, null);
diff --git a/testdata/baselines/reference/submodule/compiler/jsxCallElaborationCheckNoCrash1.js.diff b/testdata/baselines/reference/submodule/compiler/jsxCallElaborationCheckNoCrash1.js.diff
index c1dbfd53f8..8e4a0e5e02 100644
--- a/testdata/baselines/reference/submodule/compiler/jsxCallElaborationCheckNoCrash1.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/jsxCallElaborationCheckNoCrash1.js.diff
@@ -1,14 +1,10 @@
--- old.jsxCallElaborationCheckNoCrash1.js
+++ new.jsxCallElaborationCheckNoCrash1.js
-@@= skipped -16, +16 lines =@@
-
- //// [jsxCallElaborationCheckNoCrash1.js]
- "use strict";
--///
+@@= skipped -19, +19 lines =@@
+ ///
Object.defineProperty(exports, "__esModule", { value: true });
exports.Hoc = void 0;
-var React = require("react");
-+///
+const React = require("react");
const Hoc = (TagElement) => {
const Component = () => React.createElement(TagElement, null);
diff --git a/testdata/baselines/reference/submodule/compiler/jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.js b/testdata/baselines/reference/submodule/compiler/jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.js
index 354a537461..0730e084b9 100644
--- a/testdata/baselines/reference/submodule/compiler/jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.js
+++ b/testdata/baselines/reference/submodule/compiler/jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.js
@@ -28,9 +28,9 @@ export class App extends React.Component<{}> {
//// [jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.js]
"use strict";
+///
Object.defineProperty(exports, "__esModule", { value: true });
exports.App = void 0;
-///
const React = require("react");
function TabLayout(props) {
return React.createElement("div", null);
diff --git a/testdata/baselines/reference/submodule/compiler/jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.js.diff b/testdata/baselines/reference/submodule/compiler/jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.js.diff
index 4f2d8d312a..9a6bac24b2 100644
--- a/testdata/baselines/reference/submodule/compiler/jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.js.diff
@@ -1,14 +1,10 @@
--- old.jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.js
+++ new.jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.js
-@@= skipped -27, +27 lines =@@
-
- //// [jsxChildrenSingleChildConfusableWithMultipleChildrenNoError.js]
- "use strict";
--///
+@@= skipped -30, +30 lines =@@
+ ///
Object.defineProperty(exports, "__esModule", { value: true });
exports.App = void 0;
-var React = require("react");
-+///
+const React = require("react");
function TabLayout(props) {
return React.createElement("div", null);
diff --git a/testdata/baselines/reference/submodule/compiler/jsxComplexSignatureHasApplicabilityError.js b/testdata/baselines/reference/submodule/compiler/jsxComplexSignatureHasApplicabilityError.js
index ee76f869af..b425a88ebd 100644
--- a/testdata/baselines/reference/submodule/compiler/jsxComplexSignatureHasApplicabilityError.js
+++ b/testdata/baselines/reference/submodule/compiler/jsxComplexSignatureHasApplicabilityError.js
@@ -612,6 +612,7 @@ export interface ReactSelectProps extends React.Props
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -625,7 +626,6 @@ var __assign = (this && this.__assign) || function () {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createReactSingleSelect = createReactSingleSelect;
-///
const React = require("react");
function createReactSingleSelect(WrappedComponent) {
return (props) => {
diff --git a/testdata/baselines/reference/submodule/compiler/jsxComplexSignatureHasApplicabilityError.js.diff b/testdata/baselines/reference/submodule/compiler/jsxComplexSignatureHasApplicabilityError.js.diff
index 1a21218483..0cd38d4a45 100644
--- a/testdata/baselines/reference/submodule/compiler/jsxComplexSignatureHasApplicabilityError.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/jsxComplexSignatureHasApplicabilityError.js.diff
@@ -1,19 +1,10 @@
--- old.jsxComplexSignatureHasApplicabilityError.js
+++ new.jsxComplexSignatureHasApplicabilityError.js
-@@= skipped -611, +611 lines =@@
-
- //// [jsxComplexSignatureHasApplicabilityError.js]
- "use strict";
--///
- var __assign = (this && this.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
-@@= skipped -14, +13 lines =@@
+@@= skipped -625, +625 lines =@@
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createReactSingleSelect = createReactSingleSelect;
-var React = require("react");
-+///
+const React = require("react");
function createReactSingleSelect(WrappedComponent) {
return (props) => {
diff --git a/testdata/baselines/reference/submodule/compiler/jsxExcessPropsAndAssignability.js b/testdata/baselines/reference/submodule/compiler/jsxExcessPropsAndAssignability.js
index cbd2b8fb00..37a0f7edfd 100644
--- a/testdata/baselines/reference/submodule/compiler/jsxExcessPropsAndAssignability.js
+++ b/testdata/baselines/reference/submodule/compiler/jsxExcessPropsAndAssignability.js
@@ -20,6 +20,7 @@ const myHoc = (
//// [jsxExcessPropsAndAssignability.js]
"use strict";
+///
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -32,7 +33,6 @@ var __assign = (this && this.__assign) || function () {
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
-///
const React = require("react");
const myHoc = (ComposedComponent) => {
const WrapperComponent = null;
diff --git a/testdata/baselines/reference/submodule/compiler/jsxExcessPropsAndAssignability.js.diff b/testdata/baselines/reference/submodule/compiler/jsxExcessPropsAndAssignability.js.diff
index 961aefabfb..ab464f6bd5 100644
--- a/testdata/baselines/reference/submodule/compiler/jsxExcessPropsAndAssignability.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/jsxExcessPropsAndAssignability.js.diff
@@ -1,19 +1,10 @@
--- old.jsxExcessPropsAndAssignability.js
+++ new.jsxExcessPropsAndAssignability.js
-@@= skipped -19, +19 lines =@@
-
- //// [jsxExcessPropsAndAssignability.js]
- "use strict";
--///
- var __assign = (this && this.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
-@@= skipped -13, +12 lines =@@
+@@= skipped -32, +32 lines =@@
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
-var React = require("react");
-+///
+const React = require("react");
const myHoc = (ComposedComponent) => {
const WrapperComponent = null;
diff --git a/testdata/baselines/reference/submodule/compiler/jsxIntrinsicUnions.js b/testdata/baselines/reference/submodule/compiler/jsxIntrinsicUnions.js
index 912b0e85c5..95beb17270 100644
--- a/testdata/baselines/reference/submodule/compiler/jsxIntrinsicUnions.js
+++ b/testdata/baselines/reference/submodule/compiler/jsxIntrinsicUnions.js
@@ -12,8 +12,8 @@ const tag = {"Title"};
//// [jsxIntrinsicUnions.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
///
+Object.defineProperty(exports, "__esModule", { value: true });
const React = require("react");
const El = Math.random() ? 'h1' : 'h2';
const tag = React.createElement(El, { className: "ok", key: "key" }, "Title");
diff --git a/testdata/baselines/reference/submodule/compiler/jsxIntrinsicUnions.js.diff b/testdata/baselines/reference/submodule/compiler/jsxIntrinsicUnions.js.diff
index 3ca0818f87..b0b95f3946 100644
--- a/testdata/baselines/reference/submodule/compiler/jsxIntrinsicUnions.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/jsxIntrinsicUnions.js.diff
@@ -1,13 +1,10 @@
--- old.jsxIntrinsicUnions.js
+++ new.jsxIntrinsicUnions.js
-@@= skipped -11, +11 lines =@@
-
- //// [jsxIntrinsicUnions.js]
+@@= skipped -13, +13 lines =@@
"use strict";
--///
+ ///
Object.defineProperty(exports, "__esModule", { value: true });
-var React = require("react");
-+///
+const React = require("react");
const El = Math.random() ? 'h1' : 'h2';
const tag = React.createElement(El, { className: "ok", key: "key" }, "Title");
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/jsxIssuesErrorWhenTagExpectsTooManyArguments.js b/testdata/baselines/reference/submodule/compiler/jsxIssuesErrorWhenTagExpectsTooManyArguments.js
index 1c70ee3d23..d6cfb6507f 100644
--- a/testdata/baselines/reference/submodule/compiler/jsxIssuesErrorWhenTagExpectsTooManyArguments.js
+++ b/testdata/baselines/reference/submodule/compiler/jsxIssuesErrorWhenTagExpectsTooManyArguments.js
@@ -28,8 +28,8 @@ const d = ; // Technically OK, but probably
//// [jsxIssuesErrorWhenTagExpectsTooManyArguments.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
///
+Object.defineProperty(exports, "__esModule", { value: true });
const React = require("react");
function MyComp4(props, context, bad, verybad) {
return React.createElement("div", null);
diff --git a/testdata/baselines/reference/submodule/compiler/jsxIssuesErrorWhenTagExpectsTooManyArguments.js.diff b/testdata/baselines/reference/submodule/compiler/jsxIssuesErrorWhenTagExpectsTooManyArguments.js.diff
index 3125094b86..6b15ca0dec 100644
--- a/testdata/baselines/reference/submodule/compiler/jsxIssuesErrorWhenTagExpectsTooManyArguments.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/jsxIssuesErrorWhenTagExpectsTooManyArguments.js.diff
@@ -1,13 +1,10 @@
--- old.jsxIssuesErrorWhenTagExpectsTooManyArguments.js
+++ new.jsxIssuesErrorWhenTagExpectsTooManyArguments.js
-@@= skipped -27, +27 lines =@@
-
- //// [jsxIssuesErrorWhenTagExpectsTooManyArguments.js]
+@@= skipped -29, +29 lines =@@
"use strict";
--///
+ ///
Object.defineProperty(exports, "__esModule", { value: true });
-var React = require("react");
-+///
+const React = require("react");
function MyComp4(props, context, bad, verybad) {
return React.createElement("div", null);
diff --git a/testdata/baselines/reference/submodule/compiler/limitDeepInstantiations.js b/testdata/baselines/reference/submodule/compiler/limitDeepInstantiations.js
index d00023c9ca..3d4a46835e 100644
--- a/testdata/baselines/reference/submodule/compiler/limitDeepInstantiations.js
+++ b/testdata/baselines/reference/submodule/compiler/limitDeepInstantiations.js
@@ -9,5 +9,6 @@ let f2: Foo<"false", {}>;
//// [limitDeepInstantiations.js]
+// Repro from #14837
let f1;
let f2;
diff --git a/testdata/baselines/reference/submodule/compiler/limitDeepInstantiations.js.diff b/testdata/baselines/reference/submodule/compiler/limitDeepInstantiations.js.diff
deleted file mode 100644
index 9ad270affc..0000000000
--- a/testdata/baselines/reference/submodule/compiler/limitDeepInstantiations.js.diff
+++ /dev/null
@@ -1,9 +0,0 @@
---- old.limitDeepInstantiations.js
-+++ new.limitDeepInstantiations.js
-@@= skipped -8, +8 lines =@@
-
-
- //// [limitDeepInstantiations.js]
--// Repro from #14837
- let f1;
- let f2;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeGenericIndexedAccess.js b/testdata/baselines/reference/submodule/compiler/mappedTypeGenericIndexedAccess.js
index d3de3ec29e..e0cb4c8339 100644
--- a/testdata/baselines/reference/submodule/compiler/mappedTypeGenericIndexedAccess.js
+++ b/testdata/baselines/reference/submodule/compiler/mappedTypeGenericIndexedAccess.js
@@ -47,6 +47,7 @@ const onSomeEvent = (p: P) =>
//// [mappedTypeGenericIndexedAccess.js]
+// Repro from #49242
class Test {
entries;
constructor() {
diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeGenericIndexedAccess.js.diff b/testdata/baselines/reference/submodule/compiler/mappedTypeGenericIndexedAccess.js.diff
index f9adfbcda2..e231cfa770 100644
--- a/testdata/baselines/reference/submodule/compiler/mappedTypeGenericIndexedAccess.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/mappedTypeGenericIndexedAccess.js.diff
@@ -5,13 +5,13 @@
//// [mappedTypeGenericIndexedAccess.js]
-"use strict";
--// Repro from #49242
+ // Repro from #49242
class Test {
+ entries;
constructor() {
this.entries = {};
}
-@@= skipped -18, +17 lines =@@
+@@= skipped -18, +18 lines =@@
[0]: (p) => console.log(p.foo),
[1]: (p) => console.log(p.a),
};
diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeIndexedAccess.js b/testdata/baselines/reference/submodule/compiler/mappedTypeIndexedAccess.js
index 12d26ef41b..5db211fd58 100644
--- a/testdata/baselines/reference/submodule/compiler/mappedTypeIndexedAccess.js
+++ b/testdata/baselines/reference/submodule/compiler/mappedTypeIndexedAccess.js
@@ -31,6 +31,7 @@ let pair2: Pairs[keyof FooBar] = {
//// [mappedTypeIndexedAccess.js]
+// Repro from #15756
// Error expected here
let pair1 = {
key: "foo",
diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeIndexedAccess.js.diff b/testdata/baselines/reference/submodule/compiler/mappedTypeIndexedAccess.js.diff
index 78ebf16833..a78abeae77 100644
--- a/testdata/baselines/reference/submodule/compiler/mappedTypeIndexedAccess.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/mappedTypeIndexedAccess.js.diff
@@ -5,7 +5,6 @@
//// [mappedTypeIndexedAccess.js]
-"use strict";
--// Repro from #15756
+ // Repro from #15756
// Error expected here
- let pair1 = {
- key: "foo",
\ No newline at end of file
+ let pair1 = {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeInferenceCircularity.js b/testdata/baselines/reference/submodule/compiler/mappedTypeInferenceCircularity.js
index 9dc10b5e36..9559d67856 100644
--- a/testdata/baselines/reference/submodule/compiler/mappedTypeInferenceCircularity.js
+++ b/testdata/baselines/reference/submodule/compiler/mappedTypeInferenceCircularity.js
@@ -10,4 +10,5 @@ declare var h: HTML;
h.div(h);
//// [mappedTypeInferenceCircularity.js]
+// Repro from #12511
h.div(h);
diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeInferenceCircularity.js.diff b/testdata/baselines/reference/submodule/compiler/mappedTypeInferenceCircularity.js.diff
deleted file mode 100644
index 42d3272a0b..0000000000
--- a/testdata/baselines/reference/submodule/compiler/mappedTypeInferenceCircularity.js.diff
+++ /dev/null
@@ -1,8 +0,0 @@
---- old.mappedTypeInferenceCircularity.js
-+++ new.mappedTypeInferenceCircularity.js
-@@= skipped -9, +9 lines =@@
- h.div(h);
-
- //// [mappedTypeInferenceCircularity.js]
--// Repro from #12511
- h.div(h);
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeNestedGenericInstantiation.js b/testdata/baselines/reference/submodule/compiler/mappedTypeNestedGenericInstantiation.js
index 2be7e110b9..327d9b8d1b 100644
--- a/testdata/baselines/reference/submodule/compiler/mappedTypeNestedGenericInstantiation.js
+++ b/testdata/baselines/reference/submodule/compiler/mappedTypeNestedGenericInstantiation.js
@@ -16,5 +16,6 @@ const v = chain({a: 1, b: 2}).mapValues(square).value();
//// [mappedTypeNestedGenericInstantiation.js]
+// Repro from #13346
const square = (x) => x * x;
const v = chain({ a: 1, b: 2 }).mapValues(square).value();
diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeNestedGenericInstantiation.js.diff b/testdata/baselines/reference/submodule/compiler/mappedTypeNestedGenericInstantiation.js.diff
deleted file mode 100644
index 5816153056..0000000000
--- a/testdata/baselines/reference/submodule/compiler/mappedTypeNestedGenericInstantiation.js.diff
+++ /dev/null
@@ -1,9 +0,0 @@
---- old.mappedTypeNestedGenericInstantiation.js
-+++ new.mappedTypeNestedGenericInstantiation.js
-@@= skipped -15, +15 lines =@@
-
-
- //// [mappedTypeNestedGenericInstantiation.js]
--// Repro from #13346
- const square = (x) => x * x;
- const v = chain({ a: 1, b: 2 }).mapValues(square).value();
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeParameterConstraint.js b/testdata/baselines/reference/submodule/compiler/mappedTypeParameterConstraint.js
index 789c65e064..2573d7a36b 100644
--- a/testdata/baselines/reference/submodule/compiler/mappedTypeParameterConstraint.js
+++ b/testdata/baselines/reference/submodule/compiler/mappedTypeParameterConstraint.js
@@ -10,6 +10,7 @@ function foo(arg: U): MyMap {
//// [mappedTypeParameterConstraint.js]
+// Repro for #27596
function foo(arg) {
return arg;
}
diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeParameterConstraint.js.diff b/testdata/baselines/reference/submodule/compiler/mappedTypeParameterConstraint.js.diff
deleted file mode 100644
index 6ad2cc4e2a..0000000000
--- a/testdata/baselines/reference/submodule/compiler/mappedTypeParameterConstraint.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.mappedTypeParameterConstraint.js
-+++ new.mappedTypeParameterConstraint.js
-@@= skipped -9, +9 lines =@@
-
-
- //// [mappedTypeParameterConstraint.js]
--// Repro for #27596
- function foo(arg) {
- return arg;
- }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypePartialConstraints.js b/testdata/baselines/reference/submodule/compiler/mappedTypePartialConstraints.js
index 535d8ce788..c4ba242b78 100644
--- a/testdata/baselines/reference/submodule/compiler/mappedTypePartialConstraints.js
+++ b/testdata/baselines/reference/submodule/compiler/mappedTypePartialConstraints.js
@@ -19,6 +19,7 @@ fn(MySubClass);
//// [mappedTypePartialConstraints.js]
+// Repro from #16985
class MyClass {
doIt(data) { }
}
diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypePartialConstraints.js.diff b/testdata/baselines/reference/submodule/compiler/mappedTypePartialConstraints.js.diff
deleted file mode 100644
index 349a969b2d..0000000000
--- a/testdata/baselines/reference/submodule/compiler/mappedTypePartialConstraints.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.mappedTypePartialConstraints.js
-+++ new.mappedTypePartialConstraints.js
-@@= skipped -18, +18 lines =@@
-
-
- //// [mappedTypePartialConstraints.js]
--// Repro from #16985
- class MyClass {
- doIt(data) { }
- }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeWithCombinedTypeMappers.js b/testdata/baselines/reference/submodule/compiler/mappedTypeWithCombinedTypeMappers.js
index 75b4ca83db..3ed298c154 100644
--- a/testdata/baselines/reference/submodule/compiler/mappedTypeWithCombinedTypeMappers.js
+++ b/testdata/baselines/reference/submodule/compiler/mappedTypeWithCombinedTypeMappers.js
@@ -22,4 +22,5 @@ const shouldFail: { important: boolean } = output.x.children;
//// [mappedTypeWithCombinedTypeMappers.js]
+// Repro from #13351
const shouldFail = output.x.children;
diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeWithCombinedTypeMappers.js.diff b/testdata/baselines/reference/submodule/compiler/mappedTypeWithCombinedTypeMappers.js.diff
deleted file mode 100644
index 5f380fbc01..0000000000
--- a/testdata/baselines/reference/submodule/compiler/mappedTypeWithCombinedTypeMappers.js.diff
+++ /dev/null
@@ -1,8 +0,0 @@
---- old.mappedTypeWithCombinedTypeMappers.js
-+++ new.mappedTypeWithCombinedTypeMappers.js
-@@= skipped -21, +21 lines =@@
-
-
- //// [mappedTypeWithCombinedTypeMappers.js]
--// Repro from #13351
- const shouldFail = output.x.children;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/mixinPrivateAndProtected.js b/testdata/baselines/reference/submodule/compiler/mixinPrivateAndProtected.js
index c7763285d2..0b12977d87 100644
--- a/testdata/baselines/reference/submodule/compiler/mixinPrivateAndProtected.js
+++ b/testdata/baselines/reference/submodule/compiler/mixinPrivateAndProtected.js
@@ -92,6 +92,7 @@ class Customer extends PersonMixin(Person) {
//// [mixinPrivateAndProtected.js]
+// Repro from #13830
class A {
pb = 2;
ptd = 1;
diff --git a/testdata/baselines/reference/submodule/compiler/mixinPrivateAndProtected.js.diff b/testdata/baselines/reference/submodule/compiler/mixinPrivateAndProtected.js.diff
index c9cd276f69..6756cce609 100644
--- a/testdata/baselines/reference/submodule/compiler/mixinPrivateAndProtected.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/mixinPrivateAndProtected.js.diff
@@ -1,10 +1,8 @@
--- old.mixinPrivateAndProtected.js
+++ new.mixinPrivateAndProtected.js
-@@= skipped -91, +91 lines =@@
-
-
+@@= skipped -93, +93 lines =@@
//// [mixinPrivateAndProtected.js]
--// Repro from #13830
+ // Repro from #13830
class A {
- constructor() {
- this.pb = 2;
@@ -48,7 +46,7 @@
};
}
const AB2C = mixC(AB2), ABC = mixC(AB);
-@@= skipped -51, +39 lines =@@
+@@= skipped -49, +38 lines =@@
ab2c.pvt.toFixed(); // Error
// Repro from #13924
class Person {
diff --git a/testdata/baselines/reference/submodule/compiler/moduleAugmentationDuringSyntheticDefaultCheck.js b/testdata/baselines/reference/submodule/compiler/moduleAugmentationDuringSyntheticDefaultCheck.js
index 1de091ed9e..145596af3b 100644
--- a/testdata/baselines/reference/submodule/compiler/moduleAugmentationDuringSyntheticDefaultCheck.js
+++ b/testdata/baselines/reference/submodule/compiler/moduleAugmentationDuringSyntheticDefaultCheck.js
@@ -36,4 +36,5 @@ import moment = require("moment-timezone");
//// [idx.test.js]
"use strict";
+///
Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/testdata/baselines/reference/submodule/compiler/moduleAugmentationDuringSyntheticDefaultCheck.js.diff b/testdata/baselines/reference/submodule/compiler/moduleAugmentationDuringSyntheticDefaultCheck.js.diff
index 74cfebc2a4..75ddb861bb 100644
--- a/testdata/baselines/reference/submodule/compiler/moduleAugmentationDuringSyntheticDefaultCheck.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/moduleAugmentationDuringSyntheticDefaultCheck.js.diff
@@ -9,5 +9,4 @@
-Object.defineProperty(exports, "__esModule", { value: true });
//// [idx.test.js]
"use strict";
--///
- Object.defineProperty(exports, "__esModule", { value: true });
\ No newline at end of file
+ ///
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule1.js b/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule1.js
index b1196c299a..310ddede4b 100644
--- a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule1.js
+++ b/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule1.js
@@ -28,6 +28,7 @@ x.foo().x;
//// [main.js]
"use strict";
+///
Object.defineProperty(exports, "__esModule", { value: true });
let x;
x.foo().x;
diff --git a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule1.js.diff b/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule1.js.diff
deleted file mode 100644
index d8f590916e..0000000000
--- a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule1.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.moduleAugmentationInAmbientModule1.js
-+++ new.moduleAugmentationInAmbientModule1.js
-@@= skipped -27, +27 lines =@@
-
- //// [main.js]
- "use strict";
--///
- Object.defineProperty(exports, "__esModule", { value: true });
- let x;
- x.foo().x;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule2.js b/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule2.js
index f02b2a39a2..1f270b9f81 100644
--- a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule2.js
+++ b/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule2.js
@@ -29,6 +29,7 @@ x.foo().x;
//// [main.js]
"use strict";
+///
Object.defineProperty(exports, "__esModule", { value: true });
require("Map");
let x;
diff --git a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule2.js.diff b/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule2.js.diff
index 5bb4aef0ec..d95b87e65e 100644
--- a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule2.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule2.js.diff
@@ -1,11 +1,6 @@
--- old.moduleAugmentationInAmbientModule2.js
+++ new.moduleAugmentationInAmbientModule2.js
-@@= skipped -28, +28 lines =@@
-
- //// [main.js]
- "use strict";
--///
- Object.defineProperty(exports, "__esModule", { value: true });
+@@= skipped -33, +33 lines =@@
require("Map");
let x;
x.foo().x;
diff --git a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule3.js b/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule3.js
index 4dc2ba18b4..dda27d1c9f 100644
--- a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule3.js
+++ b/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule3.js
@@ -39,6 +39,7 @@ x.foo2().x2;
//// [main.js]
"use strict";
+///
Object.defineProperty(exports, "__esModule", { value: true });
require("Map");
let x;
diff --git a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule3.js.diff b/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule3.js.diff
index f9bab0626d..a7764856f2 100644
--- a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule3.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule3.js.diff
@@ -1,12 +1,6 @@
--- old.moduleAugmentationInAmbientModule3.js
+++ new.moduleAugmentationInAmbientModule3.js
-@@= skipped -38, +38 lines =@@
-
- //// [main.js]
- "use strict";
--///
- Object.defineProperty(exports, "__esModule", { value: true });
- require("Map");
+@@= skipped -44, +44 lines =@@
let x;
x.foo().x;
x.foo2().x2;
diff --git a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule4.js b/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule4.js
index 7a452c7a49..68039aeea6 100644
--- a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule4.js
+++ b/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule4.js
@@ -41,6 +41,8 @@ x.foo2().x2;
//// [main.js]
"use strict";
+///
+///
Object.defineProperty(exports, "__esModule", { value: true });
require("Map");
let x;
diff --git a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule4.js.diff b/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule4.js.diff
index b88382915e..f2d1c8beab 100644
--- a/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule4.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/moduleAugmentationInAmbientModule4.js.diff
@@ -1,13 +1,6 @@
--- old.moduleAugmentationInAmbientModule4.js
+++ new.moduleAugmentationInAmbientModule4.js
-@@= skipped -40, +40 lines =@@
-
- //// [main.js]
- "use strict";
--///
--///
- Object.defineProperty(exports, "__esModule", { value: true });
- require("Map");
+@@= skipped -47, +47 lines =@@
let x;
x.foo().x;
x.foo2().x2;
diff --git a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSymlinks_preserveSymlinks.js b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSymlinks_preserveSymlinks.js
index de63c70176..31cdc9ec06 100644
--- a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSymlinks_preserveSymlinks.js
+++ b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSymlinks_preserveSymlinks.js
@@ -21,9 +21,9 @@ x = new C2();
//// [app.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
// We shouldn't resolve symlinks for references either. See the trace.
///
+Object.defineProperty(exports, "__esModule", { value: true });
const linked_1 = require("linked");
const linked2_1 = require("linked2");
let x = new linked_1.C();
diff --git a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSymlinks_preserveSymlinks.js.diff b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSymlinks_preserveSymlinks.js.diff
index 01db587117..eef0d9a16b 100644
--- a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSymlinks_preserveSymlinks.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSymlinks_preserveSymlinks.js.diff
@@ -1,13 +1,9 @@
--- old.moduleResolutionWithSymlinks_preserveSymlinks.js
+++ new.moduleResolutionWithSymlinks_preserveSymlinks.js
-@@= skipped -20, +20 lines =@@
-
- //// [app.js]
- "use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
+@@= skipped -23, +23 lines =@@
// We shouldn't resolve symlinks for references either. See the trace.
///
--Object.defineProperty(exports, "__esModule", { value: true });
+ Object.defineProperty(exports, "__esModule", { value: true });
-var linked_1 = require("linked");
-var linked2_1 = require("linked2");
+const linked_1 = require("linked");
diff --git a/testdata/baselines/reference/submodule/compiler/mutuallyRecursiveCallbacks.js b/testdata/baselines/reference/submodule/compiler/mutuallyRecursiveCallbacks.js
index 1293db402c..29786c4222 100644
--- a/testdata/baselines/reference/submodule/compiler/mutuallyRecursiveCallbacks.js
+++ b/testdata/baselines/reference/submodule/compiler/mutuallyRecursiveCallbacks.js
@@ -11,5 +11,6 @@ bar = foo;
//// [mutuallyRecursiveCallbacks.js]
+// Repro from #18277
;
bar = foo;
diff --git a/testdata/baselines/reference/submodule/compiler/mutuallyRecursiveCallbacks.js.diff b/testdata/baselines/reference/submodule/compiler/mutuallyRecursiveCallbacks.js.diff
deleted file mode 100644
index 514e00850f..0000000000
--- a/testdata/baselines/reference/submodule/compiler/mutuallyRecursiveCallbacks.js.diff
+++ /dev/null
@@ -1,9 +0,0 @@
---- old.mutuallyRecursiveCallbacks.js
-+++ new.mutuallyRecursiveCallbacks.js
-@@= skipped -10, +10 lines =@@
-
-
- //// [mutuallyRecursiveCallbacks.js]
--// Repro from #18277
- ;
- bar = foo;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/narrowingAssignmentReadonlyRespectsAssertion.js b/testdata/baselines/reference/submodule/compiler/narrowingAssignmentReadonlyRespectsAssertion.js
index 1883857f77..d8c5dac351 100644
--- a/testdata/baselines/reference/submodule/compiler/narrowingAssignmentReadonlyRespectsAssertion.js
+++ b/testdata/baselines/reference/submodule/compiler/narrowingAssignmentReadonlyRespectsAssertion.js
@@ -43,6 +43,7 @@ testFunc();
//// [narrowingAssignmentReadonlyRespectsAssertion.js]
+// https://github.com/microsoft/TypeScript/issues/41984
function subDataFunc() {
return [
{ val1: "a", val2: ["a", "b", "c"] },
diff --git a/testdata/baselines/reference/submodule/compiler/narrowingAssignmentReadonlyRespectsAssertion.js.diff b/testdata/baselines/reference/submodule/compiler/narrowingAssignmentReadonlyRespectsAssertion.js.diff
deleted file mode 100644
index ee0de41a3e..0000000000
--- a/testdata/baselines/reference/submodule/compiler/narrowingAssignmentReadonlyRespectsAssertion.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.narrowingAssignmentReadonlyRespectsAssertion.js
-+++ new.narrowingAssignmentReadonlyRespectsAssertion.js
-@@= skipped -42, +42 lines =@@
-
-
- //// [narrowingAssignmentReadonlyRespectsAssertion.js]
--// https://github.com/microsoft/TypeScript/issues/41984
- function subDataFunc() {
- return [
- { val1: "a", val2: ["a", "b", "c"] },
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/narrowingByDiscriminantInLoop.js b/testdata/baselines/reference/submodule/compiler/narrowingByDiscriminantInLoop.js
index 6f72b882e0..c0e686f486 100644
--- a/testdata/baselines/reference/submodule/compiler/narrowingByDiscriminantInLoop.js
+++ b/testdata/baselines/reference/submodule/compiler/narrowingByDiscriminantInLoop.js
@@ -88,6 +88,7 @@ function f2(x: A | B) {
}
//// [narrowingByDiscriminantInLoop.js]
+// Repro from #9977
function insertInterface(callbackType) {
for (const memberType of callbackType.members) {
if (memberType.type === "const") {
diff --git a/testdata/baselines/reference/submodule/compiler/narrowingByDiscriminantInLoop.js.diff b/testdata/baselines/reference/submodule/compiler/narrowingByDiscriminantInLoop.js.diff
deleted file mode 100644
index 4b13749fc3..0000000000
--- a/testdata/baselines/reference/submodule/compiler/narrowingByDiscriminantInLoop.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.narrowingByDiscriminantInLoop.js
-+++ new.narrowingByDiscriminantInLoop.js
-@@= skipped -87, +87 lines =@@
- }
-
- //// [narrowingByDiscriminantInLoop.js]
--// Repro from #9977
- function insertInterface(callbackType) {
- for (const memberType of callbackType.members) {
- if (memberType.type === "const") {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/narrowingConstrainedTypeParameter.js b/testdata/baselines/reference/submodule/compiler/narrowingConstrainedTypeParameter.js
index f430b1633d..9b76ba2a7a 100644
--- a/testdata/baselines/reference/submodule/compiler/narrowingConstrainedTypeParameter.js
+++ b/testdata/baselines/reference/submodule/compiler/narrowingConstrainedTypeParameter.js
@@ -20,6 +20,7 @@ export function speak(pet: TPet, voice: (pet: TPet) => string)
//// [narrowingConstrainedTypeParameter.js]
"use strict";
+// Repro from #10811
Object.defineProperty(exports, "__esModule", { value: true });
exports.speak = speak;
function isPet(pet) {
diff --git a/testdata/baselines/reference/submodule/compiler/narrowingConstrainedTypeParameter.js.diff b/testdata/baselines/reference/submodule/compiler/narrowingConstrainedTypeParameter.js.diff
deleted file mode 100644
index a91c8edb73..0000000000
--- a/testdata/baselines/reference/submodule/compiler/narrowingConstrainedTypeParameter.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.narrowingConstrainedTypeParameter.js
-+++ new.narrowingConstrainedTypeParameter.js
-@@= skipped -19, +19 lines =@@
-
- //// [narrowingConstrainedTypeParameter.js]
- "use strict";
--// Repro from #10811
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.speak = speak;
- function isPet(pet) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/narrowingMutualSubtypes.js b/testdata/baselines/reference/submodule/compiler/narrowingMutualSubtypes.js
index 63c8c4a840..dcbd8a4ba2 100644
--- a/testdata/baselines/reference/submodule/compiler/narrowingMutualSubtypes.js
+++ b/testdata/baselines/reference/submodule/compiler/narrowingMutualSubtypes.js
@@ -145,6 +145,7 @@ function checksArrayOrObject2(obj: Record | Record[])
//// [narrowingMutualSubtypes.js]
+// Check that `any` is a strict supertype of `unknown`
const a1a = [ru1, ra1]; // { [x: string]: any }[]
const a1b = [ra1, ru1]; // { [x: string]: any }[]
const a2a = [ru2, ra2]; // { [x: string]: any }[]
diff --git a/testdata/baselines/reference/submodule/compiler/narrowingMutualSubtypes.js.diff b/testdata/baselines/reference/submodule/compiler/narrowingMutualSubtypes.js.diff
index da7c361c5c..4d9bdd5433 100644
--- a/testdata/baselines/reference/submodule/compiler/narrowingMutualSubtypes.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/narrowingMutualSubtypes.js.diff
@@ -5,7 +5,6 @@
//// [narrowingMutualSubtypes.js]
-"use strict";
--// Check that `any` is a strict supertype of `unknown`
+ // Check that `any` is a strict supertype of `unknown`
const a1a = [ru1, ra1]; // { [x: string]: any }[]
- const a1b = [ra1, ru1]; // { [x: string]: any }[]
- const a2a = [ru2, ra2]; // { [x: string]: any }[]
\ No newline at end of file
+ const a1b = [ra1, ru1]; // { [x: string]: any }[]
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/narrowingOfQualifiedNames.js b/testdata/baselines/reference/submodule/compiler/narrowingOfQualifiedNames.js
index b2f8305403..9d85e8c2ff 100644
--- a/testdata/baselines/reference/submodule/compiler/narrowingOfQualifiedNames.js
+++ b/testdata/baselines/reference/submodule/compiler/narrowingOfQualifiedNames.js
@@ -89,6 +89,7 @@ function handleDogWorking(pet: Pet) {
}
//// [narrowingOfQualifiedNames.js]
+// Repro from #43411
function init(properties) {
if (properties.foo) {
properties.foo; // type is { aaa: string; bbb: string; }
diff --git a/testdata/baselines/reference/submodule/compiler/narrowingOfQualifiedNames.js.diff b/testdata/baselines/reference/submodule/compiler/narrowingOfQualifiedNames.js.diff
index 5ab38260dd..96f14aa958 100644
--- a/testdata/baselines/reference/submodule/compiler/narrowingOfQualifiedNames.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/narrowingOfQualifiedNames.js.diff
@@ -5,7 +5,6 @@
//// [narrowingOfQualifiedNames.js]
-"use strict";
--// Repro from #43411
+ // Repro from #43411
function init(properties) {
- if (properties.foo) {
- properties.foo; // type is { aaa: string; bbb: string; }
\ No newline at end of file
+ if (properties.foo) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/noAsConstNameLookup.js b/testdata/baselines/reference/submodule/compiler/noAsConstNameLookup.js
index c90a2a17f6..85d56a02ee 100644
--- a/testdata/baselines/reference/submodule/compiler/noAsConstNameLookup.js
+++ b/testdata/baselines/reference/submodule/compiler/noAsConstNameLookup.js
@@ -33,6 +33,7 @@ new C().f();
//// [noAsConstNameLookup.js]
+// Repros from #44292
export class FeatureRunner {
cleaners = [];
async runFeature() {
diff --git a/testdata/baselines/reference/submodule/compiler/noAsConstNameLookup.js.diff b/testdata/baselines/reference/submodule/compiler/noAsConstNameLookup.js.diff
index 6082f9529f..44f88e019b 100644
--- a/testdata/baselines/reference/submodule/compiler/noAsConstNameLookup.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/noAsConstNameLookup.js.diff
@@ -1,10 +1,9 @@
--- old.noAsConstNameLookup.js
+++ new.noAsConstNameLookup.js
-@@= skipped -32, +32 lines =@@
-
+@@= skipped -33, +33 lines =@@
//// [noAsConstNameLookup.js]
--// Repros from #44292
+ // Repros from #44292
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
diff --git a/testdata/baselines/reference/submodule/compiler/noErrorTruncation.js b/testdata/baselines/reference/submodule/compiler/noErrorTruncation.js
index f55016cf9e..57885ddc12 100644
--- a/testdata/baselines/reference/submodule/compiler/noErrorTruncation.js
+++ b/testdata/baselines/reference/submodule/compiler/noErrorTruncation.js
@@ -19,4 +19,5 @@ const x: SomeLongOptionA
//// [noErrorTruncation.js]
+// @noErrorTruncation
const x = 42;
diff --git a/testdata/baselines/reference/submodule/compiler/noErrorTruncation.js.diff b/testdata/baselines/reference/submodule/compiler/noErrorTruncation.js.diff
deleted file mode 100644
index f66891b2e7..0000000000
--- a/testdata/baselines/reference/submodule/compiler/noErrorTruncation.js.diff
+++ /dev/null
@@ -1,8 +0,0 @@
---- old.noErrorTruncation.js
-+++ new.noErrorTruncation.js
-@@= skipped -18, +18 lines =@@
-
-
- //// [noErrorTruncation.js]
--// @noErrorTruncation
- const x = 42;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/noExcessiveStackDepthError.js b/testdata/baselines/reference/submodule/compiler/noExcessiveStackDepthError.js
index 650edc17d6..ef673963b3 100644
--- a/testdata/baselines/reference/submodule/compiler/noExcessiveStackDepthError.js
+++ b/testdata/baselines/reference/submodule/compiler/noExcessiveStackDepthError.js
@@ -18,6 +18,7 @@ function foo() {
//// [noExcessiveStackDepthError.js]
+// Repro from #46631
function foo() {
var x;
var x; // Excessive stack depth error not expected here
diff --git a/testdata/baselines/reference/submodule/compiler/noExcessiveStackDepthError.js.diff b/testdata/baselines/reference/submodule/compiler/noExcessiveStackDepthError.js.diff
index c6ce643aa2..8cf54fc688 100644
--- a/testdata/baselines/reference/submodule/compiler/noExcessiveStackDepthError.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/noExcessiveStackDepthError.js.diff
@@ -5,7 +5,6 @@
//// [noExcessiveStackDepthError.js]
-"use strict";
--// Repro from #46631
+ // Repro from #46631
function foo() {
- var x;
- var x; // Excessive stack depth error not expected here
\ No newline at end of file
+ var x;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/noImplicitAnyInCastExpression.js b/testdata/baselines/reference/submodule/compiler/noImplicitAnyInCastExpression.js
index bed03832af..564f12939c 100644
--- a/testdata/baselines/reference/submodule/compiler/noImplicitAnyInCastExpression.js
+++ b/testdata/baselines/reference/submodule/compiler/noImplicitAnyInCastExpression.js
@@ -18,6 +18,7 @@ interface IFoo {
({ c: null });
//// [noImplicitAnyInCastExpression.js]
+// verify no noImplictAny errors reported with cast expression
// Expr type not assignable to target type
(({ a: null }));
// Expr type assignable to target type
diff --git a/testdata/baselines/reference/submodule/compiler/noImplicitAnyInCastExpression.js.diff b/testdata/baselines/reference/submodule/compiler/noImplicitAnyInCastExpression.js.diff
index 6bb1eb9514..6b86be5482 100644
--- a/testdata/baselines/reference/submodule/compiler/noImplicitAnyInCastExpression.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/noImplicitAnyInCastExpression.js.diff
@@ -1,10 +1,8 @@
--- old.noImplicitAnyInCastExpression.js
+++ new.noImplicitAnyInCastExpression.js
-@@= skipped -17, +17 lines =@@
- ({ c: null });
-
+@@= skipped -19, +19 lines =@@
//// [noImplicitAnyInCastExpression.js]
--// verify no noImplictAny errors reported with cast expression
+ // verify no noImplictAny errors reported with cast expression
// Expr type not assignable to target type
-({ a: null });
+(({ a: null }));
diff --git a/testdata/baselines/reference/submodule/compiler/nonNullableAndObjectIntersections(strict=false).js b/testdata/baselines/reference/submodule/compiler/nonNullableAndObjectIntersections(strict=false).js
index 9ee99aa2ad..cc81c52b2d 100644
--- a/testdata/baselines/reference/submodule/compiler/nonNullableAndObjectIntersections(strict=false).js
+++ b/testdata/baselines/reference/submodule/compiler/nonNullableAndObjectIntersections(strict=false).js
@@ -20,3 +20,4 @@ type TestOld = NonNullableOld;
//// [nonNullableAndObjectIntersections.js]
+// These should all resolve to never
diff --git a/testdata/baselines/reference/submodule/compiler/nonNullableAndObjectIntersections(strict=false).js.diff b/testdata/baselines/reference/submodule/compiler/nonNullableAndObjectIntersections(strict=false).js.diff
deleted file mode 100644
index 2d6395f613..0000000000
--- a/testdata/baselines/reference/submodule/compiler/nonNullableAndObjectIntersections(strict=false).js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.nonNullableAndObjectIntersections(strict=false).js
-+++ new.nonNullableAndObjectIntersections(strict=false).js
-@@= skipped -19, +19 lines =@@
-
-
- //// [nonNullableAndObjectIntersections.js]
--// These should all resolve to never
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/nonNullableAndObjectIntersections(strict=true).js b/testdata/baselines/reference/submodule/compiler/nonNullableAndObjectIntersections(strict=true).js
index 9ee99aa2ad..cc81c52b2d 100644
--- a/testdata/baselines/reference/submodule/compiler/nonNullableAndObjectIntersections(strict=true).js
+++ b/testdata/baselines/reference/submodule/compiler/nonNullableAndObjectIntersections(strict=true).js
@@ -20,3 +20,4 @@ type TestOld = NonNullableOld;
//// [nonNullableAndObjectIntersections.js]
+// These should all resolve to never
diff --git a/testdata/baselines/reference/submodule/compiler/nonNullableAndObjectIntersections(strict=true).js.diff b/testdata/baselines/reference/submodule/compiler/nonNullableAndObjectIntersections(strict=true).js.diff
index 1ff55a894a..900254fa63 100644
--- a/testdata/baselines/reference/submodule/compiler/nonNullableAndObjectIntersections(strict=true).js.diff
+++ b/testdata/baselines/reference/submodule/compiler/nonNullableAndObjectIntersections(strict=true).js.diff
@@ -5,4 +5,4 @@
//// [nonNullableAndObjectIntersections.js]
-"use strict";
--// These should all resolve to never
\ No newline at end of file
+ // These should all resolve to never
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/nonNullableReduction.js b/testdata/baselines/reference/submodule/compiler/nonNullableReduction.js
index 7bcb5236cc..f86e844830 100644
--- a/testdata/baselines/reference/submodule/compiler/nonNullableReduction.js
+++ b/testdata/baselines/reference/submodule/compiler/nonNullableReduction.js
@@ -21,6 +21,7 @@ function f2(x: T | U) {
//// [nonNullableReduction.js]
+// Repros from #43425
function test(f1, f2) {
f1 === null || f1 === void 0 ? void 0 : f1("hello");
f2 === null || f2 === void 0 ? void 0 : f2("hello");
diff --git a/testdata/baselines/reference/submodule/compiler/nonNullableReduction.js.diff b/testdata/baselines/reference/submodule/compiler/nonNullableReduction.js.diff
index 764ced1140..3e74c451a1 100644
--- a/testdata/baselines/reference/submodule/compiler/nonNullableReduction.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/nonNullableReduction.js.diff
@@ -5,7 +5,6 @@
//// [nonNullableReduction.js]
-"use strict";
--// Repros from #43425
+ // Repros from #43425
function test(f1, f2) {
- f1 === null || f1 === void 0 ? void 0 : f1("hello");
- f2 === null || f2 === void 0 ? void 0 : f2("hello");
\ No newline at end of file
+ f1 === null || f1 === void 0 ? void 0 : f1("hello");
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/nonNullableReductionNonStrict.js b/testdata/baselines/reference/submodule/compiler/nonNullableReductionNonStrict.js
index 4bec3fee12..21567dfc36 100644
--- a/testdata/baselines/reference/submodule/compiler/nonNullableReductionNonStrict.js
+++ b/testdata/baselines/reference/submodule/compiler/nonNullableReductionNonStrict.js
@@ -21,6 +21,7 @@ function f2(x: T | U) {
//// [nonNullableReductionNonStrict.js]
+// Repros from #43425
function test(f1, f2) {
f1 === null || f1 === void 0 ? void 0 : f1("hello");
f2 === null || f2 === void 0 ? void 0 : f2("hello");
diff --git a/testdata/baselines/reference/submodule/compiler/nonNullableReductionNonStrict.js.diff b/testdata/baselines/reference/submodule/compiler/nonNullableReductionNonStrict.js.diff
deleted file mode 100644
index 4dc8446649..0000000000
--- a/testdata/baselines/reference/submodule/compiler/nonNullableReductionNonStrict.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.nonNullableReductionNonStrict.js
-+++ new.nonNullableReductionNonStrict.js
-@@= skipped -20, +20 lines =@@
-
-
- //// [nonNullableReductionNonStrict.js]
--// Repros from #43425
- function test(f1, f2) {
- f1 === null || f1 === void 0 ? void 0 : f1("hello");
- f2 === null || f2 === void 0 ? void 0 : f2("hello");
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/normalizedIntersectionTooComplex.js b/testdata/baselines/reference/submodule/compiler/normalizedIntersectionTooComplex.js
index 3e390e8835..2311c833d4 100644
--- a/testdata/baselines/reference/submodule/compiler/normalizedIntersectionTooComplex.js
+++ b/testdata/baselines/reference/submodule/compiler/normalizedIntersectionTooComplex.js
@@ -40,5 +40,6 @@ const comp = ctor({ common: "ok", ref: x => console.log(x) });
//// [normalizedIntersectionTooComplex.js]
+// Repro from #30050
const ctor = getCtor(all);
const comp = ctor({ common: "ok", ref: x => console.log(x) });
diff --git a/testdata/baselines/reference/submodule/compiler/normalizedIntersectionTooComplex.js.diff b/testdata/baselines/reference/submodule/compiler/normalizedIntersectionTooComplex.js.diff
index 051b1d5c7b..7a16b5202b 100644
--- a/testdata/baselines/reference/submodule/compiler/normalizedIntersectionTooComplex.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/normalizedIntersectionTooComplex.js.diff
@@ -5,6 +5,6 @@
//// [normalizedIntersectionTooComplex.js]
-"use strict";
--// Repro from #30050
+ // Repro from #30050
const ctor = getCtor(all);
const comp = ctor({ common: "ok", ref: x => console.log(x) });
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/objectInstantiationFromUnionSpread.js b/testdata/baselines/reference/submodule/compiler/objectInstantiationFromUnionSpread.js
index e2c3fab75f..6f130b2f07 100644
--- a/testdata/baselines/reference/submodule/compiler/objectInstantiationFromUnionSpread.js
+++ b/testdata/baselines/reference/submodule/compiler/objectInstantiationFromUnionSpread.js
@@ -23,6 +23,7 @@ function f2(a: Item[]) {
//// [objectInstantiationFromUnionSpread.js]
+// #40995
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
diff --git a/testdata/baselines/reference/submodule/compiler/objectInstantiationFromUnionSpread.js.diff b/testdata/baselines/reference/submodule/compiler/objectInstantiationFromUnionSpread.js.diff
deleted file mode 100644
index 687778aa18..0000000000
--- a/testdata/baselines/reference/submodule/compiler/objectInstantiationFromUnionSpread.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.objectInstantiationFromUnionSpread.js
-+++ new.objectInstantiationFromUnionSpread.js
-@@= skipped -22, +22 lines =@@
-
-
- //// [objectInstantiationFromUnionSpread.js]
--// #40995
- var __assign = (this && this.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/observableInferenceCanBeMade.js b/testdata/baselines/reference/submodule/compiler/observableInferenceCanBeMade.js
index 7264b96672..164218ef75 100644
--- a/testdata/baselines/reference/submodule/compiler/observableInferenceCanBeMade.js
+++ b/testdata/baselines/reference/submodule/compiler/observableInferenceCanBeMade.js
@@ -24,6 +24,7 @@ function asObservable(input: string | ObservableInput): Observable;
//// [optionalTupleElementsAndUndefined.js]
+// Repro from #50753
// Types in the following declarations should be identical
var v;
var v;
diff --git a/testdata/baselines/reference/submodule/compiler/optionalTupleElementsAndUndefined.js.diff b/testdata/baselines/reference/submodule/compiler/optionalTupleElementsAndUndefined.js.diff
index bfc6e4e9c1..4f6d46b1af 100644
--- a/testdata/baselines/reference/submodule/compiler/optionalTupleElementsAndUndefined.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/optionalTupleElementsAndUndefined.js.diff
@@ -5,7 +5,6 @@
//// [optionalTupleElementsAndUndefined.js]
-"use strict";
--// Repro from #50753
+ // Repro from #50753
// Types in the following declarations should be identical
- var v;
var v;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/overEagerReturnTypeSpecialization.js b/testdata/baselines/reference/submodule/compiler/overEagerReturnTypeSpecialization.js
index 77afe5d4c1..2149a45d3f 100644
--- a/testdata/baselines/reference/submodule/compiler/overEagerReturnTypeSpecialization.js
+++ b/testdata/baselines/reference/submodule/compiler/overEagerReturnTypeSpecialization.js
@@ -17,6 +17,7 @@ var r2: I1 = v1.func(num => num.toString()) // Correctly returns an I1 num.toString()) // Correctly returns an I1
.func(str => str.length); // should error
var r2 = v1.func(num => num.toString()) // Correctly returns an I1
diff --git a/testdata/baselines/reference/submodule/compiler/overEagerReturnTypeSpecialization.js.diff b/testdata/baselines/reference/submodule/compiler/overEagerReturnTypeSpecialization.js.diff
deleted file mode 100644
index fd6459403f..0000000000
--- a/testdata/baselines/reference/submodule/compiler/overEagerReturnTypeSpecialization.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.overEagerReturnTypeSpecialization.js
-+++ new.overEagerReturnTypeSpecialization.js
-@@= skipped -16, +16 lines =@@
-
-
- //// [overEagerReturnTypeSpecialization.js]
--//Note: Below simpler repro
- var r1 = v1.func(num => num.toString()) // Correctly returns an I1
- .func(str => str.length); // should error
- var r2 = v1.func(num => num.toString()) // Correctly returns an I1
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/overrideBaseIntersectionMethod.js b/testdata/baselines/reference/submodule/compiler/overrideBaseIntersectionMethod.js
index b5bbdf7bae..e489e06f7e 100644
--- a/testdata/baselines/reference/submodule/compiler/overrideBaseIntersectionMethod.js
+++ b/testdata/baselines/reference/submodule/compiler/overrideBaseIntersectionMethod.js
@@ -33,6 +33,7 @@ class Foo extends WithLocation(Point) {
//// [overrideBaseIntersectionMethod.js]
+// Repro from #14615
const WithLocation = (Base) => class extends Base {
getLocation() {
const [x, y] = super.getLocation();
diff --git a/testdata/baselines/reference/submodule/compiler/overrideBaseIntersectionMethod.js.diff b/testdata/baselines/reference/submodule/compiler/overrideBaseIntersectionMethod.js.diff
index b118e12b91..a0f6970bcd 100644
--- a/testdata/baselines/reference/submodule/compiler/overrideBaseIntersectionMethod.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/overrideBaseIntersectionMethod.js.diff
@@ -5,11 +5,10 @@
//// [overrideBaseIntersectionMethod.js]
-"use strict";
--// Repro from #14615
+ // Repro from #14615
const WithLocation = (Base) => class extends Base {
getLocation() {
- const [x, y] = super.getLocation();
-@@= skipped -9, +7 lines =@@
+@@= skipped -9, +8 lines =@@
}
};
class Point {
diff --git a/testdata/baselines/reference/submodule/compiler/partiallyDiscriminantedUnions.js b/testdata/baselines/reference/submodule/compiler/partiallyDiscriminantedUnions.js
index 9d4a79077a..d12035cbfc 100644
--- a/testdata/baselines/reference/submodule/compiler/partiallyDiscriminantedUnions.js
+++ b/testdata/baselines/reference/submodule/compiler/partiallyDiscriminantedUnions.js
@@ -49,6 +49,7 @@ function fail(s: Shapes) {
}
//// [partiallyDiscriminantedUnions.js]
+// Repro from #10586
const ab = {};
if (ab.type === 'a') {
if (ab.subtype === 2) {
diff --git a/testdata/baselines/reference/submodule/compiler/partiallyDiscriminantedUnions.js.diff b/testdata/baselines/reference/submodule/compiler/partiallyDiscriminantedUnions.js.diff
index d58efbc512..38fb47a0ff 100644
--- a/testdata/baselines/reference/submodule/compiler/partiallyDiscriminantedUnions.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/partiallyDiscriminantedUnions.js.diff
@@ -1,14 +1,6 @@
--- old.partiallyDiscriminantedUnions.js
+++ new.partiallyDiscriminantedUnions.js
-@@= skipped -48, +48 lines =@@
- }
-
- //// [partiallyDiscriminantedUnions.js]
--// Repro from #10586
- const ab = {};
- if (ab.type === 'a') {
- if (ab.subtype === 2) {
-@@= skipped -9, +8 lines =@@
+@@= skipped -57, +57 lines =@@
}
// Repro from #11185
class Square {
diff --git a/testdata/baselines/reference/submodule/compiler/pinnedComments1.js b/testdata/baselines/reference/submodule/compiler/pinnedComments1.js
index 3ed3f3a3de..ece697b096 100644
--- a/testdata/baselines/reference/submodule/compiler/pinnedComments1.js
+++ b/testdata/baselines/reference/submodule/compiler/pinnedComments1.js
@@ -12,5 +12,9 @@ class C {
}
//// [pinnedComments1.js]
+/*!=========
+ Keep this pinned comment
+ =========
+*/
class C {
}
diff --git a/testdata/baselines/reference/submodule/compiler/pinnedComments1.js.diff b/testdata/baselines/reference/submodule/compiler/pinnedComments1.js.diff
deleted file mode 100644
index 3ad1398649..0000000000
--- a/testdata/baselines/reference/submodule/compiler/pinnedComments1.js.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- old.pinnedComments1.js
-+++ new.pinnedComments1.js
-@@= skipped -11, +11 lines =@@
- }
-
- //// [pinnedComments1.js]
--/*!=========
-- Keep this pinned comment
-- =========
--*/
- class C {
- }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/primitiveUnionDetection.js b/testdata/baselines/reference/submodule/compiler/primitiveUnionDetection.js
index dde8372257..427974daad 100644
--- a/testdata/baselines/reference/submodule/compiler/primitiveUnionDetection.js
+++ b/testdata/baselines/reference/submodule/compiler/primitiveUnionDetection.js
@@ -11,6 +11,7 @@ const result = getInterfaceFromString({ type: 'two' });
//// [primitiveUnionDetection.js]
+// Repro from #46624
const result = getInterfaceFromString({ type: 'two' });
diff --git a/testdata/baselines/reference/submodule/compiler/primitiveUnionDetection.js.diff b/testdata/baselines/reference/submodule/compiler/primitiveUnionDetection.js.diff
index aeca5c77dd..7beb348355 100644
--- a/testdata/baselines/reference/submodule/compiler/primitiveUnionDetection.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/primitiveUnionDetection.js.diff
@@ -5,6 +5,5 @@
//// [primitiveUnionDetection.js]
-"use strict";
--// Repro from #46624
+ // Repro from #46624
const result = getInterfaceFromString({ type: 'two' });
-
diff --git a/testdata/baselines/reference/submodule/compiler/privatePropertyInUnion.js b/testdata/baselines/reference/submodule/compiler/privatePropertyInUnion.js
index 18aaae481f..349c9d265f 100644
--- a/testdata/baselines/reference/submodule/compiler/privatePropertyInUnion.js
+++ b/testdata/baselines/reference/submodule/compiler/privatePropertyInUnion.js
@@ -17,6 +17,7 @@ type __ValueDescriptorType = T extends ISyncableObjec
//// [privatePropertyInUnion.js]
+// Repro from #38236
class SyncableObject {
foo;
}
diff --git a/testdata/baselines/reference/submodule/compiler/privatePropertyInUnion.js.diff b/testdata/baselines/reference/submodule/compiler/privatePropertyInUnion.js.diff
index c63b589247..72a48f34b7 100644
--- a/testdata/baselines/reference/submodule/compiler/privatePropertyInUnion.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/privatePropertyInUnion.js.diff
@@ -5,7 +5,7 @@
//// [privatePropertyInUnion.js]
-"use strict";
--// Repro from #38236
+ // Repro from #38236
class SyncableObject {
+ foo;
}
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/promisePermutations2.js b/testdata/baselines/reference/submodule/compiler/promisePermutations2.js
index d09a581506..7918ffb468 100644
--- a/testdata/baselines/reference/submodule/compiler/promisePermutations2.js
+++ b/testdata/baselines/reference/submodule/compiler/promisePermutations2.js
@@ -169,6 +169,7 @@ var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok
var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok
//// [promisePermutations2.js]
+// same as promisePermutations but without the same overloads in Promise
var r1;
var r1a = r1.then(testFunction, testFunction, testFunction);
var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction);
diff --git a/testdata/baselines/reference/submodule/compiler/promisePermutations2.js.diff b/testdata/baselines/reference/submodule/compiler/promisePermutations2.js.diff
deleted file mode 100644
index 2cddc5a770..0000000000
--- a/testdata/baselines/reference/submodule/compiler/promisePermutations2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.promisePermutations2.js
-+++ new.promisePermutations2.js
-@@= skipped -168, +168 lines =@@
- var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok
-
- //// [promisePermutations2.js]
--// same as promisePermutations but without the same overloads in Promise
- var r1;
- var r1a = r1.then(testFunction, testFunction, testFunction);
- var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction);
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/promisePermutations3.js b/testdata/baselines/reference/submodule/compiler/promisePermutations3.js
index a76a406dc2..d752ccddfd 100644
--- a/testdata/baselines/reference/submodule/compiler/promisePermutations3.js
+++ b/testdata/baselines/reference/submodule/compiler/promisePermutations3.js
@@ -169,6 +169,7 @@ var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok
var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok
//// [promisePermutations3.js]
+// same as promisePermutations but without the same overloads in IPromise
var r1;
var r1a = r1.then(testFunction, testFunction, testFunction);
var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction);
diff --git a/testdata/baselines/reference/submodule/compiler/promisePermutations3.js.diff b/testdata/baselines/reference/submodule/compiler/promisePermutations3.js.diff
deleted file mode 100644
index 6a42aa7cf3..0000000000
--- a/testdata/baselines/reference/submodule/compiler/promisePermutations3.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.promisePermutations3.js
-+++ new.promisePermutations3.js
-@@= skipped -168, +168 lines =@@
- var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok
-
- //// [promisePermutations3.js]
--// same as promisePermutations but without the same overloads in IPromise
- var r1;
- var r1a = r1.then(testFunction, testFunction, testFunction);
- var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction);
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/reactDefaultPropsInferenceSuccess.js b/testdata/baselines/reference/submodule/compiler/reactDefaultPropsInferenceSuccess.js
index ef4cb2f788..72a4c4084d 100644
--- a/testdata/baselines/reference/submodule/compiler/reactDefaultPropsInferenceSuccess.js
+++ b/testdata/baselines/reference/submodule/compiler/reactDefaultPropsInferenceSuccess.js
@@ -72,11 +72,11 @@ const Test5 = () => ;
//// [reactDefaultPropsInferenceSuccess.js]
"use strict";
+///
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
-///
const react_1 = __importDefault(require("react"));
class FieldFeedback extends react_1.default.Component {
static defaultProps = {
diff --git a/testdata/baselines/reference/submodule/compiler/reactDefaultPropsInferenceSuccess.js.diff b/testdata/baselines/reference/submodule/compiler/reactDefaultPropsInferenceSuccess.js.diff
index f18ce8f09c..c556e5e7d2 100644
--- a/testdata/baselines/reference/submodule/compiler/reactDefaultPropsInferenceSuccess.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/reactDefaultPropsInferenceSuccess.js.diff
@@ -1,11 +1,6 @@
--- old.reactDefaultPropsInferenceSuccess.js
+++ new.reactDefaultPropsInferenceSuccess.js
-@@= skipped -71, +71 lines =@@
-
- //// [reactDefaultPropsInferenceSuccess.js]
- "use strict";
--///
- var __importDefault = (this && this.__importDefault) || function (mod) {
+@@= skipped -76, +76 lines =@@
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
@@ -17,7 +12,6 @@
- }
- }
- FieldFeedback.defaultProps = {
-+///
+const react_1 = __importDefault(require("react"));
+class FieldFeedback extends react_1.default.Component {
+ static defaultProps = {
diff --git a/testdata/baselines/reference/submodule/compiler/reactSFCAndFunctionResolvable.js b/testdata/baselines/reference/submodule/compiler/reactSFCAndFunctionResolvable.js
index 348085d966..366d48ac9a 100644
--- a/testdata/baselines/reference/submodule/compiler/reactSFCAndFunctionResolvable.js
+++ b/testdata/baselines/reference/submodule/compiler/reactSFCAndFunctionResolvable.js
@@ -29,8 +29,8 @@ const RandomComponent: React.SFC = () => {
//// [reactSFCAndFunctionResolvable.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
///
+Object.defineProperty(exports, "__esModule", { value: true });
const React = require("react");
const RandomComponent = () => {
const Component = condition1
diff --git a/testdata/baselines/reference/submodule/compiler/reactSFCAndFunctionResolvable.js.diff b/testdata/baselines/reference/submodule/compiler/reactSFCAndFunctionResolvable.js.diff
index e0547d01bf..6d6fd84e25 100644
--- a/testdata/baselines/reference/submodule/compiler/reactSFCAndFunctionResolvable.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/reactSFCAndFunctionResolvable.js.diff
@@ -1,13 +1,10 @@
--- old.reactSFCAndFunctionResolvable.js
+++ new.reactSFCAndFunctionResolvable.js
-@@= skipped -28, +28 lines =@@
-
- //// [reactSFCAndFunctionResolvable.js]
+@@= skipped -30, +30 lines =@@
"use strict";
--///
+ ///
Object.defineProperty(exports, "__esModule", { value: true });
-var React = require("react");
-+///
+const React = require("react");
const RandomComponent = () => {
const Component = condition1
diff --git a/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM.js b/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM.js
index c7411537fb..07eb8f5ce7 100644
--- a/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM.js
+++ b/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM.js
@@ -15,6 +15,7 @@ const children: any[] = [];
//// [reactTagNameComponentWithPropsNoOOM.js]
"use strict";
+///
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -27,7 +28,6 @@ var __assign = (this && this.__assign) || function () {
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
-///
const React = require("react");
const classes = "";
const rest = {};
diff --git a/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM.js.diff b/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM.js.diff
index 6f68ebc762..95bdd6f6ec 100644
--- a/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM.js.diff
@@ -1,19 +1,10 @@
--- old.reactTagNameComponentWithPropsNoOOM.js
+++ new.reactTagNameComponentWithPropsNoOOM.js
-@@= skipped -14, +14 lines =@@
-
- //// [reactTagNameComponentWithPropsNoOOM.js]
- "use strict";
--///
- var __assign = (this && this.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
-@@= skipped -13, +12 lines =@@
+@@= skipped -27, +27 lines =@@
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
-var React = require("react");
-+///
+const React = require("react");
const classes = "";
const rest = {};
diff --git a/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM2.js b/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM2.js
index 39837e0ce6..f7ab3ffc65 100644
--- a/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM2.js
+++ b/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM2.js
@@ -15,6 +15,7 @@ const children: any[] = [];
//// [reactTagNameComponentWithPropsNoOOM2.js]
"use strict";
+///
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -27,7 +28,6 @@ var __assign = (this && this.__assign) || function () {
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
-///
const React = require("react");
const classes = "";
const rest = {};
diff --git a/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM2.js.diff b/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM2.js.diff
index b3845ebbe9..ccc77b4289 100644
--- a/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM2.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/reactTagNameComponentWithPropsNoOOM2.js.diff
@@ -1,19 +1,10 @@
--- old.reactTagNameComponentWithPropsNoOOM2.js
+++ new.reactTagNameComponentWithPropsNoOOM2.js
-@@= skipped -14, +14 lines =@@
-
- //// [reactTagNameComponentWithPropsNoOOM2.js]
- "use strict";
--///
- var __assign = (this && this.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
-@@= skipped -13, +12 lines =@@
+@@= skipped -27, +27 lines =@@
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
-var React = require("react");
-+///
+const React = require("react");
const classes = "";
const rest = {};
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveClassBaseType.js b/testdata/baselines/reference/submodule/compiler/recursiveClassBaseType.js
index 7543db73ac..30721da2df 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveClassBaseType.js
+++ b/testdata/baselines/reference/submodule/compiler/recursiveClassBaseType.js
@@ -24,6 +24,7 @@ class Derived1 extends class extends Base1 {
//// [recursiveClassBaseType.js]
+// Repro from #44281
class C extends Base({ x: p(() => []) }) {
}
// Repro from #44359
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveClassBaseType.js.diff b/testdata/baselines/reference/submodule/compiler/recursiveClassBaseType.js.diff
index bc446c4de3..4dd8f82a35 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveClassBaseType.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/recursiveClassBaseType.js.diff
@@ -5,7 +5,6 @@
//// [recursiveClassBaseType.js]
-"use strict";
--// Repro from #44281
+ // Repro from #44281
class C extends Base({ x: p(() => []) }) {
- }
- // Repro from #44359
\ No newline at end of file
+ }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js b/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js
index 4efd88da4f..10f5f4901e 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js
+++ b/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js
@@ -105,6 +105,8 @@ module Sample.Thing.Languages.PlainText {
//// [recursiveClassReferenceTest.js]
+// Scenario 1: Test reqursive function call with "this" parameter
+// Scenario 2: Test recursive function call with cast and "this" parameter
var Sample;
(function (Sample) {
let Actions;
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js.diff b/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js.diff
index f84a83dbf4..1e6a1cb30c 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js.diff
@@ -1,11 +1,7 @@
--- old.recursiveClassReferenceTest.js
+++ new.recursiveClassReferenceTest.js
-@@= skipped -104, +104 lines =@@
-
-
- //// [recursiveClassReferenceTest.js]
--// Scenario 1: Test reqursive function call with "this" parameter
--// Scenario 2: Test recursive function call with cast and "this" parameter
+@@= skipped -108, +108 lines =@@
+ // Scenario 2: Test recursive function call with cast and "this" parameter
var Sample;
(function (Sample) {
- var Actions;
@@ -19,7 +15,7 @@
(function (Find) {
class StartFindAction {
getId() { return "yo"; }
-@@= skipped -22, +20 lines =@@
+@@= skipped -18, +18 lines =@@
})(Actions = Sample.Actions || (Sample.Actions = {}));
})(Sample || (Sample = {}));
(function (Sample) {
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js.map b/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js.map
index b9bf4e1da0..c31f8b7c9d 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js.map
+++ b/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js.map
@@ -1,3 +1,3 @@
//// [recursiveClassReferenceTest.js.map]
-{"version":3,"file":"recursiveClassReferenceTest.js","sourceRoot":"","sources":["recursiveClassReferenceTest.ts"],"names":[],"mappings":"AA+BA,IAAO,MAUN;AAVD,WAAO,MAAM,EA1Bb;IA0Bc,IAAA,OAUb;IAVa,WAAA,OAAO,EA1BrB;QA0BsB,IAAA,KAUrB;QAVqB,WAAA,OAAK,EA1B3B;YA0B4B,IAAA,IAU3B;YAV2B,WAAA,IAAI,EAAC;gBAChC,MAAa,eAAe;oBAEpB,KAAK,GAAG,EAAE,OAAO,IAAI,CAAC,CAAA,CAAE;oBAExB,GAAG,CAAC,KAA6B,EAAU;wBAEjD,OAAO,IAAI,CAAC;oBAAA,CACZ;iBACD;gBARY,KAAA,eAAe,kBAQ3B,CAAA;YAAA,CACD,EAV2B,IAAI,GAAJ,QAAA,IAAI,KAAJ,QAAA,IAAI,QAU/B;QADC,CACF,AAzCA,EA+BsB,KAAK,GAAL,QAAA,KAAK,KAAL,QAAA,KAAK,QAU1B;IADC,CACF,AAzCA,EA+Bc,OAAO,GAAP,OAAA,OAAO,KAAP,OAAA,OAAO,QAUpB;AADC,CACF,AAzCA,EA+BO,MAAM,KAAN,MAAM,QAUZ;AAED,WAAO,MAAM,EAtCb;IAsCc,IAAA,KAoBb;IApBa,WAAA,KAAK,EAtCnB;QAsCoB,IAAA,OAoBnB;QApBmB,WAAA,OAAO,EAAC;YAC3B,MAAa,UAAU;gBAKF,SAAS;gBAHtB,GAAG,CAAC,MAAyC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;oBAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;gBAAA,CAAC,CAAA,CAAC;gBAEjF,OAAO,GAAO,IAAI,CAAC;gBAC3B,YAAoB,SAAkC,EAAE;qCAApC,SAAS;oBACzB,aAAa;oBACb,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAAA,CAC1C;gBAEM,UAAU,GAAG;oBACnB,OAAO,OAAO,CAAC;gBAAA,CACf;gBAEM,OAAO,GAAG;gBAAC,CAEjB;aAED;YAlBY,QAAA,UAAU,aAkBtB,CAAA;QAAA,CACD,EApBmB,OAAO,GAAP,MAAA,OAAO,KAAP,MAAA,OAAO,QAoB1B;IADC,CACF,AA/DA,EA2Cc,KAAK,GAAL,OAAA,KAAK,KAAL,OAAA,KAAK,QAoBlB;AADC,CACF,AA/DA,EA2CO,MAAM,KAAN,MAAM,QAoBZ;AAGD,MAAM,YAAY;IAA2B,eAAe,GAAW,EAAE,OAAO,IAAI,CAAC,CAAA,CAAC;CAAE;AASxF,WAAO,MAAM,EAtEb;IAsEc,IAAA,KAwBb;IAxBa,WAAA,KAAK,EAtEnB;QAsEoB,IAAA,SAwBnB;QAxBmB,WAAA,SAAS,EAtE7B;YAsE8B,IAAA,SAwB7B;YAxB6B,WAAA,SAAS,EAAC;gBAEvC,MAAa,KAAK;oBACS,IAAI;oBAAxB,YAAoB,IAAW,EAAE;oCAAb,IAAI;oBAAU,CAAE;oBACnC,KAAK,GAAU;wBACrB,OAAO,IAAI,CAAC;oBAAA,CACZ;oBAEM,MAAM,CAAC,KAAY,EAAU;wBACnC,OAAO,IAAI,KAAK,KAAK,CAAC;oBAAA,CACtB;oBAEM,OAAO,GAAU,EAAE,OAAO,IAAI,CAAC,CAAA,CAAE;iBACxC;gBAXY,UAAA,KAAK,QAWjB,CAAA;gBAED,MAAa,IAAK,SAAQ,YAAY;oBAErC,aAAa;oBACN,eAAe,GAAW;wBAChC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;oBAAA,CACvB;iBAGD;gBARY,UAAA,IAAI,OAQhB,CAAA;YAAA,CACD,EAxB6B,SAAS,GAAT,UAAA,SAAS,KAAT,UAAA,SAAS,QAwBtC;QADC,CACF,AAnGA,EA2EoB,SAAS,GAAT,MAAA,SAAS,KAAT,MAAA,SAAS,QAwB5B;IADC,CACF,AAnGA,EA2Ec,KAAK,GAAL,OAAA,KAAK,KAAL,OAAA,KAAK,QAwBlB;AADC,CACF,AAnGA,EA2EO,MAAM,KAAN,MAAM,QAwBZ"}
-//// https://sokra.github.io/source-map-visualization#base64,dmFyIFNhbXBsZTsNCihmdW5jdGlvbiAoU2FtcGxlKSB7DQogICAgbGV0IEFjdGlvbnM7DQogICAgKGZ1bmN0aW9uIChBY3Rpb25zKSB7DQogICAgICAgIGxldCBUaGluZzsNCiAgICAgICAgKGZ1bmN0aW9uIChUaGluZ18xKSB7DQogICAgICAgICAgICBsZXQgRmluZDsNCiAgICAgICAgICAgIChmdW5jdGlvbiAoRmluZCkgew0KICAgICAgICAgICAgICAgIGNsYXNzIFN0YXJ0RmluZEFjdGlvbiB7DQogICAgICAgICAgICAgICAgICAgIGdldElkKCkgeyByZXR1cm4gInlvIjsgfQ0KICAgICAgICAgICAgICAgICAgICBydW4oVGhpbmcpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEZpbmQuU3RhcnRGaW5kQWN0aW9uID0gU3RhcnRGaW5kQWN0aW9uOw0KICAgICAgICAgICAgfSkoRmluZCA9IFRoaW5nXzEuRmluZCB8fCAoVGhpbmdfMS5GaW5kID0ge30pKTsNCiAgICAgICAgfSkoVGhpbmcgPSBBY3Rpb25zLlRoaW5nIHx8IChBY3Rpb25zLlRoaW5nID0ge30pKTsNCiAgICB9KShBY3Rpb25zID0gU2FtcGxlLkFjdGlvbnMgfHwgKFNhbXBsZS5BY3Rpb25zID0ge30pKTsNCn0pKFNhbXBsZSB8fCAoU2FtcGxlID0ge30pKTsNCihmdW5jdGlvbiAoU2FtcGxlKSB7DQogICAgbGV0IFRoaW5nOw0KICAgIChmdW5jdGlvbiAoVGhpbmcpIHsNCiAgICAgICAgbGV0IFdpZGdldHM7DQogICAgICAgIChmdW5jdGlvbiAoV2lkZ2V0cykgew0KICAgICAgICAgICAgY2xhc3MgRmluZFdpZGdldCB7DQogICAgICAgICAgICAgICAgY29kZVRoaW5nOw0KICAgICAgICAgICAgICAgIGdhcihydW5uZXIpIHsgaWYgKHRydWUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJ1bm5lcih0aGlzKTsNCiAgICAgICAgICAgICAgICB9IH0NCiAgICAgICAgICAgICAgICBkb21Ob2RlID0gbnVsbDsNCiAgICAgICAgICAgICAgICBjb25zdHJ1Y3Rvcihjb2RlVGhpbmcpIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2RlVGhpbmcgPSBjb2RlVGhpbmc7DQogICAgICAgICAgICAgICAgICAgIC8vIHNjZW5hcmlvIDENCiAgICAgICAgICAgICAgICAgICAgY29kZVRoaW5nLmFkZFdpZGdldCgiYWRkV2lkZ2V0IiwgdGhpcyk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGdldERvbU5vZGUoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkb21Ob2RlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBkZXN0cm95KCkgew0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIFdpZGdldHMuRmluZFdpZGdldCA9IEZpbmRXaWRnZXQ7DQogICAgICAgIH0pKFdpZGdldHMgPSBUaGluZy5XaWRnZXRzIHx8IChUaGluZy5XaWRnZXRzID0ge30pKTsNCiAgICB9KShUaGluZyA9IFNhbXBsZS5UaGluZyB8fCAoU2FtcGxlLlRoaW5nID0ge30pKTsNCn0pKFNhbXBsZSB8fCAoU2FtcGxlID0ge30pKTsNCmNsYXNzIEFic3RyYWN0TW9kZSB7DQogICAgZ2V0SW5pdGlhbFN0YXRlKCkgeyByZXR1cm4gbnVsbDsgfQ0KfQ0KKGZ1bmN0aW9uIChTYW1wbGUpIHsNCiAgICBsZXQgVGhpbmc7DQogICAgKGZ1bmN0aW9uIChUaGluZykgew0KICAgICAgICBsZXQgTGFuZ3VhZ2VzOw0KICAgICAgICAoZnVuY3Rpb24gKExhbmd1YWdlcykgew0KICAgICAgICAgICAgbGV0IFBsYWluVGV4dDsNCiAgICAgICAgICAgIChmdW5jdGlvbiAoUGxhaW5UZXh0KSB7DQogICAgICAgICAgICAgICAgY2xhc3MgU3RhdGUgew0KICAgICAgICAgICAgICAgICAgICBtb2RlOw0KICAgICAgICAgICAgICAgICAgICBjb25zdHJ1Y3Rvcihtb2RlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGUgPSBtb2RlOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGNsb25lKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgZXF1YWxzKG90aGVyKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb3RoZXI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgZ2V0TW9kZSgpIHsgcmV0dXJuIG1vZGU7IH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgUGxhaW5UZXh0LlN0YXRlID0gU3RhdGU7DQogICAgICAgICAgICAgICAgY2xhc3MgTW9kZSBleHRlbmRzIEFic3RyYWN0TW9kZSB7DQogICAgICAgICAgICAgICAgICAgIC8vIHNjZW5hcmlvIDINCiAgICAgICAgICAgICAgICAgICAgZ2V0SW5pdGlhbFN0YXRlKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTdGF0ZShzZWxmKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBQbGFpblRleHQuTW9kZSA9IE1vZGU7DQogICAgICAgICAgICB9KShQbGFpblRleHQgPSBMYW5ndWFnZXMuUGxhaW5UZXh0IHx8IChMYW5ndWFnZXMuUGxhaW5UZXh0ID0ge30pKTsNCiAgICAgICAgfSkoTGFuZ3VhZ2VzID0gVGhpbmcuTGFuZ3VhZ2VzIHx8IChUaGluZy5MYW5ndWFnZXMgPSB7fSkpOw0KICAgIH0pKFRoaW5nID0gU2FtcGxlLlRoaW5nIHx8IChTYW1wbGUuVGhpbmcgPSB7fSkpOw0KfSkoU2FtcGxlIHx8IChTYW1wbGUgPSB7fSkpOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVjdXJzaXZlQ2xhc3NSZWZlcmVuY2VUZXN0LmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdXJzaXZlQ2xhc3NSZWZlcmVuY2VUZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicmVjdXJzaXZlQ2xhc3NSZWZlcmVuY2VUZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStCQSxJQUFPLE1BVU47QUFWRCxXQUFPLE1BQU0sRUExQmI7SUEwQmMsSUFBQSxPQVViO0lBVmEsV0FBQSxPQUFPLEVBMUJyQjtRQTBCc0IsSUFBQSxLQVVyQjtRQVZxQixXQUFBLE9BQUssRUExQjNCO1lBMEI0QixJQUFBLElBVTNCO1lBVjJCLFdBQUEsSUFBSSxFQUFDO2dCQUNoQyxNQUFhLGVBQWU7b0JBRXBCLEtBQUssR0FBRyxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUEsQ0FBRTtvQkFFeEIsR0FBRyxDQUFDLEtBQTZCLEVBQVU7d0JBRWpELE9BQU8sSUFBSSxDQUFDO29CQUFBLENBQ1o7aUJBQ0Q7Z0JBUlksS0FBQSxlQUFlLGtCQVEzQixDQUFBO1lBQUEsQ0FDRCxFQVYyQixJQUFJLEdBQUosUUFBQSxJQUFJLEtBQUosUUFBQSxJQUFJLFFBVS9CO1FBREMsQ0FDRixBQXpDQSxFQStCc0IsS0FBSyxHQUFMLFFBQUEsS0FBSyxLQUFMLFFBQUEsS0FBSyxRQVUxQjtJQURDLENBQ0YsQUF6Q0EsRUErQmMsT0FBTyxHQUFQLE9BQUEsT0FBTyxLQUFQLE9BQUEsT0FBTyxRQVVwQjtBQURDLENBQ0YsQUF6Q0EsRUErQk8sTUFBTSxLQUFOLE1BQU0sUUFVWjtBQUVELFdBQU8sTUFBTSxFQXRDYjtJQXNDYyxJQUFBLEtBb0JiO0lBcEJhLFdBQUEsS0FBSyxFQXRDbkI7UUFzQ29CLElBQUEsT0FvQm5CO1FBcEJtQixXQUFBLE9BQU8sRUFBQztZQUMzQixNQUFhLFVBQVU7Z0JBS0YsU0FBUztnQkFIdEIsR0FBRyxDQUFDLE1BQXlDLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO29CQUFBLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUFBLENBQUMsQ0FBQSxDQUFDO2dCQUVqRixPQUFPLEdBQU8sSUFBSSxDQUFDO2dCQUMzQixZQUFvQixTQUFrQyxFQUFFO3FDQUFwQyxTQUFTO29CQUN6QixhQUFhO29CQUNiLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUFBLENBQzFDO2dCQUVNLFVBQVUsR0FBRztvQkFDbkIsT0FBTyxPQUFPLENBQUM7Z0JBQUEsQ0FDZjtnQkFFTSxPQUFPLEdBQUc7Z0JBQUMsQ0FFakI7YUFFRDtZQWxCWSxRQUFBLFVBQVUsYUFrQnRCLENBQUE7UUFBQSxDQUNELEVBcEJtQixPQUFPLEdBQVAsTUFBQSxPQUFPLEtBQVAsTUFBQSxPQUFPLFFBb0IxQjtJQURDLENBQ0YsQUEvREEsRUEyQ2MsS0FBSyxHQUFMLE9BQUEsS0FBSyxLQUFMLE9BQUEsS0FBSyxRQW9CbEI7QUFEQyxDQUNGLEFBL0RBLEVBMkNPLE1BQU0sS0FBTixNQUFNLFFBb0JaO0FBR0QsTUFBTSxZQUFZO0lBQTJCLGVBQWUsR0FBVyxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUEsQ0FBQztDQUFFO0FBU3hGLFdBQU8sTUFBTSxFQXRFYjtJQXNFYyxJQUFBLEtBd0JiO0lBeEJhLFdBQUEsS0FBSyxFQXRFbkI7UUFzRW9CLElBQUEsU0F3Qm5CO1FBeEJtQixXQUFBLFNBQVMsRUF0RTdCO1lBc0U4QixJQUFBLFNBd0I3QjtZQXhCNkIsV0FBQSxTQUFTLEVBQUM7Z0JBRXZDLE1BQWEsS0FBSztvQkFDUyxJQUFJO29CQUF4QixZQUFvQixJQUFXLEVBQUU7b0NBQWIsSUFBSTtvQkFBVSxDQUFFO29CQUNuQyxLQUFLLEdBQVU7d0JBQ3JCLE9BQU8sSUFBSSxDQUFDO29CQUFBLENBQ1o7b0JBRU0sTUFBTSxDQUFDLEtBQVksRUFBVTt3QkFDbkMsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDO29CQUFBLENBQ3RCO29CQUVNLE9BQU8sR0FBVSxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUEsQ0FBRTtpQkFDeEM7Z0JBWFksVUFBQSxLQUFLLFFBV2pCLENBQUE7Z0JBRUQsTUFBYSxJQUFLLFNBQVEsWUFBWTtvQkFFckMsYUFBYTtvQkFDTixlQUFlLEdBQVc7d0JBQ2hDLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQUEsQ0FDdkI7aUJBR0Q7Z0JBUlksVUFBQSxJQUFJLE9BUWhCLENBQUE7WUFBQSxDQUNELEVBeEI2QixTQUFTLEdBQVQsVUFBQSxTQUFTLEtBQVQsVUFBQSxTQUFTLFFBd0J0QztRQURDLENBQ0YsQUFuR0EsRUEyRW9CLFNBQVMsR0FBVCxNQUFBLFNBQVMsS0FBVCxNQUFBLFNBQVMsUUF3QjVCO0lBREMsQ0FDRixBQW5HQSxFQTJFYyxLQUFLLEdBQUwsT0FBQSxLQUFLLEtBQUwsT0FBQSxLQUFLLFFBd0JsQjtBQURDLENBQ0YsQUFuR0EsRUEyRU8sTUFBTSxLQUFOLE1BQU0sUUF3QloifQ==,Ly8gU2NlbmFyaW8gMTogVGVzdCByZXF1cnNpdmUgZnVuY3Rpb24gY2FsbCB3aXRoICJ0aGlzIiBwYXJhbWV0ZXIKLy8gU2NlbmFyaW8gMjogVGVzdCByZWN1cnNpdmUgZnVuY3Rpb24gY2FsbCB3aXRoIGNhc3QgYW5kICJ0aGlzIiBwYXJhbWV0ZXIKCgoKZGVjbGFyZSBtb2R1bGUgU2FtcGxlLlRoaW5nIHsKCglleHBvcnQgaW50ZXJmYWNlIElXaWRnZXQgewoJCWdldERvbU5vZGUoKTogYW55OwoJCWRlc3Ryb3koKTsKCQlnYXIocnVubmVyOih3aWRnZXQ6U2FtcGxlLlRoaW5nLklXaWRnZXQpPT5hbnkpOmFueTsKCX0KCglleHBvcnQgaW50ZXJmYWNlIElDb2RlVGhpbmcgewogIAogIAkJZ2V0RG9tTm9kZSgpOiBFbGVtZW50OwoJCQoJCWFkZFdpZGdldCh3aWRnZXRJZDpzdHJpbmcsIHdpZGdldDpJV2lkZ2V0KTsKCgkJCgkJZm9jdXMoKTsgCgkJCgkJLy9hZGRXaWRnZXQod2lkZ2V0OiBTYW1wbGUuVGhpbmcuV2lkZ2V0cy5JV2lkZ2V0KTsKCX0KCglleHBvcnQgaW50ZXJmYWNlIElBY3Rpb24gewoJCXJ1bihUaGluZzpJQ29kZVRoaW5nKTpib29sZWFuOwoJCWdldElkKCk6c3RyaW5nOwoJfQkKfQoKbW9kdWxlIFNhbXBsZS5BY3Rpb25zLlRoaW5nLkZpbmQgewoJZXhwb3J0IGNsYXNzIFN0YXJ0RmluZEFjdGlvbiBpbXBsZW1lbnRzIFNhbXBsZS5UaGluZy5JQWN0aW9uIHsKCQkKCQlwdWJsaWMgZ2V0SWQoKSB7IHJldHVybiAieW8iOyB9CgkJCgkJcHVibGljIHJ1bihUaGluZzpTYW1wbGUuVGhpbmcuSUNvZGVUaGluZyk6Ym9vbGVhbiB7CgoJCQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9Cn0KCm1vZHVsZSBTYW1wbGUuVGhpbmcuV2lkZ2V0cyB7CglleHBvcnQgY2xhc3MgRmluZFdpZGdldCBpbXBsZW1lbnRzIFNhbXBsZS5UaGluZy5JV2lkZ2V0IHsKCgkJcHVibGljIGdhcihydW5uZXI6KHdpZGdldDpTYW1wbGUuVGhpbmcuSVdpZGdldCk9PmFueSkgeyBpZiAodHJ1ZSkge3JldHVybiBydW5uZXIodGhpcyk7fX0KCQkJCgkJcHJpdmF0ZSBkb21Ob2RlOmFueSA9IG51bGw7CgkJY29uc3RydWN0b3IocHJpdmF0ZSBjb2RlVGhpbmc6IFNhbXBsZS5UaGluZy5JQ29kZVRoaW5nKSB7CgkJICAgIC8vIHNjZW5hcmlvIDEKCQkgICAgY29kZVRoaW5nLmFkZFdpZGdldCgiYWRkV2lkZ2V0IiwgdGhpcyk7CgkJfQoJCQoJCXB1YmxpYyBnZXREb21Ob2RlKCkgewoJCQlyZXR1cm4gZG9tTm9kZTsKCQl9CgkJCgkJcHVibGljIGRlc3Ryb3koKSB7CgoJCX0KCgl9Cn0KCmludGVyZmFjZSBJTW9kZSB7IGdldEluaXRpYWxTdGF0ZSgpOiBJU3RhdGU7fSAKY2xhc3MgQWJzdHJhY3RNb2RlIGltcGxlbWVudHMgSU1vZGUgeyBwdWJsaWMgZ2V0SW5pdGlhbFN0YXRlKCk6IElTdGF0ZSB7IHJldHVybiBudWxsO30gfQoKaW50ZXJmYWNlIElTdGF0ZSB7fQoKaW50ZXJmYWNlIFdpbmRvdyB7CiAgICBvcGVuZXI6IFdpbmRvdzsKfQpkZWNsYXJlIHZhciBzZWxmOiBXaW5kb3c7Cgptb2R1bGUgU2FtcGxlLlRoaW5nLkxhbmd1YWdlcy5QbGFpblRleHQgewoJCglleHBvcnQgY2xhc3MgU3RhdGUgaW1wbGVtZW50cyBJU3RhdGUgewkJCiAgICAgICAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RlOiBJTW9kZSkgeyB9CgkJcHVibGljIGNsb25lKCk6SVN0YXRlIHsKCQkJcmV0dXJuIHRoaXM7CgkJfQoKCQlwdWJsaWMgZXF1YWxzKG90aGVyOklTdGF0ZSk6Ym9vbGVhbiB7CgkJCXJldHVybiB0aGlzID09PSBvdGhlcjsKCQl9CgkJCgkJcHVibGljIGdldE1vZGUoKTogSU1vZGUgeyByZXR1cm4gbW9kZTsgfQoJfQoJCglleHBvcnQgY2xhc3MgTW9kZSBleHRlbmRzIEFic3RyYWN0TW9kZSB7CgoJCS8vIHNjZW5hcmlvIDIKCQlwdWJsaWMgZ2V0SW5pdGlhbFN0YXRlKCk6IElTdGF0ZSB7CgkJCXJldHVybiBuZXcgU3RhdGUoc2VsZik7CgkJfQoKCgl9Cn0KCg==
+{"version":3,"file":"recursiveClassReferenceTest.js","sourceRoot":"","sources":["recursiveClassReferenceTest.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,0EAA0E;AA8B1E,IAAO,MAUN;AAVD,WAAO,MAAM,EA1Bb;IA0Bc,IAAA,OAUb;IAVa,WAAA,OAAO,EA1BrB;QA0BsB,IAAA,KAUrB;QAVqB,WAAA,OAAK,EA1B3B;YA0B4B,IAAA,IAU3B;YAV2B,WAAA,IAAI,EAAC;gBAChC,MAAa,eAAe;oBAEpB,KAAK,GAAG,EAAE,OAAO,IAAI,CAAC,CAAA,CAAE;oBAExB,GAAG,CAAC,KAA6B,EAAU;wBAEjD,OAAO,IAAI,CAAC;oBAAA,CACZ;iBACD;gBARY,KAAA,eAAe,kBAQ3B,CAAA;YAAA,CACD,EAV2B,IAAI,GAAJ,QAAA,IAAI,KAAJ,QAAA,IAAI,QAU/B;QADC,CACF,AAzCA,EA+BsB,KAAK,GAAL,QAAA,KAAK,KAAL,QAAA,KAAK,QAU1B;IADC,CACF,AAzCA,EA+Bc,OAAO,GAAP,OAAA,OAAO,KAAP,OAAA,OAAO,QAUpB;AADC,CACF,AAzCA,EA+BO,MAAM,KAAN,MAAM,QAUZ;AAED,WAAO,MAAM,EAtCb;IAsCc,IAAA,KAoBb;IApBa,WAAA,KAAK,EAtCnB;QAsCoB,IAAA,OAoBnB;QApBmB,WAAA,OAAO,EAAC;YAC3B,MAAa,UAAU;gBAKF,SAAS;gBAHtB,GAAG,CAAC,MAAyC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;oBAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;gBAAA,CAAC,CAAA,CAAC;gBAEjF,OAAO,GAAO,IAAI,CAAC;gBAC3B,YAAoB,SAAkC,EAAE;qCAApC,SAAS;oBACzB,aAAa;oBACb,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAAA,CAC1C;gBAEM,UAAU,GAAG;oBACnB,OAAO,OAAO,CAAC;gBAAA,CACf;gBAEM,OAAO,GAAG;gBAAC,CAEjB;aAED;YAlBY,QAAA,UAAU,aAkBtB,CAAA;QAAA,CACD,EApBmB,OAAO,GAAP,MAAA,OAAO,KAAP,MAAA,OAAO,QAoB1B;IADC,CACF,AA/DA,EA2Cc,KAAK,GAAL,OAAA,KAAK,KAAL,OAAA,KAAK,QAoBlB;AADC,CACF,AA/DA,EA2CO,MAAM,KAAN,MAAM,QAoBZ;AAGD,MAAM,YAAY;IAA2B,eAAe,GAAW,EAAE,OAAO,IAAI,CAAC,CAAA,CAAC;CAAE;AASxF,WAAO,MAAM,EAtEb;IAsEc,IAAA,KAwBb;IAxBa,WAAA,KAAK,EAtEnB;QAsEoB,IAAA,SAwBnB;QAxBmB,WAAA,SAAS,EAtE7B;YAsE8B,IAAA,SAwB7B;YAxB6B,WAAA,SAAS,EAAC;gBAEvC,MAAa,KAAK;oBACS,IAAI;oBAAxB,YAAoB,IAAW,EAAE;oCAAb,IAAI;oBAAU,CAAE;oBACnC,KAAK,GAAU;wBACrB,OAAO,IAAI,CAAC;oBAAA,CACZ;oBAEM,MAAM,CAAC,KAAY,EAAU;wBACnC,OAAO,IAAI,KAAK,KAAK,CAAC;oBAAA,CACtB;oBAEM,OAAO,GAAU,EAAE,OAAO,IAAI,CAAC,CAAA,CAAE;iBACxC;gBAXY,UAAA,KAAK,QAWjB,CAAA;gBAED,MAAa,IAAK,SAAQ,YAAY;oBAErC,aAAa;oBACN,eAAe,GAAW;wBAChC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;oBAAA,CACvB;iBAGD;gBARY,UAAA,IAAI,OAQhB,CAAA;YAAA,CACD,EAxB6B,SAAS,GAAT,UAAA,SAAS,KAAT,UAAA,SAAS,QAwBtC;QADC,CACF,AAnGA,EA2EoB,SAAS,GAAT,MAAA,SAAS,KAAT,MAAA,SAAS,QAwB5B;IADC,CACF,AAnGA,EA2Ec,KAAK,GAAL,OAAA,KAAK,KAAL,OAAA,KAAK,QAwBlB;AADC,CACF,AAnGA,EA2EO,MAAM,KAAN,MAAM,QAwBZ"}
+//// https://sokra.github.io/source-map-visualization#base64,Ly8gU2NlbmFyaW8gMTogVGVzdCByZXF1cnNpdmUgZnVuY3Rpb24gY2FsbCB3aXRoICJ0aGlzIiBwYXJhbWV0ZXINCi8vIFNjZW5hcmlvIDI6IFRlc3QgcmVjdXJzaXZlIGZ1bmN0aW9uIGNhbGwgd2l0aCBjYXN0IGFuZCAidGhpcyIgcGFyYW1ldGVyDQp2YXIgU2FtcGxlOw0KKGZ1bmN0aW9uIChTYW1wbGUpIHsNCiAgICBsZXQgQWN0aW9uczsNCiAgICAoZnVuY3Rpb24gKEFjdGlvbnMpIHsNCiAgICAgICAgbGV0IFRoaW5nOw0KICAgICAgICAoZnVuY3Rpb24gKFRoaW5nXzEpIHsNCiAgICAgICAgICAgIGxldCBGaW5kOw0KICAgICAgICAgICAgKGZ1bmN0aW9uIChGaW5kKSB7DQogICAgICAgICAgICAgICAgY2xhc3MgU3RhcnRGaW5kQWN0aW9uIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0SWQoKSB7IHJldHVybiAieW8iOyB9DQogICAgICAgICAgICAgICAgICAgIHJ1bihUaGluZykgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRmluZC5TdGFydEZpbmRBY3Rpb24gPSBTdGFydEZpbmRBY3Rpb247DQogICAgICAgICAgICB9KShGaW5kID0gVGhpbmdfMS5GaW5kIHx8IChUaGluZ18xLkZpbmQgPSB7fSkpOw0KICAgICAgICB9KShUaGluZyA9IEFjdGlvbnMuVGhpbmcgfHwgKEFjdGlvbnMuVGhpbmcgPSB7fSkpOw0KICAgIH0pKEFjdGlvbnMgPSBTYW1wbGUuQWN0aW9ucyB8fCAoU2FtcGxlLkFjdGlvbnMgPSB7fSkpOw0KfSkoU2FtcGxlIHx8IChTYW1wbGUgPSB7fSkpOw0KKGZ1bmN0aW9uIChTYW1wbGUpIHsNCiAgICBsZXQgVGhpbmc7DQogICAgKGZ1bmN0aW9uIChUaGluZykgew0KICAgICAgICBsZXQgV2lkZ2V0czsNCiAgICAgICAgKGZ1bmN0aW9uIChXaWRnZXRzKSB7DQogICAgICAgICAgICBjbGFzcyBGaW5kV2lkZ2V0IHsNCiAgICAgICAgICAgICAgICBjb2RlVGhpbmc7DQogICAgICAgICAgICAgICAgZ2FyKHJ1bm5lcikgeyBpZiAodHJ1ZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcnVubmVyKHRoaXMpOw0KICAgICAgICAgICAgICAgIH0gfQ0KICAgICAgICAgICAgICAgIGRvbU5vZGUgPSBudWxsOw0KICAgICAgICAgICAgICAgIGNvbnN0cnVjdG9yKGNvZGVUaGluZykgew0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvZGVUaGluZyA9IGNvZGVUaGluZzsNCiAgICAgICAgICAgICAgICAgICAgLy8gc2NlbmFyaW8gMQ0KICAgICAgICAgICAgICAgICAgICBjb2RlVGhpbmcuYWRkV2lkZ2V0KCJhZGRXaWRnZXQiLCB0aGlzKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZ2V0RG9tTm9kZSgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRvbU5vZGU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGRlc3Ryb3koKSB7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgV2lkZ2V0cy5GaW5kV2lkZ2V0ID0gRmluZFdpZGdldDsNCiAgICAgICAgfSkoV2lkZ2V0cyA9IFRoaW5nLldpZGdldHMgfHwgKFRoaW5nLldpZGdldHMgPSB7fSkpOw0KICAgIH0pKFRoaW5nID0gU2FtcGxlLlRoaW5nIHx8IChTYW1wbGUuVGhpbmcgPSB7fSkpOw0KfSkoU2FtcGxlIHx8IChTYW1wbGUgPSB7fSkpOw0KY2xhc3MgQWJzdHJhY3RNb2RlIHsNCiAgICBnZXRJbml0aWFsU3RhdGUoKSB7IHJldHVybiBudWxsOyB9DQp9DQooZnVuY3Rpb24gKFNhbXBsZSkgew0KICAgIGxldCBUaGluZzsNCiAgICAoZnVuY3Rpb24gKFRoaW5nKSB7DQogICAgICAgIGxldCBMYW5ndWFnZXM7DQogICAgICAgIChmdW5jdGlvbiAoTGFuZ3VhZ2VzKSB7DQogICAgICAgICAgICBsZXQgUGxhaW5UZXh0Ow0KICAgICAgICAgICAgKGZ1bmN0aW9uIChQbGFpblRleHQpIHsNCiAgICAgICAgICAgICAgICBjbGFzcyBTdGF0ZSB7DQogICAgICAgICAgICAgICAgICAgIG1vZGU7DQogICAgICAgICAgICAgICAgICAgIGNvbnN0cnVjdG9yKG1vZGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZSA9IG1vZGU7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgY2xvbmUoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBlcXVhbHMob3RoZXIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvdGhlcjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBnZXRNb2RlKCkgeyByZXR1cm4gbW9kZTsgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBQbGFpblRleHQuU3RhdGUgPSBTdGF0ZTsNCiAgICAgICAgICAgICAgICBjbGFzcyBNb2RlIGV4dGVuZHMgQWJzdHJhY3RNb2RlIHsNCiAgICAgICAgICAgICAgICAgICAgLy8gc2NlbmFyaW8gMg0KICAgICAgICAgICAgICAgICAgICBnZXRJbml0aWFsU3RhdGUoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFN0YXRlKHNlbGYpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIFBsYWluVGV4dC5Nb2RlID0gTW9kZTsNCiAgICAgICAgICAgIH0pKFBsYWluVGV4dCA9IExhbmd1YWdlcy5QbGFpblRleHQgfHwgKExhbmd1YWdlcy5QbGFpblRleHQgPSB7fSkpOw0KICAgICAgICB9KShMYW5ndWFnZXMgPSBUaGluZy5MYW5ndWFnZXMgfHwgKFRoaW5nLkxhbmd1YWdlcyA9IHt9KSk7DQogICAgfSkoVGhpbmcgPSBTYW1wbGUuVGhpbmcgfHwgKFNhbXBsZS5UaGluZyA9IHt9KSk7DQp9KShTYW1wbGUgfHwgKFNhbXBsZSA9IHt9KSk7DQovLyMgc291cmNlTWFwcGluZ1VSTD1yZWN1cnNpdmVDbGFzc1JlZmVyZW5jZVRlc3QuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdXJzaXZlQ2xhc3NSZWZlcmVuY2VUZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicmVjdXJzaXZlQ2xhc3NSZWZlcmVuY2VUZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlFQUFpRTtBQUNqRSwwRUFBMEU7QUE4QjFFLElBQU8sTUFVTjtBQVZELFdBQU8sTUFBTSxFQTFCYjtJQTBCYyxJQUFBLE9BVWI7SUFWYSxXQUFBLE9BQU8sRUExQnJCO1FBMEJzQixJQUFBLEtBVXJCO1FBVnFCLFdBQUEsT0FBSyxFQTFCM0I7WUEwQjRCLElBQUEsSUFVM0I7WUFWMkIsV0FBQSxJQUFJLEVBQUM7Z0JBQ2hDLE1BQWEsZUFBZTtvQkFFcEIsS0FBSyxHQUFHLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQSxDQUFFO29CQUV4QixHQUFHLENBQUMsS0FBNkIsRUFBVTt3QkFFakQsT0FBTyxJQUFJLENBQUM7b0JBQUEsQ0FDWjtpQkFDRDtnQkFSWSxLQUFBLGVBQWUsa0JBUTNCLENBQUE7WUFBQSxDQUNELEVBVjJCLElBQUksR0FBSixRQUFBLElBQUksS0FBSixRQUFBLElBQUksUUFVL0I7UUFEQyxDQUNGLEFBekNBLEVBK0JzQixLQUFLLEdBQUwsUUFBQSxLQUFLLEtBQUwsUUFBQSxLQUFLLFFBVTFCO0lBREMsQ0FDRixBQXpDQSxFQStCYyxPQUFPLEdBQVAsT0FBQSxPQUFPLEtBQVAsT0FBQSxPQUFPLFFBVXBCO0FBREMsQ0FDRixBQXpDQSxFQStCTyxNQUFNLEtBQU4sTUFBTSxRQVVaO0FBRUQsV0FBTyxNQUFNLEVBdENiO0lBc0NjLElBQUEsS0FvQmI7SUFwQmEsV0FBQSxLQUFLLEVBdENuQjtRQXNDb0IsSUFBQSxPQW9CbkI7UUFwQm1CLFdBQUEsT0FBTyxFQUFDO1lBQzNCLE1BQWEsVUFBVTtnQkFLRixTQUFTO2dCQUh0QixHQUFHLENBQUMsTUFBeUMsRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQUEsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQUEsQ0FBQyxDQUFBLENBQUM7Z0JBRWpGLE9BQU8sR0FBTyxJQUFJLENBQUM7Z0JBQzNCLFlBQW9CLFNBQWtDLEVBQUU7cUNBQXBDLFNBQVM7b0JBQ3pCLGFBQWE7b0JBQ2IsU0FBUyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQUEsQ0FDMUM7Z0JBRU0sVUFBVSxHQUFHO29CQUNuQixPQUFPLE9BQU8sQ0FBQztnQkFBQSxDQUNmO2dCQUVNLE9BQU8sR0FBRztnQkFBQyxDQUVqQjthQUVEO1lBbEJZLFFBQUEsVUFBVSxhQWtCdEIsQ0FBQTtRQUFBLENBQ0QsRUFwQm1CLE9BQU8sR0FBUCxNQUFBLE9BQU8sS0FBUCxNQUFBLE9BQU8sUUFvQjFCO0lBREMsQ0FDRixBQS9EQSxFQTJDYyxLQUFLLEdBQUwsT0FBQSxLQUFLLEtBQUwsT0FBQSxLQUFLLFFBb0JsQjtBQURDLENBQ0YsQUEvREEsRUEyQ08sTUFBTSxLQUFOLE1BQU0sUUFvQlo7QUFHRCxNQUFNLFlBQVk7SUFBMkIsZUFBZSxHQUFXLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQSxDQUFDO0NBQUU7QUFTeEYsV0FBTyxNQUFNLEVBdEViO0lBc0VjLElBQUEsS0F3QmI7SUF4QmEsV0FBQSxLQUFLLEVBdEVuQjtRQXNFb0IsSUFBQSxTQXdCbkI7UUF4Qm1CLFdBQUEsU0FBUyxFQXRFN0I7WUFzRThCLElBQUEsU0F3QjdCO1lBeEI2QixXQUFBLFNBQVMsRUFBQztnQkFFdkMsTUFBYSxLQUFLO29CQUNTLElBQUk7b0JBQXhCLFlBQW9CLElBQVcsRUFBRTtvQ0FBYixJQUFJO29CQUFVLENBQUU7b0JBQ25DLEtBQUssR0FBVTt3QkFDckIsT0FBTyxJQUFJLENBQUM7b0JBQUEsQ0FDWjtvQkFFTSxNQUFNLENBQUMsS0FBWSxFQUFVO3dCQUNuQyxPQUFPLElBQUksS0FBSyxLQUFLLENBQUM7b0JBQUEsQ0FDdEI7b0JBRU0sT0FBTyxHQUFVLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQSxDQUFFO2lCQUN4QztnQkFYWSxVQUFBLEtBQUssUUFXakIsQ0FBQTtnQkFFRCxNQUFhLElBQUssU0FBUSxZQUFZO29CQUVyQyxhQUFhO29CQUNOLGVBQWUsR0FBVzt3QkFDaEMsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFBQSxDQUN2QjtpQkFHRDtnQkFSWSxVQUFBLElBQUksT0FRaEIsQ0FBQTtZQUFBLENBQ0QsRUF4QjZCLFNBQVMsR0FBVCxVQUFBLFNBQVMsS0FBVCxVQUFBLFNBQVMsUUF3QnRDO1FBREMsQ0FDRixBQW5HQSxFQTJFb0IsU0FBUyxHQUFULE1BQUEsU0FBUyxLQUFULE1BQUEsU0FBUyxRQXdCNUI7SUFEQyxDQUNGLEFBbkdBLEVBMkVjLEtBQUssR0FBTCxPQUFBLEtBQUssS0FBTCxPQUFBLEtBQUssUUF3QmxCO0FBREMsQ0FDRixBQW5HQSxFQTJFTyxNQUFNLEtBQU4sTUFBTSxRQXdCWiJ9,Ly8gU2NlbmFyaW8gMTogVGVzdCByZXF1cnNpdmUgZnVuY3Rpb24gY2FsbCB3aXRoICJ0aGlzIiBwYXJhbWV0ZXIKLy8gU2NlbmFyaW8gMjogVGVzdCByZWN1cnNpdmUgZnVuY3Rpb24gY2FsbCB3aXRoIGNhc3QgYW5kICJ0aGlzIiBwYXJhbWV0ZXIKCgoKZGVjbGFyZSBtb2R1bGUgU2FtcGxlLlRoaW5nIHsKCglleHBvcnQgaW50ZXJmYWNlIElXaWRnZXQgewoJCWdldERvbU5vZGUoKTogYW55OwoJCWRlc3Ryb3koKTsKCQlnYXIocnVubmVyOih3aWRnZXQ6U2FtcGxlLlRoaW5nLklXaWRnZXQpPT5hbnkpOmFueTsKCX0KCglleHBvcnQgaW50ZXJmYWNlIElDb2RlVGhpbmcgewogIAogIAkJZ2V0RG9tTm9kZSgpOiBFbGVtZW50OwoJCQoJCWFkZFdpZGdldCh3aWRnZXRJZDpzdHJpbmcsIHdpZGdldDpJV2lkZ2V0KTsKCgkJCgkJZm9jdXMoKTsgCgkJCgkJLy9hZGRXaWRnZXQod2lkZ2V0OiBTYW1wbGUuVGhpbmcuV2lkZ2V0cy5JV2lkZ2V0KTsKCX0KCglleHBvcnQgaW50ZXJmYWNlIElBY3Rpb24gewoJCXJ1bihUaGluZzpJQ29kZVRoaW5nKTpib29sZWFuOwoJCWdldElkKCk6c3RyaW5nOwoJfQkKfQoKbW9kdWxlIFNhbXBsZS5BY3Rpb25zLlRoaW5nLkZpbmQgewoJZXhwb3J0IGNsYXNzIFN0YXJ0RmluZEFjdGlvbiBpbXBsZW1lbnRzIFNhbXBsZS5UaGluZy5JQWN0aW9uIHsKCQkKCQlwdWJsaWMgZ2V0SWQoKSB7IHJldHVybiAieW8iOyB9CgkJCgkJcHVibGljIHJ1bihUaGluZzpTYW1wbGUuVGhpbmcuSUNvZGVUaGluZyk6Ym9vbGVhbiB7CgoJCQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9Cn0KCm1vZHVsZSBTYW1wbGUuVGhpbmcuV2lkZ2V0cyB7CglleHBvcnQgY2xhc3MgRmluZFdpZGdldCBpbXBsZW1lbnRzIFNhbXBsZS5UaGluZy5JV2lkZ2V0IHsKCgkJcHVibGljIGdhcihydW5uZXI6KHdpZGdldDpTYW1wbGUuVGhpbmcuSVdpZGdldCk9PmFueSkgeyBpZiAodHJ1ZSkge3JldHVybiBydW5uZXIodGhpcyk7fX0KCQkJCgkJcHJpdmF0ZSBkb21Ob2RlOmFueSA9IG51bGw7CgkJY29uc3RydWN0b3IocHJpdmF0ZSBjb2RlVGhpbmc6IFNhbXBsZS5UaGluZy5JQ29kZVRoaW5nKSB7CgkJICAgIC8vIHNjZW5hcmlvIDEKCQkgICAgY29kZVRoaW5nLmFkZFdpZGdldCgiYWRkV2lkZ2V0IiwgdGhpcyk7CgkJfQoJCQoJCXB1YmxpYyBnZXREb21Ob2RlKCkgewoJCQlyZXR1cm4gZG9tTm9kZTsKCQl9CgkJCgkJcHVibGljIGRlc3Ryb3koKSB7CgoJCX0KCgl9Cn0KCmludGVyZmFjZSBJTW9kZSB7IGdldEluaXRpYWxTdGF0ZSgpOiBJU3RhdGU7fSAKY2xhc3MgQWJzdHJhY3RNb2RlIGltcGxlbWVudHMgSU1vZGUgeyBwdWJsaWMgZ2V0SW5pdGlhbFN0YXRlKCk6IElTdGF0ZSB7IHJldHVybiBudWxsO30gfQoKaW50ZXJmYWNlIElTdGF0ZSB7fQoKaW50ZXJmYWNlIFdpbmRvdyB7CiAgICBvcGVuZXI6IFdpbmRvdzsKfQpkZWNsYXJlIHZhciBzZWxmOiBXaW5kb3c7Cgptb2R1bGUgU2FtcGxlLlRoaW5nLkxhbmd1YWdlcy5QbGFpblRleHQgewoJCglleHBvcnQgY2xhc3MgU3RhdGUgaW1wbGVtZW50cyBJU3RhdGUgewkJCiAgICAgICAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RlOiBJTW9kZSkgeyB9CgkJcHVibGljIGNsb25lKCk6SVN0YXRlIHsKCQkJcmV0dXJuIHRoaXM7CgkJfQoKCQlwdWJsaWMgZXF1YWxzKG90aGVyOklTdGF0ZSk6Ym9vbGVhbiB7CgkJCXJldHVybiB0aGlzID09PSBvdGhlcjsKCQl9CgkJCgkJcHVibGljIGdldE1vZGUoKTogSU1vZGUgeyByZXR1cm4gbW9kZTsgfQoJfQoJCglleHBvcnQgY2xhc3MgTW9kZSBleHRlbmRzIEFic3RyYWN0TW9kZSB7CgoJCS8vIHNjZW5hcmlvIDIKCQlwdWJsaWMgZ2V0SW5pdGlhbFN0YXRlKCk6IElTdGF0ZSB7CgkJCXJldHVybiBuZXcgU3RhdGUoc2VsZik7CgkJfQoKCgl9Cn0KCg==
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js.map.diff b/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js.map.diff
index 3d6581c251..041b9d080b 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js.map.diff
+++ b/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.js.map.diff
@@ -4,5 +4,5 @@
//// [recursiveClassReferenceTest.js.map]
-{"version":3,"file":"recursiveClassReferenceTest.js","sourceRoot":"","sources":["recursiveClassReferenceTest.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,0EAA0E;AA8B1E,IAAO,MAAM,CAUZ;AAVD,WAAO,MAAM;IAAC,IAAA,OAAO,CAUpB;IAVa,WAAA,OAAO;QAAC,IAAA,KAAK,CAU1B;QAVqB,WAAA,OAAK;YAAC,IAAA,IAAI,CAU/B;YAV2B,WAAA,IAAI;gBAC/B,MAAa,eAAe;oBAEpB,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;oBAExB,GAAG,CAAC,KAA6B;wBAEvC,OAAO,IAAI,CAAC;oBACb,CAAC;iBACD;gBARY,oBAAe,kBAQ3B,CAAA;YACF,CAAC,EAV2B,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAU/B;QAAD,CAAC,EAVqB,KAAK,GAAL,aAAK,KAAL,aAAK,QAU1B;IAAD,CAAC,EAVa,OAAO,GAAP,cAAO,KAAP,cAAO,QAUpB;AAAD,CAAC,EAVM,MAAM,KAAN,MAAM,QAUZ;AAED,WAAO,MAAM;IAAC,IAAA,KAAK,CAoBlB;IApBa,WAAA,KAAK;QAAC,IAAA,OAAO,CAoB1B;QApBmB,WAAA,OAAO;YAC1B,MAAa,UAAU;gBAEf,GAAG,CAAC,MAAyC,IAAI,IAAI,IAAI,EAAE,CAAC;oBAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;gBAAA,CAAC,CAAA,CAAC;gBAGzF,YAAoB,SAAkC;oBAAlC,cAAS,GAAT,SAAS,CAAyB;oBAD9C,YAAO,GAAO,IAAI,CAAC;oBAEvB,aAAa;oBACb,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC3C,CAAC;gBAEM,UAAU;oBAChB,OAAO,OAAO,CAAC;gBAChB,CAAC;gBAEM,OAAO;gBAEd,CAAC;aAED;YAlBY,kBAAU,aAkBtB,CAAA;QACF,CAAC,EApBmB,OAAO,GAAP,aAAO,KAAP,aAAO,QAoB1B;IAAD,CAAC,EApBa,KAAK,GAAL,YAAK,KAAL,YAAK,QAoBlB;AAAD,CAAC,EApBM,MAAM,KAAN,MAAM,QAoBZ;AAGD,MAAM,YAAY;IAA2B,eAAe,KAAa,OAAO,IAAI,CAAC,CAAA,CAAC;CAAE;AASxF,WAAO,MAAM;IAAC,IAAA,KAAK,CAwBlB;IAxBa,WAAA,KAAK;QAAC,IAAA,SAAS,CAwB5B;QAxBmB,WAAA,SAAS;YAAC,IAAA,SAAS,CAwBtC;YAxB6B,WAAA,SAAS;gBAEtC,MAAa,KAAK;oBACX,YAAoB,IAAW;wBAAX,SAAI,GAAJ,IAAI,CAAO;oBAAI,CAAC;oBACnC,KAAK;wBACX,OAAO,IAAI,CAAC;oBACb,CAAC;oBAEM,MAAM,CAAC,KAAY;wBACzB,OAAO,IAAI,KAAK,KAAK,CAAC;oBACvB,CAAC;oBAEM,OAAO,KAAY,OAAO,IAAI,CAAC,CAAC,CAAC;iBACxC;gBAXY,eAAK,QAWjB,CAAA;gBAED,MAAa,IAAK,SAAQ,YAAY;oBAErC,aAAa;oBACN,eAAe;wBACrB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC;iBAGD;gBARY,cAAI,OAQhB,CAAA;YACF,CAAC,EAxB6B,SAAS,GAAT,mBAAS,KAAT,mBAAS,QAwBtC;QAAD,CAAC,EAxBmB,SAAS,GAAT,eAAS,KAAT,eAAS,QAwB5B;IAAD,CAAC,EAxBa,KAAK,GAAL,YAAK,KAAL,YAAK,QAwBlB;AAAD,CAAC,EAxBM,MAAM,KAAN,MAAM,QAwBZ"}
-//// https://sokra.github.io/source-map-visualization#base64,Ly8gU2NlbmFyaW8gMTogVGVzdCByZXF1cnNpdmUgZnVuY3Rpb24gY2FsbCB3aXRoICJ0aGlzIiBwYXJhbWV0ZXINCi8vIFNjZW5hcmlvIDI6IFRlc3QgcmVjdXJzaXZlIGZ1bmN0aW9uIGNhbGwgd2l0aCBjYXN0IGFuZCAidGhpcyIgcGFyYW1ldGVyDQp2YXIgU2FtcGxlOw0KKGZ1bmN0aW9uIChTYW1wbGUpIHsNCiAgICB2YXIgQWN0aW9uczsNCiAgICAoZnVuY3Rpb24gKEFjdGlvbnMpIHsNCiAgICAgICAgdmFyIFRoaW5nOw0KICAgICAgICAoZnVuY3Rpb24gKFRoaW5nXzEpIHsNCiAgICAgICAgICAgIHZhciBGaW5kOw0KICAgICAgICAgICAgKGZ1bmN0aW9uIChGaW5kKSB7DQogICAgICAgICAgICAgICAgY2xhc3MgU3RhcnRGaW5kQWN0aW9uIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0SWQoKSB7IHJldHVybiAieW8iOyB9DQogICAgICAgICAgICAgICAgICAgIHJ1bihUaGluZykgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRmluZC5TdGFydEZpbmRBY3Rpb24gPSBTdGFydEZpbmRBY3Rpb247DQogICAgICAgICAgICB9KShGaW5kID0gVGhpbmdfMS5GaW5kIHx8IChUaGluZ18xLkZpbmQgPSB7fSkpOw0KICAgICAgICB9KShUaGluZyA9IEFjdGlvbnMuVGhpbmcgfHwgKEFjdGlvbnMuVGhpbmcgPSB7fSkpOw0KICAgIH0pKEFjdGlvbnMgPSBTYW1wbGUuQWN0aW9ucyB8fCAoU2FtcGxlLkFjdGlvbnMgPSB7fSkpOw0KfSkoU2FtcGxlIHx8IChTYW1wbGUgPSB7fSkpOw0KKGZ1bmN0aW9uIChTYW1wbGUpIHsNCiAgICB2YXIgVGhpbmc7DQogICAgKGZ1bmN0aW9uIChUaGluZykgew0KICAgICAgICB2YXIgV2lkZ2V0czsNCiAgICAgICAgKGZ1bmN0aW9uIChXaWRnZXRzKSB7DQogICAgICAgICAgICBjbGFzcyBGaW5kV2lkZ2V0IHsNCiAgICAgICAgICAgICAgICBnYXIocnVubmVyKSB7IGlmICh0cnVlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBydW5uZXIodGhpcyk7DQogICAgICAgICAgICAgICAgfSB9DQogICAgICAgICAgICAgICAgY29uc3RydWN0b3IoY29kZVRoaW5nKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29kZVRoaW5nID0gY29kZVRoaW5nOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLmRvbU5vZGUgPSBudWxsOw0KICAgICAgICAgICAgICAgICAgICAvLyBzY2VuYXJpbyAxDQogICAgICAgICAgICAgICAgICAgIGNvZGVUaGluZy5hZGRXaWRnZXQoImFkZFdpZGdldCIsIHRoaXMpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBnZXREb21Ob2RlKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZG9tTm9kZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZGVzdHJveSgpIHsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBXaWRnZXRzLkZpbmRXaWRnZXQgPSBGaW5kV2lkZ2V0Ow0KICAgICAgICB9KShXaWRnZXRzID0gVGhpbmcuV2lkZ2V0cyB8fCAoVGhpbmcuV2lkZ2V0cyA9IHt9KSk7DQogICAgfSkoVGhpbmcgPSBTYW1wbGUuVGhpbmcgfHwgKFNhbXBsZS5UaGluZyA9IHt9KSk7DQp9KShTYW1wbGUgfHwgKFNhbXBsZSA9IHt9KSk7DQpjbGFzcyBBYnN0cmFjdE1vZGUgew0KICAgIGdldEluaXRpYWxTdGF0ZSgpIHsgcmV0dXJuIG51bGw7IH0NCn0NCihmdW5jdGlvbiAoU2FtcGxlKSB7DQogICAgdmFyIFRoaW5nOw0KICAgIChmdW5jdGlvbiAoVGhpbmcpIHsNCiAgICAgICAgdmFyIExhbmd1YWdlczsNCiAgICAgICAgKGZ1bmN0aW9uIChMYW5ndWFnZXMpIHsNCiAgICAgICAgICAgIHZhciBQbGFpblRleHQ7DQogICAgICAgICAgICAoZnVuY3Rpb24gKFBsYWluVGV4dCkgew0KICAgICAgICAgICAgICAgIGNsYXNzIFN0YXRlIHsNCiAgICAgICAgICAgICAgICAgICAgY29uc3RydWN0b3IobW9kZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RlID0gbW9kZTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBjbG9uZSgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGVxdWFscyhvdGhlcikgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG90aGVyOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGdldE1vZGUoKSB7IHJldHVybiBtb2RlOyB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIFBsYWluVGV4dC5TdGF0ZSA9IFN0YXRlOw0KICAgICAgICAgICAgICAgIGNsYXNzIE1vZGUgZXh0ZW5kcyBBYnN0cmFjdE1vZGUgew0KICAgICAgICAgICAgICAgICAgICAvLyBzY2VuYXJpbyAyDQogICAgICAgICAgICAgICAgICAgIGdldEluaXRpYWxTdGF0ZSgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU3RhdGUoc2VsZik7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgUGxhaW5UZXh0Lk1vZGUgPSBNb2RlOw0KICAgICAgICAgICAgfSkoUGxhaW5UZXh0ID0gTGFuZ3VhZ2VzLlBsYWluVGV4dCB8fCAoTGFuZ3VhZ2VzLlBsYWluVGV4dCA9IHt9KSk7DQogICAgICAgIH0pKExhbmd1YWdlcyA9IFRoaW5nLkxhbmd1YWdlcyB8fCAoVGhpbmcuTGFuZ3VhZ2VzID0ge30pKTsNCiAgICB9KShUaGluZyA9IFNhbXBsZS5UaGluZyB8fCAoU2FtcGxlLlRoaW5nID0ge30pKTsNCn0pKFNhbXBsZSB8fCAoU2FtcGxlID0ge30pKTsNCi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlY3Vyc2l2ZUNsYXNzUmVmZXJlbmNlVGVzdC5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdXJzaXZlQ2xhc3NSZWZlcmVuY2VUZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicmVjdXJzaXZlQ2xhc3NSZWZlcmVuY2VUZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlFQUFpRTtBQUNqRSwwRUFBMEU7QUE4QjFFLElBQU8sTUFBTSxDQVVaO0FBVkQsV0FBTyxNQUFNO0lBQUMsSUFBQSxPQUFPLENBVXBCO0lBVmEsV0FBQSxPQUFPO1FBQUMsSUFBQSxLQUFLLENBVTFCO1FBVnFCLFdBQUEsT0FBSztZQUFDLElBQUEsSUFBSSxDQVUvQjtZQVYyQixXQUFBLElBQUk7Z0JBQy9CLE1BQWEsZUFBZTtvQkFFcEIsS0FBSyxLQUFLLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFFeEIsR0FBRyxDQUFDLEtBQTZCO3dCQUV2QyxPQUFPLElBQUksQ0FBQztvQkFDYixDQUFDO2lCQUNEO2dCQVJZLG9CQUFlLGtCQVEzQixDQUFBO1lBQ0YsQ0FBQyxFQVYyQixJQUFJLEdBQUosWUFBSSxLQUFKLFlBQUksUUFVL0I7UUFBRCxDQUFDLEVBVnFCLEtBQUssR0FBTCxhQUFLLEtBQUwsYUFBSyxRQVUxQjtJQUFELENBQUMsRUFWYSxPQUFPLEdBQVAsY0FBTyxLQUFQLGNBQU8sUUFVcEI7QUFBRCxDQUFDLEVBVk0sTUFBTSxLQUFOLE1BQU0sUUFVWjtBQUVELFdBQU8sTUFBTTtJQUFDLElBQUEsS0FBSyxDQW9CbEI7SUFwQmEsV0FBQSxLQUFLO1FBQUMsSUFBQSxPQUFPLENBb0IxQjtRQXBCbUIsV0FBQSxPQUFPO1lBQzFCLE1BQWEsVUFBVTtnQkFFZixHQUFHLENBQUMsTUFBeUMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO29CQUFBLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUFBLENBQUMsQ0FBQSxDQUFDO2dCQUd6RixZQUFvQixTQUFrQztvQkFBbEMsY0FBUyxHQUFULFNBQVMsQ0FBeUI7b0JBRDlDLFlBQU8sR0FBTyxJQUFJLENBQUM7b0JBRXZCLGFBQWE7b0JBQ2IsU0FBUyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzNDLENBQUM7Z0JBRU0sVUFBVTtvQkFDaEIsT0FBTyxPQUFPLENBQUM7Z0JBQ2hCLENBQUM7Z0JBRU0sT0FBTztnQkFFZCxDQUFDO2FBRUQ7WUFsQlksa0JBQVUsYUFrQnRCLENBQUE7UUFDRixDQUFDLEVBcEJtQixPQUFPLEdBQVAsYUFBTyxLQUFQLGFBQU8sUUFvQjFCO0lBQUQsQ0FBQyxFQXBCYSxLQUFLLEdBQUwsWUFBSyxLQUFMLFlBQUssUUFvQmxCO0FBQUQsQ0FBQyxFQXBCTSxNQUFNLEtBQU4sTUFBTSxRQW9CWjtBQUdELE1BQU0sWUFBWTtJQUEyQixlQUFlLEtBQWEsT0FBTyxJQUFJLENBQUMsQ0FBQSxDQUFDO0NBQUU7QUFTeEYsV0FBTyxNQUFNO0lBQUMsSUFBQSxLQUFLLENBd0JsQjtJQXhCYSxXQUFBLEtBQUs7UUFBQyxJQUFBLFNBQVMsQ0F3QjVCO1FBeEJtQixXQUFBLFNBQVM7WUFBQyxJQUFBLFNBQVMsQ0F3QnRDO1lBeEI2QixXQUFBLFNBQVM7Z0JBRXRDLE1BQWEsS0FBSztvQkFDWCxZQUFvQixJQUFXO3dCQUFYLFNBQUksR0FBSixJQUFJLENBQU87b0JBQUksQ0FBQztvQkFDbkMsS0FBSzt3QkFDWCxPQUFPLElBQUksQ0FBQztvQkFDYixDQUFDO29CQUVNLE1BQU0sQ0FBQyxLQUFZO3dCQUN6QixPQUFPLElBQUksS0FBSyxLQUFLLENBQUM7b0JBQ3ZCLENBQUM7b0JBRU0sT0FBTyxLQUFZLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDeEM7Z0JBWFksZUFBSyxRQVdqQixDQUFBO2dCQUVELE1BQWEsSUFBSyxTQUFRLFlBQVk7b0JBRXJDLGFBQWE7b0JBQ04sZUFBZTt3QkFDckIsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDeEIsQ0FBQztpQkFHRDtnQkFSWSxjQUFJLE9BUWhCLENBQUE7WUFDRixDQUFDLEVBeEI2QixTQUFTLEdBQVQsbUJBQVMsS0FBVCxtQkFBUyxRQXdCdEM7UUFBRCxDQUFDLEVBeEJtQixTQUFTLEdBQVQsZUFBUyxLQUFULGVBQVMsUUF3QjVCO0lBQUQsQ0FBQyxFQXhCYSxLQUFLLEdBQUwsWUFBSyxLQUFMLFlBQUssUUF3QmxCO0FBQUQsQ0FBQyxFQXhCTSxNQUFNLEtBQU4sTUFBTSxRQXdCWiJ9,Ly8gU2NlbmFyaW8gMTogVGVzdCByZXF1cnNpdmUgZnVuY3Rpb24gY2FsbCB3aXRoICJ0aGlzIiBwYXJhbWV0ZXIKLy8gU2NlbmFyaW8gMjogVGVzdCByZWN1cnNpdmUgZnVuY3Rpb24gY2FsbCB3aXRoIGNhc3QgYW5kICJ0aGlzIiBwYXJhbWV0ZXIKCgoKZGVjbGFyZSBtb2R1bGUgU2FtcGxlLlRoaW5nIHsKCglleHBvcnQgaW50ZXJmYWNlIElXaWRnZXQgewoJCWdldERvbU5vZGUoKTogYW55OwoJCWRlc3Ryb3koKTsKCQlnYXIocnVubmVyOih3aWRnZXQ6U2FtcGxlLlRoaW5nLklXaWRnZXQpPT5hbnkpOmFueTsKCX0KCglleHBvcnQgaW50ZXJmYWNlIElDb2RlVGhpbmcgewogIAogIAkJZ2V0RG9tTm9kZSgpOiBFbGVtZW50OwoJCQoJCWFkZFdpZGdldCh3aWRnZXRJZDpzdHJpbmcsIHdpZGdldDpJV2lkZ2V0KTsKCgkJCgkJZm9jdXMoKTsgCgkJCgkJLy9hZGRXaWRnZXQod2lkZ2V0OiBTYW1wbGUuVGhpbmcuV2lkZ2V0cy5JV2lkZ2V0KTsKCX0KCglleHBvcnQgaW50ZXJmYWNlIElBY3Rpb24gewoJCXJ1bihUaGluZzpJQ29kZVRoaW5nKTpib29sZWFuOwoJCWdldElkKCk6c3RyaW5nOwoJfQkKfQoKbW9kdWxlIFNhbXBsZS5BY3Rpb25zLlRoaW5nLkZpbmQgewoJZXhwb3J0IGNsYXNzIFN0YXJ0RmluZEFjdGlvbiBpbXBsZW1lbnRzIFNhbXBsZS5UaGluZy5JQWN0aW9uIHsKCQkKCQlwdWJsaWMgZ2V0SWQoKSB7IHJldHVybiAieW8iOyB9CgkJCgkJcHVibGljIHJ1bihUaGluZzpTYW1wbGUuVGhpbmcuSUNvZGVUaGluZyk6Ym9vbGVhbiB7CgoJCQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9Cn0KCm1vZHVsZSBTYW1wbGUuVGhpbmcuV2lkZ2V0cyB7CglleHBvcnQgY2xhc3MgRmluZFdpZGdldCBpbXBsZW1lbnRzIFNhbXBsZS5UaGluZy5JV2lkZ2V0IHsKCgkJcHVibGljIGdhcihydW5uZXI6KHdpZGdldDpTYW1wbGUuVGhpbmcuSVdpZGdldCk9PmFueSkgeyBpZiAodHJ1ZSkge3JldHVybiBydW5uZXIodGhpcyk7fX0KCQkJCgkJcHJpdmF0ZSBkb21Ob2RlOmFueSA9IG51bGw7CgkJY29uc3RydWN0b3IocHJpdmF0ZSBjb2RlVGhpbmc6IFNhbXBsZS5UaGluZy5JQ29kZVRoaW5nKSB7CgkJICAgIC8vIHNjZW5hcmlvIDEKCQkgICAgY29kZVRoaW5nLmFkZFdpZGdldCgiYWRkV2lkZ2V0IiwgdGhpcyk7CgkJfQoJCQoJCXB1YmxpYyBnZXREb21Ob2RlKCkgewoJCQlyZXR1cm4gZG9tTm9kZTsKCQl9CgkJCgkJcHVibGljIGRlc3Ryb3koKSB7CgoJCX0KCgl9Cn0KCmludGVyZmFjZSBJTW9kZSB7IGdldEluaXRpYWxTdGF0ZSgpOiBJU3RhdGU7fSAKY2xhc3MgQWJzdHJhY3RNb2RlIGltcGxlbWVudHMgSU1vZGUgeyBwdWJsaWMgZ2V0SW5pdGlhbFN0YXRlKCk6IElTdGF0ZSB7IHJldHVybiBudWxsO30gfQoKaW50ZXJmYWNlIElTdGF0ZSB7fQoKaW50ZXJmYWNlIFdpbmRvdyB7CiAgICBvcGVuZXI6IFdpbmRvdzsKfQpkZWNsYXJlIHZhciBzZWxmOiBXaW5kb3c7Cgptb2R1bGUgU2FtcGxlLlRoaW5nLkxhbmd1YWdlcy5QbGFpblRleHQgewoJCglleHBvcnQgY2xhc3MgU3RhdGUgaW1wbGVtZW50cyBJU3RhdGUgewkJCiAgICAgICAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RlOiBJTW9kZSkgeyB9CgkJcHVibGljIGNsb25lKCk6SVN0YXRlIHsKCQkJcmV0dXJuIHRoaXM7CgkJfQoKCQlwdWJsaWMgZXF1YWxzKG90aGVyOklTdGF0ZSk6Ym9vbGVhbiB7CgkJCXJldHVybiB0aGlzID09PSBvdGhlcjsKCQl9CgkJCgkJcHVibGljIGdldE1vZGUoKTogSU1vZGUgeyByZXR1cm4gbW9kZTsgfQoJfQoJCglleHBvcnQgY2xhc3MgTW9kZSBleHRlbmRzIEFic3RyYWN0TW9kZSB7CgoJCS8vIHNjZW5hcmlvIDIKCQlwdWJsaWMgZ2V0SW5pdGlhbFN0YXRlKCk6IElTdGF0ZSB7CgkJCXJldHVybiBuZXcgU3RhdGUoc2VsZik7CgkJfQoKCgl9Cn0KCg==
-+{"version":3,"file":"recursiveClassReferenceTest.js","sourceRoot":"","sources":["recursiveClassReferenceTest.ts"],"names":[],"mappings":"AA+BA,IAAO,MAUN;AAVD,WAAO,MAAM,EA1Bb;IA0Bc,IAAA,OAUb;IAVa,WAAA,OAAO,EA1BrB;QA0BsB,IAAA,KAUrB;QAVqB,WAAA,OAAK,EA1B3B;YA0B4B,IAAA,IAU3B;YAV2B,WAAA,IAAI,EAAC;gBAChC,MAAa,eAAe;oBAEpB,KAAK,GAAG,EAAE,OAAO,IAAI,CAAC,CAAA,CAAE;oBAExB,GAAG,CAAC,KAA6B,EAAU;wBAEjD,OAAO,IAAI,CAAC;oBAAA,CACZ;iBACD;gBARY,KAAA,eAAe,kBAQ3B,CAAA;YAAA,CACD,EAV2B,IAAI,GAAJ,QAAA,IAAI,KAAJ,QAAA,IAAI,QAU/B;QADC,CACF,AAzCA,EA+BsB,KAAK,GAAL,QAAA,KAAK,KAAL,QAAA,KAAK,QAU1B;IADC,CACF,AAzCA,EA+Bc,OAAO,GAAP,OAAA,OAAO,KAAP,OAAA,OAAO,QAUpB;AADC,CACF,AAzCA,EA+BO,MAAM,KAAN,MAAM,QAUZ;AAED,WAAO,MAAM,EAtCb;IAsCc,IAAA,KAoBb;IApBa,WAAA,KAAK,EAtCnB;QAsCoB,IAAA,OAoBnB;QApBmB,WAAA,OAAO,EAAC;YAC3B,MAAa,UAAU;gBAKF,SAAS;gBAHtB,GAAG,CAAC,MAAyC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;oBAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;gBAAA,CAAC,CAAA,CAAC;gBAEjF,OAAO,GAAO,IAAI,CAAC;gBAC3B,YAAoB,SAAkC,EAAE;qCAApC,SAAS;oBACzB,aAAa;oBACb,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAAA,CAC1C;gBAEM,UAAU,GAAG;oBACnB,OAAO,OAAO,CAAC;gBAAA,CACf;gBAEM,OAAO,GAAG;gBAAC,CAEjB;aAED;YAlBY,QAAA,UAAU,aAkBtB,CAAA;QAAA,CACD,EApBmB,OAAO,GAAP,MAAA,OAAO,KAAP,MAAA,OAAO,QAoB1B;IADC,CACF,AA/DA,EA2Cc,KAAK,GAAL,OAAA,KAAK,KAAL,OAAA,KAAK,QAoBlB;AADC,CACF,AA/DA,EA2CO,MAAM,KAAN,MAAM,QAoBZ;AAGD,MAAM,YAAY;IAA2B,eAAe,GAAW,EAAE,OAAO,IAAI,CAAC,CAAA,CAAC;CAAE;AASxF,WAAO,MAAM,EAtEb;IAsEc,IAAA,KAwBb;IAxBa,WAAA,KAAK,EAtEnB;QAsEoB,IAAA,SAwBnB;QAxBmB,WAAA,SAAS,EAtE7B;YAsE8B,IAAA,SAwB7B;YAxB6B,WAAA,SAAS,EAAC;gBAEvC,MAAa,KAAK;oBACS,IAAI;oBAAxB,YAAoB,IAAW,EAAE;oCAAb,IAAI;oBAAU,CAAE;oBACnC,KAAK,GAAU;wBACrB,OAAO,IAAI,CAAC;oBAAA,CACZ;oBAEM,MAAM,CAAC,KAAY,EAAU;wBACnC,OAAO,IAAI,KAAK,KAAK,CAAC;oBAAA,CACtB;oBAEM,OAAO,GAAU,EAAE,OAAO,IAAI,CAAC,CAAA,CAAE;iBACxC;gBAXY,UAAA,KAAK,QAWjB,CAAA;gBAED,MAAa,IAAK,SAAQ,YAAY;oBAErC,aAAa;oBACN,eAAe,GAAW;wBAChC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;oBAAA,CACvB;iBAGD;gBARY,UAAA,IAAI,OAQhB,CAAA;YAAA,CACD,EAxB6B,SAAS,GAAT,UAAA,SAAS,KAAT,UAAA,SAAS,QAwBtC;QADC,CACF,AAnGA,EA2EoB,SAAS,GAAT,MAAA,SAAS,KAAT,MAAA,SAAS,QAwB5B;IADC,CACF,AAnGA,EA2Ec,KAAK,GAAL,OAAA,KAAK,KAAL,OAAA,KAAK,QAwBlB;AADC,CACF,AAnGA,EA2EO,MAAM,KAAN,MAAM,QAwBZ"}
-+//// https://sokra.github.io/source-map-visualization#base64,dmFyIFNhbXBsZTsNCihmdW5jdGlvbiAoU2FtcGxlKSB7DQogICAgbGV0IEFjdGlvbnM7DQogICAgKGZ1bmN0aW9uIChBY3Rpb25zKSB7DQogICAgICAgIGxldCBUaGluZzsNCiAgICAgICAgKGZ1bmN0aW9uIChUaGluZ18xKSB7DQogICAgICAgICAgICBsZXQgRmluZDsNCiAgICAgICAgICAgIChmdW5jdGlvbiAoRmluZCkgew0KICAgICAgICAgICAgICAgIGNsYXNzIFN0YXJ0RmluZEFjdGlvbiB7DQogICAgICAgICAgICAgICAgICAgIGdldElkKCkgeyByZXR1cm4gInlvIjsgfQ0KICAgICAgICAgICAgICAgICAgICBydW4oVGhpbmcpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEZpbmQuU3RhcnRGaW5kQWN0aW9uID0gU3RhcnRGaW5kQWN0aW9uOw0KICAgICAgICAgICAgfSkoRmluZCA9IFRoaW5nXzEuRmluZCB8fCAoVGhpbmdfMS5GaW5kID0ge30pKTsNCiAgICAgICAgfSkoVGhpbmcgPSBBY3Rpb25zLlRoaW5nIHx8IChBY3Rpb25zLlRoaW5nID0ge30pKTsNCiAgICB9KShBY3Rpb25zID0gU2FtcGxlLkFjdGlvbnMgfHwgKFNhbXBsZS5BY3Rpb25zID0ge30pKTsNCn0pKFNhbXBsZSB8fCAoU2FtcGxlID0ge30pKTsNCihmdW5jdGlvbiAoU2FtcGxlKSB7DQogICAgbGV0IFRoaW5nOw0KICAgIChmdW5jdGlvbiAoVGhpbmcpIHsNCiAgICAgICAgbGV0IFdpZGdldHM7DQogICAgICAgIChmdW5jdGlvbiAoV2lkZ2V0cykgew0KICAgICAgICAgICAgY2xhc3MgRmluZFdpZGdldCB7DQogICAgICAgICAgICAgICAgY29kZVRoaW5nOw0KICAgICAgICAgICAgICAgIGdhcihydW5uZXIpIHsgaWYgKHRydWUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJ1bm5lcih0aGlzKTsNCiAgICAgICAgICAgICAgICB9IH0NCiAgICAgICAgICAgICAgICBkb21Ob2RlID0gbnVsbDsNCiAgICAgICAgICAgICAgICBjb25zdHJ1Y3Rvcihjb2RlVGhpbmcpIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2RlVGhpbmcgPSBjb2RlVGhpbmc7DQogICAgICAgICAgICAgICAgICAgIC8vIHNjZW5hcmlvIDENCiAgICAgICAgICAgICAgICAgICAgY29kZVRoaW5nLmFkZFdpZGdldCgiYWRkV2lkZ2V0IiwgdGhpcyk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGdldERvbU5vZGUoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkb21Ob2RlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBkZXN0cm95KCkgew0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIFdpZGdldHMuRmluZFdpZGdldCA9IEZpbmRXaWRnZXQ7DQogICAgICAgIH0pKFdpZGdldHMgPSBUaGluZy5XaWRnZXRzIHx8IChUaGluZy5XaWRnZXRzID0ge30pKTsNCiAgICB9KShUaGluZyA9IFNhbXBsZS5UaGluZyB8fCAoU2FtcGxlLlRoaW5nID0ge30pKTsNCn0pKFNhbXBsZSB8fCAoU2FtcGxlID0ge30pKTsNCmNsYXNzIEFic3RyYWN0TW9kZSB7DQogICAgZ2V0SW5pdGlhbFN0YXRlKCkgeyByZXR1cm4gbnVsbDsgfQ0KfQ0KKGZ1bmN0aW9uIChTYW1wbGUpIHsNCiAgICBsZXQgVGhpbmc7DQogICAgKGZ1bmN0aW9uIChUaGluZykgew0KICAgICAgICBsZXQgTGFuZ3VhZ2VzOw0KICAgICAgICAoZnVuY3Rpb24gKExhbmd1YWdlcykgew0KICAgICAgICAgICAgbGV0IFBsYWluVGV4dDsNCiAgICAgICAgICAgIChmdW5jdGlvbiAoUGxhaW5UZXh0KSB7DQogICAgICAgICAgICAgICAgY2xhc3MgU3RhdGUgew0KICAgICAgICAgICAgICAgICAgICBtb2RlOw0KICAgICAgICAgICAgICAgICAgICBjb25zdHJ1Y3Rvcihtb2RlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGUgPSBtb2RlOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGNsb25lKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgZXF1YWxzKG90aGVyKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb3RoZXI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgZ2V0TW9kZSgpIHsgcmV0dXJuIG1vZGU7IH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgUGxhaW5UZXh0LlN0YXRlID0gU3RhdGU7DQogICAgICAgICAgICAgICAgY2xhc3MgTW9kZSBleHRlbmRzIEFic3RyYWN0TW9kZSB7DQogICAgICAgICAgICAgICAgICAgIC8vIHNjZW5hcmlvIDINCiAgICAgICAgICAgICAgICAgICAgZ2V0SW5pdGlhbFN0YXRlKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTdGF0ZShzZWxmKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBQbGFpblRleHQuTW9kZSA9IE1vZGU7DQogICAgICAgICAgICB9KShQbGFpblRleHQgPSBMYW5ndWFnZXMuUGxhaW5UZXh0IHx8IChMYW5ndWFnZXMuUGxhaW5UZXh0ID0ge30pKTsNCiAgICAgICAgfSkoTGFuZ3VhZ2VzID0gVGhpbmcuTGFuZ3VhZ2VzIHx8IChUaGluZy5MYW5ndWFnZXMgPSB7fSkpOw0KICAgIH0pKFRoaW5nID0gU2FtcGxlLlRoaW5nIHx8IChTYW1wbGUuVGhpbmcgPSB7fSkpOw0KfSkoU2FtcGxlIHx8IChTYW1wbGUgPSB7fSkpOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVjdXJzaXZlQ2xhc3NSZWZlcmVuY2VUZXN0LmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdXJzaXZlQ2xhc3NSZWZlcmVuY2VUZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicmVjdXJzaXZlQ2xhc3NSZWZlcmVuY2VUZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStCQSxJQUFPLE1BVU47QUFWRCxXQUFPLE1BQU0sRUExQmI7SUEwQmMsSUFBQSxPQVViO0lBVmEsV0FBQSxPQUFPLEVBMUJyQjtRQTBCc0IsSUFBQSxLQVVyQjtRQVZxQixXQUFBLE9BQUssRUExQjNCO1lBMEI0QixJQUFBLElBVTNCO1lBVjJCLFdBQUEsSUFBSSxFQUFDO2dCQUNoQyxNQUFhLGVBQWU7b0JBRXBCLEtBQUssR0FBRyxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUEsQ0FBRTtvQkFFeEIsR0FBRyxDQUFDLEtBQTZCLEVBQVU7d0JBRWpELE9BQU8sSUFBSSxDQUFDO29CQUFBLENBQ1o7aUJBQ0Q7Z0JBUlksS0FBQSxlQUFlLGtCQVEzQixDQUFBO1lBQUEsQ0FDRCxFQVYyQixJQUFJLEdBQUosUUFBQSxJQUFJLEtBQUosUUFBQSxJQUFJLFFBVS9CO1FBREMsQ0FDRixBQXpDQSxFQStCc0IsS0FBSyxHQUFMLFFBQUEsS0FBSyxLQUFMLFFBQUEsS0FBSyxRQVUxQjtJQURDLENBQ0YsQUF6Q0EsRUErQmMsT0FBTyxHQUFQLE9BQUEsT0FBTyxLQUFQLE9BQUEsT0FBTyxRQVVwQjtBQURDLENBQ0YsQUF6Q0EsRUErQk8sTUFBTSxLQUFOLE1BQU0sUUFVWjtBQUVELFdBQU8sTUFBTSxFQXRDYjtJQXNDYyxJQUFBLEtBb0JiO0lBcEJhLFdBQUEsS0FBSyxFQXRDbkI7UUFzQ29CLElBQUEsT0FvQm5CO1FBcEJtQixXQUFBLE9BQU8sRUFBQztZQUMzQixNQUFhLFVBQVU7Z0JBS0YsU0FBUztnQkFIdEIsR0FBRyxDQUFDLE1BQXlDLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO29CQUFBLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUFBLENBQUMsQ0FBQSxDQUFDO2dCQUVqRixPQUFPLEdBQU8sSUFBSSxDQUFDO2dCQUMzQixZQUFvQixTQUFrQyxFQUFFO3FDQUFwQyxTQUFTO29CQUN6QixhQUFhO29CQUNiLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUFBLENBQzFDO2dCQUVNLFVBQVUsR0FBRztvQkFDbkIsT0FBTyxPQUFPLENBQUM7Z0JBQUEsQ0FDZjtnQkFFTSxPQUFPLEdBQUc7Z0JBQUMsQ0FFakI7YUFFRDtZQWxCWSxRQUFBLFVBQVUsYUFrQnRCLENBQUE7UUFBQSxDQUNELEVBcEJtQixPQUFPLEdBQVAsTUFBQSxPQUFPLEtBQVAsTUFBQSxPQUFPLFFBb0IxQjtJQURDLENBQ0YsQUEvREEsRUEyQ2MsS0FBSyxHQUFMLE9BQUEsS0FBSyxLQUFMLE9BQUEsS0FBSyxRQW9CbEI7QUFEQyxDQUNGLEFBL0RBLEVBMkNPLE1BQU0sS0FBTixNQUFNLFFBb0JaO0FBR0QsTUFBTSxZQUFZO0lBQTJCLGVBQWUsR0FBVyxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUEsQ0FBQztDQUFFO0FBU3hGLFdBQU8sTUFBTSxFQXRFYjtJQXNFYyxJQUFBLEtBd0JiO0lBeEJhLFdBQUEsS0FBSyxFQXRFbkI7UUFzRW9CLElBQUEsU0F3Qm5CO1FBeEJtQixXQUFBLFNBQVMsRUF0RTdCO1lBc0U4QixJQUFBLFNBd0I3QjtZQXhCNkIsV0FBQSxTQUFTLEVBQUM7Z0JBRXZDLE1BQWEsS0FBSztvQkFDUyxJQUFJO29CQUF4QixZQUFvQixJQUFXLEVBQUU7b0NBQWIsSUFBSTtvQkFBVSxDQUFFO29CQUNuQyxLQUFLLEdBQVU7d0JBQ3JCLE9BQU8sSUFBSSxDQUFDO29CQUFBLENBQ1o7b0JBRU0sTUFBTSxDQUFDLEtBQVksRUFBVTt3QkFDbkMsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDO29CQUFBLENBQ3RCO29CQUVNLE9BQU8sR0FBVSxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUEsQ0FBRTtpQkFDeEM7Z0JBWFksVUFBQSxLQUFLLFFBV2pCLENBQUE7Z0JBRUQsTUFBYSxJQUFLLFNBQVEsWUFBWTtvQkFFckMsYUFBYTtvQkFDTixlQUFlLEdBQVc7d0JBQ2hDLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQUEsQ0FDdkI7aUJBR0Q7Z0JBUlksVUFBQSxJQUFJLE9BUWhCLENBQUE7WUFBQSxDQUNELEVBeEI2QixTQUFTLEdBQVQsVUFBQSxTQUFTLEtBQVQsVUFBQSxTQUFTLFFBd0J0QztRQURDLENBQ0YsQUFuR0EsRUEyRW9CLFNBQVMsR0FBVCxNQUFBLFNBQVMsS0FBVCxNQUFBLFNBQVMsUUF3QjVCO0lBREMsQ0FDRixBQW5HQSxFQTJFYyxLQUFLLEdBQUwsT0FBQSxLQUFLLEtBQUwsT0FBQSxLQUFLLFFBd0JsQjtBQURDLENBQ0YsQUFuR0EsRUEyRU8sTUFBTSxLQUFOLE1BQU0sUUF3QloifQ==,Ly8gU2NlbmFyaW8gMTogVGVzdCByZXF1cnNpdmUgZnVuY3Rpb24gY2FsbCB3aXRoICJ0aGlzIiBwYXJhbWV0ZXIKLy8gU2NlbmFyaW8gMjogVGVzdCByZWN1cnNpdmUgZnVuY3Rpb24gY2FsbCB3aXRoIGNhc3QgYW5kICJ0aGlzIiBwYXJhbWV0ZXIKCgoKZGVjbGFyZSBtb2R1bGUgU2FtcGxlLlRoaW5nIHsKCglleHBvcnQgaW50ZXJmYWNlIElXaWRnZXQgewoJCWdldERvbU5vZGUoKTogYW55OwoJCWRlc3Ryb3koKTsKCQlnYXIocnVubmVyOih3aWRnZXQ6U2FtcGxlLlRoaW5nLklXaWRnZXQpPT5hbnkpOmFueTsKCX0KCglleHBvcnQgaW50ZXJmYWNlIElDb2RlVGhpbmcgewogIAogIAkJZ2V0RG9tTm9kZSgpOiBFbGVtZW50OwoJCQoJCWFkZFdpZGdldCh3aWRnZXRJZDpzdHJpbmcsIHdpZGdldDpJV2lkZ2V0KTsKCgkJCgkJZm9jdXMoKTsgCgkJCgkJLy9hZGRXaWRnZXQod2lkZ2V0OiBTYW1wbGUuVGhpbmcuV2lkZ2V0cy5JV2lkZ2V0KTsKCX0KCglleHBvcnQgaW50ZXJmYWNlIElBY3Rpb24gewoJCXJ1bihUaGluZzpJQ29kZVRoaW5nKTpib29sZWFuOwoJCWdldElkKCk6c3RyaW5nOwoJfQkKfQoKbW9kdWxlIFNhbXBsZS5BY3Rpb25zLlRoaW5nLkZpbmQgewoJZXhwb3J0IGNsYXNzIFN0YXJ0RmluZEFjdGlvbiBpbXBsZW1lbnRzIFNhbXBsZS5UaGluZy5JQWN0aW9uIHsKCQkKCQlwdWJsaWMgZ2V0SWQoKSB7IHJldHVybiAieW8iOyB9CgkJCgkJcHVibGljIHJ1bihUaGluZzpTYW1wbGUuVGhpbmcuSUNvZGVUaGluZyk6Ym9vbGVhbiB7CgoJCQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9Cn0KCm1vZHVsZSBTYW1wbGUuVGhpbmcuV2lkZ2V0cyB7CglleHBvcnQgY2xhc3MgRmluZFdpZGdldCBpbXBsZW1lbnRzIFNhbXBsZS5UaGluZy5JV2lkZ2V0IHsKCgkJcHVibGljIGdhcihydW5uZXI6KHdpZGdldDpTYW1wbGUuVGhpbmcuSVdpZGdldCk9PmFueSkgeyBpZiAodHJ1ZSkge3JldHVybiBydW5uZXIodGhpcyk7fX0KCQkJCgkJcHJpdmF0ZSBkb21Ob2RlOmFueSA9IG51bGw7CgkJY29uc3RydWN0b3IocHJpdmF0ZSBjb2RlVGhpbmc6IFNhbXBsZS5UaGluZy5JQ29kZVRoaW5nKSB7CgkJICAgIC8vIHNjZW5hcmlvIDEKCQkgICAgY29kZVRoaW5nLmFkZFdpZGdldCgiYWRkV2lkZ2V0IiwgdGhpcyk7CgkJfQoJCQoJCXB1YmxpYyBnZXREb21Ob2RlKCkgewoJCQlyZXR1cm4gZG9tTm9kZTsKCQl9CgkJCgkJcHVibGljIGRlc3Ryb3koKSB7CgoJCX0KCgl9Cn0KCmludGVyZmFjZSBJTW9kZSB7IGdldEluaXRpYWxTdGF0ZSgpOiBJU3RhdGU7fSAKY2xhc3MgQWJzdHJhY3RNb2RlIGltcGxlbWVudHMgSU1vZGUgeyBwdWJsaWMgZ2V0SW5pdGlhbFN0YXRlKCk6IElTdGF0ZSB7IHJldHVybiBudWxsO30gfQoKaW50ZXJmYWNlIElTdGF0ZSB7fQoKaW50ZXJmYWNlIFdpbmRvdyB7CiAgICBvcGVuZXI6IFdpbmRvdzsKfQpkZWNsYXJlIHZhciBzZWxmOiBXaW5kb3c7Cgptb2R1bGUgU2FtcGxlLlRoaW5nLkxhbmd1YWdlcy5QbGFpblRleHQgewoJCglleHBvcnQgY2xhc3MgU3RhdGUgaW1wbGVtZW50cyBJU3RhdGUgewkJCiAgICAgICAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RlOiBJTW9kZSkgeyB9CgkJcHVibGljIGNsb25lKCk6SVN0YXRlIHsKCQkJcmV0dXJuIHRoaXM7CgkJfQoKCQlwdWJsaWMgZXF1YWxzKG90aGVyOklTdGF0ZSk6Ym9vbGVhbiB7CgkJCXJldHVybiB0aGlzID09PSBvdGhlcjsKCQl9CgkJCgkJcHVibGljIGdldE1vZGUoKTogSU1vZGUgeyByZXR1cm4gbW9kZTsgfQoJfQoJCglleHBvcnQgY2xhc3MgTW9kZSBleHRlbmRzIEFic3RyYWN0TW9kZSB7CgoJCS8vIHNjZW5hcmlvIDIKCQlwdWJsaWMgZ2V0SW5pdGlhbFN0YXRlKCk6IElTdGF0ZSB7CgkJCXJldHVybiBuZXcgU3RhdGUoc2VsZik7CgkJfQoKCgl9Cn0KCg==
\ No newline at end of file
++{"version":3,"file":"recursiveClassReferenceTest.js","sourceRoot":"","sources":["recursiveClassReferenceTest.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,0EAA0E;AA8B1E,IAAO,MAUN;AAVD,WAAO,MAAM,EA1Bb;IA0Bc,IAAA,OAUb;IAVa,WAAA,OAAO,EA1BrB;QA0BsB,IAAA,KAUrB;QAVqB,WAAA,OAAK,EA1B3B;YA0B4B,IAAA,IAU3B;YAV2B,WAAA,IAAI,EAAC;gBAChC,MAAa,eAAe;oBAEpB,KAAK,GAAG,EAAE,OAAO,IAAI,CAAC,CAAA,CAAE;oBAExB,GAAG,CAAC,KAA6B,EAAU;wBAEjD,OAAO,IAAI,CAAC;oBAAA,CACZ;iBACD;gBARY,KAAA,eAAe,kBAQ3B,CAAA;YAAA,CACD,EAV2B,IAAI,GAAJ,QAAA,IAAI,KAAJ,QAAA,IAAI,QAU/B;QADC,CACF,AAzCA,EA+BsB,KAAK,GAAL,QAAA,KAAK,KAAL,QAAA,KAAK,QAU1B;IADC,CACF,AAzCA,EA+Bc,OAAO,GAAP,OAAA,OAAO,KAAP,OAAA,OAAO,QAUpB;AADC,CACF,AAzCA,EA+BO,MAAM,KAAN,MAAM,QAUZ;AAED,WAAO,MAAM,EAtCb;IAsCc,IAAA,KAoBb;IApBa,WAAA,KAAK,EAtCnB;QAsCoB,IAAA,OAoBnB;QApBmB,WAAA,OAAO,EAAC;YAC3B,MAAa,UAAU;gBAKF,SAAS;gBAHtB,GAAG,CAAC,MAAyC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;oBAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;gBAAA,CAAC,CAAA,CAAC;gBAEjF,OAAO,GAAO,IAAI,CAAC;gBAC3B,YAAoB,SAAkC,EAAE;qCAApC,SAAS;oBACzB,aAAa;oBACb,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAAA,CAC1C;gBAEM,UAAU,GAAG;oBACnB,OAAO,OAAO,CAAC;gBAAA,CACf;gBAEM,OAAO,GAAG;gBAAC,CAEjB;aAED;YAlBY,QAAA,UAAU,aAkBtB,CAAA;QAAA,CACD,EApBmB,OAAO,GAAP,MAAA,OAAO,KAAP,MAAA,OAAO,QAoB1B;IADC,CACF,AA/DA,EA2Cc,KAAK,GAAL,OAAA,KAAK,KAAL,OAAA,KAAK,QAoBlB;AADC,CACF,AA/DA,EA2CO,MAAM,KAAN,MAAM,QAoBZ;AAGD,MAAM,YAAY;IAA2B,eAAe,GAAW,EAAE,OAAO,IAAI,CAAC,CAAA,CAAC;CAAE;AASxF,WAAO,MAAM,EAtEb;IAsEc,IAAA,KAwBb;IAxBa,WAAA,KAAK,EAtEnB;QAsEoB,IAAA,SAwBnB;QAxBmB,WAAA,SAAS,EAtE7B;YAsE8B,IAAA,SAwB7B;YAxB6B,WAAA,SAAS,EAAC;gBAEvC,MAAa,KAAK;oBACS,IAAI;oBAAxB,YAAoB,IAAW,EAAE;oCAAb,IAAI;oBAAU,CAAE;oBACnC,KAAK,GAAU;wBACrB,OAAO,IAAI,CAAC;oBAAA,CACZ;oBAEM,MAAM,CAAC,KAAY,EAAU;wBACnC,OAAO,IAAI,KAAK,KAAK,CAAC;oBAAA,CACtB;oBAEM,OAAO,GAAU,EAAE,OAAO,IAAI,CAAC,CAAA,CAAE;iBACxC;gBAXY,UAAA,KAAK,QAWjB,CAAA;gBAED,MAAa,IAAK,SAAQ,YAAY;oBAErC,aAAa;oBACN,eAAe,GAAW;wBAChC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;oBAAA,CACvB;iBAGD;gBARY,UAAA,IAAI,OAQhB,CAAA;YAAA,CACD,EAxB6B,SAAS,GAAT,UAAA,SAAS,KAAT,UAAA,SAAS,QAwBtC;QADC,CACF,AAnGA,EA2EoB,SAAS,GAAT,MAAA,SAAS,KAAT,MAAA,SAAS,QAwB5B;IADC,CACF,AAnGA,EA2Ec,KAAK,GAAL,OAAA,KAAK,KAAL,OAAA,KAAK,QAwBlB;AADC,CACF,AAnGA,EA2EO,MAAM,KAAN,MAAM,QAwBZ"}
++//// https://sokra.github.io/source-map-visualization#base64,Ly8gU2NlbmFyaW8gMTogVGVzdCByZXF1cnNpdmUgZnVuY3Rpb24gY2FsbCB3aXRoICJ0aGlzIiBwYXJhbWV0ZXINCi8vIFNjZW5hcmlvIDI6IFRlc3QgcmVjdXJzaXZlIGZ1bmN0aW9uIGNhbGwgd2l0aCBjYXN0IGFuZCAidGhpcyIgcGFyYW1ldGVyDQp2YXIgU2FtcGxlOw0KKGZ1bmN0aW9uIChTYW1wbGUpIHsNCiAgICBsZXQgQWN0aW9uczsNCiAgICAoZnVuY3Rpb24gKEFjdGlvbnMpIHsNCiAgICAgICAgbGV0IFRoaW5nOw0KICAgICAgICAoZnVuY3Rpb24gKFRoaW5nXzEpIHsNCiAgICAgICAgICAgIGxldCBGaW5kOw0KICAgICAgICAgICAgKGZ1bmN0aW9uIChGaW5kKSB7DQogICAgICAgICAgICAgICAgY2xhc3MgU3RhcnRGaW5kQWN0aW9uIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0SWQoKSB7IHJldHVybiAieW8iOyB9DQogICAgICAgICAgICAgICAgICAgIHJ1bihUaGluZykgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRmluZC5TdGFydEZpbmRBY3Rpb24gPSBTdGFydEZpbmRBY3Rpb247DQogICAgICAgICAgICB9KShGaW5kID0gVGhpbmdfMS5GaW5kIHx8IChUaGluZ18xLkZpbmQgPSB7fSkpOw0KICAgICAgICB9KShUaGluZyA9IEFjdGlvbnMuVGhpbmcgfHwgKEFjdGlvbnMuVGhpbmcgPSB7fSkpOw0KICAgIH0pKEFjdGlvbnMgPSBTYW1wbGUuQWN0aW9ucyB8fCAoU2FtcGxlLkFjdGlvbnMgPSB7fSkpOw0KfSkoU2FtcGxlIHx8IChTYW1wbGUgPSB7fSkpOw0KKGZ1bmN0aW9uIChTYW1wbGUpIHsNCiAgICBsZXQgVGhpbmc7DQogICAgKGZ1bmN0aW9uIChUaGluZykgew0KICAgICAgICBsZXQgV2lkZ2V0czsNCiAgICAgICAgKGZ1bmN0aW9uIChXaWRnZXRzKSB7DQogICAgICAgICAgICBjbGFzcyBGaW5kV2lkZ2V0IHsNCiAgICAgICAgICAgICAgICBjb2RlVGhpbmc7DQogICAgICAgICAgICAgICAgZ2FyKHJ1bm5lcikgeyBpZiAodHJ1ZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcnVubmVyKHRoaXMpOw0KICAgICAgICAgICAgICAgIH0gfQ0KICAgICAgICAgICAgICAgIGRvbU5vZGUgPSBudWxsOw0KICAgICAgICAgICAgICAgIGNvbnN0cnVjdG9yKGNvZGVUaGluZykgew0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvZGVUaGluZyA9IGNvZGVUaGluZzsNCiAgICAgICAgICAgICAgICAgICAgLy8gc2NlbmFyaW8gMQ0KICAgICAgICAgICAgICAgICAgICBjb2RlVGhpbmcuYWRkV2lkZ2V0KCJhZGRXaWRnZXQiLCB0aGlzKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZ2V0RG9tTm9kZSgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRvbU5vZGU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGRlc3Ryb3koKSB7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgV2lkZ2V0cy5GaW5kV2lkZ2V0ID0gRmluZFdpZGdldDsNCiAgICAgICAgfSkoV2lkZ2V0cyA9IFRoaW5nLldpZGdldHMgfHwgKFRoaW5nLldpZGdldHMgPSB7fSkpOw0KICAgIH0pKFRoaW5nID0gU2FtcGxlLlRoaW5nIHx8IChTYW1wbGUuVGhpbmcgPSB7fSkpOw0KfSkoU2FtcGxlIHx8IChTYW1wbGUgPSB7fSkpOw0KY2xhc3MgQWJzdHJhY3RNb2RlIHsNCiAgICBnZXRJbml0aWFsU3RhdGUoKSB7IHJldHVybiBudWxsOyB9DQp9DQooZnVuY3Rpb24gKFNhbXBsZSkgew0KICAgIGxldCBUaGluZzsNCiAgICAoZnVuY3Rpb24gKFRoaW5nKSB7DQogICAgICAgIGxldCBMYW5ndWFnZXM7DQogICAgICAgIChmdW5jdGlvbiAoTGFuZ3VhZ2VzKSB7DQogICAgICAgICAgICBsZXQgUGxhaW5UZXh0Ow0KICAgICAgICAgICAgKGZ1bmN0aW9uIChQbGFpblRleHQpIHsNCiAgICAgICAgICAgICAgICBjbGFzcyBTdGF0ZSB7DQogICAgICAgICAgICAgICAgICAgIG1vZGU7DQogICAgICAgICAgICAgICAgICAgIGNvbnN0cnVjdG9yKG1vZGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZSA9IG1vZGU7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgY2xvbmUoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBlcXVhbHMob3RoZXIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvdGhlcjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBnZXRNb2RlKCkgeyByZXR1cm4gbW9kZTsgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBQbGFpblRleHQuU3RhdGUgPSBTdGF0ZTsNCiAgICAgICAgICAgICAgICBjbGFzcyBNb2RlIGV4dGVuZHMgQWJzdHJhY3RNb2RlIHsNCiAgICAgICAgICAgICAgICAgICAgLy8gc2NlbmFyaW8gMg0KICAgICAgICAgICAgICAgICAgICBnZXRJbml0aWFsU3RhdGUoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFN0YXRlKHNlbGYpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIFBsYWluVGV4dC5Nb2RlID0gTW9kZTsNCiAgICAgICAgICAgIH0pKFBsYWluVGV4dCA9IExhbmd1YWdlcy5QbGFpblRleHQgfHwgKExhbmd1YWdlcy5QbGFpblRleHQgPSB7fSkpOw0KICAgICAgICB9KShMYW5ndWFnZXMgPSBUaGluZy5MYW5ndWFnZXMgfHwgKFRoaW5nLkxhbmd1YWdlcyA9IHt9KSk7DQogICAgfSkoVGhpbmcgPSBTYW1wbGUuVGhpbmcgfHwgKFNhbXBsZS5UaGluZyA9IHt9KSk7DQp9KShTYW1wbGUgfHwgKFNhbXBsZSA9IHt9KSk7DQovLyMgc291cmNlTWFwcGluZ1VSTD1yZWN1cnNpdmVDbGFzc1JlZmVyZW5jZVRlc3QuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdXJzaXZlQ2xhc3NSZWZlcmVuY2VUZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicmVjdXJzaXZlQ2xhc3NSZWZlcmVuY2VUZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlFQUFpRTtBQUNqRSwwRUFBMEU7QUE4QjFFLElBQU8sTUFVTjtBQVZELFdBQU8sTUFBTSxFQTFCYjtJQTBCYyxJQUFBLE9BVWI7SUFWYSxXQUFBLE9BQU8sRUExQnJCO1FBMEJzQixJQUFBLEtBVXJCO1FBVnFCLFdBQUEsT0FBSyxFQTFCM0I7WUEwQjRCLElBQUEsSUFVM0I7WUFWMkIsV0FBQSxJQUFJLEVBQUM7Z0JBQ2hDLE1BQWEsZUFBZTtvQkFFcEIsS0FBSyxHQUFHLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQSxDQUFFO29CQUV4QixHQUFHLENBQUMsS0FBNkIsRUFBVTt3QkFFakQsT0FBTyxJQUFJLENBQUM7b0JBQUEsQ0FDWjtpQkFDRDtnQkFSWSxLQUFBLGVBQWUsa0JBUTNCLENBQUE7WUFBQSxDQUNELEVBVjJCLElBQUksR0FBSixRQUFBLElBQUksS0FBSixRQUFBLElBQUksUUFVL0I7UUFEQyxDQUNGLEFBekNBLEVBK0JzQixLQUFLLEdBQUwsUUFBQSxLQUFLLEtBQUwsUUFBQSxLQUFLLFFBVTFCO0lBREMsQ0FDRixBQXpDQSxFQStCYyxPQUFPLEdBQVAsT0FBQSxPQUFPLEtBQVAsT0FBQSxPQUFPLFFBVXBCO0FBREMsQ0FDRixBQXpDQSxFQStCTyxNQUFNLEtBQU4sTUFBTSxRQVVaO0FBRUQsV0FBTyxNQUFNLEVBdENiO0lBc0NjLElBQUEsS0FvQmI7SUFwQmEsV0FBQSxLQUFLLEVBdENuQjtRQXNDb0IsSUFBQSxPQW9CbkI7UUFwQm1CLFdBQUEsT0FBTyxFQUFDO1lBQzNCLE1BQWEsVUFBVTtnQkFLRixTQUFTO2dCQUh0QixHQUFHLENBQUMsTUFBeUMsRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQUEsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQUEsQ0FBQyxDQUFBLENBQUM7Z0JBRWpGLE9BQU8sR0FBTyxJQUFJLENBQUM7Z0JBQzNCLFlBQW9CLFNBQWtDLEVBQUU7cUNBQXBDLFNBQVM7b0JBQ3pCLGFBQWE7b0JBQ2IsU0FBUyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQUEsQ0FDMUM7Z0JBRU0sVUFBVSxHQUFHO29CQUNuQixPQUFPLE9BQU8sQ0FBQztnQkFBQSxDQUNmO2dCQUVNLE9BQU8sR0FBRztnQkFBQyxDQUVqQjthQUVEO1lBbEJZLFFBQUEsVUFBVSxhQWtCdEIsQ0FBQTtRQUFBLENBQ0QsRUFwQm1CLE9BQU8sR0FBUCxNQUFBLE9BQU8sS0FBUCxNQUFBLE9BQU8sUUFvQjFCO0lBREMsQ0FDRixBQS9EQSxFQTJDYyxLQUFLLEdBQUwsT0FBQSxLQUFLLEtBQUwsT0FBQSxLQUFLLFFBb0JsQjtBQURDLENBQ0YsQUEvREEsRUEyQ08sTUFBTSxLQUFOLE1BQU0sUUFvQlo7QUFHRCxNQUFNLFlBQVk7SUFBMkIsZUFBZSxHQUFXLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQSxDQUFDO0NBQUU7QUFTeEYsV0FBTyxNQUFNLEVBdEViO0lBc0VjLElBQUEsS0F3QmI7SUF4QmEsV0FBQSxLQUFLLEVBdEVuQjtRQXNFb0IsSUFBQSxTQXdCbkI7UUF4Qm1CLFdBQUEsU0FBUyxFQXRFN0I7WUFzRThCLElBQUEsU0F3QjdCO1lBeEI2QixXQUFBLFNBQVMsRUFBQztnQkFFdkMsTUFBYSxLQUFLO29CQUNTLElBQUk7b0JBQXhCLFlBQW9CLElBQVcsRUFBRTtvQ0FBYixJQUFJO29CQUFVLENBQUU7b0JBQ25DLEtBQUssR0FBVTt3QkFDckIsT0FBTyxJQUFJLENBQUM7b0JBQUEsQ0FDWjtvQkFFTSxNQUFNLENBQUMsS0FBWSxFQUFVO3dCQUNuQyxPQUFPLElBQUksS0FBSyxLQUFLLENBQUM7b0JBQUEsQ0FDdEI7b0JBRU0sT0FBTyxHQUFVLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQSxDQUFFO2lCQUN4QztnQkFYWSxVQUFBLEtBQUssUUFXakIsQ0FBQTtnQkFFRCxNQUFhLElBQUssU0FBUSxZQUFZO29CQUVyQyxhQUFhO29CQUNOLGVBQWUsR0FBVzt3QkFDaEMsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFBQSxDQUN2QjtpQkFHRDtnQkFSWSxVQUFBLElBQUksT0FRaEIsQ0FBQTtZQUFBLENBQ0QsRUF4QjZCLFNBQVMsR0FBVCxVQUFBLFNBQVMsS0FBVCxVQUFBLFNBQVMsUUF3QnRDO1FBREMsQ0FDRixBQW5HQSxFQTJFb0IsU0FBUyxHQUFULE1BQUEsU0FBUyxLQUFULE1BQUEsU0FBUyxRQXdCNUI7SUFEQyxDQUNGLEFBbkdBLEVBMkVjLEtBQUssR0FBTCxPQUFBLEtBQUssS0FBTCxPQUFBLEtBQUssUUF3QmxCO0FBREMsQ0FDRixBQW5HQSxFQTJFTyxNQUFNLEtBQU4sTUFBTSxRQXdCWiJ9,Ly8gU2NlbmFyaW8gMTogVGVzdCByZXF1cnNpdmUgZnVuY3Rpb24gY2FsbCB3aXRoICJ0aGlzIiBwYXJhbWV0ZXIKLy8gU2NlbmFyaW8gMjogVGVzdCByZWN1cnNpdmUgZnVuY3Rpb24gY2FsbCB3aXRoIGNhc3QgYW5kICJ0aGlzIiBwYXJhbWV0ZXIKCgoKZGVjbGFyZSBtb2R1bGUgU2FtcGxlLlRoaW5nIHsKCglleHBvcnQgaW50ZXJmYWNlIElXaWRnZXQgewoJCWdldERvbU5vZGUoKTogYW55OwoJCWRlc3Ryb3koKTsKCQlnYXIocnVubmVyOih3aWRnZXQ6U2FtcGxlLlRoaW5nLklXaWRnZXQpPT5hbnkpOmFueTsKCX0KCglleHBvcnQgaW50ZXJmYWNlIElDb2RlVGhpbmcgewogIAogIAkJZ2V0RG9tTm9kZSgpOiBFbGVtZW50OwoJCQoJCWFkZFdpZGdldCh3aWRnZXRJZDpzdHJpbmcsIHdpZGdldDpJV2lkZ2V0KTsKCgkJCgkJZm9jdXMoKTsgCgkJCgkJLy9hZGRXaWRnZXQod2lkZ2V0OiBTYW1wbGUuVGhpbmcuV2lkZ2V0cy5JV2lkZ2V0KTsKCX0KCglleHBvcnQgaW50ZXJmYWNlIElBY3Rpb24gewoJCXJ1bihUaGluZzpJQ29kZVRoaW5nKTpib29sZWFuOwoJCWdldElkKCk6c3RyaW5nOwoJfQkKfQoKbW9kdWxlIFNhbXBsZS5BY3Rpb25zLlRoaW5nLkZpbmQgewoJZXhwb3J0IGNsYXNzIFN0YXJ0RmluZEFjdGlvbiBpbXBsZW1lbnRzIFNhbXBsZS5UaGluZy5JQWN0aW9uIHsKCQkKCQlwdWJsaWMgZ2V0SWQoKSB7IHJldHVybiAieW8iOyB9CgkJCgkJcHVibGljIHJ1bihUaGluZzpTYW1wbGUuVGhpbmcuSUNvZGVUaGluZyk6Ym9vbGVhbiB7CgoJCQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9Cn0KCm1vZHVsZSBTYW1wbGUuVGhpbmcuV2lkZ2V0cyB7CglleHBvcnQgY2xhc3MgRmluZFdpZGdldCBpbXBsZW1lbnRzIFNhbXBsZS5UaGluZy5JV2lkZ2V0IHsKCgkJcHVibGljIGdhcihydW5uZXI6KHdpZGdldDpTYW1wbGUuVGhpbmcuSVdpZGdldCk9PmFueSkgeyBpZiAodHJ1ZSkge3JldHVybiBydW5uZXIodGhpcyk7fX0KCQkJCgkJcHJpdmF0ZSBkb21Ob2RlOmFueSA9IG51bGw7CgkJY29uc3RydWN0b3IocHJpdmF0ZSBjb2RlVGhpbmc6IFNhbXBsZS5UaGluZy5JQ29kZVRoaW5nKSB7CgkJICAgIC8vIHNjZW5hcmlvIDEKCQkgICAgY29kZVRoaW5nLmFkZFdpZGdldCgiYWRkV2lkZ2V0IiwgdGhpcyk7CgkJfQoJCQoJCXB1YmxpYyBnZXREb21Ob2RlKCkgewoJCQlyZXR1cm4gZG9tTm9kZTsKCQl9CgkJCgkJcHVibGljIGRlc3Ryb3koKSB7CgoJCX0KCgl9Cn0KCmludGVyZmFjZSBJTW9kZSB7IGdldEluaXRpYWxTdGF0ZSgpOiBJU3RhdGU7fSAKY2xhc3MgQWJzdHJhY3RNb2RlIGltcGxlbWVudHMgSU1vZGUgeyBwdWJsaWMgZ2V0SW5pdGlhbFN0YXRlKCk6IElTdGF0ZSB7IHJldHVybiBudWxsO30gfQoKaW50ZXJmYWNlIElTdGF0ZSB7fQoKaW50ZXJmYWNlIFdpbmRvdyB7CiAgICBvcGVuZXI6IFdpbmRvdzsKfQpkZWNsYXJlIHZhciBzZWxmOiBXaW5kb3c7Cgptb2R1bGUgU2FtcGxlLlRoaW5nLkxhbmd1YWdlcy5QbGFpblRleHQgewoJCglleHBvcnQgY2xhc3MgU3RhdGUgaW1wbGVtZW50cyBJU3RhdGUgewkJCiAgICAgICAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RlOiBJTW9kZSkgeyB9CgkJcHVibGljIGNsb25lKCk6SVN0YXRlIHsKCQkJcmV0dXJuIHRoaXM7CgkJfQoKCQlwdWJsaWMgZXF1YWxzKG90aGVyOklTdGF0ZSk6Ym9vbGVhbiB7CgkJCXJldHVybiB0aGlzID09PSBvdGhlcjsKCQl9CgkJCgkJcHVibGljIGdldE1vZGUoKTogSU1vZGUgeyByZXR1cm4gbW9kZTsgfQoJfQoJCglleHBvcnQgY2xhc3MgTW9kZSBleHRlbmRzIEFic3RyYWN0TW9kZSB7CgoJCS8vIHNjZW5hcmlvIDIKCQlwdWJsaWMgZ2V0SW5pdGlhbFN0YXRlKCk6IElTdGF0ZSB7CgkJCXJldHVybiBuZXcgU3RhdGUoc2VsZik7CgkJfQoKCgl9Cn0KCg==
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.sourcemap.txt b/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.sourcemap.txt
index 6d5a6d1813..0410811032 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.sourcemap.txt
+++ b/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.sourcemap.txt
@@ -8,13 +8,30 @@ sources: recursiveClassReferenceTest.ts
emittedFile:recursiveClassReferenceTest.js
sourceFile:recursiveClassReferenceTest.ts
-------------------------------------------------------------------
+>>>// Scenario 1: Test reqursive function call with "this" parameter
+1 >
+2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+3 > ^^^^^^^^^^->
+1 >
+2 >// Scenario 1: Test reqursive function call with "this" parameter
+1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
+2 >Emitted(1, 66) Source(1, 66) + SourceIndex(0)
+---
+>>>// Scenario 2: Test recursive function call with cast and "this" parameter
+1->
+2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+1->
+ >
+2 >// Scenario 2: Test recursive function call with cast and "this" parameter
+1->Emitted(2, 1) Source(2, 1) + SourceIndex(0)
+2 >Emitted(2, 75) Source(2, 75) + SourceIndex(0)
+---
>>>var Sample;
1 >
2 >^^^^
3 > ^^^^^^
4 > ^^^^^^^^^^^->
-1 >// Scenario 1: Test reqursive function call with "this" parameter
- >// Scenario 2: Test recursive function call with cast and "this" parameter
+1 >
>
>
>
@@ -57,9 +74,9 @@ sourceFile:recursiveClassReferenceTest.ts
> }
> }
> }
-1 >Emitted(1, 1) Source(32, 1) + SourceIndex(0)
-2 >Emitted(1, 5) Source(32, 8) + SourceIndex(0)
-3 >Emitted(1, 11) Source(42, 2) + SourceIndex(0)
+1 >Emitted(3, 1) Source(32, 1) + SourceIndex(0)
+2 >Emitted(3, 5) Source(32, 8) + SourceIndex(0)
+3 >Emitted(3, 11) Source(42, 2) + SourceIndex(0)
---
>>>(function (Sample) {
1->
@@ -70,10 +87,10 @@ sourceFile:recursiveClassReferenceTest.ts
2 >module
3 > Sample
4 >
-1->Emitted(2, 1) Source(32, 1) + SourceIndex(0)
-2 >Emitted(2, 12) Source(32, 8) + SourceIndex(0)
-3 >Emitted(2, 18) Source(32, 14) + SourceIndex(0)
-4 >Emitted(2, 20) Source(6, 1) + SourceIndex(0)
+1->Emitted(4, 1) Source(32, 1) + SourceIndex(0)
+2 >Emitted(4, 12) Source(32, 8) + SourceIndex(0)
+3 >Emitted(4, 18) Source(32, 14) + SourceIndex(0)
+4 >Emitted(4, 20) Source(6, 1) + SourceIndex(0)
---
>>> let Actions;
1 >^^^^
@@ -119,9 +136,9 @@ sourceFile:recursiveClassReferenceTest.ts
> }
> }
> }
-1 >Emitted(3, 5) Source(32, 15) + SourceIndex(0)
-2 >Emitted(3, 9) Source(32, 15) + SourceIndex(0)
-3 >Emitted(3, 16) Source(42, 2) + SourceIndex(0)
+1 >Emitted(5, 5) Source(32, 15) + SourceIndex(0)
+2 >Emitted(5, 9) Source(32, 15) + SourceIndex(0)
+3 >Emitted(5, 16) Source(42, 2) + SourceIndex(0)
---
>>> (function (Actions) {
1->^^^^
@@ -132,10 +149,10 @@ sourceFile:recursiveClassReferenceTest.ts
2 >
3 > Actions
4 >
-1->Emitted(4, 5) Source(32, 15) + SourceIndex(0)
-2 >Emitted(4, 16) Source(32, 15) + SourceIndex(0)
-3 >Emitted(4, 23) Source(32, 22) + SourceIndex(0)
-4 >Emitted(4, 25) Source(6, 1) + SourceIndex(0)
+1->Emitted(6, 5) Source(32, 15) + SourceIndex(0)
+2 >Emitted(6, 16) Source(32, 15) + SourceIndex(0)
+3 >Emitted(6, 23) Source(32, 22) + SourceIndex(0)
+4 >Emitted(6, 25) Source(6, 1) + SourceIndex(0)
---
>>> let Thing;
1 >^^^^^^^^
@@ -181,9 +198,9 @@ sourceFile:recursiveClassReferenceTest.ts
> }
> }
> }
-1 >Emitted(5, 9) Source(32, 23) + SourceIndex(0)
-2 >Emitted(5, 13) Source(32, 23) + SourceIndex(0)
-3 >Emitted(5, 18) Source(42, 2) + SourceIndex(0)
+1 >Emitted(7, 9) Source(32, 23) + SourceIndex(0)
+2 >Emitted(7, 13) Source(32, 23) + SourceIndex(0)
+3 >Emitted(7, 18) Source(42, 2) + SourceIndex(0)
---
>>> (function (Thing_1) {
1->^^^^^^^^
@@ -194,10 +211,10 @@ sourceFile:recursiveClassReferenceTest.ts
2 >
3 > Thing
4 >
-1->Emitted(6, 9) Source(32, 23) + SourceIndex(0)
-2 >Emitted(6, 20) Source(32, 23) + SourceIndex(0)
-3 >Emitted(6, 27) Source(32, 28) + SourceIndex(0)
-4 >Emitted(6, 29) Source(6, 1) + SourceIndex(0)
+1->Emitted(8, 9) Source(32, 23) + SourceIndex(0)
+2 >Emitted(8, 20) Source(32, 23) + SourceIndex(0)
+3 >Emitted(8, 27) Source(32, 28) + SourceIndex(0)
+4 >Emitted(8, 29) Source(6, 1) + SourceIndex(0)
---
>>> let Find;
1 >^^^^^^^^^^^^
@@ -243,9 +260,9 @@ sourceFile:recursiveClassReferenceTest.ts
> }
> }
> }
-1 >Emitted(7, 13) Source(32, 29) + SourceIndex(0)
-2 >Emitted(7, 17) Source(32, 29) + SourceIndex(0)
-3 >Emitted(7, 21) Source(42, 2) + SourceIndex(0)
+1 >Emitted(9, 13) Source(32, 29) + SourceIndex(0)
+2 >Emitted(9, 17) Source(32, 29) + SourceIndex(0)
+3 >Emitted(9, 21) Source(42, 2) + SourceIndex(0)
---
>>> (function (Find) {
1->^^^^^^^^^^^^
@@ -257,10 +274,10 @@ sourceFile:recursiveClassReferenceTest.ts
2 >
3 > Find
4 >
-1->Emitted(8, 13) Source(32, 29) + SourceIndex(0)
-2 >Emitted(8, 24) Source(32, 29) + SourceIndex(0)
-3 >Emitted(8, 28) Source(32, 33) + SourceIndex(0)
-4 >Emitted(8, 30) Source(32, 34) + SourceIndex(0)
+1->Emitted(10, 13) Source(32, 29) + SourceIndex(0)
+2 >Emitted(10, 24) Source(32, 29) + SourceIndex(0)
+3 >Emitted(10, 28) Source(32, 33) + SourceIndex(0)
+4 >Emitted(10, 30) Source(32, 34) + SourceIndex(0)
---
>>> class StartFindAction {
1->^^^^^^^^^^^^^^^^
@@ -271,9 +288,9 @@ sourceFile:recursiveClassReferenceTest.ts
>
2 > export class
3 > StartFindAction
-1->Emitted(9, 17) Source(33, 2) + SourceIndex(0)
-2 >Emitted(9, 23) Source(33, 15) + SourceIndex(0)
-3 >Emitted(9, 38) Source(33, 30) + SourceIndex(0)
+1->Emitted(11, 17) Source(33, 2) + SourceIndex(0)
+2 >Emitted(11, 23) Source(33, 15) + SourceIndex(0)
+3 >Emitted(11, 38) Source(33, 30) + SourceIndex(0)
---
>>> getId() { return "yo"; }
1->^^^^^^^^^^^^^^^^^^^^
@@ -296,15 +313,15 @@ sourceFile:recursiveClassReferenceTest.ts
7 > ;
8 >
9 > }
-1->Emitted(10, 21) Source(35, 10) + SourceIndex(0)
-2 >Emitted(10, 26) Source(35, 15) + SourceIndex(0)
-3 >Emitted(10, 29) Source(35, 18) + SourceIndex(0)
-4 >Emitted(10, 31) Source(35, 20) + SourceIndex(0)
-5 >Emitted(10, 38) Source(35, 27) + SourceIndex(0)
-6 >Emitted(10, 42) Source(35, 31) + SourceIndex(0)
-7 >Emitted(10, 43) Source(35, 32) + SourceIndex(0)
-8 >Emitted(10, 44) Source(35, 32) + SourceIndex(0)
-9 >Emitted(10, 45) Source(35, 34) + SourceIndex(0)
+1->Emitted(12, 21) Source(35, 10) + SourceIndex(0)
+2 >Emitted(12, 26) Source(35, 15) + SourceIndex(0)
+3 >Emitted(12, 29) Source(35, 18) + SourceIndex(0)
+4 >Emitted(12, 31) Source(35, 20) + SourceIndex(0)
+5 >Emitted(12, 38) Source(35, 27) + SourceIndex(0)
+6 >Emitted(12, 42) Source(35, 31) + SourceIndex(0)
+7 >Emitted(12, 43) Source(35, 32) + SourceIndex(0)
+8 >Emitted(12, 44) Source(35, 32) + SourceIndex(0)
+9 >Emitted(12, 45) Source(35, 34) + SourceIndex(0)
---
>>> run(Thing) {
1 >^^^^^^^^^^^^^^^^^^^^
@@ -320,11 +337,11 @@ sourceFile:recursiveClassReferenceTest.ts
3 > (
4 > Thing:Sample.Thing.ICodeThing
5 > ):boolean
-1 >Emitted(11, 21) Source(37, 10) + SourceIndex(0)
-2 >Emitted(11, 24) Source(37, 13) + SourceIndex(0)
-3 >Emitted(11, 25) Source(37, 14) + SourceIndex(0)
-4 >Emitted(11, 30) Source(37, 43) + SourceIndex(0)
-5 >Emitted(11, 32) Source(37, 53) + SourceIndex(0)
+1 >Emitted(13, 21) Source(37, 10) + SourceIndex(0)
+2 >Emitted(13, 24) Source(37, 13) + SourceIndex(0)
+3 >Emitted(13, 25) Source(37, 14) + SourceIndex(0)
+4 >Emitted(13, 30) Source(37, 43) + SourceIndex(0)
+5 >Emitted(13, 32) Source(37, 53) + SourceIndex(0)
---
>>> return true;
1->^^^^^^^^^^^^^^^^^^^^^^^^
@@ -337,10 +354,10 @@ sourceFile:recursiveClassReferenceTest.ts
2 > return
3 > true
4 > ;
-1->Emitted(12, 25) Source(39, 4) + SourceIndex(0)
-2 >Emitted(12, 32) Source(39, 11) + SourceIndex(0)
-3 >Emitted(12, 36) Source(39, 15) + SourceIndex(0)
-4 >Emitted(12, 37) Source(39, 16) + SourceIndex(0)
+1->Emitted(14, 25) Source(39, 4) + SourceIndex(0)
+2 >Emitted(14, 32) Source(39, 11) + SourceIndex(0)
+3 >Emitted(14, 36) Source(39, 15) + SourceIndex(0)
+4 >Emitted(14, 37) Source(39, 16) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^^^^^
@@ -348,15 +365,15 @@ sourceFile:recursiveClassReferenceTest.ts
1 >
2 >
> }
-1 >Emitted(13, 21) Source(39, 16) + SourceIndex(0)
-2 >Emitted(13, 22) Source(40, 4) + SourceIndex(0)
+1 >Emitted(15, 21) Source(39, 16) + SourceIndex(0)
+2 >Emitted(15, 22) Source(40, 4) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
> }
-1 >Emitted(14, 18) Source(41, 3) + SourceIndex(0)
+1 >Emitted(16, 18) Source(41, 3) + SourceIndex(0)
---
>>> Find.StartFindAction = StartFindAction;
1->^^^^^^^^^^^^^^^^
@@ -378,11 +395,11 @@ sourceFile:recursiveClassReferenceTest.ts
> }
> }
5 >
-1->Emitted(15, 17) Source(33, 15) + SourceIndex(0)
-2 >Emitted(15, 22) Source(33, 15) + SourceIndex(0)
-3 >Emitted(15, 37) Source(33, 30) + SourceIndex(0)
-4 >Emitted(15, 55) Source(41, 3) + SourceIndex(0)
-5 >Emitted(15, 56) Source(41, 3) + SourceIndex(0)
+1->Emitted(17, 17) Source(33, 15) + SourceIndex(0)
+2 >Emitted(17, 22) Source(33, 15) + SourceIndex(0)
+3 >Emitted(17, 37) Source(33, 30) + SourceIndex(0)
+4 >Emitted(17, 55) Source(41, 3) + SourceIndex(0)
+5 >Emitted(17, 56) Source(41, 3) + SourceIndex(0)
---
>>> })(Find = Thing_1.Find || (Thing_1.Find = {}));
1->^^^^^^^^^^^^
@@ -418,17 +435,17 @@ sourceFile:recursiveClassReferenceTest.ts
> }
> }
> }
-1->Emitted(16, 13) Source(41, 3) + SourceIndex(0)
-2 >Emitted(16, 14) Source(42, 2) + SourceIndex(0)
-3 >Emitted(16, 16) Source(32, 29) + SourceIndex(0)
-4 >Emitted(16, 20) Source(32, 33) + SourceIndex(0)
-5 >Emitted(16, 23) Source(32, 29) + SourceIndex(0)
-6 >Emitted(16, 31) Source(32, 29) + SourceIndex(0)
-7 >Emitted(16, 35) Source(32, 33) + SourceIndex(0)
-8 >Emitted(16, 40) Source(32, 29) + SourceIndex(0)
-9 >Emitted(16, 48) Source(32, 29) + SourceIndex(0)
-10>Emitted(16, 52) Source(32, 33) + SourceIndex(0)
-11>Emitted(16, 60) Source(42, 2) + SourceIndex(0)
+1->Emitted(18, 13) Source(41, 3) + SourceIndex(0)
+2 >Emitted(18, 14) Source(42, 2) + SourceIndex(0)
+3 >Emitted(18, 16) Source(32, 29) + SourceIndex(0)
+4 >Emitted(18, 20) Source(32, 33) + SourceIndex(0)
+5 >Emitted(18, 23) Source(32, 29) + SourceIndex(0)
+6 >Emitted(18, 31) Source(32, 29) + SourceIndex(0)
+7 >Emitted(18, 35) Source(32, 33) + SourceIndex(0)
+8 >Emitted(18, 40) Source(32, 29) + SourceIndex(0)
+9 >Emitted(18, 48) Source(32, 29) + SourceIndex(0)
+10>Emitted(18, 52) Source(32, 33) + SourceIndex(0)
+11>Emitted(18, 60) Source(42, 2) + SourceIndex(0)
---
>>> })(Thing = Actions.Thing || (Actions.Thing = {}));
1 >^^^^^^^^
@@ -498,18 +515,18 @@ sourceFile:recursiveClassReferenceTest.ts
> }
> }
> }
-1 >Emitted(17, 9) Source(41, 3) + SourceIndex(0)
-2 >Emitted(17, 10) Source(42, 1) + SourceIndex(0)
-3 >Emitted(17, 10) Source(1, 1) + SourceIndex(0)
-4 >Emitted(17, 12) Source(32, 23) + SourceIndex(0)
-5 >Emitted(17, 17) Source(32, 28) + SourceIndex(0)
-6 >Emitted(17, 20) Source(32, 23) + SourceIndex(0)
-7 >Emitted(17, 28) Source(32, 23) + SourceIndex(0)
-8 >Emitted(17, 33) Source(32, 28) + SourceIndex(0)
-9 >Emitted(17, 38) Source(32, 23) + SourceIndex(0)
-10>Emitted(17, 46) Source(32, 23) + SourceIndex(0)
-11>Emitted(17, 51) Source(32, 28) + SourceIndex(0)
-12>Emitted(17, 59) Source(42, 2) + SourceIndex(0)
+1 >Emitted(19, 9) Source(41, 3) + SourceIndex(0)
+2 >Emitted(19, 10) Source(42, 1) + SourceIndex(0)
+3 >Emitted(19, 10) Source(1, 1) + SourceIndex(0)
+4 >Emitted(19, 12) Source(32, 23) + SourceIndex(0)
+5 >Emitted(19, 17) Source(32, 28) + SourceIndex(0)
+6 >Emitted(19, 20) Source(32, 23) + SourceIndex(0)
+7 >Emitted(19, 28) Source(32, 23) + SourceIndex(0)
+8 >Emitted(19, 33) Source(32, 28) + SourceIndex(0)
+9 >Emitted(19, 38) Source(32, 23) + SourceIndex(0)
+10>Emitted(19, 46) Source(32, 23) + SourceIndex(0)
+11>Emitted(19, 51) Source(32, 28) + SourceIndex(0)
+12>Emitted(19, 59) Source(42, 2) + SourceIndex(0)
---
>>> })(Actions = Sample.Actions || (Sample.Actions = {}));
1->^^^^
@@ -578,18 +595,18 @@ sourceFile:recursiveClassReferenceTest.ts
> }
> }
> }
-1->Emitted(18, 5) Source(41, 3) + SourceIndex(0)
-2 >Emitted(18, 6) Source(42, 1) + SourceIndex(0)
-3 >Emitted(18, 6) Source(1, 1) + SourceIndex(0)
-4 >Emitted(18, 8) Source(32, 15) + SourceIndex(0)
-5 >Emitted(18, 15) Source(32, 22) + SourceIndex(0)
-6 >Emitted(18, 18) Source(32, 15) + SourceIndex(0)
-7 >Emitted(18, 25) Source(32, 15) + SourceIndex(0)
-8 >Emitted(18, 32) Source(32, 22) + SourceIndex(0)
-9 >Emitted(18, 37) Source(32, 15) + SourceIndex(0)
-10>Emitted(18, 44) Source(32, 15) + SourceIndex(0)
-11>Emitted(18, 51) Source(32, 22) + SourceIndex(0)
-12>Emitted(18, 59) Source(42, 2) + SourceIndex(0)
+1->Emitted(20, 5) Source(41, 3) + SourceIndex(0)
+2 >Emitted(20, 6) Source(42, 1) + SourceIndex(0)
+3 >Emitted(20, 6) Source(1, 1) + SourceIndex(0)
+4 >Emitted(20, 8) Source(32, 15) + SourceIndex(0)
+5 >Emitted(20, 15) Source(32, 22) + SourceIndex(0)
+6 >Emitted(20, 18) Source(32, 15) + SourceIndex(0)
+7 >Emitted(20, 25) Source(32, 15) + SourceIndex(0)
+8 >Emitted(20, 32) Source(32, 22) + SourceIndex(0)
+9 >Emitted(20, 37) Source(32, 15) + SourceIndex(0)
+10>Emitted(20, 44) Source(32, 15) + SourceIndex(0)
+11>Emitted(20, 51) Source(32, 22) + SourceIndex(0)
+12>Emitted(20, 59) Source(42, 2) + SourceIndex(0)
---
>>>})(Sample || (Sample = {}));
1 >
@@ -650,14 +667,14 @@ sourceFile:recursiveClassReferenceTest.ts
> }
> }
> }
-1 >Emitted(19, 1) Source(41, 3) + SourceIndex(0)
-2 >Emitted(19, 2) Source(42, 1) + SourceIndex(0)
-3 >Emitted(19, 2) Source(1, 1) + SourceIndex(0)
-4 >Emitted(19, 4) Source(32, 8) + SourceIndex(0)
-5 >Emitted(19, 10) Source(32, 14) + SourceIndex(0)
-6 >Emitted(19, 15) Source(32, 8) + SourceIndex(0)
-7 >Emitted(19, 21) Source(32, 14) + SourceIndex(0)
-8 >Emitted(19, 29) Source(42, 2) + SourceIndex(0)
+1 >Emitted(21, 1) Source(41, 3) + SourceIndex(0)
+2 >Emitted(21, 2) Source(42, 1) + SourceIndex(0)
+3 >Emitted(21, 2) Source(1, 1) + SourceIndex(0)
+4 >Emitted(21, 4) Source(32, 8) + SourceIndex(0)
+5 >Emitted(21, 10) Source(32, 14) + SourceIndex(0)
+6 >Emitted(21, 15) Source(32, 8) + SourceIndex(0)
+7 >Emitted(21, 21) Source(32, 14) + SourceIndex(0)
+8 >Emitted(21, 29) Source(42, 2) + SourceIndex(0)
---
>>>(function (Sample) {
1 >
@@ -670,10 +687,10 @@ sourceFile:recursiveClassReferenceTest.ts
2 >module
3 > Sample
4 >
-1 >Emitted(20, 1) Source(44, 1) + SourceIndex(0)
-2 >Emitted(20, 12) Source(44, 8) + SourceIndex(0)
-3 >Emitted(20, 18) Source(44, 14) + SourceIndex(0)
-4 >Emitted(20, 20) Source(6, 1) + SourceIndex(0)
+1 >Emitted(22, 1) Source(44, 1) + SourceIndex(0)
+2 >Emitted(22, 12) Source(44, 8) + SourceIndex(0)
+3 >Emitted(22, 18) Source(44, 14) + SourceIndex(0)
+4 >Emitted(22, 20) Source(6, 1) + SourceIndex(0)
---
>>> let Thing;
1 >^^^^
@@ -741,9 +758,9 @@ sourceFile:recursiveClassReferenceTest.ts
>
> }
> }
-1 >Emitted(21, 5) Source(44, 15) + SourceIndex(0)
-2 >Emitted(21, 9) Source(44, 15) + SourceIndex(0)
-3 >Emitted(21, 14) Source(64, 2) + SourceIndex(0)
+1 >Emitted(23, 5) Source(44, 15) + SourceIndex(0)
+2 >Emitted(23, 9) Source(44, 15) + SourceIndex(0)
+3 >Emitted(23, 14) Source(64, 2) + SourceIndex(0)
---
>>> (function (Thing) {
1->^^^^
@@ -754,10 +771,10 @@ sourceFile:recursiveClassReferenceTest.ts
2 >
3 > Thing
4 >
-1->Emitted(22, 5) Source(44, 15) + SourceIndex(0)
-2 >Emitted(22, 16) Source(44, 15) + SourceIndex(0)
-3 >Emitted(22, 21) Source(44, 20) + SourceIndex(0)
-4 >Emitted(22, 23) Source(6, 1) + SourceIndex(0)
+1->Emitted(24, 5) Source(44, 15) + SourceIndex(0)
+2 >Emitted(24, 16) Source(44, 15) + SourceIndex(0)
+3 >Emitted(24, 21) Source(44, 20) + SourceIndex(0)
+4 >Emitted(24, 23) Source(6, 1) + SourceIndex(0)
---
>>> let Widgets;
1 >^^^^^^^^
@@ -825,9 +842,9 @@ sourceFile:recursiveClassReferenceTest.ts
>
> }
> }
-1 >Emitted(23, 9) Source(44, 21) + SourceIndex(0)
-2 >Emitted(23, 13) Source(44, 21) + SourceIndex(0)
-3 >Emitted(23, 20) Source(64, 2) + SourceIndex(0)
+1 >Emitted(25, 9) Source(44, 21) + SourceIndex(0)
+2 >Emitted(25, 13) Source(44, 21) + SourceIndex(0)
+3 >Emitted(25, 20) Source(64, 2) + SourceIndex(0)
---
>>> (function (Widgets) {
1->^^^^^^^^
@@ -839,10 +856,10 @@ sourceFile:recursiveClassReferenceTest.ts
2 >
3 > Widgets
4 >
-1->Emitted(24, 9) Source(44, 21) + SourceIndex(0)
-2 >Emitted(24, 20) Source(44, 21) + SourceIndex(0)
-3 >Emitted(24, 27) Source(44, 28) + SourceIndex(0)
-4 >Emitted(24, 29) Source(44, 29) + SourceIndex(0)
+1->Emitted(26, 9) Source(44, 21) + SourceIndex(0)
+2 >Emitted(26, 20) Source(44, 21) + SourceIndex(0)
+3 >Emitted(26, 27) Source(44, 28) + SourceIndex(0)
+4 >Emitted(26, 29) Source(44, 29) + SourceIndex(0)
---
>>> class FindWidget {
1->^^^^^^^^^^^^
@@ -852,9 +869,9 @@ sourceFile:recursiveClassReferenceTest.ts
>
2 > export class
3 > FindWidget
-1->Emitted(25, 13) Source(45, 2) + SourceIndex(0)
-2 >Emitted(25, 19) Source(45, 15) + SourceIndex(0)
-3 >Emitted(25, 29) Source(45, 25) + SourceIndex(0)
+1->Emitted(27, 13) Source(45, 2) + SourceIndex(0)
+2 >Emitted(27, 19) Source(45, 15) + SourceIndex(0)
+3 >Emitted(27, 29) Source(45, 25) + SourceIndex(0)
---
>>> codeThing;
1 >^^^^^^^^^^^^^^^^
@@ -867,8 +884,8 @@ sourceFile:recursiveClassReferenceTest.ts
> private domNode:any = null;
> constructor(private
2 > codeThing
-1 >Emitted(26, 17) Source(50, 23) + SourceIndex(0)
-2 >Emitted(26, 26) Source(50, 32) + SourceIndex(0)
+1 >Emitted(28, 17) Source(50, 23) + SourceIndex(0)
+2 >Emitted(28, 26) Source(50, 32) + SourceIndex(0)
---
>>> gar(runner) { if (true) {
1->^^^^^^^^^^^^^^^^
@@ -891,16 +908,16 @@ sourceFile:recursiveClassReferenceTest.ts
8 > true
9 > )
10> {
-1->Emitted(27, 17) Source(47, 10) + SourceIndex(0)
-2 >Emitted(27, 20) Source(47, 13) + SourceIndex(0)
-3 >Emitted(27, 21) Source(47, 14) + SourceIndex(0)
-4 >Emitted(27, 27) Source(47, 55) + SourceIndex(0)
-5 >Emitted(27, 29) Source(47, 57) + SourceIndex(0)
-6 >Emitted(27, 31) Source(47, 59) + SourceIndex(0)
-7 >Emitted(27, 35) Source(47, 63) + SourceIndex(0)
-8 >Emitted(27, 39) Source(47, 67) + SourceIndex(0)
-9 >Emitted(27, 41) Source(47, 69) + SourceIndex(0)
-10>Emitted(27, 42) Source(47, 70) + SourceIndex(0)
+1->Emitted(29, 17) Source(47, 10) + SourceIndex(0)
+2 >Emitted(29, 20) Source(47, 13) + SourceIndex(0)
+3 >Emitted(29, 21) Source(47, 14) + SourceIndex(0)
+4 >Emitted(29, 27) Source(47, 55) + SourceIndex(0)
+5 >Emitted(29, 29) Source(47, 57) + SourceIndex(0)
+6 >Emitted(29, 31) Source(47, 59) + SourceIndex(0)
+7 >Emitted(29, 35) Source(47, 63) + SourceIndex(0)
+8 >Emitted(29, 39) Source(47, 67) + SourceIndex(0)
+9 >Emitted(29, 41) Source(47, 69) + SourceIndex(0)
+10>Emitted(29, 42) Source(47, 70) + SourceIndex(0)
---
>>> return runner(this);
1 >^^^^^^^^^^^^^^^^^^^^
@@ -917,13 +934,13 @@ sourceFile:recursiveClassReferenceTest.ts
5 > this
6 > )
7 > ;
-1 >Emitted(28, 21) Source(47, 70) + SourceIndex(0)
-2 >Emitted(28, 28) Source(47, 77) + SourceIndex(0)
-3 >Emitted(28, 34) Source(47, 83) + SourceIndex(0)
-4 >Emitted(28, 35) Source(47, 84) + SourceIndex(0)
-5 >Emitted(28, 39) Source(47, 88) + SourceIndex(0)
-6 >Emitted(28, 40) Source(47, 89) + SourceIndex(0)
-7 >Emitted(28, 41) Source(47, 90) + SourceIndex(0)
+1 >Emitted(30, 21) Source(47, 70) + SourceIndex(0)
+2 >Emitted(30, 28) Source(47, 77) + SourceIndex(0)
+3 >Emitted(30, 34) Source(47, 83) + SourceIndex(0)
+4 >Emitted(30, 35) Source(47, 84) + SourceIndex(0)
+5 >Emitted(30, 39) Source(47, 88) + SourceIndex(0)
+6 >Emitted(30, 40) Source(47, 89) + SourceIndex(0)
+7 >Emitted(30, 41) Source(47, 90) + SourceIndex(0)
---
>>> } }
1 >^^^^^^^^^^^^^^^^
@@ -935,10 +952,10 @@ sourceFile:recursiveClassReferenceTest.ts
2 > }
3 >
4 > }
-1 >Emitted(29, 17) Source(47, 90) + SourceIndex(0)
-2 >Emitted(29, 18) Source(47, 91) + SourceIndex(0)
-3 >Emitted(29, 19) Source(47, 91) + SourceIndex(0)
-4 >Emitted(29, 20) Source(47, 92) + SourceIndex(0)
+1 >Emitted(31, 17) Source(47, 90) + SourceIndex(0)
+2 >Emitted(31, 18) Source(47, 91) + SourceIndex(0)
+3 >Emitted(31, 19) Source(47, 91) + SourceIndex(0)
+4 >Emitted(31, 20) Source(47, 92) + SourceIndex(0)
---
>>> domNode = null;
1->^^^^^^^^^^^^^^^^
@@ -954,11 +971,11 @@ sourceFile:recursiveClassReferenceTest.ts
3 > :any =
4 > null
5 > ;
-1->Emitted(30, 17) Source(49, 11) + SourceIndex(0)
-2 >Emitted(30, 24) Source(49, 18) + SourceIndex(0)
-3 >Emitted(30, 27) Source(49, 25) + SourceIndex(0)
-4 >Emitted(30, 31) Source(49, 29) + SourceIndex(0)
-5 >Emitted(30, 32) Source(49, 30) + SourceIndex(0)
+1->Emitted(32, 17) Source(49, 11) + SourceIndex(0)
+2 >Emitted(32, 24) Source(49, 18) + SourceIndex(0)
+3 >Emitted(32, 27) Source(49, 25) + SourceIndex(0)
+4 >Emitted(32, 31) Source(49, 29) + SourceIndex(0)
+5 >Emitted(32, 32) Source(49, 30) + SourceIndex(0)
---
>>> constructor(codeThing) {
1->^^^^^^^^^^^^^^^^
@@ -971,18 +988,18 @@ sourceFile:recursiveClassReferenceTest.ts
2 > constructor(private
3 > codeThing: Sample.Thing.ICodeThing
4 > )
-1->Emitted(31, 17) Source(50, 3) + SourceIndex(0)
-2 >Emitted(31, 29) Source(50, 23) + SourceIndex(0)
-3 >Emitted(31, 38) Source(50, 57) + SourceIndex(0)
-4 >Emitted(31, 40) Source(50, 59) + SourceIndex(0)
+1->Emitted(33, 17) Source(50, 3) + SourceIndex(0)
+2 >Emitted(33, 29) Source(50, 23) + SourceIndex(0)
+3 >Emitted(33, 38) Source(50, 57) + SourceIndex(0)
+4 >Emitted(33, 40) Source(50, 59) + SourceIndex(0)
---
>>> this.codeThing = codeThing;
1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 > ^^^^^^^^^
1->
2 > codeThing
-1->Emitted(32, 38) Source(50, 23) + SourceIndex(0)
-2 >Emitted(32, 47) Source(50, 32) + SourceIndex(0)
+1->Emitted(34, 38) Source(50, 23) + SourceIndex(0)
+2 >Emitted(34, 47) Source(50, 32) + SourceIndex(0)
---
>>> // scenario 1
1 >^^^^^^^^^^^^^^^^^^^^
@@ -991,8 +1008,8 @@ sourceFile:recursiveClassReferenceTest.ts
1 >: Sample.Thing.ICodeThing) {
>
2 > // scenario 1
-1 >Emitted(33, 21) Source(51, 7) + SourceIndex(0)
-2 >Emitted(33, 34) Source(51, 20) + SourceIndex(0)
+1 >Emitted(35, 21) Source(51, 7) + SourceIndex(0)
+2 >Emitted(35, 34) Source(51, 20) + SourceIndex(0)
---
>>> codeThing.addWidget("addWidget", this);
1->^^^^^^^^^^^^^^^^^^^^
@@ -1016,16 +1033,16 @@ sourceFile:recursiveClassReferenceTest.ts
8 > this
9 > )
10> ;
-1->Emitted(34, 21) Source(52, 7) + SourceIndex(0)
-2 >Emitted(34, 30) Source(52, 16) + SourceIndex(0)
-3 >Emitted(34, 31) Source(52, 17) + SourceIndex(0)
-4 >Emitted(34, 40) Source(52, 26) + SourceIndex(0)
-5 >Emitted(34, 41) Source(52, 27) + SourceIndex(0)
-6 >Emitted(34, 52) Source(52, 38) + SourceIndex(0)
-7 >Emitted(34, 54) Source(52, 40) + SourceIndex(0)
-8 >Emitted(34, 58) Source(52, 44) + SourceIndex(0)
-9 >Emitted(34, 59) Source(52, 45) + SourceIndex(0)
-10>Emitted(34, 60) Source(52, 46) + SourceIndex(0)
+1->Emitted(36, 21) Source(52, 7) + SourceIndex(0)
+2 >Emitted(36, 30) Source(52, 16) + SourceIndex(0)
+3 >Emitted(36, 31) Source(52, 17) + SourceIndex(0)
+4 >Emitted(36, 40) Source(52, 26) + SourceIndex(0)
+5 >Emitted(36, 41) Source(52, 27) + SourceIndex(0)
+6 >Emitted(36, 52) Source(52, 38) + SourceIndex(0)
+7 >Emitted(36, 54) Source(52, 40) + SourceIndex(0)
+8 >Emitted(36, 58) Source(52, 44) + SourceIndex(0)
+9 >Emitted(36, 59) Source(52, 45) + SourceIndex(0)
+10>Emitted(36, 60) Source(52, 46) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^
@@ -1034,8 +1051,8 @@ sourceFile:recursiveClassReferenceTest.ts
1 >
2 >
> }
-1 >Emitted(35, 17) Source(52, 46) + SourceIndex(0)
-2 >Emitted(35, 18) Source(53, 4) + SourceIndex(0)
+1 >Emitted(37, 17) Source(52, 46) + SourceIndex(0)
+2 >Emitted(37, 18) Source(53, 4) + SourceIndex(0)
---
>>> getDomNode() {
1->^^^^^^^^^^^^^^^^
@@ -1047,9 +1064,9 @@ sourceFile:recursiveClassReferenceTest.ts
> public
2 > getDomNode
3 > ()
-1->Emitted(36, 17) Source(55, 10) + SourceIndex(0)
-2 >Emitted(36, 27) Source(55, 20) + SourceIndex(0)
-3 >Emitted(36, 30) Source(55, 23) + SourceIndex(0)
+1->Emitted(38, 17) Source(55, 10) + SourceIndex(0)
+2 >Emitted(38, 27) Source(55, 20) + SourceIndex(0)
+3 >Emitted(38, 30) Source(55, 23) + SourceIndex(0)
---
>>> return domNode;
1->^^^^^^^^^^^^^^^^^^^^
@@ -1061,10 +1078,10 @@ sourceFile:recursiveClassReferenceTest.ts
2 > return
3 > domNode
4 > ;
-1->Emitted(37, 21) Source(56, 4) + SourceIndex(0)
-2 >Emitted(37, 28) Source(56, 11) + SourceIndex(0)
-3 >Emitted(37, 35) Source(56, 18) + SourceIndex(0)
-4 >Emitted(37, 36) Source(56, 19) + SourceIndex(0)
+1->Emitted(39, 21) Source(56, 4) + SourceIndex(0)
+2 >Emitted(39, 28) Source(56, 11) + SourceIndex(0)
+3 >Emitted(39, 35) Source(56, 18) + SourceIndex(0)
+4 >Emitted(39, 36) Source(56, 19) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^
@@ -1073,8 +1090,8 @@ sourceFile:recursiveClassReferenceTest.ts
1 >
2 >
> }
-1 >Emitted(38, 17) Source(56, 19) + SourceIndex(0)
-2 >Emitted(38, 18) Source(57, 4) + SourceIndex(0)
+1 >Emitted(40, 17) Source(56, 19) + SourceIndex(0)
+2 >Emitted(40, 18) Source(57, 4) + SourceIndex(0)
---
>>> destroy() {
1->^^^^^^^^^^^^^^^^
@@ -1085,9 +1102,9 @@ sourceFile:recursiveClassReferenceTest.ts
> public
2 > destroy
3 > ()
-1->Emitted(39, 17) Source(59, 10) + SourceIndex(0)
-2 >Emitted(39, 24) Source(59, 17) + SourceIndex(0)
-3 >Emitted(39, 27) Source(59, 20) + SourceIndex(0)
+1->Emitted(41, 17) Source(59, 10) + SourceIndex(0)
+2 >Emitted(41, 24) Source(59, 17) + SourceIndex(0)
+3 >Emitted(41, 27) Source(59, 20) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^
@@ -1096,8 +1113,8 @@ sourceFile:recursiveClassReferenceTest.ts
2 >
>
> }
-1 >Emitted(40, 17) Source(59, 21) + SourceIndex(0)
-2 >Emitted(40, 18) Source(61, 4) + SourceIndex(0)
+1 >Emitted(42, 17) Source(59, 21) + SourceIndex(0)
+2 >Emitted(42, 18) Source(61, 4) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^
@@ -1105,7 +1122,7 @@ sourceFile:recursiveClassReferenceTest.ts
1 >
>
> }
-1 >Emitted(41, 14) Source(63, 3) + SourceIndex(0)
+1 >Emitted(43, 14) Source(63, 3) + SourceIndex(0)
---
>>> Widgets.FindWidget = FindWidget;
1->^^^^^^^^^^^^
@@ -1137,11 +1154,11 @@ sourceFile:recursiveClassReferenceTest.ts
>
> }
5 >
-1->Emitted(42, 13) Source(45, 15) + SourceIndex(0)
-2 >Emitted(42, 21) Source(45, 15) + SourceIndex(0)
-3 >Emitted(42, 31) Source(45, 25) + SourceIndex(0)
-4 >Emitted(42, 44) Source(63, 3) + SourceIndex(0)
-5 >Emitted(42, 45) Source(63, 3) + SourceIndex(0)
+1->Emitted(44, 13) Source(45, 15) + SourceIndex(0)
+2 >Emitted(44, 21) Source(45, 15) + SourceIndex(0)
+3 >Emitted(44, 31) Source(45, 25) + SourceIndex(0)
+4 >Emitted(44, 44) Source(63, 3) + SourceIndex(0)
+5 >Emitted(44, 45) Source(63, 3) + SourceIndex(0)
---
>>> })(Widgets = Thing.Widgets || (Thing.Widgets = {}));
1->^^^^^^^^
@@ -1187,17 +1204,17 @@ sourceFile:recursiveClassReferenceTest.ts
>
> }
> }
-1->Emitted(43, 9) Source(63, 3) + SourceIndex(0)
-2 >Emitted(43, 10) Source(64, 2) + SourceIndex(0)
-3 >Emitted(43, 12) Source(44, 21) + SourceIndex(0)
-4 >Emitted(43, 19) Source(44, 28) + SourceIndex(0)
-5 >Emitted(43, 22) Source(44, 21) + SourceIndex(0)
-6 >Emitted(43, 28) Source(44, 21) + SourceIndex(0)
-7 >Emitted(43, 35) Source(44, 28) + SourceIndex(0)
-8 >Emitted(43, 40) Source(44, 21) + SourceIndex(0)
-9 >Emitted(43, 46) Source(44, 21) + SourceIndex(0)
-10>Emitted(43, 53) Source(44, 28) + SourceIndex(0)
-11>Emitted(43, 61) Source(64, 2) + SourceIndex(0)
+1->Emitted(45, 9) Source(63, 3) + SourceIndex(0)
+2 >Emitted(45, 10) Source(64, 2) + SourceIndex(0)
+3 >Emitted(45, 12) Source(44, 21) + SourceIndex(0)
+4 >Emitted(45, 19) Source(44, 28) + SourceIndex(0)
+5 >Emitted(45, 22) Source(44, 21) + SourceIndex(0)
+6 >Emitted(45, 28) Source(44, 21) + SourceIndex(0)
+7 >Emitted(45, 35) Source(44, 28) + SourceIndex(0)
+8 >Emitted(45, 40) Source(44, 21) + SourceIndex(0)
+9 >Emitted(45, 46) Source(44, 21) + SourceIndex(0)
+10>Emitted(45, 53) Source(44, 28) + SourceIndex(0)
+11>Emitted(45, 61) Source(64, 2) + SourceIndex(0)
---
>>> })(Thing = Sample.Thing || (Sample.Thing = {}));
1 >^^^^
@@ -1288,18 +1305,18 @@ sourceFile:recursiveClassReferenceTest.ts
>
> }
> }
-1 >Emitted(44, 5) Source(63, 3) + SourceIndex(0)
-2 >Emitted(44, 6) Source(64, 1) + SourceIndex(0)
-3 >Emitted(44, 6) Source(1, 1) + SourceIndex(0)
-4 >Emitted(44, 8) Source(44, 15) + SourceIndex(0)
-5 >Emitted(44, 13) Source(44, 20) + SourceIndex(0)
-6 >Emitted(44, 16) Source(44, 15) + SourceIndex(0)
-7 >Emitted(44, 23) Source(44, 15) + SourceIndex(0)
-8 >Emitted(44, 28) Source(44, 20) + SourceIndex(0)
-9 >Emitted(44, 33) Source(44, 15) + SourceIndex(0)
-10>Emitted(44, 40) Source(44, 15) + SourceIndex(0)
-11>Emitted(44, 45) Source(44, 20) + SourceIndex(0)
-12>Emitted(44, 53) Source(64, 2) + SourceIndex(0)
+1 >Emitted(46, 5) Source(63, 3) + SourceIndex(0)
+2 >Emitted(46, 6) Source(64, 1) + SourceIndex(0)
+3 >Emitted(46, 6) Source(1, 1) + SourceIndex(0)
+4 >Emitted(46, 8) Source(44, 15) + SourceIndex(0)
+5 >Emitted(46, 13) Source(44, 20) + SourceIndex(0)
+6 >Emitted(46, 16) Source(44, 15) + SourceIndex(0)
+7 >Emitted(46, 23) Source(44, 15) + SourceIndex(0)
+8 >Emitted(46, 28) Source(44, 20) + SourceIndex(0)
+9 >Emitted(46, 33) Source(44, 15) + SourceIndex(0)
+10>Emitted(46, 40) Source(44, 15) + SourceIndex(0)
+11>Emitted(46, 45) Source(44, 20) + SourceIndex(0)
+12>Emitted(46, 53) Source(64, 2) + SourceIndex(0)
---
>>>})(Sample || (Sample = {}));
1 >
@@ -1382,14 +1399,14 @@ sourceFile:recursiveClassReferenceTest.ts
>
> }
> }
-1 >Emitted(45, 1) Source(63, 3) + SourceIndex(0)
-2 >Emitted(45, 2) Source(64, 1) + SourceIndex(0)
-3 >Emitted(45, 2) Source(1, 1) + SourceIndex(0)
-4 >Emitted(45, 4) Source(44, 8) + SourceIndex(0)
-5 >Emitted(45, 10) Source(44, 14) + SourceIndex(0)
-6 >Emitted(45, 15) Source(44, 8) + SourceIndex(0)
-7 >Emitted(45, 21) Source(44, 14) + SourceIndex(0)
-8 >Emitted(45, 29) Source(64, 2) + SourceIndex(0)
+1 >Emitted(47, 1) Source(63, 3) + SourceIndex(0)
+2 >Emitted(47, 2) Source(64, 1) + SourceIndex(0)
+3 >Emitted(47, 2) Source(1, 1) + SourceIndex(0)
+4 >Emitted(47, 4) Source(44, 8) + SourceIndex(0)
+5 >Emitted(47, 10) Source(44, 14) + SourceIndex(0)
+6 >Emitted(47, 15) Source(44, 8) + SourceIndex(0)
+7 >Emitted(47, 21) Source(44, 14) + SourceIndex(0)
+8 >Emitted(47, 29) Source(64, 2) + SourceIndex(0)
---
>>>class AbstractMode {
1 >
@@ -1402,9 +1419,9 @@ sourceFile:recursiveClassReferenceTest.ts
>
2 >class
3 > AbstractMode
-1 >Emitted(46, 1) Source(67, 1) + SourceIndex(0)
-2 >Emitted(46, 7) Source(67, 7) + SourceIndex(0)
-3 >Emitted(46, 19) Source(67, 19) + SourceIndex(0)
+1 >Emitted(48, 1) Source(67, 1) + SourceIndex(0)
+2 >Emitted(48, 7) Source(67, 7) + SourceIndex(0)
+3 >Emitted(48, 19) Source(67, 19) + SourceIndex(0)
---
>>> getInitialState() { return null; }
1->^^^^
@@ -1425,21 +1442,21 @@ sourceFile:recursiveClassReferenceTest.ts
7 > ;
8 >
9 > }
-1->Emitted(47, 5) Source(67, 46) + SourceIndex(0)
-2 >Emitted(47, 20) Source(67, 61) + SourceIndex(0)
-3 >Emitted(47, 23) Source(67, 72) + SourceIndex(0)
-4 >Emitted(47, 25) Source(67, 74) + SourceIndex(0)
-5 >Emitted(47, 32) Source(67, 81) + SourceIndex(0)
-6 >Emitted(47, 36) Source(67, 85) + SourceIndex(0)
-7 >Emitted(47, 37) Source(67, 86) + SourceIndex(0)
-8 >Emitted(47, 38) Source(67, 86) + SourceIndex(0)
-9 >Emitted(47, 39) Source(67, 87) + SourceIndex(0)
+1->Emitted(49, 5) Source(67, 46) + SourceIndex(0)
+2 >Emitted(49, 20) Source(67, 61) + SourceIndex(0)
+3 >Emitted(49, 23) Source(67, 72) + SourceIndex(0)
+4 >Emitted(49, 25) Source(67, 74) + SourceIndex(0)
+5 >Emitted(49, 32) Source(67, 81) + SourceIndex(0)
+6 >Emitted(49, 36) Source(67, 85) + SourceIndex(0)
+7 >Emitted(49, 37) Source(67, 86) + SourceIndex(0)
+8 >Emitted(49, 38) Source(67, 86) + SourceIndex(0)
+9 >Emitted(49, 39) Source(67, 87) + SourceIndex(0)
---
>>>}
1 >^
2 > ^^^^^^^^^^^^^^^^^^^^->
1 > }
-1 >Emitted(48, 2) Source(67, 89) + SourceIndex(0)
+1 >Emitted(50, 2) Source(67, 89) + SourceIndex(0)
---
>>>(function (Sample) {
1->
@@ -1459,10 +1476,10 @@ sourceFile:recursiveClassReferenceTest.ts
2 >module
3 > Sample
4 >
-1->Emitted(49, 1) Source(76, 1) + SourceIndex(0)
-2 >Emitted(49, 12) Source(76, 8) + SourceIndex(0)
-3 >Emitted(49, 18) Source(76, 14) + SourceIndex(0)
-4 >Emitted(49, 20) Source(6, 1) + SourceIndex(0)
+1->Emitted(51, 1) Source(76, 1) + SourceIndex(0)
+2 >Emitted(51, 12) Source(76, 8) + SourceIndex(0)
+3 >Emitted(51, 18) Source(76, 14) + SourceIndex(0)
+4 >Emitted(51, 20) Source(6, 1) + SourceIndex(0)
---
>>> let Thing;
1 >^^^^
@@ -1566,9 +1583,9 @@ sourceFile:recursiveClassReferenceTest.ts
>
> }
> }
-1 >Emitted(50, 5) Source(76, 15) + SourceIndex(0)
-2 >Emitted(50, 9) Source(76, 15) + SourceIndex(0)
-3 >Emitted(50, 14) Source(100, 2) + SourceIndex(0)
+1 >Emitted(52, 5) Source(76, 15) + SourceIndex(0)
+2 >Emitted(52, 9) Source(76, 15) + SourceIndex(0)
+3 >Emitted(52, 14) Source(100, 2) + SourceIndex(0)
---
>>> (function (Thing) {
1->^^^^
@@ -1580,10 +1597,10 @@ sourceFile:recursiveClassReferenceTest.ts
2 >
3 > Thing
4 >
-1->Emitted(51, 5) Source(76, 15) + SourceIndex(0)
-2 >Emitted(51, 16) Source(76, 15) + SourceIndex(0)
-3 >Emitted(51, 21) Source(76, 20) + SourceIndex(0)
-4 >Emitted(51, 23) Source(6, 1) + SourceIndex(0)
+1->Emitted(53, 5) Source(76, 15) + SourceIndex(0)
+2 >Emitted(53, 16) Source(76, 15) + SourceIndex(0)
+3 >Emitted(53, 21) Source(76, 20) + SourceIndex(0)
+4 >Emitted(53, 23) Source(6, 1) + SourceIndex(0)
---
>>> let Languages;
1->^^^^^^^^
@@ -1687,9 +1704,9 @@ sourceFile:recursiveClassReferenceTest.ts
>
> }
> }
-1->Emitted(52, 9) Source(76, 21) + SourceIndex(0)
-2 >Emitted(52, 13) Source(76, 21) + SourceIndex(0)
-3 >Emitted(52, 22) Source(100, 2) + SourceIndex(0)
+1->Emitted(54, 9) Source(76, 21) + SourceIndex(0)
+2 >Emitted(54, 13) Source(76, 21) + SourceIndex(0)
+3 >Emitted(54, 22) Source(100, 2) + SourceIndex(0)
---
>>> (function (Languages) {
1->^^^^^^^^
@@ -1700,10 +1717,10 @@ sourceFile:recursiveClassReferenceTest.ts
2 >
3 > Languages
4 >
-1->Emitted(53, 9) Source(76, 21) + SourceIndex(0)
-2 >Emitted(53, 20) Source(76, 21) + SourceIndex(0)
-3 >Emitted(53, 29) Source(76, 30) + SourceIndex(0)
-4 >Emitted(53, 31) Source(6, 1) + SourceIndex(0)
+1->Emitted(55, 9) Source(76, 21) + SourceIndex(0)
+2 >Emitted(55, 20) Source(76, 21) + SourceIndex(0)
+3 >Emitted(55, 29) Source(76, 30) + SourceIndex(0)
+4 >Emitted(55, 31) Source(6, 1) + SourceIndex(0)
---
>>> let PlainText;
1 >^^^^^^^^^^^^
@@ -1807,9 +1824,9 @@ sourceFile:recursiveClassReferenceTest.ts
>
> }
> }
-1 >Emitted(54, 13) Source(76, 31) + SourceIndex(0)
-2 >Emitted(54, 17) Source(76, 31) + SourceIndex(0)
-3 >Emitted(54, 26) Source(100, 2) + SourceIndex(0)
+1 >Emitted(56, 13) Source(76, 31) + SourceIndex(0)
+2 >Emitted(56, 17) Source(76, 31) + SourceIndex(0)
+3 >Emitted(56, 26) Source(100, 2) + SourceIndex(0)
---
>>> (function (PlainText) {
1->^^^^^^^^^^^^
@@ -1820,10 +1837,10 @@ sourceFile:recursiveClassReferenceTest.ts
2 >
3 > PlainText
4 >
-1->Emitted(55, 13) Source(76, 31) + SourceIndex(0)
-2 >Emitted(55, 24) Source(76, 31) + SourceIndex(0)
-3 >Emitted(55, 33) Source(76, 40) + SourceIndex(0)
-4 >Emitted(55, 35) Source(76, 41) + SourceIndex(0)
+1->Emitted(57, 13) Source(76, 31) + SourceIndex(0)
+2 >Emitted(57, 24) Source(76, 31) + SourceIndex(0)
+3 >Emitted(57, 33) Source(76, 40) + SourceIndex(0)
+4 >Emitted(57, 35) Source(76, 41) + SourceIndex(0)
---
>>> class State {
1 >^^^^^^^^^^^^^^^^
@@ -1834,9 +1851,9 @@ sourceFile:recursiveClassReferenceTest.ts
>
2 > export class
3 > State
-1 >Emitted(56, 17) Source(78, 2) + SourceIndex(0)
-2 >Emitted(56, 23) Source(78, 15) + SourceIndex(0)
-3 >Emitted(56, 28) Source(78, 20) + SourceIndex(0)
+1 >Emitted(58, 17) Source(78, 2) + SourceIndex(0)
+2 >Emitted(58, 23) Source(78, 15) + SourceIndex(0)
+3 >Emitted(58, 28) Source(78, 20) + SourceIndex(0)
---
>>> mode;
1 >^^^^^^^^^^^^^^^^^^^^
@@ -1845,8 +1862,8 @@ sourceFile:recursiveClassReferenceTest.ts
1 > implements IState {
> constructor(private
2 > mode
-1 >Emitted(57, 21) Source(79, 29) + SourceIndex(0)
-2 >Emitted(57, 25) Source(79, 33) + SourceIndex(0)
+1 >Emitted(59, 21) Source(79, 29) + SourceIndex(0)
+2 >Emitted(59, 25) Source(79, 33) + SourceIndex(0)
---
>>> constructor(mode) {
1->^^^^^^^^^^^^^^^^^^^^
@@ -1858,18 +1875,18 @@ sourceFile:recursiveClassReferenceTest.ts
2 > constructor(private
3 > mode: IMode
4 > )
-1->Emitted(58, 21) Source(79, 9) + SourceIndex(0)
-2 >Emitted(58, 33) Source(79, 29) + SourceIndex(0)
-3 >Emitted(58, 37) Source(79, 40) + SourceIndex(0)
-4 >Emitted(58, 39) Source(79, 42) + SourceIndex(0)
+1->Emitted(60, 21) Source(79, 9) + SourceIndex(0)
+2 >Emitted(60, 33) Source(79, 29) + SourceIndex(0)
+3 >Emitted(60, 37) Source(79, 40) + SourceIndex(0)
+4 >Emitted(60, 39) Source(79, 42) + SourceIndex(0)
---
>>> this.mode = mode;
1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 > ^^^^
1->
2 > mode
-1->Emitted(59, 37) Source(79, 29) + SourceIndex(0)
-2 >Emitted(59, 41) Source(79, 33) + SourceIndex(0)
+1->Emitted(61, 37) Source(79, 29) + SourceIndex(0)
+2 >Emitted(61, 41) Source(79, 33) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^^^^^
@@ -1877,8 +1894,8 @@ sourceFile:recursiveClassReferenceTest.ts
3 > ^^^^^^^^^->
1 >: IMode) {
2 > }
-1 >Emitted(60, 21) Source(79, 43) + SourceIndex(0)
-2 >Emitted(60, 22) Source(79, 45) + SourceIndex(0)
+1 >Emitted(62, 21) Source(79, 43) + SourceIndex(0)
+2 >Emitted(62, 22) Source(79, 45) + SourceIndex(0)
---
>>> clone() {
1->^^^^^^^^^^^^^^^^^^^^
@@ -1889,9 +1906,9 @@ sourceFile:recursiveClassReferenceTest.ts
> public
2 > clone
3 > ():IState
-1->Emitted(61, 21) Source(80, 10) + SourceIndex(0)
-2 >Emitted(61, 26) Source(80, 15) + SourceIndex(0)
-3 >Emitted(61, 29) Source(80, 25) + SourceIndex(0)
+1->Emitted(63, 21) Source(80, 10) + SourceIndex(0)
+2 >Emitted(63, 26) Source(80, 15) + SourceIndex(0)
+3 >Emitted(63, 29) Source(80, 25) + SourceIndex(0)
---
>>> return this;
1->^^^^^^^^^^^^^^^^^^^^^^^^
@@ -1903,10 +1920,10 @@ sourceFile:recursiveClassReferenceTest.ts
2 > return
3 > this
4 > ;
-1->Emitted(62, 25) Source(81, 4) + SourceIndex(0)
-2 >Emitted(62, 32) Source(81, 11) + SourceIndex(0)
-3 >Emitted(62, 36) Source(81, 15) + SourceIndex(0)
-4 >Emitted(62, 37) Source(81, 16) + SourceIndex(0)
+1->Emitted(64, 25) Source(81, 4) + SourceIndex(0)
+2 >Emitted(64, 32) Source(81, 11) + SourceIndex(0)
+3 >Emitted(64, 36) Source(81, 15) + SourceIndex(0)
+4 >Emitted(64, 37) Source(81, 16) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^^^^^
@@ -1915,8 +1932,8 @@ sourceFile:recursiveClassReferenceTest.ts
1 >
2 >
> }
-1 >Emitted(63, 21) Source(81, 16) + SourceIndex(0)
-2 >Emitted(63, 22) Source(82, 4) + SourceIndex(0)
+1 >Emitted(65, 21) Source(81, 16) + SourceIndex(0)
+2 >Emitted(65, 22) Source(82, 4) + SourceIndex(0)
---
>>> equals(other) {
1->^^^^^^^^^^^^^^^^^^^^
@@ -1932,11 +1949,11 @@ sourceFile:recursiveClassReferenceTest.ts
3 > (
4 > other:IState
5 > ):boolean
-1->Emitted(64, 21) Source(84, 10) + SourceIndex(0)
-2 >Emitted(64, 27) Source(84, 16) + SourceIndex(0)
-3 >Emitted(64, 28) Source(84, 17) + SourceIndex(0)
-4 >Emitted(64, 33) Source(84, 29) + SourceIndex(0)
-5 >Emitted(64, 35) Source(84, 39) + SourceIndex(0)
+1->Emitted(66, 21) Source(84, 10) + SourceIndex(0)
+2 >Emitted(66, 27) Source(84, 16) + SourceIndex(0)
+3 >Emitted(66, 28) Source(84, 17) + SourceIndex(0)
+4 >Emitted(66, 33) Source(84, 29) + SourceIndex(0)
+5 >Emitted(66, 35) Source(84, 39) + SourceIndex(0)
---
>>> return this === other;
1->^^^^^^^^^^^^^^^^^^^^^^^^
@@ -1952,12 +1969,12 @@ sourceFile:recursiveClassReferenceTest.ts
4 > ===
5 > other
6 > ;
-1->Emitted(65, 25) Source(85, 4) + SourceIndex(0)
-2 >Emitted(65, 32) Source(85, 11) + SourceIndex(0)
-3 >Emitted(65, 36) Source(85, 15) + SourceIndex(0)
-4 >Emitted(65, 41) Source(85, 20) + SourceIndex(0)
-5 >Emitted(65, 46) Source(85, 25) + SourceIndex(0)
-6 >Emitted(65, 47) Source(85, 26) + SourceIndex(0)
+1->Emitted(67, 25) Source(85, 4) + SourceIndex(0)
+2 >Emitted(67, 32) Source(85, 11) + SourceIndex(0)
+3 >Emitted(67, 36) Source(85, 15) + SourceIndex(0)
+4 >Emitted(67, 41) Source(85, 20) + SourceIndex(0)
+5 >Emitted(67, 46) Source(85, 25) + SourceIndex(0)
+6 >Emitted(67, 47) Source(85, 26) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^^^^^
@@ -1966,8 +1983,8 @@ sourceFile:recursiveClassReferenceTest.ts
1 >
2 >
> }
-1 >Emitted(66, 21) Source(85, 26) + SourceIndex(0)
-2 >Emitted(66, 22) Source(86, 4) + SourceIndex(0)
+1 >Emitted(68, 21) Source(85, 26) + SourceIndex(0)
+2 >Emitted(68, 22) Source(86, 4) + SourceIndex(0)
---
>>> getMode() { return mode; }
1->^^^^^^^^^^^^^^^^^^^^
@@ -1990,22 +2007,22 @@ sourceFile:recursiveClassReferenceTest.ts
7 > ;
8 >
9 > }
-1->Emitted(67, 21) Source(88, 10) + SourceIndex(0)
-2 >Emitted(67, 28) Source(88, 17) + SourceIndex(0)
-3 >Emitted(67, 31) Source(88, 27) + SourceIndex(0)
-4 >Emitted(67, 33) Source(88, 29) + SourceIndex(0)
-5 >Emitted(67, 40) Source(88, 36) + SourceIndex(0)
-6 >Emitted(67, 44) Source(88, 40) + SourceIndex(0)
-7 >Emitted(67, 45) Source(88, 41) + SourceIndex(0)
-8 >Emitted(67, 46) Source(88, 41) + SourceIndex(0)
-9 >Emitted(67, 47) Source(88, 43) + SourceIndex(0)
+1->Emitted(69, 21) Source(88, 10) + SourceIndex(0)
+2 >Emitted(69, 28) Source(88, 17) + SourceIndex(0)
+3 >Emitted(69, 31) Source(88, 27) + SourceIndex(0)
+4 >Emitted(69, 33) Source(88, 29) + SourceIndex(0)
+5 >Emitted(69, 40) Source(88, 36) + SourceIndex(0)
+6 >Emitted(69, 44) Source(88, 40) + SourceIndex(0)
+7 >Emitted(69, 45) Source(88, 41) + SourceIndex(0)
+8 >Emitted(69, 46) Source(88, 41) + SourceIndex(0)
+9 >Emitted(69, 47) Source(88, 43) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
> }
-1 >Emitted(68, 18) Source(89, 3) + SourceIndex(0)
+1 >Emitted(70, 18) Source(89, 3) + SourceIndex(0)
---
>>> PlainText.State = State;
1->^^^^^^^^^^^^^^^^
@@ -2030,11 +2047,11 @@ sourceFile:recursiveClassReferenceTest.ts
> public getMode(): IMode { return mode; }
> }
5 >
-1->Emitted(69, 17) Source(78, 15) + SourceIndex(0)
-2 >Emitted(69, 27) Source(78, 15) + SourceIndex(0)
-3 >Emitted(69, 32) Source(78, 20) + SourceIndex(0)
-4 >Emitted(69, 40) Source(89, 3) + SourceIndex(0)
-5 >Emitted(69, 41) Source(89, 3) + SourceIndex(0)
+1->Emitted(71, 17) Source(78, 15) + SourceIndex(0)
+2 >Emitted(71, 27) Source(78, 15) + SourceIndex(0)
+3 >Emitted(71, 32) Source(78, 20) + SourceIndex(0)
+4 >Emitted(71, 40) Source(89, 3) + SourceIndex(0)
+5 >Emitted(71, 41) Source(89, 3) + SourceIndex(0)
---
>>> class Mode extends AbstractMode {
1->^^^^^^^^^^^^^^^^
@@ -2049,11 +2066,11 @@ sourceFile:recursiveClassReferenceTest.ts
3 > Mode
4 > extends
5 > AbstractMode
-1->Emitted(70, 17) Source(91, 2) + SourceIndex(0)
-2 >Emitted(70, 23) Source(91, 15) + SourceIndex(0)
-3 >Emitted(70, 27) Source(91, 20) + SourceIndex(0)
-4 >Emitted(70, 36) Source(91, 28) + SourceIndex(0)
-5 >Emitted(70, 48) Source(91, 40) + SourceIndex(0)
+1->Emitted(72, 17) Source(91, 2) + SourceIndex(0)
+2 >Emitted(72, 23) Source(91, 15) + SourceIndex(0)
+3 >Emitted(72, 27) Source(91, 20) + SourceIndex(0)
+4 >Emitted(72, 36) Source(91, 28) + SourceIndex(0)
+5 >Emitted(72, 48) Source(91, 40) + SourceIndex(0)
---
>>> // scenario 2
1 >^^^^^^^^^^^^^^^^^^^^
@@ -2063,8 +2080,8 @@ sourceFile:recursiveClassReferenceTest.ts
>
>
2 > // scenario 2
-1 >Emitted(71, 21) Source(93, 3) + SourceIndex(0)
-2 >Emitted(71, 34) Source(93, 16) + SourceIndex(0)
+1 >Emitted(73, 21) Source(93, 3) + SourceIndex(0)
+2 >Emitted(73, 34) Source(93, 16) + SourceIndex(0)
---
>>> getInitialState() {
1->^^^^^^^^^^^^^^^^^^^^
@@ -2075,9 +2092,9 @@ sourceFile:recursiveClassReferenceTest.ts
> public
2 > getInitialState
3 > (): IState
-1->Emitted(72, 21) Source(94, 10) + SourceIndex(0)
-2 >Emitted(72, 36) Source(94, 25) + SourceIndex(0)
-3 >Emitted(72, 39) Source(94, 36) + SourceIndex(0)
+1->Emitted(74, 21) Source(94, 10) + SourceIndex(0)
+2 >Emitted(74, 36) Source(94, 25) + SourceIndex(0)
+3 >Emitted(74, 39) Source(94, 36) + SourceIndex(0)
---
>>> return new State(self);
1->^^^^^^^^^^^^^^^^^^^^^^^^
@@ -2097,14 +2114,14 @@ sourceFile:recursiveClassReferenceTest.ts
6 > self
7 > )
8 > ;
-1->Emitted(73, 25) Source(95, 4) + SourceIndex(0)
-2 >Emitted(73, 32) Source(95, 11) + SourceIndex(0)
-3 >Emitted(73, 36) Source(95, 15) + SourceIndex(0)
-4 >Emitted(73, 41) Source(95, 20) + SourceIndex(0)
-5 >Emitted(73, 42) Source(95, 21) + SourceIndex(0)
-6 >Emitted(73, 46) Source(95, 25) + SourceIndex(0)
-7 >Emitted(73, 47) Source(95, 26) + SourceIndex(0)
-8 >Emitted(73, 48) Source(95, 27) + SourceIndex(0)
+1->Emitted(75, 25) Source(95, 4) + SourceIndex(0)
+2 >Emitted(75, 32) Source(95, 11) + SourceIndex(0)
+3 >Emitted(75, 36) Source(95, 15) + SourceIndex(0)
+4 >Emitted(75, 41) Source(95, 20) + SourceIndex(0)
+5 >Emitted(75, 42) Source(95, 21) + SourceIndex(0)
+6 >Emitted(75, 46) Source(95, 25) + SourceIndex(0)
+7 >Emitted(75, 47) Source(95, 26) + SourceIndex(0)
+8 >Emitted(75, 48) Source(95, 27) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^^^^^
@@ -2112,8 +2129,8 @@ sourceFile:recursiveClassReferenceTest.ts
1 >
2 >
> }
-1 >Emitted(74, 21) Source(95, 27) + SourceIndex(0)
-2 >Emitted(74, 22) Source(96, 4) + SourceIndex(0)
+1 >Emitted(76, 21) Source(95, 27) + SourceIndex(0)
+2 >Emitted(76, 22) Source(96, 4) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^^
@@ -2122,7 +2139,7 @@ sourceFile:recursiveClassReferenceTest.ts
>
>
> }
-1 >Emitted(75, 18) Source(99, 3) + SourceIndex(0)
+1 >Emitted(77, 18) Source(99, 3) + SourceIndex(0)
---
>>> PlainText.Mode = Mode;
1->^^^^^^^^^^^^^^^^
@@ -2144,11 +2161,11 @@ sourceFile:recursiveClassReferenceTest.ts
>
> }
5 >
-1->Emitted(76, 17) Source(91, 15) + SourceIndex(0)
-2 >Emitted(76, 27) Source(91, 15) + SourceIndex(0)
-3 >Emitted(76, 31) Source(91, 19) + SourceIndex(0)
-4 >Emitted(76, 38) Source(99, 3) + SourceIndex(0)
-5 >Emitted(76, 39) Source(99, 3) + SourceIndex(0)
+1->Emitted(78, 17) Source(91, 15) + SourceIndex(0)
+2 >Emitted(78, 27) Source(91, 15) + SourceIndex(0)
+3 >Emitted(78, 31) Source(91, 19) + SourceIndex(0)
+4 >Emitted(78, 38) Source(99, 3) + SourceIndex(0)
+5 >Emitted(78, 39) Source(99, 3) + SourceIndex(0)
---
>>> })(PlainText = Languages.PlainText || (Languages.PlainText = {}));
1->^^^^^^^^^^^^
@@ -2198,17 +2215,17 @@ sourceFile:recursiveClassReferenceTest.ts
>
> }
> }
-1->Emitted(77, 13) Source(99, 3) + SourceIndex(0)
-2 >Emitted(77, 14) Source(100, 2) + SourceIndex(0)
-3 >Emitted(77, 16) Source(76, 31) + SourceIndex(0)
-4 >Emitted(77, 25) Source(76, 40) + SourceIndex(0)
-5 >Emitted(77, 28) Source(76, 31) + SourceIndex(0)
-6 >Emitted(77, 38) Source(76, 31) + SourceIndex(0)
-7 >Emitted(77, 47) Source(76, 40) + SourceIndex(0)
-8 >Emitted(77, 52) Source(76, 31) + SourceIndex(0)
-9 >Emitted(77, 62) Source(76, 31) + SourceIndex(0)
-10>Emitted(77, 71) Source(76, 40) + SourceIndex(0)
-11>Emitted(77, 79) Source(100, 2) + SourceIndex(0)
+1->Emitted(79, 13) Source(99, 3) + SourceIndex(0)
+2 >Emitted(79, 14) Source(100, 2) + SourceIndex(0)
+3 >Emitted(79, 16) Source(76, 31) + SourceIndex(0)
+4 >Emitted(79, 25) Source(76, 40) + SourceIndex(0)
+5 >Emitted(79, 28) Source(76, 31) + SourceIndex(0)
+6 >Emitted(79, 38) Source(76, 31) + SourceIndex(0)
+7 >Emitted(79, 47) Source(76, 40) + SourceIndex(0)
+8 >Emitted(79, 52) Source(76, 31) + SourceIndex(0)
+9 >Emitted(79, 62) Source(76, 31) + SourceIndex(0)
+10>Emitted(79, 71) Source(76, 40) + SourceIndex(0)
+11>Emitted(79, 79) Source(100, 2) + SourceIndex(0)
---
>>> })(Languages = Thing.Languages || (Thing.Languages = {}));
1 >^^^^^^^^
@@ -2335,18 +2352,18 @@ sourceFile:recursiveClassReferenceTest.ts
>
> }
> }
-1 >Emitted(78, 9) Source(99, 3) + SourceIndex(0)
-2 >Emitted(78, 10) Source(100, 1) + SourceIndex(0)
-3 >Emitted(78, 10) Source(1, 1) + SourceIndex(0)
-4 >Emitted(78, 12) Source(76, 21) + SourceIndex(0)
-5 >Emitted(78, 21) Source(76, 30) + SourceIndex(0)
-6 >Emitted(78, 24) Source(76, 21) + SourceIndex(0)
-7 >Emitted(78, 30) Source(76, 21) + SourceIndex(0)
-8 >Emitted(78, 39) Source(76, 30) + SourceIndex(0)
-9 >Emitted(78, 44) Source(76, 21) + SourceIndex(0)
-10>Emitted(78, 50) Source(76, 21) + SourceIndex(0)
-11>Emitted(78, 59) Source(76, 30) + SourceIndex(0)
-12>Emitted(78, 67) Source(100, 2) + SourceIndex(0)
+1 >Emitted(80, 9) Source(99, 3) + SourceIndex(0)
+2 >Emitted(80, 10) Source(100, 1) + SourceIndex(0)
+3 >Emitted(80, 10) Source(1, 1) + SourceIndex(0)
+4 >Emitted(80, 12) Source(76, 21) + SourceIndex(0)
+5 >Emitted(80, 21) Source(76, 30) + SourceIndex(0)
+6 >Emitted(80, 24) Source(76, 21) + SourceIndex(0)
+7 >Emitted(80, 30) Source(76, 21) + SourceIndex(0)
+8 >Emitted(80, 39) Source(76, 30) + SourceIndex(0)
+9 >Emitted(80, 44) Source(76, 21) + SourceIndex(0)
+10>Emitted(80, 50) Source(76, 21) + SourceIndex(0)
+11>Emitted(80, 59) Source(76, 30) + SourceIndex(0)
+12>Emitted(80, 67) Source(100, 2) + SourceIndex(0)
---
>>> })(Thing = Sample.Thing || (Sample.Thing = {}));
1 >^^^^
@@ -2473,18 +2490,18 @@ sourceFile:recursiveClassReferenceTest.ts
>
> }
> }
-1 >Emitted(79, 5) Source(99, 3) + SourceIndex(0)
-2 >Emitted(79, 6) Source(100, 1) + SourceIndex(0)
-3 >Emitted(79, 6) Source(1, 1) + SourceIndex(0)
-4 >Emitted(79, 8) Source(76, 15) + SourceIndex(0)
-5 >Emitted(79, 13) Source(76, 20) + SourceIndex(0)
-6 >Emitted(79, 16) Source(76, 15) + SourceIndex(0)
-7 >Emitted(79, 23) Source(76, 15) + SourceIndex(0)
-8 >Emitted(79, 28) Source(76, 20) + SourceIndex(0)
-9 >Emitted(79, 33) Source(76, 15) + SourceIndex(0)
-10>Emitted(79, 40) Source(76, 15) + SourceIndex(0)
-11>Emitted(79, 45) Source(76, 20) + SourceIndex(0)
-12>Emitted(79, 53) Source(100, 2) + SourceIndex(0)
+1 >Emitted(81, 5) Source(99, 3) + SourceIndex(0)
+2 >Emitted(81, 6) Source(100, 1) + SourceIndex(0)
+3 >Emitted(81, 6) Source(1, 1) + SourceIndex(0)
+4 >Emitted(81, 8) Source(76, 15) + SourceIndex(0)
+5 >Emitted(81, 13) Source(76, 20) + SourceIndex(0)
+6 >Emitted(81, 16) Source(76, 15) + SourceIndex(0)
+7 >Emitted(81, 23) Source(76, 15) + SourceIndex(0)
+8 >Emitted(81, 28) Source(76, 20) + SourceIndex(0)
+9 >Emitted(81, 33) Source(76, 15) + SourceIndex(0)
+10>Emitted(81, 40) Source(76, 15) + SourceIndex(0)
+11>Emitted(81, 45) Source(76, 20) + SourceIndex(0)
+12>Emitted(81, 53) Source(100, 2) + SourceIndex(0)
---
>>>})(Sample || (Sample = {}));
1 >
@@ -2604,13 +2621,13 @@ sourceFile:recursiveClassReferenceTest.ts
>
> }
> }
-1 >Emitted(80, 1) Source(99, 3) + SourceIndex(0)
-2 >Emitted(80, 2) Source(100, 1) + SourceIndex(0)
-3 >Emitted(80, 2) Source(1, 1) + SourceIndex(0)
-4 >Emitted(80, 4) Source(76, 8) + SourceIndex(0)
-5 >Emitted(80, 10) Source(76, 14) + SourceIndex(0)
-6 >Emitted(80, 15) Source(76, 8) + SourceIndex(0)
-7 >Emitted(80, 21) Source(76, 14) + SourceIndex(0)
-8 >Emitted(80, 29) Source(100, 2) + SourceIndex(0)
+1 >Emitted(82, 1) Source(99, 3) + SourceIndex(0)
+2 >Emitted(82, 2) Source(100, 1) + SourceIndex(0)
+3 >Emitted(82, 2) Source(1, 1) + SourceIndex(0)
+4 >Emitted(82, 4) Source(76, 8) + SourceIndex(0)
+5 >Emitted(82, 10) Source(76, 14) + SourceIndex(0)
+6 >Emitted(82, 15) Source(76, 8) + SourceIndex(0)
+7 >Emitted(82, 21) Source(76, 14) + SourceIndex(0)
+8 >Emitted(82, 29) Source(100, 2) + SourceIndex(0)
---
>>>//# sourceMappingURL=recursiveClassReferenceTest.js.map
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.sourcemap.txt.diff b/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.sourcemap.txt.diff
index 93b2d5d6c0..683d991fed 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.sourcemap.txt.diff
+++ b/testdata/baselines/reference/submodule/compiler/recursiveClassReferenceTest.sourcemap.txt.diff
@@ -1,41 +1,16 @@
--- old.recursiveClassReferenceTest.sourcemap.txt
+++ new.recursiveClassReferenceTest.sourcemap.txt
-@@= skipped -7, +7 lines =@@
- emittedFile:recursiveClassReferenceTest.js
- sourceFile:recursiveClassReferenceTest.ts
- -------------------------------------------------------------------
-->>>// Scenario 1: Test reqursive function call with "this" parameter
--1 >
--2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--3 > ^^^^^^^^^^->
--1 >
--2 >// Scenario 1: Test reqursive function call with "this" parameter
--1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
--2 >Emitted(1, 66) Source(1, 66) + SourceIndex(0)
-----
-->>>// Scenario 2: Test recursive function call with cast and "this" parameter
--1->
--2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--1->
-- >
--2 >// Scenario 2: Test recursive function call with cast and "this" parameter
--1->Emitted(2, 1) Source(2, 1) + SourceIndex(0)
--2 >Emitted(2, 75) Source(2, 75) + SourceIndex(0)
-----
- >>>var Sample;
+@@= skipped -29, +29 lines =@@
1 >
2 >^^^^
3 > ^^^^^^
-4 > ^
-5 > ^^^^^^^^^^->
--1 >
+4 > ^^^^^^^^^^^->
-+1 >// Scenario 1: Test reqursive function call with "this" parameter
-+ >// Scenario 2: Test recursive function call with cast and "this" parameter
- >
+ 1 >
>
>
-@@= skipped -56, +38 lines =@@
+@@= skipped -34, +33 lines =@@
>
>
2 >module
@@ -51,10 +26,6 @@
- > }
- > }
- > }
--1 >Emitted(3, 1) Source(32, 1) + SourceIndex(0)
--2 >Emitted(3, 5) Source(32, 8) + SourceIndex(0)
--3 >Emitted(3, 11) Source(32, 14) + SourceIndex(0)
--4 >Emitted(3, 12) Source(42, 2) + SourceIndex(0)
+3 > Sample.Actions.Thing.Find {
+ > export class StartFindAction implements Sample.Thing.IAction {
+ >
@@ -66,9 +37,11 @@
+ > }
+ > }
+ > }
-+1 >Emitted(1, 1) Source(32, 1) + SourceIndex(0)
-+2 >Emitted(1, 5) Source(32, 8) + SourceIndex(0)
-+3 >Emitted(1, 11) Source(42, 2) + SourceIndex(0)
+ 1 >Emitted(3, 1) Source(32, 1) + SourceIndex(0)
+ 2 >Emitted(3, 5) Source(32, 8) + SourceIndex(0)
+-3 >Emitted(3, 11) Source(32, 14) + SourceIndex(0)
+-4 >Emitted(3, 12) Source(42, 2) + SourceIndex(0)
++3 >Emitted(3, 11) Source(42, 2) + SourceIndex(0)
---
>>>(function (Sample) {
1->
@@ -78,14 +51,11 @@
1->
2 >module
3 > Sample
--1->Emitted(4, 1) Source(32, 1) + SourceIndex(0)
--2 >Emitted(4, 12) Source(32, 8) + SourceIndex(0)
--3 >Emitted(4, 18) Source(32, 14) + SourceIndex(0)
+4 >
-+1->Emitted(2, 1) Source(32, 1) + SourceIndex(0)
-+2 >Emitted(2, 12) Source(32, 8) + SourceIndex(0)
-+3 >Emitted(2, 18) Source(32, 14) + SourceIndex(0)
-+4 >Emitted(2, 20) Source(6, 1) + SourceIndex(0)
+ 1->Emitted(4, 1) Source(32, 1) + SourceIndex(0)
+ 2 >Emitted(4, 12) Source(32, 8) + SourceIndex(0)
+ 3 >Emitted(4, 18) Source(32, 14) + SourceIndex(0)
++4 >Emitted(4, 20) Source(6, 1) + SourceIndex(0)
---
->>> var Actions;
+>>> let Actions;
@@ -136,10 +106,6 @@
- > }
- > }
- > }
--1 >Emitted(5, 5) Source(32, 15) + SourceIndex(0)
--2 >Emitted(5, 9) Source(32, 15) + SourceIndex(0)
--3 >Emitted(5, 16) Source(32, 22) + SourceIndex(0)
--4 >Emitted(5, 17) Source(42, 2) + SourceIndex(0)
+3 > Actions.Thing.Find {
+ > export class StartFindAction implements Sample.Thing.IAction {
+ >
@@ -151,9 +117,11 @@
+ > }
+ > }
+ > }
-+1 >Emitted(3, 5) Source(32, 15) + SourceIndex(0)
-+2 >Emitted(3, 9) Source(32, 15) + SourceIndex(0)
-+3 >Emitted(3, 16) Source(42, 2) + SourceIndex(0)
+ 1 >Emitted(5, 5) Source(32, 15) + SourceIndex(0)
+ 2 >Emitted(5, 9) Source(32, 15) + SourceIndex(0)
+-3 >Emitted(5, 16) Source(32, 22) + SourceIndex(0)
+-4 >Emitted(5, 17) Source(42, 2) + SourceIndex(0)
++3 >Emitted(5, 16) Source(42, 2) + SourceIndex(0)
---
>>> (function (Actions) {
1->^^^^
@@ -163,14 +131,11 @@
1->
2 >
3 > Actions
--1->Emitted(6, 5) Source(32, 15) + SourceIndex(0)
--2 >Emitted(6, 16) Source(32, 15) + SourceIndex(0)
--3 >Emitted(6, 23) Source(32, 22) + SourceIndex(0)
+4 >
-+1->Emitted(4, 5) Source(32, 15) + SourceIndex(0)
-+2 >Emitted(4, 16) Source(32, 15) + SourceIndex(0)
-+3 >Emitted(4, 23) Source(32, 22) + SourceIndex(0)
-+4 >Emitted(4, 25) Source(6, 1) + SourceIndex(0)
+ 1->Emitted(6, 5) Source(32, 15) + SourceIndex(0)
+ 2 >Emitted(6, 16) Source(32, 15) + SourceIndex(0)
+ 3 >Emitted(6, 23) Source(32, 22) + SourceIndex(0)
++4 >Emitted(6, 25) Source(6, 1) + SourceIndex(0)
---
->>> var Thing;
+>>> let Thing;
@@ -221,10 +186,6 @@
- > }
- > }
- > }
--1 >Emitted(7, 9) Source(32, 23) + SourceIndex(0)
--2 >Emitted(7, 13) Source(32, 23) + SourceIndex(0)
--3 >Emitted(7, 18) Source(32, 28) + SourceIndex(0)
--4 >Emitted(7, 19) Source(42, 2) + SourceIndex(0)
+3 > Thing.Find {
+ > export class StartFindAction implements Sample.Thing.IAction {
+ >
@@ -236,9 +197,11 @@
+ > }
+ > }
+ > }
-+1 >Emitted(5, 9) Source(32, 23) + SourceIndex(0)
-+2 >Emitted(5, 13) Source(32, 23) + SourceIndex(0)
-+3 >Emitted(5, 18) Source(42, 2) + SourceIndex(0)
+ 1 >Emitted(7, 9) Source(32, 23) + SourceIndex(0)
+ 2 >Emitted(7, 13) Source(32, 23) + SourceIndex(0)
+-3 >Emitted(7, 18) Source(32, 28) + SourceIndex(0)
+-4 >Emitted(7, 19) Source(42, 2) + SourceIndex(0)
++3 >Emitted(7, 18) Source(42, 2) + SourceIndex(0)
---
>>> (function (Thing_1) {
1->^^^^^^^^
@@ -248,14 +211,11 @@
1->
2 >
3 > Thing
--1->Emitted(8, 9) Source(32, 23) + SourceIndex(0)
--2 >Emitted(8, 20) Source(32, 23) + SourceIndex(0)
--3 >Emitted(8, 27) Source(32, 28) + SourceIndex(0)
+4 >
-+1->Emitted(6, 9) Source(32, 23) + SourceIndex(0)
-+2 >Emitted(6, 20) Source(32, 23) + SourceIndex(0)
-+3 >Emitted(6, 27) Source(32, 28) + SourceIndex(0)
-+4 >Emitted(6, 29) Source(6, 1) + SourceIndex(0)
+ 1->Emitted(8, 9) Source(32, 23) + SourceIndex(0)
+ 2 >Emitted(8, 20) Source(32, 23) + SourceIndex(0)
+ 3 >Emitted(8, 27) Source(32, 28) + SourceIndex(0)
++4 >Emitted(8, 29) Source(6, 1) + SourceIndex(0)
---
->>> var Find;
+>>> let Find;
@@ -306,10 +266,6 @@
- > }
- > }
- > }
--1 >Emitted(9, 13) Source(32, 29) + SourceIndex(0)
--2 >Emitted(9, 17) Source(32, 29) + SourceIndex(0)
--3 >Emitted(9, 21) Source(32, 33) + SourceIndex(0)
--4 >Emitted(9, 22) Source(42, 2) + SourceIndex(0)
+3 > Find {
+ > export class StartFindAction implements Sample.Thing.IAction {
+ >
@@ -321,9 +277,11 @@
+ > }
+ > }
+ > }
-+1 >Emitted(7, 13) Source(32, 29) + SourceIndex(0)
-+2 >Emitted(7, 17) Source(32, 29) + SourceIndex(0)
-+3 >Emitted(7, 21) Source(42, 2) + SourceIndex(0)
+ 1 >Emitted(9, 13) Source(32, 29) + SourceIndex(0)
+ 2 >Emitted(9, 17) Source(32, 29) + SourceIndex(0)
+-3 >Emitted(9, 21) Source(32, 33) + SourceIndex(0)
+-4 >Emitted(9, 22) Source(42, 2) + SourceIndex(0)
++3 >Emitted(9, 21) Source(42, 2) + SourceIndex(0)
---
>>> (function (Find) {
1->^^^^^^^^^^^^
@@ -335,14 +293,11 @@
1->
2 >
3 > Find
--1->Emitted(10, 13) Source(32, 29) + SourceIndex(0)
--2 >Emitted(10, 24) Source(32, 29) + SourceIndex(0)
--3 >Emitted(10, 28) Source(32, 33) + SourceIndex(0)
+4 >
-+1->Emitted(8, 13) Source(32, 29) + SourceIndex(0)
-+2 >Emitted(8, 24) Source(32, 29) + SourceIndex(0)
-+3 >Emitted(8, 28) Source(32, 33) + SourceIndex(0)
-+4 >Emitted(8, 30) Source(32, 34) + SourceIndex(0)
+ 1->Emitted(10, 13) Source(32, 29) + SourceIndex(0)
+ 2 >Emitted(10, 24) Source(32, 29) + SourceIndex(0)
+ 3 >Emitted(10, 28) Source(32, 33) + SourceIndex(0)
++4 >Emitted(10, 30) Source(32, 34) + SourceIndex(0)
---
>>> class StartFindAction {
1->^^^^^^^^^^^^^^^^
@@ -354,13 +309,7 @@
>
2 > export class
3 > StartFindAction
--1->Emitted(11, 17) Source(33, 2) + SourceIndex(0)
--2 >Emitted(11, 23) Source(33, 15) + SourceIndex(0)
--3 >Emitted(11, 38) Source(33, 30) + SourceIndex(0)
-+1->Emitted(9, 17) Source(33, 2) + SourceIndex(0)
-+2 >Emitted(9, 23) Source(33, 15) + SourceIndex(0)
-+3 >Emitted(9, 38) Source(33, 30) + SourceIndex(0)
- ---
+@@= skipped -153, +232 lines =@@
>>> getId() { return "yo"; }
1->^^^^^^^^^^^^^^^^^^^^
2 > ^^^^^
@@ -387,14 +336,6 @@
-6 > ;
-7 >
-8 > }
--1->Emitted(12, 21) Source(35, 10) + SourceIndex(0)
--2 >Emitted(12, 26) Source(35, 15) + SourceIndex(0)
--3 >Emitted(12, 31) Source(35, 20) + SourceIndex(0)
--4 >Emitted(12, 38) Source(35, 27) + SourceIndex(0)
--5 >Emitted(12, 42) Source(35, 31) + SourceIndex(0)
--6 >Emitted(12, 43) Source(35, 32) + SourceIndex(0)
--7 >Emitted(12, 44) Source(35, 33) + SourceIndex(0)
--8 >Emitted(12, 45) Source(35, 34) + SourceIndex(0)
+3 > ()
+4 > {
+5 > return
@@ -402,15 +343,21 @@
+7 > ;
+8 >
+9 > }
-+1->Emitted(10, 21) Source(35, 10) + SourceIndex(0)
-+2 >Emitted(10, 26) Source(35, 15) + SourceIndex(0)
-+3 >Emitted(10, 29) Source(35, 18) + SourceIndex(0)
-+4 >Emitted(10, 31) Source(35, 20) + SourceIndex(0)
-+5 >Emitted(10, 38) Source(35, 27) + SourceIndex(0)
-+6 >Emitted(10, 42) Source(35, 31) + SourceIndex(0)
-+7 >Emitted(10, 43) Source(35, 32) + SourceIndex(0)
-+8 >Emitted(10, 44) Source(35, 32) + SourceIndex(0)
-+9 >Emitted(10, 45) Source(35, 34) + SourceIndex(0)
+ 1->Emitted(12, 21) Source(35, 10) + SourceIndex(0)
+ 2 >Emitted(12, 26) Source(35, 15) + SourceIndex(0)
+-3 >Emitted(12, 31) Source(35, 20) + SourceIndex(0)
+-4 >Emitted(12, 38) Source(35, 27) + SourceIndex(0)
+-5 >Emitted(12, 42) Source(35, 31) + SourceIndex(0)
+-6 >Emitted(12, 43) Source(35, 32) + SourceIndex(0)
+-7 >Emitted(12, 44) Source(35, 33) + SourceIndex(0)
+-8 >Emitted(12, 45) Source(35, 34) + SourceIndex(0)
++3 >Emitted(12, 29) Source(35, 18) + SourceIndex(0)
++4 >Emitted(12, 31) Source(35, 20) + SourceIndex(0)
++5 >Emitted(12, 38) Source(35, 27) + SourceIndex(0)
++6 >Emitted(12, 42) Source(35, 31) + SourceIndex(0)
++7 >Emitted(12, 43) Source(35, 32) + SourceIndex(0)
++8 >Emitted(12, 44) Source(35, 32) + SourceIndex(0)
++9 >Emitted(12, 45) Source(35, 34) + SourceIndex(0)
---
>>> run(Thing) {
1 >^^^^^^^^^^^^^^^^^^^^
@@ -426,16 +373,12 @@
2 > run
3 > (
4 > Thing:Sample.Thing.ICodeThing
--1 >Emitted(13, 21) Source(37, 10) + SourceIndex(0)
--2 >Emitted(13, 24) Source(37, 13) + SourceIndex(0)
--3 >Emitted(13, 25) Source(37, 14) + SourceIndex(0)
--4 >Emitted(13, 30) Source(37, 43) + SourceIndex(0)
+5 > ):boolean
-+1 >Emitted(11, 21) Source(37, 10) + SourceIndex(0)
-+2 >Emitted(11, 24) Source(37, 13) + SourceIndex(0)
-+3 >Emitted(11, 25) Source(37, 14) + SourceIndex(0)
-+4 >Emitted(11, 30) Source(37, 43) + SourceIndex(0)
-+5 >Emitted(11, 32) Source(37, 53) + SourceIndex(0)
+ 1 >Emitted(13, 21) Source(37, 10) + SourceIndex(0)
+ 2 >Emitted(13, 24) Source(37, 13) + SourceIndex(0)
+ 3 >Emitted(13, 25) Source(37, 14) + SourceIndex(0)
+ 4 >Emitted(13, 30) Source(37, 43) + SourceIndex(0)
++5 >Emitted(13, 32) Source(37, 53) + SourceIndex(0)
---
>>> return true;
1->^^^^^^^^^^^^^^^^^^^^^^^^
@@ -447,37 +390,20 @@
>
>
2 > return
- 3 > true
- 4 > ;
--1->Emitted(14, 25) Source(39, 4) + SourceIndex(0)
--2 >Emitted(14, 32) Source(39, 11) + SourceIndex(0)
--3 >Emitted(14, 36) Source(39, 15) + SourceIndex(0)
--4 >Emitted(14, 37) Source(39, 16) + SourceIndex(0)
-+1->Emitted(12, 25) Source(39, 4) + SourceIndex(0)
-+2 >Emitted(12, 32) Source(39, 11) + SourceIndex(0)
-+3 >Emitted(12, 36) Source(39, 15) + SourceIndex(0)
-+4 >Emitted(12, 37) Source(39, 16) + SourceIndex(0)
- ---
- >>> }
+@@= skipped -62, +68 lines =@@
1 >^^^^^^^^^^^^^^^^^^^^
2 > ^
1 >
- >
-2 > }
-1 >Emitted(15, 21) Source(40, 3) + SourceIndex(0)
--2 >Emitted(15, 22) Source(40, 4) + SourceIndex(0)
+2 >
+ > }
-+1 >Emitted(13, 21) Source(39, 16) + SourceIndex(0)
-+2 >Emitted(13, 22) Source(40, 4) + SourceIndex(0)
++1 >Emitted(15, 21) Source(39, 16) + SourceIndex(0)
+ 2 >Emitted(15, 22) Source(40, 4) + SourceIndex(0)
---
>>> }
- 1 >^^^^^^^^^^^^^^^^^
- 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
- 1 >
- > }
--1 >Emitted(16, 18) Source(41, 3) + SourceIndex(0)
-+1 >Emitted(14, 18) Source(41, 3) + SourceIndex(0)
+@@= skipped -14, +14 lines =@@
---
>>> Find.StartFindAction = StartFindAction;
1->^^^^^^^^^^^^^^^^
@@ -499,21 +425,20 @@
>
> public getId() { return "yo"; }
>
-@@= skipped -244, +331 lines =@@
+@@= skipped -15, +17 lines =@@
> return true;
> }
> }
-4 >
--1->Emitted(17, 17) Source(33, 15) + SourceIndex(0)
++5 >
+ 1->Emitted(17, 17) Source(33, 15) + SourceIndex(0)
-2 >Emitted(17, 37) Source(33, 30) + SourceIndex(0)
-3 >Emitted(17, 55) Source(41, 3) + SourceIndex(0)
-4 >Emitted(17, 56) Source(41, 3) + SourceIndex(0)
-+5 >
-+1->Emitted(15, 17) Source(33, 15) + SourceIndex(0)
-+2 >Emitted(15, 22) Source(33, 15) + SourceIndex(0)
-+3 >Emitted(15, 37) Source(33, 30) + SourceIndex(0)
-+4 >Emitted(15, 55) Source(41, 3) + SourceIndex(0)
-+5 >Emitted(15, 56) Source(41, 3) + SourceIndex(0)
++2 >Emitted(17, 22) Source(33, 15) + SourceIndex(0)
++3 >Emitted(17, 37) Source(33, 30) + SourceIndex(0)
++4 >Emitted(17, 55) Source(41, 3) + SourceIndex(0)
++5 >Emitted(17, 56) Source(41, 3) + SourceIndex(0)
---
>>> })(Find = Thing_1.Find || (Thing_1.Find = {}));
1->^^^^^^^^^^^^
@@ -557,25 +482,21 @@
> }
> }
-1->Emitted(18, 13) Source(42, 1) + SourceIndex(0)
--2 >Emitted(18, 14) Source(42, 2) + SourceIndex(0)
--3 >Emitted(18, 16) Source(32, 29) + SourceIndex(0)
--4 >Emitted(18, 20) Source(32, 33) + SourceIndex(0)
--5 >Emitted(18, 23) Source(32, 29) + SourceIndex(0)
++1->Emitted(18, 13) Source(41, 3) + SourceIndex(0)
+ 2 >Emitted(18, 14) Source(42, 2) + SourceIndex(0)
+ 3 >Emitted(18, 16) Source(32, 29) + SourceIndex(0)
+ 4 >Emitted(18, 20) Source(32, 33) + SourceIndex(0)
+ 5 >Emitted(18, 23) Source(32, 29) + SourceIndex(0)
-6 >Emitted(18, 35) Source(32, 33) + SourceIndex(0)
-7 >Emitted(18, 40) Source(32, 29) + SourceIndex(0)
-8 >Emitted(18, 52) Source(32, 33) + SourceIndex(0)
-9 >Emitted(18, 60) Source(42, 2) + SourceIndex(0)
-+1->Emitted(16, 13) Source(41, 3) + SourceIndex(0)
-+2 >Emitted(16, 14) Source(42, 2) + SourceIndex(0)
-+3 >Emitted(16, 16) Source(32, 29) + SourceIndex(0)
-+4 >Emitted(16, 20) Source(32, 33) + SourceIndex(0)
-+5 >Emitted(16, 23) Source(32, 29) + SourceIndex(0)
-+6 >Emitted(16, 31) Source(32, 29) + SourceIndex(0)
-+7 >Emitted(16, 35) Source(32, 33) + SourceIndex(0)
-+8 >Emitted(16, 40) Source(32, 29) + SourceIndex(0)
-+9 >Emitted(16, 48) Source(32, 29) + SourceIndex(0)
-+10>Emitted(16, 52) Source(32, 33) + SourceIndex(0)
-+11>Emitted(16, 60) Source(42, 2) + SourceIndex(0)
++6 >Emitted(18, 31) Source(32, 29) + SourceIndex(0)
++7 >Emitted(18, 35) Source(32, 33) + SourceIndex(0)
++8 >Emitted(18, 40) Source(32, 29) + SourceIndex(0)
++9 >Emitted(18, 48) Source(32, 29) + SourceIndex(0)
++10>Emitted(18, 52) Source(32, 33) + SourceIndex(0)
++11>Emitted(18, 60) Source(42, 2) + SourceIndex(0)
---
>>> })(Thing = Actions.Thing || (Actions.Thing = {}));
1 >^^^^^^^^
@@ -666,18 +587,18 @@
-7 >Emitted(19, 38) Source(32, 23) + SourceIndex(0)
-8 >Emitted(19, 51) Source(32, 28) + SourceIndex(0)
-9 >Emitted(19, 59) Source(42, 2) + SourceIndex(0)
-+1 >Emitted(17, 9) Source(41, 3) + SourceIndex(0)
-+2 >Emitted(17, 10) Source(42, 1) + SourceIndex(0)
-+3 >Emitted(17, 10) Source(1, 1) + SourceIndex(0)
-+4 >Emitted(17, 12) Source(32, 23) + SourceIndex(0)
-+5 >Emitted(17, 17) Source(32, 28) + SourceIndex(0)
-+6 >Emitted(17, 20) Source(32, 23) + SourceIndex(0)
-+7 >Emitted(17, 28) Source(32, 23) + SourceIndex(0)
-+8 >Emitted(17, 33) Source(32, 28) + SourceIndex(0)
-+9 >Emitted(17, 38) Source(32, 23) + SourceIndex(0)
-+10>Emitted(17, 46) Source(32, 23) + SourceIndex(0)
-+11>Emitted(17, 51) Source(32, 28) + SourceIndex(0)
-+12>Emitted(17, 59) Source(42, 2) + SourceIndex(0)
++1 >Emitted(19, 9) Source(41, 3) + SourceIndex(0)
++2 >Emitted(19, 10) Source(42, 1) + SourceIndex(0)
++3 >Emitted(19, 10) Source(1, 1) + SourceIndex(0)
++4 >Emitted(19, 12) Source(32, 23) + SourceIndex(0)
++5 >Emitted(19, 17) Source(32, 28) + SourceIndex(0)
++6 >Emitted(19, 20) Source(32, 23) + SourceIndex(0)
++7 >Emitted(19, 28) Source(32, 23) + SourceIndex(0)
++8 >Emitted(19, 33) Source(32, 28) + SourceIndex(0)
++9 >Emitted(19, 38) Source(32, 23) + SourceIndex(0)
++10>Emitted(19, 46) Source(32, 23) + SourceIndex(0)
++11>Emitted(19, 51) Source(32, 28) + SourceIndex(0)
++12>Emitted(19, 59) Source(42, 2) + SourceIndex(0)
---
>>> })(Actions = Sample.Actions || (Sample.Actions = {}));
1->^^^^
@@ -766,18 +687,18 @@
-7 >Emitted(20, 37) Source(32, 15) + SourceIndex(0)
-8 >Emitted(20, 51) Source(32, 22) + SourceIndex(0)
-9 >Emitted(20, 59) Source(42, 2) + SourceIndex(0)
-+1->Emitted(18, 5) Source(41, 3) + SourceIndex(0)
-+2 >Emitted(18, 6) Source(42, 1) + SourceIndex(0)
-+3 >Emitted(18, 6) Source(1, 1) + SourceIndex(0)
-+4 >Emitted(18, 8) Source(32, 15) + SourceIndex(0)
-+5 >Emitted(18, 15) Source(32, 22) + SourceIndex(0)
-+6 >Emitted(18, 18) Source(32, 15) + SourceIndex(0)
-+7 >Emitted(18, 25) Source(32, 15) + SourceIndex(0)
-+8 >Emitted(18, 32) Source(32, 22) + SourceIndex(0)
-+9 >Emitted(18, 37) Source(32, 15) + SourceIndex(0)
-+10>Emitted(18, 44) Source(32, 15) + SourceIndex(0)
-+11>Emitted(18, 51) Source(32, 22) + SourceIndex(0)
-+12>Emitted(18, 59) Source(42, 2) + SourceIndex(0)
++1->Emitted(20, 5) Source(41, 3) + SourceIndex(0)
++2 >Emitted(20, 6) Source(42, 1) + SourceIndex(0)
++3 >Emitted(20, 6) Source(1, 1) + SourceIndex(0)
++4 >Emitted(20, 8) Source(32, 15) + SourceIndex(0)
++5 >Emitted(20, 15) Source(32, 22) + SourceIndex(0)
++6 >Emitted(20, 18) Source(32, 15) + SourceIndex(0)
++7 >Emitted(20, 25) Source(32, 15) + SourceIndex(0)
++8 >Emitted(20, 32) Source(32, 22) + SourceIndex(0)
++9 >Emitted(20, 37) Source(32, 15) + SourceIndex(0)
++10>Emitted(20, 44) Source(32, 15) + SourceIndex(0)
++11>Emitted(20, 51) Source(32, 22) + SourceIndex(0)
++12>Emitted(20, 59) Source(42, 2) + SourceIndex(0)
---
>>>})(Sample || (Sample = {}));
1 >
@@ -852,14 +773,14 @@
-5 >Emitted(21, 15) Source(32, 8) + SourceIndex(0)
-6 >Emitted(21, 21) Source(32, 14) + SourceIndex(0)
-7 >Emitted(21, 29) Source(42, 2) + SourceIndex(0)
-+1 >Emitted(19, 1) Source(41, 3) + SourceIndex(0)
-+2 >Emitted(19, 2) Source(42, 1) + SourceIndex(0)
-+3 >Emitted(19, 2) Source(1, 1) + SourceIndex(0)
-+4 >Emitted(19, 4) Source(32, 8) + SourceIndex(0)
-+5 >Emitted(19, 10) Source(32, 14) + SourceIndex(0)
-+6 >Emitted(19, 15) Source(32, 8) + SourceIndex(0)
-+7 >Emitted(19, 21) Source(32, 14) + SourceIndex(0)
-+8 >Emitted(19, 29) Source(42, 2) + SourceIndex(0)
++1 >Emitted(21, 1) Source(41, 3) + SourceIndex(0)
++2 >Emitted(21, 2) Source(42, 1) + SourceIndex(0)
++3 >Emitted(21, 2) Source(1, 1) + SourceIndex(0)
++4 >Emitted(21, 4) Source(32, 8) + SourceIndex(0)
++5 >Emitted(21, 10) Source(32, 14) + SourceIndex(0)
++6 >Emitted(21, 15) Source(32, 8) + SourceIndex(0)
++7 >Emitted(21, 21) Source(32, 14) + SourceIndex(0)
++8 >Emitted(21, 29) Source(42, 2) + SourceIndex(0)
---
>>>(function (Sample) {
1 >
@@ -871,14 +792,11 @@
>
2 >module
3 > Sample
--1 >Emitted(22, 1) Source(44, 1) + SourceIndex(0)
--2 >Emitted(22, 12) Source(44, 8) + SourceIndex(0)
--3 >Emitted(22, 18) Source(44, 14) + SourceIndex(0)
+4 >
-+1 >Emitted(20, 1) Source(44, 1) + SourceIndex(0)
-+2 >Emitted(20, 12) Source(44, 8) + SourceIndex(0)
-+3 >Emitted(20, 18) Source(44, 14) + SourceIndex(0)
-+4 >Emitted(20, 20) Source(6, 1) + SourceIndex(0)
+ 1 >Emitted(22, 1) Source(44, 1) + SourceIndex(0)
+ 2 >Emitted(22, 12) Source(44, 8) + SourceIndex(0)
+ 3 >Emitted(22, 18) Source(44, 14) + SourceIndex(0)
++4 >Emitted(22, 20) Source(6, 1) + SourceIndex(0)
---
->>> var Thing;
+>>> let Thing;
@@ -951,10 +869,6 @@
- >
- > }
- > }
--1 >Emitted(23, 5) Source(44, 15) + SourceIndex(0)
--2 >Emitted(23, 9) Source(44, 15) + SourceIndex(0)
--3 >Emitted(23, 14) Source(44, 20) + SourceIndex(0)
--4 >Emitted(23, 15) Source(64, 2) + SourceIndex(0)
+3 > Thing.Widgets {
+ > export class FindWidget implements Sample.Thing.IWidget {
+ >
@@ -976,9 +890,11 @@
+ >
+ > }
+ > }
-+1 >Emitted(21, 5) Source(44, 15) + SourceIndex(0)
-+2 >Emitted(21, 9) Source(44, 15) + SourceIndex(0)
-+3 >Emitted(21, 14) Source(64, 2) + SourceIndex(0)
+ 1 >Emitted(23, 5) Source(44, 15) + SourceIndex(0)
+ 2 >Emitted(23, 9) Source(44, 15) + SourceIndex(0)
+-3 >Emitted(23, 14) Source(44, 20) + SourceIndex(0)
+-4 >Emitted(23, 15) Source(64, 2) + SourceIndex(0)
++3 >Emitted(23, 14) Source(64, 2) + SourceIndex(0)
---
>>> (function (Thing) {
1->^^^^
@@ -989,14 +905,11 @@
1->
2 >
3 > Thing
--1->Emitted(24, 5) Source(44, 15) + SourceIndex(0)
--2 >Emitted(24, 16) Source(44, 15) + SourceIndex(0)
--3 >Emitted(24, 21) Source(44, 20) + SourceIndex(0)
+4 >
-+1->Emitted(22, 5) Source(44, 15) + SourceIndex(0)
-+2 >Emitted(22, 16) Source(44, 15) + SourceIndex(0)
-+3 >Emitted(22, 21) Source(44, 20) + SourceIndex(0)
-+4 >Emitted(22, 23) Source(6, 1) + SourceIndex(0)
+ 1->Emitted(24, 5) Source(44, 15) + SourceIndex(0)
+ 2 >Emitted(24, 16) Source(44, 15) + SourceIndex(0)
+ 3 >Emitted(24, 21) Source(44, 20) + SourceIndex(0)
++4 >Emitted(24, 23) Source(6, 1) + SourceIndex(0)
---
->>> var Widgets;
-1->^^^^^^^^
@@ -1071,9 +984,6 @@
- > }
- > }
-1->Emitted(25, 9) Source(44, 21) + SourceIndex(0)
--2 >Emitted(25, 13) Source(44, 21) + SourceIndex(0)
--3 >Emitted(25, 20) Source(44, 28) + SourceIndex(0)
--4 >Emitted(25, 21) Source(64, 2) + SourceIndex(0)
+3 > Widgets {
+ > export class FindWidget implements Sample.Thing.IWidget {
+ >
@@ -1095,9 +1005,11 @@
+ >
+ > }
+ > }
-+1 >Emitted(23, 9) Source(44, 21) + SourceIndex(0)
-+2 >Emitted(23, 13) Source(44, 21) + SourceIndex(0)
-+3 >Emitted(23, 20) Source(64, 2) + SourceIndex(0)
++1 >Emitted(25, 9) Source(44, 21) + SourceIndex(0)
+ 2 >Emitted(25, 13) Source(44, 21) + SourceIndex(0)
+-3 >Emitted(25, 20) Source(44, 28) + SourceIndex(0)
+-4 >Emitted(25, 21) Source(64, 2) + SourceIndex(0)
++3 >Emitted(25, 20) Source(64, 2) + SourceIndex(0)
---
>>> (function (Widgets) {
1->^^^^^^^^
@@ -1109,14 +1021,11 @@
1->
2 >
3 > Widgets
--1->Emitted(26, 9) Source(44, 21) + SourceIndex(0)
--2 >Emitted(26, 20) Source(44, 21) + SourceIndex(0)
--3 >Emitted(26, 27) Source(44, 28) + SourceIndex(0)
+4 >
-+1->Emitted(24, 9) Source(44, 21) + SourceIndex(0)
-+2 >Emitted(24, 20) Source(44, 21) + SourceIndex(0)
-+3 >Emitted(24, 27) Source(44, 28) + SourceIndex(0)
-+4 >Emitted(24, 29) Source(44, 29) + SourceIndex(0)
+ 1->Emitted(26, 9) Source(44, 21) + SourceIndex(0)
+ 2 >Emitted(26, 20) Source(44, 21) + SourceIndex(0)
+ 3 >Emitted(26, 27) Source(44, 28) + SourceIndex(0)
++4 >Emitted(26, 29) Source(44, 29) + SourceIndex(0)
---
>>> class FindWidget {
1->^^^^^^^^^^^^
@@ -1128,13 +1037,10 @@
>
2 > export class
3 > FindWidget
--1->Emitted(27, 13) Source(45, 2) + SourceIndex(0)
--2 >Emitted(27, 19) Source(45, 15) + SourceIndex(0)
--3 >Emitted(27, 29) Source(45, 25) + SourceIndex(0)
-+1->Emitted(25, 13) Source(45, 2) + SourceIndex(0)
-+2 >Emitted(25, 19) Source(45, 15) + SourceIndex(0)
-+3 >Emitted(25, 29) Source(45, 25) + SourceIndex(0)
-+---
+@@= skipped -128, +206 lines =@@
+ 2 >Emitted(27, 19) Source(45, 15) + SourceIndex(0)
+ 3 >Emitted(27, 29) Source(45, 25) + SourceIndex(0)
+ ---
+>>> codeThing;
+1 >^^^^^^^^^^^^^^^^
+2 > ^^^^^^^^^
@@ -1146,9 +1052,9 @@
+ > private domNode:any = null;
+ > constructor(private
+2 > codeThing
-+1 >Emitted(26, 17) Source(50, 23) + SourceIndex(0)
-+2 >Emitted(26, 26) Source(50, 32) + SourceIndex(0)
- ---
++1 >Emitted(28, 17) Source(50, 23) + SourceIndex(0)
++2 >Emitted(28, 26) Source(50, 32) + SourceIndex(0)
++---
>>> gar(runner) { if (true) {
1->^^^^^^^^^^^^^^^^
2 > ^^^
@@ -1192,20 +1098,20 @@
+8 > true
+9 > )
+10> {
-+1->Emitted(27, 17) Source(47, 10) + SourceIndex(0)
-+2 >Emitted(27, 20) Source(47, 13) + SourceIndex(0)
-+3 >Emitted(27, 21) Source(47, 14) + SourceIndex(0)
-+4 >Emitted(27, 27) Source(47, 55) + SourceIndex(0)
-+5 >Emitted(27, 29) Source(47, 57) + SourceIndex(0)
-+6 >Emitted(27, 31) Source(47, 59) + SourceIndex(0)
-+7 >Emitted(27, 35) Source(47, 63) + SourceIndex(0)
-+8 >Emitted(27, 39) Source(47, 67) + SourceIndex(0)
-+9 >Emitted(27, 41) Source(47, 69) + SourceIndex(0)
-+10>Emitted(27, 42) Source(47, 70) + SourceIndex(0)
++1->Emitted(29, 17) Source(47, 10) + SourceIndex(0)
++2 >Emitted(29, 20) Source(47, 13) + SourceIndex(0)
++3 >Emitted(29, 21) Source(47, 14) + SourceIndex(0)
++4 >Emitted(29, 27) Source(47, 55) + SourceIndex(0)
++5 >Emitted(29, 29) Source(47, 57) + SourceIndex(0)
++6 >Emitted(29, 31) Source(47, 59) + SourceIndex(0)
++7 >Emitted(29, 35) Source(47, 63) + SourceIndex(0)
++8 >Emitted(29, 39) Source(47, 67) + SourceIndex(0)
++9 >Emitted(29, 41) Source(47, 69) + SourceIndex(0)
++10>Emitted(29, 42) Source(47, 70) + SourceIndex(0)
---
>>> return runner(this);
1 >^^^^^^^^^^^^^^^^^^^^
-@@= skipped -174, +267 lines =@@
+@@= skipped -46, +61 lines =@@
5 > this
6 > )
7 > ;
@@ -1216,13 +1122,13 @@
-5 >Emitted(29, 39) Source(47, 88) + SourceIndex(0)
-6 >Emitted(29, 40) Source(47, 89) + SourceIndex(0)
-7 >Emitted(29, 41) Source(47, 90) + SourceIndex(0)
-+1 >Emitted(28, 21) Source(47, 70) + SourceIndex(0)
-+2 >Emitted(28, 28) Source(47, 77) + SourceIndex(0)
-+3 >Emitted(28, 34) Source(47, 83) + SourceIndex(0)
-+4 >Emitted(28, 35) Source(47, 84) + SourceIndex(0)
-+5 >Emitted(28, 39) Source(47, 88) + SourceIndex(0)
-+6 >Emitted(28, 40) Source(47, 89) + SourceIndex(0)
-+7 >Emitted(28, 41) Source(47, 90) + SourceIndex(0)
++1 >Emitted(30, 21) Source(47, 70) + SourceIndex(0)
++2 >Emitted(30, 28) Source(47, 77) + SourceIndex(0)
++3 >Emitted(30, 34) Source(47, 83) + SourceIndex(0)
++4 >Emitted(30, 35) Source(47, 84) + SourceIndex(0)
++5 >Emitted(30, 39) Source(47, 88) + SourceIndex(0)
++6 >Emitted(30, 40) Source(47, 89) + SourceIndex(0)
++7 >Emitted(30, 41) Source(47, 90) + SourceIndex(0)
---
>>> } }
1 >^^^^^^^^^^^^^^^^
@@ -1239,10 +1145,10 @@
-2 >Emitted(30, 18) Source(47, 91) + SourceIndex(0)
-3 >Emitted(30, 19) Source(47, 91) + SourceIndex(0)
-4 >Emitted(30, 20) Source(47, 92) + SourceIndex(0)
-+1 >Emitted(29, 17) Source(47, 90) + SourceIndex(0)
-+2 >Emitted(29, 18) Source(47, 91) + SourceIndex(0)
-+3 >Emitted(29, 19) Source(47, 91) + SourceIndex(0)
-+4 >Emitted(29, 20) Source(47, 92) + SourceIndex(0)
++1 >Emitted(31, 17) Source(47, 90) + SourceIndex(0)
++2 >Emitted(31, 18) Source(47, 91) + SourceIndex(0)
++3 >Emitted(31, 19) Source(47, 91) + SourceIndex(0)
++4 >Emitted(31, 20) Source(47, 92) + SourceIndex(0)
+---
+>>> domNode = null;
+1->^^^^^^^^^^^^^^^^
@@ -1258,11 +1164,11 @@
+3 > :any =
+4 > null
+5 > ;
-+1->Emitted(30, 17) Source(49, 11) + SourceIndex(0)
-+2 >Emitted(30, 24) Source(49, 18) + SourceIndex(0)
-+3 >Emitted(30, 27) Source(49, 25) + SourceIndex(0)
-+4 >Emitted(30, 31) Source(49, 29) + SourceIndex(0)
-+5 >Emitted(30, 32) Source(49, 30) + SourceIndex(0)
++1->Emitted(32, 17) Source(49, 11) + SourceIndex(0)
++2 >Emitted(32, 24) Source(49, 18) + SourceIndex(0)
++3 >Emitted(32, 27) Source(49, 25) + SourceIndex(0)
++4 >Emitted(32, 31) Source(49, 29) + SourceIndex(0)
++5 >Emitted(32, 32) Source(49, 30) + SourceIndex(0)
---
>>> constructor(codeThing) {
1->^^^^^^^^^^^^^^^^
@@ -1277,11 +1183,14 @@
>
2 > constructor(private
3 > codeThing: Sample.Thing.ICodeThing
+-1->Emitted(31, 17) Source(50, 3) + SourceIndex(0)
+-2 >Emitted(31, 29) Source(50, 23) + SourceIndex(0)
+-3 >Emitted(31, 38) Source(50, 57) + SourceIndex(0)
+4 > )
- 1->Emitted(31, 17) Source(50, 3) + SourceIndex(0)
- 2 >Emitted(31, 29) Source(50, 23) + SourceIndex(0)
- 3 >Emitted(31, 38) Source(50, 57) + SourceIndex(0)
-+4 >Emitted(31, 40) Source(50, 59) + SourceIndex(0)
++1->Emitted(33, 17) Source(50, 3) + SourceIndex(0)
++2 >Emitted(33, 29) Source(50, 23) + SourceIndex(0)
++3 >Emitted(33, 38) Source(50, 57) + SourceIndex(0)
++4 >Emitted(33, 40) Source(50, 59) + SourceIndex(0)
---
>>> this.codeThing = codeThing;
-1->^^^^^^^^^^^^^^^^^^^^
@@ -1319,8 +1228,8 @@
-4 >Emitted(33, 40) Source(49, 29) + SourceIndex(0)
-5 >Emitted(33, 41) Source(49, 30) + SourceIndex(0)
+2 > codeThing
-+1->Emitted(32, 38) Source(50, 23) + SourceIndex(0)
-+2 >Emitted(32, 47) Source(50, 32) + SourceIndex(0)
++1->Emitted(34, 38) Source(50, 23) + SourceIndex(0)
++2 >Emitted(34, 47) Source(50, 32) + SourceIndex(0)
---
>>> // scenario 1
1 >^^^^^^^^^^^^^^^^^^^^
@@ -1333,8 +1242,8 @@
2 > // scenario 1
-1 >Emitted(34, 21) Source(51, 7) + SourceIndex(0)
-2 >Emitted(34, 34) Source(51, 20) + SourceIndex(0)
-+1 >Emitted(33, 21) Source(51, 7) + SourceIndex(0)
-+2 >Emitted(33, 34) Source(51, 20) + SourceIndex(0)
++1 >Emitted(35, 21) Source(51, 7) + SourceIndex(0)
++2 >Emitted(35, 34) Source(51, 20) + SourceIndex(0)
---
>>> codeThing.addWidget("addWidget", this);
1->^^^^^^^^^^^^^^^^^^^^
@@ -1352,16 +1261,16 @@
-8 >Emitted(35, 58) Source(52, 44) + SourceIndex(0)
-9 >Emitted(35, 59) Source(52, 45) + SourceIndex(0)
-10>Emitted(35, 60) Source(52, 46) + SourceIndex(0)
-+1->Emitted(34, 21) Source(52, 7) + SourceIndex(0)
-+2 >Emitted(34, 30) Source(52, 16) + SourceIndex(0)
-+3 >Emitted(34, 31) Source(52, 17) + SourceIndex(0)
-+4 >Emitted(34, 40) Source(52, 26) + SourceIndex(0)
-+5 >Emitted(34, 41) Source(52, 27) + SourceIndex(0)
-+6 >Emitted(34, 52) Source(52, 38) + SourceIndex(0)
-+7 >Emitted(34, 54) Source(52, 40) + SourceIndex(0)
-+8 >Emitted(34, 58) Source(52, 44) + SourceIndex(0)
-+9 >Emitted(34, 59) Source(52, 45) + SourceIndex(0)
-+10>Emitted(34, 60) Source(52, 46) + SourceIndex(0)
++1->Emitted(36, 21) Source(52, 7) + SourceIndex(0)
++2 >Emitted(36, 30) Source(52, 16) + SourceIndex(0)
++3 >Emitted(36, 31) Source(52, 17) + SourceIndex(0)
++4 >Emitted(36, 40) Source(52, 26) + SourceIndex(0)
++5 >Emitted(36, 41) Source(52, 27) + SourceIndex(0)
++6 >Emitted(36, 52) Source(52, 38) + SourceIndex(0)
++7 >Emitted(36, 54) Source(52, 40) + SourceIndex(0)
++8 >Emitted(36, 58) Source(52, 44) + SourceIndex(0)
++9 >Emitted(36, 59) Source(52, 45) + SourceIndex(0)
++10>Emitted(36, 60) Source(52, 46) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^
@@ -1374,8 +1283,8 @@
-2 >Emitted(36, 18) Source(53, 4) + SourceIndex(0)
+2 >
+ > }
-+1 >Emitted(35, 17) Source(52, 46) + SourceIndex(0)
-+2 >Emitted(35, 18) Source(53, 4) + SourceIndex(0)
++1 >Emitted(37, 17) Source(52, 46) + SourceIndex(0)
++2 >Emitted(37, 18) Source(53, 4) + SourceIndex(0)
---
>>> getDomNode() {
1->^^^^^^^^^^^^^^^^
@@ -1390,9 +1299,9 @@
-1->Emitted(37, 17) Source(55, 10) + SourceIndex(0)
-2 >Emitted(37, 27) Source(55, 20) + SourceIndex(0)
+3 > ()
-+1->Emitted(36, 17) Source(55, 10) + SourceIndex(0)
-+2 >Emitted(36, 27) Source(55, 20) + SourceIndex(0)
-+3 >Emitted(36, 30) Source(55, 23) + SourceIndex(0)
++1->Emitted(38, 17) Source(55, 10) + SourceIndex(0)
++2 >Emitted(38, 27) Source(55, 20) + SourceIndex(0)
++3 >Emitted(38, 30) Source(55, 23) + SourceIndex(0)
---
>>> return domNode;
1->^^^^^^^^^^^^^^^^^^^^
@@ -1409,10 +1318,10 @@
-2 >Emitted(38, 28) Source(56, 11) + SourceIndex(0)
-3 >Emitted(38, 35) Source(56, 18) + SourceIndex(0)
-4 >Emitted(38, 36) Source(56, 19) + SourceIndex(0)
-+1->Emitted(37, 21) Source(56, 4) + SourceIndex(0)
-+2 >Emitted(37, 28) Source(56, 11) + SourceIndex(0)
-+3 >Emitted(37, 35) Source(56, 18) + SourceIndex(0)
-+4 >Emitted(37, 36) Source(56, 19) + SourceIndex(0)
++1->Emitted(39, 21) Source(56, 4) + SourceIndex(0)
++2 >Emitted(39, 28) Source(56, 11) + SourceIndex(0)
++3 >Emitted(39, 35) Source(56, 18) + SourceIndex(0)
++4 >Emitted(39, 36) Source(56, 19) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^
@@ -1425,8 +1334,8 @@
-2 >Emitted(39, 18) Source(57, 4) + SourceIndex(0)
+2 >
+ > }
-+1 >Emitted(38, 17) Source(56, 19) + SourceIndex(0)
-+2 >Emitted(38, 18) Source(57, 4) + SourceIndex(0)
++1 >Emitted(40, 17) Source(56, 19) + SourceIndex(0)
++2 >Emitted(40, 18) Source(57, 4) + SourceIndex(0)
---
>>> destroy() {
1->^^^^^^^^^^^^^^^^
@@ -1439,9 +1348,9 @@
-1->Emitted(40, 17) Source(59, 10) + SourceIndex(0)
-2 >Emitted(40, 24) Source(59, 17) + SourceIndex(0)
+3 > ()
-+1->Emitted(39, 17) Source(59, 10) + SourceIndex(0)
-+2 >Emitted(39, 24) Source(59, 17) + SourceIndex(0)
-+3 >Emitted(39, 27) Source(59, 20) + SourceIndex(0)
++1->Emitted(41, 17) Source(59, 10) + SourceIndex(0)
++2 >Emitted(41, 24) Source(59, 17) + SourceIndex(0)
++3 >Emitted(41, 27) Source(59, 20) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^
@@ -1456,8 +1365,8 @@
+2 >
+ >
+ > }
-+1 >Emitted(40, 17) Source(59, 21) + SourceIndex(0)
-+2 >Emitted(40, 18) Source(61, 4) + SourceIndex(0)
++1 >Emitted(42, 17) Source(59, 21) + SourceIndex(0)
++2 >Emitted(42, 18) Source(61, 4) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^
@@ -1466,7 +1375,7 @@
>
> }
-1 >Emitted(42, 14) Source(63, 3) + SourceIndex(0)
-+1 >Emitted(41, 14) Source(63, 3) + SourceIndex(0)
++1 >Emitted(43, 14) Source(63, 3) + SourceIndex(0)
---
>>> Widgets.FindWidget = FindWidget;
1->^^^^^^^^^^^^
@@ -1498,11 +1407,11 @@
-3 >Emitted(43, 44) Source(63, 3) + SourceIndex(0)
-4 >Emitted(43, 45) Source(63, 3) + SourceIndex(0)
+5 >
-+1->Emitted(42, 13) Source(45, 15) + SourceIndex(0)
-+2 >Emitted(42, 21) Source(45, 15) + SourceIndex(0)
-+3 >Emitted(42, 31) Source(45, 25) + SourceIndex(0)
-+4 >Emitted(42, 44) Source(63, 3) + SourceIndex(0)
-+5 >Emitted(42, 45) Source(63, 3) + SourceIndex(0)
++1->Emitted(44, 13) Source(45, 15) + SourceIndex(0)
++2 >Emitted(44, 21) Source(45, 15) + SourceIndex(0)
++3 >Emitted(44, 31) Source(45, 25) + SourceIndex(0)
++4 >Emitted(44, 44) Source(63, 3) + SourceIndex(0)
++5 >Emitted(44, 45) Source(63, 3) + SourceIndex(0)
---
>>> })(Widgets = Thing.Widgets || (Thing.Widgets = {}));
1->^^^^^^^^
@@ -1554,17 +1463,17 @@
-7 >Emitted(44, 40) Source(44, 21) + SourceIndex(0)
-8 >Emitted(44, 53) Source(44, 28) + SourceIndex(0)
-9 >Emitted(44, 61) Source(64, 2) + SourceIndex(0)
-+1->Emitted(43, 9) Source(63, 3) + SourceIndex(0)
-+2 >Emitted(43, 10) Source(64, 2) + SourceIndex(0)
-+3 >Emitted(43, 12) Source(44, 21) + SourceIndex(0)
-+4 >Emitted(43, 19) Source(44, 28) + SourceIndex(0)
-+5 >Emitted(43, 22) Source(44, 21) + SourceIndex(0)
-+6 >Emitted(43, 28) Source(44, 21) + SourceIndex(0)
-+7 >Emitted(43, 35) Source(44, 28) + SourceIndex(0)
-+8 >Emitted(43, 40) Source(44, 21) + SourceIndex(0)
-+9 >Emitted(43, 46) Source(44, 21) + SourceIndex(0)
-+10>Emitted(43, 53) Source(44, 28) + SourceIndex(0)
-+11>Emitted(43, 61) Source(64, 2) + SourceIndex(0)
++1->Emitted(45, 9) Source(63, 3) + SourceIndex(0)
++2 >Emitted(45, 10) Source(64, 2) + SourceIndex(0)
++3 >Emitted(45, 12) Source(44, 21) + SourceIndex(0)
++4 >Emitted(45, 19) Source(44, 28) + SourceIndex(0)
++5 >Emitted(45, 22) Source(44, 21) + SourceIndex(0)
++6 >Emitted(45, 28) Source(44, 21) + SourceIndex(0)
++7 >Emitted(45, 35) Source(44, 28) + SourceIndex(0)
++8 >Emitted(45, 40) Source(44, 21) + SourceIndex(0)
++9 >Emitted(45, 46) Source(44, 21) + SourceIndex(0)
++10>Emitted(45, 53) Source(44, 28) + SourceIndex(0)
++11>Emitted(45, 61) Source(64, 2) + SourceIndex(0)
---
>>> })(Thing = Sample.Thing || (Sample.Thing = {}));
1 >^^^^
@@ -1665,18 +1574,18 @@
-7 >Emitted(45, 33) Source(44, 15) + SourceIndex(0)
-8 >Emitted(45, 45) Source(44, 20) + SourceIndex(0)
-9 >Emitted(45, 53) Source(64, 2) + SourceIndex(0)
-+1 >Emitted(44, 5) Source(63, 3) + SourceIndex(0)
-+2 >Emitted(44, 6) Source(64, 1) + SourceIndex(0)
-+3 >Emitted(44, 6) Source(1, 1) + SourceIndex(0)
-+4 >Emitted(44, 8) Source(44, 15) + SourceIndex(0)
-+5 >Emitted(44, 13) Source(44, 20) + SourceIndex(0)
-+6 >Emitted(44, 16) Source(44, 15) + SourceIndex(0)
-+7 >Emitted(44, 23) Source(44, 15) + SourceIndex(0)
-+8 >Emitted(44, 28) Source(44, 20) + SourceIndex(0)
-+9 >Emitted(44, 33) Source(44, 15) + SourceIndex(0)
-+10>Emitted(44, 40) Source(44, 15) + SourceIndex(0)
-+11>Emitted(44, 45) Source(44, 20) + SourceIndex(0)
-+12>Emitted(44, 53) Source(64, 2) + SourceIndex(0)
++1 >Emitted(46, 5) Source(63, 3) + SourceIndex(0)
++2 >Emitted(46, 6) Source(64, 1) + SourceIndex(0)
++3 >Emitted(46, 6) Source(1, 1) + SourceIndex(0)
++4 >Emitted(46, 8) Source(44, 15) + SourceIndex(0)
++5 >Emitted(46, 13) Source(44, 20) + SourceIndex(0)
++6 >Emitted(46, 16) Source(44, 15) + SourceIndex(0)
++7 >Emitted(46, 23) Source(44, 15) + SourceIndex(0)
++8 >Emitted(46, 28) Source(44, 20) + SourceIndex(0)
++9 >Emitted(46, 33) Source(44, 15) + SourceIndex(0)
++10>Emitted(46, 40) Source(44, 15) + SourceIndex(0)
++11>Emitted(46, 45) Source(44, 20) + SourceIndex(0)
++12>Emitted(46, 53) Source(64, 2) + SourceIndex(0)
---
>>>})(Sample || (Sample = {}));
1 >
@@ -1763,14 +1672,14 @@
-5 >Emitted(46, 15) Source(44, 8) + SourceIndex(0)
-6 >Emitted(46, 21) Source(44, 14) + SourceIndex(0)
-7 >Emitted(46, 29) Source(64, 2) + SourceIndex(0)
-+1 >Emitted(45, 1) Source(63, 3) + SourceIndex(0)
-+2 >Emitted(45, 2) Source(64, 1) + SourceIndex(0)
-+3 >Emitted(45, 2) Source(1, 1) + SourceIndex(0)
-+4 >Emitted(45, 4) Source(44, 8) + SourceIndex(0)
-+5 >Emitted(45, 10) Source(44, 14) + SourceIndex(0)
-+6 >Emitted(45, 15) Source(44, 8) + SourceIndex(0)
-+7 >Emitted(45, 21) Source(44, 14) + SourceIndex(0)
-+8 >Emitted(45, 29) Source(64, 2) + SourceIndex(0)
++1 >Emitted(47, 1) Source(63, 3) + SourceIndex(0)
++2 >Emitted(47, 2) Source(64, 1) + SourceIndex(0)
++3 >Emitted(47, 2) Source(1, 1) + SourceIndex(0)
++4 >Emitted(47, 4) Source(44, 8) + SourceIndex(0)
++5 >Emitted(47, 10) Source(44, 14) + SourceIndex(0)
++6 >Emitted(47, 15) Source(44, 8) + SourceIndex(0)
++7 >Emitted(47, 21) Source(44, 14) + SourceIndex(0)
++8 >Emitted(47, 29) Source(64, 2) + SourceIndex(0)
---
>>>class AbstractMode {
1 >
@@ -1781,9 +1690,9 @@
-1 >Emitted(47, 1) Source(67, 1) + SourceIndex(0)
-2 >Emitted(47, 7) Source(67, 7) + SourceIndex(0)
-3 >Emitted(47, 19) Source(67, 19) + SourceIndex(0)
-+1 >Emitted(46, 1) Source(67, 1) + SourceIndex(0)
-+2 >Emitted(46, 7) Source(67, 7) + SourceIndex(0)
-+3 >Emitted(46, 19) Source(67, 19) + SourceIndex(0)
++1 >Emitted(48, 1) Source(67, 1) + SourceIndex(0)
++2 >Emitted(48, 7) Source(67, 7) + SourceIndex(0)
++3 >Emitted(48, 19) Source(67, 19) + SourceIndex(0)
---
>>> getInitialState() { return null; }
1->^^^^
@@ -1824,22 +1733,22 @@
+7 > ;
+8 >
+9 > }
-+1->Emitted(47, 5) Source(67, 46) + SourceIndex(0)
-+2 >Emitted(47, 20) Source(67, 61) + SourceIndex(0)
-+3 >Emitted(47, 23) Source(67, 72) + SourceIndex(0)
-+4 >Emitted(47, 25) Source(67, 74) + SourceIndex(0)
-+5 >Emitted(47, 32) Source(67, 81) + SourceIndex(0)
-+6 >Emitted(47, 36) Source(67, 85) + SourceIndex(0)
-+7 >Emitted(47, 37) Source(67, 86) + SourceIndex(0)
-+8 >Emitted(47, 38) Source(67, 86) + SourceIndex(0)
-+9 >Emitted(47, 39) Source(67, 87) + SourceIndex(0)
++1->Emitted(49, 5) Source(67, 46) + SourceIndex(0)
++2 >Emitted(49, 20) Source(67, 61) + SourceIndex(0)
++3 >Emitted(49, 23) Source(67, 72) + SourceIndex(0)
++4 >Emitted(49, 25) Source(67, 74) + SourceIndex(0)
++5 >Emitted(49, 32) Source(67, 81) + SourceIndex(0)
++6 >Emitted(49, 36) Source(67, 85) + SourceIndex(0)
++7 >Emitted(49, 37) Source(67, 86) + SourceIndex(0)
++8 >Emitted(49, 38) Source(67, 86) + SourceIndex(0)
++9 >Emitted(49, 39) Source(67, 87) + SourceIndex(0)
---
>>>}
1 >^
2 > ^^^^^^^^^^^^^^^^^^^^->
1 > }
-1 >Emitted(49, 2) Source(67, 89) + SourceIndex(0)
-+1 >Emitted(48, 2) Source(67, 89) + SourceIndex(0)
++1 >Emitted(50, 2) Source(67, 89) + SourceIndex(0)
---
>>>(function (Sample) {
1->
@@ -1857,10 +1766,10 @@
-2 >Emitted(50, 12) Source(76, 8) + SourceIndex(0)
-3 >Emitted(50, 18) Source(76, 14) + SourceIndex(0)
+4 >
-+1->Emitted(49, 1) Source(76, 1) + SourceIndex(0)
-+2 >Emitted(49, 12) Source(76, 8) + SourceIndex(0)
-+3 >Emitted(49, 18) Source(76, 14) + SourceIndex(0)
-+4 >Emitted(49, 20) Source(6, 1) + SourceIndex(0)
++1->Emitted(51, 1) Source(76, 1) + SourceIndex(0)
++2 >Emitted(51, 12) Source(76, 8) + SourceIndex(0)
++3 >Emitted(51, 18) Source(76, 14) + SourceIndex(0)
++4 >Emitted(51, 20) Source(6, 1) + SourceIndex(0)
---
->>> var Thing;
+>>> let Thing;
@@ -1998,9 +1907,9 @@
+ >
+ > }
+ > }
-+1 >Emitted(50, 5) Source(76, 15) + SourceIndex(0)
-+2 >Emitted(50, 9) Source(76, 15) + SourceIndex(0)
-+3 >Emitted(50, 14) Source(100, 2) + SourceIndex(0)
++1 >Emitted(52, 5) Source(76, 15) + SourceIndex(0)
++2 >Emitted(52, 9) Source(76, 15) + SourceIndex(0)
++3 >Emitted(52, 14) Source(100, 2) + SourceIndex(0)
---
>>> (function (Thing) {
1->^^^^
@@ -2016,10 +1925,10 @@
-2 >Emitted(52, 16) Source(76, 15) + SourceIndex(0)
-3 >Emitted(52, 21) Source(76, 20) + SourceIndex(0)
+4 >
-+1->Emitted(51, 5) Source(76, 15) + SourceIndex(0)
-+2 >Emitted(51, 16) Source(76, 15) + SourceIndex(0)
-+3 >Emitted(51, 21) Source(76, 20) + SourceIndex(0)
-+4 >Emitted(51, 23) Source(6, 1) + SourceIndex(0)
++1->Emitted(53, 5) Source(76, 15) + SourceIndex(0)
++2 >Emitted(53, 16) Source(76, 15) + SourceIndex(0)
++3 >Emitted(53, 21) Source(76, 20) + SourceIndex(0)
++4 >Emitted(53, 23) Source(6, 1) + SourceIndex(0)
---
->>> var Languages;
+>>> let Languages;
@@ -2157,9 +2066,9 @@
+ >
+ > }
+ > }
-+1->Emitted(52, 9) Source(76, 21) + SourceIndex(0)
-+2 >Emitted(52, 13) Source(76, 21) + SourceIndex(0)
-+3 >Emitted(52, 22) Source(100, 2) + SourceIndex(0)
++1->Emitted(54, 9) Source(76, 21) + SourceIndex(0)
++2 >Emitted(54, 13) Source(76, 21) + SourceIndex(0)
++3 >Emitted(54, 22) Source(100, 2) + SourceIndex(0)
---
>>> (function (Languages) {
1->^^^^^^^^
@@ -2173,10 +2082,10 @@
-2 >Emitted(54, 20) Source(76, 21) + SourceIndex(0)
-3 >Emitted(54, 29) Source(76, 30) + SourceIndex(0)
+4 >
-+1->Emitted(53, 9) Source(76, 21) + SourceIndex(0)
-+2 >Emitted(53, 20) Source(76, 21) + SourceIndex(0)
-+3 >Emitted(53, 29) Source(76, 30) + SourceIndex(0)
-+4 >Emitted(53, 31) Source(6, 1) + SourceIndex(0)
++1->Emitted(55, 9) Source(76, 21) + SourceIndex(0)
++2 >Emitted(55, 20) Source(76, 21) + SourceIndex(0)
++3 >Emitted(55, 29) Source(76, 30) + SourceIndex(0)
++4 >Emitted(55, 31) Source(6, 1) + SourceIndex(0)
---
->>> var PlainText;
+>>> let PlainText;
@@ -2314,9 +2223,9 @@
+ >
+ > }
+ > }
-+1 >Emitted(54, 13) Source(76, 31) + SourceIndex(0)
-+2 >Emitted(54, 17) Source(76, 31) + SourceIndex(0)
-+3 >Emitted(54, 26) Source(100, 2) + SourceIndex(0)
++1 >Emitted(56, 13) Source(76, 31) + SourceIndex(0)
++2 >Emitted(56, 17) Source(76, 31) + SourceIndex(0)
++3 >Emitted(56, 26) Source(100, 2) + SourceIndex(0)
---
>>> (function (PlainText) {
1->^^^^^^^^^^^^
@@ -2330,10 +2239,10 @@
-2 >Emitted(56, 24) Source(76, 31) + SourceIndex(0)
-3 >Emitted(56, 33) Source(76, 40) + SourceIndex(0)
+4 >
-+1->Emitted(55, 13) Source(76, 31) + SourceIndex(0)
-+2 >Emitted(55, 24) Source(76, 31) + SourceIndex(0)
-+3 >Emitted(55, 33) Source(76, 40) + SourceIndex(0)
-+4 >Emitted(55, 35) Source(76, 41) + SourceIndex(0)
++1->Emitted(57, 13) Source(76, 31) + SourceIndex(0)
++2 >Emitted(57, 24) Source(76, 31) + SourceIndex(0)
++3 >Emitted(57, 33) Source(76, 40) + SourceIndex(0)
++4 >Emitted(57, 35) Source(76, 41) + SourceIndex(0)
---
>>> class State {
1 >^^^^^^^^^^^^^^^^
@@ -2349,9 +2258,9 @@
-1 >Emitted(57, 17) Source(78, 2) + SourceIndex(0)
-2 >Emitted(57, 23) Source(78, 15) + SourceIndex(0)
-3 >Emitted(57, 28) Source(78, 20) + SourceIndex(0)
-+1 >Emitted(56, 17) Source(78, 2) + SourceIndex(0)
-+2 >Emitted(56, 23) Source(78, 15) + SourceIndex(0)
-+3 >Emitted(56, 28) Source(78, 20) + SourceIndex(0)
++1 >Emitted(58, 17) Source(78, 2) + SourceIndex(0)
++2 >Emitted(58, 23) Source(78, 15) + SourceIndex(0)
++3 >Emitted(58, 28) Source(78, 20) + SourceIndex(0)
+---
+>>> mode;
+1 >^^^^^^^^^^^^^^^^^^^^
@@ -2360,8 +2269,8 @@
+1 > implements IState {
+ > constructor(private
+2 > mode
-+1 >Emitted(57, 21) Source(79, 29) + SourceIndex(0)
-+2 >Emitted(57, 25) Source(79, 33) + SourceIndex(0)
++1 >Emitted(59, 21) Source(79, 29) + SourceIndex(0)
++2 >Emitted(59, 25) Source(79, 33) + SourceIndex(0)
---
>>> constructor(mode) {
1->^^^^^^^^^^^^^^^^^^^^
@@ -2375,11 +2284,14 @@
+1->
2 > constructor(private
3 > mode: IMode
+-1->Emitted(58, 21) Source(79, 9) + SourceIndex(0)
+-2 >Emitted(58, 33) Source(79, 29) + SourceIndex(0)
+-3 >Emitted(58, 37) Source(79, 40) + SourceIndex(0)
+4 > )
- 1->Emitted(58, 21) Source(79, 9) + SourceIndex(0)
- 2 >Emitted(58, 33) Source(79, 29) + SourceIndex(0)
- 3 >Emitted(58, 37) Source(79, 40) + SourceIndex(0)
-+4 >Emitted(58, 39) Source(79, 42) + SourceIndex(0)
++1->Emitted(60, 21) Source(79, 9) + SourceIndex(0)
++2 >Emitted(60, 33) Source(79, 29) + SourceIndex(0)
++3 >Emitted(60, 37) Source(79, 40) + SourceIndex(0)
++4 >Emitted(60, 39) Source(79, 42) + SourceIndex(0)
---
>>> this.mode = mode;
-1->^^^^^^^^^^^^^^^^^^^^^^^^
@@ -2400,8 +2312,8 @@
-4 >Emitted(59, 41) Source(79, 33) + SourceIndex(0)
-5 >Emitted(59, 42) Source(79, 40) + SourceIndex(0)
+2 > mode
-+1->Emitted(59, 37) Source(79, 29) + SourceIndex(0)
-+2 >Emitted(59, 41) Source(79, 33) + SourceIndex(0)
++1->Emitted(61, 37) Source(79, 29) + SourceIndex(0)
++2 >Emitted(61, 41) Source(79, 33) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^^^^^
@@ -2410,10 +2322,11 @@
-1 >) {
-2 > }
-1 >Emitted(60, 21) Source(79, 44) + SourceIndex(0)
+-2 >Emitted(60, 22) Source(79, 45) + SourceIndex(0)
+1 >: IMode) {
+2 > }
-+1 >Emitted(60, 21) Source(79, 43) + SourceIndex(0)
- 2 >Emitted(60, 22) Source(79, 45) + SourceIndex(0)
++1 >Emitted(62, 21) Source(79, 43) + SourceIndex(0)
++2 >Emitted(62, 22) Source(79, 45) + SourceIndex(0)
---
>>> clone() {
1->^^^^^^^^^^^^^^^^^^^^
@@ -2424,10 +2337,12 @@
1->
> public
2 > clone
+-1->Emitted(61, 21) Source(80, 10) + SourceIndex(0)
+-2 >Emitted(61, 26) Source(80, 15) + SourceIndex(0)
+3 > ():IState
- 1->Emitted(61, 21) Source(80, 10) + SourceIndex(0)
- 2 >Emitted(61, 26) Source(80, 15) + SourceIndex(0)
-+3 >Emitted(61, 29) Source(80, 25) + SourceIndex(0)
++1->Emitted(63, 21) Source(80, 10) + SourceIndex(0)
++2 >Emitted(63, 26) Source(80, 15) + SourceIndex(0)
++3 >Emitted(63, 29) Source(80, 25) + SourceIndex(0)
---
>>> return this;
1->^^^^^^^^^^^^^^^^^^^^^^^^
@@ -2439,20 +2354,32 @@
>
2 > return
3 > this
-@@= skipped -238, +455 lines =@@
+ 4 > ;
+-1->Emitted(62, 25) Source(81, 4) + SourceIndex(0)
+-2 >Emitted(62, 32) Source(81, 11) + SourceIndex(0)
+-3 >Emitted(62, 36) Source(81, 15) + SourceIndex(0)
+-4 >Emitted(62, 37) Source(81, 16) + SourceIndex(0)
++1->Emitted(64, 25) Source(81, 4) + SourceIndex(0)
++2 >Emitted(64, 32) Source(81, 11) + SourceIndex(0)
++3 >Emitted(64, 36) Source(81, 15) + SourceIndex(0)
++4 >Emitted(64, 37) Source(81, 16) + SourceIndex(0)
+ ---
+ >>> }
+ 1 >^^^^^^^^^^^^^^^^^^^^
2 > ^
3 > ^^^^^^^^^^^^^^^->
1 >
- >
-2 > }
-1 >Emitted(63, 21) Source(82, 3) + SourceIndex(0)
+-2 >Emitted(63, 22) Source(82, 4) + SourceIndex(0)
+2 >
+ > }
-+1 >Emitted(63, 21) Source(81, 16) + SourceIndex(0)
- 2 >Emitted(63, 22) Source(82, 4) + SourceIndex(0)
++1 >Emitted(65, 21) Source(81, 16) + SourceIndex(0)
++2 >Emitted(65, 22) Source(82, 4) + SourceIndex(0)
---
>>> equals(other) {
-@@= skipped -10, +10 lines =@@
+ 1->^^^^^^^^^^^^^^^^^^^^
2 > ^^^^^^
3 > ^
4 > ^^^^^
@@ -2465,16 +2392,20 @@
2 > equals
3 > (
4 > other:IState
+-1->Emitted(64, 21) Source(84, 10) + SourceIndex(0)
+-2 >Emitted(64, 27) Source(84, 16) + SourceIndex(0)
+-3 >Emitted(64, 28) Source(84, 17) + SourceIndex(0)
+-4 >Emitted(64, 33) Source(84, 29) + SourceIndex(0)
+5 > ):boolean
- 1->Emitted(64, 21) Source(84, 10) + SourceIndex(0)
- 2 >Emitted(64, 27) Source(84, 16) + SourceIndex(0)
- 3 >Emitted(64, 28) Source(84, 17) + SourceIndex(0)
- 4 >Emitted(64, 33) Source(84, 29) + SourceIndex(0)
-+5 >Emitted(64, 35) Source(84, 39) + SourceIndex(0)
++1->Emitted(66, 21) Source(84, 10) + SourceIndex(0)
++2 >Emitted(66, 27) Source(84, 16) + SourceIndex(0)
++3 >Emitted(66, 28) Source(84, 17) + SourceIndex(0)
++4 >Emitted(66, 33) Source(84, 29) + SourceIndex(0)
++5 >Emitted(66, 35) Source(84, 39) + SourceIndex(0)
---
>>> return this === other;
1->^^^^^^^^^^^^^^^^^^^^^^^^
-@@= skipped -19, +22 lines =@@
+@@= skipped -267, +487 lines =@@
4 > ^^^^^
5 > ^^^^^
6 > ^
@@ -2483,17 +2414,35 @@
>
2 > return
3 > this
-@@= skipped -19, +19 lines =@@
+ 4 > ===
+ 5 > other
+ 6 > ;
+-1->Emitted(65, 25) Source(85, 4) + SourceIndex(0)
+-2 >Emitted(65, 32) Source(85, 11) + SourceIndex(0)
+-3 >Emitted(65, 36) Source(85, 15) + SourceIndex(0)
+-4 >Emitted(65, 41) Source(85, 20) + SourceIndex(0)
+-5 >Emitted(65, 46) Source(85, 25) + SourceIndex(0)
+-6 >Emitted(65, 47) Source(85, 26) + SourceIndex(0)
++1->Emitted(67, 25) Source(85, 4) + SourceIndex(0)
++2 >Emitted(67, 32) Source(85, 11) + SourceIndex(0)
++3 >Emitted(67, 36) Source(85, 15) + SourceIndex(0)
++4 >Emitted(67, 41) Source(85, 20) + SourceIndex(0)
++5 >Emitted(67, 46) Source(85, 25) + SourceIndex(0)
++6 >Emitted(67, 47) Source(85, 26) + SourceIndex(0)
+ ---
+ >>> }
+ 1 >^^^^^^^^^^^^^^^^^^^^
2 > ^
3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
- >
-2 > }
-1 >Emitted(66, 21) Source(86, 3) + SourceIndex(0)
+-2 >Emitted(66, 22) Source(86, 4) + SourceIndex(0)
+2 >
+ > }
-+1 >Emitted(66, 21) Source(85, 26) + SourceIndex(0)
- 2 >Emitted(66, 22) Source(86, 4) + SourceIndex(0)
++1 >Emitted(68, 21) Source(85, 26) + SourceIndex(0)
++2 >Emitted(68, 22) Source(86, 4) + SourceIndex(0)
---
>>> getMode() { return mode; }
1->^^^^^^^^^^^^^^^^^^^^
@@ -2521,6 +2470,14 @@
-6 > ;
-7 >
-8 > }
+-1->Emitted(67, 21) Source(88, 10) + SourceIndex(0)
+-2 >Emitted(67, 28) Source(88, 17) + SourceIndex(0)
+-3 >Emitted(67, 33) Source(88, 29) + SourceIndex(0)
+-4 >Emitted(67, 40) Source(88, 36) + SourceIndex(0)
+-5 >Emitted(67, 44) Source(88, 40) + SourceIndex(0)
+-6 >Emitted(67, 45) Source(88, 41) + SourceIndex(0)
+-7 >Emitted(67, 46) Source(88, 42) + SourceIndex(0)
+-8 >Emitted(67, 47) Source(88, 43) + SourceIndex(0)
+3 > (): IMode
+4 > {
+5 > return
@@ -2528,25 +2485,23 @@
+7 > ;
+8 >
+9 > }
- 1->Emitted(67, 21) Source(88, 10) + SourceIndex(0)
- 2 >Emitted(67, 28) Source(88, 17) + SourceIndex(0)
--3 >Emitted(67, 33) Source(88, 29) + SourceIndex(0)
--4 >Emitted(67, 40) Source(88, 36) + SourceIndex(0)
--5 >Emitted(67, 44) Source(88, 40) + SourceIndex(0)
--6 >Emitted(67, 45) Source(88, 41) + SourceIndex(0)
--7 >Emitted(67, 46) Source(88, 42) + SourceIndex(0)
--8 >Emitted(67, 47) Source(88, 43) + SourceIndex(0)
-+3 >Emitted(67, 31) Source(88, 27) + SourceIndex(0)
-+4 >Emitted(67, 33) Source(88, 29) + SourceIndex(0)
-+5 >Emitted(67, 40) Source(88, 36) + SourceIndex(0)
-+6 >Emitted(67, 44) Source(88, 40) + SourceIndex(0)
-+7 >Emitted(67, 45) Source(88, 41) + SourceIndex(0)
-+8 >Emitted(67, 46) Source(88, 41) + SourceIndex(0)
-+9 >Emitted(67, 47) Source(88, 43) + SourceIndex(0)
++1->Emitted(69, 21) Source(88, 10) + SourceIndex(0)
++2 >Emitted(69, 28) Source(88, 17) + SourceIndex(0)
++3 >Emitted(69, 31) Source(88, 27) + SourceIndex(0)
++4 >Emitted(69, 33) Source(88, 29) + SourceIndex(0)
++5 >Emitted(69, 40) Source(88, 36) + SourceIndex(0)
++6 >Emitted(69, 44) Source(88, 40) + SourceIndex(0)
++7 >Emitted(69, 45) Source(88, 41) + SourceIndex(0)
++8 >Emitted(69, 46) Source(88, 41) + SourceIndex(0)
++9 >Emitted(69, 47) Source(88, 43) + SourceIndex(0)
---
>>> }
1 >^^^^^^^^^^^^^^^^^
-@@= skipped -42, +45 lines =@@
+ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^->
+ 1 >
+ > }
+-1 >Emitted(68, 18) Source(89, 3) + SourceIndex(0)
++1 >Emitted(70, 18) Source(89, 3) + SourceIndex(0)
---
>>> PlainText.State = State;
1->^^^^^^^^^^^^^^^^
@@ -2568,24 +2523,50 @@
> constructor(private mode: IMode) { }
> public clone():IState {
> return this;
-@@= skipped -18, +20 lines =@@
+@@= skipped -79, +84 lines =@@
>
> public getMode(): IMode { return mode; }
> }
-4 >
-+5 >
- 1->Emitted(69, 17) Source(78, 15) + SourceIndex(0)
+-1->Emitted(69, 17) Source(78, 15) + SourceIndex(0)
-2 >Emitted(69, 32) Source(78, 20) + SourceIndex(0)
-3 >Emitted(69, 40) Source(89, 3) + SourceIndex(0)
-4 >Emitted(69, 41) Source(89, 3) + SourceIndex(0)
-+2 >Emitted(69, 27) Source(78, 15) + SourceIndex(0)
-+3 >Emitted(69, 32) Source(78, 20) + SourceIndex(0)
-+4 >Emitted(69, 40) Source(89, 3) + SourceIndex(0)
-+5 >Emitted(69, 41) Source(89, 3) + SourceIndex(0)
++5 >
++1->Emitted(71, 17) Source(78, 15) + SourceIndex(0)
++2 >Emitted(71, 27) Source(78, 15) + SourceIndex(0)
++3 >Emitted(71, 32) Source(78, 20) + SourceIndex(0)
++4 >Emitted(71, 40) Source(89, 3) + SourceIndex(0)
++5 >Emitted(71, 41) Source(89, 3) + SourceIndex(0)
---
>>> class Mode extends AbstractMode {
1->^^^^^^^^^^^^^^^^
-@@= skipped -39, +40 lines =@@
+@@= skipped -19, +20 lines =@@
+ 3 > Mode
+ 4 > extends
+ 5 > AbstractMode
+-1->Emitted(70, 17) Source(91, 2) + SourceIndex(0)
+-2 >Emitted(70, 23) Source(91, 15) + SourceIndex(0)
+-3 >Emitted(70, 27) Source(91, 20) + SourceIndex(0)
+-4 >Emitted(70, 36) Source(91, 28) + SourceIndex(0)
+-5 >Emitted(70, 48) Source(91, 40) + SourceIndex(0)
++1->Emitted(72, 17) Source(91, 2) + SourceIndex(0)
++2 >Emitted(72, 23) Source(91, 15) + SourceIndex(0)
++3 >Emitted(72, 27) Source(91, 20) + SourceIndex(0)
++4 >Emitted(72, 36) Source(91, 28) + SourceIndex(0)
++5 >Emitted(72, 48) Source(91, 40) + SourceIndex(0)
+ ---
+ >>> // scenario 2
+ 1 >^^^^^^^^^^^^^^^^^^^^
+@@= skipped -14, +14 lines =@@
+ >
+ >
+ 2 > // scenario 2
+-1 >Emitted(71, 21) Source(93, 3) + SourceIndex(0)
+-2 >Emitted(71, 34) Source(93, 16) + SourceIndex(0)
++1 >Emitted(73, 21) Source(93, 3) + SourceIndex(0)
++2 >Emitted(73, 34) Source(93, 16) + SourceIndex(0)
+ ---
>>> getInitialState() {
1->^^^^^^^^^^^^^^^^^^^^
2 > ^^^^^^^^^^^^^^^
@@ -2595,14 +2576,16 @@
1->
> public
2 > getInitialState
+-1->Emitted(72, 21) Source(94, 10) + SourceIndex(0)
+-2 >Emitted(72, 36) Source(94, 25) + SourceIndex(0)
+3 > (): IState
- 1->Emitted(72, 21) Source(94, 10) + SourceIndex(0)
- 2 >Emitted(72, 36) Source(94, 25) + SourceIndex(0)
-+3 >Emitted(72, 39) Source(94, 36) + SourceIndex(0)
++1->Emitted(74, 21) Source(94, 10) + SourceIndex(0)
++2 >Emitted(74, 36) Source(94, 25) + SourceIndex(0)
++3 >Emitted(74, 39) Source(94, 36) + SourceIndex(0)
---
>>> return new State(self);
1->^^^^^^^^^^^^^^^^^^^^^^^^
-@@= skipped -16, +19 lines =@@
+@@= skipped -22, +25 lines =@@
6 > ^^^^
7 > ^
8 > ^
@@ -2611,20 +2594,48 @@
>
2 > return
3 > new
-@@= skipped -22, +22 lines =@@
+@@= skipped -9, +9 lines =@@
+ 6 > self
+ 7 > )
+ 8 > ;
+-1->Emitted(73, 25) Source(95, 4) + SourceIndex(0)
+-2 >Emitted(73, 32) Source(95, 11) + SourceIndex(0)
+-3 >Emitted(73, 36) Source(95, 15) + SourceIndex(0)
+-4 >Emitted(73, 41) Source(95, 20) + SourceIndex(0)
+-5 >Emitted(73, 42) Source(95, 21) + SourceIndex(0)
+-6 >Emitted(73, 46) Source(95, 25) + SourceIndex(0)
+-7 >Emitted(73, 47) Source(95, 26) + SourceIndex(0)
+-8 >Emitted(73, 48) Source(95, 27) + SourceIndex(0)
++1->Emitted(75, 25) Source(95, 4) + SourceIndex(0)
++2 >Emitted(75, 32) Source(95, 11) + SourceIndex(0)
++3 >Emitted(75, 36) Source(95, 15) + SourceIndex(0)
++4 >Emitted(75, 41) Source(95, 20) + SourceIndex(0)
++5 >Emitted(75, 42) Source(95, 21) + SourceIndex(0)
++6 >Emitted(75, 46) Source(95, 25) + SourceIndex(0)
++7 >Emitted(75, 47) Source(95, 26) + SourceIndex(0)
++8 >Emitted(75, 48) Source(95, 27) + SourceIndex(0)
+ ---
+ >>> }
1 >^^^^^^^^^^^^^^^^^^^^
2 > ^
1 >
- >
-2 > }
-1 >Emitted(74, 21) Source(96, 3) + SourceIndex(0)
+-2 >Emitted(74, 22) Source(96, 4) + SourceIndex(0)
+2 >
+ > }
-+1 >Emitted(74, 21) Source(95, 27) + SourceIndex(0)
- 2 >Emitted(74, 22) Source(96, 4) + SourceIndex(0)
++1 >Emitted(76, 21) Source(95, 27) + SourceIndex(0)
++2 >Emitted(76, 22) Source(96, 4) + SourceIndex(0)
---
>>> }
-@@= skipped -16, +16 lines =@@
+ 1 >^^^^^^^^^^^^^^^^^
+@@= skipped -25, +25 lines =@@
+ >
+ >
+ > }
+-1 >Emitted(75, 18) Source(99, 3) + SourceIndex(0)
++1 >Emitted(77, 18) Source(99, 3) + SourceIndex(0)
---
>>> PlainText.Mode = Mode;
1->^^^^^^^^^^^^^^^^
@@ -2646,20 +2657,21 @@
>
> // scenario 2
> public getInitialState(): IState {
-@@= skipped -15, +17 lines =@@
+@@= skipped -19, +21 lines =@@
>
>
> }
-4 >
-+5 >
- 1->Emitted(76, 17) Source(91, 15) + SourceIndex(0)
+-1->Emitted(76, 17) Source(91, 15) + SourceIndex(0)
-2 >Emitted(76, 31) Source(91, 19) + SourceIndex(0)
-3 >Emitted(76, 38) Source(99, 3) + SourceIndex(0)
-4 >Emitted(76, 39) Source(99, 3) + SourceIndex(0)
-+2 >Emitted(76, 27) Source(91, 15) + SourceIndex(0)
-+3 >Emitted(76, 31) Source(91, 19) + SourceIndex(0)
-+4 >Emitted(76, 38) Source(99, 3) + SourceIndex(0)
-+5 >Emitted(76, 39) Source(99, 3) + SourceIndex(0)
++5 >
++1->Emitted(78, 17) Source(91, 15) + SourceIndex(0)
++2 >Emitted(78, 27) Source(91, 15) + SourceIndex(0)
++3 >Emitted(78, 31) Source(91, 19) + SourceIndex(0)
++4 >Emitted(78, 38) Source(99, 3) + SourceIndex(0)
++5 >Emitted(78, 39) Source(99, 3) + SourceIndex(0)
---
>>> })(PlainText = Languages.PlainText || (Languages.PlainText = {}));
1->^^^^^^^^^^^^
@@ -2703,21 +2715,25 @@
> }
> }
-1->Emitted(77, 13) Source(100, 1) + SourceIndex(0)
-+1->Emitted(77, 13) Source(99, 3) + SourceIndex(0)
- 2 >Emitted(77, 14) Source(100, 2) + SourceIndex(0)
- 3 >Emitted(77, 16) Source(76, 31) + SourceIndex(0)
- 4 >Emitted(77, 25) Source(76, 40) + SourceIndex(0)
- 5 >Emitted(77, 28) Source(76, 31) + SourceIndex(0)
+-2 >Emitted(77, 14) Source(100, 2) + SourceIndex(0)
+-3 >Emitted(77, 16) Source(76, 31) + SourceIndex(0)
+-4 >Emitted(77, 25) Source(76, 40) + SourceIndex(0)
+-5 >Emitted(77, 28) Source(76, 31) + SourceIndex(0)
-6 >Emitted(77, 47) Source(76, 40) + SourceIndex(0)
-7 >Emitted(77, 52) Source(76, 31) + SourceIndex(0)
-8 >Emitted(77, 71) Source(76, 40) + SourceIndex(0)
-9 >Emitted(77, 79) Source(100, 2) + SourceIndex(0)
-+6 >Emitted(77, 38) Source(76, 31) + SourceIndex(0)
-+7 >Emitted(77, 47) Source(76, 40) + SourceIndex(0)
-+8 >Emitted(77, 52) Source(76, 31) + SourceIndex(0)
-+9 >Emitted(77, 62) Source(76, 31) + SourceIndex(0)
-+10>Emitted(77, 71) Source(76, 40) + SourceIndex(0)
-+11>Emitted(77, 79) Source(100, 2) + SourceIndex(0)
++1->Emitted(79, 13) Source(99, 3) + SourceIndex(0)
++2 >Emitted(79, 14) Source(100, 2) + SourceIndex(0)
++3 >Emitted(79, 16) Source(76, 31) + SourceIndex(0)
++4 >Emitted(79, 25) Source(76, 40) + SourceIndex(0)
++5 >Emitted(79, 28) Source(76, 31) + SourceIndex(0)
++6 >Emitted(79, 38) Source(76, 31) + SourceIndex(0)
++7 >Emitted(79, 47) Source(76, 40) + SourceIndex(0)
++8 >Emitted(79, 52) Source(76, 31) + SourceIndex(0)
++9 >Emitted(79, 62) Source(76, 31) + SourceIndex(0)
++10>Emitted(79, 71) Source(76, 40) + SourceIndex(0)
++11>Emitted(79, 79) Source(100, 2) + SourceIndex(0)
---
>>> })(Languages = Thing.Languages || (Thing.Languages = {}));
1 >^^^^^^^^
@@ -2850,18 +2866,18 @@
-7 >Emitted(78, 44) Source(76, 21) + SourceIndex(0)
-8 >Emitted(78, 59) Source(76, 30) + SourceIndex(0)
-9 >Emitted(78, 67) Source(100, 2) + SourceIndex(0)
-+1 >Emitted(78, 9) Source(99, 3) + SourceIndex(0)
-+2 >Emitted(78, 10) Source(100, 1) + SourceIndex(0)
-+3 >Emitted(78, 10) Source(1, 1) + SourceIndex(0)
-+4 >Emitted(78, 12) Source(76, 21) + SourceIndex(0)
-+5 >Emitted(78, 21) Source(76, 30) + SourceIndex(0)
-+6 >Emitted(78, 24) Source(76, 21) + SourceIndex(0)
-+7 >Emitted(78, 30) Source(76, 21) + SourceIndex(0)
-+8 >Emitted(78, 39) Source(76, 30) + SourceIndex(0)
-+9 >Emitted(78, 44) Source(76, 21) + SourceIndex(0)
-+10>Emitted(78, 50) Source(76, 21) + SourceIndex(0)
-+11>Emitted(78, 59) Source(76, 30) + SourceIndex(0)
-+12>Emitted(78, 67) Source(100, 2) + SourceIndex(0)
++1 >Emitted(80, 9) Source(99, 3) + SourceIndex(0)
++2 >Emitted(80, 10) Source(100, 1) + SourceIndex(0)
++3 >Emitted(80, 10) Source(1, 1) + SourceIndex(0)
++4 >Emitted(80, 12) Source(76, 21) + SourceIndex(0)
++5 >Emitted(80, 21) Source(76, 30) + SourceIndex(0)
++6 >Emitted(80, 24) Source(76, 21) + SourceIndex(0)
++7 >Emitted(80, 30) Source(76, 21) + SourceIndex(0)
++8 >Emitted(80, 39) Source(76, 30) + SourceIndex(0)
++9 >Emitted(80, 44) Source(76, 21) + SourceIndex(0)
++10>Emitted(80, 50) Source(76, 21) + SourceIndex(0)
++11>Emitted(80, 59) Source(76, 30) + SourceIndex(0)
++12>Emitted(80, 67) Source(100, 2) + SourceIndex(0)
---
>>> })(Thing = Sample.Thing || (Sample.Thing = {}));
1 >^^^^
@@ -2994,18 +3010,18 @@
-7 >Emitted(79, 33) Source(76, 15) + SourceIndex(0)
-8 >Emitted(79, 45) Source(76, 20) + SourceIndex(0)
-9 >Emitted(79, 53) Source(100, 2) + SourceIndex(0)
-+1 >Emitted(79, 5) Source(99, 3) + SourceIndex(0)
-+2 >Emitted(79, 6) Source(100, 1) + SourceIndex(0)
-+3 >Emitted(79, 6) Source(1, 1) + SourceIndex(0)
-+4 >Emitted(79, 8) Source(76, 15) + SourceIndex(0)
-+5 >Emitted(79, 13) Source(76, 20) + SourceIndex(0)
-+6 >Emitted(79, 16) Source(76, 15) + SourceIndex(0)
-+7 >Emitted(79, 23) Source(76, 15) + SourceIndex(0)
-+8 >Emitted(79, 28) Source(76, 20) + SourceIndex(0)
-+9 >Emitted(79, 33) Source(76, 15) + SourceIndex(0)
-+10>Emitted(79, 40) Source(76, 15) + SourceIndex(0)
-+11>Emitted(79, 45) Source(76, 20) + SourceIndex(0)
-+12>Emitted(79, 53) Source(100, 2) + SourceIndex(0)
++1 >Emitted(81, 5) Source(99, 3) + SourceIndex(0)
++2 >Emitted(81, 6) Source(100, 1) + SourceIndex(0)
++3 >Emitted(81, 6) Source(1, 1) + SourceIndex(0)
++4 >Emitted(81, 8) Source(76, 15) + SourceIndex(0)
++5 >Emitted(81, 13) Source(76, 20) + SourceIndex(0)
++6 >Emitted(81, 16) Source(76, 15) + SourceIndex(0)
++7 >Emitted(81, 23) Source(76, 15) + SourceIndex(0)
++8 >Emitted(81, 28) Source(76, 20) + SourceIndex(0)
++9 >Emitted(81, 33) Source(76, 15) + SourceIndex(0)
++10>Emitted(81, 40) Source(76, 15) + SourceIndex(0)
++11>Emitted(81, 45) Source(76, 20) + SourceIndex(0)
++12>Emitted(81, 53) Source(100, 2) + SourceIndex(0)
---
>>>})(Sample || (Sample = {}));
1 >
@@ -3126,13 +3142,13 @@
-5 >Emitted(80, 15) Source(76, 8) + SourceIndex(0)
-6 >Emitted(80, 21) Source(76, 14) + SourceIndex(0)
-7 >Emitted(80, 29) Source(100, 2) + SourceIndex(0)
-+1 >Emitted(80, 1) Source(99, 3) + SourceIndex(0)
-+2 >Emitted(80, 2) Source(100, 1) + SourceIndex(0)
-+3 >Emitted(80, 2) Source(1, 1) + SourceIndex(0)
-+4 >Emitted(80, 4) Source(76, 8) + SourceIndex(0)
-+5 >Emitted(80, 10) Source(76, 14) + SourceIndex(0)
-+6 >Emitted(80, 15) Source(76, 8) + SourceIndex(0)
-+7 >Emitted(80, 21) Source(76, 14) + SourceIndex(0)
-+8 >Emitted(80, 29) Source(100, 2) + SourceIndex(0)
++1 >Emitted(82, 1) Source(99, 3) + SourceIndex(0)
++2 >Emitted(82, 2) Source(100, 1) + SourceIndex(0)
++3 >Emitted(82, 2) Source(1, 1) + SourceIndex(0)
++4 >Emitted(82, 4) Source(76, 8) + SourceIndex(0)
++5 >Emitted(82, 10) Source(76, 14) + SourceIndex(0)
++6 >Emitted(82, 15) Source(76, 8) + SourceIndex(0)
++7 >Emitted(82, 21) Source(76, 14) + SourceIndex(0)
++8 >Emitted(82, 29) Source(100, 2) + SourceIndex(0)
---
>>>//# sourceMappingURL=recursiveClassReferenceTest.js.map
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveConditionalCrash2.js b/testdata/baselines/reference/submodule/compiler/recursiveConditionalCrash2.js
index f8e19f6742..0ef2a76ebe 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveConditionalCrash2.js
+++ b/testdata/baselines/reference/submodule/compiler/recursiveConditionalCrash2.js
@@ -19,4 +19,5 @@ export type UseQueryOptions = Expand__
//// [recursiveConditionalCrash2.js]
"use strict";
+// Simplified #43529
Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveConditionalCrash2.js.diff b/testdata/baselines/reference/submodule/compiler/recursiveConditionalCrash2.js.diff
deleted file mode 100644
index 1f0633d43e..0000000000
--- a/testdata/baselines/reference/submodule/compiler/recursiveConditionalCrash2.js.diff
+++ /dev/null
@@ -1,8 +0,0 @@
---- old.recursiveConditionalCrash2.js
-+++ new.recursiveConditionalCrash2.js
-@@= skipped -18, +18 lines =@@
-
- //// [recursiveConditionalCrash2.js]
- "use strict";
--// Simplified #43529
- Object.defineProperty(exports, "__esModule", { value: true });
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveConditionalCrash3.js b/testdata/baselines/reference/submodule/compiler/recursiveConditionalCrash3.js
index 27c6da19f7..5d726d5a72 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveConditionalCrash3.js
+++ b/testdata/baselines/reference/submodule/compiler/recursiveConditionalCrash3.js
@@ -151,6 +151,7 @@ let t: UseQueryOptions
//// [recursiveConditionalCrash3.js]
"use strict";
+// #43529
Object.defineProperty(exports, "__esModule", { value: true });
/**
* These two functions work as charm, also they are superfast and as expected they don't use additional Memory
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveConditionalCrash3.js.diff b/testdata/baselines/reference/submodule/compiler/recursiveConditionalCrash3.js.diff
deleted file mode 100644
index 5313135627..0000000000
--- a/testdata/baselines/reference/submodule/compiler/recursiveConditionalCrash3.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.recursiveConditionalCrash3.js
-+++ new.recursiveConditionalCrash3.js
-@@= skipped -150, +150 lines =@@
-
- //// [recursiveConditionalCrash3.js]
- "use strict";
--// #43529
- Object.defineProperty(exports, "__esModule", { value: true });
- /**
- * These two functions work as charm, also they are superfast and as expected they don't use additional Memory
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveConditionalTypes.js b/testdata/baselines/reference/submodule/compiler/recursiveConditionalTypes.js
index 2a469765c8..2365d463b0 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveConditionalTypes.js
+++ b/testdata/baselines/reference/submodule/compiler/recursiveConditionalTypes.js
@@ -174,6 +174,7 @@ function foo2(value: T): Enumerate {
//// [recursiveConditionalTypes.js]
+// Awaiting promises
function f11(tx, ta, ux, ua) {
ta = ua;
ua = ta; // Error
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveConditionalTypes.js.diff b/testdata/baselines/reference/submodule/compiler/recursiveConditionalTypes.js.diff
index b1aa684066..749885f54a 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveConditionalTypes.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/recursiveConditionalTypes.js.diff
@@ -5,7 +5,6 @@
//// [recursiveConditionalTypes.js]
-"use strict";
--// Awaiting promises
+ // Awaiting promises
function f11(tx, ta, ux, ua) {
- ta = ua;
- ua = ta; // Error
\ No newline at end of file
+ ta = ua;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveExcessPropertyChecks.js b/testdata/baselines/reference/submodule/compiler/recursiveExcessPropertyChecks.js
index 54a8290126..c3657e0cc5 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveExcessPropertyChecks.js
+++ b/testdata/baselines/reference/submodule/compiler/recursiveExcessPropertyChecks.js
@@ -17,6 +17,7 @@ getMaxId(nodes);
//// [recursiveExcessPropertyChecks.js]
+// Repro from #35804
function getMaxId(items) {
}
const nodes = [];
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveExcessPropertyChecks.js.diff b/testdata/baselines/reference/submodule/compiler/recursiveExcessPropertyChecks.js.diff
index 24b9038832..01001ef3eb 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveExcessPropertyChecks.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/recursiveExcessPropertyChecks.js.diff
@@ -5,7 +5,6 @@
//// [recursiveExcessPropertyChecks.js]
-"use strict";
--// Repro from #35804
+ // Repro from #35804
function getMaxId(items) {
- }
- const nodes = [];
\ No newline at end of file
+ }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveResolveTypeMembers.js b/testdata/baselines/reference/submodule/compiler/recursiveResolveTypeMembers.js
index 3bd72df2bd..24b272348e 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveResolveTypeMembers.js
+++ b/testdata/baselines/reference/submodule/compiler/recursiveResolveTypeMembers.js
@@ -10,3 +10,4 @@ type Promised = PromisedTuple<[1, 2, 3]>
//// [recursiveResolveTypeMembers.js]
+// Repro from #25291
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveResolveTypeMembers.js.diff b/testdata/baselines/reference/submodule/compiler/recursiveResolveTypeMembers.js.diff
deleted file mode 100644
index b1e2b73353..0000000000
--- a/testdata/baselines/reference/submodule/compiler/recursiveResolveTypeMembers.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.recursiveResolveTypeMembers.js
-+++ new.recursiveResolveTypeMembers.js
-@@= skipped -9, +9 lines =@@
-
-
- //// [recursiveResolveTypeMembers.js]
--// Repro from #25291
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveReverseMappedType.js b/testdata/baselines/reference/submodule/compiler/recursiveReverseMappedType.js
index 241770d95d..287d40a1f9 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveReverseMappedType.js
+++ b/testdata/baselines/reference/submodule/compiler/recursiveReverseMappedType.js
@@ -17,6 +17,7 @@ function a(l: Recur[]): void {
//// [recursiveReverseMappedType.js]
+// Repro from #38198
function join(l) {
return ['marker', ...l];
}
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveReverseMappedType.js.diff b/testdata/baselines/reference/submodule/compiler/recursiveReverseMappedType.js.diff
index 607b35331a..3488dfc69a 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveReverseMappedType.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/recursiveReverseMappedType.js.diff
@@ -5,7 +5,6 @@
//// [recursiveReverseMappedType.js]
-"use strict";
--// Repro from #38198
+ // Repro from #38198
function join(l) {
- return ['marker', ...l];
- }
\ No newline at end of file
+ return ['marker', ...l];
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveTupleTypeInference.js b/testdata/baselines/reference/submodule/compiler/recursiveTupleTypeInference.js
index befecc076e..c56e013c04 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveTupleTypeInference.js
+++ b/testdata/baselines/reference/submodule/compiler/recursiveTupleTypeInference.js
@@ -28,6 +28,7 @@ foo(gK);
//// [recursiveTupleTypeInference.js]
"use strict";
+// Repro from #37475
Object.defineProperty(exports, "__esModule", { value: true });
const gK = { b: ["number", "null"] };
function foo(g) {
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveTupleTypeInference.js.diff b/testdata/baselines/reference/submodule/compiler/recursiveTupleTypeInference.js.diff
deleted file mode 100644
index 76a61bfca6..0000000000
--- a/testdata/baselines/reference/submodule/compiler/recursiveTupleTypeInference.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.recursiveTupleTypeInference.js
-+++ new.recursiveTupleTypeInference.js
-@@= skipped -27, +27 lines =@@
-
- //// [recursiveTupleTypeInference.js]
- "use strict";
--// Repro from #37475
- Object.defineProperty(exports, "__esModule", { value: true });
- const gK = { b: ["number", "null"] };
- function foo(g) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveTypeComparison.js b/testdata/baselines/reference/submodule/compiler/recursiveTypeComparison.js
index 6373ad1317..25c7528d3c 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveTypeComparison.js
+++ b/testdata/baselines/reference/submodule/compiler/recursiveTypeComparison.js
@@ -18,5 +18,6 @@ var stuck: Property = p;
//// [recursiveTypeComparison.js]
+// Before fix this would take an exceeding long time to complete (#1170)
var p;
var stuck = p;
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveTypeComparison.js.diff b/testdata/baselines/reference/submodule/compiler/recursiveTypeComparison.js.diff
deleted file mode 100644
index 12fc5f6a6d..0000000000
--- a/testdata/baselines/reference/submodule/compiler/recursiveTypeComparison.js.diff
+++ /dev/null
@@ -1,9 +0,0 @@
---- old.recursiveTypeComparison.js
-+++ new.recursiveTypeComparison.js
-@@= skipped -17, +17 lines =@@
-
-
- //// [recursiveTypeComparison.js]
--// Before fix this would take an exceeding long time to complete (#1170)
- var p;
- var stuck = p;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveTypeComparison2.js b/testdata/baselines/reference/submodule/compiler/recursiveTypeComparison2.js
index 74bcbb68df..91ef344d47 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveTypeComparison2.js
+++ b/testdata/baselines/reference/submodule/compiler/recursiveTypeComparison2.js
@@ -33,4 +33,5 @@ declare module Bacon {
var stuck: Bacon.Bus = new Bacon.Bus();
//// [recursiveTypeComparison2.js]
+// Before fix this would cause compiler to hang (#1170)
var stuck = new Bacon.Bus();
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveTypeComparison2.js.diff b/testdata/baselines/reference/submodule/compiler/recursiveTypeComparison2.js.diff
deleted file mode 100644
index 976958954f..0000000000
--- a/testdata/baselines/reference/submodule/compiler/recursiveTypeComparison2.js.diff
+++ /dev/null
@@ -1,8 +0,0 @@
---- old.recursiveTypeComparison2.js
-+++ new.recursiveTypeComparison2.js
-@@= skipped -32, +32 lines =@@
- var stuck: Bacon.Bus = new Bacon.Bus();
-
- //// [recursiveTypeComparison2.js]
--// Before fix this would cause compiler to hang (#1170)
- var stuck = new Bacon.Bus();
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveTypeRelations.js b/testdata/baselines/reference/submodule/compiler/recursiveTypeRelations.js
index d52b290cd4..47a334cdf9 100644
--- a/testdata/baselines/reference/submodule/compiler/recursiveTypeRelations.js
+++ b/testdata/baselines/reference/submodule/compiler/recursiveTypeRelations.js
@@ -40,6 +40,7 @@ export function css(styles: S, ...classNam
//// [recursiveTypeRelations.js]
"use strict";
+// Repro from #14896
Object.defineProperty(exports, "__esModule", { value: true });
exports.css = css;
class Query {
diff --git a/testdata/baselines/reference/submodule/compiler/recursiveTypeRelations.js.diff b/testdata/baselines/reference/submodule/compiler/recursiveTypeRelations.js.diff
deleted file mode 100644
index 72cb5f8aa6..0000000000
--- a/testdata/baselines/reference/submodule/compiler/recursiveTypeRelations.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.recursiveTypeRelations.js
-+++ new.recursiveTypeRelations.js
-@@= skipped -39, +39 lines =@@
-
- //// [recursiveTypeRelations.js]
- "use strict";
--// Repro from #14896
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.css = css;
- class Query {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/renamingDestructuredPropertyInFunctionType.js b/testdata/baselines/reference/submodule/compiler/renamingDestructuredPropertyInFunctionType.js
index c5fd0453d8..af19e36e72 100644
--- a/testdata/baselines/reference/submodule/compiler/renamingDestructuredPropertyInFunctionType.js
+++ b/testdata/baselines/reference/submodule/compiler/renamingDestructuredPropertyInFunctionType.js
@@ -69,6 +69,7 @@ const f11 = ({ [2]: string }) => { };
function f12({ a: string = "" }: O): typeof string { return "a"; }
//// [renamingDestructuredPropertyInFunctionType.js]
+// GH#37454, GH#41044
// Below are OK but renaming should be removed from declaration emit
function f1({ a: string }) { }
const f2 = function ({ a: string }) { };
diff --git a/testdata/baselines/reference/submodule/compiler/renamingDestructuredPropertyInFunctionType.js.diff b/testdata/baselines/reference/submodule/compiler/renamingDestructuredPropertyInFunctionType.js.diff
index b04e4ff52c..a08c1d16aa 100644
--- a/testdata/baselines/reference/submodule/compiler/renamingDestructuredPropertyInFunctionType.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/renamingDestructuredPropertyInFunctionType.js.diff
@@ -1,14 +1,6 @@
--- old.renamingDestructuredPropertyInFunctionType.js
+++ new.renamingDestructuredPropertyInFunctionType.js
-@@= skipped -68, +68 lines =@@
- function f12({ a: string = "" }: O): typeof string { return "a"; }
-
- //// [renamingDestructuredPropertyInFunctionType.js]
--// GH#37454, GH#41044
- // Below are OK but renaming should be removed from declaration emit
- function f1({ a: string }) { }
- const f2 = function ({ a: string }) { };
-@@= skipped -102, +101 lines =@@
+@@= skipped -170, +170 lines =@@
declare function f1({ a: string }: O): void;
declare const f2: ({ a: string }: O) => void;
declare const f3: ({ a: string, b, c }: O) => void;
diff --git a/testdata/baselines/reference/submodule/compiler/restParameterTypeInstantiation.js b/testdata/baselines/reference/submodule/compiler/restParameterTypeInstantiation.js
index c4e1667691..a9c85a1024 100644
--- a/testdata/baselines/reference/submodule/compiler/restParameterTypeInstantiation.js
+++ b/testdata/baselines/reference/submodule/compiler/restParameterTypeInstantiation.js
@@ -16,6 +16,7 @@ const result: number = removeF({ f: '', g: 3 }).g
//// [restParameterTypeInstantiation.js]
+// Repro from #33823
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
diff --git a/testdata/baselines/reference/submodule/compiler/restParameterTypeInstantiation.js.diff b/testdata/baselines/reference/submodule/compiler/restParameterTypeInstantiation.js.diff
index 26c08689c4..41c49e47b0 100644
--- a/testdata/baselines/reference/submodule/compiler/restParameterTypeInstantiation.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/restParameterTypeInstantiation.js.diff
@@ -5,7 +5,6 @@
//// [restParameterTypeInstantiation.js]
-"use strict";
--// Repro from #33823
+ // Repro from #33823
var __rest = (this && this.__rest) || function (s, e) {
- var t = {};
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
\ No newline at end of file
+ var t = {};
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/reverseMappedContravariantInference.js b/testdata/baselines/reference/submodule/compiler/reverseMappedContravariantInference.js
index 5926930ecf..e95d8ac61b 100644
--- a/testdata/baselines/reference/submodule/compiler/reverseMappedContravariantInference.js
+++ b/testdata/baselines/reference/submodule/compiler/reverseMappedContravariantInference.js
@@ -8,4 +8,5 @@ conforms({ foo: (v: string) => false })({ foo: "hello" });
//// [reverseMappedContravariantInference.js]
+// Repro from #21273
conforms({ foo: (v) => false })({ foo: "hello" });
diff --git a/testdata/baselines/reference/submodule/compiler/reverseMappedContravariantInference.js.diff b/testdata/baselines/reference/submodule/compiler/reverseMappedContravariantInference.js.diff
index 1e91b9b2a8..058bb5bd55 100644
--- a/testdata/baselines/reference/submodule/compiler/reverseMappedContravariantInference.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/reverseMappedContravariantInference.js.diff
@@ -5,5 +5,5 @@
//// [reverseMappedContravariantInference.js]
-"use strict";
--// Repro from #21273
+ // Repro from #21273
conforms({ foo: (v) => false })({ foo: "hello" });
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/reverseMappedPartiallyInferableTypes.js b/testdata/baselines/reference/submodule/compiler/reverseMappedPartiallyInferableTypes.js
index 08a36fe515..23d5953f63 100644
--- a/testdata/baselines/reference/submodule/compiler/reverseMappedPartiallyInferableTypes.js
+++ b/testdata/baselines/reference/submodule/compiler/reverseMappedPartiallyInferableTypes.js
@@ -131,6 +131,7 @@ inferMappedReadonly({
//// [reverseMappedPartiallyInferableTypes.js]
"use strict";
+// Repro from #30505
Object.defineProperty(exports, "__esModule", { value: true });
const r = extend({
props: {
diff --git a/testdata/baselines/reference/submodule/compiler/reverseMappedPartiallyInferableTypes.js.diff b/testdata/baselines/reference/submodule/compiler/reverseMappedPartiallyInferableTypes.js.diff
deleted file mode 100644
index 90fab6c9cb..0000000000
--- a/testdata/baselines/reference/submodule/compiler/reverseMappedPartiallyInferableTypes.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.reverseMappedPartiallyInferableTypes.js
-+++ new.reverseMappedPartiallyInferableTypes.js
-@@= skipped -130, +130 lines =@@
-
- //// [reverseMappedPartiallyInferableTypes.js]
- "use strict";
--// Repro from #30505
- Object.defineProperty(exports, "__esModule", { value: true });
- const r = extend({
- props: {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/shebangBeforeReferences.js b/testdata/baselines/reference/submodule/compiler/shebangBeforeReferences.js
index 761ac88c07..94a4999a00 100644
--- a/testdata/baselines/reference/submodule/compiler/shebangBeforeReferences.js
+++ b/testdata/baselines/reference/submodule/compiler/shebangBeforeReferences.js
@@ -17,7 +17,7 @@ use(x);
//// [f.js]
#!/usr/bin/env node
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
///
+Object.defineProperty(exports, "__esModule", { value: true });
const test_1 = require("test");
use(test_1.x);
diff --git a/testdata/baselines/reference/submodule/compiler/shebangBeforeReferences.js.diff b/testdata/baselines/reference/submodule/compiler/shebangBeforeReferences.js.diff
index 09c897fae0..0f54cd3448 100644
--- a/testdata/baselines/reference/submodule/compiler/shebangBeforeReferences.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/shebangBeforeReferences.js.diff
@@ -1,12 +1,9 @@
--- old.shebangBeforeReferences.js
+++ new.shebangBeforeReferences.js
-@@= skipped -16, +16 lines =@@
- //// [f.js]
- #!/usr/bin/env node
+@@= skipped -18, +18 lines =@@
"use strict";
--///
+ ///
Object.defineProperty(exports, "__esModule", { value: true });
-var test_1 = require("test");
-+///
+const test_1 = require("test");
use(test_1.x);
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/silentNeverPropagation.js b/testdata/baselines/reference/submodule/compiler/silentNeverPropagation.js
index e7f5287854..eaeee061fc 100644
--- a/testdata/baselines/reference/submodule/compiler/silentNeverPropagation.js
+++ b/testdata/baselines/reference/submodule/compiler/silentNeverPropagation.js
@@ -29,6 +29,7 @@ breaks.foo()
//// [silentNeverPropagation.js]
+// Repro from #45041
const breaks = convert(createModule({ a: 12 }, { foo() { return true; } }));
breaks.state.a;
breaks.state.z;
diff --git a/testdata/baselines/reference/submodule/compiler/silentNeverPropagation.js.diff b/testdata/baselines/reference/submodule/compiler/silentNeverPropagation.js.diff
index 24c4d9e259..b208c9fe5a 100644
--- a/testdata/baselines/reference/submodule/compiler/silentNeverPropagation.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/silentNeverPropagation.js.diff
@@ -5,7 +5,6 @@
//// [silentNeverPropagation.js]
-"use strict";
--// Repro from #45041
+ // Repro from #45041
const breaks = convert(createModule({ a: 12 }, { foo() { return true; } }));
- breaks.state.a;
- breaks.state.z;
\ No newline at end of file
+ breaks.state.a;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/specedNoStackBlown.js b/testdata/baselines/reference/submodule/compiler/specedNoStackBlown.js
index 40ae9e3318..232227568e 100644
--- a/testdata/baselines/reference/submodule/compiler/specedNoStackBlown.js
+++ b/testdata/baselines/reference/submodule/compiler/specedNoStackBlown.js
@@ -40,5 +40,10 @@ export default spected;
//// [specedNoStackBlown.js]
"use strict";
+// Type definitions for spected 0.7
+// Project: https://github.com/25th-floor/spected
+// Definitions by: Benjamin Makus
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+// TypeScript Version: 2.8
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = spected;
diff --git a/testdata/baselines/reference/submodule/compiler/specedNoStackBlown.js.diff b/testdata/baselines/reference/submodule/compiler/specedNoStackBlown.js.diff
deleted file mode 100644
index 569a89b30b..0000000000
--- a/testdata/baselines/reference/submodule/compiler/specedNoStackBlown.js.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- old.specedNoStackBlown.js
-+++ new.specedNoStackBlown.js
-@@= skipped -39, +39 lines =@@
-
- //// [specedNoStackBlown.js]
- "use strict";
--// Type definitions for spected 0.7
--// Project: https://github.com/25th-floor/spected
--// Definitions by: Benjamin Makus
--// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
--// TypeScript Version: 2.8
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.default = spected;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/specialIntersectionsInMappedTypes.js b/testdata/baselines/reference/submodule/compiler/specialIntersectionsInMappedTypes.js
index f06fdff189..1daf03a3f2 100644
--- a/testdata/baselines/reference/submodule/compiler/specialIntersectionsInMappedTypes.js
+++ b/testdata/baselines/reference/submodule/compiler/specialIntersectionsInMappedTypes.js
@@ -18,6 +18,7 @@ a.other.length; // Error expected here
//// [specialIntersectionsInMappedTypes.js]
+// Repro from #50683
const a = {
left: "align-left",
center: "align-center",
diff --git a/testdata/baselines/reference/submodule/compiler/specialIntersectionsInMappedTypes.js.diff b/testdata/baselines/reference/submodule/compiler/specialIntersectionsInMappedTypes.js.diff
index 4dfbc08838..779e459e55 100644
--- a/testdata/baselines/reference/submodule/compiler/specialIntersectionsInMappedTypes.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/specialIntersectionsInMappedTypes.js.diff
@@ -5,7 +5,6 @@
//// [specialIntersectionsInMappedTypes.js]
-"use strict";
--// Repro from #50683
+ // Repro from #50683
const a = {
- left: "align-left",
- center: "align-center",
\ No newline at end of file
+ left: "align-left",
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualType.js b/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualType.js
index fe87157055..0955ee08dc 100644
--- a/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualType.js
+++ b/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualType.js
@@ -22,6 +22,7 @@ function test2(item: T): T {
//// [spreadExpressionContextualType.js]
+// Repro from #43966
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
diff --git a/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualType.js.diff b/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualType.js.diff
index 7e538b55b2..c9b02c1ef9 100644
--- a/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualType.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualType.js.diff
@@ -5,7 +5,6 @@
//// [spreadExpressionContextualType.js]
-"use strict";
--// Repro from #43966
+ // Repro from #43966
var __assign = (this && this.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
\ No newline at end of file
+ __assign = Object.assign || function(t) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualTypeWithNamespace.js b/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualTypeWithNamespace.js
index 132ae598ca..58620e049f 100644
--- a/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualTypeWithNamespace.js
+++ b/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualTypeWithNamespace.js
@@ -36,11 +36,11 @@ getStuff().exportedDirectly;
//// [spreadExpressionContextualTypeWithNamespace_0.js]
"use strict";
+// Repro from #44179 with some modification
Object.defineProperty(exports, "__esModule", { value: true });
exports.obj = exports.klass = void 0;
exports.func = func;
exports.exportedDirectly = exportedDirectly;
-// Repro from #44179 with some modification
function func() { }
class klass {
}
diff --git a/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualTypeWithNamespace.js.diff b/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualTypeWithNamespace.js.diff
index e22623ce91..c8f0893e6d 100644
--- a/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualTypeWithNamespace.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/spreadExpressionContextualTypeWithNamespace.js.diff
@@ -1,19 +1,6 @@
--- old.spreadExpressionContextualTypeWithNamespace.js
+++ new.spreadExpressionContextualTypeWithNamespace.js
-@@= skipped -35, +35 lines =@@
-
- //// [spreadExpressionContextualTypeWithNamespace_0.js]
- "use strict";
--// Repro from #44179 with some modification
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.obj = exports.klass = void 0;
- exports.func = func;
- exports.exportedDirectly = exportedDirectly;
-+// Repro from #44179 with some modification
- function func() { }
- class klass {
- }
-@@= skipped -26, +26 lines =@@
+@@= skipped -61, +61 lines =@@
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/testdata/baselines/reference/submodule/compiler/strictOptionalProperties2.js b/testdata/baselines/reference/submodule/compiler/strictOptionalProperties2.js
index ce5b102681..faed3c3d7f 100644
--- a/testdata/baselines/reference/submodule/compiler/strictOptionalProperties2.js
+++ b/testdata/baselines/reference/submodule/compiler/strictOptionalProperties2.js
@@ -8,6 +8,7 @@ type T2 = [(string | undefined)?] extends [string?] ? true : false; // false
//// [strictOptionalProperties2.js]
+// Repro from #44567
//// [strictOptionalProperties2.d.ts]
diff --git a/testdata/baselines/reference/submodule/compiler/strictOptionalProperties2.js.diff b/testdata/baselines/reference/submodule/compiler/strictOptionalProperties2.js.diff
index 9a3f80a1e6..1f43d8fe3b 100644
--- a/testdata/baselines/reference/submodule/compiler/strictOptionalProperties2.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/strictOptionalProperties2.js.diff
@@ -5,7 +5,5 @@
//// [strictOptionalProperties2.js]
-"use strict";
--// Repro from #44567
+ // Repro from #44567
-
- //// [strictOptionalProperties2.d.ts]
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/strictSubtypeAndNarrowing.js b/testdata/baselines/reference/submodule/compiler/strictSubtypeAndNarrowing.js
index 3176fd3168..65ea4cd3b8 100644
--- a/testdata/baselines/reference/submodule/compiler/strictSubtypeAndNarrowing.js
+++ b/testdata/baselines/reference/submodule/compiler/strictSubtypeAndNarrowing.js
@@ -234,6 +234,7 @@ const f = (value: Union) => {
//// [strictSubtypeAndNarrowing.js]
+// Check that `any` is a strict supertype of `unknown`
const a11 = [x11, x12];
const a12 = [x12, x11];
const a21 = [x22, x21];
diff --git a/testdata/baselines/reference/submodule/compiler/strictSubtypeAndNarrowing.js.diff b/testdata/baselines/reference/submodule/compiler/strictSubtypeAndNarrowing.js.diff
index 963b0d7755..a357bd50ad 100644
--- a/testdata/baselines/reference/submodule/compiler/strictSubtypeAndNarrowing.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/strictSubtypeAndNarrowing.js.diff
@@ -5,7 +5,6 @@
//// [strictSubtypeAndNarrowing.js]
-"use strict";
--// Check that `any` is a strict supertype of `unknown`
+ // Check that `any` is a strict supertype of `unknown`
const a11 = [x11, x12];
- const a12 = [x12, x11];
- const a21 = [x22, x21];
\ No newline at end of file
+ const a12 = [x12, x11];
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/substitutionTypesInIndexedAccessTypes.js b/testdata/baselines/reference/submodule/compiler/substitutionTypesInIndexedAccessTypes.js
index c97b325e5c..716b8ff27c 100644
--- a/testdata/baselines/reference/submodule/compiler/substitutionTypesInIndexedAccessTypes.js
+++ b/testdata/baselines/reference/submodule/compiler/substitutionTypesInIndexedAccessTypes.js
@@ -22,6 +22,7 @@ const withoutBoundaryResult = withoutBoundary({
//// [substitutionTypesInIndexedAccessTypes.js]
+// Repro from #31086
const boundaryResult = withBoundary({
select: true,
});
diff --git a/testdata/baselines/reference/submodule/compiler/substitutionTypesInIndexedAccessTypes.js.diff b/testdata/baselines/reference/submodule/compiler/substitutionTypesInIndexedAccessTypes.js.diff
index a53e59395f..012b6eca39 100644
--- a/testdata/baselines/reference/submodule/compiler/substitutionTypesInIndexedAccessTypes.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/substitutionTypesInIndexedAccessTypes.js.diff
@@ -5,7 +5,6 @@
//// [substitutionTypesInIndexedAccessTypes.js]
-"use strict";
--// Repro from #31086
+ // Repro from #31086
const boundaryResult = withBoundary({
- select: true,
- });
\ No newline at end of file
+ select: true,
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/taggedTemplateStringWithSymbolExpression01.js b/testdata/baselines/reference/submodule/compiler/taggedTemplateStringWithSymbolExpression01.js
index d0753d67d3..8d1a2f2949 100644
--- a/testdata/baselines/reference/submodule/compiler/taggedTemplateStringWithSymbolExpression01.js
+++ b/testdata/baselines/reference/submodule/compiler/taggedTemplateStringWithSymbolExpression01.js
@@ -10,5 +10,6 @@ let result: number = foo`${x}`;
//// [taggedTemplateStringWithSymbolExpression01.js]
+// taggedTemplateStringWithSymbolExpression01.ts
let x;
let result = foo `${x}`;
diff --git a/testdata/baselines/reference/submodule/compiler/taggedTemplateStringWithSymbolExpression01.js.diff b/testdata/baselines/reference/submodule/compiler/taggedTemplateStringWithSymbolExpression01.js.diff
deleted file mode 100644
index 56b8221ef6..0000000000
--- a/testdata/baselines/reference/submodule/compiler/taggedTemplateStringWithSymbolExpression01.js.diff
+++ /dev/null
@@ -1,9 +0,0 @@
---- old.taggedTemplateStringWithSymbolExpression01.js
-+++ new.taggedTemplateStringWithSymbolExpression01.js
-@@= skipped -9, +9 lines =@@
-
-
- //// [taggedTemplateStringWithSymbolExpression01.js]
--// taggedTemplateStringWithSymbolExpression01.ts
- let x;
- let result = foo `${x}`;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/taggedTemplateStringsWithCurriedFunction.js b/testdata/baselines/reference/submodule/compiler/taggedTemplateStringsWithCurriedFunction.js
index a920b38ccd..bd943b8645 100644
--- a/testdata/baselines/reference/submodule/compiler/taggedTemplateStringsWithCurriedFunction.js
+++ b/testdata/baselines/reference/submodule/compiler/taggedTemplateStringsWithCurriedFunction.js
@@ -13,6 +13,7 @@ f({ x: (() => 1)(), ...{ y: 1 } })``;
//// [taggedTemplateStringsWithCurriedFunction.js]
+// Originated from #38558
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -24,7 +25,6 @@ var __assign = (this && this.__assign) || function () {
};
return __assign.apply(this, arguments);
};
-// Originated from #38558
const f = _ => (..._) => "";
f(__assign({ x: 0 })) ``;
f(__assign({ x: 0 })) `x`;
diff --git a/testdata/baselines/reference/submodule/compiler/taggedTemplateStringsWithCurriedFunction.js.diff b/testdata/baselines/reference/submodule/compiler/taggedTemplateStringsWithCurriedFunction.js.diff
deleted file mode 100644
index b32a21039c..0000000000
--- a/testdata/baselines/reference/submodule/compiler/taggedTemplateStringsWithCurriedFunction.js.diff
+++ /dev/null
@@ -1,18 +0,0 @@
---- old.taggedTemplateStringsWithCurriedFunction.js
-+++ new.taggedTemplateStringsWithCurriedFunction.js
-@@= skipped -12, +12 lines =@@
-
-
- //// [taggedTemplateStringsWithCurriedFunction.js]
--// Originated from #38558
- var __assign = (this && this.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
-@@= skipped -12, +11 lines =@@
- };
- return __assign.apply(this, arguments);
- };
-+// Originated from #38558
- const f = _ => (..._) => "";
- f(__assign({ x: 0 })) ``;
- f(__assign({ x: 0 })) `x`;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node16).js b/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node16).js
index 6d734ae2ed..7c518b3b9d 100644
--- a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node16).js
+++ b/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node16).js
@@ -15,6 +15,6 @@ const a: GlobalThing = { a: 0 };
//// [usage.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
///
+Object.defineProperty(exports, "__esModule", { value: true });
const a = { a: 0 };
diff --git a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node16).js.diff b/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node16).js.diff
deleted file mode 100644
index 050a3b1053..0000000000
--- a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node16).js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.tripleSlashTypesReferenceWithMissingExports(module=node16).js
-+++ new.tripleSlashTypesReferenceWithMissingExports(module=node16).js
-@@= skipped -14, +14 lines =@@
-
- //// [usage.js]
- "use strict";
--///
- Object.defineProperty(exports, "__esModule", { value: true });
-+///
- const a = { a: 0 };
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node20).js b/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node20).js
index 6d734ae2ed..7c518b3b9d 100644
--- a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node20).js
+++ b/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node20).js
@@ -15,6 +15,6 @@ const a: GlobalThing = { a: 0 };
//// [usage.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
///
+Object.defineProperty(exports, "__esModule", { value: true });
const a = { a: 0 };
diff --git a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node20).js.diff b/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node20).js.diff
deleted file mode 100644
index 18ceeaf53b..0000000000
--- a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node20).js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.tripleSlashTypesReferenceWithMissingExports(module=node20).js
-+++ new.tripleSlashTypesReferenceWithMissingExports(module=node20).js
-@@= skipped -14, +14 lines =@@
-
- //// [usage.js]
- "use strict";
--///
- Object.defineProperty(exports, "__esModule", { value: true });
-+///
- const a = { a: 0 };
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=nodenext).js b/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=nodenext).js
index 6d734ae2ed..7c518b3b9d 100644
--- a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=nodenext).js
+++ b/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=nodenext).js
@@ -15,6 +15,6 @@ const a: GlobalThing = { a: 0 };
//// [usage.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
///
+Object.defineProperty(exports, "__esModule", { value: true });
const a = { a: 0 };
diff --git a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=nodenext).js.diff b/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=nodenext).js.diff
deleted file mode 100644
index 02147f9a60..0000000000
--- a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=nodenext).js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.tripleSlashTypesReferenceWithMissingExports(module=nodenext).js
-+++ new.tripleSlashTypesReferenceWithMissingExports(module=nodenext).js
-@@= skipped -14, +14 lines =@@
-
- //// [usage.js]
- "use strict";
--///
- Object.defineProperty(exports, "__esModule", { value: true });
-+///
- const a = { a: 0 };
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/tsxNotUsingApparentTypeOfSFC.js b/testdata/baselines/reference/submodule/compiler/tsxNotUsingApparentTypeOfSFC.js
index 37e3dbd216..86f61ddfe3 100644
--- a/testdata/baselines/reference/submodule/compiler/tsxNotUsingApparentTypeOfSFC.js
+++ b/testdata/baselines/reference/submodule/compiler/tsxNotUsingApparentTypeOfSFC.js
@@ -23,6 +23,7 @@ function test(wrappedProps: P) {
//// [tsxNotUsingApparentTypeOfSFC.js]
"use strict";
+///
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -38,7 +39,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
-///
const react_1 = __importDefault(require("react"));
function test(wrappedProps) {
let MySFC = function (props) {
diff --git a/testdata/baselines/reference/submodule/compiler/tsxNotUsingApparentTypeOfSFC.js.diff b/testdata/baselines/reference/submodule/compiler/tsxNotUsingApparentTypeOfSFC.js.diff
index adaeb0ae16..46768e7061 100644
--- a/testdata/baselines/reference/submodule/compiler/tsxNotUsingApparentTypeOfSFC.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/tsxNotUsingApparentTypeOfSFC.js.diff
@@ -1,19 +1,10 @@
--- old.tsxNotUsingApparentTypeOfSFC.js
+++ new.tsxNotUsingApparentTypeOfSFC.js
-@@= skipped -22, +22 lines =@@
-
- //// [tsxNotUsingApparentTypeOfSFC.js]
- "use strict";
--///
- var __assign = (this && this.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
-@@= skipped -16, +15 lines =@@
+@@= skipped -38, +38 lines =@@
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
-var react_1 = __importDefault(require("react"));
-+///
+const react_1 = __importDefault(require("react"));
function test(wrappedProps) {
let MySFC = function (props) {
diff --git a/testdata/baselines/reference/submodule/compiler/tsxReactPropsInferenceSucceedsOnIntersections.js b/testdata/baselines/reference/submodule/compiler/tsxReactPropsInferenceSucceedsOnIntersections.js
index 6a231bf839..238668914a 100644
--- a/testdata/baselines/reference/submodule/compiler/tsxReactPropsInferenceSucceedsOnIntersections.js
+++ b/testdata/baselines/reference/submodule/compiler/tsxReactPropsInferenceSucceedsOnIntersections.js
@@ -20,6 +20,7 @@ const CustomButton: React.SFC = props =>
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -35,6 +36,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
-///
const react_1 = __importDefault(require("react"));
const CustomButton = props => react_1.default.createElement(Button, __assign({}, props));
diff --git a/testdata/baselines/reference/submodule/compiler/tsxReactPropsInferenceSucceedsOnIntersections.js.diff b/testdata/baselines/reference/submodule/compiler/tsxReactPropsInferenceSucceedsOnIntersections.js.diff
index 2ebcb90370..21a2dfd386 100644
--- a/testdata/baselines/reference/submodule/compiler/tsxReactPropsInferenceSucceedsOnIntersections.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/tsxReactPropsInferenceSucceedsOnIntersections.js.diff
@@ -1,18 +1,9 @@
--- old.tsxReactPropsInferenceSucceedsOnIntersections.js
+++ new.tsxReactPropsInferenceSucceedsOnIntersections.js
-@@= skipped -19, +19 lines =@@
-
- //// [tsxReactPropsInferenceSucceedsOnIntersections.js]
- "use strict";
--///
- var __assign = (this && this.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
-@@= skipped -16, +15 lines =@@
+@@= skipped -35, +35 lines =@@
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
-var react_1 = __importDefault(require("react"));
-+///
+const react_1 = __importDefault(require("react"));
const CustomButton = props => react_1.default.createElement(Button, __assign({}, props));
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/tsxSpreadDoesNotReportExcessProps.js b/testdata/baselines/reference/submodule/compiler/tsxSpreadDoesNotReportExcessProps.js
index 586677a793..7f7e219d8c 100644
--- a/testdata/baselines/reference/submodule/compiler/tsxSpreadDoesNotReportExcessProps.js
+++ b/testdata/baselines/reference/submodule/compiler/tsxSpreadDoesNotReportExcessProps.js
@@ -14,6 +14,7 @@ class MyComponent extends React.Component<{dataSource: number[], onClick?: any},
//// [tsxSpreadDoesNotReportExcessProps.js]
"use strict";
+///
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -29,7 +30,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
-///
const react_1 = __importDefault(require("react"));
class MyComponent extends react_1.default.Component {
render() {
diff --git a/testdata/baselines/reference/submodule/compiler/tsxSpreadDoesNotReportExcessProps.js.diff b/testdata/baselines/reference/submodule/compiler/tsxSpreadDoesNotReportExcessProps.js.diff
index 816cc15597..b3ceb982de 100644
--- a/testdata/baselines/reference/submodule/compiler/tsxSpreadDoesNotReportExcessProps.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/tsxSpreadDoesNotReportExcessProps.js.diff
@@ -1,19 +1,10 @@
--- old.tsxSpreadDoesNotReportExcessProps.js
+++ new.tsxSpreadDoesNotReportExcessProps.js
-@@= skipped -13, +13 lines =@@
-
- //// [tsxSpreadDoesNotReportExcessProps.js]
- "use strict";
--///
- var __assign = (this && this.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
-@@= skipped -16, +15 lines =@@
+@@= skipped -29, +29 lines =@@
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
-var react_1 = __importDefault(require("react"));
-+///
+const react_1 = __importDefault(require("react"));
class MyComponent extends react_1.default.Component {
render() {
diff --git a/testdata/baselines/reference/submodule/compiler/tsxStatelessComponentDefaultProps.js b/testdata/baselines/reference/submodule/compiler/tsxStatelessComponentDefaultProps.js
index 98878f4580..ba0e2963cc 100644
--- a/testdata/baselines/reference/submodule/compiler/tsxStatelessComponentDefaultProps.js
+++ b/testdata/baselines/reference/submodule/compiler/tsxStatelessComponentDefaultProps.js
@@ -19,11 +19,11 @@ let a =
//// [tsxStatelessComponentDefaultProps.js]
"use strict";
+///
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
-///
const react_1 = __importDefault(require("react"));
function BackButton(_props) {
return react_1.default.createElement("div", null);
diff --git a/testdata/baselines/reference/submodule/compiler/tsxStatelessComponentDefaultProps.js.diff b/testdata/baselines/reference/submodule/compiler/tsxStatelessComponentDefaultProps.js.diff
index d76b3ff591..6f9b23d252 100644
--- a/testdata/baselines/reference/submodule/compiler/tsxStatelessComponentDefaultProps.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/tsxStatelessComponentDefaultProps.js.diff
@@ -1,16 +1,10 @@
--- old.tsxStatelessComponentDefaultProps.js
+++ new.tsxStatelessComponentDefaultProps.js
-@@= skipped -18, +18 lines =@@
-
- //// [tsxStatelessComponentDefaultProps.js]
- "use strict";
--///
- var __importDefault = (this && this.__importDefault) || function (mod) {
+@@= skipped -23, +23 lines =@@
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
-var react_1 = __importDefault(require("react"));
-+///
+const react_1 = __importDefault(require("react"));
function BackButton(_props) {
return react_1.default.createElement("div", null);
diff --git a/testdata/baselines/reference/submodule/compiler/tupleTypeInference2.js b/testdata/baselines/reference/submodule/compiler/tupleTypeInference2.js
index 531115f661..f3b7be40a0 100644
--- a/testdata/baselines/reference/submodule/compiler/tupleTypeInference2.js
+++ b/testdata/baselines/reference/submodule/compiler/tupleTypeInference2.js
@@ -27,6 +27,7 @@ h2([[]] as [void[]]); // T: void
//// [tupleTypeInference2.js]
+// Repro from #22564
f([undefined, '']); // T: never
f([undefined, '']); // T: void
g([[]]); // U: {}
diff --git a/testdata/baselines/reference/submodule/compiler/tupleTypeInference2.js.diff b/testdata/baselines/reference/submodule/compiler/tupleTypeInference2.js.diff
index 811374def3..95664bcfcf 100644
--- a/testdata/baselines/reference/submodule/compiler/tupleTypeInference2.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/tupleTypeInference2.js.diff
@@ -5,7 +5,6 @@
//// [tupleTypeInference2.js]
-"use strict";
--// Repro from #22564
+ // Repro from #22564
f([undefined, '']); // T: never
- f([undefined, '']); // T: void
- g([[]]); // U: {}
\ No newline at end of file
+ f([undefined, '']); // T: void
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/typeComparisonCaching.js b/testdata/baselines/reference/submodule/compiler/typeComparisonCaching.js
index 7f7517a9e5..e7efe3a864 100644
--- a/testdata/baselines/reference/submodule/compiler/typeComparisonCaching.js
+++ b/testdata/baselines/reference/submodule/compiler/typeComparisonCaching.js
@@ -31,6 +31,7 @@ c = d; // Should not be allowed
//// [typeComparisonCaching.js]
+// Check that we only cache results of type comparisons that are free of assumptions
var a;
var b;
var c;
diff --git a/testdata/baselines/reference/submodule/compiler/typeComparisonCaching.js.diff b/testdata/baselines/reference/submodule/compiler/typeComparisonCaching.js.diff
deleted file mode 100644
index ebe9eb6c7d..0000000000
--- a/testdata/baselines/reference/submodule/compiler/typeComparisonCaching.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.typeComparisonCaching.js
-+++ new.typeComparisonCaching.js
-@@= skipped -30, +30 lines =@@
-
-
- //// [typeComparisonCaching.js]
--// Check that we only cache results of type comparisons that are free of assumptions
- var a;
- var b;
- var c;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/typeInferenceCacheInvalidation.js b/testdata/baselines/reference/submodule/compiler/typeInferenceCacheInvalidation.js
index 069e712a89..95971eab9b 100644
--- a/testdata/baselines/reference/submodule/compiler/typeInferenceCacheInvalidation.js
+++ b/testdata/baselines/reference/submodule/compiler/typeInferenceCacheInvalidation.js
@@ -25,6 +25,7 @@ example(42, (foo, bar) => ({
//// [typeInferenceCacheInvalidation.js]
+// Repro from #32230
example(42, (foo, bar) => ({
t: () => {
let s = bar;
diff --git a/testdata/baselines/reference/submodule/compiler/typeInferenceCacheInvalidation.js.diff b/testdata/baselines/reference/submodule/compiler/typeInferenceCacheInvalidation.js.diff
index 15deb36c14..c33aa07752 100644
--- a/testdata/baselines/reference/submodule/compiler/typeInferenceCacheInvalidation.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/typeInferenceCacheInvalidation.js.diff
@@ -5,7 +5,6 @@
//// [typeInferenceCacheInvalidation.js]
-"use strict";
--// Repro from #32230
+ // Repro from #32230
example(42, (foo, bar) => ({
- t: () => {
- let s = bar;
\ No newline at end of file
+ t: () => {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/typeInferenceWithExcessProperties.js b/testdata/baselines/reference/submodule/compiler/typeInferenceWithExcessProperties.js
index 6a9dca22ea..6b66a0bb71 100644
--- a/testdata/baselines/reference/submodule/compiler/typeInferenceWithExcessProperties.js
+++ b/testdata/baselines/reference/submodule/compiler/typeInferenceWithExcessProperties.js
@@ -34,6 +34,7 @@ parrot({
//// [typeInferenceWithExcessProperties.js]
+// Repro from #17041
function parrot(obj) {
return obj;
}
diff --git a/testdata/baselines/reference/submodule/compiler/typeInferenceWithExcessProperties.js.diff b/testdata/baselines/reference/submodule/compiler/typeInferenceWithExcessProperties.js.diff
deleted file mode 100644
index aaeaa45b6e..0000000000
--- a/testdata/baselines/reference/submodule/compiler/typeInferenceWithExcessProperties.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.typeInferenceWithExcessProperties.js
-+++ new.typeInferenceWithExcessProperties.js
-@@= skipped -33, +33 lines =@@
-
-
- //// [typeInferenceWithExcessProperties.js]
--// Repro from #17041
- function parrot(obj) {
- return obj;
- }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/typeOfYieldWithUnionInContextualReturnType.js b/testdata/baselines/reference/submodule/compiler/typeOfYieldWithUnionInContextualReturnType.js
index a683be3c17..76d9233294 100644
--- a/testdata/baselines/reference/submodule/compiler/typeOfYieldWithUnionInContextualReturnType.js
+++ b/testdata/baselines/reference/submodule/compiler/typeOfYieldWithUnionInContextualReturnType.js
@@ -43,6 +43,7 @@ const looserAsyncFactory: SequenceFactory = async function* (){
//// [typeOfYieldWithUnionInContextualReturnType.js]
+// https://github.com/microsoft/TypeScript/issues/42439
const syncFactory = function* () {
let name = "";
while (!name) {
diff --git a/testdata/baselines/reference/submodule/compiler/typeOfYieldWithUnionInContextualReturnType.js.diff b/testdata/baselines/reference/submodule/compiler/typeOfYieldWithUnionInContextualReturnType.js.diff
index 3f73705001..b833453eb8 100644
--- a/testdata/baselines/reference/submodule/compiler/typeOfYieldWithUnionInContextualReturnType.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/typeOfYieldWithUnionInContextualReturnType.js.diff
@@ -1,10 +1,6 @@
--- old.typeOfYieldWithUnionInContextualReturnType.js
+++ new.typeOfYieldWithUnionInContextualReturnType.js
-@@= skipped -42, +42 lines =@@
-
-
- //// [typeOfYieldWithUnionInContextualReturnType.js]
--// https://github.com/microsoft/TypeScript/issues/42439
+@@= skipped -46, +46 lines =@@
const syncFactory = function* () {
let name = "";
while (!name) {
diff --git a/testdata/baselines/reference/submodule/compiler/typeParameterConstraintInstantiation.js b/testdata/baselines/reference/submodule/compiler/typeParameterConstraintInstantiation.js
index 3657141b99..54c984e97c 100644
--- a/testdata/baselines/reference/submodule/compiler/typeParameterConstraintInstantiation.js
+++ b/testdata/baselines/reference/submodule/compiler/typeParameterConstraintInstantiation.js
@@ -12,5 +12,6 @@ var a = m.map((x: string) => x); // string[]
//// [typeParameterConstraintInstantiation.js]
+// Check that type parameter constraints are properly instantiated
var m;
var a = m.map((x) => x); // string[]
diff --git a/testdata/baselines/reference/submodule/compiler/typeParameterConstraintInstantiation.js.diff b/testdata/baselines/reference/submodule/compiler/typeParameterConstraintInstantiation.js.diff
deleted file mode 100644
index 9948bf797e..0000000000
--- a/testdata/baselines/reference/submodule/compiler/typeParameterConstraintInstantiation.js.diff
+++ /dev/null
@@ -1,9 +0,0 @@
---- old.typeParameterConstraintInstantiation.js
-+++ new.typeParameterConstraintInstantiation.js
-@@= skipped -11, +11 lines =@@
-
-
- //// [typeParameterConstraintInstantiation.js]
--// Check that type parameter constraints are properly instantiated
- var m;
- var a = m.map((x) => x); // string[]
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/typeParameterLeak.js b/testdata/baselines/reference/submodule/compiler/typeParameterLeak.js
index 23a0e8b859..634e34ed50 100644
--- a/testdata/baselines/reference/submodule/compiler/typeParameterLeak.js
+++ b/testdata/baselines/reference/submodule/compiler/typeParameterLeak.js
@@ -22,6 +22,7 @@ if (b) {
//// [typeParameterLeak.js]
+// Repro from #35655
var _a;
const b = (_a = f({ x: "", y: "" })) === null || _a === void 0 ? void 0 : _a.getBox();
if (b) {
diff --git a/testdata/baselines/reference/submodule/compiler/typeParameterLeak.js.diff b/testdata/baselines/reference/submodule/compiler/typeParameterLeak.js.diff
index 8d4bbd55b3..eb4ac1eac5 100644
--- a/testdata/baselines/reference/submodule/compiler/typeParameterLeak.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/typeParameterLeak.js.diff
@@ -5,7 +5,6 @@
//// [typeParameterLeak.js]
-"use strict";
--// Repro from #35655
+ // Repro from #35655
var _a;
- const b = (_a = f({ x: "", y: "" })) === null || _a === void 0 ? void 0 : _a.getBox();
- if (b) {
\ No newline at end of file
+ const b = (_a = f({ x: "", y: "" })) === null || _a === void 0 ? void 0 : _a.getBox();
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/typePredicateInLoop.js b/testdata/baselines/reference/submodule/compiler/typePredicateInLoop.js
index d657daa82a..ef7caba8a4 100644
--- a/testdata/baselines/reference/submodule/compiler/typePredicateInLoop.js
+++ b/testdata/baselines/reference/submodule/compiler/typePredicateInLoop.js
@@ -25,6 +25,7 @@ export function y(arg: Type): void {
//// [typePredicateInLoop.js]
"use strict";
+// Repro from #12101
Object.defineProperty(exports, "__esModule", { value: true });
exports.y = y;
const guard = (arg) => arg.type === 1;
diff --git a/testdata/baselines/reference/submodule/compiler/typePredicateInLoop.js.diff b/testdata/baselines/reference/submodule/compiler/typePredicateInLoop.js.diff
deleted file mode 100644
index 2e27873425..0000000000
--- a/testdata/baselines/reference/submodule/compiler/typePredicateInLoop.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.typePredicateInLoop.js
-+++ new.typePredicateInLoop.js
-@@= skipped -24, +24 lines =@@
-
- //// [typePredicateInLoop.js]
- "use strict";
--// Repro from #12101
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.y = y;
- const guard = (arg) => arg.type === 1;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/typePredicateWithThisParameter.js b/testdata/baselines/reference/submodule/compiler/typePredicateWithThisParameter.js
index 6497117c52..88ca618a69 100644
--- a/testdata/baselines/reference/submodule/compiler/typePredicateWithThisParameter.js
+++ b/testdata/baselines/reference/submodule/compiler/typePredicateWithThisParameter.js
@@ -30,6 +30,7 @@ if (isFoo2(test)) {
//// [typePredicateWithThisParameter.js]
+// Repro from #15310
function isFoo1(object) {
return 'foo' in object;
}
diff --git a/testdata/baselines/reference/submodule/compiler/typePredicateWithThisParameter.js.diff b/testdata/baselines/reference/submodule/compiler/typePredicateWithThisParameter.js.diff
deleted file mode 100644
index ff69d1ad66..0000000000
--- a/testdata/baselines/reference/submodule/compiler/typePredicateWithThisParameter.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.typePredicateWithThisParameter.js
-+++ new.typePredicateWithThisParameter.js
-@@= skipped -29, +29 lines =@@
-
-
- //// [typePredicateWithThisParameter.js]
--// Repro from #15310
- function isFoo1(object) {
- return 'foo' in object;
- }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/typeReferenceDirectives7.js b/testdata/baselines/reference/submodule/compiler/typeReferenceDirectives7.js
index cefc57834a..6bedc1b86e 100644
--- a/testdata/baselines/reference/submodule/compiler/typeReferenceDirectives7.js
+++ b/testdata/baselines/reference/submodule/compiler/typeReferenceDirectives7.js
@@ -14,9 +14,9 @@ export let y = () => x
//// [app.js]
"use strict";
+///
Object.defineProperty(exports, "__esModule", { value: true });
exports.y = exports.x = exports.$ = void 0;
-///
exports.$ = 1;
let y = () => exports.x;
exports.y = y;
diff --git a/testdata/baselines/reference/submodule/compiler/typeReferenceDirectives7.js.diff b/testdata/baselines/reference/submodule/compiler/typeReferenceDirectives7.js.diff
deleted file mode 100644
index 94902b00dd..0000000000
--- a/testdata/baselines/reference/submodule/compiler/typeReferenceDirectives7.js.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- old.typeReferenceDirectives7.js
-+++ new.typeReferenceDirectives7.js
-@@= skipped -13, +13 lines =@@
-
- //// [app.js]
- "use strict";
--///
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.y = exports.x = exports.$ = void 0;
-+///
- exports.$ = 1;
- let y = () => exports.x;
- exports.y = y;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/typeReferenceDirectives9.js b/testdata/baselines/reference/submodule/compiler/typeReferenceDirectives9.js
index 4329c39e2b..50d48c587a 100644
--- a/testdata/baselines/reference/submodule/compiler/typeReferenceDirectives9.js
+++ b/testdata/baselines/reference/submodule/compiler/typeReferenceDirectives9.js
@@ -41,8 +41,8 @@ class Cls {
exports.Cls = Cls;
//// [mod1.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
///
+Object.defineProperty(exports, "__esModule", { value: true });
const main_1 = require("./main");
main_1.Cls.prototype.foo = function () { return undefined; };
//// [mod2.js]
diff --git a/testdata/baselines/reference/submodule/compiler/typeReferenceDirectives9.js.diff b/testdata/baselines/reference/submodule/compiler/typeReferenceDirectives9.js.diff
index 3e3de03b42..c1ee095aab 100644
--- a/testdata/baselines/reference/submodule/compiler/typeReferenceDirectives9.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/typeReferenceDirectives9.js.diff
@@ -9,9 +9,8 @@
exports.Cls = Cls;
//// [mod1.js]
"use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
///
--Object.defineProperty(exports, "__esModule", { value: true });
+ Object.defineProperty(exports, "__esModule", { value: true });
-var main_1 = require("./main");
+const main_1 = require("./main");
main_1.Cls.prototype.foo = function () { return undefined; };
diff --git a/testdata/baselines/reference/submodule/compiler/typeVariableTypeGuards.js b/testdata/baselines/reference/submodule/compiler/typeVariableTypeGuards.js
index 5297158129..258c49c441 100644
--- a/testdata/baselines/reference/submodule/compiler/typeVariableTypeGuards.js
+++ b/testdata/baselines/reference/submodule/compiler/typeVariableTypeGuards.js
@@ -93,6 +93,7 @@ function f6 {})>(a: T) {
//// [typeVariableTypeGuards.js]
+// Repro from #14091
class A {
props;
constructor(props) {
diff --git a/testdata/baselines/reference/submodule/compiler/typeVariableTypeGuards.js.diff b/testdata/baselines/reference/submodule/compiler/typeVariableTypeGuards.js.diff
index b767fae14e..1e8384307e 100644
--- a/testdata/baselines/reference/submodule/compiler/typeVariableTypeGuards.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/typeVariableTypeGuards.js.diff
@@ -5,13 +5,13 @@
//// [typeVariableTypeGuards.js]
-"use strict";
--// Repro from #14091
+ // Repro from #14091
class A {
+ props;
constructor(props) {
this.props = props;
}
-@@= skipped -11, +10 lines =@@
+@@= skipped -11, +11 lines =@@
}
}
class Monkey {
diff --git a/testdata/baselines/reference/submodule/compiler/unionReductionMutualSubtypes.js b/testdata/baselines/reference/submodule/compiler/unionReductionMutualSubtypes.js
index 602e17fcb6..cb229487ce 100644
--- a/testdata/baselines/reference/submodule/compiler/unionReductionMutualSubtypes.js
+++ b/testdata/baselines/reference/submodule/compiler/unionReductionMutualSubtypes.js
@@ -17,6 +17,7 @@ function run(options: { something?(b?: string): void }) {
//// [unionReductionMutualSubtypes.js]
+// Repro from #35414
const k = { something() { } };
function run(options) {
var _a;
diff --git a/testdata/baselines/reference/submodule/compiler/unionReductionMutualSubtypes.js.diff b/testdata/baselines/reference/submodule/compiler/unionReductionMutualSubtypes.js.diff
index 6b388cf05e..d436a9641f 100644
--- a/testdata/baselines/reference/submodule/compiler/unionReductionMutualSubtypes.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/unionReductionMutualSubtypes.js.diff
@@ -5,7 +5,6 @@
//// [unionReductionMutualSubtypes.js]
-"use strict";
--// Repro from #35414
+ // Repro from #35414
const k = { something() { } };
- function run(options) {
- var _a;
\ No newline at end of file
+ function run(options) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/unionTypeParameterInference.js b/testdata/baselines/reference/submodule/compiler/unionTypeParameterInference.js
index 1a92f1d19b..456846d6bc 100644
--- a/testdata/baselines/reference/submodule/compiler/unionTypeParameterInference.js
+++ b/testdata/baselines/reference/submodule/compiler/unionTypeParameterInference.js
@@ -13,6 +13,7 @@ function unlift(value: U | Foo): U {
//// [unionTypeParameterInference.js]
+// Regression test for #5861
function unlift(value) {
return lift(value).prop;
}
diff --git a/testdata/baselines/reference/submodule/compiler/unionTypeParameterInference.js.diff b/testdata/baselines/reference/submodule/compiler/unionTypeParameterInference.js.diff
deleted file mode 100644
index 2e2a207288..0000000000
--- a/testdata/baselines/reference/submodule/compiler/unionTypeParameterInference.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.unionTypeParameterInference.js
-+++ new.unionTypeParameterInference.js
-@@= skipped -12, +12 lines =@@
-
-
- //// [unionTypeParameterInference.js]
--// Regression test for #5861
- function unlift(value) {
- return lift(value).prop;
- }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/unmatchedParameterPositions.js b/testdata/baselines/reference/submodule/compiler/unmatchedParameterPositions.js
index 9e528f0b15..4e05cef004 100644
--- a/testdata/baselines/reference/submodule/compiler/unmatchedParameterPositions.js
+++ b/testdata/baselines/reference/submodule/compiler/unmatchedParameterPositions.js
@@ -9,5 +9,6 @@ let t2: (...args: []) => unknown[] = s;
//// [unmatchedParameterPositions.js]
+// Repros from #40251
let t1 = s;
let t2 = s;
diff --git a/testdata/baselines/reference/submodule/compiler/unmatchedParameterPositions.js.diff b/testdata/baselines/reference/submodule/compiler/unmatchedParameterPositions.js.diff
index 2463ae4125..49931e0146 100644
--- a/testdata/baselines/reference/submodule/compiler/unmatchedParameterPositions.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/unmatchedParameterPositions.js.diff
@@ -5,6 +5,6 @@
//// [unmatchedParameterPositions.js]
-"use strict";
--// Repros from #40251
+ // Repros from #40251
let t1 = s;
let t2 = s;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/unwitnessedTypeParameterVariance.js b/testdata/baselines/reference/submodule/compiler/unwitnessedTypeParameterVariance.js
index 046a97e286..156765d6ff 100644
--- a/testdata/baselines/reference/submodule/compiler/unwitnessedTypeParameterVariance.js
+++ b/testdata/baselines/reference/submodule/compiler/unwitnessedTypeParameterVariance.js
@@ -28,6 +28,7 @@ b = a;
//// [unwitnessedTypeParameterVariance.js]
"use strict";
+// Repros from #33872
Object.defineProperty(exports, "__esModule", { value: true });
function foo() {
const unk = { read: (origin) => unk };
diff --git a/testdata/baselines/reference/submodule/compiler/unwitnessedTypeParameterVariance.js.diff b/testdata/baselines/reference/submodule/compiler/unwitnessedTypeParameterVariance.js.diff
deleted file mode 100644
index 4f2ad7bc64..0000000000
--- a/testdata/baselines/reference/submodule/compiler/unwitnessedTypeParameterVariance.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.unwitnessedTypeParameterVariance.js
-+++ new.unwitnessedTypeParameterVariance.js
-@@= skipped -27, +27 lines =@@
-
- //// [unwitnessedTypeParameterVariance.js]
- "use strict";
--// Repros from #33872
- Object.defineProperty(exports, "__esModule", { value: true });
- function foo() {
- const unk = { read: (origin) => unk };
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/varianceAnnotationValidation.js b/testdata/baselines/reference/submodule/compiler/varianceAnnotationValidation.js
index 3d5dfe3c63..87b1176659 100644
--- a/testdata/baselines/reference/submodule/compiler/varianceAnnotationValidation.js
+++ b/testdata/baselines/reference/submodule/compiler/varianceAnnotationValidation.js
@@ -31,6 +31,7 @@ cd = ca; // Error
//// [varianceAnnotationValidation.js]
+// Repro from #49607
;
class Dog {
run() { }
diff --git a/testdata/baselines/reference/submodule/compiler/varianceAnnotationValidation.js.diff b/testdata/baselines/reference/submodule/compiler/varianceAnnotationValidation.js.diff
index 0277acfb2a..cd43e2bd12 100644
--- a/testdata/baselines/reference/submodule/compiler/varianceAnnotationValidation.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/varianceAnnotationValidation.js.diff
@@ -5,7 +5,6 @@
//// [varianceAnnotationValidation.js]
-"use strict";
--// Repro from #49607
+ // Repro from #49607
;
- class Dog {
- run() { }
\ No newline at end of file
+ class Dog {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/compiler/varianceMeasurement.js b/testdata/baselines/reference/submodule/compiler/varianceMeasurement.js
index 0696f23196..6f98f053cb 100644
--- a/testdata/baselines/reference/submodule/compiler/varianceMeasurement.js
+++ b/testdata/baselines/reference/submodule/compiler/varianceMeasurement.js
@@ -79,6 +79,8 @@ const c1: C = new C(); // Error
//// [varianceMeasurement.js]
+// The type below should be invariant in T but is measured as covariant because
+// we don't analyze recursive references.
const f11 = f10;
const f12 = f10;
const f21 = f20;
diff --git a/testdata/baselines/reference/submodule/compiler/varianceMeasurement.js.diff b/testdata/baselines/reference/submodule/compiler/varianceMeasurement.js.diff
index d9a25207ee..1b4843b5ca 100644
--- a/testdata/baselines/reference/submodule/compiler/varianceMeasurement.js.diff
+++ b/testdata/baselines/reference/submodule/compiler/varianceMeasurement.js.diff
@@ -5,8 +5,6 @@
//// [varianceMeasurement.js]
-"use strict";
--// The type below should be invariant in T but is measured as covariant because
--// we don't analyze recursive references.
- const f11 = f10;
- const f12 = f10;
- const f21 = f20;
\ No newline at end of file
+ // The type below should be invariant in T but is measured as covariant because
+ // we don't analyze recursive references.
+ const f11 = f10;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/1.0lib-noErrors.js b/testdata/baselines/reference/submodule/conformance/1.0lib-noErrors.js
index 4f7777ad5a..b190ac91b1 100644
--- a/testdata/baselines/reference/submodule/conformance/1.0lib-noErrors.js
+++ b/testdata/baselines/reference/submodule/conformance/1.0lib-noErrors.js
@@ -1146,4 +1146,18 @@ declare var Array: {
}
//// [1.0lib-noErrors.js]
+/* *****************************************************************************
+Copyright (c) Microsoft Corporation. All rights reserved.
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at http://www.apache.org/licenses/LICENSE-2.0
+
+THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
+WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
+MERCHANTABLITY OR NON-INFRINGEMENT.
+
+See the Apache Version 2.0 License for specific language governing permissions
+and limitations under the License.
+***************************************************************************** */
///
diff --git a/testdata/baselines/reference/submodule/conformance/1.0lib-noErrors.js.diff b/testdata/baselines/reference/submodule/conformance/1.0lib-noErrors.js.diff
deleted file mode 100644
index 57b6cb0003..0000000000
--- a/testdata/baselines/reference/submodule/conformance/1.0lib-noErrors.js.diff
+++ /dev/null
@@ -1,21 +0,0 @@
---- old.1.0lib-noErrors.js
-+++ new.1.0lib-noErrors.js
-@@= skipped -1146, +1146 lines =@@
-
-
- //// [1.0lib-noErrors.js]
--/* *****************************************************************************
--Copyright (c) Microsoft Corporation. All rights reserved.
--Licensed under the Apache License, Version 2.0 (the "License"); you may not use
--this file except in compliance with the License. You may obtain a copy of the
--License at http://www.apache.org/licenses/LICENSE-2.0
--
--THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
--KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
--WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
--MERCHANTABLITY OR NON-INFRINGEMENT.
--
--See the Apache Version 2.0 License for specific language governing permissions
--and limitations under the License.
--***************************************************************************** */
- ///
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/accessorsOverrideProperty9.js b/testdata/baselines/reference/submodule/conformance/accessorsOverrideProperty9.js
index f18dd896b3..0cec04281e 100644
--- a/testdata/baselines/reference/submodule/conformance/accessorsOverrideProperty9.js
+++ b/testdata/baselines/reference/submodule/conformance/accessorsOverrideProperty9.js
@@ -51,6 +51,7 @@ export class ApiEnum extends ApiItemContainerMixin(ApiItem) {
//// [accessorsOverrideProperty9.js]
+// #41347, based on microsoft/rushstack
// Base class
class ApiItem {
get members() {
diff --git a/testdata/baselines/reference/submodule/conformance/accessorsOverrideProperty9.js.diff b/testdata/baselines/reference/submodule/conformance/accessorsOverrideProperty9.js.diff
deleted file mode 100644
index 4c46bbd113..0000000000
--- a/testdata/baselines/reference/submodule/conformance/accessorsOverrideProperty9.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.accessorsOverrideProperty9.js
-+++ new.accessorsOverrideProperty9.js
-@@= skipped -50, +50 lines =@@
-
-
- //// [accessorsOverrideProperty9.js]
--// #41347, based on microsoft/rushstack
- // Base class
- class ApiItem {
- get members() {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/ambientEnumDeclaration1.js b/testdata/baselines/reference/submodule/conformance/ambientEnumDeclaration1.js
index 567a366d1f..392815014a 100644
--- a/testdata/baselines/reference/submodule/conformance/ambientEnumDeclaration1.js
+++ b/testdata/baselines/reference/submodule/conformance/ambientEnumDeclaration1.js
@@ -12,3 +12,4 @@ declare enum E {
}
//// [ambientEnumDeclaration1.js]
+// In ambient enum declarations, all values specified in enum member declarations must be classified as constant enum expressions.
diff --git a/testdata/baselines/reference/submodule/conformance/ambientEnumDeclaration1.js.diff b/testdata/baselines/reference/submodule/conformance/ambientEnumDeclaration1.js.diff
deleted file mode 100644
index 01c933ef72..0000000000
--- a/testdata/baselines/reference/submodule/conformance/ambientEnumDeclaration1.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.ambientEnumDeclaration1.js
-+++ new.ambientEnumDeclaration1.js
-@@= skipped -11, +11 lines =@@
- }
-
- //// [ambientEnumDeclaration1.js]
--// In ambient enum declarations, all values specified in enum member declarations must be classified as constant enum expressions.
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/ambientEnumDeclaration2.js b/testdata/baselines/reference/submodule/conformance/ambientEnumDeclaration2.js
index ddd4166f04..52b0c859f0 100644
--- a/testdata/baselines/reference/submodule/conformance/ambientEnumDeclaration2.js
+++ b/testdata/baselines/reference/submodule/conformance/ambientEnumDeclaration2.js
@@ -15,3 +15,5 @@ declare const enum E1 {
}
//// [ambientEnumDeclaration2.js]
+// In ambient enum declarations that specify no const modifier, enum member declarations
+// that omit a value are considered computed members (as opposed to having auto- incremented values assigned).
diff --git a/testdata/baselines/reference/submodule/conformance/ambientEnumDeclaration2.js.diff b/testdata/baselines/reference/submodule/conformance/ambientEnumDeclaration2.js.diff
deleted file mode 100644
index 5cdb2d8615..0000000000
--- a/testdata/baselines/reference/submodule/conformance/ambientEnumDeclaration2.js.diff
+++ /dev/null
@@ -1,8 +0,0 @@
---- old.ambientEnumDeclaration2.js
-+++ new.ambientEnumDeclaration2.js
-@@= skipped -14, +14 lines =@@
- }
-
- //// [ambientEnumDeclaration2.js]
--// In ambient enum declarations that specify no const modifier, enum member declarations
--// that omit a value are considered computed members (as opposed to having auto- incremented values assigned).
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/ambientModuleDeclarationWithReservedIdentifierInDottedPath.js b/testdata/baselines/reference/submodule/conformance/ambientModuleDeclarationWithReservedIdentifierInDottedPath.js
index 1f1316eea5..8066fd7de6 100644
--- a/testdata/baselines/reference/submodule/conformance/ambientModuleDeclarationWithReservedIdentifierInDottedPath.js
+++ b/testdata/baselines/reference/submodule/conformance/ambientModuleDeclarationWithReservedIdentifierInDottedPath.js
@@ -16,6 +16,7 @@ declare module debugger {} // still an error
//// [ambientModuleDeclarationWithReservedIdentifierInDottedPath.js]
"use strict";
+// https://github.com/microsoft/TypeScript/issues/7840
Object.defineProperty(exports, "__esModule", { value: true });
exports.tabId = void 0;
exports.tabId = chrome.debugger.tabId;
diff --git a/testdata/baselines/reference/submodule/conformance/ambientModuleDeclarationWithReservedIdentifierInDottedPath.js.diff b/testdata/baselines/reference/submodule/conformance/ambientModuleDeclarationWithReservedIdentifierInDottedPath.js.diff
deleted file mode 100644
index e240c699c5..0000000000
--- a/testdata/baselines/reference/submodule/conformance/ambientModuleDeclarationWithReservedIdentifierInDottedPath.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.ambientModuleDeclarationWithReservedIdentifierInDottedPath.js
-+++ new.ambientModuleDeclarationWithReservedIdentifierInDottedPath.js
-@@= skipped -15, +15 lines =@@
-
- //// [ambientModuleDeclarationWithReservedIdentifierInDottedPath.js]
- "use strict";
--// https://github.com/microsoft/TypeScript/issues/7840
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.tabId = void 0;
- exports.tabId = chrome.debugger.tabId;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/anyAssignabilityInInheritance.js b/testdata/baselines/reference/submodule/conformance/anyAssignabilityInInheritance.js
index d6b30214b8..2d05b18f89 100644
--- a/testdata/baselines/reference/submodule/conformance/anyAssignabilityInInheritance.js
+++ b/testdata/baselines/reference/submodule/conformance/anyAssignabilityInInheritance.js
@@ -91,6 +91,7 @@ declare function foo18(x: any): any;
var r3 = foo3(a); // any
//// [anyAssignabilityInInheritance.js]
+// any is not a subtype of any other types, errors expected on all the below derived classes unless otherwise noted
var a;
var r3 = foo2(a); // any, not a subtype of number so it skips that overload, is a subtype of itself so it picks second (if truly ambiguous it would pick first overload)
var r3 = foo3(a); // any
diff --git a/testdata/baselines/reference/submodule/conformance/anyAssignabilityInInheritance.js.diff b/testdata/baselines/reference/submodule/conformance/anyAssignabilityInInheritance.js.diff
index b4ed3eae7c..6fcfa30525 100644
--- a/testdata/baselines/reference/submodule/conformance/anyAssignabilityInInheritance.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/anyAssignabilityInInheritance.js.diff
@@ -1,14 +1,6 @@
--- old.anyAssignabilityInInheritance.js
+++ new.anyAssignabilityInInheritance.js
-@@= skipped -90, +90 lines =@@
- var r3 = foo3(a); // any
-
- //// [anyAssignabilityInInheritance.js]
--// any is not a subtype of any other types, errors expected on all the below derived classes unless otherwise noted
- var a;
- var r3 = foo2(a); // any, not a subtype of number so it skips that overload, is a subtype of itself so it picks second (if truly ambiguous it would pick first overload)
- var r3 = foo3(a); // any
-@@= skipped -11, +10 lines =@@
+@@= skipped -101, +101 lines =@@
var r3 = foo3(a); // any
var r3 = foo3(a); // any
class A {
diff --git a/testdata/baselines/reference/submodule/conformance/anyAssignableToEveryType2.js b/testdata/baselines/reference/submodule/conformance/anyAssignableToEveryType2.js
index df697c8f0b..cbb6d014e8 100644
--- a/testdata/baselines/reference/submodule/conformance/anyAssignableToEveryType2.js
+++ b/testdata/baselines/reference/submodule/conformance/anyAssignableToEveryType2.js
@@ -133,6 +133,7 @@ interface I20 {
//// [anyAssignableToEveryType2.js]
+// any is not a subtype of any other types, but is assignable, all the below should work
class A {
foo;
}
diff --git a/testdata/baselines/reference/submodule/conformance/anyAssignableToEveryType2.js.diff b/testdata/baselines/reference/submodule/conformance/anyAssignableToEveryType2.js.diff
index dafd6e5bb9..ba22600973 100644
--- a/testdata/baselines/reference/submodule/conformance/anyAssignableToEveryType2.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/anyAssignableToEveryType2.js.diff
@@ -1,10 +1,8 @@
--- old.anyAssignableToEveryType2.js
+++ new.anyAssignableToEveryType2.js
-@@= skipped -132, +132 lines =@@
-
-
+@@= skipped -134, +134 lines =@@
//// [anyAssignableToEveryType2.js]
--// any is not a subtype of any other types, but is assignable, all the below should work
+ // any is not a subtype of any other types, but is assignable, all the below should work
class A {
+ foo;
}
@@ -13,7 +11,7 @@
}
var E;
(function (E) {
-@@= skipped -14, +15 lines =@@
+@@= skipped -12, +14 lines =@@
f.bar = 1;
})(f || (f = {}));
class c {
diff --git a/testdata/baselines/reference/submodule/conformance/arrayLiteralInference.js b/testdata/baselines/reference/submodule/conformance/arrayLiteralInference.js
index 6cec9c11c9..f8a739934b 100644
--- a/testdata/baselines/reference/submodule/conformance/arrayLiteralInference.js
+++ b/testdata/baselines/reference/submodule/conformance/arrayLiteralInference.js
@@ -37,8 +37,8 @@ let b2: boolean[][] = foo([true], [false]);
//// [arrayLiteralInference.js]
-export { AppType };
// Repro from #31204
+export { AppType };
var AppType;
(function (AppType) {
AppType["HeaderDetail"] = "HeaderDetail";
diff --git a/testdata/baselines/reference/submodule/conformance/arrayLiteralInference.js.diff b/testdata/baselines/reference/submodule/conformance/arrayLiteralInference.js.diff
index be0dcbab5c..6c1f170721 100644
--- a/testdata/baselines/reference/submodule/conformance/arrayLiteralInference.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/arrayLiteralInference.js.diff
@@ -1,17 +1,16 @@
--- old.arrayLiteralInference.js
+++ new.arrayLiteralInference.js
-@@= skipped -36, +36 lines =@@
-
+@@= skipped -37, +37 lines =@@
//// [arrayLiteralInference.js]
-+export { AppType };
// Repro from #31204
-export var AppType;
++export { AppType };
+var AppType;
(function (AppType) {
AppType["HeaderDetail"] = "HeaderDetail";
AppType["HeaderMultiDetail"] = "HeaderMultiDetail";
-@@= skipped -13, +14 lines =@@
+@@= skipped -12, +13 lines =@@
AppType["ListOnly"] = "ListOnly";
AppType["ModuleSettings"] = "ModuleSettings";
})(AppType || (AppType = {}));
diff --git a/testdata/baselines/reference/submodule/conformance/assertionTypePredicates2.js b/testdata/baselines/reference/submodule/conformance/assertionTypePredicates2.js
index b0320bf6dd..4f234c9ea6 100644
--- a/testdata/baselines/reference/submodule/conformance/assertionTypePredicates2.js
+++ b/testdata/baselines/reference/submodule/conformance/assertionTypePredicates2.js
@@ -27,11 +27,11 @@ export const main = () => {
//// [assertionTypePredicates2.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.main = void 0;
/**
* @typedef {{ x: number }} A
*/
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.main = void 0;
/**
* @typedef { A & { y: number } } B
*/
diff --git a/testdata/baselines/reference/submodule/conformance/assertionTypePredicates2.js.diff b/testdata/baselines/reference/submodule/conformance/assertionTypePredicates2.js.diff
index ae9f8f494d..f1321522e7 100644
--- a/testdata/baselines/reference/submodule/conformance/assertionTypePredicates2.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/assertionTypePredicates2.js.diff
@@ -1,22 +1,6 @@
--- old.assertionTypePredicates2.js
+++ new.assertionTypePredicates2.js
-@@= skipped -26, +26 lines =@@
-
- //// [assertionTypePredicates2.js]
- "use strict";
--/**
-- * @typedef {{ x: number }} A
-- */
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.main = void 0;
- /**
-+ * @typedef {{ x: number }} A
-+ */
-+/**
- * @typedef { A & { y: number } } B
- */
- /**
-@@= skipped -13, +13 lines =@@
+@@= skipped -39, +39 lines =@@
* @returns { asserts a is B }
*/
const foo = (a) => {
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignatures.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignatures.js
index e60500c65d..a485c54418 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignatures.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignatures.js
@@ -46,6 +46,7 @@ a = function (x: string) { return ''; }
//// [assignmentCompatWithCallSignatures.js]
+// void returning call signatures can be assigned a non-void returning call signature that otherwise matches
var t;
var a;
t = a;
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignatures.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignatures.js.diff
deleted file mode 100644
index 16b5827a1f..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignatures.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithCallSignatures.js
-+++ new.assignmentCompatWithCallSignatures.js
-@@= skipped -45, +45 lines =@@
-
-
- //// [assignmentCompatWithCallSignatures.js]
--// void returning call signatures can be assigned a non-void returning call signature that otherwise matches
- var t;
- var a;
- t = a;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignatures2.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignatures2.js
index 3d1d481a7d..a4f7d95667 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignatures2.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignatures2.js
@@ -53,6 +53,7 @@ a = function (x: string) { return ''; }
//// [assignmentCompatWithCallSignatures2.js]
+// void returning call signatures can be assigned a non-void returning call signature that otherwise matches
var t;
var a;
t = a;
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignatures2.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignatures2.js.diff
deleted file mode 100644
index 5790bde4da..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignatures2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithCallSignatures2.js
-+++ new.assignmentCompatWithCallSignatures2.js
-@@= skipped -52, +52 lines =@@
-
-
- //// [assignmentCompatWithCallSignatures2.js]
--// void returning call signatures can be assigned a non-void returning call signature that otherwise matches
- var t;
- var a;
- t = a;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignaturesWithOptionalParameters.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignaturesWithOptionalParameters.js
index 7458ed451a..7ae69152d7 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignaturesWithOptionalParameters.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignaturesWithOptionalParameters.js
@@ -72,6 +72,7 @@ var a5: (x?: number, y?: number) => number;
a5 = b.a6; // ok, same number of params
//// [assignmentCompatWithCallSignaturesWithOptionalParameters.js]
+// call signatures in derived types must have the same or fewer optional parameters as the base type
var b;
var a;
a = () => 1; // ok, same number of required params
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignaturesWithOptionalParameters.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignaturesWithOptionalParameters.js.diff
deleted file mode 100644
index 8a4a29a716..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignaturesWithOptionalParameters.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithCallSignaturesWithOptionalParameters.js
-+++ new.assignmentCompatWithCallSignaturesWithOptionalParameters.js
-@@= skipped -71, +71 lines =@@
- a5 = b.a6; // ok, same number of params
-
- //// [assignmentCompatWithCallSignaturesWithOptionalParameters.js]
--// call signatures in derived types must have the same or fewer optional parameters as the base type
- var b;
- var a;
- a = () => 1; // ok, same number of required params
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignaturesWithRestParameters.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignaturesWithRestParameters.js
index ce123a4262..cfd3135696 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignaturesWithRestParameters.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignaturesWithRestParameters.js
@@ -48,6 +48,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number;
a4 = (x: number, ...args: string[]) => 1; // error, rest params have type mismatch
//// [assignmentCompatWithCallSignaturesWithRestParameters.js]
+// call signatures in derived types must have the same or fewer optional parameters as the target for assignment
var a; // ok, same number of required params
a = () => 1; // ok, same number of required params
a = (...args) => 1; // ok, same number of required params
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignaturesWithRestParameters.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignaturesWithRestParameters.js.diff
deleted file mode 100644
index 228d4d08b6..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithCallSignaturesWithRestParameters.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithCallSignaturesWithRestParameters.js
-+++ new.assignmentCompatWithCallSignaturesWithRestParameters.js
-@@= skipped -47, +47 lines =@@
- a4 = (x: number, ...args: string[]) => 1; // error, rest params have type mismatch
-
- //// [assignmentCompatWithCallSignaturesWithRestParameters.js]
--// call signatures in derived types must have the same or fewer optional parameters as the target for assignment
- var a; // ok, same number of required params
- a = () => 1; // ok, same number of required params
- a = (...args) => 1; // ok, same number of required params
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignatures.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignatures.js
index 5b79859fb5..27a5228a23 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignatures.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignatures.js
@@ -39,6 +39,7 @@ a = function (x: string) { return ''; }
//// [assignmentCompatWithConstructSignatures.js]
+// void returning call signatures can be assigned a non-void returning call signature that otherwise matches
var t;
var a;
t = a;
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignatures.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignatures.js.diff
deleted file mode 100644
index cd52996bfe..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignatures.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithConstructSignatures.js
-+++ new.assignmentCompatWithConstructSignatures.js
-@@= skipped -38, +38 lines =@@
-
-
- //// [assignmentCompatWithConstructSignatures.js]
--// void returning call signatures can be assigned a non-void returning call signature that otherwise matches
- var t;
- var a;
- t = a;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignatures2.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignatures2.js
index 9b2cbd643d..9ea970a122 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignatures2.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignatures2.js
@@ -45,6 +45,7 @@ a = function (x: string) { return ''; }
//// [assignmentCompatWithConstructSignatures2.js]
+// void returning call signatures can be assigned a non-void returning call signature that otherwise matches
var t;
var a;
t = a;
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignatures2.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignatures2.js.diff
deleted file mode 100644
index cca5fc9051..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignatures2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithConstructSignatures2.js
-+++ new.assignmentCompatWithConstructSignatures2.js
-@@= skipped -44, +44 lines =@@
-
-
- //// [assignmentCompatWithConstructSignatures2.js]
--// void returning call signatures can be assigned a non-void returning call signature that otherwise matches
- var t;
- var a;
- t = a;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignaturesWithOptionalParameters.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignaturesWithOptionalParameters.js
index 262e0ae89d..11b24bc490 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignaturesWithOptionalParameters.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignaturesWithOptionalParameters.js
@@ -55,6 +55,7 @@ var a5: new (x?: number, y?: number) => number;
//// [assignmentCompatWithConstructSignaturesWithOptionalParameters.js]
+// call signatures in derived types must have the same or fewer optional parameters as the base type
var b;
var a;
a = b.a; // ok
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignaturesWithOptionalParameters.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignaturesWithOptionalParameters.js.diff
deleted file mode 100644
index 0f1c11146d..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithConstructSignaturesWithOptionalParameters.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithConstructSignaturesWithOptionalParameters.js
-+++ new.assignmentCompatWithConstructSignaturesWithOptionalParameters.js
-@@= skipped -54, +54 lines =@@
-
-
- //// [assignmentCompatWithConstructSignaturesWithOptionalParameters.js]
--// call signatures in derived types must have the same or fewer optional parameters as the base type
- var b;
- var a;
- a = b.a; // ok
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures2.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures2.js
index b9824f82e1..e93ea4401c 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures2.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures2.js
@@ -20,6 +20,7 @@ b = a;
//// [assignmentCompatWithGenericCallSignatures2.js]
+// some complex cases of assignment compat of generic signatures. No contextual signature instantiation
var a;
var b;
// Both errors
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures2.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures2.js.diff
deleted file mode 100644
index 2224184d0e..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithGenericCallSignatures2.js
-+++ new.assignmentCompatWithGenericCallSignatures2.js
-@@= skipped -19, +19 lines =@@
-
-
- //// [assignmentCompatWithGenericCallSignatures2.js]
--// some complex cases of assignment compat of generic signatures. No contextual signature instantiation
- var a;
- var b;
- // Both errors
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures3.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures3.js
index 3f2d40db01..5f396a569e 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures3.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures3.js
@@ -13,6 +13,7 @@ var h: (x: T) => (y: S) => { (f: (x: T) => (y: S) => U): U }
g = h // ok
//// [assignmentCompatWithGenericCallSignatures3.js]
+// some complex cases of assignment compat of generic signatures that stress contextual signature instantiation
var g;
var h;
g = h; // ok
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures3.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures3.js.diff
deleted file mode 100644
index 5103610014..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures3.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithGenericCallSignatures3.js
-+++ new.assignmentCompatWithGenericCallSignatures3.js
-@@= skipped -12, +12 lines =@@
- g = h // ok
-
- //// [assignmentCompatWithGenericCallSignatures3.js]
--// some complex cases of assignment compat of generic signatures that stress contextual signature instantiation
- var g;
- var h;
- g = h; // ok
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures4.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures4.js
index abf84a8b57..1e73ebd4ae 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures4.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures4.js
@@ -16,6 +16,7 @@ y = x
//// [assignmentCompatWithGenericCallSignatures4.js]
+// some complex cases of assignment compat of generic signatures.
var x;
var y;
// These both do not make sense as we would eventually be comparing I2 to I2>, and they are self referencing anyway
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures4.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures4.js.diff
deleted file mode 100644
index e12646e4a0..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithGenericCallSignatures4.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithGenericCallSignatures4.js
-+++ new.assignmentCompatWithGenericCallSignatures4.js
-@@= skipped -15, +15 lines =@@
-
-
- //// [assignmentCompatWithGenericCallSignatures4.js]
--// some complex cases of assignment compat of generic signatures.
- var x;
- var y;
- // These both do not make sense as we would eventually be comparing I2 to I2>, and they are self referencing anyway
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer.js
index 2d6fc2552b..1bb0e327f2 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer.js
@@ -46,6 +46,7 @@ module Generics {
}
//// [assignmentCompatWithNumericIndexer.js]
+// Derived type indexer must be subtype of base type indexer
class A {
}
var a;
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer.js.diff
deleted file mode 100644
index 8587aac837..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithNumericIndexer.js
-+++ new.assignmentCompatWithNumericIndexer.js
-@@= skipped -45, +45 lines =@@
- }
-
- //// [assignmentCompatWithNumericIndexer.js]
--// Derived type indexer must be subtype of base type indexer
- class A {
- }
- var a;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer2.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer2.js
index e9cf80e13d..8de27703d1 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer2.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer2.js
@@ -46,6 +46,7 @@ module Generics {
}
//// [assignmentCompatWithNumericIndexer2.js]
+// Derived type indexer must be subtype of base type indexer
var a;
var b;
a = b;
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer2.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer2.js.diff
deleted file mode 100644
index d80cad6861..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithNumericIndexer2.js
-+++ new.assignmentCompatWithNumericIndexer2.js
-@@= skipped -45, +45 lines =@@
- }
-
- //// [assignmentCompatWithNumericIndexer2.js]
--// Derived type indexer must be subtype of base type indexer
- var a;
- var b;
- a = b;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer3.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer3.js
index 21fa1aacc8..f19dcc0cce 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer3.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer3.js
@@ -43,6 +43,7 @@ module Generics {
}
//// [assignmentCompatWithNumericIndexer3.js]
+// Derived type indexer must be subtype of base type indexer
class A {
}
var a;
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer3.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer3.js.diff
deleted file mode 100644
index 4d633b49e0..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithNumericIndexer3.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithNumericIndexer3.js
-+++ new.assignmentCompatWithNumericIndexer3.js
-@@= skipped -42, +42 lines =@@
- }
-
- //// [assignmentCompatWithNumericIndexer3.js]
--// Derived type indexer must be subtype of base type indexer
- class A {
- }
- var a;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer.js
index 2a6e15ef67..0192015c5b 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer.js
@@ -56,6 +56,7 @@ module Generics {
}
//// [assignmentCompatWithStringIndexer.js]
+// index signatures must be compatible in assignments
class A {
}
var a;
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer.js.diff
deleted file mode 100644
index acd39b9eca..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithStringIndexer.js
-+++ new.assignmentCompatWithStringIndexer.js
-@@= skipped -55, +55 lines =@@
- }
-
- //// [assignmentCompatWithStringIndexer.js]
--// index signatures must be compatible in assignments
- class A {
- }
- var a;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer2.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer2.js
index 6bc15696ce..17b995fa10 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer2.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer2.js
@@ -56,6 +56,7 @@ module Generics {
}
//// [assignmentCompatWithStringIndexer2.js]
+// index signatures must be compatible in assignments
var a;
var b;
a = b; // ok
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer2.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer2.js.diff
deleted file mode 100644
index f2470dad76..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithStringIndexer2.js
-+++ new.assignmentCompatWithStringIndexer2.js
-@@= skipped -55, +55 lines =@@
- }
-
- //// [assignmentCompatWithStringIndexer2.js]
--// index signatures must be compatible in assignments
- var a;
- var b;
- a = b; // ok
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer3.js b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer3.js
index c91d8c7ceb..e843e155d2 100644
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer3.js
+++ b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer3.js
@@ -26,6 +26,7 @@ module Generics {
}
//// [assignmentCompatWithStringIndexer3.js]
+// Derived type indexer must be subtype of base type indexer
var a;
var b1;
a = b1; // error
diff --git a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer3.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer3.js.diff
deleted file mode 100644
index a081aed6c5..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignmentCompatWithStringIndexer3.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.assignmentCompatWithStringIndexer3.js
-+++ new.assignmentCompatWithStringIndexer3.js
-@@= skipped -25, +25 lines =@@
- }
-
- //// [assignmentCompatWithStringIndexer3.js]
--// Derived type indexer must be subtype of base type indexer
- var a;
- var b1;
- a = b1; // error
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/assignments.js b/testdata/baselines/reference/submodule/conformance/assignments.js
index 81bf403a77..8c8c99995c 100644
--- a/testdata/baselines/reference/submodule/conformance/assignments.js
+++ b/testdata/baselines/reference/submodule/conformance/assignments.js
@@ -34,6 +34,14 @@ interface I { }
I = null; // Error
//// [assignments.js]
+// In this file:
+// Assign to a module
+// Assign to a class
+// Assign to an enum
+// Assign to a function
+// Assign to a variable
+// Assign to a parameter
+// Assign to an interface
M = null; // Error
class C {
}
diff --git a/testdata/baselines/reference/submodule/conformance/assignments.js.diff b/testdata/baselines/reference/submodule/conformance/assignments.js.diff
deleted file mode 100644
index 407158361a..0000000000
--- a/testdata/baselines/reference/submodule/conformance/assignments.js.diff
+++ /dev/null
@@ -1,17 +0,0 @@
---- old.assignments.js
-+++ new.assignments.js
-@@= skipped -33, +33 lines =@@
- I = null; // Error
-
- //// [assignments.js]
--// In this file:
--// Assign to a module
--// Assign to a class
--// Assign to an enum
--// Assign to a function
--// Assign to a variable
--// Assign to a parameter
--// Assign to an interface
- M = null; // Error
- class C {
- }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForAwaitOf.3(target=es5).js b/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForAwaitOf.3(target=es5).js
index 52d2cd81af..3eb31eb57a 100644
--- a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForAwaitOf.3(target=es5).js
+++ b/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForAwaitOf.3(target=es5).js
@@ -13,6 +13,7 @@ export async function test() {
//// [awaitUsingDeclarationsInForAwaitOf.3.js]
+// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
if (value !== null && value !== void 0) {
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
diff --git a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForAwaitOf.3(target=es5).js.diff b/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForAwaitOf.3(target=es5).js.diff
index ae4e7f8972..f760abdc5b 100644
--- a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForAwaitOf.3(target=es5).js.diff
+++ b/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForAwaitOf.3(target=es5).js.diff
@@ -1,10 +1,9 @@
--- old.awaitUsingDeclarationsInForAwaitOf.3(target=es5).js
+++ new.awaitUsingDeclarationsInForAwaitOf.3(target=es5).js
-@@= skipped -12, +12 lines =@@
-
+@@= skipped -13, +13 lines =@@
//// [awaitUsingDeclarationsInForAwaitOf.3.js]
--// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357
+ // https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
@@ -17,7 +16,7 @@
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
if (value !== null && value !== void 0) {
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
-@@= skipped -62, +52 lines =@@
+@@= skipped -61, +52 lines =@@
var e = new Error(message);
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
});
diff --git a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForAwaitOf.3(target=esnext).js b/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForAwaitOf.3(target=esnext).js
index a140ef377e..f78d407bb5 100644
--- a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForAwaitOf.3(target=esnext).js
+++ b/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForAwaitOf.3(target=esnext).js
@@ -13,6 +13,7 @@ export async function test() {
//// [awaitUsingDeclarationsInForAwaitOf.3.js]
+// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357
for await (await using of x)
;
export async function test() {
diff --git a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForAwaitOf.3(target=esnext).js.diff b/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForAwaitOf.3(target=esnext).js.diff
deleted file mode 100644
index ac44b12f8b..0000000000
--- a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForAwaitOf.3(target=esnext).js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.awaitUsingDeclarationsInForAwaitOf.3(target=esnext).js
-+++ new.awaitUsingDeclarationsInForAwaitOf.3(target=esnext).js
-@@= skipped -12, +12 lines =@@
-
-
- //// [awaitUsingDeclarationsInForAwaitOf.3.js]
--// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357
- for await (await using of x)
- ;
- export async function test() {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForOf.5(target=es5).js b/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForOf.5(target=es5).js
index 6670eb2163..606790442f 100644
--- a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForOf.5(target=es5).js
+++ b/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForOf.5(target=es5).js
@@ -13,6 +13,7 @@ export async function test() {
//// [awaitUsingDeclarationsInForOf.5.js]
+// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
if (value !== null && value !== void 0) {
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
diff --git a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForOf.5(target=es5).js.diff b/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForOf.5(target=es5).js.diff
index 322487062d..15176f9b25 100644
--- a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForOf.5(target=es5).js.diff
+++ b/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForOf.5(target=es5).js.diff
@@ -1,10 +1,9 @@
--- old.awaitUsingDeclarationsInForOf.5(target=es5).js
+++ new.awaitUsingDeclarationsInForOf.5(target=es5).js
-@@= skipped -12, +12 lines =@@
-
+@@= skipped -13, +13 lines =@@
//// [awaitUsingDeclarationsInForOf.5.js]
--// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357
+ // https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
@@ -17,7 +16,7 @@
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
if (value !== null && value !== void 0) {
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
-@@= skipped -78, +68 lines =@@
+@@= skipped -77, +68 lines =@@
await result_1;
}
}
diff --git a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForOf.5(target=esnext).js b/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForOf.5(target=esnext).js
index e4a479f769..87751e03b9 100644
--- a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForOf.5(target=esnext).js
+++ b/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForOf.5(target=esnext).js
@@ -13,6 +13,7 @@ export async function test() {
//// [awaitUsingDeclarationsInForOf.5.js]
+// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357
for (await using of x)
;
export async function test() {
diff --git a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForOf.5(target=esnext).js.diff b/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForOf.5(target=esnext).js.diff
deleted file mode 100644
index 49f66eff71..0000000000
--- a/testdata/baselines/reference/submodule/conformance/awaitUsingDeclarationsInForOf.5(target=esnext).js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.awaitUsingDeclarationsInForOf.5(target=esnext).js
-+++ new.awaitUsingDeclarationsInForOf.5(target=esnext).js
-@@= skipped -12, +12 lines =@@
-
-
- //// [awaitUsingDeclarationsInForOf.5.js]
--// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357
- for (await using of x)
- ;
- export async function test() {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/bivariantInferences.js b/testdata/baselines/reference/submodule/conformance/bivariantInferences.js
index 3f4a00fbb4..c6d093533f 100644
--- a/testdata/baselines/reference/submodule/conformance/bivariantInferences.js
+++ b/testdata/baselines/reference/submodule/conformance/bivariantInferences.js
@@ -14,4 +14,5 @@ let x = a.equalsShallow(b);
//// [bivariantInferences.js]
+// Repro from #27337
let x = a.equalsShallow(b);
diff --git a/testdata/baselines/reference/submodule/conformance/bivariantInferences.js.diff b/testdata/baselines/reference/submodule/conformance/bivariantInferences.js.diff
index b478d7ca31..6cc8b2d54b 100644
--- a/testdata/baselines/reference/submodule/conformance/bivariantInferences.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/bivariantInferences.js.diff
@@ -5,5 +5,5 @@
//// [bivariantInferences.js]
-"use strict";
--// Repro from #27337
+ // Repro from #27337
let x = a.equalsShallow(b);
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/callChainInference.js b/testdata/baselines/reference/submodule/conformance/callChainInference.js
index 28f6ee7041..f8590e733c 100644
--- a/testdata/baselines/reference/submodule/conformance/callChainInference.js
+++ b/testdata/baselines/reference/submodule/conformance/callChainInference.js
@@ -19,6 +19,7 @@ value?.foo("a");
//// [callChainInference.js]
+// Repro from #42404
if (value) {
value === null || value === void 0 ? void 0 : value.foo("a");
}
diff --git a/testdata/baselines/reference/submodule/conformance/callChainInference.js.diff b/testdata/baselines/reference/submodule/conformance/callChainInference.js.diff
index 3fada13de0..bd331a00b3 100644
--- a/testdata/baselines/reference/submodule/conformance/callChainInference.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/callChainInference.js.diff
@@ -5,7 +5,6 @@
//// [callChainInference.js]
-"use strict";
--// Repro from #42404
+ // Repro from #42404
if (value) {
- value === null || value === void 0 ? void 0 : value.foo("a");
- }
\ No newline at end of file
+ value === null || value === void 0 ? void 0 : value.foo("a");
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/callSignaturesThatDifferOnlyByReturnType2.js b/testdata/baselines/reference/submodule/conformance/callSignaturesThatDifferOnlyByReturnType2.js
index 08850058b9..28a60d2e65 100644
--- a/testdata/baselines/reference/submodule/conformance/callSignaturesThatDifferOnlyByReturnType2.js
+++ b/testdata/baselines/reference/submodule/conformance/callSignaturesThatDifferOnlyByReturnType2.js
@@ -17,6 +17,8 @@ var r2 = x.foo(''); // error
//// [callSignaturesThatDifferOnlyByReturnType2.js]
+// Normally it is an error to have multiple overloads which differ only by return type in a single type declaration.
+// Here the multiple overloads come from multiple bases.
var x;
// BUG 822524
var r = x.foo(1); // no error
diff --git a/testdata/baselines/reference/submodule/conformance/callSignaturesThatDifferOnlyByReturnType2.js.diff b/testdata/baselines/reference/submodule/conformance/callSignaturesThatDifferOnlyByReturnType2.js.diff
deleted file mode 100644
index 5bfdd78f50..0000000000
--- a/testdata/baselines/reference/submodule/conformance/callSignaturesThatDifferOnlyByReturnType2.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.callSignaturesThatDifferOnlyByReturnType2.js
-+++ new.callSignaturesThatDifferOnlyByReturnType2.js
-@@= skipped -16, +16 lines =@@
-
-
- //// [callSignaturesThatDifferOnlyByReturnType2.js]
--// Normally it is an error to have multiple overloads which differ only by return type in a single type declaration.
--// Here the multiple overloads come from multiple bases.
- var x;
- // BUG 822524
- var r = x.foo(1); // no error
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/callSignaturesThatDifferOnlyByReturnType3.js b/testdata/baselines/reference/submodule/conformance/callSignaturesThatDifferOnlyByReturnType3.js
index 509d05d773..d9ba902f71 100644
--- a/testdata/baselines/reference/submodule/conformance/callSignaturesThatDifferOnlyByReturnType3.js
+++ b/testdata/baselines/reference/submodule/conformance/callSignaturesThatDifferOnlyByReturnType3.js
@@ -21,3 +21,5 @@ interface I2 {
}
//// [callSignaturesThatDifferOnlyByReturnType3.js]
+// Normally it is an error to have multiple overloads with identical signatures in a single type declaration.
+// Here the multiple overloads come from multiple merged declarations.
diff --git a/testdata/baselines/reference/submodule/conformance/callSignaturesThatDifferOnlyByReturnType3.js.diff b/testdata/baselines/reference/submodule/conformance/callSignaturesThatDifferOnlyByReturnType3.js.diff
deleted file mode 100644
index fdbb629845..0000000000
--- a/testdata/baselines/reference/submodule/conformance/callSignaturesThatDifferOnlyByReturnType3.js.diff
+++ /dev/null
@@ -1,8 +0,0 @@
---- old.callSignaturesThatDifferOnlyByReturnType3.js
-+++ new.callSignaturesThatDifferOnlyByReturnType3.js
-@@= skipped -20, +20 lines =@@
- }
-
- //// [callSignaturesThatDifferOnlyByReturnType3.js]
--// Normally it is an error to have multiple overloads with identical signatures in a single type declaration.
--// Here the multiple overloads come from multiple merged declarations.
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/callSignaturesWithOptionalParameters2.js b/testdata/baselines/reference/submodule/conformance/callSignaturesWithOptionalParameters2.js
index fed934cbe5..5849798188 100644
--- a/testdata/baselines/reference/submodule/conformance/callSignaturesWithOptionalParameters2.js
+++ b/testdata/baselines/reference/submodule/conformance/callSignaturesWithOptionalParameters2.js
@@ -62,6 +62,7 @@ a.foo(1, 2);
a.foo(1, 2, 3);
//// [callSignaturesWithOptionalParameters2.js]
+// Optional parameters should be valid in all the below casts
function foo(x) { }
foo(1);
foo();
diff --git a/testdata/baselines/reference/submodule/conformance/callSignaturesWithOptionalParameters2.js.diff b/testdata/baselines/reference/submodule/conformance/callSignaturesWithOptionalParameters2.js.diff
deleted file mode 100644
index 92294f529b..0000000000
--- a/testdata/baselines/reference/submodule/conformance/callSignaturesWithOptionalParameters2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.callSignaturesWithOptionalParameters2.js
-+++ new.callSignaturesWithOptionalParameters2.js
-@@= skipped -61, +61 lines =@@
- a.foo(1, 2, 3);
-
- //// [callSignaturesWithOptionalParameters2.js]
--// Optional parameters should be valid in all the below casts
- function foo(x) { }
- foo(1);
- foo();
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/callSignaturesWithParameterInitializers2.js b/testdata/baselines/reference/submodule/conformance/callSignaturesWithParameterInitializers2.js
index 70d6f3556b..62d17dc834 100644
--- a/testdata/baselines/reference/submodule/conformance/callSignaturesWithParameterInitializers2.js
+++ b/testdata/baselines/reference/submodule/conformance/callSignaturesWithParameterInitializers2.js
@@ -28,6 +28,8 @@ b.foo();
b.foo(1);
//// [callSignaturesWithParameterInitializers2.js]
+// Optional parameters allow initializers only in implementation signatures
+// All the below declarations are errors
function foo(x = 1) { }
foo(1);
foo();
diff --git a/testdata/baselines/reference/submodule/conformance/callSignaturesWithParameterInitializers2.js.diff b/testdata/baselines/reference/submodule/conformance/callSignaturesWithParameterInitializers2.js.diff
deleted file mode 100644
index 802cc7b226..0000000000
--- a/testdata/baselines/reference/submodule/conformance/callSignaturesWithParameterInitializers2.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.callSignaturesWithParameterInitializers2.js
-+++ new.callSignaturesWithParameterInitializers2.js
-@@= skipped -27, +27 lines =@@
- b.foo(1);
-
- //// [callSignaturesWithParameterInitializers2.js]
--// Optional parameters allow initializers only in implementation signatures
--// All the below declarations are errors
- function foo(x = 1) { }
- foo(1);
- foo();
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js b/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js
index e8bfcd3d8f..e4a6e2d044 100644
--- a/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js
+++ b/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js
@@ -22,6 +22,13 @@ function eachPerson(callback) {
//// [cb_nested.d.ts]
+/**
+ * @callback WorksWithPeopleCallback
+ * @param {Object} person
+ * @param {string} person.name
+ * @param {number} [person.age]
+ * @returns {void}
+ */
export type WorksWithPeopleCallback = (person: {
name: string;
age?: number;
diff --git a/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js.diff b/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js.diff
index 734963ee5a..9a6867a5c8 100644
--- a/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js.diff
@@ -1,16 +1,9 @@
--- old.callbackTagNestedParameter.js
+++ new.callbackTagNestedParameter.js
-@@= skipped -21, +21 lines =@@
-
-
- //// [cb_nested.d.ts]
--/**
-- * @callback WorksWithPeopleCallback
-- * @param {Object} person
-- * @param {string} person.name
-- * @param {number} [person.age]
-- * @returns {void}
-- */
+@@= skipped -28, +28 lines =@@
+ * @param {number} [person.age]
+ * @returns {void}
+ */
-/**
- * For each person, calls your callback.
- * @param {WorksWithPeopleCallback} callback
diff --git a/testdata/baselines/reference/submodule/conformance/callbackTagVariadicType.js b/testdata/baselines/reference/submodule/conformance/callbackTagVariadicType.js
index 51d60d049b..d2acbfb849 100644
--- a/testdata/baselines/reference/submodule/conformance/callbackTagVariadicType.js
+++ b/testdata/baselines/reference/submodule/conformance/callbackTagVariadicType.js
@@ -14,13 +14,13 @@ var res = x('a', 'b')
//// [callbackTagVariadicType.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.x = void 0;
/**
* @callback Foo
* @param {...string} args
* @returns {number}
*/
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.x = void 0;
/** @type {Foo} */
const x = () => 1;
exports.x = x;
@@ -28,11 +28,11 @@ var res = (0, exports.x)('a', 'b');
//// [callbackTagVariadicType.d.ts]
-export type Foo = (...args: string) => number;
/**
* @callback Foo
* @param {...string} args
* @returns {number}
*/
+export type Foo = (...args: string) => number;
/** @type {Foo} */
export declare const x: Foo;
diff --git a/testdata/baselines/reference/submodule/conformance/callbackTagVariadicType.js.diff b/testdata/baselines/reference/submodule/conformance/callbackTagVariadicType.js.diff
index ffc9fed256..d5787732b5 100644
--- a/testdata/baselines/reference/submodule/conformance/callbackTagVariadicType.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/callbackTagVariadicType.js.diff
@@ -1,34 +1,10 @@
--- old.callbackTagVariadicType.js
+++ new.callbackTagVariadicType.js
-@@= skipped -13, +13 lines =@@
-
- //// [callbackTagVariadicType.js]
- "use strict";
--/**
-- * @callback Foo
-- * @param {...string} args
-- * @returns {number}
-- */
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.x = void 0;
-+/**
-+ * @callback Foo
-+ * @param {...string} args
-+ * @returns {number}
-+ */
- /** @type {Foo} */
- const x = () => 1;
- exports.x = x;
-@@= skipped -14, +14 lines =@@
-
-
- //// [callbackTagVariadicType.d.ts]
-+export type Foo = (...args: string) => number;
- /**
- * @callback Foo
+@@= skipped -32, +32 lines =@@
* @param {...string} args
* @returns {number}
*/
++export type Foo = (...args: string) => number;
/** @type {Foo} */
-export const x: Foo;
-export type Foo = (...args: string[]) => number;
diff --git a/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefOnlySourceFile.js b/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefOnlySourceFile.js
index 89a04a9d59..f57ff9964e 100644
--- a/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefOnlySourceFile.js
+++ b/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefOnlySourceFile.js
@@ -16,8 +16,8 @@ const myString = 'str';
//// [0.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
// @ts-check
+Object.defineProperty(exports, "__esModule", { value: true });
var exports = {};
/**
* @typedef {string}
diff --git a/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefOnlySourceFile.js.diff b/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefOnlySourceFile.js.diff
index c8f32fd793..204fcaef6a 100644
--- a/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefOnlySourceFile.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefOnlySourceFile.js.diff
@@ -5,7 +5,8 @@
//// [0.js]
+"use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
// @ts-check
++Object.defineProperty(exports, "__esModule", { value: true });
var exports = {};
- /**
\ No newline at end of file
+ /**
+ * @typedef {string}
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/checkJsxChildrenCanBeTupleType.js b/testdata/baselines/reference/submodule/conformance/checkJsxChildrenCanBeTupleType.js
index 71b865abce..a8e9ea62af 100644
--- a/testdata/baselines/reference/submodule/conformance/checkJsxChildrenCanBeTupleType.js
+++ b/testdata/baselines/reference/submodule/conformance/checkJsxChildrenCanBeTupleType.js
@@ -25,11 +25,11 @@ const testErr =
//// [checkJsxChildrenCanBeTupleType.js]
"use strict";
+///
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
-///
const react_1 = __importDefault(require("react"));
class ResizablePanel extends react_1.default.Component {
}
diff --git a/testdata/baselines/reference/submodule/conformance/checkJsxChildrenCanBeTupleType.js.diff b/testdata/baselines/reference/submodule/conformance/checkJsxChildrenCanBeTupleType.js.diff
index 50f0de8e3c..4692b199e4 100644
--- a/testdata/baselines/reference/submodule/conformance/checkJsxChildrenCanBeTupleType.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/checkJsxChildrenCanBeTupleType.js.diff
@@ -1,16 +1,10 @@
--- old.checkJsxChildrenCanBeTupleType.js
+++ new.checkJsxChildrenCanBeTupleType.js
-@@= skipped -24, +24 lines =@@
-
- //// [checkJsxChildrenCanBeTupleType.js]
- "use strict";
--///
- var __importDefault = (this && this.__importDefault) || function (mod) {
+@@= skipped -29, +29 lines =@@
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
-var react_1 = __importDefault(require("react"));
-+///
+const react_1 = __importDefault(require("react"));
class ResizablePanel extends react_1.default.Component {
}
diff --git a/testdata/baselines/reference/submodule/conformance/checkJsxUnionSFXContextualTypeInferredCorrectly.js b/testdata/baselines/reference/submodule/conformance/checkJsxUnionSFXContextualTypeInferredCorrectly.js
index 7942e3828e..2e0af15548 100644
--- a/testdata/baselines/reference/submodule/conformance/checkJsxUnionSFXContextualTypeInferredCorrectly.js
+++ b/testdata/baselines/reference/submodule/conformance/checkJsxUnionSFXContextualTypeInferredCorrectly.js
@@ -42,13 +42,13 @@ ComponentWithUnion({
//// [checkJsxUnionSFXContextualTypeInferredCorrectly.js]
"use strict";
+///
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ComponentWithUnion = ComponentWithUnion;
exports.HereIsTheError = HereIsTheError;
-///
const react_1 = __importDefault(require("react"));
function ComponentWithUnion(props) {
return react_1.default.createElement("h1", null);
diff --git a/testdata/baselines/reference/submodule/conformance/checkJsxUnionSFXContextualTypeInferredCorrectly.js.diff b/testdata/baselines/reference/submodule/conformance/checkJsxUnionSFXContextualTypeInferredCorrectly.js.diff
index 7a90de352c..337f068694 100644
--- a/testdata/baselines/reference/submodule/conformance/checkJsxUnionSFXContextualTypeInferredCorrectly.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/checkJsxUnionSFXContextualTypeInferredCorrectly.js.diff
@@ -1,18 +1,10 @@
--- old.checkJsxUnionSFXContextualTypeInferredCorrectly.js
+++ new.checkJsxUnionSFXContextualTypeInferredCorrectly.js
-@@= skipped -41, +41 lines =@@
-
- //// [checkJsxUnionSFXContextualTypeInferredCorrectly.js]
- "use strict";
--///
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
+@@= skipped -48, +48 lines =@@
Object.defineProperty(exports, "__esModule", { value: true });
exports.ComponentWithUnion = ComponentWithUnion;
exports.HereIsTheError = HereIsTheError;
-var react_1 = __importDefault(require("react"));
-+///
+const react_1 = __importDefault(require("react"));
function ComponentWithUnion(props) {
return react_1.default.createElement("h1", null);
diff --git a/testdata/baselines/reference/submodule/conformance/constEnum1.js b/testdata/baselines/reference/submodule/conformance/constEnum1.js
index 1407a5a56c..6ba59535de 100644
--- a/testdata/baselines/reference/submodule/conformance/constEnum1.js
+++ b/testdata/baselines/reference/submodule/conformance/constEnum1.js
@@ -17,6 +17,9 @@ const enum E {
}
//// [constEnum1.js]
+// An enum declaration that specifies a const modifier is a constant enum declaration.
+// In a constant enum declaration, all members must have constant values and
+// it is an error for a member declaration to specify an expression that isn't classified as a constant enum expression.
//// [constEnum1.d.ts]
diff --git a/testdata/baselines/reference/submodule/conformance/constEnum1.js.diff b/testdata/baselines/reference/submodule/conformance/constEnum1.js.diff
deleted file mode 100644
index 5cc495eb28..0000000000
--- a/testdata/baselines/reference/submodule/conformance/constEnum1.js.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- old.constEnum1.js
-+++ new.constEnum1.js
-@@= skipped -16, +16 lines =@@
- }
-
- //// [constEnum1.js]
--// An enum declaration that specifies a const modifier is a constant enum declaration.
--// In a constant enum declaration, all members must have constant values and
--// it is an error for a member declaration to specify an expression that isn't classified as a constant enum expression.
-
-
- //// [constEnum1.d.ts]
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/constEnumPropertyAccess1.js b/testdata/baselines/reference/submodule/conformance/constEnumPropertyAccess1.js
index 515d5586f9..a4f27035f1 100644
--- a/testdata/baselines/reference/submodule/conformance/constEnumPropertyAccess1.js
+++ b/testdata/baselines/reference/submodule/conformance/constEnumPropertyAccess1.js
@@ -33,6 +33,9 @@ class C {
//// [constEnumPropertyAccess1.js]
+// constant enum declarations are completely erased in the emitted JavaScript code.
+// it is an error to reference a constant enum object in any other context
+// than a property access that selects one of the enum's members
var o = {
1: true
};
diff --git a/testdata/baselines/reference/submodule/conformance/constEnumPropertyAccess1.js.diff b/testdata/baselines/reference/submodule/conformance/constEnumPropertyAccess1.js.diff
deleted file mode 100644
index 22d2b3f75a..0000000000
--- a/testdata/baselines/reference/submodule/conformance/constEnumPropertyAccess1.js.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- old.constEnumPropertyAccess1.js
-+++ new.constEnumPropertyAccess1.js
-@@= skipped -32, +32 lines =@@
-
-
- //// [constEnumPropertyAccess1.js]
--// constant enum declarations are completely erased in the emitted JavaScript code.
--// it is an error to reference a constant enum object in any other context
--// than a property access that selects one of the enum's members
- var o = {
- 1: true
- };
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/constEnumPropertyAccess2.js b/testdata/baselines/reference/submodule/conformance/constEnumPropertyAccess2.js
index 4918e81259..27d97b1f13 100644
--- a/testdata/baselines/reference/submodule/conformance/constEnumPropertyAccess2.js
+++ b/testdata/baselines/reference/submodule/conformance/constEnumPropertyAccess2.js
@@ -22,6 +22,9 @@ G.B = 3;
//// [constEnumPropertyAccess2.js]
+// constant enum declarations are completely erased in the emitted JavaScript code.
+// it is an error to reference a constant enum object in any other context
+// than a property access that selects one of the enum's members
// Error from referring constant enum in any other context than a property access
var z = G;
var z1 = G[1 /* G.A */];
diff --git a/testdata/baselines/reference/submodule/conformance/constEnumPropertyAccess2.js.diff b/testdata/baselines/reference/submodule/conformance/constEnumPropertyAccess2.js.diff
deleted file mode 100644
index 6b32f24ad8..0000000000
--- a/testdata/baselines/reference/submodule/conformance/constEnumPropertyAccess2.js.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- old.constEnumPropertyAccess2.js
-+++ new.constEnumPropertyAccess2.js
-@@= skipped -21, +21 lines =@@
-
-
- //// [constEnumPropertyAccess2.js]
--// constant enum declarations are completely erased in the emitted JavaScript code.
--// it is an error to reference a constant enum object in any other context
--// than a property access that selects one of the enum's members
- // Error from referring constant enum in any other context than a property access
- var z = G;
- var z1 = G[1 /* G.A */];
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/constraintSatisfactionWithAny2.js b/testdata/baselines/reference/submodule/conformance/constraintSatisfactionWithAny2.js
index 66888977d2..c357bb6003 100644
--- a/testdata/baselines/reference/submodule/conformance/constraintSatisfactionWithAny2.js
+++ b/testdata/baselines/reference/submodule/conformance/constraintSatisfactionWithAny2.js
@@ -11,6 +11,8 @@ foo(a);
foo(a);
//// [constraintSatisfactionWithAny2.js]
+// errors expected for type parameter cannot be referenced in the constraints of the same list
+// any is not a valid type argument unless there is no constraint, or the constraint is any
var a;
foo(a);
foo(a);
diff --git a/testdata/baselines/reference/submodule/conformance/constraintSatisfactionWithAny2.js.diff b/testdata/baselines/reference/submodule/conformance/constraintSatisfactionWithAny2.js.diff
deleted file mode 100644
index a808f86163..0000000000
--- a/testdata/baselines/reference/submodule/conformance/constraintSatisfactionWithAny2.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.constraintSatisfactionWithAny2.js
-+++ new.constraintSatisfactionWithAny2.js
-@@= skipped -10, +10 lines =@@
- foo(a);
-
- //// [constraintSatisfactionWithAny2.js]
--// errors expected for type parameter cannot be referenced in the constraints of the same list
--// any is not a valid type argument unless there is no constraint, or the constraint is any
- var a;
- foo(a);
- foo(a);
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/constructSignatureAssignabilityInInheritance.js b/testdata/baselines/reference/submodule/conformance/constructSignatureAssignabilityInInheritance.js
index 81e8bbc8d0..4131b77e2c 100644
--- a/testdata/baselines/reference/submodule/conformance/constructSignatureAssignabilityInInheritance.js
+++ b/testdata/baselines/reference/submodule/conformance/constructSignatureAssignabilityInInheritance.js
@@ -74,6 +74,7 @@ module MemberWithConstructSignature {
}
//// [constructSignatureAssignabilityInInheritance.js]
+// Checking basic subtype relations with construct signatures
var MemberWithConstructSignature;
(function (MemberWithConstructSignature) {
var b;
diff --git a/testdata/baselines/reference/submodule/conformance/constructSignatureAssignabilityInInheritance.js.diff b/testdata/baselines/reference/submodule/conformance/constructSignatureAssignabilityInInheritance.js.diff
deleted file mode 100644
index 18bb1335f1..0000000000
--- a/testdata/baselines/reference/submodule/conformance/constructSignatureAssignabilityInInheritance.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.constructSignatureAssignabilityInInheritance.js
-+++ new.constructSignatureAssignabilityInInheritance.js
-@@= skipped -73, +73 lines =@@
- }
-
- //// [constructSignatureAssignabilityInInheritance.js]
--// Checking basic subtype relations with construct signatures
- var MemberWithConstructSignature;
- (function (MemberWithConstructSignature) {
- var b;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/contextualSignatureInstantiation.js b/testdata/baselines/reference/submodule/conformance/contextualSignatureInstantiation.js
index 145401c648..5ef5d170de 100644
--- a/testdata/baselines/reference/submodule/conformance/contextualSignatureInstantiation.js
+++ b/testdata/baselines/reference/submodule/conformance/contextualSignatureInstantiation.js
@@ -32,6 +32,11 @@ var d = baz(d, d, g); // Should be number[] | string[]
//// [contextualSignatureInstantiation.js]
+// TypeScript Spec, section 4.12.2:
+// If e is an expression of a function type that contains exactly one generic call signature and no other members,
+// and T is a function type with exactly one non - generic call signature and no other members, then any inferences
+// made for type parameters referenced by the parameters of T's call signature are fixed, and e's type is changed
+// to a function type with e's call signature instantiated in the context of T's call signature (section 3.8.5).
var a;
var a = bar(1, 1, g); // Should be number
var a = baz(1, 1, g); // Should be number
diff --git a/testdata/baselines/reference/submodule/conformance/contextualSignatureInstantiation.js.diff b/testdata/baselines/reference/submodule/conformance/contextualSignatureInstantiation.js.diff
deleted file mode 100644
index a17d08e5dc..0000000000
--- a/testdata/baselines/reference/submodule/conformance/contextualSignatureInstantiation.js.diff
+++ /dev/null
@@ -1,14 +0,0 @@
---- old.contextualSignatureInstantiation.js
-+++ new.contextualSignatureInstantiation.js
-@@= skipped -31, +31 lines =@@
-
-
- //// [contextualSignatureInstantiation.js]
--// TypeScript Spec, section 4.12.2:
--// If e is an expression of a function type that contains exactly one generic call signature and no other members,
--// and T is a function type with exactly one non - generic call signature and no other members, then any inferences
--// made for type parameters referenced by the parameters of T's call signature are fixed, and e's type is changed
--// to a function type with e's call signature instantiated in the context of T's call signature (section 3.8.5).
- var a;
- var a = bar(1, 1, g); // Should be number
- var a = baz(1, 1, g); // Should be number
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/contextualTypeWithUnionTypeCallSignatures.js b/testdata/baselines/reference/submodule/conformance/contextualTypeWithUnionTypeCallSignatures.js
index 03a6b826ac..ec2a7f7926 100644
--- a/testdata/baselines/reference/submodule/conformance/contextualTypeWithUnionTypeCallSignatures.js
+++ b/testdata/baselines/reference/submodule/conformance/contextualTypeWithUnionTypeCallSignatures.js
@@ -39,6 +39,8 @@ var x3: IWithCallSignatures | IWithCallSignatures3 = a => /*here a should be any
var x4: IWithCallSignatures | IWithCallSignatures4 = a => /*here a should be any*/ a.toString();
//// [contextualTypeWithUnionTypeCallSignatures.js]
+//When used as a contextual type, a union type U has those members that are present in any of
+// its constituent types, with types that are unions of the respective members in the constituent types.
// With no call signature | callSignatures
var x = a => a.toString();
// With call signatures with different return type
diff --git a/testdata/baselines/reference/submodule/conformance/contextualTypeWithUnionTypeCallSignatures.js.diff b/testdata/baselines/reference/submodule/conformance/contextualTypeWithUnionTypeCallSignatures.js.diff
deleted file mode 100644
index 06006bc223..0000000000
--- a/testdata/baselines/reference/submodule/conformance/contextualTypeWithUnionTypeCallSignatures.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.contextualTypeWithUnionTypeCallSignatures.js
-+++ new.contextualTypeWithUnionTypeCallSignatures.js
-@@= skipped -38, +38 lines =@@
- var x4: IWithCallSignatures | IWithCallSignatures4 = a => /*here a should be any*/ a.toString();
-
- //// [contextualTypeWithUnionTypeCallSignatures.js]
--//When used as a contextual type, a union type U has those members that are present in any of
--// its constituent types, with types that are unions of the respective members in the constituent types.
- // With no call signature | callSignatures
- var x = a => a.toString();
- // With call signatures with different return type
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/covariantCallbacks.js b/testdata/baselines/reference/submodule/conformance/covariantCallbacks.js
index 2d2fe5a362..15761fa3a8 100644
--- a/testdata/baselines/reference/submodule/conformance/covariantCallbacks.js
+++ b/testdata/baselines/reference/submodule/conformance/covariantCallbacks.js
@@ -111,6 +111,7 @@ s2 = s1;
//// [covariantCallbacks.js]
+// Test that callback parameters are related covariantly
;
function f1(a, b) {
a = b;
diff --git a/testdata/baselines/reference/submodule/conformance/covariantCallbacks.js.diff b/testdata/baselines/reference/submodule/conformance/covariantCallbacks.js.diff
index f4626f176d..6b1c2051a6 100644
--- a/testdata/baselines/reference/submodule/conformance/covariantCallbacks.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/covariantCallbacks.js.diff
@@ -5,7 +5,6 @@
//// [covariantCallbacks.js]
-"use strict";
--// Test that callback parameters are related covariantly
+ // Test that callback parameters are related covariantly
;
- function f1(a, b) {
- a = b;
\ No newline at end of file
+ function f1(a, b) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/destructuringArrayBindingPatternAndAssignment4.js b/testdata/baselines/reference/submodule/conformance/destructuringArrayBindingPatternAndAssignment4.js
index e9dd2821a1..aeb5b40522 100644
--- a/testdata/baselines/reference/submodule/conformance/destructuringArrayBindingPatternAndAssignment4.js
+++ b/testdata/baselines/reference/submodule/conformance/destructuringArrayBindingPatternAndAssignment4.js
@@ -9,4 +9,5 @@ const [value] = data; // Error
//// [destructuringArrayBindingPatternAndAssignment4.js]
+// #35497
const [value] = data; // Error
diff --git a/testdata/baselines/reference/submodule/conformance/destructuringArrayBindingPatternAndAssignment4.js.diff b/testdata/baselines/reference/submodule/conformance/destructuringArrayBindingPatternAndAssignment4.js.diff
index 5dd1eb4210..02f2dc572b 100644
--- a/testdata/baselines/reference/submodule/conformance/destructuringArrayBindingPatternAndAssignment4.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/destructuringArrayBindingPatternAndAssignment4.js.diff
@@ -5,5 +5,5 @@
//// [destructuringArrayBindingPatternAndAssignment4.js]
-"use strict";
--// #35497
+ // #35497
const [value] = data; // Error
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES5.js b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES5.js
index 840c57cdd8..cc12769654 100644
--- a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES5.js
+++ b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES5.js
@@ -48,6 +48,8 @@ foo1(1, 2, 3, E1.a, E.b);
//// [destructuringParameterDeclaration3ES5.js]
+// If the parameter is a rest parameter, the parameter type is any[]
+// A type annotation for a rest parameter must denote an array type.
function a1(...x) { }
function a2(...a) { }
function a3(...a) { }
diff --git a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES5.js.diff b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES5.js.diff
deleted file mode 100644
index 40902f4fb8..0000000000
--- a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES5.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.destructuringParameterDeclaration3ES5.js
-+++ new.destructuringParameterDeclaration3ES5.js
-@@= skipped -47, +47 lines =@@
-
-
- //// [destructuringParameterDeclaration3ES5.js]
--// If the parameter is a rest parameter, the parameter type is any[]
--// A type annotation for a rest parameter must denote an array type.
- function a1(...x) { }
- function a2(...a) { }
- function a3(...a) { }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES5iterable.js b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES5iterable.js
index eb71a68ca1..e80685c324 100644
--- a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES5iterable.js
+++ b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES5iterable.js
@@ -48,6 +48,8 @@ foo1(1, 2, 3, E1.a, E.b);
//// [destructuringParameterDeclaration3ES5iterable.js]
+// If the parameter is a rest parameter, the parameter type is any[]
+// A type annotation for a rest parameter must denote an array type.
function a1(...x) { }
function a2(...a) { }
function a3(...a) { }
diff --git a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES5iterable.js.diff b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES5iterable.js.diff
deleted file mode 100644
index 78cda22c68..0000000000
--- a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES5iterable.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.destructuringParameterDeclaration3ES5iterable.js
-+++ new.destructuringParameterDeclaration3ES5iterable.js
-@@= skipped -47, +47 lines =@@
-
-
- //// [destructuringParameterDeclaration3ES5iterable.js]
--// If the parameter is a rest parameter, the parameter type is any[]
--// A type annotation for a rest parameter must denote an array type.
- function a1(...x) { }
- function a2(...a) { }
- function a3(...a) { }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES6.js b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES6.js
index 278cc6711c..985b66b9be 100644
--- a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES6.js
+++ b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES6.js
@@ -48,6 +48,8 @@ foo1(1, 2, 3, E1.a, E.b);
//// [destructuringParameterDeclaration3ES6.js]
+// If the parameter is a rest parameter, the parameter type is any[]
+// A type annotation for a rest parameter must denote an array type.
function a1(...x) { }
function a2(...a) { }
function a3(...a) { }
diff --git a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES6.js.diff b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES6.js.diff
deleted file mode 100644
index 5c898e2e3a..0000000000
--- a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration3ES6.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.destructuringParameterDeclaration3ES6.js
-+++ new.destructuringParameterDeclaration3ES6.js
-@@= skipped -47, +47 lines =@@
-
-
- //// [destructuringParameterDeclaration3ES6.js]
--// If the parameter is a rest parameter, the parameter type is any[]
--// A type annotation for a rest parameter must denote an array type.
- function a1(...x) { }
- function a2(...a) { }
- function a3(...a) { }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration4.js b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration4.js
index 3c74147dc5..92716c90cf 100644
--- a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration4.js
+++ b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration4.js
@@ -40,6 +40,8 @@ foo1(1, 2, "string", E1.a, E.b); // Error
//// [destructuringParameterDeclaration4.js]
+// If the parameter is a rest parameter, the parameter type is any[]
+// A type annotation for a rest parameter must denote an array type.
function a0(...x) { } // Error, rest parameter must be array type
function a1(...x) { }
function a2(...a) { } // Error, rest parameter must be array type
diff --git a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration4.js.diff b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration4.js.diff
index 28ae0d4b64..d2381f0c5c 100644
--- a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration4.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration4.js.diff
@@ -1,15 +1,6 @@
--- old.destructuringParameterDeclaration4.js
+++ new.destructuringParameterDeclaration4.js
-@@= skipped -39, +39 lines =@@
-
-
- //// [destructuringParameterDeclaration4.js]
--// If the parameter is a rest parameter, the parameter type is any[]
--// A type annotation for a rest parameter must denote an array type.
- function a0(...x) { } // Error, rest parameter must be array type
- function a1(...x) { }
- function a2(...a) { } // Error, rest parameter must be array type
-@@= skipped -16, +14 lines =@@
+@@= skipped -55, +55 lines =@@
a6([1, 2, "string"]); // Error, parameter type is number[]
var temp = [1, 2, 3];
class C {
diff --git a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration5.js b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration5.js
index b007fa9097..a92fdd1fbb 100644
--- a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration5.js
+++ b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration5.js
@@ -53,6 +53,7 @@ d3({ y: 1 });
d3({ y: "world" });
//// [destructuringParameterDeclaration5.js]
+// Parameter Declaration with generic
class Class {
constructor() { }
}
diff --git a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration5.js.diff b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration5.js.diff
index 50fa703b9a..e883e1c923 100644
--- a/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration5.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/destructuringParameterDeclaration5.js.diff
@@ -1,11 +1,6 @@
--- old.destructuringParameterDeclaration5.js
+++ new.destructuringParameterDeclaration5.js
-@@= skipped -52, +52 lines =@@
- d3({ y: "world" });
-
- //// [destructuringParameterDeclaration5.js]
--// Parameter Declaration with generic
- class Class {
+@@= skipped -57, +57 lines =@@
constructor() { }
}
class SubClass extends Class {
diff --git a/testdata/baselines/reference/submodule/conformance/directDependenceBetweenTypeAliases.js b/testdata/baselines/reference/submodule/conformance/directDependenceBetweenTypeAliases.js
index 2b8e7a9ba9..d7341800fb 100644
--- a/testdata/baselines/reference/submodule/conformance/directDependenceBetweenTypeAliases.js
+++ b/testdata/baselines/reference/submodule/conformance/directDependenceBetweenTypeAliases.js
@@ -45,6 +45,7 @@ var zz: { x: T11 }
//// [directDependenceBetweenTypeAliases.js]
+// It is an error for the type specified in a type alias to depend on that type alias
class C {
}
// A type query directly depends on the type of the referenced entity.
diff --git a/testdata/baselines/reference/submodule/conformance/directDependenceBetweenTypeAliases.js.diff b/testdata/baselines/reference/submodule/conformance/directDependenceBetweenTypeAliases.js.diff
deleted file mode 100644
index d794c6dafa..0000000000
--- a/testdata/baselines/reference/submodule/conformance/directDependenceBetweenTypeAliases.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.directDependenceBetweenTypeAliases.js
-+++ new.directDependenceBetweenTypeAliases.js
-@@= skipped -44, +44 lines =@@
-
-
- //// [directDependenceBetweenTypeAliases.js]
--// It is an error for the type specified in a type alias to depend on that type alias
- class C {
- }
- // A type query directly depends on the type of the referenced entity.
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/discriminatedUnionInference.js b/testdata/baselines/reference/submodule/conformance/discriminatedUnionInference.js
index 91fae373f7..77610cf1f1 100644
--- a/testdata/baselines/reference/submodule/conformance/discriminatedUnionInference.js
+++ b/testdata/baselines/reference/submodule/conformance/discriminatedUnionInference.js
@@ -23,5 +23,6 @@ let x2 = foo({ kind: 'b', data: [1, 2] }); // number
//// [discriminatedUnionInference.js]
+// Repro from #28862
let x1 = foo({ kind: 'a', data: 42 }); // number
let x2 = foo({ kind: 'b', data: [1, 2] }); // number
diff --git a/testdata/baselines/reference/submodule/conformance/discriminatedUnionInference.js.diff b/testdata/baselines/reference/submodule/conformance/discriminatedUnionInference.js.diff
index 43015cd93e..7503ed9c8f 100644
--- a/testdata/baselines/reference/submodule/conformance/discriminatedUnionInference.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/discriminatedUnionInference.js.diff
@@ -5,6 +5,6 @@
//// [discriminatedUnionInference.js]
-"use strict";
--// Repro from #28862
+ // Repro from #28862
let x1 = foo({ kind: 'a', data: 42 }); // number
let x2 = foo({ kind: 'b', data: [1, 2] }); // number
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/discriminatedUnionTypes3.js b/testdata/baselines/reference/submodule/conformance/discriminatedUnionTypes3.js
index 8ae621b557..abd4948cf8 100644
--- a/testdata/baselines/reference/submodule/conformance/discriminatedUnionTypes3.js
+++ b/testdata/baselines/reference/submodule/conformance/discriminatedUnionTypes3.js
@@ -20,6 +20,7 @@ if (example.err === undefined) {
}
//// [discriminatedUnionTypes3.js]
+// Repro from #44435
const example = {};
if (example.err === undefined) {
example.property; // true
diff --git a/testdata/baselines/reference/submodule/conformance/discriminatedUnionTypes3.js.diff b/testdata/baselines/reference/submodule/conformance/discriminatedUnionTypes3.js.diff
index b9e927aa08..db44a5cc27 100644
--- a/testdata/baselines/reference/submodule/conformance/discriminatedUnionTypes3.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/discriminatedUnionTypes3.js.diff
@@ -5,7 +5,6 @@
//// [discriminatedUnionTypes3.js]
-"use strict";
--// Repro from #44435
+ // Repro from #44435
const example = {};
- if (example.err === undefined) {
- example.property; // true
\ No newline at end of file
+ if (example.err === undefined) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/duplicateNumericIndexers.js b/testdata/baselines/reference/submodule/conformance/duplicateNumericIndexers.js
index ad35b34db9..7ee24d6d8e 100644
--- a/testdata/baselines/reference/submodule/conformance/duplicateNumericIndexers.js
+++ b/testdata/baselines/reference/submodule/conformance/duplicateNumericIndexers.js
@@ -36,6 +36,7 @@ var a: {
//// [duplicateNumericIndexers.js]
+// it is an error to have duplicate index signatures of the same kind in a type
class C {
}
var a;
diff --git a/testdata/baselines/reference/submodule/conformance/duplicateNumericIndexers.js.diff b/testdata/baselines/reference/submodule/conformance/duplicateNumericIndexers.js.diff
deleted file mode 100644
index 366d9d9986..0000000000
--- a/testdata/baselines/reference/submodule/conformance/duplicateNumericIndexers.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.duplicateNumericIndexers.js
-+++ new.duplicateNumericIndexers.js
-@@= skipped -35, +35 lines =@@
-
-
- //// [duplicateNumericIndexers.js]
--// it is an error to have duplicate index signatures of the same kind in a type
- class C {
- }
- var a;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/duplicatePropertyNames.js b/testdata/baselines/reference/submodule/conformance/duplicatePropertyNames.js
index 01ad71c73c..47a874aa76 100644
--- a/testdata/baselines/reference/submodule/conformance/duplicatePropertyNames.js
+++ b/testdata/baselines/reference/submodule/conformance/duplicatePropertyNames.js
@@ -51,6 +51,7 @@ var b = {
//// [duplicatePropertyNames.js]
+// duplicate property names are an error in all types
class C {
foo;
foo;
diff --git a/testdata/baselines/reference/submodule/conformance/duplicatePropertyNames.js.diff b/testdata/baselines/reference/submodule/conformance/duplicatePropertyNames.js.diff
index fbde92a6a7..017a81e379 100644
--- a/testdata/baselines/reference/submodule/conformance/duplicatePropertyNames.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/duplicatePropertyNames.js.diff
@@ -1,10 +1,8 @@
--- old.duplicatePropertyNames.js
+++ new.duplicatePropertyNames.js
-@@= skipped -50, +50 lines =@@
-
-
+@@= skipped -52, +52 lines =@@
//// [duplicatePropertyNames.js]
--// duplicate property names are an error in all types
+ // duplicate property names are an error in all types
class C {
- constructor() {
- this.baz = () => { };
diff --git a/testdata/baselines/reference/submodule/conformance/esDecorators-preservesThis.js b/testdata/baselines/reference/submodule/conformance/esDecorators-preservesThis.js
index e8c556c168..7da3fa97c4 100644
--- a/testdata/baselines/reference/submodule/conformance/esDecorators-preservesThis.js
+++ b/testdata/baselines/reference/submodule/conformance/esDecorators-preservesThis.js
@@ -40,6 +40,7 @@ class D extends DecoratorProvider {
//// [esDecorators-preservesThis.js]
+// https://github.com/microsoft/TypeScript/issues/53752
// preserve `this` for access
class C {
@instance.decorate
diff --git a/testdata/baselines/reference/submodule/conformance/esDecorators-preservesThis.js.diff b/testdata/baselines/reference/submodule/conformance/esDecorators-preservesThis.js.diff
index 939d89a3e3..9560e6cd22 100644
--- a/testdata/baselines/reference/submodule/conformance/esDecorators-preservesThis.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/esDecorators-preservesThis.js.diff
@@ -1,10 +1,9 @@
--- old.esDecorators-preservesThis.js
+++ new.esDecorators-preservesThis.js
-@@= skipped -39, +39 lines =@@
-
+@@= skipped -40, +40 lines =@@
//// [esDecorators-preservesThis.js]
--// https://github.com/microsoft/TypeScript/issues/53752
+ // https://github.com/microsoft/TypeScript/issues/53752
-var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
- var useValue = arguments.length > 2;
- for (var i = 0; i < initializers.length; i++) {
diff --git a/testdata/baselines/reference/submodule/conformance/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).js b/testdata/baselines/reference/submodule/conformance/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).js
index d8e44f30fb..548cee9657 100644
--- a/testdata/baselines/reference/submodule/conformance/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).js
+++ b/testdata/baselines/reference/submodule/conformance/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).js
@@ -10,8 +10,8 @@ export default cssExports;
//// [exportNonInitializedVariablesInIfThenStatementNoCrash1.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
// https://github.com/microsoft/TypeScript/issues/59373
+Object.defineProperty(exports, "__esModule", { value: true });
if (true)
export const cssExports;
exports.default = exports.cssExports;
diff --git a/testdata/baselines/reference/submodule/conformance/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).js.diff b/testdata/baselines/reference/submodule/conformance/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).js.diff
index b126feb050..1027ff3f41 100644
--- a/testdata/baselines/reference/submodule/conformance/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).js.diff
+++ b/testdata/baselines/reference/submodule/conformance/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).js.diff
@@ -1,13 +1,10 @@
--- old.exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).js
+++ new.exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).js
-@@= skipped -9, +9 lines =@@
-
- //// [exportNonInitializedVariablesInIfThenStatementNoCrash1.js]
+@@= skipped -11, +11 lines =@@
"use strict";
--// https://github.com/microsoft/TypeScript/issues/59373
+ // https://github.com/microsoft/TypeScript/issues/59373
Object.defineProperty(exports, "__esModule", { value: true });
-if (true) { }
-+// https://github.com/microsoft/TypeScript/issues/59373
+if (true)
+ export const cssExports;
exports.default = exports.cssExports;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/functionParameterObjectRestAndInitializers.js b/testdata/baselines/reference/submodule/conformance/functionParameterObjectRestAndInitializers.js
index c0231ba210..0e88a1ecfd 100644
--- a/testdata/baselines/reference/submodule/conformance/functionParameterObjectRestAndInitializers.js
+++ b/testdata/baselines/reference/submodule/conformance/functionParameterObjectRestAndInitializers.js
@@ -13,6 +13,7 @@ function g({a, ...x}, b = ({a}, b = a) => {}) {
//// [functionParameterObjectRestAndInitializers.js]
+// https://github.com/microsoft/TypeScript/issues/47079
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -24,7 +25,6 @@ var __rest = (this && this.__rest) || function (s, e) {
}
return t;
};
-// https://github.com/microsoft/TypeScript/issues/47079
function f(_a, b) {
var { a } = _a, x = __rest(_a, ["a"]);
if (b === void 0) { b = a; }
diff --git a/testdata/baselines/reference/submodule/conformance/functionParameterObjectRestAndInitializers.js.diff b/testdata/baselines/reference/submodule/conformance/functionParameterObjectRestAndInitializers.js.diff
deleted file mode 100644
index ec747a5711..0000000000
--- a/testdata/baselines/reference/submodule/conformance/functionParameterObjectRestAndInitializers.js.diff
+++ /dev/null
@@ -1,18 +0,0 @@
---- old.functionParameterObjectRestAndInitializers.js
-+++ new.functionParameterObjectRestAndInitializers.js
-@@= skipped -12, +12 lines =@@
-
-
- //// [functionParameterObjectRestAndInitializers.js]
--// https://github.com/microsoft/TypeScript/issues/47079
- var __rest = (this && this.__rest) || function (s, e) {
- var t = {};
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
-@@= skipped -12, +11 lines =@@
- }
- return t;
- };
-+// https://github.com/microsoft/TypeScript/issues/47079
- function f(_a, b) {
- var { a } = _a, x = __rest(_a, ["a"]);
- if (b === void 0) { b = a; }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/genericAndNonGenericInterfaceWithTheSameName.js b/testdata/baselines/reference/submodule/conformance/genericAndNonGenericInterfaceWithTheSameName.js
index 795d91de4c..a48f87da9f 100644
--- a/testdata/baselines/reference/submodule/conformance/genericAndNonGenericInterfaceWithTheSameName.js
+++ b/testdata/baselines/reference/submodule/conformance/genericAndNonGenericInterfaceWithTheSameName.js
@@ -46,3 +46,4 @@ module M3 {
}
//// [genericAndNonGenericInterfaceWithTheSameName.js]
+// generic and non-generic interfaces with the same name do not merge
diff --git a/testdata/baselines/reference/submodule/conformance/genericAndNonGenericInterfaceWithTheSameName.js.diff b/testdata/baselines/reference/submodule/conformance/genericAndNonGenericInterfaceWithTheSameName.js.diff
deleted file mode 100644
index f6bea2aa10..0000000000
--- a/testdata/baselines/reference/submodule/conformance/genericAndNonGenericInterfaceWithTheSameName.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.genericAndNonGenericInterfaceWithTheSameName.js
-+++ new.genericAndNonGenericInterfaceWithTheSameName.js
-@@= skipped -45, +45 lines =@@
- }
-
- //// [genericAndNonGenericInterfaceWithTheSameName.js]
--// generic and non-generic interfaces with the same name do not merge
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/genericAndNonGenericInterfaceWithTheSameName2.js b/testdata/baselines/reference/submodule/conformance/genericAndNonGenericInterfaceWithTheSameName2.js
index 912cc8fed0..b0d98e771f 100644
--- a/testdata/baselines/reference/submodule/conformance/genericAndNonGenericInterfaceWithTheSameName2.js
+++ b/testdata/baselines/reference/submodule/conformance/genericAndNonGenericInterfaceWithTheSameName2.js
@@ -30,3 +30,4 @@ module N {
}
//// [genericAndNonGenericInterfaceWithTheSameName2.js]
+// generic and non-generic interfaces with the same name do not merge
diff --git a/testdata/baselines/reference/submodule/conformance/genericAndNonGenericInterfaceWithTheSameName2.js.diff b/testdata/baselines/reference/submodule/conformance/genericAndNonGenericInterfaceWithTheSameName2.js.diff
deleted file mode 100644
index df41ed952c..0000000000
--- a/testdata/baselines/reference/submodule/conformance/genericAndNonGenericInterfaceWithTheSameName2.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.genericAndNonGenericInterfaceWithTheSameName2.js
-+++ new.genericAndNonGenericInterfaceWithTheSameName2.js
-@@= skipped -29, +29 lines =@@
- }
-
- //// [genericAndNonGenericInterfaceWithTheSameName2.js]
--// generic and non-generic interfaces with the same name do not merge
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/genericRestArity.js b/testdata/baselines/reference/submodule/conformance/genericRestArity.js
index ee6e6dd28d..8a6df8b9f0 100644
--- a/testdata/baselines/reference/submodule/conformance/genericRestArity.js
+++ b/testdata/baselines/reference/submodule/conformance/genericRestArity.js
@@ -12,5 +12,6 @@ call((x: number, y: number) => x + y, 1, 2, 3, 4, 5, 6, 7);
//// [genericRestArity.js]
+// Repro from #25559
call((x, y) => x + y);
call((x, y) => x + y, 1, 2, 3, 4, 5, 6, 7);
diff --git a/testdata/baselines/reference/submodule/conformance/genericRestArity.js.diff b/testdata/baselines/reference/submodule/conformance/genericRestArity.js.diff
deleted file mode 100644
index 0f5b22791c..0000000000
--- a/testdata/baselines/reference/submodule/conformance/genericRestArity.js.diff
+++ /dev/null
@@ -1,9 +0,0 @@
---- old.genericRestArity.js
-+++ new.genericRestArity.js
-@@= skipped -11, +11 lines =@@
-
-
- //// [genericRestArity.js]
--// Repro from #25559
- call((x, y) => x + y);
- call((x, y) => x + y, 1, 2, 3, 4, 5, 6, 7);
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/genericRestArityStrict.js b/testdata/baselines/reference/submodule/conformance/genericRestArityStrict.js
index 4dc57425c5..e2dbdbd8e0 100644
--- a/testdata/baselines/reference/submodule/conformance/genericRestArityStrict.js
+++ b/testdata/baselines/reference/submodule/conformance/genericRestArityStrict.js
@@ -12,5 +12,6 @@ call((x: number, y: number) => x + y, 1, 2, 3, 4, 5, 6, 7);
//// [genericRestArityStrict.js]
+// Repro from #25559
call((x, y) => x + y);
call((x, y) => x + y, 1, 2, 3, 4, 5, 6, 7);
diff --git a/testdata/baselines/reference/submodule/conformance/genericRestArityStrict.js.diff b/testdata/baselines/reference/submodule/conformance/genericRestArityStrict.js.diff
index a4024541ae..f3708c74df 100644
--- a/testdata/baselines/reference/submodule/conformance/genericRestArityStrict.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/genericRestArityStrict.js.diff
@@ -5,6 +5,6 @@
//// [genericRestArityStrict.js]
-"use strict";
--// Repro from #25559
+ // Repro from #25559
call((x, y) => x + y);
call((x, y) => x + y, 1, 2, 3, 4, 5, 6, 7);
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/genericTypeReferenceWithoutTypeArgument2.js b/testdata/baselines/reference/submodule/conformance/genericTypeReferenceWithoutTypeArgument2.js
index 341bd53349..1ad4f9df3c 100644
--- a/testdata/baselines/reference/submodule/conformance/genericTypeReferenceWithoutTypeArgument2.js
+++ b/testdata/baselines/reference/submodule/conformance/genericTypeReferenceWithoutTypeArgument2.js
@@ -40,6 +40,8 @@ var j = null;
var k = null;
//// [genericTypeReferenceWithoutTypeArgument2.js]
+// it is an error to use a generic type without type arguments
+// all of these are errors
var c;
var a;
var b;
diff --git a/testdata/baselines/reference/submodule/conformance/genericTypeReferenceWithoutTypeArgument2.js.diff b/testdata/baselines/reference/submodule/conformance/genericTypeReferenceWithoutTypeArgument2.js.diff
deleted file mode 100644
index e8f1ba304e..0000000000
--- a/testdata/baselines/reference/submodule/conformance/genericTypeReferenceWithoutTypeArgument2.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.genericTypeReferenceWithoutTypeArgument2.js
-+++ new.genericTypeReferenceWithoutTypeArgument2.js
-@@= skipped -39, +39 lines =@@
- var k = null;
-
- //// [genericTypeReferenceWithoutTypeArgument2.js]
--// it is an error to use a generic type without type arguments
--// all of these are errors
- var c;
- var a;
- var b;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/genericTypeReferenceWithoutTypeArgument3.js b/testdata/baselines/reference/submodule/conformance/genericTypeReferenceWithoutTypeArgument3.js
index 85e313a3ac..c8bf8a219d 100644
--- a/testdata/baselines/reference/submodule/conformance/genericTypeReferenceWithoutTypeArgument3.js
+++ b/testdata/baselines/reference/submodule/conformance/genericTypeReferenceWithoutTypeArgument3.js
@@ -29,3 +29,5 @@ declare function h(x: T);
declare function i(x: T);
//// [genericTypeReferenceWithoutTypeArgument3.js]
+// it is an error to use a generic type without type arguments
+// all of these are errors
diff --git a/testdata/baselines/reference/submodule/conformance/genericTypeReferenceWithoutTypeArgument3.js.diff b/testdata/baselines/reference/submodule/conformance/genericTypeReferenceWithoutTypeArgument3.js.diff
deleted file mode 100644
index ef3df60eb9..0000000000
--- a/testdata/baselines/reference/submodule/conformance/genericTypeReferenceWithoutTypeArgument3.js.diff
+++ /dev/null
@@ -1,8 +0,0 @@
---- old.genericTypeReferenceWithoutTypeArgument3.js
-+++ new.genericTypeReferenceWithoutTypeArgument3.js
-@@= skipped -28, +28 lines =@@
- declare function i(x: T);
-
- //// [genericTypeReferenceWithoutTypeArgument3.js]
--// it is an error to use a generic type without type arguments
--// all of these are errors
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/identicalCallSignatures2.js b/testdata/baselines/reference/submodule/conformance/identicalCallSignatures2.js
index d5a8881b92..a09765980d 100644
--- a/testdata/baselines/reference/submodule/conformance/identicalCallSignatures2.js
+++ b/testdata/baselines/reference/submodule/conformance/identicalCallSignatures2.js
@@ -13,3 +13,5 @@ interface I extends Base, Base { }
interface I2 extends Base, Base { }
//// [identicalCallSignatures2.js]
+// Normally it is an error to have multiple overloads with identical signatures in a single type declaration.
+// Here the multiple overloads come from multiple bases.
diff --git a/testdata/baselines/reference/submodule/conformance/identicalCallSignatures2.js.diff b/testdata/baselines/reference/submodule/conformance/identicalCallSignatures2.js.diff
deleted file mode 100644
index cdda53e558..0000000000
--- a/testdata/baselines/reference/submodule/conformance/identicalCallSignatures2.js.diff
+++ /dev/null
@@ -1,8 +0,0 @@
---- old.identicalCallSignatures2.js
-+++ new.identicalCallSignatures2.js
-@@= skipped -12, +12 lines =@@
- interface I2 extends Base, Base { }
-
- //// [identicalCallSignatures2.js]
--// Normally it is an error to have multiple overloads with identical signatures in a single type declaration.
--// Here the multiple overloads come from multiple bases.
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/identicalCallSignatures3.js b/testdata/baselines/reference/submodule/conformance/identicalCallSignatures3.js
index 5d651a813c..5d11ad0d23 100644
--- a/testdata/baselines/reference/submodule/conformance/identicalCallSignatures3.js
+++ b/testdata/baselines/reference/submodule/conformance/identicalCallSignatures3.js
@@ -21,3 +21,5 @@ interface I2 {
}
//// [identicalCallSignatures3.js]
+// Normally it is an error to have multiple overloads with identical signatures in a single type declaration.
+// Here the multiple overloads come from multiple merged declarations, so we do not report errors.
diff --git a/testdata/baselines/reference/submodule/conformance/identicalCallSignatures3.js.diff b/testdata/baselines/reference/submodule/conformance/identicalCallSignatures3.js.diff
deleted file mode 100644
index d90cc5cd56..0000000000
--- a/testdata/baselines/reference/submodule/conformance/identicalCallSignatures3.js.diff
+++ /dev/null
@@ -1,8 +0,0 @@
---- old.identicalCallSignatures3.js
-+++ new.identicalCallSignatures3.js
-@@= skipped -20, +20 lines =@@
- }
-
- //// [identicalCallSignatures3.js]
--// Normally it is an error to have multiple overloads with identical signatures in a single type declaration.
--// Here the multiple overloads come from multiple merged declarations, so we do not report errors.
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/importTag15(module=es2015).js b/testdata/baselines/reference/submodule/conformance/importTag15(module=es2015).js
index 856ebcde69..e2d9c515d3 100644
--- a/testdata/baselines/reference/submodule/conformance/importTag15(module=es2015).js
+++ b/testdata/baselines/reference/submodule/conformance/importTag15(module=es2015).js
@@ -17,8 +17,8 @@ function f(a) {}
export interface I {
}
//// [1.d.ts]
-import type { I } from './0';
/** @import { I } from './0' with { type: "json" } */
/** @import * as foo from './0' with { type: "json" } */
+import type { I } from './0';
/** @param {I} a */
declare function f(a: I): void;
diff --git a/testdata/baselines/reference/submodule/conformance/importTag15(module=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/importTag15(module=es2015).js.diff
index 66ad5dfade..92cefc6a1c 100644
--- a/testdata/baselines/reference/submodule/conformance/importTag15(module=es2015).js.diff
+++ b/testdata/baselines/reference/submodule/conformance/importTag15(module=es2015).js.diff
@@ -1,12 +1,10 @@
--- old.importTag15(module=es2015).js
+++ new.importTag15(module=es2015).js
-@@= skipped -16, +16 lines =@@
- export interface I {
- }
+@@= skipped -18, +18 lines =@@
//// [1.d.ts]
-+import type { I } from './0';
/** @import { I } from './0' with { type: "json" } */
/** @import * as foo from './0' with { type: "json" } */
++import type { I } from './0';
/** @param {I} a */
declare function f(a: I): void;
-import type { I } from './0' with { type: "json" };
diff --git a/testdata/baselines/reference/submodule/conformance/importTag15(module=esnext).js b/testdata/baselines/reference/submodule/conformance/importTag15(module=esnext).js
index 856ebcde69..e2d9c515d3 100644
--- a/testdata/baselines/reference/submodule/conformance/importTag15(module=esnext).js
+++ b/testdata/baselines/reference/submodule/conformance/importTag15(module=esnext).js
@@ -17,8 +17,8 @@ function f(a) {}
export interface I {
}
//// [1.d.ts]
-import type { I } from './0';
/** @import { I } from './0' with { type: "json" } */
/** @import * as foo from './0' with { type: "json" } */
+import type { I } from './0';
/** @param {I} a */
declare function f(a: I): void;
diff --git a/testdata/baselines/reference/submodule/conformance/importTag15(module=esnext).js.diff b/testdata/baselines/reference/submodule/conformance/importTag15(module=esnext).js.diff
index 761ef7b0ca..ca7b186f48 100644
--- a/testdata/baselines/reference/submodule/conformance/importTag15(module=esnext).js.diff
+++ b/testdata/baselines/reference/submodule/conformance/importTag15(module=esnext).js.diff
@@ -1,12 +1,10 @@
--- old.importTag15(module=esnext).js
+++ new.importTag15(module=esnext).js
-@@= skipped -16, +16 lines =@@
- export interface I {
- }
+@@= skipped -18, +18 lines =@@
//// [1.d.ts]
-+import type { I } from './0';
/** @import { I } from './0' with { type: "json" } */
/** @import * as foo from './0' with { type: "json" } */
++import type { I } from './0';
/** @param {I} a */
declare function f(a: I): void;
-import type { I } from './0' with { type: "json" };
diff --git a/testdata/baselines/reference/submodule/conformance/importTag16.js b/testdata/baselines/reference/submodule/conformance/importTag16.js
index b086bf0a00..580cb57e0f 100644
--- a/testdata/baselines/reference/submodule/conformance/importTag16.js
+++ b/testdata/baselines/reference/submodule/conformance/importTag16.js
@@ -22,8 +22,8 @@ export default interface Foo {
export interface I {
}
//// [b.d.ts]
-import type Foo, { I } from "./a";
/** @import Foo, { I } from "./a" */
+import type Foo, { I } from "./a";
/**
* @param {Foo} a
* @param {I} b
@@ -34,7 +34,7 @@ export declare function foo(a: Foo, b: I): void;
//// [DtsFileErrors]
-b.d.ts(1,8): error TS1363: A type-only import can specify a default import or named bindings, but not both.
+b.d.ts(2,8): error TS1363: A type-only import can specify a default import or named bindings, but not both.
==== a.d.ts (0 errors) ====
@@ -44,10 +44,10 @@ b.d.ts(1,8): error TS1363: A type-only import can specify a default import or na
}
==== b.d.ts (1 errors) ====
+ /** @import Foo, { I } from "./a" */
import type Foo, { I } from "./a";
~~~~~~~~~~~~~~~
!!! error TS1363: A type-only import can specify a default import or named bindings, but not both.
- /** @import Foo, { I } from "./a" */
/**
* @param {Foo} a
* @param {I} b
diff --git a/testdata/baselines/reference/submodule/conformance/importTag16.js.diff b/testdata/baselines/reference/submodule/conformance/importTag16.js.diff
index 72602ad3cf..9416453760 100644
--- a/testdata/baselines/reference/submodule/conformance/importTag16.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/importTag16.js.diff
@@ -1,11 +1,10 @@
--- old.importTag16.js
+++ new.importTag16.js
-@@= skipped -21, +21 lines =@@
- export interface I {
+@@= skipped -22, +22 lines =@@
}
//// [b.d.ts]
-+import type Foo, { I } from "./a";
/** @import Foo, { I } from "./a" */
++import type Foo, { I } from "./a";
/**
* @param {Foo} a
* @param {I} b
@@ -19,7 +18,7 @@
+//// [DtsFileErrors]
+
+
-+b.d.ts(1,8): error TS1363: A type-only import can specify a default import or named bindings, but not both.
++b.d.ts(2,8): error TS1363: A type-only import can specify a default import or named bindings, but not both.
+
+
+==== a.d.ts (0 errors) ====
@@ -29,10 +28,10 @@
+ }
+
+==== b.d.ts (1 errors) ====
++ /** @import Foo, { I } from "./a" */
+ import type Foo, { I } from "./a";
+ ~~~~~~~~~~~~~~~
+!!! error TS1363: A type-only import can specify a default import or named bindings, but not both.
-+ /** @import Foo, { I } from "./a" */
+ /**
+ * @param {Foo} a
+ * @param {I} b
diff --git a/testdata/baselines/reference/submodule/conformance/importTag18.js b/testdata/baselines/reference/submodule/conformance/importTag18.js
index b249671c46..6aa3d1c70d 100644
--- a/testdata/baselines/reference/submodule/conformance/importTag18.js
+++ b/testdata/baselines/reference/submodule/conformance/importTag18.js
@@ -22,12 +22,12 @@ export function foo(a) {}
export interface Foo {
}
//// [b.d.ts]
-import type { Foo } from "./a";
/**
* @import {
* Foo
* } from "./a"
*/
+import type { Foo } from "./a";
/**
* @param {Foo} a
*/
diff --git a/testdata/baselines/reference/submodule/conformance/importTag18.js.diff b/testdata/baselines/reference/submodule/conformance/importTag18.js.diff
index 473045a560..d890956286 100644
--- a/testdata/baselines/reference/submodule/conformance/importTag18.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/importTag18.js.diff
@@ -1,14 +1,10 @@
--- old.importTag18.js
+++ new.importTag18.js
-@@= skipped -21, +21 lines =@@
- export interface Foo {
- }
- //// [b.d.ts]
-+import type { Foo } from "./a";
- /**
- * @import {
+@@= skipped -26, +26 lines =@@
* Foo
-@@= skipped -8, +9 lines =@@
+ * } from "./a"
+ */
++import type { Foo } from "./a";
/**
* @param {Foo} a
*/
diff --git a/testdata/baselines/reference/submodule/conformance/importTag19.js b/testdata/baselines/reference/submodule/conformance/importTag19.js
index cb2b97586d..23d68a5ba8 100644
--- a/testdata/baselines/reference/submodule/conformance/importTag19.js
+++ b/testdata/baselines/reference/submodule/conformance/importTag19.js
@@ -21,11 +21,11 @@ export function foo(a) {}
export interface Foo {
}
//// [b.d.ts]
-import type { Foo } from "./a";
/**
* @import { Foo }
* from "./a"
*/
+import type { Foo } from "./a";
/**
* @param {Foo} a
*/
diff --git a/testdata/baselines/reference/submodule/conformance/importTag19.js.diff b/testdata/baselines/reference/submodule/conformance/importTag19.js.diff
index 68d5444ae9..f8f1a10590 100644
--- a/testdata/baselines/reference/submodule/conformance/importTag19.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/importTag19.js.diff
@@ -1,14 +1,10 @@
--- old.importTag19.js
+++ new.importTag19.js
-@@= skipped -20, +20 lines =@@
- export interface Foo {
- }
- //// [b.d.ts]
-+import type { Foo } from "./a";
- /**
+@@= skipped -24, +24 lines =@@
* @import { Foo }
* from "./a"
-@@= skipped -7, +8 lines =@@
+ */
++import type { Foo } from "./a";
/**
* @param {Foo} a
*/
diff --git a/testdata/baselines/reference/submodule/conformance/importTag20.js b/testdata/baselines/reference/submodule/conformance/importTag20.js
index 650725ac77..0e098f6bae 100644
--- a/testdata/baselines/reference/submodule/conformance/importTag20.js
+++ b/testdata/baselines/reference/submodule/conformance/importTag20.js
@@ -22,12 +22,12 @@ export function foo(a) {}
export interface Foo {
}
//// [b.d.ts]
-import type { Foo } from './a';
/**
* @import
* { Foo
* } from './a'
*/
+import type { Foo } from './a';
/**
* @param {Foo} a
*/
diff --git a/testdata/baselines/reference/submodule/conformance/importTag20.js.diff b/testdata/baselines/reference/submodule/conformance/importTag20.js.diff
index 3553717498..ef535fd9df 100644
--- a/testdata/baselines/reference/submodule/conformance/importTag20.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/importTag20.js.diff
@@ -1,14 +1,10 @@
--- old.importTag20.js
+++ new.importTag20.js
-@@= skipped -21, +21 lines =@@
- export interface Foo {
- }
- //// [b.d.ts]
-+import type { Foo } from './a';
- /**
- * @import
+@@= skipped -26, +26 lines =@@
* { Foo
-@@= skipped -8, +9 lines =@@
+ * } from './a'
+ */
++import type { Foo } from './a';
/**
* @param {Foo} a
*/
diff --git a/testdata/baselines/reference/submodule/conformance/importTag5.js b/testdata/baselines/reference/submodule/conformance/importTag5.js
index 282eb62aa9..3d2361c1ad 100644
--- a/testdata/baselines/reference/submodule/conformance/importTag5.js
+++ b/testdata/baselines/reference/submodule/conformance/importTag5.js
@@ -23,10 +23,10 @@ export interface Foo {
a: number;
}
//// [foo.d.ts]
-import type { Foo } from "./types";
/**
* @import { Foo } from "./types"
*/
+import type { Foo } from "./types";
/**
* @param { Foo } foo
*/
diff --git a/testdata/baselines/reference/submodule/conformance/importTag5.js.diff b/testdata/baselines/reference/submodule/conformance/importTag5.js.diff
index fe5d43d4e0..fb4bd64a31 100644
--- a/testdata/baselines/reference/submodule/conformance/importTag5.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/importTag5.js.diff
@@ -1,14 +1,11 @@
--- old.importTag5.js
+++ new.importTag5.js
-@@= skipped -22, +22 lines =@@
- a: number;
- }
- //// [foo.d.ts]
-+import type { Foo } from "./types";
+@@= skipped -25, +25 lines =@@
/**
* @import { Foo } from "./types"
*/
-@@= skipped -7, +8 lines =@@
++import type { Foo } from "./types";
+ /**
* @param { Foo } foo
*/
declare function f(foo: Foo): void;
diff --git a/testdata/baselines/reference/submodule/conformance/independentPropertyVariance.js b/testdata/baselines/reference/submodule/conformance/independentPropertyVariance.js
index 3993be31a6..3238d41be0 100644
--- a/testdata/baselines/reference/submodule/conformance/independentPropertyVariance.js
+++ b/testdata/baselines/reference/submodule/conformance/independentPropertyVariance.js
@@ -10,4 +10,5 @@ x === y;
//// [independentPropertyVariance.js]
+// Verify that properties can vary independently in comparable relationship
x === y;
diff --git a/testdata/baselines/reference/submodule/conformance/independentPropertyVariance.js.diff b/testdata/baselines/reference/submodule/conformance/independentPropertyVariance.js.diff
index fb76d2061e..f40819ce4e 100644
--- a/testdata/baselines/reference/submodule/conformance/independentPropertyVariance.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/independentPropertyVariance.js.diff
@@ -5,5 +5,5 @@
//// [independentPropertyVariance.js]
-"use strict";
--// Verify that properties can vary independently in comparable relationship
+ // Verify that properties can vary independently in comparable relationship
x === y;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/inferTypes2.js b/testdata/baselines/reference/submodule/conformance/inferTypes2.js
index 97a645fed3..92a0c0a9d9 100644
--- a/testdata/baselines/reference/submodule/conformance/inferTypes2.js
+++ b/testdata/baselines/reference/submodule/conformance/inferTypes2.js
@@ -26,6 +26,7 @@ const b: string = a;
//// [inferTypes2.js]
"use strict";
+// Repros from #22755
Object.defineProperty(exports, "__esModule", { value: true });
exports.bar = bar;
exports.bar2 = bar2;
diff --git a/testdata/baselines/reference/submodule/conformance/inferTypes2.js.diff b/testdata/baselines/reference/submodule/conformance/inferTypes2.js.diff
deleted file mode 100644
index 5b8076441a..0000000000
--- a/testdata/baselines/reference/submodule/conformance/inferTypes2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.inferTypes2.js
-+++ new.inferTypes2.js
-@@= skipped -25, +25 lines =@@
-
- //// [inferTypes2.js]
- "use strict";
--// Repros from #22755
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.bar = bar;
- exports.bar2 = bar2;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/infiniteExpansionThroughInstantiation.js b/testdata/baselines/reference/submodule/conformance/infiniteExpansionThroughInstantiation.js
index 97e4764802..ceddd6b4bc 100644
--- a/testdata/baselines/reference/submodule/conformance/infiniteExpansionThroughInstantiation.js
+++ b/testdata/baselines/reference/submodule/conformance/infiniteExpansionThroughInstantiation.js
@@ -27,6 +27,7 @@ function other(x: T) {
//// [infiniteExpansionThroughInstantiation.js]
+// instantiating a derived type can cause an infinitely expanding type reference to be generated
var list;
var ownerList;
list = ownerList;
diff --git a/testdata/baselines/reference/submodule/conformance/infiniteExpansionThroughInstantiation.js.diff b/testdata/baselines/reference/submodule/conformance/infiniteExpansionThroughInstantiation.js.diff
deleted file mode 100644
index c6af65b681..0000000000
--- a/testdata/baselines/reference/submodule/conformance/infiniteExpansionThroughInstantiation.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.infiniteExpansionThroughInstantiation.js
-+++ new.infiniteExpansionThroughInstantiation.js
-@@= skipped -26, +26 lines =@@
-
-
- //// [infiniteExpansionThroughInstantiation.js]
--// instantiating a derived type can cause an infinitely expanding type reference to be generated
- var list;
- var ownerList;
- list = ownerList;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/infiniteExpansionThroughInstantiation2.js b/testdata/baselines/reference/submodule/conformance/infiniteExpansionThroughInstantiation2.js
index 1349746392..1f5e113136 100644
--- a/testdata/baselines/reference/submodule/conformance/infiniteExpansionThroughInstantiation2.js
+++ b/testdata/baselines/reference/submodule/conformance/infiniteExpansionThroughInstantiation2.js
@@ -14,3 +14,5 @@ interface BB extends AA>
}
//// [infiniteExpansionThroughInstantiation2.js]
+// instantiating a derived type can cause an infinitely expanding type reference to be generated
+// which could be used in an assignment check for constraint satisfaction
diff --git a/testdata/baselines/reference/submodule/conformance/infiniteExpansionThroughInstantiation2.js.diff b/testdata/baselines/reference/submodule/conformance/infiniteExpansionThroughInstantiation2.js.diff
deleted file mode 100644
index 37fba79262..0000000000
--- a/testdata/baselines/reference/submodule/conformance/infiniteExpansionThroughInstantiation2.js.diff
+++ /dev/null
@@ -1,8 +0,0 @@
---- old.infiniteExpansionThroughInstantiation2.js
-+++ new.infiniteExpansionThroughInstantiation2.js
-@@= skipped -13, +13 lines =@@
- }
-
- //// [infiniteExpansionThroughInstantiation2.js]
--// instantiating a derived type can cause an infinitely expanding type reference to be generated
--// which could be used in an assignment check for constraint satisfaction
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/interfaceWithMultipleBaseTypes.js b/testdata/baselines/reference/submodule/conformance/interfaceWithMultipleBaseTypes.js
index cb06e3d564..6fcf11e04c 100644
--- a/testdata/baselines/reference/submodule/conformance/interfaceWithMultipleBaseTypes.js
+++ b/testdata/baselines/reference/submodule/conformance/interfaceWithMultipleBaseTypes.js
@@ -66,3 +66,4 @@ module Generic {
}
//// [interfaceWithMultipleBaseTypes.js]
+// an interface may have multiple bases with properties of the same name as long as the interface's implementation satisfies all base type versions
diff --git a/testdata/baselines/reference/submodule/conformance/interfaceWithMultipleBaseTypes.js.diff b/testdata/baselines/reference/submodule/conformance/interfaceWithMultipleBaseTypes.js.diff
deleted file mode 100644
index 9a5154cb4d..0000000000
--- a/testdata/baselines/reference/submodule/conformance/interfaceWithMultipleBaseTypes.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.interfaceWithMultipleBaseTypes.js
-+++ new.interfaceWithMultipleBaseTypes.js
-@@= skipped -65, +65 lines =@@
- }
-
- //// [interfaceWithMultipleBaseTypes.js]
--// an interface may have multiple bases with properties of the same name as long as the interface's implementation satisfies all base type versions
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/interfaceWithPrivateMember.js b/testdata/baselines/reference/submodule/conformance/interfaceWithPrivateMember.js
index cebdc23c75..cae07a31f5 100644
--- a/testdata/baselines/reference/submodule/conformance/interfaceWithPrivateMember.js
+++ b/testdata/baselines/reference/submodule/conformance/interfaceWithPrivateMember.js
@@ -16,4 +16,5 @@ var x: {
}
//// [interfaceWithPrivateMember.js]
+// interfaces do not permit private members, these are errors
var x;
diff --git a/testdata/baselines/reference/submodule/conformance/interfaceWithPrivateMember.js.diff b/testdata/baselines/reference/submodule/conformance/interfaceWithPrivateMember.js.diff
deleted file mode 100644
index d98438a7c0..0000000000
--- a/testdata/baselines/reference/submodule/conformance/interfaceWithPrivateMember.js.diff
+++ /dev/null
@@ -1,8 +0,0 @@
---- old.interfaceWithPrivateMember.js
-+++ new.interfaceWithPrivateMember.js
-@@= skipped -15, +15 lines =@@
- }
-
- //// [interfaceWithPrivateMember.js]
--// interfaces do not permit private members, these are errors
- var x;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/intersectionOfUnionOfUnitTypes.js b/testdata/baselines/reference/submodule/conformance/intersectionOfUnionOfUnitTypes.js
index 58961a1541..4df9993dda 100644
--- a/testdata/baselines/reference/submodule/conformance/intersectionOfUnionOfUnitTypes.js
+++ b/testdata/baselines/reference/submodule/conformance/intersectionOfUnionOfUnitTypes.js
@@ -28,6 +28,7 @@ let z5: (E.A | E.B | E.C) & (E.B | E.C | E.D) & (E.C | E.D | E.E) & (E.D | E.E |
//// [intersectionOfUnionOfUnitTypes.js]
+// @strict
let x0; // 'a' | 'b' | 'c'
let x1; // 'b' | 'c'
let x2; // 'c'
diff --git a/testdata/baselines/reference/submodule/conformance/intersectionOfUnionOfUnitTypes.js.diff b/testdata/baselines/reference/submodule/conformance/intersectionOfUnionOfUnitTypes.js.diff
deleted file mode 100644
index 82e6826565..0000000000
--- a/testdata/baselines/reference/submodule/conformance/intersectionOfUnionOfUnitTypes.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.intersectionOfUnionOfUnitTypes.js
-+++ new.intersectionOfUnionOfUnitTypes.js
-@@= skipped -27, +27 lines =@@
-
-
- //// [intersectionOfUnionOfUnitTypes.js]
--// @strict
- let x0; // 'a' | 'b' | 'c'
- let x1; // 'b' | 'c'
- let x2; // 'c'
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/intersectionTypeInference3.js b/testdata/baselines/reference/submodule/conformance/intersectionTypeInference3.js
index 7edb849fe0..233f395d0d 100644
--- a/testdata/baselines/reference/submodule/conformance/intersectionTypeInference3.js
+++ b/testdata/baselines/reference/submodule/conformance/intersectionTypeInference3.js
@@ -21,5 +21,6 @@ const c2: ReadonlyArray = from();
//// [intersectionTypeInference3.js]
+// Repro from #19682
const c1 = Array.from(a).concat(Array.from(b));
const c2 = from();
diff --git a/testdata/baselines/reference/submodule/conformance/intersectionTypeInference3.js.diff b/testdata/baselines/reference/submodule/conformance/intersectionTypeInference3.js.diff
index 4c9ee55f39..ff9b2e115a 100644
--- a/testdata/baselines/reference/submodule/conformance/intersectionTypeInference3.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/intersectionTypeInference3.js.diff
@@ -5,6 +5,6 @@
//// [intersectionTypeInference3.js]
-"use strict";
--// Repro from #19682
+ // Repro from #19682
const c1 = Array.from(a).concat(Array.from(b));
const c2 = from();
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/intersectionTypeMembers.js b/testdata/baselines/reference/submodule/conformance/intersectionTypeMembers.js
index 7ff89ae36b..2a4a0ce796 100644
--- a/testdata/baselines/reference/submodule/conformance/intersectionTypeMembers.js
+++ b/testdata/baselines/reference/submodule/conformance/intersectionTypeMembers.js
@@ -70,6 +70,8 @@ const defg: D & E & F & G = {
//// [intersectionTypeMembers.js]
+// An intersection type has those members that are present in any of its constituent types,
+// with types that are intersections of the respective members in the constituent types
var abc;
abc.a = "hello";
abc.b = "hello";
diff --git a/testdata/baselines/reference/submodule/conformance/intersectionTypeMembers.js.diff b/testdata/baselines/reference/submodule/conformance/intersectionTypeMembers.js.diff
deleted file mode 100644
index ddcfbbc659..0000000000
--- a/testdata/baselines/reference/submodule/conformance/intersectionTypeMembers.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.intersectionTypeMembers.js
-+++ new.intersectionTypeMembers.js
-@@= skipped -69, +69 lines =@@
-
-
- //// [intersectionTypeMembers.js]
--// An intersection type has those members that are present in any of its constituent types,
--// with types that are intersections of the respective members in the constituent types
- var abc;
- abc.a = "hello";
- abc.b = "hello";
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/intersectionTypeOverloading.js b/testdata/baselines/reference/submodule/conformance/intersectionTypeOverloading.js
index e6fc79c90b..066ed46241 100644
--- a/testdata/baselines/reference/submodule/conformance/intersectionTypeOverloading.js
+++ b/testdata/baselines/reference/submodule/conformance/intersectionTypeOverloading.js
@@ -18,6 +18,8 @@ var y: any;
//// [intersectionTypeOverloading.js]
+// Check that order is preserved in intersection types for purposes of
+// overload resolution
var fg;
var gf;
var x = fg("abc");
diff --git a/testdata/baselines/reference/submodule/conformance/intersectionTypeOverloading.js.diff b/testdata/baselines/reference/submodule/conformance/intersectionTypeOverloading.js.diff
deleted file mode 100644
index 30b285d971..0000000000
--- a/testdata/baselines/reference/submodule/conformance/intersectionTypeOverloading.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.intersectionTypeOverloading.js
-+++ new.intersectionTypeOverloading.js
-@@= skipped -17, +17 lines =@@
-
-
- //// [intersectionTypeOverloading.js]
--// Check that order is preserved in intersection types for purposes of
--// overload resolution
- var fg;
- var gf;
- var x = fg("abc");
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/intersectionsAndEmptyObjects.js b/testdata/baselines/reference/submodule/conformance/intersectionsAndEmptyObjects.js
index 6438af8b3e..bb786ece46 100644
--- a/testdata/baselines/reference/submodule/conformance/intersectionsAndEmptyObjects.js
+++ b/testdata/baselines/reference/submodule/conformance/intersectionsAndEmptyObjects.js
@@ -93,6 +93,8 @@ export {}
//// [intersectionsAndEmptyObjects.js]
+// Empty object type literals are removed from intersections types
+// that contain other object types
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
diff --git a/testdata/baselines/reference/submodule/conformance/intersectionsAndEmptyObjects.js.diff b/testdata/baselines/reference/submodule/conformance/intersectionsAndEmptyObjects.js.diff
deleted file mode 100644
index 63139437ea..0000000000
--- a/testdata/baselines/reference/submodule/conformance/intersectionsAndEmptyObjects.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.intersectionsAndEmptyObjects.js
-+++ new.intersectionsAndEmptyObjects.js
-@@= skipped -92, +92 lines =@@
-
-
- //// [intersectionsAndEmptyObjects.js]
--// Empty object type literals are removed from intersections types
--// that contain other object types
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- var desc = Object.getOwnPropertyDescriptor(m, k);
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/intraExpressionInferences.js b/testdata/baselines/reference/submodule/conformance/intraExpressionInferences.js
index d120a966bd..cbd7fe6ffa 100644
--- a/testdata/baselines/reference/submodule/conformance/intraExpressionInferences.js
+++ b/testdata/baselines/reference/submodule/conformance/intraExpressionInferences.js
@@ -334,6 +334,7 @@ const distantRes = distant({
//// [intraExpressionInferences.js]
+// Repros from #47599
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
diff --git a/testdata/baselines/reference/submodule/conformance/intraExpressionInferences.js.diff b/testdata/baselines/reference/submodule/conformance/intraExpressionInferences.js.diff
index 034e47c5b0..1f9097ac8a 100644
--- a/testdata/baselines/reference/submodule/conformance/intraExpressionInferences.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/intraExpressionInferences.js.diff
@@ -5,11 +5,10 @@
//// [intraExpressionInferences.js]
-"use strict";
--// Repros from #47599
+ // Repros from #47599
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
-@@= skipped -71, +69 lines =@@
+@@= skipped -71, +70 lines =@@
});
// Repro from #41712
class Wrapper {
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassesErr.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassesErr.js
index c46d6df296..5f71b46f20 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassesErr.js
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassesErr.js
@@ -74,10 +74,10 @@ export class CC extends Y {
//// [index.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.CC = exports.BB = exports.AA = exports.Z = exports.Y = exports.X = exports.W = exports.V = exports.U = exports.T = exports.S = exports.R = exports.Q = exports.P = exports.O = exports.N = exports.M = void 0;
// Pretty much all of this should be an error, (since index signatures and generics are forbidden in js),
// but we should be able to synthesize declarations from the symbols regardless
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.CC = exports.BB = exports.AA = exports.Z = exports.Y = exports.X = exports.W = exports.V = exports.U = exports.T = exports.S = exports.R = exports.Q = exports.P = exports.O = exports.N = exports.M = void 0;
class M {
field;
}
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassesErr.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassesErr.js.diff
index 3aedd4a7cd..a1e02ba0e2 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassesErr.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassesErr.js.diff
@@ -1,15 +1,8 @@
--- old.jsDeclarationsClassesErr.js
+++ new.jsDeclarationsClassesErr.js
-@@= skipped -73, +73 lines =@@
-
- //// [index.js]
- "use strict";
--// Pretty much all of this should be an error, (since index signatures and generics are forbidden in js),
--// but we should be able to synthesize declarations from the symbols regardless
+@@= skipped -78, +78 lines =@@
Object.defineProperty(exports, "__esModule", { value: true });
exports.CC = exports.BB = exports.AA = exports.Z = exports.Y = exports.X = exports.W = exports.V = exports.U = exports.T = exports.S = exports.R = exports.Q = exports.P = exports.O = exports.N = exports.M = void 0;
-+// Pretty much all of this should be an error, (since index signatures and generics are forbidden in js),
-+// but we should be able to synthesize declarations from the symbols regardless
class M {
+ field;
}
@@ -19,7 +12,7 @@
}
exports.N = N;
class O {
-@@= skipped -58, +60 lines =@@
+@@= skipped -53, +55 lines =@@
//// [index.d.ts]
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnums.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnums.js
index c74cd87722..dbea11647a 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnums.js
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnums.js
@@ -66,10 +66,10 @@ export const enum L {
//// [index.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.K = exports.I = exports.H = exports.G = exports.F = exports.FF = exports.EE = exports.E = exports.D = exports.C = exports.B = exports.A = void 0;
// Pretty much all of this should be an error, (since enums are forbidden in js),
// but we should be able to synthesize declarations from the symbols regardless
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.K = exports.I = exports.H = exports.G = exports.F = exports.FF = exports.EE = exports.E = exports.D = exports.C = exports.B = exports.A = void 0;
var A;
(function (A) {
})(A || (exports.A = A = {}));
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnums.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnums.js.diff
index d4d5c20022..2eb52d8400 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnums.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnums.js.diff
@@ -1,19 +1,6 @@
--- old.jsDeclarationsEnums.js
+++ new.jsDeclarationsEnums.js
-@@= skipped -65, +65 lines =@@
-
- //// [index.js]
- "use strict";
--// Pretty much all of this should be an error, (since enums are forbidden in js),
--// but we should be able to synthesize declarations from the symbols regardless
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.K = exports.I = exports.H = exports.G = exports.F = exports.FF = exports.EE = exports.E = exports.D = exports.C = exports.B = exports.A = void 0;
-+// Pretty much all of this should be an error, (since enums are forbidden in js),
-+// but we should be able to synthesize declarations from the symbols regardless
- var A;
- (function (A) {
- })(A || (exports.A = A = {}));
-@@= skipped -51, +51 lines =@@
+@@= skipped -116, +116 lines =@@
//// [index.d.ts]
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment.js
index 479a6ab822..72b79e058f 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment.js
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment.js
@@ -82,7 +82,6 @@ export = Timer;
module.exports = Timer;
//// [context.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
/**
* Imports
*
@@ -90,6 +89,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
* @typedef {import("./hook")} Hook
* @typedef {import("./hook").HookHandler} HookHandler
*/
+Object.defineProperty(exports, "__esModule", { value: true });
/**
* Input type definition
*
@@ -147,6 +147,13 @@ module.exports = Hook;
//// [timer.d.ts]
export = Timer;
//// [context.d.ts]
+/**
+ * Imports
+ *
+ * @typedef {import("./timer")} Timer
+ * @typedef {import("./hook")} Hook
+ * @typedef {import("./hook").HookHandler} HookHandler
+ */
export type Timer = import("./timer");
export type Hook = import("./hook");
export type HookHandler = import("./hook").HookHandler;
@@ -158,13 +165,6 @@ export type State = {
timer: Timer;
hook: Hook;
};
-/**
- * Imports
- *
- * @typedef {import("./timer")} Timer
- * @typedef {import("./hook")} Hook
- * @typedef {import("./hook").HookHandler} HookHandler
- */
/**
* Input type definition
*
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment.js.diff
index f4d945f527..509e4e931d 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment.js.diff
@@ -8,11 +8,18 @@
module.exports = Timer;
//// [context.js]
+"use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
/**
* Imports
*
-@@= skipped -45, +48 lines =@@
+@@= skipped -9, +11 lines =@@
+ * @typedef {import("./hook")} Hook
+ * @typedef {import("./hook").HookHandler} HookHandler
+ */
++Object.defineProperty(exports, "__esModule", { value: true });
+ /**
+ * Input type definition
+ *
+@@= skipped -36, +37 lines =@@
return input;
}
};
@@ -47,6 +54,13 @@
-}
//// [context.d.ts]
-export = Context;
+ /**
+ * Imports
+ *
+@@= skipped -25, +14 lines =@@
+ * @typedef {import("./hook")} Hook
+ * @typedef {import("./hook").HookHandler} HookHandler
+ */
+export type Timer = import("./timer");
+export type Hook = import("./hook");
+export type HookHandler = import("./hook").HookHandler;
@@ -59,9 +73,9 @@
+ hook: Hook;
+};
/**
- * Imports
+ * Input type definition
*
-@@= skipped -45, +45 lines =@@
+@@= skipped -20, +31 lines =@@
* @class
* @param {Input} input
*/
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces.js
index 8bb2c92af5..b609fac5ca 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces.js
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces.js
@@ -123,6 +123,8 @@ export interface CC extends Y {
//// [index.js]
"use strict";
+// Pretty much all of this should be an error, (since interfaces are forbidden in js),
+// but we should be able to synthesize declarations from the symbols regardless
Object.defineProperty(exports, "__esModule", { value: true });
exports.JJ = exports.II = exports.H = exports.G = void 0;
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces.js.diff
index d8c960d73e..fbb4794d4c 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces.js.diff
@@ -1,17 +1,14 @@
--- old.jsDeclarationsInterfaces.js
+++ new.jsDeclarationsInterfaces.js
-@@= skipped -122, +122 lines =@@
-
- //// [index.js]
- "use strict";
--// Pretty much all of this should be an error, (since interfaces are forbidden in js),
--// but we should be able to synthesize declarations from the symbols regardless
+@@= skipped -125, +125 lines =@@
+ // Pretty much all of this should be an error, (since interfaces are forbidden in js),
+ // but we should be able to synthesize declarations from the symbols regardless
Object.defineProperty(exports, "__esModule", { value: true });
+exports.JJ = exports.II = exports.H = exports.G = void 0;
//// [index.d.ts]
-@@= skipped -12, +11 lines =@@
+@@= skipped -9, +10 lines =@@
cat: string;
}
export interface C {
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.js
index 25a713c08c..4d2d10e719 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.js
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.js
@@ -59,4 +59,5 @@ declare namespace BaseFactory {
}
export = BaseFactory;
//// [file.d.ts]
+/** @typedef {typeof import('./base')} BaseFactory */
export type BaseFactory = typeof import('./base');
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.js.diff
index 9f430cfe7a..87812fd6f4 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.js.diff
@@ -30,7 +30,7 @@
+}
+export = BaseFactory;
//// [file.d.ts]
--/** @typedef {typeof import('./base')} BaseFactory */
+ /** @typedef {typeof import('./base')} BaseFactory */
-/**
- *
- * @param {InstanceType} base
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js
index 1dca157bd6..c92bd9bc18 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js
@@ -16,8 +16,8 @@ module.exports.A.B = {
//// [index.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
///
+Object.defineProperty(exports, "__esModule", { value: true });
const Something = require("fs").Something;
export var A = {};
module.exports.A = {};
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js.diff
index bfcbf6de4d..2a594e8114 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js.diff
@@ -5,8 +5,8 @@
//// [index.js]
+"use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
///
++Object.defineProperty(exports, "__esModule", { value: true });
const Something = require("fs").Something;
+export var A = {};
module.exports.A = {};
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.js
index 4d67274d17..d061f00d0a 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.js
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.js
@@ -36,10 +36,10 @@ module.exports = {
//// [conn.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
/**
* @typedef {string | number} Whatever
*/
+Object.defineProperty(exports, "__esModule", { value: true });
class Conn {
constructor() { }
item = 3;
@@ -49,10 +49,10 @@ export = Conn;
module.exports = Conn;
//// [usage.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
/**
* @typedef {import("./conn")} Conn
*/
+Object.defineProperty(exports, "__esModule", { value: true });
class Wrap {
/**
* @param {Conn} c
@@ -69,13 +69,16 @@ module.exports = {
//// [conn.d.ts]
+/**
+ * @typedef {string | number} Whatever
+ */
export type Whatever = string | number;
export = Conn;
//// [usage.d.ts]
-export type Conn = import("./conn");
/**
* @typedef {import("./conn")} Conn
*/
+export type Conn = import("./conn");
declare class Wrap {
/**
* @param {Conn} c
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.js.diff
index e597ed2ed7..9aee02b222 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.js.diff
@@ -5,10 +5,10 @@
//// [conn.js]
+"use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
/**
* @typedef {string | number} Whatever
*/
++Object.defineProperty(exports, "__esModule", { value: true });
class Conn {
- constructor() {
- this.item = 3;
@@ -21,19 +21,21 @@
module.exports = Conn;
//// [usage.js]
+"use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
/**
* @typedef {import("./conn")} Conn
*/
++Object.defineProperty(exports, "__esModule", { value: true });
+ class Wrap {
+ /**
+ * @param {Conn} c
@@= skipped -30, +34 lines =@@
//// [conn.d.ts]
-+export type Whatever = string | number;
- export = Conn;
--/**
-- * @typedef {string | number} Whatever
-- */
+-export = Conn;
+ /**
+ * @typedef {string | number} Whatever
+ */
-declare class Conn {
- item: number;
- method(): void;
@@ -42,11 +44,16 @@
- export { Whatever };
-}
-type Whatever = string | number;
++export type Whatever = string | number;
++export = Conn;
//// [usage.d.ts]
++/**
++ * @typedef {import("./conn")} Conn
++ */
export type Conn = import("./conn");
- /**
- * @typedef {import("./conn")} Conn
- */
+-/**
+- * @typedef {import("./conn")} Conn
+- */
-export class Wrap {
+declare class Wrap {
/**
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefDescriptionsPreserved.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefDescriptionsPreserved.js
index 581befda80..16f94a0d4d 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefDescriptionsPreserved.js
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefDescriptionsPreserved.js
@@ -20,13 +20,13 @@
//// [index.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
/**
* Options for Foo <------------
* @typedef {Object} FooOptions
* @property {boolean} bar - Marvin K Mooney
* @property {string} baz - Sylvester McMonkey McBean
*/
+Object.defineProperty(exports, "__esModule", { value: true });
/**
* Multiline
* Options
@@ -38,6 +38,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
//// [index.d.ts]
+/**
+ * Options for Foo <------------
+ * @typedef {Object} FooOptions
+ * @property {boolean} bar - Marvin K Mooney
+ * @property {string} baz - Sylvester McMonkey McBean
+ */
export type FooOptions = {
bar: boolean;
baz: string;
@@ -46,12 +52,6 @@ export type BarOptions = {
bar: boolean;
baz: string;
};
-/**
- * Options for Foo <------------
- * @typedef {Object} FooOptions
- * @property {boolean} bar - Marvin K Mooney
- * @property {string} baz - Sylvester McMonkey McBean
- */
/**
* Multiline
* Options
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefDescriptionsPreserved.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefDescriptionsPreserved.js.diff
index 006d84c0c1..9de5bd6319 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefDescriptionsPreserved.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefDescriptionsPreserved.js.diff
@@ -5,22 +5,18 @@
//// [index.js]
+"use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
/**
* Options for Foo <------------
* @typedef {Object} FooOptions
-@@= skipped -17, +19 lines =@@
-
-
+ * @property {boolean} bar - Marvin K Mooney
+ * @property {string} baz - Sylvester McMonkey McBean
+ */
++Object.defineProperty(exports, "__esModule", { value: true });
+ /**
+ * Multiline
+ * Options
+@@= skipped -19, +21 lines =@@
//// [index.d.ts]
-+export type FooOptions = {
-+ bar: boolean;
-+ baz: string;
-+};
-+export type BarOptions = {
-+ bar: boolean;
-+ baz: string;
-+};
/**
* Options for Foo <------------
+ * @typedef {Object} FooOptions
@@ -35,8 +31,14 @@
- /**
- * - Sylvester McMonkey McBean
- */
-- baz: string;
--};
++export type FooOptions = {
++ bar: boolean;
++ baz: string;
++};
++export type BarOptions = {
++ bar: boolean;
+ baz: string;
+ };
/**
* Multiline
* Options
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefFunction.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefFunction.js
index 6dadf18074..8ce197c159 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefFunction.js
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefFunction.js
@@ -35,6 +35,11 @@ export {};
//// [foo.d.ts]
+/**
+ * @typedef {{
+ * [id: string]: [Function, Function];
+ * }} ResolveRejectMap
+ */
export type ResolveRejectMap = {
[id: string]: [Function, Function];
};
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefFunction.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefFunction.js.diff
index 7d399535fc..1075d0962b 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefFunction.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefFunction.js.diff
@@ -8,11 +8,10 @@
//// [foo.d.ts]
--/**
-- * @typedef {{
-- * [id: string]: [Function, Function];
-- * }} ResolveRejectMap
-- */
+@@= skipped -8, +9 lines =@@
+ * [id: string]: [Function, Function];
+ * }} ResolveRejectMap
+ */
-declare let id: number;
-/**
- * @param {ResolveRejectMap} handlers
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.js
index 3bef7dea8d..2623b88e65 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.js
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.js
@@ -56,8 +56,8 @@ module.exports = MainThreadTasks;
//// [module.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
/** @typedef {'parseHTML'|'styleLayout'} TaskGroupIds */
+Object.defineProperty(exports, "__esModule", { value: true });
/**
* @typedef TaskGroup
* @property {TaskGroupIds} id
@@ -107,6 +107,7 @@ module.exports = MainThreadTasks;
//// [module.d.ts]
+/** @typedef {'parseHTML'|'styleLayout'} TaskGroupIds */
export type TaskGroupIds = 'parseHTML' | 'styleLayout';
export type TaskGroup = {
id: TaskGroupIds;
diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.js.diff
index 014dd8fd76..61d8bb2796 100644
--- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.js.diff
@@ -5,10 +5,11 @@
//// [module.js]
+"use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
/** @typedef {'parseHTML'|'styleLayout'} TaskGroupIds */
++Object.defineProperty(exports, "__esModule", { value: true });
/**
* @typedef TaskGroup
+ * @property {TaskGroupIds} id
@@= skipped -27, +29 lines =@@
taskNameToGroup,
};
@@ -28,6 +29,7 @@
//// [module.d.ts]
-export type TaskGroupIds = "parseHTML" | "styleLayout";
++/** @typedef {'parseHTML'|'styleLayout'} TaskGroupIds */
+export type TaskGroupIds = 'parseHTML' | 'styleLayout';
export type TaskGroup = {
id: TaskGroupIds;
diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagDefault.js b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagDefault.js
index c7b444b44c..01a2dab259 100644
--- a/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagDefault.js
+++ b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagDefault.js
@@ -70,11 +70,11 @@ function f3(a, b) {}
//// [file.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
/**
* @template {string | number} [T=string] - ok: defaults are permitted
* @typedef {[T]} A
*/
+Object.defineProperty(exports, "__esModule", { value: true });
/** @type {A} */ // ok, default for `T` in `A` is `string`
const aDefault1 = [""];
/** @type {A} */ // error: `number` is not assignable to string`
@@ -130,6 +130,10 @@ function f3(a, b) { }
//// [file.d.ts]
+/**
+ * @template {string | number} [T=string] - ok: defaults are permitted
+ * @typedef {[T]} A
+ */
export type A = [T];
export type B = [T, U];
export type C = [T];
diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagDefault.js.diff b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagDefault.js.diff
index 7fe14aa992..5f63dd250d 100644
--- a/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagDefault.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagDefault.js.diff
@@ -5,15 +5,18 @@
//// [file.js]
+"use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
/**
* @template {string | number} [T=string] - ok: defaults are permitted
* @typedef {[T]} A
-@@= skipped -59, +61 lines =@@
-
+ */
++Object.defineProperty(exports, "__esModule", { value: true });
+ /** @type {A} */ // ok, default for `T` in `A` is `string`
+ const aDefault1 = [""];
+ /** @type {A} */ // error: `number` is not assignable to string`
+@@= skipped -60, +62 lines =@@
//// [file.d.ts]
--/**
+ /**
- * @template T
- * @template [U=T] - ok: default can reference earlier type parameter
- * @typedef {[T, U]} B
@@ -58,9 +61,9 @@
- */
-declare function f3(a: T, b: U): void;
-/**
-- * @template {string | number} [T=string] - ok: defaults are permitted
-- * @typedef {[T]} A
-- */
+ * @template {string | number} [T=string] - ok: defaults are permitted
+ * @typedef {[T]} A
+ */
-/** @type {A} */ declare const aDefault1: A;
-/** @type {A} */ declare const aDefault2: A;
-/** @type {A} */ declare const aString: A;
diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagNameResolution.js b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagNameResolution.js
index f607f63de7..d3c5005526 100644
--- a/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagNameResolution.js
+++ b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagNameResolution.js
@@ -14,16 +14,21 @@ const y = "a";
//// [file.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
/**
* @template T
* @template {keyof T} K
* @typedef {T[K]} Foo
*/
+Object.defineProperty(exports, "__esModule", { value: true });
const x = { a: 1 };
/** @type {Foo} */
const y = "a";
//// [file.d.ts]
+/**
+ * @template T
+ * @template {keyof T} K
+ * @typedef {T[K]} Foo
+ */
export type Foo = T[K];
diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagNameResolution.js.diff b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagNameResolution.js.diff
index 5b6477fc9e..5d1aebd951 100644
--- a/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagNameResolution.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagNameResolution.js.diff
@@ -5,11 +5,15 @@
//// [file.js]
+"use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
/**
* @template T
* @template {keyof T} K
-@@= skipped -11, +13 lines =@@
+ * @typedef {T[K]} Foo
+ */
++Object.defineProperty(exports, "__esModule", { value: true });
+ const x = { a: 1 };
+ /** @type {Foo} */
+ const y = "a";
//// [file.d.ts]
@@ -19,4 +23,9 @@
-/** @type {Foo} */
-declare const y: Foo;
-type Foo = T[K];
++/**
++ * @template T
++ * @template {keyof T} K
++ * @typedef {T[K]} Foo
++ */
+export type Foo = T[K];
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/labeledStatementDeclarationListInLoopNoCrash3.js b/testdata/baselines/reference/submodule/conformance/labeledStatementDeclarationListInLoopNoCrash3.js
index 0fd26701c0..b11f60405c 100644
--- a/testdata/baselines/reference/submodule/conformance/labeledStatementDeclarationListInLoopNoCrash3.js
+++ b/testdata/baselines/reference/submodule/conformance/labeledStatementDeclarationListInLoopNoCrash3.js
@@ -26,9 +26,9 @@ export class ParseThemeData {
//// [labeledStatementDeclarationListInLoopNoCrash3.js]
"use strict";
+// https://github.com/microsoft/TypeScript/issues/59345
Object.defineProperty(exports, "__esModule", { value: true });
exports.ParseThemeData = void 0;
-// https://github.com/microsoft/TypeScript/issues/59345
class ParseThemeData {
parseButton(button) {
const { type, size } = button;
diff --git a/testdata/baselines/reference/submodule/conformance/labeledStatementDeclarationListInLoopNoCrash3.js.diff b/testdata/baselines/reference/submodule/conformance/labeledStatementDeclarationListInLoopNoCrash3.js.diff
deleted file mode 100644
index af5a1af0b9..0000000000
--- a/testdata/baselines/reference/submodule/conformance/labeledStatementDeclarationListInLoopNoCrash3.js.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- old.labeledStatementDeclarationListInLoopNoCrash3.js
-+++ new.labeledStatementDeclarationListInLoopNoCrash3.js
-@@= skipped -25, +25 lines =@@
-
- //// [labeledStatementDeclarationListInLoopNoCrash3.js]
- "use strict";
--// https://github.com/microsoft/TypeScript/issues/59345
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.ParseThemeData = void 0;
-+// https://github.com/microsoft/TypeScript/issues/59345
- class ParseThemeData {
- parseButton(button) {
- const { type, size } = button;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/labeledStatementExportDeclarationNoCrash1(module=commonjs).js b/testdata/baselines/reference/submodule/conformance/labeledStatementExportDeclarationNoCrash1(module=commonjs).js
index c5f2c973c7..64070959f9 100644
--- a/testdata/baselines/reference/submodule/conformance/labeledStatementExportDeclarationNoCrash1(module=commonjs).js
+++ b/testdata/baselines/reference/submodule/conformance/labeledStatementExportDeclarationNoCrash1(module=commonjs).js
@@ -10,6 +10,7 @@ export const title: string
//// [labeledStatementExportDeclarationNoCrash1.js]
"use strict";
+// https://github.com/microsoft/TypeScript/issues/59372
Object.defineProperty(exports, "__esModule", { value: true });
exports.box = void 0;
subTitle: export const title;
diff --git a/testdata/baselines/reference/submodule/conformance/labeledStatementExportDeclarationNoCrash1(module=commonjs).js.diff b/testdata/baselines/reference/submodule/conformance/labeledStatementExportDeclarationNoCrash1(module=commonjs).js.diff
index 732d020a88..43fc150a8f 100644
--- a/testdata/baselines/reference/submodule/conformance/labeledStatementExportDeclarationNoCrash1(module=commonjs).js.diff
+++ b/testdata/baselines/reference/submodule/conformance/labeledStatementExportDeclarationNoCrash1(module=commonjs).js.diff
@@ -1,10 +1,7 @@
--- old.labeledStatementExportDeclarationNoCrash1(module=commonjs).js
+++ new.labeledStatementExportDeclarationNoCrash1(module=commonjs).js
-@@= skipped -9, +9 lines =@@
-
- //// [labeledStatementExportDeclarationNoCrash1.js]
- "use strict";
--// https://github.com/microsoft/TypeScript/issues/59372
+@@= skipped -12, +12 lines =@@
+ // https://github.com/microsoft/TypeScript/issues/59372
Object.defineProperty(exports, "__esModule", { value: true });
exports.box = void 0;
-subTitle: ;
diff --git a/testdata/baselines/reference/submodule/conformance/linkTagEmit1.js b/testdata/baselines/reference/submodule/conformance/linkTagEmit1.js
index 7a000f6c35..b4f596158e 100644
--- a/testdata/baselines/reference/submodule/conformance/linkTagEmit1.js
+++ b/testdata/baselines/reference/submodule/conformance/linkTagEmit1.js
@@ -29,13 +29,13 @@ var see3 = true
//// [linkTagEmit1.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
/** @typedef {number} N */
/**
* @typedef {Object} D1
* @property {1} e Just link to {@link NS.R} this time
* @property {1} m Wyatt Earp loved {@link N integers} I bet.
*/
+Object.defineProperty(exports, "__esModule", { value: true });
/** @typedef {number} Z @see N {@link N} */
/**
* @param {number} integer {@link Z}
@@ -49,6 +49,12 @@ var see3 = true;
//// [linkTagEmit1.d.ts]
+/** @typedef {number} N */
+/**
+ * @typedef {Object} D1
+ * @property {1} e Just link to {@link NS.R} this time
+ * @property {1} m Wyatt Earp loved {@link N integers} I bet.
+ */
export type N = number;
export type D1 = {
e: 1;
diff --git a/testdata/baselines/reference/submodule/conformance/linkTagEmit1.js.diff b/testdata/baselines/reference/submodule/conformance/linkTagEmit1.js.diff
index 3b0ca7cf6a..2e9e68c8c3 100644
--- a/testdata/baselines/reference/submodule/conformance/linkTagEmit1.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/linkTagEmit1.js.diff
@@ -5,20 +5,20 @@
//// [linkTagEmit1.js]
+"use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
/** @typedef {number} N */
/**
* @typedef {Object} D1
-@@= skipped -19, +21 lines =@@
-
-
- //// [linkTagEmit1.d.ts]
--/** @typedef {number} N */
--/**
-- * @typedef {Object} D1
-- * @property {1} e Just link to {@link NS.R} this time
-- * @property {1} m Wyatt Earp loved {@link N integers} I bet.
-- */
+ * @property {1} e Just link to {@link NS.R} this time
+ * @property {1} m Wyatt Earp loved {@link N integers} I bet.
+ */
++Object.defineProperty(exports, "__esModule", { value: true });
+ /** @typedef {number} Z @see N {@link N} */
+ /**
+ * @param {number} integer {@link Z}
+@@= skipped -25, +27 lines =@@
+ * @property {1} e Just link to {@link NS.R} this time
+ * @property {1} m Wyatt Earp loved {@link N integers} I bet.
+ */
-/** @typedef {number} Z @see N {@link N} */
-/**
- * @param {number} integer {@link Z}
diff --git a/testdata/baselines/reference/submodule/conformance/literalTypeWidening.js b/testdata/baselines/reference/submodule/conformance/literalTypeWidening.js
index 4946011c78..461b4b0efe 100644
--- a/testdata/baselines/reference/submodule/conformance/literalTypeWidening.js
+++ b/testdata/baselines/reference/submodule/conformance/literalTypeWidening.js
@@ -148,6 +148,7 @@ const b: E.A = a;
//// [literalTypeWidening.js]
"use strict";
+// Widening vs. non-widening literal types
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -174,7 +175,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.langCodes = void 0;
exports.Set = Set;
exports.keys = keys;
-// Widening vs. non-widening literal types
function f1() {
const c1 = "hello"; // Widening type "hello"
let v1 = c1; // Type string
diff --git a/testdata/baselines/reference/submodule/conformance/literalTypeWidening.js.diff b/testdata/baselines/reference/submodule/conformance/literalTypeWidening.js.diff
deleted file mode 100644
index 3a211fb855..0000000000
--- a/testdata/baselines/reference/submodule/conformance/literalTypeWidening.js.diff
+++ /dev/null
@@ -1,18 +0,0 @@
---- old.literalTypeWidening.js
-+++ new.literalTypeWidening.js
-@@= skipped -147, +147 lines =@@
-
- //// [literalTypeWidening.js]
- "use strict";
--// Widening vs. non-widening literal types
- var __assign = (this && this.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
-@@= skipped -27, +26 lines =@@
- exports.langCodes = void 0;
- exports.Set = Set;
- exports.keys = keys;
-+// Widening vs. non-widening literal types
- function f1() {
- const c1 = "hello"; // Widening type "hello"
- let v1 = c1; // Type string
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/mappedTypeAsClauses.js b/testdata/baselines/reference/submodule/conformance/mappedTypeAsClauses.js
index c4e6af1ae7..f317b2f9a7 100644
--- a/testdata/baselines/reference/submodule/conformance/mappedTypeAsClauses.js
+++ b/testdata/baselines/reference/submodule/conformance/mappedTypeAsClauses.js
@@ -179,6 +179,7 @@ type Test2 = Result2 // "apple:red" | "banana:yellow" | "orange:orange"
//// [mappedTypeAsClauses.js]
+// Mapped type 'as N' clauses
const e1 = {
foo: "hello"
};
diff --git a/testdata/baselines/reference/submodule/conformance/mappedTypeAsClauses.js.diff b/testdata/baselines/reference/submodule/conformance/mappedTypeAsClauses.js.diff
index 793c875c19..f809d77a46 100644
--- a/testdata/baselines/reference/submodule/conformance/mappedTypeAsClauses.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/mappedTypeAsClauses.js.diff
@@ -5,7 +5,6 @@
//// [mappedTypeAsClauses.js]
-"use strict";
--// Mapped type 'as N' clauses
+ // Mapped type 'as N' clauses
const e1 = {
- foo: "hello"
- };
\ No newline at end of file
+ foo: "hello"
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/mappedTypeErrors2.js b/testdata/baselines/reference/submodule/conformance/mappedTypeErrors2.js
index f49fe66ad8..01bf863a58 100644
--- a/testdata/baselines/reference/submodule/conformance/mappedTypeErrors2.js
+++ b/testdata/baselines/reference/submodule/conformance/mappedTypeErrors2.js
@@ -23,6 +23,7 @@ type T7 = {[key in AB[S]]: true}[L];
//// [mappedTypeErrors2.js]
+// Repros from #17238
//// [mappedTypeErrors2.d.ts]
diff --git a/testdata/baselines/reference/submodule/conformance/mappedTypeErrors2.js.diff b/testdata/baselines/reference/submodule/conformance/mappedTypeErrors2.js.diff
deleted file mode 100644
index 8d32979a6a..0000000000
--- a/testdata/baselines/reference/submodule/conformance/mappedTypeErrors2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.mappedTypeErrors2.js
-+++ new.mappedTypeErrors2.js
-@@= skipped -22, +22 lines =@@
-
-
- //// [mappedTypeErrors2.js]
--// Repros from #17238
-
-
- //// [mappedTypeErrors2.d.ts]
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/mappedTypeInferenceErrors.js b/testdata/baselines/reference/submodule/conformance/mappedTypeInferenceErrors.js
index 7d2222367f..06ad3ce4e0 100644
--- a/testdata/baselines/reference/submodule/conformance/mappedTypeInferenceErrors.js
+++ b/testdata/baselines/reference/submodule/conformance/mappedTypeInferenceErrors.js
@@ -22,6 +22,7 @@ foo({
//// [mappedTypeInferenceErrors.js]
+// Repro from #19316
foo({
props: { x: 10, y: 20 },
computed: {
diff --git a/testdata/baselines/reference/submodule/conformance/mappedTypeInferenceErrors.js.diff b/testdata/baselines/reference/submodule/conformance/mappedTypeInferenceErrors.js.diff
index 57a583cbea..7bf3efa382 100644
--- a/testdata/baselines/reference/submodule/conformance/mappedTypeInferenceErrors.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/mappedTypeInferenceErrors.js.diff
@@ -5,7 +5,6 @@
//// [mappedTypeInferenceErrors.js]
-"use strict";
--// Repro from #19316
+ // Repro from #19316
foo({
- props: { x: 10, y: 20 },
- computed: {
\ No newline at end of file
+ props: { x: 10, y: 20 },
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/mergeThreeInterfaces.js b/testdata/baselines/reference/submodule/conformance/mergeThreeInterfaces.js
index 3aae24734a..a444ce42f5 100644
--- a/testdata/baselines/reference/submodule/conformance/mergeThreeInterfaces.js
+++ b/testdata/baselines/reference/submodule/conformance/mergeThreeInterfaces.js
@@ -81,6 +81,7 @@ module M {
}
//// [mergeThreeInterfaces.js]
+// interfaces with the same root module should merge
var a;
var r1 = a.foo;
var r2 = a.bar;
diff --git a/testdata/baselines/reference/submodule/conformance/mergeThreeInterfaces.js.diff b/testdata/baselines/reference/submodule/conformance/mergeThreeInterfaces.js.diff
deleted file mode 100644
index 1ca173d37a..0000000000
--- a/testdata/baselines/reference/submodule/conformance/mergeThreeInterfaces.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.mergeThreeInterfaces.js
-+++ new.mergeThreeInterfaces.js
-@@= skipped -80, +80 lines =@@
- }
-
- //// [mergeThreeInterfaces.js]
--// interfaces with the same root module should merge
- var a;
- var r1 = a.foo;
- var r2 = a.bar;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/mergeTwoInterfaces.js b/testdata/baselines/reference/submodule/conformance/mergeTwoInterfaces.js
index 6698caeda1..e87d51b9ca 100644
--- a/testdata/baselines/reference/submodule/conformance/mergeTwoInterfaces.js
+++ b/testdata/baselines/reference/submodule/conformance/mergeTwoInterfaces.js
@@ -60,6 +60,7 @@ module M {
}
//// [mergeTwoInterfaces.js]
+// two interfaces with the same root module should merge
var a;
var r1 = a.foo;
var r2 = a.bar;
diff --git a/testdata/baselines/reference/submodule/conformance/mergeTwoInterfaces.js.diff b/testdata/baselines/reference/submodule/conformance/mergeTwoInterfaces.js.diff
deleted file mode 100644
index b466e3142e..0000000000
--- a/testdata/baselines/reference/submodule/conformance/mergeTwoInterfaces.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.mergeTwoInterfaces.js
-+++ new.mergeTwoInterfaces.js
-@@= skipped -59, +59 lines =@@
- }
-
- //// [mergeTwoInterfaces.js]
--// two interfaces with the same root module should merge
- var a;
- var r1 = a.foo;
- var r2 = a.bar;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/mergedInterfacesWithIndexers.js b/testdata/baselines/reference/submodule/conformance/mergedInterfacesWithIndexers.js
index fc5c7f5255..a67761dded 100644
--- a/testdata/baselines/reference/submodule/conformance/mergedInterfacesWithIndexers.js
+++ b/testdata/baselines/reference/submodule/conformance/mergedInterfacesWithIndexers.js
@@ -18,6 +18,7 @@ var r2 = a['1'];
var r3 = a['hi'];
//// [mergedInterfacesWithIndexers.js]
+// indexers should behave like other members when merging interface declarations
var a;
var r = a[1];
var r2 = a['1'];
diff --git a/testdata/baselines/reference/submodule/conformance/mergedInterfacesWithIndexers.js.diff b/testdata/baselines/reference/submodule/conformance/mergedInterfacesWithIndexers.js.diff
deleted file mode 100644
index d17df05de1..0000000000
--- a/testdata/baselines/reference/submodule/conformance/mergedInterfacesWithIndexers.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.mergedInterfacesWithIndexers.js
-+++ new.mergedInterfacesWithIndexers.js
-@@= skipped -17, +17 lines =@@
- var r3 = a['hi'];
-
- //// [mergedInterfacesWithIndexers.js]
--// indexers should behave like other members when merging interface declarations
- var a;
- var r = a[1];
- var r2 = a['1'];
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/mergedInterfacesWithIndexers2.js b/testdata/baselines/reference/submodule/conformance/mergedInterfacesWithIndexers2.js
index c3487df21c..6bba063ee1 100644
--- a/testdata/baselines/reference/submodule/conformance/mergedInterfacesWithIndexers2.js
+++ b/testdata/baselines/reference/submodule/conformance/mergedInterfacesWithIndexers2.js
@@ -25,3 +25,4 @@ interface A2 {
//// [mergedInterfacesWithIndexers2.js]
+// indexers should behave like other members when merging interface declarations
diff --git a/testdata/baselines/reference/submodule/conformance/mergedInterfacesWithIndexers2.js.diff b/testdata/baselines/reference/submodule/conformance/mergedInterfacesWithIndexers2.js.diff
deleted file mode 100644
index cba1ceb01f..0000000000
--- a/testdata/baselines/reference/submodule/conformance/mergedInterfacesWithIndexers2.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.mergedInterfacesWithIndexers2.js
-+++ new.mergedInterfacesWithIndexers2.js
-@@= skipped -24, +24 lines =@@
-
-
- //// [mergedInterfacesWithIndexers2.js]
--// indexers should behave like other members when merging interface declarations
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/mixinAccessors5.js b/testdata/baselines/reference/submodule/conformance/mixinAccessors5.js
index c8250f2924..c1689d5ce0 100644
--- a/testdata/baselines/reference/submodule/conformance/mixinAccessors5.js
+++ b/testdata/baselines/reference/submodule/conformance/mixinAccessors5.js
@@ -26,6 +26,7 @@ declare class TestB extends basicMixin(GetterA, GetterB) {
//// [mixinAccessors5.js]
+// https://github.com/microsoft/TypeScript/issues/61967
//// [mixinAccessors5.d.ts]
diff --git a/testdata/baselines/reference/submodule/conformance/mixinAccessors5.js.diff b/testdata/baselines/reference/submodule/conformance/mixinAccessors5.js.diff
index ab86b0a787..cad2d1bf7d 100644
--- a/testdata/baselines/reference/submodule/conformance/mixinAccessors5.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/mixinAccessors5.js.diff
@@ -5,7 +5,5 @@
//// [mixinAccessors5.js]
-"use strict";
--// https://github.com/microsoft/TypeScript/issues/61967
+ // https://github.com/microsoft/TypeScript/issues/61967
-
- //// [mixinAccessors5.d.ts]
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/noInfer.js b/testdata/baselines/reference/submodule/conformance/noInfer.js
index 864ce352ba..1a24b75eb9 100644
--- a/testdata/baselines/reference/submodule/conformance/noInfer.js
+++ b/testdata/baselines/reference/submodule/conformance/noInfer.js
@@ -85,6 +85,7 @@ class OkClass2 {
//// [noInfer.js]
+// NoInfer is erased for primitives
foo1('foo', 'foo'); // ok
foo1('foo', 'bar'); // error
foo2('foo', ['bar']); // error
diff --git a/testdata/baselines/reference/submodule/conformance/noInfer.js.diff b/testdata/baselines/reference/submodule/conformance/noInfer.js.diff
index d7a313019d..d570c4d76f 100644
--- a/testdata/baselines/reference/submodule/conformance/noInfer.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/noInfer.js.diff
@@ -5,11 +5,10 @@
//// [noInfer.js]
-"use strict";
--// NoInfer is erased for primitives
+ // NoInfer is erased for primitives
foo1('foo', 'foo'); // ok
foo1('foo', 'bar'); // error
- foo2('foo', ['bar']); // error
-@@= skipped -20, +18 lines =@@
+@@= skipped -20, +19 lines =@@
doWork(comp, {}); // error
const mutate1 = mutate((a, b) => b);
class OkClass {
diff --git a/testdata/baselines/reference/submodule/conformance/nonPrimitiveAndEmptyObject.js b/testdata/baselines/reference/submodule/conformance/nonPrimitiveAndEmptyObject.js
index 9fc3f29fb3..9abdc835d0 100644
--- a/testdata/baselines/reference/submodule/conformance/nonPrimitiveAndEmptyObject.js
+++ b/testdata/baselines/reference/submodule/conformance/nonPrimitiveAndEmptyObject.js
@@ -19,6 +19,7 @@ fooProps.barProp;
//// [nonPrimitiveAndEmptyObject.js]
"use strict";
+// Repro from #49480
Object.defineProperty(exports, "__esModule", { value: true });
const { fooProps = {} } = foo;
fooProps.barProp;
diff --git a/testdata/baselines/reference/submodule/conformance/nonPrimitiveAndEmptyObject.js.diff b/testdata/baselines/reference/submodule/conformance/nonPrimitiveAndEmptyObject.js.diff
deleted file mode 100644
index 37c126bde1..0000000000
--- a/testdata/baselines/reference/submodule/conformance/nonPrimitiveAndEmptyObject.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.nonPrimitiveAndEmptyObject.js
-+++ new.nonPrimitiveAndEmptyObject.js
-@@= skipped -18, +18 lines =@@
-
- //// [nonPrimitiveAndEmptyObject.js]
- "use strict";
--// Repro from #49480
- Object.defineProperty(exports, "__esModule", { value: true });
- const { fooProps = {} } = foo;
- fooProps.barProp;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/nonPrimitiveAndTypeVariables.js b/testdata/baselines/reference/submodule/conformance/nonPrimitiveAndTypeVariables.js
index 07c4571729..fc5167a7af 100644
--- a/testdata/baselines/reference/submodule/conformance/nonPrimitiveAndTypeVariables.js
+++ b/testdata/baselines/reference/submodule/conformance/nonPrimitiveAndTypeVariables.js
@@ -16,6 +16,7 @@ function foo(x: T) {
//// [nonPrimitiveAndTypeVariables.js]
+// Repros from #23800
let a = { a: 0 };
let b = { a: 0 };
function foo(x) {
diff --git a/testdata/baselines/reference/submodule/conformance/nonPrimitiveAndTypeVariables.js.diff b/testdata/baselines/reference/submodule/conformance/nonPrimitiveAndTypeVariables.js.diff
index d215e5606a..5966f67d82 100644
--- a/testdata/baselines/reference/submodule/conformance/nonPrimitiveAndTypeVariables.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/nonPrimitiveAndTypeVariables.js.diff
@@ -5,7 +5,6 @@
//// [nonPrimitiveAndTypeVariables.js]
-"use strict";
--// Repros from #23800
+ // Repros from #23800
let a = { a: 0 };
- let b = { a: 0 };
- function foo(x) {
\ No newline at end of file
+ let b = { a: 0 };
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/numericIndexerConstrainsPropertyDeclarations.js b/testdata/baselines/reference/submodule/conformance/numericIndexerConstrainsPropertyDeclarations.js
index b97e444650..7e999c1c11 100644
--- a/testdata/baselines/reference/submodule/conformance/numericIndexerConstrainsPropertyDeclarations.js
+++ b/testdata/baselines/reference/submodule/conformance/numericIndexerConstrainsPropertyDeclarations.js
@@ -100,6 +100,7 @@ var b: { [x: number]: string; } = {
}
//// [numericIndexerConstrainsPropertyDeclarations.js]
+// String indexer types constrain the types of named properties in their containing type
class C {
constructor() { } // ok
a; // ok
diff --git a/testdata/baselines/reference/submodule/conformance/numericIndexerConstrainsPropertyDeclarations.js.diff b/testdata/baselines/reference/submodule/conformance/numericIndexerConstrainsPropertyDeclarations.js.diff
index 9cb1b3a60d..6e738a68c0 100644
--- a/testdata/baselines/reference/submodule/conformance/numericIndexerConstrainsPropertyDeclarations.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/numericIndexerConstrainsPropertyDeclarations.js.diff
@@ -1,10 +1,7 @@
--- old.numericIndexerConstrainsPropertyDeclarations.js
+++ new.numericIndexerConstrainsPropertyDeclarations.js
-@@= skipped -99, +99 lines =@@
- }
-
- //// [numericIndexerConstrainsPropertyDeclarations.js]
--// String indexer types constrain the types of named properties in their containing type
+@@= skipped -102, +102 lines =@@
+ // String indexer types constrain the types of named properties in their containing type
class C {
constructor() { } // ok
+ a; // ok
@@ -20,7 +17,7 @@
get X() {
return '';
}
-@@= skipped -10, +19 lines =@@
+@@= skipped -7, +17 lines =@@
foo() {
return '';
}
diff --git a/testdata/baselines/reference/submodule/conformance/objectLiteralContextualTyping.js b/testdata/baselines/reference/submodule/conformance/objectLiteralContextualTyping.js
index 3ddb31def1..0baec82689 100644
--- a/testdata/baselines/reference/submodule/conformance/objectLiteralContextualTyping.js
+++ b/testdata/baselines/reference/submodule/conformance/objectLiteralContextualTyping.js
@@ -33,6 +33,10 @@ var b: {};
//// [objectLiteralContextualTyping.js]
+// In a contextually typed object literal, each property value expression is contextually typed by
+// the type of the property with a matching name in the contextual type, if any, or otherwise
+// for a numerically named property, the numeric index type of the contextual type, if any, or otherwise
+// the string index type of the contextual type, if any.
var x = foo({ name: "Sprocket" });
var x;
var y = foo({ name: "Sprocket", description: "Bumpy wheel" });
diff --git a/testdata/baselines/reference/submodule/conformance/objectLiteralContextualTyping.js.diff b/testdata/baselines/reference/submodule/conformance/objectLiteralContextualTyping.js.diff
deleted file mode 100644
index fce8649c1a..0000000000
--- a/testdata/baselines/reference/submodule/conformance/objectLiteralContextualTyping.js.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- old.objectLiteralContextualTyping.js
-+++ new.objectLiteralContextualTyping.js
-@@= skipped -32, +32 lines =@@
-
-
- //// [objectLiteralContextualTyping.js]
--// In a contextually typed object literal, each property value expression is contextually typed by
--// the type of the property with a matching name in the contextual type, if any, or otherwise
--// for a numerically named property, the numeric index type of the contextual type, if any, or otherwise
--// the string index type of the contextual type, if any.
- var x = foo({ name: "Sprocket" });
- var x;
- var y = foo({ name: "Sprocket", description: "Bumpy wheel" });
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureAppearsToBeFunctionType.js b/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureAppearsToBeFunctionType.js
index f69d5516e0..ea1c997c60 100644
--- a/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureAppearsToBeFunctionType.js
+++ b/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureAppearsToBeFunctionType.js
@@ -20,6 +20,8 @@ var r4: void = b();
var rb4: (x: any, y?: any) => any = b.apply;
//// [objectTypeWithCallSignatureAppearsToBeFunctionType.js]
+// objects with call signatures should be permitted where function types are expected
+// no errors expected below
var i;
var r2 = i();
var r2b = i.apply;
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureAppearsToBeFunctionType.js.diff b/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureAppearsToBeFunctionType.js.diff
deleted file mode 100644
index 2f5beed900..0000000000
--- a/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureAppearsToBeFunctionType.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.objectTypeWithCallSignatureAppearsToBeFunctionType.js
-+++ new.objectTypeWithCallSignatureAppearsToBeFunctionType.js
-@@= skipped -19, +19 lines =@@
- var rb4: (x: any, y?: any) => any = b.apply;
-
- //// [objectTypeWithCallSignatureAppearsToBeFunctionType.js]
--// objects with call signatures should be permitted where function types are expected
--// no errors expected below
- var i;
- var r2 = i();
- var r2b = i.apply;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.js b/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.js
index 411f7b3f7b..4f219ffdd8 100644
--- a/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.js
+++ b/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.js
@@ -35,6 +35,8 @@ var r2d = x.data;
var r2e = x['hm']; // should be Object
//// [objectTypeWithCallSignatureHidingMembersOfExtendedFunction.js]
+// object types with call signatures can override members of Function
+// no errors expected below
var i;
var r1 = i.apply;
var r1b = i.call;
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.js.diff b/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.js.diff
deleted file mode 100644
index 8057c4eb50..0000000000
--- a/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.objectTypeWithCallSignatureHidingMembersOfExtendedFunction.js
-+++ new.objectTypeWithCallSignatureHidingMembersOfExtendedFunction.js
-@@= skipped -34, +34 lines =@@
- var r2e = x['hm']; // should be Object
-
- //// [objectTypeWithCallSignatureHidingMembersOfExtendedFunction.js]
--// object types with call signatures can override members of Function
--// no errors expected below
- var i;
- var r1 = i.apply;
- var r1b = i.call;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureHidingMembersOfFunction.js b/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureHidingMembersOfFunction.js
index fe635babcc..96b593178b 100644
--- a/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureHidingMembersOfFunction.js
+++ b/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureHidingMembersOfFunction.js
@@ -27,6 +27,8 @@ var r2c = x.arguments;
//// [objectTypeWithCallSignatureHidingMembersOfFunction.js]
+// object types with call signatures can override members of Function
+// no errors expected below
var i;
var r1 = i.apply;
var r1b = i.call;
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureHidingMembersOfFunction.js.diff b/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureHidingMembersOfFunction.js.diff
deleted file mode 100644
index 223e793aaa..0000000000
--- a/testdata/baselines/reference/submodule/conformance/objectTypeWithCallSignatureHidingMembersOfFunction.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.objectTypeWithCallSignatureHidingMembersOfFunction.js
-+++ new.objectTypeWithCallSignatureHidingMembersOfFunction.js
-@@= skipped -26, +26 lines =@@
-
-
- //// [objectTypeWithCallSignatureHidingMembersOfFunction.js]
--// object types with call signatures can override members of Function
--// no errors expected below
- var i;
- var r1 = i.apply;
- var r1b = i.call;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypeWithConstructSignatureAppearsToBeFunctionType.js b/testdata/baselines/reference/submodule/conformance/objectTypeWithConstructSignatureAppearsToBeFunctionType.js
index 4fd925d761..98d6e73f30 100644
--- a/testdata/baselines/reference/submodule/conformance/objectTypeWithConstructSignatureAppearsToBeFunctionType.js
+++ b/testdata/baselines/reference/submodule/conformance/objectTypeWithConstructSignatureAppearsToBeFunctionType.js
@@ -21,6 +21,7 @@ var r4b: number = new b();
var r4c: (x: any, y?: any) => any = b.apply;
//// [objectTypeWithConstructSignatureAppearsToBeFunctionType.js]
+// no errors expected below
var i;
var r2 = i();
var r2b = new i();
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypeWithConstructSignatureAppearsToBeFunctionType.js.diff b/testdata/baselines/reference/submodule/conformance/objectTypeWithConstructSignatureAppearsToBeFunctionType.js.diff
deleted file mode 100644
index 3f2b0e49d7..0000000000
--- a/testdata/baselines/reference/submodule/conformance/objectTypeWithConstructSignatureAppearsToBeFunctionType.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.objectTypeWithConstructSignatureAppearsToBeFunctionType.js
-+++ new.objectTypeWithConstructSignatureAppearsToBeFunctionType.js
-@@= skipped -20, +20 lines =@@
- var r4c: (x: any, y?: any) => any = b.apply;
-
- //// [objectTypeWithConstructSignatureAppearsToBeFunctionType.js]
--// no errors expected below
- var i;
- var r2 = i();
- var r2b = new i();
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypeWithStringAndNumberIndexSignatureToAny.js b/testdata/baselines/reference/submodule/conformance/objectTypeWithStringAndNumberIndexSignatureToAny.js
index b278bd6ea0..a548b0d72c 100644
--- a/testdata/baselines/reference/submodule/conformance/objectTypeWithStringAndNumberIndexSignatureToAny.js
+++ b/testdata/baselines/reference/submodule/conformance/objectTypeWithStringAndNumberIndexSignatureToAny.js
@@ -96,6 +96,24 @@ function f3(sToAny: StringTo, nToNumber: NumberToNumber, strToAnyNumToNum:
}
//// [objectTypeWithStringAndNumberIndexSignatureToAny.js]
+// When checking compatibility between two types,
+// TypeScript should not require an index signature if
+// the target side index signature maps to `any` *and*
+// the target side has *any* string index signature to `any`.
+//
+// So an index signature like in
+//
+// { [x: number]: any }
+//
+// is still required of a source type, but neither index signature in
+//
+// { [x: number]: any, [x: string]: any; }
+//
+// should be required; *however*, the number index signature in
+//
+// { [x: number]: number, [x: string]: any; }
+//
+// should always be required.
function f1(sToAny, nToAny, bothToAny, someObj) {
sToAny = nToAny;
sToAny = bothToAny;
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypeWithStringAndNumberIndexSignatureToAny.js.diff b/testdata/baselines/reference/submodule/conformance/objectTypeWithStringAndNumberIndexSignatureToAny.js.diff
index 2042b0450a..17ef7e79e3 100644
--- a/testdata/baselines/reference/submodule/conformance/objectTypeWithStringAndNumberIndexSignatureToAny.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/objectTypeWithStringAndNumberIndexSignatureToAny.js.diff
@@ -5,24 +5,6 @@
//// [objectTypeWithStringAndNumberIndexSignatureToAny.js]
-"use strict";
--// When checking compatibility between two types,
--// TypeScript should not require an index signature if
--// the target side index signature maps to `any` *and*
--// the target side has *any* string index signature to `any`.
--//
--// So an index signature like in
--//
--// { [x: number]: any }
--//
--// is still required of a source type, but neither index signature in
--//
--// { [x: number]: any, [x: string]: any; }
--//
--// should be required; *however*, the number index signature in
--//
--// { [x: number]: number, [x: string]: any; }
--//
--// should always be required.
- function f1(sToAny, nToAny, bothToAny, someObj) {
- sToAny = nToAny;
- sToAny = bothToAny;
\ No newline at end of file
+ // When checking compatibility between two types,
+ // TypeScript should not require an index signature if
+ // the target side index signature maps to `any` *and*
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypeWithStringIndexerHidingObjectIndexer.js b/testdata/baselines/reference/submodule/conformance/objectTypeWithStringIndexerHidingObjectIndexer.js
index 48dfb55b0b..49cf5dc3d4 100644
--- a/testdata/baselines/reference/submodule/conformance/objectTypeWithStringIndexerHidingObjectIndexer.js
+++ b/testdata/baselines/reference/submodule/conformance/objectTypeWithStringIndexerHidingObjectIndexer.js
@@ -34,6 +34,8 @@ var r4: string = o2[''];
//// [objectTypeWithStringIndexerHidingObjectIndexer.js]
+// object types can define string indexers that are more specific than the default 'any' that would be returned
+// no errors expected below
var o = {};
var r = o['']; // should be Object
class C {
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypeWithStringIndexerHidingObjectIndexer.js.diff b/testdata/baselines/reference/submodule/conformance/objectTypeWithStringIndexerHidingObjectIndexer.js.diff
index 44bb1c33c4..68e2b599b7 100644
--- a/testdata/baselines/reference/submodule/conformance/objectTypeWithStringIndexerHidingObjectIndexer.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/objectTypeWithStringIndexerHidingObjectIndexer.js.diff
@@ -1,11 +1,6 @@
--- old.objectTypeWithStringIndexerHidingObjectIndexer.js
+++ new.objectTypeWithStringIndexerHidingObjectIndexer.js
-@@= skipped -33, +33 lines =@@
-
-
- //// [objectTypeWithStringIndexerHidingObjectIndexer.js]
--// object types can define string indexers that are more specific than the default 'any' that would be returned
--// no errors expected below
+@@= skipped -38, +38 lines =@@
var o = {};
var r = o['']; // should be Object
class C {
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithCallSignatures3.js b/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithCallSignatures3.js
index 7117ad1666..2e9adbcd75 100644
--- a/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithCallSignatures3.js
+++ b/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithCallSignatures3.js
@@ -42,6 +42,7 @@ function foo15(x: I2); // ok
function foo15(x: any) { }
//// [objectTypesIdentityWithCallSignatures3.js]
+// object types are identical structurally
var a;
function foo2(x) { }
function foo3(x) { }
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithCallSignatures3.js.diff b/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithCallSignatures3.js.diff
deleted file mode 100644
index d47f6c15d2..0000000000
--- a/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithCallSignatures3.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.objectTypesIdentityWithCallSignatures3.js
-+++ new.objectTypesIdentityWithCallSignatures3.js
-@@= skipped -41, +41 lines =@@
- function foo15(x: any) { }
-
- //// [objectTypesIdentityWithCallSignatures3.js]
--// object types are identical structurally
- var a;
- function foo2(x) { }
- function foo3(x) { }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js b/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js
index 1e7b261252..703d64e948 100644
--- a/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js
+++ b/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js
@@ -46,6 +46,7 @@ function foo15(x: I2); // ok
function foo15(x: any) { }
//// [objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js]
+// object types are identical structurally
var a;
function foo2(x) { }
function foo3(x) { }
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js.diff b/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js.diff
deleted file mode 100644
index 8937f7845f..0000000000
--- a/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js
-+++ new.objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js
-@@= skipped -45, +45 lines =@@
- function foo15(x: any) { }
-
- //// [objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js]
--// object types are identical structurally
- var a;
- function foo2(x) { }
- function foo3(x) { }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js b/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js
index 30d362255d..09befe0ed6 100644
--- a/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js
+++ b/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js
@@ -43,6 +43,7 @@ function foo15(x: I2); // ok
function foo15(x: any) { }
//// [objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js]
+// object types are identical structurally
var a;
function foo1(x) { }
function foo2(x) { }
diff --git a/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js.diff b/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js.diff
deleted file mode 100644
index 38d20d0bd3..0000000000
--- a/testdata/baselines/reference/submodule/conformance/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js
-+++ new.objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js
-@@= skipped -42, +42 lines =@@
- function foo15(x: any) { }
-
- //// [objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js]
--// object types are identical structurally
- var a;
- function foo1(x) { }
- function foo2(x) { }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping2.js b/testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping2.js
index c73efc6c06..b23fc77498 100644
--- a/testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping2.js
+++ b/testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping2.js
@@ -39,6 +39,11 @@ var obj1: ObjType = { x: x => (x, undefined), y: y => (y, undefined) };
var obj2: ObjType = ({ x: x => (x, undefined), y: y => (y, undefined) });
//// [parenthesizedContexualTyping2.js]
+// These tests ensure that in cases where it may *appear* that a value has a type,
+// they actually are properly being contextually typed. The way we test this is
+// that we invoke contextually typed arguments with type arguments.
+// Since 'any' cannot be invoked with type arguments, we should get errors
+// back if contextual typing is not taking effect.
function fun(...rest) {
return undefined;
}
diff --git a/testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping2.js.diff b/testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping2.js.diff
deleted file mode 100644
index 5b5c2d1cad..0000000000
--- a/testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping2.js.diff
+++ /dev/null
@@ -1,14 +0,0 @@
---- old.parenthesizedContexualTyping2.js
-+++ new.parenthesizedContexualTyping2.js
-@@= skipped -38, +38 lines =@@
- var obj2: ObjType = ({ x: x => (x, undefined), y: y => (y, undefined) });
-
- //// [parenthesizedContexualTyping2.js]
--// These tests ensure that in cases where it may *appear* that a value has a type,
--// they actually are properly being contextually typed. The way we test this is
--// that we invoke contextually typed arguments with type arguments.
--// Since 'any' cannot be invoked with type arguments, we should get errors
--// back if contextual typing is not taking effect.
- function fun(...rest) {
- return undefined;
- }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping3.js b/testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping3.js
index b373860ef0..9a45ecb086 100644
--- a/testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping3.js
+++ b/testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping3.js
@@ -22,6 +22,7 @@ var g = tempFun `${ (x => x) } ${ (((x => x))) } ${ 10 }`
var h = tempFun `${ (x => x) } ${ (((x => x))) } ${ undefined }`
//// [parenthesizedContexualTyping3.js]
+// Contextual typing for parenthesized substitution expressions in tagged templates.
function tempFun(tempStrs, g, x) {
return g(x);
}
diff --git a/testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping3.js.diff b/testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping3.js.diff
deleted file mode 100644
index 39d237f0f2..0000000000
--- a/testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping3.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.parenthesizedContexualTyping3.js
-+++ new.parenthesizedContexualTyping3.js
-@@= skipped -21, +21 lines =@@
- var h = tempFun `${ (x => x) } ${ (((x => x))) } ${ undefined }`
-
- //// [parenthesizedContexualTyping3.js]
--// Contextual typing for parenthesized substitution expressions in tagged templates.
- function tempFun(tempStrs, g, x) {
- return g(x);
- }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/parserharness.js b/testdata/baselines/reference/submodule/conformance/parserharness.js
index 73f7b248c9..0366f6116d 100644
--- a/testdata/baselines/reference/submodule/conformance/parserharness.js
+++ b/testdata/baselines/reference/submodule/conformance/parserharness.js
@@ -2084,6 +2084,20 @@ module Harness {
//// [parserharness.js]
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
///
///
///
diff --git a/testdata/baselines/reference/submodule/conformance/parserharness.js.diff b/testdata/baselines/reference/submodule/conformance/parserharness.js.diff
index c9dd819705..a16b4f19f7 100644
--- a/testdata/baselines/reference/submodule/conformance/parserharness.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/parserharness.js.diff
@@ -1,27 +1,6 @@
--- old.parserharness.js
+++ new.parserharness.js
-@@= skipped -2083, +2083 lines =@@
-
-
- //// [parserharness.js]
--//
--// Copyright (c) Microsoft Corporation. All rights reserved.
--//
--// Licensed under the Apache License, Version 2.0 (the "License");
--// you may not use this file except in compliance with the License.
--// You may obtain a copy of the License at
--// http://www.apache.org/licenses/LICENSE-2.0
--//
--// Unless required by applicable law or agreed to in writing, software
--// distributed under the License is distributed on an "AS IS" BASIS,
--// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--// See the License for the specific language governing permissions and
--// limitations under the License.
--//
- ///
- ///
- ///
-@@= skipped -208, +194 lines =@@
+@@= skipped -2291, +2291 lines =@@
}
}
Harness.emitLog = emitLog;
diff --git a/testdata/baselines/reference/submodule/conformance/primtiveTypesAreIdentical.js b/testdata/baselines/reference/submodule/conformance/primtiveTypesAreIdentical.js
index 71b0c2f284..29305dcb1b 100644
--- a/testdata/baselines/reference/submodule/conformance/primtiveTypesAreIdentical.js
+++ b/testdata/baselines/reference/submodule/conformance/primtiveTypesAreIdentical.js
@@ -34,6 +34,7 @@ function foo7(x: void);
function foo7(x: any) { }
//// [primtiveTypesAreIdentical.js]
+// primitive types are identical to themselves so these overloads will all cause errors
function foo1(x) { }
function foo2(x) { }
function foo3(x) { }
diff --git a/testdata/baselines/reference/submodule/conformance/primtiveTypesAreIdentical.js.diff b/testdata/baselines/reference/submodule/conformance/primtiveTypesAreIdentical.js.diff
deleted file mode 100644
index 8b50307e8f..0000000000
--- a/testdata/baselines/reference/submodule/conformance/primtiveTypesAreIdentical.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.primtiveTypesAreIdentical.js
-+++ new.primtiveTypesAreIdentical.js
-@@= skipped -33, +33 lines =@@
- function foo7(x: any) { }
-
- //// [primtiveTypesAreIdentical.js]
--// primitive types are identical to themselves so these overloads will all cause errors
- function foo1(x) { }
- function foo2(x) { }
- function foo3(x) { }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/recursiveMappedTypes.js b/testdata/baselines/reference/submodule/conformance/recursiveMappedTypes.js
index 11ab3176df..c4bc8600c4 100644
--- a/testdata/baselines/reference/submodule/conformance/recursiveMappedTypes.js
+++ b/testdata/baselines/reference/submodule/conformance/recursiveMappedTypes.js
@@ -96,6 +96,7 @@ export type Foo = T extends { [P in infer E]: any } ? E : never;
//// [recursiveMappedTypes.js]
"use strict";
+// Recursive mapped types simply appear empty
Object.defineProperty(exports, "__esModule", { value: true });
function foo(arg) {
return arg;
diff --git a/testdata/baselines/reference/submodule/conformance/recursiveMappedTypes.js.diff b/testdata/baselines/reference/submodule/conformance/recursiveMappedTypes.js.diff
deleted file mode 100644
index 31d84e94fc..0000000000
--- a/testdata/baselines/reference/submodule/conformance/recursiveMappedTypes.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.recursiveMappedTypes.js
-+++ new.recursiveMappedTypes.js
-@@= skipped -95, +95 lines =@@
-
- //// [recursiveMappedTypes.js]
- "use strict";
--// Recursive mapped types simply appear empty
- Object.defineProperty(exports, "__esModule", { value: true });
- function foo(arg) {
- return arg;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/recursiveTypeReferences2.js b/testdata/baselines/reference/submodule/conformance/recursiveTypeReferences2.js
index c2658b7dd0..228caa8529 100644
--- a/testdata/baselines/reference/submodule/conformance/recursiveTypeReferences2.js
+++ b/testdata/baselines/reference/submodule/conformance/recursiveTypeReferences2.js
@@ -30,10 +30,10 @@ const p = {};
//// [bug39372.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
/** @typedef {ReadonlyArray} JsonArray */
/** @typedef {{ readonly [key: string]: Json }} JsonRecord */
/** @typedef {boolean | number | string | null | JsonRecord | JsonArray | readonly []} Json */
+Object.defineProperty(exports, "__esModule", { value: true });
/**
* @template T
* @typedef {{
@@ -57,6 +57,9 @@ const p = {};
//// [bug39372.d.ts]
+/** @typedef {ReadonlyArray} JsonArray */
+/** @typedef {{ readonly [key: string]: Json }} JsonRecord */
+/** @typedef {boolean | number | string | null | JsonRecord | JsonArray | readonly []} Json */
export type JsonArray = ReadonlyArray;
export type JsonRecord = {
readonly [key: string]: Json;
diff --git a/testdata/baselines/reference/submodule/conformance/recursiveTypeReferences2.js.diff b/testdata/baselines/reference/submodule/conformance/recursiveTypeReferences2.js.diff
index 6bb913f83a..c0b3bccd2c 100644
--- a/testdata/baselines/reference/submodule/conformance/recursiveTypeReferences2.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/recursiveTypeReferences2.js.diff
@@ -5,17 +5,17 @@
//// [bug39372.js]
+"use strict";
+ /** @typedef {ReadonlyArray} JsonArray */
+ /** @typedef {{ readonly [key: string]: Json }} JsonRecord */
+ /** @typedef {boolean | number | string | null | JsonRecord | JsonArray | readonly []} Json */
+Object.defineProperty(exports, "__esModule", { value: true });
+ /**
+ * @template T
+ * @typedef {{
+@@= skipped -29, +31 lines =@@
/** @typedef {ReadonlyArray} JsonArray */
/** @typedef {{ readonly [key: string]: Json }} JsonRecord */
/** @typedef {boolean | number | string | null | JsonRecord | JsonArray | readonly []} Json */
-@@= skipped -26, +28 lines =@@
-
-
- //// [bug39372.d.ts]
--/** @typedef {ReadonlyArray} JsonArray */
--/** @typedef {{ readonly [key: string]: Json }} JsonRecord */
--/** @typedef {boolean | number | string | null | JsonRecord | JsonArray | readonly []} Json */
-/**
- * @template T
- * @typedef {{
diff --git a/testdata/baselines/reference/submodule/conformance/restParametersOfNonArrayTypes2.js b/testdata/baselines/reference/submodule/conformance/restParametersOfNonArrayTypes2.js
index f938df2126..db048f7545 100644
--- a/testdata/baselines/reference/submodule/conformance/restParametersOfNonArrayTypes2.js
+++ b/testdata/baselines/reference/submodule/conformance/restParametersOfNonArrayTypes2.js
@@ -59,6 +59,8 @@ var b2 = {
}
//// [restParametersOfNonArrayTypes2.js]
+// Rest parameters must be an array type if they have a type annotation,
+// user defined subtypes of array do not count, all of these are errors
function foo(...x) { }
var f = function foo(...x) { };
var f2 = (...x, ...y) => { };
diff --git a/testdata/baselines/reference/submodule/conformance/restParametersOfNonArrayTypes2.js.diff b/testdata/baselines/reference/submodule/conformance/restParametersOfNonArrayTypes2.js.diff
deleted file mode 100644
index 1e306671ae..0000000000
--- a/testdata/baselines/reference/submodule/conformance/restParametersOfNonArrayTypes2.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.restParametersOfNonArrayTypes2.js
-+++ new.restParametersOfNonArrayTypes2.js
-@@= skipped -58, +58 lines =@@
- }
-
- //// [restParametersOfNonArrayTypes2.js]
--// Rest parameters must be an array type if they have a type annotation,
--// user defined subtypes of array do not count, all of these are errors
- function foo(...x) { }
- var f = function foo(...x) { };
- var f2 = (...x, ...y) => { };
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/seeTag4.js b/testdata/baselines/reference/submodule/conformance/seeTag4.js
index 612845bfd1..e53677805e 100644
--- a/testdata/baselines/reference/submodule/conformance/seeTag4.js
+++ b/testdata/baselines/reference/submodule/conformance/seeTag4.js
@@ -15,10 +15,10 @@ let foo;
//// [seeTag4.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
/**
* @typedef {any} A
*/
+Object.defineProperty(exports, "__esModule", { value: true });
/**
* @see {@link A}
* @see {@linkcode A}
diff --git a/testdata/baselines/reference/submodule/conformance/seeTag4.js.diff b/testdata/baselines/reference/submodule/conformance/seeTag4.js.diff
index e1e02ca84b..f9f736b961 100644
--- a/testdata/baselines/reference/submodule/conformance/seeTag4.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/seeTag4.js.diff
@@ -5,7 +5,10 @@
//// [seeTag4.js]
+"use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
/**
* @typedef {any} A
- */
\ No newline at end of file
+ */
++Object.defineProperty(exports, "__esModule", { value: true });
+ /**
+ * @see {@link A}
+ * @see {@linkcode A}
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/specializedSignatureIsSubtypeOfNonSpecializedSignature.js b/testdata/baselines/reference/submodule/conformance/specializedSignatureIsSubtypeOfNonSpecializedSignature.js
index 509bb51f09..015342b181 100644
--- a/testdata/baselines/reference/submodule/conformance/specializedSignatureIsSubtypeOfNonSpecializedSignature.js
+++ b/testdata/baselines/reference/submodule/conformance/specializedSignatureIsSubtypeOfNonSpecializedSignature.js
@@ -84,6 +84,8 @@ var a3: {
//// [specializedSignatureIsSubtypeOfNonSpecializedSignature.js]
+// Specialized signatures must be a subtype of a non-specialized signature
+// All the below should not be errors
function foo(x) { }
class C {
foo(x) { }
diff --git a/testdata/baselines/reference/submodule/conformance/specializedSignatureIsSubtypeOfNonSpecializedSignature.js.diff b/testdata/baselines/reference/submodule/conformance/specializedSignatureIsSubtypeOfNonSpecializedSignature.js.diff
deleted file mode 100644
index 561157a57a..0000000000
--- a/testdata/baselines/reference/submodule/conformance/specializedSignatureIsSubtypeOfNonSpecializedSignature.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.specializedSignatureIsSubtypeOfNonSpecializedSignature.js
-+++ new.specializedSignatureIsSubtypeOfNonSpecializedSignature.js
-@@= skipped -83, +83 lines =@@
-
-
- //// [specializedSignatureIsSubtypeOfNonSpecializedSignature.js]
--// Specialized signatures must be a subtype of a non-specialized signature
--// All the below should not be errors
- function foo(x) { }
- class C {
- foo(x) { }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/spreadDuplicate.js b/testdata/baselines/reference/submodule/conformance/spreadDuplicate.js
index e094a66cce..fce031b29a 100644
--- a/testdata/baselines/reference/submodule/conformance/spreadDuplicate.js
+++ b/testdata/baselines/reference/submodule/conformance/spreadDuplicate.js
@@ -22,6 +22,7 @@ let d2 = { a: 123, ...(t ? d : {}) }; // string | number
//// [spreadDuplicate.js]
+// Repro from #44438
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
diff --git a/testdata/baselines/reference/submodule/conformance/spreadDuplicate.js.diff b/testdata/baselines/reference/submodule/conformance/spreadDuplicate.js.diff
index ff13e09385..15036e9ffd 100644
--- a/testdata/baselines/reference/submodule/conformance/spreadDuplicate.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/spreadDuplicate.js.diff
@@ -5,7 +5,6 @@
//// [spreadDuplicate.js]
-"use strict";
--// Repro from #44438
+ // Repro from #44438
var __assign = (this && this.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
\ No newline at end of file
+ __assign = Object.assign || function(t) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/spreadDuplicateExact.js b/testdata/baselines/reference/submodule/conformance/spreadDuplicateExact.js
index 5c1a0311a0..e66bfe262a 100644
--- a/testdata/baselines/reference/submodule/conformance/spreadDuplicateExact.js
+++ b/testdata/baselines/reference/submodule/conformance/spreadDuplicateExact.js
@@ -22,6 +22,7 @@ let d2 = { a: 123, ...(t ? d : {}) }; // string | number | undefined
//// [spreadDuplicateExact.js]
+// Repro from #44438
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
diff --git a/testdata/baselines/reference/submodule/conformance/spreadDuplicateExact.js.diff b/testdata/baselines/reference/submodule/conformance/spreadDuplicateExact.js.diff
index aa802b8d05..84c24a8711 100644
--- a/testdata/baselines/reference/submodule/conformance/spreadDuplicateExact.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/spreadDuplicateExact.js.diff
@@ -5,7 +5,6 @@
//// [spreadDuplicateExact.js]
-"use strict";
--// Repro from #44438
+ // Repro from #44438
var __assign = (this && this.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
\ No newline at end of file
+ __assign = Object.assign || function(t) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/strictBindCallApply2.js b/testdata/baselines/reference/submodule/conformance/strictBindCallApply2.js
index 3ef1259baa..3f6e5c4b1a 100644
--- a/testdata/baselines/reference/submodule/conformance/strictBindCallApply2.js
+++ b/testdata/baselines/reference/submodule/conformance/strictBindCallApply2.js
@@ -12,6 +12,7 @@ const fb = fn.bind({ blub: "blub" });
//// [strictBindCallApply2.js]
+// Repro from #32964
;
function fn() { }
const fb = fn.bind({ blub: "blub" });
diff --git a/testdata/baselines/reference/submodule/conformance/strictBindCallApply2.js.diff b/testdata/baselines/reference/submodule/conformance/strictBindCallApply2.js.diff
deleted file mode 100644
index 563795c9b5..0000000000
--- a/testdata/baselines/reference/submodule/conformance/strictBindCallApply2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.strictBindCallApply2.js
-+++ new.strictBindCallApply2.js
-@@= skipped -11, +11 lines =@@
-
-
- //// [strictBindCallApply2.js]
--// Repro from #32964
- ;
- function fn() { }
- const fb = fn.bind({ blub: "blub" });
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/stringIndexerConstrainsPropertyDeclarations.js b/testdata/baselines/reference/submodule/conformance/stringIndexerConstrainsPropertyDeclarations.js
index fbc56dc410..e4b0ac0a52 100644
--- a/testdata/baselines/reference/submodule/conformance/stringIndexerConstrainsPropertyDeclarations.js
+++ b/testdata/baselines/reference/submodule/conformance/stringIndexerConstrainsPropertyDeclarations.js
@@ -100,6 +100,7 @@ var b: { [x: string]: string; } = {
}
//// [stringIndexerConstrainsPropertyDeclarations.js]
+// String indexer types constrain the types of named properties in their containing type
class C {
constructor() { } // ok
a; // ok
diff --git a/testdata/baselines/reference/submodule/conformance/stringIndexerConstrainsPropertyDeclarations.js.diff b/testdata/baselines/reference/submodule/conformance/stringIndexerConstrainsPropertyDeclarations.js.diff
index 19f00bdc71..214fe98a29 100644
--- a/testdata/baselines/reference/submodule/conformance/stringIndexerConstrainsPropertyDeclarations.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/stringIndexerConstrainsPropertyDeclarations.js.diff
@@ -1,10 +1,7 @@
--- old.stringIndexerConstrainsPropertyDeclarations.js
+++ new.stringIndexerConstrainsPropertyDeclarations.js
-@@= skipped -99, +99 lines =@@
- }
-
- //// [stringIndexerConstrainsPropertyDeclarations.js]
--// String indexer types constrain the types of named properties in their containing type
+@@= skipped -102, +102 lines =@@
+ // String indexer types constrain the types of named properties in their containing type
class C {
constructor() { } // ok
+ a; // ok
@@ -20,7 +17,7 @@
get X() {
return '';
}
-@@= skipped -10, +19 lines =@@
+@@= skipped -7, +17 lines =@@
foo() {
return '';
}
diff --git a/testdata/baselines/reference/submodule/conformance/stringLiteralTypeIsSubtypeOfString.js b/testdata/baselines/reference/submodule/conformance/stringLiteralTypeIsSubtypeOfString.js
index 1e244c4112..b87ea2a6ed 100644
--- a/testdata/baselines/reference/submodule/conformance/stringLiteralTypeIsSubtypeOfString.js
+++ b/testdata/baselines/reference/submodule/conformance/stringLiteralTypeIsSubtypeOfString.js
@@ -104,6 +104,7 @@ function f16(x: any) { }
//// [stringLiteralTypeIsSubtypeOfString.js]
+// string literal types are subtypes of string, any
function f1(x) { }
function f2(x) { }
function f3(x) { }
diff --git a/testdata/baselines/reference/submodule/conformance/stringLiteralTypeIsSubtypeOfString.js.diff b/testdata/baselines/reference/submodule/conformance/stringLiteralTypeIsSubtypeOfString.js.diff
index 726f0a2f34..85ad954c30 100644
--- a/testdata/baselines/reference/submodule/conformance/stringLiteralTypeIsSubtypeOfString.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/stringLiteralTypeIsSubtypeOfString.js.diff
@@ -1,14 +1,6 @@
--- old.stringLiteralTypeIsSubtypeOfString.js
+++ new.stringLiteralTypeIsSubtypeOfString.js
-@@= skipped -103, +103 lines =@@
-
-
- //// [stringLiteralTypeIsSubtypeOfString.js]
--// string literal types are subtypes of string, any
- function f1(x) { }
- function f2(x) { }
- function f3(x) { }
-@@= skipped -29, +28 lines =@@
+@@= skipped -132, +132 lines =@@
toUpperCase() { return null; }
toLocaleUpperCase() { return null; }
trim() { return null; }
diff --git a/testdata/baselines/reference/submodule/conformance/stringLiteralTypesInImplementationSignatures2.js b/testdata/baselines/reference/submodule/conformance/stringLiteralTypesInImplementationSignatures2.js
index 4af6cb19f3..5e98a6a101 100644
--- a/testdata/baselines/reference/submodule/conformance/stringLiteralTypesInImplementationSignatures2.js
+++ b/testdata/baselines/reference/submodule/conformance/stringLiteralTypesInImplementationSignatures2.js
@@ -32,6 +32,7 @@ var b = {
//// [stringLiteralTypesInImplementationSignatures2.js]
+// String literal types are only valid in overload signatures
function foo(x) { }
class C {
foo(x) { }
diff --git a/testdata/baselines/reference/submodule/conformance/stringLiteralTypesInImplementationSignatures2.js.diff b/testdata/baselines/reference/submodule/conformance/stringLiteralTypesInImplementationSignatures2.js.diff
deleted file mode 100644
index e6214bf59d..0000000000
--- a/testdata/baselines/reference/submodule/conformance/stringLiteralTypesInImplementationSignatures2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.stringLiteralTypesInImplementationSignatures2.js
-+++ new.stringLiteralTypesInImplementationSignatures2.js
-@@= skipped -31, +31 lines =@@
-
-
- //// [stringLiteralTypesInImplementationSignatures2.js]
--// String literal types are only valid in overload signatures
- function foo(x) { }
- class C {
- foo(x) { }
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypesOfAny.js b/testdata/baselines/reference/submodule/conformance/subtypesOfAny.js
index d58052cccb..e51cccded0 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypesOfAny.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypesOfAny.js
@@ -136,6 +136,7 @@ interface I20 {
}
//// [subtypesOfAny.js]
+// every type is a subtype of any, no errors expected
class A {
foo;
}
diff --git a/testdata/baselines/reference/submodule/conformance/subtypesOfAny.js.diff b/testdata/baselines/reference/submodule/conformance/subtypesOfAny.js.diff
index 35328fbd1f..32fbeda090 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypesOfAny.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/subtypesOfAny.js.diff
@@ -1,10 +1,8 @@
--- old.subtypesOfAny.js
+++ new.subtypesOfAny.js
-@@= skipped -135, +135 lines =@@
- }
-
+@@= skipped -137, +137 lines =@@
//// [subtypesOfAny.js]
--// every type is a subtype of any, no errors expected
+ // every type is a subtype of any, no errors expected
class A {
+ foo;
}
@@ -13,7 +11,7 @@
}
var E;
(function (E) {
-@@= skipped -14, +15 lines =@@
+@@= skipped -12, +14 lines =@@
f.bar = 1;
})(f || (f = {}));
class c {
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithOptionalParameters.js b/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithOptionalParameters.js
index bc75f523f5..ea4a5404f3 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithOptionalParameters.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithOptionalParameters.js
@@ -88,3 +88,4 @@ interface I18 extends Base {
}
//// [subtypingWithCallSignaturesWithOptionalParameters.js]
+// call signatures in derived types must have the same or fewer optional parameters as the base type
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithOptionalParameters.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithOptionalParameters.js.diff
deleted file mode 100644
index ea2cd0a04d..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithOptionalParameters.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.subtypingWithCallSignaturesWithOptionalParameters.js
-+++ new.subtypingWithCallSignaturesWithOptionalParameters.js
-@@= skipped -87, +87 lines =@@
- }
-
- //// [subtypingWithCallSignaturesWithOptionalParameters.js]
--// call signatures in derived types must have the same or fewer optional parameters as the base type
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithRestParameters.js b/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithRestParameters.js
index 5b60c3f9a4..65c2e75f84 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithRestParameters.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithRestParameters.js
@@ -136,3 +136,4 @@ interface I17 extends Base {
//// [subtypingWithCallSignaturesWithRestParameters.js]
+// call signatures in derived types must have the same or fewer optional parameters as the base type
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithRestParameters.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithRestParameters.js.diff
deleted file mode 100644
index d387811af0..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithRestParameters.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.subtypingWithCallSignaturesWithRestParameters.js
-+++ new.subtypingWithCallSignaturesWithRestParameters.js
-@@= skipped -135, +135 lines =@@
-
-
- //// [subtypingWithCallSignaturesWithRestParameters.js]
--// call signatures in derived types must have the same or fewer optional parameters as the base type
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithSpecializedSignatures.js b/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithSpecializedSignatures.js
index 01601e17c5..2e22e64d00 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithSpecializedSignatures.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithSpecializedSignatures.js
@@ -83,3 +83,4 @@ module MemberWithCallSignature {
}
//// [subtypingWithCallSignaturesWithSpecializedSignatures.js]
+// same as subtypingWithCallSignatures but with additional specialized signatures that should not affect the results
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithSpecializedSignatures.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithSpecializedSignatures.js.diff
deleted file mode 100644
index 87e4086e3d..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithCallSignaturesWithSpecializedSignatures.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.subtypingWithCallSignaturesWithSpecializedSignatures.js
-+++ new.subtypingWithCallSignaturesWithSpecializedSignatures.js
-@@= skipped -82, +82 lines =@@
- }
-
- //// [subtypingWithCallSignaturesWithSpecializedSignatures.js]
--// same as subtypingWithCallSignatures but with additional specialized signatures that should not affect the results
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithConstructSignaturesWithOptionalParameters.js b/testdata/baselines/reference/submodule/conformance/subtypingWithConstructSignaturesWithOptionalParameters.js
index d6de583a2f..033bc0c8a6 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithConstructSignaturesWithOptionalParameters.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithConstructSignaturesWithOptionalParameters.js
@@ -88,3 +88,4 @@ interface I18 extends Base {
}
//// [subtypingWithConstructSignaturesWithOptionalParameters.js]
+// call signatures in derived types must have the same or fewer optional parameters as the base type
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithConstructSignaturesWithOptionalParameters.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithConstructSignaturesWithOptionalParameters.js.diff
deleted file mode 100644
index 08b176a242..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithConstructSignaturesWithOptionalParameters.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.subtypingWithConstructSignaturesWithOptionalParameters.js
-+++ new.subtypingWithConstructSignaturesWithOptionalParameters.js
-@@= skipped -87, +87 lines =@@
- }
-
- //// [subtypingWithConstructSignaturesWithOptionalParameters.js]
--// call signatures in derived types must have the same or fewer optional parameters as the base type
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithConstructSignaturesWithSpecializedSignatures.js b/testdata/baselines/reference/submodule/conformance/subtypingWithConstructSignaturesWithSpecializedSignatures.js
index a110fb6048..bd98b6e946 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithConstructSignaturesWithSpecializedSignatures.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithConstructSignaturesWithSpecializedSignatures.js
@@ -83,3 +83,4 @@ module MemberWithCallSignature {
}
//// [subtypingWithConstructSignaturesWithSpecializedSignatures.js]
+// same as subtypingWithCallSignatures but with additional specialized signatures that should not affect the results
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithConstructSignaturesWithSpecializedSignatures.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithConstructSignaturesWithSpecializedSignatures.js.diff
deleted file mode 100644
index ec5c9b214c..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithConstructSignaturesWithSpecializedSignatures.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.subtypingWithConstructSignaturesWithSpecializedSignatures.js
-+++ new.subtypingWithConstructSignaturesWithSpecializedSignatures.js
-@@= skipped -82, +82 lines =@@
- }
-
- //// [subtypingWithConstructSignaturesWithSpecializedSignatures.js]
--// same as subtypingWithCallSignatures but with additional specialized signatures that should not affect the results
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithGenericCallSignaturesWithOptionalParameters.js b/testdata/baselines/reference/submodule/conformance/subtypingWithGenericCallSignaturesWithOptionalParameters.js
index 4b8c389109..ef4a765628 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithGenericCallSignaturesWithOptionalParameters.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithGenericCallSignaturesWithOptionalParameters.js
@@ -266,3 +266,4 @@ module GenericSignaturesValid {
}
//// [subtypingWithGenericCallSignaturesWithOptionalParameters.js]
+// call signatures in derived types must have the same or fewer optional parameters as the base type
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithGenericCallSignaturesWithOptionalParameters.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithGenericCallSignaturesWithOptionalParameters.js.diff
deleted file mode 100644
index 850a9b1d33..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithGenericCallSignaturesWithOptionalParameters.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.subtypingWithGenericCallSignaturesWithOptionalParameters.js
-+++ new.subtypingWithGenericCallSignaturesWithOptionalParameters.js
-@@= skipped -265, +265 lines =@@
- }
-
- //// [subtypingWithGenericCallSignaturesWithOptionalParameters.js]
--// call signatures in derived types must have the same or fewer optional parameters as the base type
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithGenericConstructSignaturesWithOptionalParameters.js b/testdata/baselines/reference/submodule/conformance/subtypingWithGenericConstructSignaturesWithOptionalParameters.js
index 90ee8dc0e1..4e0af30dc3 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithGenericConstructSignaturesWithOptionalParameters.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithGenericConstructSignaturesWithOptionalParameters.js
@@ -266,3 +266,4 @@ module GenericSignaturesValid {
}
//// [subtypingWithGenericConstructSignaturesWithOptionalParameters.js]
+// call signatures in derived types must have the same or fewer optional parameters as the base type
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithGenericConstructSignaturesWithOptionalParameters.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithGenericConstructSignaturesWithOptionalParameters.js.diff
deleted file mode 100644
index 08b227f7c9..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithGenericConstructSignaturesWithOptionalParameters.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.subtypingWithGenericConstructSignaturesWithOptionalParameters.js
-+++ new.subtypingWithGenericConstructSignaturesWithOptionalParameters.js
-@@= skipped -265, +265 lines =@@
- }
-
- //// [subtypingWithGenericConstructSignaturesWithOptionalParameters.js]
--// call signatures in derived types must have the same or fewer optional parameters as the base type
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer.js b/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer.js
index 7b8f5e2114..03a483ed3b 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer.js
@@ -42,6 +42,7 @@ module Generics {
}
//// [subtypingWithNumericIndexer.js]
+// Derived type indexer must be subtype of base type indexer
class A {
}
class B extends A {
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer.js.diff
deleted file mode 100644
index cd815c7fe2..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.subtypingWithNumericIndexer.js
-+++ new.subtypingWithNumericIndexer.js
-@@= skipped -41, +41 lines =@@
- }
-
- //// [subtypingWithNumericIndexer.js]
--// Derived type indexer must be subtype of base type indexer
- class A {
- }
- class B extends A {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer2.js b/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer2.js
index 374b73d3a5..f78e1f3f6e 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer2.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer2.js
@@ -46,3 +46,4 @@ module Generics {
}
//// [subtypingWithNumericIndexer2.js]
+// Derived type indexer must be subtype of base type indexer
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer2.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer2.js.diff
deleted file mode 100644
index 153973bfde..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer2.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.subtypingWithNumericIndexer2.js
-+++ new.subtypingWithNumericIndexer2.js
-@@= skipped -45, +45 lines =@@
- }
-
- //// [subtypingWithNumericIndexer2.js]
--// Derived type indexer must be subtype of base type indexer
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer3.js b/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer3.js
index c419bde0fb..8e5fad987c 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer3.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer3.js
@@ -46,6 +46,7 @@ module Generics {
}
//// [subtypingWithNumericIndexer3.js]
+// Derived type indexer must be subtype of base type indexer
class A {
}
class B extends A {
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer3.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer3.js.diff
deleted file mode 100644
index 22c6374988..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer3.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.subtypingWithNumericIndexer3.js
-+++ new.subtypingWithNumericIndexer3.js
-@@= skipped -45, +45 lines =@@
- }
-
- //// [subtypingWithNumericIndexer3.js]
--// Derived type indexer must be subtype of base type indexer
- class A {
- }
- class B extends A {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer4.js b/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer4.js
index 336504c2cf..ec161b0b07 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer4.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer4.js
@@ -30,6 +30,7 @@ module Generics {
}
//// [subtypingWithNumericIndexer4.js]
+// Derived type indexer must be subtype of base type indexer
class A {
}
class B extends A {
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer4.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer4.js.diff
deleted file mode 100644
index 2407b28e40..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer4.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.subtypingWithNumericIndexer4.js
-+++ new.subtypingWithNumericIndexer4.js
-@@= skipped -29, +29 lines =@@
- }
-
- //// [subtypingWithNumericIndexer4.js]
--// Derived type indexer must be subtype of base type indexer
- class A {
- }
- class B extends A {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer5.js b/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer5.js
index feb84afff1..3e5998c789 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer5.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer5.js
@@ -46,6 +46,7 @@ module Generics {
}
//// [subtypingWithNumericIndexer5.js]
+// Derived type indexer must be subtype of base type indexer
class B {
}
class B2 {
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer5.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer5.js.diff
deleted file mode 100644
index 6fa9aa1f27..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithNumericIndexer5.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.subtypingWithNumericIndexer5.js
-+++ new.subtypingWithNumericIndexer5.js
-@@= skipped -45, +45 lines =@@
- }
-
- //// [subtypingWithNumericIndexer5.js]
--// Derived type indexer must be subtype of base type indexer
- class B {
- }
- class B2 {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality.js b/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality.js
index 40277f40b8..4601d3e455 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality.js
@@ -76,6 +76,7 @@ module TwoLevels {
}
//// [subtypingWithObjectMembersOptionality.js]
+// Derived member is not optional but base member is, should be ok
// object literal case
var a;
var b = { Foo: null };
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality.js.diff
deleted file mode 100644
index 2e6570460c..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.subtypingWithObjectMembersOptionality.js
-+++ new.subtypingWithObjectMembersOptionality.js
-@@= skipped -75, +75 lines =@@
- }
-
- //// [subtypingWithObjectMembersOptionality.js]
--// Derived member is not optional but base member is, should be ok
- // object literal case
- var a;
- var b = { Foo: null };
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality2.js b/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality2.js
index 12a1d0d2f4..5f8b6c99e7 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality2.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality2.js
@@ -36,6 +36,7 @@ var b: { Foo?: Derived; }
var r = true ? a : b; // ok
//// [subtypingWithObjectMembersOptionality2.js]
+// Derived member is optional but base member is not, should be an error
// object literal case
var a;
var b;
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality2.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality2.js.diff
deleted file mode 100644
index 4228ac0a03..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality2.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.subtypingWithObjectMembersOptionality2.js
-+++ new.subtypingWithObjectMembersOptionality2.js
-@@= skipped -35, +35 lines =@@
- var r = true ? a : b; // ok
-
- //// [subtypingWithObjectMembersOptionality2.js]
--// Derived member is optional but base member is not, should be an error
- // object literal case
- var a;
- var b;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality3.js b/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality3.js
index 8712cf518a..7e6a0a3362 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality3.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality3.js
@@ -36,6 +36,7 @@ var b: { Foo2: Derived; }
var r = true ? a : b; // ok
//// [subtypingWithObjectMembersOptionality3.js]
+// Base property is optional and derived type has no property of that name
// object literal case
var a;
var b;
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality3.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality3.js.diff
deleted file mode 100644
index 9e0768a47f..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality3.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.subtypingWithObjectMembersOptionality3.js
-+++ new.subtypingWithObjectMembersOptionality3.js
-@@= skipped -35, +35 lines =@@
- var r = true ? a : b; // ok
-
- //// [subtypingWithObjectMembersOptionality3.js]
--// Base property is optional and derived type has no property of that name
- // object literal case
- var a;
- var b;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality4.js b/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality4.js
index 5e4a3f5b08..36a3a809c3 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality4.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality4.js
@@ -36,6 +36,7 @@ var b: { Foo2?: Derived; }
var r = true ? a : b; // ok
//// [subtypingWithObjectMembersOptionality4.js]
+// Base has required property, derived adds an optional property, no errors
// object literal case
var a;
var b;
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality4.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality4.js.diff
deleted file mode 100644
index ca000450a5..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithObjectMembersOptionality4.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.subtypingWithObjectMembersOptionality4.js
-+++ new.subtypingWithObjectMembersOptionality4.js
-@@= skipped -35, +35 lines =@@
- var r = true ? a : b; // ok
-
- //// [subtypingWithObjectMembersOptionality4.js]
--// Base has required property, derived adds an optional property, no errors
- // object literal case
- var a;
- var b;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer.js b/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer.js
index 95c484f534..7395b75e50 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer.js
@@ -43,6 +43,7 @@ module Generics {
//// [subtypingWithStringIndexer.js]
+// Derived type indexer must be subtype of base type indexer
class A {
}
class B extends A {
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer.js.diff
deleted file mode 100644
index dc883b4d32..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.subtypingWithStringIndexer.js
-+++ new.subtypingWithStringIndexer.js
-@@= skipped -42, +42 lines =@@
-
-
- //// [subtypingWithStringIndexer.js]
--// Derived type indexer must be subtype of base type indexer
- class A {
- }
- class B extends A {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer2.js b/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer2.js
index 17fae050d2..da043797dc 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer2.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer2.js
@@ -46,3 +46,4 @@ module Generics {
}
//// [subtypingWithStringIndexer2.js]
+// Derived type indexer must be subtype of base type indexer
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer2.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer2.js.diff
deleted file mode 100644
index a8361f4e9f..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer2.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.subtypingWithStringIndexer2.js
-+++ new.subtypingWithStringIndexer2.js
-@@= skipped -45, +45 lines =@@
- }
-
- //// [subtypingWithStringIndexer2.js]
--// Derived type indexer must be subtype of base type indexer
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer3.js b/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer3.js
index 970c97d35b..49ccd2202e 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer3.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer3.js
@@ -46,6 +46,7 @@ module Generics {
}
//// [subtypingWithStringIndexer3.js]
+// Derived type indexer must be subtype of base type indexer
class A {
}
class B extends A {
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer3.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer3.js.diff
deleted file mode 100644
index d9f287deb7..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer3.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.subtypingWithStringIndexer3.js
-+++ new.subtypingWithStringIndexer3.js
-@@= skipped -45, +45 lines =@@
- }
-
- //// [subtypingWithStringIndexer3.js]
--// Derived type indexer must be subtype of base type indexer
- class A {
- }
- class B extends A {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer4.js b/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer4.js
index d75051f25b..d0dedd2b25 100644
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer4.js
+++ b/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer4.js
@@ -30,6 +30,7 @@ module Generics {
}
//// [subtypingWithStringIndexer4.js]
+// Derived type indexer must be subtype of base type indexer
class A {
}
class B extends A {
diff --git a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer4.js.diff b/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer4.js.diff
deleted file mode 100644
index 3d30c814ef..0000000000
--- a/testdata/baselines/reference/submodule/conformance/subtypingWithStringIndexer4.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.subtypingWithStringIndexer4.js
-+++ new.subtypingWithStringIndexer4.js
-@@= skipped -29, +29 lines =@@
- }
-
- //// [subtypingWithStringIndexer4.js]
--// Derived type indexer must be subtype of base type indexer
- class A {
- }
- class B extends A {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/templateLiteralTypes1.js b/testdata/baselines/reference/submodule/conformance/templateLiteralTypes1.js
index f3c59f192d..3185943d3a 100644
--- a/testdata/baselines/reference/submodule/conformance/templateLiteralTypes1.js
+++ b/testdata/baselines/reference/submodule/conformance/templateLiteralTypes1.js
@@ -259,8 +259,8 @@ const test1: SpacingShorthand = "0 0 0";
//// [templateLiteralTypes1.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
// Template types example from #12754
+Object.defineProperty(exports, "__esModule", { value: true });
const createScopedActionType = (scope) => (type) => `${scope}/${type}`;
const createActionInMyScope = createScopedActionType("MyScope"); // (type: T) => `MyScope/${T}`
const MY_ACTION = createActionInMyScope("MY_ACTION"); // 'MyScope/MY_ACTION'
diff --git a/testdata/baselines/reference/submodule/conformance/templateLiteralTypes1.js.diff b/testdata/baselines/reference/submodule/conformance/templateLiteralTypes1.js.diff
deleted file mode 100644
index b058b3edad..0000000000
--- a/testdata/baselines/reference/submodule/conformance/templateLiteralTypes1.js.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- old.templateLiteralTypes1.js
-+++ new.templateLiteralTypes1.js
-@@= skipped -258, +258 lines =@@
-
- //// [templateLiteralTypes1.js]
- "use strict";
--// Template types example from #12754
- Object.defineProperty(exports, "__esModule", { value: true });
-+// Template types example from #12754
- const createScopedActionType = (scope) => (type) => `${scope}/${type}`;
- const createActionInMyScope = createScopedActionType("MyScope"); // (type: T) => `MyScope/${T}`
- const MY_ACTION = createActionInMyScope("MY_ACTION"); // 'MyScope/MY_ACTION'
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/templateLiteralTypes3.js b/testdata/baselines/reference/submodule/conformance/templateLiteralTypes3.js
index 768e99a359..96b21945c9 100644
--- a/testdata/baselines/reference/submodule/conformance/templateLiteralTypes3.js
+++ b/testdata/baselines/reference/submodule/conformance/templateLiteralTypes3.js
@@ -206,6 +206,7 @@ function a() {
//// [templateLiteralTypes3.js]
+// Inference from template literal type to template literal type
function f1(s, n, b, t) {
let x1 = foo1('hello'); // Error
let x2 = foo1('*hello*');
diff --git a/testdata/baselines/reference/submodule/conformance/templateLiteralTypes3.js.diff b/testdata/baselines/reference/submodule/conformance/templateLiteralTypes3.js.diff
index ca68512a55..a11d2002bd 100644
--- a/testdata/baselines/reference/submodule/conformance/templateLiteralTypes3.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/templateLiteralTypes3.js.diff
@@ -5,7 +5,6 @@
//// [templateLiteralTypes3.js]
-"use strict";
--// Inference from template literal type to template literal type
+ // Inference from template literal type to template literal type
function f1(s, n, b, t) {
- let x1 = foo1('hello'); // Error
- let x2 = foo1('*hello*');
\ No newline at end of file
+ let x1 = foo1('hello'); // Error
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/throwStatements.js b/testdata/baselines/reference/submodule/conformance/throwStatements.js
index e9bbe051b8..8814dc5fb4 100644
--- a/testdata/baselines/reference/submodule/conformance/throwStatements.js
+++ b/testdata/baselines/reference/submodule/conformance/throwStatements.js
@@ -88,6 +88,7 @@ throw new D();
//// [throwStatements.js]
+// all legal
class C {
id;
}
diff --git a/testdata/baselines/reference/submodule/conformance/throwStatements.js.diff b/testdata/baselines/reference/submodule/conformance/throwStatements.js.diff
index 05269497d4..2670afad2f 100644
--- a/testdata/baselines/reference/submodule/conformance/throwStatements.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/throwStatements.js.diff
@@ -1,10 +1,8 @@
--- old.throwStatements.js
+++ new.throwStatements.js
-@@= skipped -87, +87 lines =@@
-
-
+@@= skipped -89, +89 lines =@@
//// [throwStatements.js]
--// all legal
+ // all legal
class C {
+ id;
}
diff --git a/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescript.js b/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescript.js
index 7f4c10b98e..5ddf2aa3c7 100644
--- a/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescript.js
+++ b/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescript.js
@@ -16,9 +16,9 @@ export class Bet implements Aleph {
//// [file.js]
"use strict";
+// @ts-nocheck
Object.defineProperty(exports, "__esModule", { value: true });
exports.Bet = exports.a = void 0;
-// @ts-nocheck
exports.a = 1 + {}; // This is an error, ofc, `Operator '+' cannot be applied to types '1' and '{}'`, which will be suppressed by the `nocheck` comment
class Bet {
q = "lol"; // And so will this implements error
diff --git a/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescript.js.diff b/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescript.js.diff
index 5d67fbc164..64df3c68a5 100644
--- a/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescript.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescript.js.diff
@@ -1,13 +1,7 @@
--- old.tsNoCheckForTypescript.js
+++ new.tsNoCheckForTypescript.js
-@@= skipped -15, +15 lines =@@
-
- //// [file.js]
- "use strict";
--// @ts-nocheck
- Object.defineProperty(exports, "__esModule", { value: true });
+@@= skipped -20, +20 lines =@@
exports.Bet = exports.a = void 0;
-+// @ts-nocheck
exports.a = 1 + {}; // This is an error, ofc, `Operator '+' cannot be applied to types '1' and '{}'`, which will be suppressed by the `nocheck` comment
class Bet {
- constructor() {
diff --git a/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments1.js b/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments1.js
index 248fb75544..a3e223edaf 100644
--- a/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments1.js
+++ b/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments1.js
@@ -16,9 +16,9 @@ export class Bet implements Aleph {
//// [file.js]
"use strict";
+// @ts-nocheck additional comments
Object.defineProperty(exports, "__esModule", { value: true });
exports.Bet = exports.a = void 0;
-// @ts-nocheck additional comments
exports.a = 1 + {}; // This is an error, ofc, `Operator '+' cannot be applied to types '1' and '{}'`, which will be suppressed by the `nocheck` comment
class Bet {
q = 'lol'; // And so will this implements error
diff --git a/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments1.js.diff b/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments1.js.diff
index d859c333f5..0dc5d4fb2b 100644
--- a/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments1.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments1.js.diff
@@ -1,13 +1,7 @@
--- old.tsNoCheckForTypescriptComments1.js
+++ new.tsNoCheckForTypescriptComments1.js
-@@= skipped -15, +15 lines =@@
-
- //// [file.js]
- "use strict";
--// @ts-nocheck additional comments
- Object.defineProperty(exports, "__esModule", { value: true });
+@@= skipped -20, +20 lines =@@
exports.Bet = exports.a = void 0;
-+// @ts-nocheck additional comments
exports.a = 1 + {}; // This is an error, ofc, `Operator '+' cannot be applied to types '1' and '{}'`, which will be suppressed by the `nocheck` comment
class Bet {
- constructor() {
diff --git a/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments2.js b/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments2.js
index 73ef57b95c..c7b173e0be 100644
--- a/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments2.js
+++ b/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments2.js
@@ -16,9 +16,9 @@ export class Bet implements Aleph {
//// [file.js]
"use strict";
+// @ts-nocheck: additional comments
Object.defineProperty(exports, "__esModule", { value: true });
exports.Bet = exports.a = void 0;
-// @ts-nocheck: additional comments
exports.a = 1 + {}; // This is an error, ofc, `Operator '+' cannot be applied to types '1' and '{}'`, which will be suppressed by the `nocheck` comment
class Bet {
q = "lol"; // And so will this implements error
diff --git a/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments2.js.diff b/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments2.js.diff
index 2d2b27a026..e8e46482d2 100644
--- a/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments2.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/tsNoCheckForTypescriptComments2.js.diff
@@ -1,13 +1,7 @@
--- old.tsNoCheckForTypescriptComments2.js
+++ new.tsNoCheckForTypescriptComments2.js
-@@= skipped -15, +15 lines =@@
-
- //// [file.js]
- "use strict";
--// @ts-nocheck: additional comments
- Object.defineProperty(exports, "__esModule", { value: true });
+@@= skipped -20, +20 lines =@@
exports.Bet = exports.a = void 0;
-+// @ts-nocheck: additional comments
exports.a = 1 + {}; // This is an error, ofc, `Operator '+' cannot be applied to types '1' and '{}'`, which will be suppressed by the `nocheck` comment
class Bet {
- constructor() {
diff --git a/testdata/baselines/reference/submodule/conformance/twoGenericInterfacesDifferingByTypeParameterName.js b/testdata/baselines/reference/submodule/conformance/twoGenericInterfacesDifferingByTypeParameterName.js
index becf40a696..3afcaa525a 100644
--- a/testdata/baselines/reference/submodule/conformance/twoGenericInterfacesDifferingByTypeParameterName.js
+++ b/testdata/baselines/reference/submodule/conformance/twoGenericInterfacesDifferingByTypeParameterName.js
@@ -64,3 +64,4 @@ module M3 {
//// [twoGenericInterfacesDifferingByTypeParameterName.js]
+// type parameter names are relevant when choosing whether to merge interface declarations
diff --git a/testdata/baselines/reference/submodule/conformance/twoGenericInterfacesDifferingByTypeParameterName.js.diff b/testdata/baselines/reference/submodule/conformance/twoGenericInterfacesDifferingByTypeParameterName.js.diff
deleted file mode 100644
index ce0d06ac67..0000000000
--- a/testdata/baselines/reference/submodule/conformance/twoGenericInterfacesDifferingByTypeParameterName.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.twoGenericInterfacesDifferingByTypeParameterName.js
-+++ new.twoGenericInterfacesDifferingByTypeParameterName.js
-@@= skipped -63, +63 lines =@@
-
-
- //// [twoGenericInterfacesDifferingByTypeParameterName.js]
--// type parameter names are relevant when choosing whether to merge interface declarations
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/twoGenericInterfacesDifferingByTypeParameterName2.js b/testdata/baselines/reference/submodule/conformance/twoGenericInterfacesDifferingByTypeParameterName2.js
index 01aff706b5..99d975acc3 100644
--- a/testdata/baselines/reference/submodule/conformance/twoGenericInterfacesDifferingByTypeParameterName2.js
+++ b/testdata/baselines/reference/submodule/conformance/twoGenericInterfacesDifferingByTypeParameterName2.js
@@ -48,3 +48,4 @@ module M3 {
//// [twoGenericInterfacesDifferingByTypeParameterName2.js]
+// type parameter names are relevant when choosing whether to merge interface declarations
diff --git a/testdata/baselines/reference/submodule/conformance/twoGenericInterfacesDifferingByTypeParameterName2.js.diff b/testdata/baselines/reference/submodule/conformance/twoGenericInterfacesDifferingByTypeParameterName2.js.diff
deleted file mode 100644
index c6eb69a08c..0000000000
--- a/testdata/baselines/reference/submodule/conformance/twoGenericInterfacesDifferingByTypeParameterName2.js.diff
+++ /dev/null
@@ -1,7 +0,0 @@
---- old.twoGenericInterfacesDifferingByTypeParameterName2.js
-+++ new.twoGenericInterfacesDifferingByTypeParameterName2.js
-@@= skipped -47, +47 lines =@@
-
-
- //// [twoGenericInterfacesDifferingByTypeParameterName2.js]
--// type parameter names are relevant when choosing whether to merge interface declarations
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/twoInterfacesDifferentRootModule.js b/testdata/baselines/reference/submodule/conformance/twoInterfacesDifferentRootModule.js
index ba92227fc1..dc1a51361e 100644
--- a/testdata/baselines/reference/submodule/conformance/twoInterfacesDifferentRootModule.js
+++ b/testdata/baselines/reference/submodule/conformance/twoInterfacesDifferentRootModule.js
@@ -32,6 +32,7 @@ module M2 {
}
//// [twoInterfacesDifferentRootModule.js]
+// two interfaces with different root modules should not merge
var M2;
(function (M2) {
var a;
diff --git a/testdata/baselines/reference/submodule/conformance/twoInterfacesDifferentRootModule.js.diff b/testdata/baselines/reference/submodule/conformance/twoInterfacesDifferentRootModule.js.diff
deleted file mode 100644
index 9fd8f10713..0000000000
--- a/testdata/baselines/reference/submodule/conformance/twoInterfacesDifferentRootModule.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.twoInterfacesDifferentRootModule.js
-+++ new.twoInterfacesDifferentRootModule.js
-@@= skipped -31, +31 lines =@@
- }
-
- //// [twoInterfacesDifferentRootModule.js]
--// two interfaces with different root modules should not merge
- var M2;
- (function (M2) {
- var a;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/twoMergedInterfacesWithDifferingOverloads.js b/testdata/baselines/reference/submodule/conformance/twoMergedInterfacesWithDifferingOverloads.js
index 887eb91576..8e5b55f917 100644
--- a/testdata/baselines/reference/submodule/conformance/twoMergedInterfacesWithDifferingOverloads.js
+++ b/testdata/baselines/reference/submodule/conformance/twoMergedInterfacesWithDifferingOverloads.js
@@ -53,6 +53,7 @@ var d: D;
var r3 = d.foo(1, 1); // boolean, last definition wins
//// [twoMergedInterfacesWithDifferingOverloads.js]
+// interfaces that merge must not have members that conflict
var b;
var r = b.foo(true); // returns Date
var c;
diff --git a/testdata/baselines/reference/submodule/conformance/twoMergedInterfacesWithDifferingOverloads.js.diff b/testdata/baselines/reference/submodule/conformance/twoMergedInterfacesWithDifferingOverloads.js.diff
deleted file mode 100644
index 70237dae49..0000000000
--- a/testdata/baselines/reference/submodule/conformance/twoMergedInterfacesWithDifferingOverloads.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.twoMergedInterfacesWithDifferingOverloads.js
-+++ new.twoMergedInterfacesWithDifferingOverloads.js
-@@= skipped -52, +52 lines =@@
- var r3 = d.foo(1, 1); // boolean, last definition wins
-
- //// [twoMergedInterfacesWithDifferingOverloads.js]
--// interfaces that merge must not have members that conflict
- var b;
- var r = b.foo(true); // returns Date
- var c;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/typeAliases.js b/testdata/baselines/reference/submodule/conformance/typeAliases.js
index 56077be28a..db6134ea0e 100644
--- a/testdata/baselines/reference/submodule/conformance/typeAliases.js
+++ b/testdata/baselines/reference/submodule/conformance/typeAliases.js
@@ -83,6 +83,7 @@ var y: StringAndBoolean = ["1", false];
y[0].toLowerCase();
//// [typeAliases.js]
+// Writing a reference to a type alias has exactly the same effect as writing the aliased type itself.
var x1;
var x1;
var x2;
diff --git a/testdata/baselines/reference/submodule/conformance/typeAliases.js.diff b/testdata/baselines/reference/submodule/conformance/typeAliases.js.diff
index def9644910..78b70cb480 100644
--- a/testdata/baselines/reference/submodule/conformance/typeAliases.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/typeAliases.js.diff
@@ -1,14 +1,6 @@
--- old.typeAliases.js
+++ new.typeAliases.js
-@@= skipped -82, +82 lines =@@
- y[0].toLowerCase();
-
- //// [typeAliases.js]
--// Writing a reference to a type alias has exactly the same effect as writing the aliased type itself.
- var x1;
- var x1;
- var x2;
-@@= skipped -14, +13 lines =@@
+@@= skipped -96, +96 lines =@@
var x6;
var x6;
class C7 {
diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignmentWithExport.js b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignmentWithExport.js
index 8364e13a35..0d66eab407 100644
--- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignmentWithExport.js
+++ b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignmentWithExport.js
@@ -12,9 +12,9 @@ Adapter.asyncMethod = function() {}
//// [a.js]
"use strict";
+// this is a javascript file...
Object.defineProperty(exports, "__esModule", { value: true });
exports.Adapter = void 0;
-// this is a javascript file...
exports.Adapter = {};
exports.Adapter.prop = {};
// comment this out, and it works
diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignmentWithExport.js.diff b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignmentWithExport.js.diff
deleted file mode 100644
index e8b296c70c..0000000000
--- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignmentWithExport.js.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- old.typeFromPropertyAssignmentWithExport.js
-+++ new.typeFromPropertyAssignmentWithExport.js
-@@= skipped -11, +11 lines =@@
-
- //// [a.js]
- "use strict";
--// this is a javascript file...
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.Adapter = void 0;
-+// this is a javascript file...
- exports.Adapter = {};
- exports.Adapter.prop = {};
- // comment this out, and it works
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/typeGuardOfFormInstanceOfOnInterface.js b/testdata/baselines/reference/submodule/conformance/typeGuardOfFormInstanceOfOnInterface.js
index 58980c65b2..717bebe4c4 100644
--- a/testdata/baselines/reference/submodule/conformance/typeGuardOfFormInstanceOfOnInterface.js
+++ b/testdata/baselines/reference/submodule/conformance/typeGuardOfFormInstanceOfOnInterface.js
@@ -41,6 +41,11 @@ str = c2Ord1 instanceof d1 && c2Ord1.p1; // D1
var r2: D1 | C2 = c2Ord1 instanceof c1 && c2Ord1; // C2 | D1
//// [typeGuardOfFormInstanceOfOnInterface.js]
+// A type guard of the form x instanceof C, where C is of a subtype of the global type 'Function'
+// and C has a property named 'prototype'
+// - when true, narrows the type of x to the type of the 'prototype' property in C provided
+// it is a subtype of the type of x, or
+// - when false, has no effect on the type of x.
var str;
var num;
var strOrNum;
diff --git a/testdata/baselines/reference/submodule/conformance/typeGuardOfFormInstanceOfOnInterface.js.diff b/testdata/baselines/reference/submodule/conformance/typeGuardOfFormInstanceOfOnInterface.js.diff
deleted file mode 100644
index cbbc7429c8..0000000000
--- a/testdata/baselines/reference/submodule/conformance/typeGuardOfFormInstanceOfOnInterface.js.diff
+++ /dev/null
@@ -1,14 +0,0 @@
---- old.typeGuardOfFormInstanceOfOnInterface.js
-+++ new.typeGuardOfFormInstanceOfOnInterface.js
-@@= skipped -40, +40 lines =@@
- var r2: D1 | C2 = c2Ord1 instanceof c1 && c2Ord1; // C2 | D1
-
- //// [typeGuardOfFormInstanceOfOnInterface.js]
--// A type guard of the form x instanceof C, where C is of a subtype of the global type 'Function'
--// and C has a property named 'prototype'
--// - when true, narrows the type of x to the type of the 'prototype' property in C provided
--// it is a subtype of the type of x, or
--// - when false, has no effect on the type of x.
- var str;
- var num;
- var strOrNum;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/typeGuardsAsAssertions.js b/testdata/baselines/reference/submodule/conformance/typeGuardsAsAssertions.js
index 4d73aad492..7c74eb86f2 100644
--- a/testdata/baselines/reference/submodule/conformance/typeGuardsAsAssertions.js
+++ b/testdata/baselines/reference/submodule/conformance/typeGuardsAsAssertions.js
@@ -130,11 +130,11 @@ function f7() {
//// [typeGuardsAsAssertions.js]
"use strict";
+// Repro from #8513
Object.defineProperty(exports, "__esModule", { value: true });
exports.none = void 0;
exports.isSome = isSome;
exports.fn = fn;
-// Repro from #8513
let cond;
exports.none = { none: '' };
function isSome(value) {
diff --git a/testdata/baselines/reference/submodule/conformance/typeGuardsAsAssertions.js.diff b/testdata/baselines/reference/submodule/conformance/typeGuardsAsAssertions.js.diff
deleted file mode 100644
index 40d59b71ec..0000000000
--- a/testdata/baselines/reference/submodule/conformance/typeGuardsAsAssertions.js.diff
+++ /dev/null
@@ -1,15 +0,0 @@
---- old.typeGuardsAsAssertions.js
-+++ new.typeGuardsAsAssertions.js
-@@= skipped -129, +129 lines =@@
-
- //// [typeGuardsAsAssertions.js]
- "use strict";
--// Repro from #8513
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.none = void 0;
- exports.isSome = isSome;
- exports.fn = fn;
-+// Repro from #8513
- let cond;
- exports.none = { none: '' };
- function isSome(value) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/typeGuardsInExternalModule.js b/testdata/baselines/reference/submodule/conformance/typeGuardsInExternalModule.js
index f632c56dfd..e8875c957b 100644
--- a/testdata/baselines/reference/submodule/conformance/typeGuardsInExternalModule.js
+++ b/testdata/baselines/reference/submodule/conformance/typeGuardsInExternalModule.js
@@ -27,10 +27,10 @@ else {
//// [typeGuardsInExternalModule.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.var2 = void 0;
// Note that type guards affect types of variables and parameters only and
// have no effect on members of objects such as properties.
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.var2 = void 0;
// local variable in external module
var num;
var var1;
diff --git a/testdata/baselines/reference/submodule/conformance/typeGuardsInExternalModule.js.diff b/testdata/baselines/reference/submodule/conformance/typeGuardsInExternalModule.js.diff
deleted file mode 100644
index efa2fe3e31..0000000000
--- a/testdata/baselines/reference/submodule/conformance/typeGuardsInExternalModule.js.diff
+++ /dev/null
@@ -1,15 +0,0 @@
---- old.typeGuardsInExternalModule.js
-+++ new.typeGuardsInExternalModule.js
-@@= skipped -26, +26 lines =@@
-
- //// [typeGuardsInExternalModule.js]
- "use strict";
--// Note that type guards affect types of variables and parameters only and
--// have no effect on members of objects such as properties.
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.var2 = void 0;
-+// Note that type guards affect types of variables and parameters only and
-+// have no effect on members of objects such as properties.
- // local variable in external module
- var num;
- var var1;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/typeParameterAsTypeParameterConstraintTransitively.js b/testdata/baselines/reference/submodule/conformance/typeParameterAsTypeParameterConstraintTransitively.js
index e56f5a9818..b913c13866 100644
--- a/testdata/baselines/reference/submodule/conformance/typeParameterAsTypeParameterConstraintTransitively.js
+++ b/testdata/baselines/reference/submodule/conformance/typeParameterAsTypeParameterConstraintTransitively.js
@@ -27,6 +27,8 @@ foo(a, b, c);
foo(b, b, { foo: 1, bar: '', hm: '' });
//// [typeParameterAsTypeParameterConstraintTransitively.js]
+// using a type parameter as a constraint for a type parameter is valid
+// no errors expected
var a;
var b;
var c;
diff --git a/testdata/baselines/reference/submodule/conformance/typeParameterAsTypeParameterConstraintTransitively.js.diff b/testdata/baselines/reference/submodule/conformance/typeParameterAsTypeParameterConstraintTransitively.js.diff
deleted file mode 100644
index 90ddcf2dd4..0000000000
--- a/testdata/baselines/reference/submodule/conformance/typeParameterAsTypeParameterConstraintTransitively.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.typeParameterAsTypeParameterConstraintTransitively.js
-+++ new.typeParameterAsTypeParameterConstraintTransitively.js
-@@= skipped -26, +26 lines =@@
- foo(b, b, { foo: 1, bar: '', hm: '' });
-
- //// [typeParameterAsTypeParameterConstraintTransitively.js]
--// using a type parameter as a constraint for a type parameter is valid
--// no errors expected
- var a;
- var b;
- var c;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/typeParameterAsTypeParameterConstraintTransitively2.js b/testdata/baselines/reference/submodule/conformance/typeParameterAsTypeParameterConstraintTransitively2.js
index 6f1c813244..38e599b3cf 100644
--- a/testdata/baselines/reference/submodule/conformance/typeParameterAsTypeParameterConstraintTransitively2.js
+++ b/testdata/baselines/reference/submodule/conformance/typeParameterAsTypeParameterConstraintTransitively2.js
@@ -26,6 +26,8 @@ foo(b, a, c);
foo(c, c, a);
//// [typeParameterAsTypeParameterConstraintTransitively2.js]
+// using a type parameter as a constraint for a type parameter is invalid
+// these should be errors at the type parameter constraint declarations, and have no downstream errors
var a;
var b;
var c;
diff --git a/testdata/baselines/reference/submodule/conformance/typeParameterAsTypeParameterConstraintTransitively2.js.diff b/testdata/baselines/reference/submodule/conformance/typeParameterAsTypeParameterConstraintTransitively2.js.diff
deleted file mode 100644
index 903c9b642a..0000000000
--- a/testdata/baselines/reference/submodule/conformance/typeParameterAsTypeParameterConstraintTransitively2.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.typeParameterAsTypeParameterConstraintTransitively2.js
-+++ new.typeParameterAsTypeParameterConstraintTransitively2.js
-@@= skipped -25, +25 lines =@@
- foo(c, c, a);
-
- //// [typeParameterAsTypeParameterConstraintTransitively2.js]
--// using a type parameter as a constraint for a type parameter is invalid
--// these should be errors at the type parameter constraint declarations, and have no downstream errors
- var a;
- var b;
- var c;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/typeParameterUsedAsTypeParameterConstraint3.js b/testdata/baselines/reference/submodule/conformance/typeParameterUsedAsTypeParameterConstraint3.js
index 3c0932a8ca..217d6af322 100644
--- a/testdata/baselines/reference/submodule/conformance/typeParameterUsedAsTypeParameterConstraint3.js
+++ b/testdata/baselines/reference/submodule/conformance/typeParameterUsedAsTypeParameterConstraint3.js
@@ -53,6 +53,8 @@ interface I2 {
//}
//// [typeParameterUsedAsTypeParameterConstraint3.js]
+// Type parameters are in scope in their own and other type parameter lists
+// Object types
//interface I < T, U extends T, V extends U > {
// x: T;
// y: U;
diff --git a/testdata/baselines/reference/submodule/conformance/typeParameterUsedAsTypeParameterConstraint3.js.diff b/testdata/baselines/reference/submodule/conformance/typeParameterUsedAsTypeParameterConstraint3.js.diff
deleted file mode 100644
index 78bebc1364..0000000000
--- a/testdata/baselines/reference/submodule/conformance/typeParameterUsedAsTypeParameterConstraint3.js.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- old.typeParameterUsedAsTypeParameterConstraint3.js
-+++ new.typeParameterUsedAsTypeParameterConstraint3.js
-@@= skipped -52, +52 lines =@@
- //}
-
- //// [typeParameterUsedAsTypeParameterConstraint3.js]
--// Type parameters are in scope in their own and other type parameter lists
--// Object types
- //interface I < T, U extends T, V extends U > {
- // x: T;
- // y: U;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/typeParametersAreIdenticalToThemselves.js b/testdata/baselines/reference/submodule/conformance/typeParametersAreIdenticalToThemselves.js
index 1d9cf93b59..6de2bd9575 100644
--- a/testdata/baselines/reference/submodule/conformance/typeParametersAreIdenticalToThemselves.js
+++ b/testdata/baselines/reference/submodule/conformance/typeParametersAreIdenticalToThemselves.js
@@ -79,6 +79,7 @@ interface I2 {
}
//// [typeParametersAreIdenticalToThemselves.js]
+// type parameters from the same declaration are identical to themself
function foo1(x) { }
function foo2(x) { }
function foo3(x, y) {
diff --git a/testdata/baselines/reference/submodule/conformance/typeParametersAreIdenticalToThemselves.js.diff b/testdata/baselines/reference/submodule/conformance/typeParametersAreIdenticalToThemselves.js.diff
deleted file mode 100644
index b489d3639f..0000000000
--- a/testdata/baselines/reference/submodule/conformance/typeParametersAreIdenticalToThemselves.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.typeParametersAreIdenticalToThemselves.js
-+++ new.typeParametersAreIdenticalToThemselves.js
-@@= skipped -78, +78 lines =@@
- }
-
- //// [typeParametersAreIdenticalToThemselves.js]
--// type parameters from the same declaration are identical to themself
- function foo1(x) { }
- function foo2(x) { }
- function foo3(x, y) {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/typeTagNoErasure.js b/testdata/baselines/reference/submodule/conformance/typeTagNoErasure.js
index 4f5bbb3bb4..c6ae7c908d 100644
--- a/testdata/baselines/reference/submodule/conformance/typeTagNoErasure.js
+++ b/testdata/baselines/reference/submodule/conformance/typeTagNoErasure.js
@@ -12,8 +12,8 @@ test('hi') // error, T=number
//// [typeTagNoErasure.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
/** @template T @typedef {(data: T1) => T1} Test */
+Object.defineProperty(exports, "__esModule", { value: true });
/** @type {Test} */
const test = dibbity => dibbity;
test(1); // ok, T=1
@@ -21,4 +21,5 @@ test('hi'); // error, T=number
//// [typeTagNoErasure.d.ts]
+/** @template T @typedef {(data: T1) => T1} Test */
export type Test = (data: T1) => T1;
diff --git a/testdata/baselines/reference/submodule/conformance/typeTagNoErasure.js.diff b/testdata/baselines/reference/submodule/conformance/typeTagNoErasure.js.diff
index faf23d49b9..66bac15086 100644
--- a/testdata/baselines/reference/submodule/conformance/typeTagNoErasure.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/typeTagNoErasure.js.diff
@@ -5,15 +5,15 @@
//// [typeTagNoErasure.js]
+"use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
/** @template T @typedef {(data: T1) => T1} Test */
++Object.defineProperty(exports, "__esModule", { value: true });
/** @type {Test} */
const test = dibbity => dibbity;
-@@= skipped -8, +10 lines =@@
-
+ test(1); // ok, T=1
+@@= skipped -9, +11 lines =@@
//// [typeTagNoErasure.d.ts]
--/** @template T @typedef {(data: T1) => T1} Test */
+ /** @template T @typedef {(data: T1) => T1} Test */
-/** @type {Test} */
-declare const test: Test;
-type Test = (data: T1) => T1;
diff --git a/testdata/baselines/reference/submodule/conformance/typeTagOnFunctionReferencesGeneric.js b/testdata/baselines/reference/submodule/conformance/typeTagOnFunctionReferencesGeneric.js
index de1d469b27..68a2b65a1d 100644
--- a/testdata/baselines/reference/submodule/conformance/typeTagOnFunctionReferencesGeneric.js
+++ b/testdata/baselines/reference/submodule/conformance/typeTagOnFunctionReferencesGeneric.js
@@ -20,11 +20,11 @@ inJsArrow(2); // no error gets linted as expected
//// [typeTagOnFunctionReferencesGeneric.js]
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.inJs = inJs;
/**
* @typedef {(m : T) => T} IFn
*/
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.inJs = inJs;
/**@type {IFn}*/
function inJs(l) {
return l;
@@ -38,9 +38,9 @@ inJsArrow(2); // no error gets linted as expected
//// [typeTagOnFunctionReferencesGeneric.d.ts]
-export type IFn = (m: T) => T;
/**
* @typedef {(m : T) => T} IFn
*/
+export type IFn = (m: T) => T;
/**@type {IFn}*/
export declare function inJs(l: T): T;
diff --git a/testdata/baselines/reference/submodule/conformance/typeTagOnFunctionReferencesGeneric.js.diff b/testdata/baselines/reference/submodule/conformance/typeTagOnFunctionReferencesGeneric.js.diff
index 4c7d4f17b7..e767af8e3a 100644
--- a/testdata/baselines/reference/submodule/conformance/typeTagOnFunctionReferencesGeneric.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/typeTagOnFunctionReferencesGeneric.js.diff
@@ -1,28 +1,13 @@
--- old.typeTagOnFunctionReferencesGeneric.js
+++ new.typeTagOnFunctionReferencesGeneric.js
-@@= skipped -19, +19 lines =@@
-
- //// [typeTagOnFunctionReferencesGeneric.js]
- "use strict";
--/**
-- * @typedef {(m : T) => T} IFn
-- */
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.inJs = inJs;
-+/**
-+ * @typedef {(m : T) => T} IFn
-+ */
- /**@type {IFn}*/
- function inJs(l) {
- return l;
-@@= skipped -18, +18 lines =@@
+@@= skipped -37, +37 lines =@@
//// [typeTagOnFunctionReferencesGeneric.d.ts]
-export function inJs(m: T): T;
- export type IFn = (m: T) => T;
+/**
+ * @typedef {(m : T) => T} IFn
+ */
+ export type IFn = (m: T) => T;
+/**@type {IFn}*/
+export declare function inJs(l: T): T;
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/typesWithOptionalProperty.js b/testdata/baselines/reference/submodule/conformance/typesWithOptionalProperty.js
index 0547b2f50d..cf52d401cd 100644
--- a/testdata/baselines/reference/submodule/conformance/typesWithOptionalProperty.js
+++ b/testdata/baselines/reference/submodule/conformance/typesWithOptionalProperty.js
@@ -33,6 +33,7 @@ i = a;
a = i;
//// [typesWithOptionalProperty.js]
+// basic uses of optional properties without errors
var a;
var b = { foo: '' };
var c = { foo: '', bar: 3 };
diff --git a/testdata/baselines/reference/submodule/conformance/typesWithOptionalProperty.js.diff b/testdata/baselines/reference/submodule/conformance/typesWithOptionalProperty.js.diff
deleted file mode 100644
index 6661fb6803..0000000000
--- a/testdata/baselines/reference/submodule/conformance/typesWithOptionalProperty.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.typesWithOptionalProperty.js
-+++ new.typesWithOptionalProperty.js
-@@= skipped -32, +32 lines =@@
- a = i;
-
- //// [typesWithOptionalProperty.js]
--// basic uses of optional properties without errors
- var a;
- var b = { foo: '' };
- var c = { foo: '', bar: 3 };
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/unionAndIntersectionInference1.js b/testdata/baselines/reference/submodule/conformance/unionAndIntersectionInference1.js
index 3f331312dd..e15ddf67f0 100644
--- a/testdata/baselines/reference/submodule/conformance/unionAndIntersectionInference1.js
+++ b/testdata/baselines/reference/submodule/conformance/unionAndIntersectionInference1.js
@@ -100,6 +100,7 @@ const res: (() => void) & { func: any } = assign(() => {}, { func });
//// [unionAndIntersectionInference1.js]
+// Repro from #2264
var y = undefined;
function destructure(something, haveValue, haveY) {
return something === y ? haveY(y) : haveValue(something);
diff --git a/testdata/baselines/reference/submodule/conformance/unionAndIntersectionInference1.js.diff b/testdata/baselines/reference/submodule/conformance/unionAndIntersectionInference1.js.diff
deleted file mode 100644
index e08952aeb0..0000000000
--- a/testdata/baselines/reference/submodule/conformance/unionAndIntersectionInference1.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.unionAndIntersectionInference1.js
-+++ new.unionAndIntersectionInference1.js
-@@= skipped -99, +99 lines =@@
-
-
- //// [unionAndIntersectionInference1.js]
--// Repro from #2264
- var y = undefined;
- function destructure(something, haveValue, haveY) {
- return something === y ? haveY(y) : haveValue(something);
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/unionAndIntersectionInference3.js b/testdata/baselines/reference/submodule/conformance/unionAndIntersectionInference3.js
index 5c1531c51b..03bb0b9b99 100644
--- a/testdata/baselines/reference/submodule/conformance/unionAndIntersectionInference3.js
+++ b/testdata/baselines/reference/submodule/conformance/unionAndIntersectionInference3.js
@@ -97,6 +97,7 @@ a = b;
//// [unionAndIntersectionInference3.js]
+// Repro from #30720
concatMaybe([1, 2, 3], 4);
// Repros from #32247
const g = async (com) => {
diff --git a/testdata/baselines/reference/submodule/conformance/unionAndIntersectionInference3.js.diff b/testdata/baselines/reference/submodule/conformance/unionAndIntersectionInference3.js.diff
deleted file mode 100644
index 7e01a99179..0000000000
--- a/testdata/baselines/reference/submodule/conformance/unionAndIntersectionInference3.js.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- old.unionAndIntersectionInference3.js
-+++ new.unionAndIntersectionInference3.js
-@@= skipped -96, +96 lines =@@
-
-
- //// [unionAndIntersectionInference3.js]
--// Repro from #30720
- concatMaybe([1, 2, 3], 4);
- // Repros from #32247
- const g = async (com) => {
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/unknownType1.js b/testdata/baselines/reference/submodule/conformance/unknownType1.js
index f6eb5781a4..92129a3789 100644
--- a/testdata/baselines/reference/submodule/conformance/unknownType1.js
+++ b/testdata/baselines/reference/submodule/conformance/unknownType1.js
@@ -186,6 +186,7 @@ function oops(arg: T): {} {
//// [unknownType1.js]
+// In an intersection everything absorbs unknown
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
diff --git a/testdata/baselines/reference/submodule/conformance/unknownType1.js.diff b/testdata/baselines/reference/submodule/conformance/unknownType1.js.diff
index 85b2f620b2..87fa9226c5 100644
--- a/testdata/baselines/reference/submodule/conformance/unknownType1.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/unknownType1.js.diff
@@ -5,11 +5,10 @@
//// [unknownType1.js]
-"use strict";
--// In an intersection everything absorbs unknown
+ // In an intersection everything absorbs unknown
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
-@@= skipped -109, +107 lines =@@
+@@= skipped -109, +108 lines =@@
}
// Class properties of type unknown don't need definite assignment
class C1 {
diff --git a/testdata/baselines/reference/submodule/conformance/variadicTuples1.js b/testdata/baselines/reference/submodule/conformance/variadicTuples1.js
index 27417dce6d..d3e78713b3 100644
--- a/testdata/baselines/reference/submodule/conformance/variadicTuples1.js
+++ b/testdata/baselines/reference/submodule/conformance/variadicTuples1.js
@@ -426,6 +426,7 @@ type AnyArr = [...any];
//// [variadicTuples1.js]
+// Variadics in tuple types
// Variadics in array literals
function tup2(t, u) {
return [1, ...t, 2, ...u, 3];
diff --git a/testdata/baselines/reference/submodule/conformance/variadicTuples1.js.diff b/testdata/baselines/reference/submodule/conformance/variadicTuples1.js.diff
index 99a67cafac..a4acd98f0a 100644
--- a/testdata/baselines/reference/submodule/conformance/variadicTuples1.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/variadicTuples1.js.diff
@@ -5,11 +5,10 @@
//// [variadicTuples1.js]
-"use strict";
--// Variadics in tuple types
+ // Variadics in tuple types
// Variadics in array literals
function tup2(t, u) {
- return [1, ...t, 2, ...u, 3];
-@@= skipped -354, +352 lines =@@
+@@= skipped -354, +353 lines =@@
y?: number;
z?: boolean;
}): void;
diff --git a/testdata/baselines/reference/submodule/conformance/variadicTuples2.js b/testdata/baselines/reference/submodule/conformance/variadicTuples2.js
index 68b3e84f44..b3ace75b0b 100644
--- a/testdata/baselines/reference/submodule/conformance/variadicTuples2.js
+++ b/testdata/baselines/reference/submodule/conformance/variadicTuples2.js
@@ -143,6 +143,7 @@ const e1 = foo('blah1', 'blah2', 1, 2, 3); // Error
//// [variadicTuples2.js]
+// Declarations
tt1 = [5];
tt1 = ['abc', 5];
tt1 = ['abc', 'def', 5];
diff --git a/testdata/baselines/reference/submodule/conformance/variadicTuples2.js.diff b/testdata/baselines/reference/submodule/conformance/variadicTuples2.js.diff
index a077dba45c..4f2124b983 100644
--- a/testdata/baselines/reference/submodule/conformance/variadicTuples2.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/variadicTuples2.js.diff
@@ -5,7 +5,6 @@
//// [variadicTuples2.js]
-"use strict";
--// Declarations
+ // Declarations
tt1 = [5];
- tt1 = ['abc', 5];
- tt1 = ['abc', 'def', 5];
\ No newline at end of file
+ tt1 = ['abc', 5];
\ No newline at end of file
diff --git a/testdata/baselines/reference/submodule/conformance/variance.js b/testdata/baselines/reference/submodule/conformance/variance.js
index 3052f3b10d..c44221eb43 100644
--- a/testdata/baselines/reference/submodule/conformance/variance.js
+++ b/testdata/baselines/reference/submodule/conformance/variance.js
@@ -29,6 +29,7 @@ class Bar {
//// [variance.js]
+// Test cases for parameter variances affected by conditional types.
const foo = { prop: true };
const x = foo;
const y = foo;
diff --git a/testdata/baselines/reference/submodule/conformance/variance.js.diff b/testdata/baselines/reference/submodule/conformance/variance.js.diff
index b0c7c3ee8e..f4e903784c 100644
--- a/testdata/baselines/reference/submodule/conformance/variance.js.diff
+++ b/testdata/baselines/reference/submodule/conformance/variance.js.diff
@@ -5,7 +5,7 @@
//// [variance.js]
-"use strict";
--// Test cases for parameter variances affected by conditional types.
+ // Test cases for parameter variances affected by conditional types.
const foo = { prop: true };
const x = foo;
const y = foo;