diff --git a/tests/baselines/reference/ES5For-ofTypeCheck11.errors.txt b/tests/baselines/reference/ES5For-ofTypeCheck11.errors.txt index 0c850f5ff5499..4ccd0dc727574 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck11.errors.txt +++ b/tests/baselines/reference/ES5For-ofTypeCheck11.errors.txt @@ -3,7 +3,7 @@ ES5For-ofTypeCheck11.ts(3,6): error TS2322: Type 'string | number' is not assign ==== ES5For-ofTypeCheck11.ts (1 errors) ==== - var union: string | number[]; + declare var union: string | number[]; var v: string; for (v of union) { } ~ diff --git a/tests/baselines/reference/ES5For-ofTypeCheck11.js b/tests/baselines/reference/ES5For-ofTypeCheck11.js index a601d2f658a11..3f1e87cd7050b 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck11.js +++ b/tests/baselines/reference/ES5For-ofTypeCheck11.js @@ -1,12 +1,11 @@ //// [tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck11.ts] //// //// [ES5For-ofTypeCheck11.ts] -var union: string | number[]; +declare var union: string | number[]; var v: string; for (v of union) { } //// [ES5For-ofTypeCheck11.js] -var union; var v; for (var _i = 0, union_1 = union; _i < union_1.length; _i++) { v = union_1[_i]; diff --git a/tests/baselines/reference/ES5For-ofTypeCheck11.symbols b/tests/baselines/reference/ES5For-ofTypeCheck11.symbols index 51a72d9f37362..cfdf8ac0287c6 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck11.symbols +++ b/tests/baselines/reference/ES5For-ofTypeCheck11.symbols @@ -1,13 +1,13 @@ //// [tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck11.ts] //// === ES5For-ofTypeCheck11.ts === -var union: string | number[]; ->union : Symbol(union, Decl(ES5For-ofTypeCheck11.ts, 0, 3)) +declare var union: string | number[]; +>union : Symbol(union, Decl(ES5For-ofTypeCheck11.ts, 0, 11)) var v: string; >v : Symbol(v, Decl(ES5For-ofTypeCheck11.ts, 1, 3)) for (v of union) { } >v : Symbol(v, Decl(ES5For-ofTypeCheck11.ts, 1, 3)) ->union : Symbol(union, Decl(ES5For-ofTypeCheck11.ts, 0, 3)) +>union : Symbol(union, Decl(ES5For-ofTypeCheck11.ts, 0, 11)) diff --git a/tests/baselines/reference/ES5For-ofTypeCheck11.types b/tests/baselines/reference/ES5For-ofTypeCheck11.types index 3c85a2698d2ee..f1551d5b1b1cd 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck11.types +++ b/tests/baselines/reference/ES5For-ofTypeCheck11.types @@ -1,7 +1,7 @@ //// [tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck11.ts] //// === ES5For-ofTypeCheck11.ts === -var union: string | number[]; +declare var union: string | number[]; >union : string | number[] > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/ES5For-ofTypeCheck14.errors.txt b/tests/baselines/reference/ES5For-ofTypeCheck14.errors.txt index 68d5353f1a606..71d2526927a70 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck14.errors.txt +++ b/tests/baselines/reference/ES5For-ofTypeCheck14.errors.txt @@ -2,7 +2,7 @@ ES5For-ofTypeCheck14.ts(2,17): error TS2802: Type 'Set' can only be iter ==== ES5For-ofTypeCheck14.ts (1 errors) ==== - var union: string | Set + declare var union: string | Set for (const e of union) { } ~~~~~ !!! error TS2802: Type 'Set' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher. \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-ofTypeCheck14.js b/tests/baselines/reference/ES5For-ofTypeCheck14.js index c97179f60e279..3dd6049bc315d 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck14.js +++ b/tests/baselines/reference/ES5For-ofTypeCheck14.js @@ -1,11 +1,10 @@ //// [tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck14.ts] //// //// [ES5For-ofTypeCheck14.ts] -var union: string | Set +declare var union: string | Set for (const e of union) { } //// [ES5For-ofTypeCheck14.js] -var union; for (var _i = 0, union_1 = union; _i < union_1.length; _i++) { var e = union_1[_i]; } diff --git a/tests/baselines/reference/ES5For-ofTypeCheck14.symbols b/tests/baselines/reference/ES5For-ofTypeCheck14.symbols index 49354157b12a0..d964cb61ed992 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck14.symbols +++ b/tests/baselines/reference/ES5For-ofTypeCheck14.symbols @@ -1,11 +1,11 @@ //// [tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck14.ts] //// === ES5For-ofTypeCheck14.ts === -var union: string | Set ->union : Symbol(union, Decl(ES5For-ofTypeCheck14.ts, 0, 3)) +declare var union: string | Set +>union : Symbol(union, Decl(ES5For-ofTypeCheck14.ts, 0, 11)) >Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) for (const e of union) { } >e : Symbol(e, Decl(ES5For-ofTypeCheck14.ts, 1, 10)) ->union : Symbol(union, Decl(ES5For-ofTypeCheck14.ts, 0, 3)) +>union : Symbol(union, Decl(ES5For-ofTypeCheck14.ts, 0, 11)) diff --git a/tests/baselines/reference/ES5For-ofTypeCheck14.types b/tests/baselines/reference/ES5For-ofTypeCheck14.types index ac54cd58fb4b2..63af9b654ca59 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck14.types +++ b/tests/baselines/reference/ES5For-ofTypeCheck14.types @@ -1,7 +1,7 @@ //// [tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck14.ts] //// === ES5For-ofTypeCheck14.ts === -var union: string | Set +declare var union: string | Set >union : string | Set > : ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/ES5For-ofTypeCheck7.errors.txt b/tests/baselines/reference/ES5For-ofTypeCheck7.errors.txt index 2b66cf9f1fedb..653f2be91661e 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck7.errors.txt +++ b/tests/baselines/reference/ES5For-ofTypeCheck7.errors.txt @@ -2,7 +2,7 @@ ES5For-ofTypeCheck7.ts(2,15): error TS2461: Type 'number' is not an array type. ==== ES5For-ofTypeCheck7.ts (1 errors) ==== - var union: string | number; + declare var union: string | number; for (var v of union) { } ~~~~~ !!! error TS2461: Type 'number' is not an array type. \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-ofTypeCheck7.js b/tests/baselines/reference/ES5For-ofTypeCheck7.js index 1fe4b50ebaeb7..517422a33ab57 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck7.js +++ b/tests/baselines/reference/ES5For-ofTypeCheck7.js @@ -1,11 +1,10 @@ //// [tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck7.ts] //// //// [ES5For-ofTypeCheck7.ts] -var union: string | number; +declare var union: string | number; for (var v of union) { } //// [ES5For-ofTypeCheck7.js] -var union; for (var _i = 0, union_1 = union; _i < union_1.length; _i++) { var v = union_1[_i]; } diff --git a/tests/baselines/reference/ES5For-ofTypeCheck7.symbols b/tests/baselines/reference/ES5For-ofTypeCheck7.symbols index f6af471545832..68dbdf6f50db5 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck7.symbols +++ b/tests/baselines/reference/ES5For-ofTypeCheck7.symbols @@ -1,10 +1,10 @@ //// [tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck7.ts] //// === ES5For-ofTypeCheck7.ts === -var union: string | number; ->union : Symbol(union, Decl(ES5For-ofTypeCheck7.ts, 0, 3)) +declare var union: string | number; +>union : Symbol(union, Decl(ES5For-ofTypeCheck7.ts, 0, 11)) for (var v of union) { } >v : Symbol(v, Decl(ES5For-ofTypeCheck7.ts, 1, 8)) ->union : Symbol(union, Decl(ES5For-ofTypeCheck7.ts, 0, 3)) +>union : Symbol(union, Decl(ES5For-ofTypeCheck7.ts, 0, 11)) diff --git a/tests/baselines/reference/ES5For-ofTypeCheck7.types b/tests/baselines/reference/ES5For-ofTypeCheck7.types index 7901b1d185637..2a004a90d60e6 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck7.types +++ b/tests/baselines/reference/ES5For-ofTypeCheck7.types @@ -1,7 +1,7 @@ //// [tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck7.ts] //// === ES5For-ofTypeCheck7.ts === -var union: string | number; +declare var union: string | number; >union : string | number > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/ES5For-ofTypeCheck8.errors.txt b/tests/baselines/reference/ES5For-ofTypeCheck8.errors.txt index 0ad1495cebc23..3f82df8f45f66 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck8.errors.txt +++ b/tests/baselines/reference/ES5For-ofTypeCheck8.errors.txt @@ -3,7 +3,7 @@ ES5For-ofTypeCheck8.ts(3,6): error TS2322: Type 'string | number | symbol' is no ==== ES5For-ofTypeCheck8.ts (1 errors) ==== - var union: string | string[]| number[]| symbol[]; + declare var union: string | string[]| number[]| symbol[]; var v: symbol; for (v of union) { } ~ diff --git a/tests/baselines/reference/ES5For-ofTypeCheck8.js b/tests/baselines/reference/ES5For-ofTypeCheck8.js index 6f126c036b4ca..04d929fbcb014 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck8.js +++ b/tests/baselines/reference/ES5For-ofTypeCheck8.js @@ -1,12 +1,11 @@ //// [tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck8.ts] //// //// [ES5For-ofTypeCheck8.ts] -var union: string | string[]| number[]| symbol[]; +declare var union: string | string[]| number[]| symbol[]; var v: symbol; for (v of union) { } //// [ES5For-ofTypeCheck8.js] -var union; var v; for (var _i = 0, union_1 = union; _i < union_1.length; _i++) { v = union_1[_i]; diff --git a/tests/baselines/reference/ES5For-ofTypeCheck8.symbols b/tests/baselines/reference/ES5For-ofTypeCheck8.symbols index a73daf86cf977..faf229923b679 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck8.symbols +++ b/tests/baselines/reference/ES5For-ofTypeCheck8.symbols @@ -1,13 +1,13 @@ //// [tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck8.ts] //// === ES5For-ofTypeCheck8.ts === -var union: string | string[]| number[]| symbol[]; ->union : Symbol(union, Decl(ES5For-ofTypeCheck8.ts, 0, 3)) +declare var union: string | string[]| number[]| symbol[]; +>union : Symbol(union, Decl(ES5For-ofTypeCheck8.ts, 0, 11)) var v: symbol; >v : Symbol(v, Decl(ES5For-ofTypeCheck8.ts, 1, 3)) for (v of union) { } >v : Symbol(v, Decl(ES5For-ofTypeCheck8.ts, 1, 3)) ->union : Symbol(union, Decl(ES5For-ofTypeCheck8.ts, 0, 3)) +>union : Symbol(union, Decl(ES5For-ofTypeCheck8.ts, 0, 11)) diff --git a/tests/baselines/reference/ES5For-ofTypeCheck8.types b/tests/baselines/reference/ES5For-ofTypeCheck8.types index cbf3aececc047..4616a6fe6bae9 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck8.types +++ b/tests/baselines/reference/ES5For-ofTypeCheck8.types @@ -1,7 +1,7 @@ //// [tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck8.ts] //// === ES5For-ofTypeCheck8.ts === -var union: string | string[]| number[]| symbol[]; +declare var union: string | string[]| number[]| symbol[]; >union : string | string[] | number[] | symbol[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/ES5For-ofTypeCheck9.errors.txt b/tests/baselines/reference/ES5For-ofTypeCheck9.errors.txt index 681af2013de23..47f971f9d6303 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck9.errors.txt +++ b/tests/baselines/reference/ES5For-ofTypeCheck9.errors.txt @@ -2,7 +2,7 @@ ES5For-ofTypeCheck9.ts(2,15): error TS2461: Type 'number | symbol | string[]' is ==== ES5For-ofTypeCheck9.ts (1 errors) ==== - var union: string | string[] | number | symbol; + declare var union: string | string[] | number | symbol; for (let v of union) { } ~~~~~ !!! error TS2461: Type 'number | symbol | string[]' is not an array type. \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-ofTypeCheck9.js b/tests/baselines/reference/ES5For-ofTypeCheck9.js index 00667fc24d45b..fc66bb2967db7 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck9.js +++ b/tests/baselines/reference/ES5For-ofTypeCheck9.js @@ -1,11 +1,10 @@ //// [tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck9.ts] //// //// [ES5For-ofTypeCheck9.ts] -var union: string | string[] | number | symbol; +declare var union: string | string[] | number | symbol; for (let v of union) { } //// [ES5For-ofTypeCheck9.js] -var union; for (var _i = 0, union_1 = union; _i < union_1.length; _i++) { var v = union_1[_i]; } diff --git a/tests/baselines/reference/ES5For-ofTypeCheck9.symbols b/tests/baselines/reference/ES5For-ofTypeCheck9.symbols index 8e157cb7c299d..8bcf34bf7682c 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck9.symbols +++ b/tests/baselines/reference/ES5For-ofTypeCheck9.symbols @@ -1,10 +1,10 @@ //// [tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck9.ts] //// === ES5For-ofTypeCheck9.ts === -var union: string | string[] | number | symbol; ->union : Symbol(union, Decl(ES5For-ofTypeCheck9.ts, 0, 3)) +declare var union: string | string[] | number | symbol; +>union : Symbol(union, Decl(ES5For-ofTypeCheck9.ts, 0, 11)) for (let v of union) { } >v : Symbol(v, Decl(ES5For-ofTypeCheck9.ts, 1, 8)) ->union : Symbol(union, Decl(ES5For-ofTypeCheck9.ts, 0, 3)) +>union : Symbol(union, Decl(ES5For-ofTypeCheck9.ts, 0, 11)) diff --git a/tests/baselines/reference/ES5For-ofTypeCheck9.types b/tests/baselines/reference/ES5For-ofTypeCheck9.types index 69e56c7665860..c0783320660cd 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck9.types +++ b/tests/baselines/reference/ES5For-ofTypeCheck9.types @@ -1,7 +1,7 @@ //// [tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck9.ts] //// === ES5For-ofTypeCheck9.ts === -var union: string | string[] | number | symbol; +declare var union: string | string[] | number | symbol; >union : string | number | symbol | string[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/ES5SymbolProperty5.errors.txt b/tests/baselines/reference/ES5SymbolProperty5.errors.txt index e53226f91bea4..962069c9d2a70 100644 --- a/tests/baselines/reference/ES5SymbolProperty5.errors.txt +++ b/tests/baselines/reference/ES5SymbolProperty5.errors.txt @@ -1,10 +1,10 @@ -ES5SymbolProperty5.ts(1,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'Symbol' must be of type 'SymbolConstructor', but here has type '{ iterator: symbol; }'. +ES5SymbolProperty5.ts(1,13): error TS2403: Subsequent variable declarations must have the same type. Variable 'Symbol' must be of type 'SymbolConstructor', but here has type '{ iterator: symbol; }'. ES5SymbolProperty5.ts(7,26): error TS2554: Expected 0 arguments, but got 1. ==== ES5SymbolProperty5.ts (2 errors) ==== - var Symbol: { iterator: symbol }; - ~~~~~~ + declare var Symbol: { iterator: symbol }; + ~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'Symbol' must be of type 'SymbolConstructor', but here has type '{ iterator: symbol; }'. !!! related TS6203 lib.es2015.symbol.d.ts:--:--: 'Symbol' was also declared here. diff --git a/tests/baselines/reference/ES5SymbolProperty5.js b/tests/baselines/reference/ES5SymbolProperty5.js index b7d21bec4a0a4..45ff6b9e56199 100644 --- a/tests/baselines/reference/ES5SymbolProperty5.js +++ b/tests/baselines/reference/ES5SymbolProperty5.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/Symbols/ES5SymbolProperty5.ts] //// //// [ES5SymbolProperty5.ts] -var Symbol: { iterator: symbol }; +declare var Symbol: { iterator: symbol }; class C { [Symbol.iterator]() { } @@ -10,7 +10,6 @@ class C { (new C)[Symbol.iterator](0) // Should error //// [ES5SymbolProperty5.js] -var Symbol; var C = /** @class */ (function () { function C() { } diff --git a/tests/baselines/reference/ES5SymbolProperty5.symbols b/tests/baselines/reference/ES5SymbolProperty5.symbols index 40ca8431fe20f..c0b016b14b44f 100644 --- a/tests/baselines/reference/ES5SymbolProperty5.symbols +++ b/tests/baselines/reference/ES5SymbolProperty5.symbols @@ -1,23 +1,23 @@ //// [tests/cases/conformance/Symbols/ES5SymbolProperty5.ts] //// === ES5SymbolProperty5.ts === -var Symbol: { iterator: symbol }; ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(ES5SymbolProperty5.ts, 0, 3)) ->iterator : Symbol(iterator, Decl(ES5SymbolProperty5.ts, 0, 13)) +declare var Symbol: { iterator: symbol }; +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(ES5SymbolProperty5.ts, 0, 11)) +>iterator : Symbol(iterator, Decl(ES5SymbolProperty5.ts, 0, 21)) class C { ->C : Symbol(C, Decl(ES5SymbolProperty5.ts, 0, 33)) +>C : Symbol(C, Decl(ES5SymbolProperty5.ts, 0, 41)) [Symbol.iterator]() { } >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(ES5SymbolProperty5.ts, 2, 9)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(ES5SymbolProperty5.ts, 0, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(ES5SymbolProperty5.ts, 0, 11)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) } (new C)[Symbol.iterator](0) // Should error ->C : Symbol(C, Decl(ES5SymbolProperty5.ts, 0, 33)) +>C : Symbol(C, Decl(ES5SymbolProperty5.ts, 0, 41)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(ES5SymbolProperty5.ts, 0, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(ES5SymbolProperty5.ts, 0, 11)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) diff --git a/tests/baselines/reference/ES5SymbolProperty5.types b/tests/baselines/reference/ES5SymbolProperty5.types index 719789d894772..72bd530e52e21 100644 --- a/tests/baselines/reference/ES5SymbolProperty5.types +++ b/tests/baselines/reference/ES5SymbolProperty5.types @@ -1,7 +1,7 @@ //// [tests/cases/conformance/Symbols/ES5SymbolProperty5.ts] //// === ES5SymbolProperty5.ts === -var Symbol: { iterator: symbol }; +declare var Symbol: { iterator: symbol }; >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >iterator : symbol diff --git a/tests/baselines/reference/additionOperatorWithInvalidOperands.errors.txt b/tests/baselines/reference/additionOperatorWithInvalidOperands.errors.txt index 6051993f2e260..c1c3c7da2cde8 100644 --- a/tests/baselines/reference/additionOperatorWithInvalidOperands.errors.txt +++ b/tests/baselines/reference/additionOperatorWithInvalidOperands.errors.txt @@ -28,10 +28,10 @@ additionOperatorWithInvalidOperands.ts(40,11): error TS2365: Operator '+' cannot enum E { a, b, c } namespace M { export var a } - var a: boolean; - var b: number; - var c: Object; - var d: Number; + declare var a: boolean; + declare var b: number; + declare var c: Object; + declare var d: Number; // boolean + every type except any and string var r1 = a + a; diff --git a/tests/baselines/reference/additionOperatorWithInvalidOperands.js b/tests/baselines/reference/additionOperatorWithInvalidOperands.js index 1093452897cef..d42f381dfd70c 100644 --- a/tests/baselines/reference/additionOperatorWithInvalidOperands.js +++ b/tests/baselines/reference/additionOperatorWithInvalidOperands.js @@ -9,10 +9,10 @@ class C { enum E { a, b, c } namespace M { export var a } -var a: boolean; -var b: number; -var c: Object; -var d: Number; +declare var a: boolean; +declare var b: number; +declare var c: Object; +declare var d: Number; // boolean + every type except any and string var r1 = a + a; @@ -59,10 +59,6 @@ var E; var M; (function (M) { })(M || (M = {})); -var a; -var b; -var c; -var d; // boolean + every type except any and string var r1 = a + a; var r2 = a + b; diff --git a/tests/baselines/reference/additionOperatorWithInvalidOperands.symbols b/tests/baselines/reference/additionOperatorWithInvalidOperands.symbols index 697ea7cc0bbe5..4dc696b6f9247 100644 --- a/tests/baselines/reference/additionOperatorWithInvalidOperands.symbols +++ b/tests/baselines/reference/additionOperatorWithInvalidOperands.symbols @@ -23,72 +23,72 @@ namespace M { export var a } >M : Symbol(M, Decl(additionOperatorWithInvalidOperands.ts, 5, 18)) >a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 6, 24)) -var a: boolean; ->a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 3)) +declare var a: boolean; +>a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 11)) -var b: number; ->b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 3)) +declare var b: number; +>b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 11)) -var c: Object; ->c : Symbol(c, Decl(additionOperatorWithInvalidOperands.ts, 10, 3)) +declare var c: Object; +>c : Symbol(c, Decl(additionOperatorWithInvalidOperands.ts, 10, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) -var d: Number; ->d : Symbol(d, Decl(additionOperatorWithInvalidOperands.ts, 11, 3)) +declare var d: Number; +>d : Symbol(d, Decl(additionOperatorWithInvalidOperands.ts, 11, 11)) >Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // boolean + every type except any and string var r1 = a + a; >r1 : Symbol(r1, Decl(additionOperatorWithInvalidOperands.ts, 14, 3)) ->a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 11)) +>a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 11)) var r2 = a + b; >r2 : Symbol(r2, Decl(additionOperatorWithInvalidOperands.ts, 15, 3)) ->a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 3)) ->b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 3)) +>a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 11)) +>b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 11)) var r3 = a + c; >r3 : Symbol(r3, Decl(additionOperatorWithInvalidOperands.ts, 16, 3)) ->a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 3)) ->c : Symbol(c, Decl(additionOperatorWithInvalidOperands.ts, 10, 3)) +>a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 11)) +>c : Symbol(c, Decl(additionOperatorWithInvalidOperands.ts, 10, 11)) // number + every type except any and string var r4 = b + a; >r4 : Symbol(r4, Decl(additionOperatorWithInvalidOperands.ts, 19, 3)) ->b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 3)) ->a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 3)) +>b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 11)) +>a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 11)) var r5 = b + b; // number + number is valid >r5 : Symbol(r5, Decl(additionOperatorWithInvalidOperands.ts, 20, 3)) ->b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 3)) ->b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 11)) +>b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 11)) var r6 = b + c; >r6 : Symbol(r6, Decl(additionOperatorWithInvalidOperands.ts, 21, 3)) ->b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 3)) ->c : Symbol(c, Decl(additionOperatorWithInvalidOperands.ts, 10, 3)) +>b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 11)) +>c : Symbol(c, Decl(additionOperatorWithInvalidOperands.ts, 10, 11)) // object + every type except any and string var r7 = c + a; >r7 : Symbol(r7, Decl(additionOperatorWithInvalidOperands.ts, 24, 3)) ->c : Symbol(c, Decl(additionOperatorWithInvalidOperands.ts, 10, 3)) ->a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 3)) +>c : Symbol(c, Decl(additionOperatorWithInvalidOperands.ts, 10, 11)) +>a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 11)) var r8 = c + b; >r8 : Symbol(r8, Decl(additionOperatorWithInvalidOperands.ts, 25, 3)) ->c : Symbol(c, Decl(additionOperatorWithInvalidOperands.ts, 10, 3)) ->b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 3)) +>c : Symbol(c, Decl(additionOperatorWithInvalidOperands.ts, 10, 11)) +>b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 11)) var r9 = c + c; >r9 : Symbol(r9, Decl(additionOperatorWithInvalidOperands.ts, 26, 3)) ->c : Symbol(c, Decl(additionOperatorWithInvalidOperands.ts, 10, 3)) ->c : Symbol(c, Decl(additionOperatorWithInvalidOperands.ts, 10, 3)) +>c : Symbol(c, Decl(additionOperatorWithInvalidOperands.ts, 10, 11)) +>c : Symbol(c, Decl(additionOperatorWithInvalidOperands.ts, 10, 11)) // other cases var r10 = a + true; >r10 : Symbol(r10, Decl(additionOperatorWithInvalidOperands.ts, 29, 3)) ->a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(additionOperatorWithInvalidOperands.ts, 8, 11)) var r11 = true + false; >r11 : Symbol(r11, Decl(additionOperatorWithInvalidOperands.ts, 30, 3)) @@ -101,22 +101,22 @@ var r13 = {} + {}; var r14 = b + d; >r14 : Symbol(r14, Decl(additionOperatorWithInvalidOperands.ts, 33, 3)) ->b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 3)) ->d : Symbol(d, Decl(additionOperatorWithInvalidOperands.ts, 11, 3)) +>b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 11)) +>d : Symbol(d, Decl(additionOperatorWithInvalidOperands.ts, 11, 11)) var r15 = b + foo; >r15 : Symbol(r15, Decl(additionOperatorWithInvalidOperands.ts, 34, 3)) ->b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 11)) >foo : Symbol(foo, Decl(additionOperatorWithInvalidOperands.ts, 0, 0)) var r16 = b + foo(); >r16 : Symbol(r16, Decl(additionOperatorWithInvalidOperands.ts, 35, 3)) ->b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 11)) >foo : Symbol(foo, Decl(additionOperatorWithInvalidOperands.ts, 0, 0)) var r17 = b + C; >r17 : Symbol(r17, Decl(additionOperatorWithInvalidOperands.ts, 36, 3)) ->b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(additionOperatorWithInvalidOperands.ts, 9, 11)) >C : Symbol(C, Decl(additionOperatorWithInvalidOperands.ts, 0, 18)) var r18 = E.a + new C(); diff --git a/tests/baselines/reference/additionOperatorWithInvalidOperands.types b/tests/baselines/reference/additionOperatorWithInvalidOperands.types index f49e6f2b06b3d..9ed3272bad699 100644 --- a/tests/baselines/reference/additionOperatorWithInvalidOperands.types +++ b/tests/baselines/reference/additionOperatorWithInvalidOperands.types @@ -33,19 +33,19 @@ namespace M { export var a } >a : any > : ^^^ -var a: boolean; +declare var a: boolean; >a : boolean > : ^^^^^^^ -var b: number; +declare var b: number; >b : number > : ^^^^^^ -var c: Object; +declare var c: Object; >c : Object > : ^^^^^^ -var d: Number; +declare var d: Number; >d : Number > : ^^^^^^ diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.errors.txt b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.errors.txt index 0a51361b10848..30c26aace1a40 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.errors.txt +++ b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.errors.txt @@ -16,10 +16,10 @@ additionOperatorWithNullValueAndInvalidOperator.ts(23,11): error TS2365: Operato function foo(): void { return undefined } - var a: boolean; - var b: Object; - var c: void; - var d: Number; + declare var a: boolean; + declare var b: Object; + declare var c: void; + declare var d: Number; // null + boolean/Object var r1 = null + a; diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.js b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.js index 8388dbebb3955..6a38d10bd00aa 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.js +++ b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.js @@ -5,10 +5,10 @@ function foo(): void { return undefined } -var a: boolean; -var b: Object; -var c: void; -var d: Number; +declare var a: boolean; +declare var b: Object; +declare var c: void; +declare var d: Number; // null + boolean/Object var r1 = null + a; @@ -28,10 +28,6 @@ var r11 = null + (() => { }); //// [additionOperatorWithNullValueAndInvalidOperator.js] // If one operand is the null or undefined value, it is treated as having the type of the other operand. function foo() { return undefined; } -var a; -var b; -var c; -var d; // null + boolean/Object var r1 = null + a; var r2 = null + b; diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.symbols b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.symbols index 4e0844055bb5e..405bbe72a0b2d 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.symbols +++ b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.symbols @@ -7,49 +7,49 @@ function foo(): void { return undefined } >foo : Symbol(foo, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 0, 0)) >undefined : Symbol(undefined) -var a: boolean; ->a : Symbol(a, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 4, 3)) +declare var a: boolean; +>a : Symbol(a, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 4, 11)) -var b: Object; ->b : Symbol(b, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 5, 3)) +declare var b: Object; +>b : Symbol(b, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 5, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) -var c: void; ->c : Symbol(c, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 6, 3)) +declare var c: void; +>c : Symbol(c, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 6, 11)) -var d: Number; ->d : Symbol(d, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 7, 3)) +declare var d: Number; +>d : Symbol(d, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 7, 11)) >Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // null + boolean/Object var r1 = null + a; >r1 : Symbol(r1, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 10, 3)) ->a : Symbol(a, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 4, 3)) +>a : Symbol(a, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 4, 11)) var r2 = null + b; >r2 : Symbol(r2, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 11, 3)) ->b : Symbol(b, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 5, 3)) +>b : Symbol(b, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 5, 11)) var r3 = null + c; >r3 : Symbol(r3, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 12, 3)) ->c : Symbol(c, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 6, 3)) +>c : Symbol(c, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 6, 11)) var r4 = a + null; >r4 : Symbol(r4, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 13, 3)) ->a : Symbol(a, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 4, 3)) +>a : Symbol(a, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 4, 11)) var r5 = b + null; >r5 : Symbol(r5, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 14, 3)) ->b : Symbol(b, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 5, 3)) +>b : Symbol(b, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 5, 11)) var r6 = null + c; >r6 : Symbol(r6, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 15, 3)) ->c : Symbol(c, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 6, 3)) +>c : Symbol(c, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 6, 11)) // other cases var r7 = null + d; >r7 : Symbol(r7, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 18, 3)) ->d : Symbol(d, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 7, 3)) +>d : Symbol(d, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 7, 11)) var r8 = null + true; >r8 : Symbol(r8, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 19, 3)) diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types index ee664f35f3f92..cb4b2660b74a3 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types +++ b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types @@ -9,19 +9,19 @@ function foo(): void { return undefined } >undefined : undefined > : ^^^^^^^^^ -var a: boolean; +declare var a: boolean; >a : boolean > : ^^^^^^^ -var b: Object; +declare var b: Object; >b : Object > : ^^^^^^ -var c: void; +declare var c: void; >c : void > : ^^^^ -var d: Number; +declare var d: Number; >d : Number > : ^^^^^^ diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.errors.txt b/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.errors.txt index eb13ff16ed092..a046d0f0b0f8f 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.errors.txt +++ b/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.errors.txt @@ -15,10 +15,10 @@ additionOperatorWithNullValueAndValidOperator.ts(24,11): error TS2365: Operator enum E { a, b, c } - var a: any; - var b: number; - var c: E; - var d: string; + declare var a: any; + declare var b: number; + declare var c: E; + declare var d: string; // null + any var r1: any = null + a; diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.js b/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.js index 460b5eb5fc358..0c9c6750982ed 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.js +++ b/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.js @@ -5,10 +5,10 @@ enum E { a, b, c } -var a: any; -var b: number; -var c: E; -var d: string; +declare var a: any; +declare var b: number; +declare var c: E; +declare var d: string; // null + any var r1: any = null + a; @@ -40,10 +40,6 @@ var E; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; })(E || (E = {})); -var a; -var b; -var c; -var d; // null + any var r1 = null + a; var r2 = a + null; diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.symbols b/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.symbols index 416e99c767155..d539264fd1743 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.symbols +++ b/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.symbols @@ -9,39 +9,39 @@ enum E { a, b, c } >b : Symbol(E.b, Decl(additionOperatorWithNullValueAndValidOperator.ts, 2, 11)) >c : Symbol(E.c, Decl(additionOperatorWithNullValueAndValidOperator.ts, 2, 14)) -var a: any; ->a : Symbol(a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 4, 3)) +declare var a: any; +>a : Symbol(a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 4, 11)) -var b: number; ->b : Symbol(b, Decl(additionOperatorWithNullValueAndValidOperator.ts, 5, 3)) +declare var b: number; +>b : Symbol(b, Decl(additionOperatorWithNullValueAndValidOperator.ts, 5, 11)) -var c: E; ->c : Symbol(c, Decl(additionOperatorWithNullValueAndValidOperator.ts, 6, 3)) +declare var c: E; +>c : Symbol(c, Decl(additionOperatorWithNullValueAndValidOperator.ts, 6, 11)) >E : Symbol(E, Decl(additionOperatorWithNullValueAndValidOperator.ts, 0, 0)) -var d: string; ->d : Symbol(d, Decl(additionOperatorWithNullValueAndValidOperator.ts, 7, 3)) +declare var d: string; +>d : Symbol(d, Decl(additionOperatorWithNullValueAndValidOperator.ts, 7, 11)) // null + any var r1: any = null + a; >r1 : Symbol(r1, Decl(additionOperatorWithNullValueAndValidOperator.ts, 10, 3)) ->a : Symbol(a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 4, 3)) +>a : Symbol(a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 4, 11)) var r2: any = a + null; >r2 : Symbol(r2, Decl(additionOperatorWithNullValueAndValidOperator.ts, 11, 3)) ->a : Symbol(a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 4, 3)) +>a : Symbol(a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 4, 11)) // null + number/enum var r3 = null + b; >r3 : Symbol(r3, Decl(additionOperatorWithNullValueAndValidOperator.ts, 14, 3)) ->b : Symbol(b, Decl(additionOperatorWithNullValueAndValidOperator.ts, 5, 3)) +>b : Symbol(b, Decl(additionOperatorWithNullValueAndValidOperator.ts, 5, 11)) var r4 = null + 1; >r4 : Symbol(r4, Decl(additionOperatorWithNullValueAndValidOperator.ts, 15, 3)) var r5 = null + c; >r5 : Symbol(r5, Decl(additionOperatorWithNullValueAndValidOperator.ts, 16, 3)) ->c : Symbol(c, Decl(additionOperatorWithNullValueAndValidOperator.ts, 6, 3)) +>c : Symbol(c, Decl(additionOperatorWithNullValueAndValidOperator.ts, 6, 11)) var r6 = null + E.a; >r6 : Symbol(r6, Decl(additionOperatorWithNullValueAndValidOperator.ts, 17, 3)) @@ -56,14 +56,14 @@ var r7 = null + E['a']; var r8 = b + null; >r8 : Symbol(r8, Decl(additionOperatorWithNullValueAndValidOperator.ts, 19, 3)) ->b : Symbol(b, Decl(additionOperatorWithNullValueAndValidOperator.ts, 5, 3)) +>b : Symbol(b, Decl(additionOperatorWithNullValueAndValidOperator.ts, 5, 11)) var r9 = 1 + null; >r9 : Symbol(r9, Decl(additionOperatorWithNullValueAndValidOperator.ts, 20, 3)) var r10 = c + null >r10 : Symbol(r10, Decl(additionOperatorWithNullValueAndValidOperator.ts, 21, 3)) ->c : Symbol(c, Decl(additionOperatorWithNullValueAndValidOperator.ts, 6, 3)) +>c : Symbol(c, Decl(additionOperatorWithNullValueAndValidOperator.ts, 6, 11)) var r11 = E.a + null; >r11 : Symbol(r11, Decl(additionOperatorWithNullValueAndValidOperator.ts, 22, 3)) @@ -79,14 +79,14 @@ var r12 = E['a'] + null; // null + string var r13 = null + d; >r13 : Symbol(r13, Decl(additionOperatorWithNullValueAndValidOperator.ts, 26, 3)) ->d : Symbol(d, Decl(additionOperatorWithNullValueAndValidOperator.ts, 7, 3)) +>d : Symbol(d, Decl(additionOperatorWithNullValueAndValidOperator.ts, 7, 11)) var r14 = null + ''; >r14 : Symbol(r14, Decl(additionOperatorWithNullValueAndValidOperator.ts, 27, 3)) var r15 = d + null; >r15 : Symbol(r15, Decl(additionOperatorWithNullValueAndValidOperator.ts, 28, 3)) ->d : Symbol(d, Decl(additionOperatorWithNullValueAndValidOperator.ts, 7, 3)) +>d : Symbol(d, Decl(additionOperatorWithNullValueAndValidOperator.ts, 7, 11)) var r16 = '' + null; >r16 : Symbol(r16, Decl(additionOperatorWithNullValueAndValidOperator.ts, 29, 3)) diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types b/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types index b2e3a1b34d6a4..59be50dfa81fb 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types +++ b/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types @@ -13,19 +13,19 @@ enum E { a, b, c } >c : E.c > : ^^^ -var a: any; +declare var a: any; >a : any > : ^^^ -var b: number; +declare var b: number; >b : number > : ^^^^^^ -var c: E; +declare var c: E; >c : E > : ^ -var d: string; +declare var d: string; >d : string > : ^^^^^^ diff --git a/tests/baselines/reference/additionOperatorWithTypeParameter.errors.txt b/tests/baselines/reference/additionOperatorWithTypeParameter.errors.txt index 42e6850300c75..6bf776b120d4b 100644 --- a/tests/baselines/reference/additionOperatorWithTypeParameter.errors.txt +++ b/tests/baselines/reference/additionOperatorWithTypeParameter.errors.txt @@ -21,13 +21,13 @@ additionOperatorWithTypeParameter.ts(37,15): error TS2365: Operator '+' cannot b enum E { a, b } function foo(t: T, u: U) { - var a: any; - var b: boolean; - var c: number; - var d: string; - var e: Object; - var g: E; - var f: void; + let a!: any; + let b!: boolean; + let c!: number; + let d!: string; + let e!: Object; + let g!: E; + let f!: void; // type parameter as left operand var r1: any = t + a; // ok, one operand is any diff --git a/tests/baselines/reference/additionOperatorWithTypeParameter.js b/tests/baselines/reference/additionOperatorWithTypeParameter.js index 7f321c748aeb0..aaf8c9d72d9b2 100644 --- a/tests/baselines/reference/additionOperatorWithTypeParameter.js +++ b/tests/baselines/reference/additionOperatorWithTypeParameter.js @@ -5,13 +5,13 @@ enum E { a, b } function foo(t: T, u: U) { - var a: any; - var b: boolean; - var c: number; - var d: string; - var e: Object; - var g: E; - var f: void; + let a!: any; + let b!: boolean; + let c!: number; + let d!: string; + let e!: Object; + let g!: E; + let f!: void; // type parameter as left operand var r1: any = t + a; // ok, one operand is any diff --git a/tests/baselines/reference/additionOperatorWithTypeParameter.symbols b/tests/baselines/reference/additionOperatorWithTypeParameter.symbols index 4b765c129d755..70ed83db31ebc 100644 --- a/tests/baselines/reference/additionOperatorWithTypeParameter.symbols +++ b/tests/baselines/reference/additionOperatorWithTypeParameter.symbols @@ -16,27 +16,27 @@ function foo(t: T, u: U) { >u : Symbol(u, Decl(additionOperatorWithTypeParameter.ts, 3, 24)) >U : Symbol(U, Decl(additionOperatorWithTypeParameter.ts, 3, 15)) - var a: any; + let a!: any; >a : Symbol(a, Decl(additionOperatorWithTypeParameter.ts, 4, 7)) - var b: boolean; + let b!: boolean; >b : Symbol(b, Decl(additionOperatorWithTypeParameter.ts, 5, 7)) - var c: number; + let c!: number; >c : Symbol(c, Decl(additionOperatorWithTypeParameter.ts, 6, 7)) - var d: string; + let d!: string; >d : Symbol(d, Decl(additionOperatorWithTypeParameter.ts, 7, 7)) - var e: Object; + let e!: Object; >e : Symbol(e, Decl(additionOperatorWithTypeParameter.ts, 8, 7)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) - var g: E; + let g!: E; >g : Symbol(g, Decl(additionOperatorWithTypeParameter.ts, 9, 7)) >E : Symbol(E, Decl(additionOperatorWithTypeParameter.ts, 0, 0)) - var f: void; + let f!: void; >f : Symbol(f, Decl(additionOperatorWithTypeParameter.ts, 10, 7)) // type parameter as left operand diff --git a/tests/baselines/reference/additionOperatorWithTypeParameter.types b/tests/baselines/reference/additionOperatorWithTypeParameter.types index 5291fc2fe0e57..200f1ebab23a1 100644 --- a/tests/baselines/reference/additionOperatorWithTypeParameter.types +++ b/tests/baselines/reference/additionOperatorWithTypeParameter.types @@ -18,31 +18,31 @@ function foo(t: T, u: U) { >u : U > : ^ - var a: any; + let a!: any; >a : any > : ^^^ - var b: boolean; + let b!: boolean; >b : boolean > : ^^^^^^^ - var c: number; + let c!: number; >c : number > : ^^^^^^ - var d: string; + let d!: string; >d : string > : ^^^^^^ - var e: Object; + let e!: Object; >e : Object > : ^^^^^^ - var g: E; + let g!: E; >g : E > : ^ - var f: void; + let f!: void; >f : void > : ^^^^ diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.errors.txt b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.errors.txt index 7546a67f9f332..1c50937aad0a7 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.errors.txt +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.errors.txt @@ -16,10 +16,10 @@ additionOperatorWithUndefinedValueAndInvalidOperands.ts(23,11): error TS2365: Op function foo(): void { return undefined } - var a: boolean; - var b: Object; - var c: void; - var d: Number; + declare var a: boolean; + declare var b: Object; + declare var c: void; + declare var d: Number; // undefined + boolean/Object var r1 = undefined + a; diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.js b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.js index 755ddc7bc18e3..c4d1cafd628d3 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.js +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.js @@ -5,10 +5,10 @@ function foo(): void { return undefined } -var a: boolean; -var b: Object; -var c: void; -var d: Number; +declare var a: boolean; +declare var b: Object; +declare var c: void; +declare var d: Number; // undefined + boolean/Object var r1 = undefined + a; @@ -28,10 +28,6 @@ var r11 = undefined + (() => { }); //// [additionOperatorWithUndefinedValueAndInvalidOperands.js] // If one operand is the null or undefined value, it is treated as having the type of the other operand. function foo() { return undefined; } -var a; -var b; -var c; -var d; // undefined + boolean/Object var r1 = undefined + a; var r2 = undefined + b; diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.symbols b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.symbols index 0ea20fccc4a65..b6fc78b177ea4 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.symbols +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.symbols @@ -7,56 +7,56 @@ function foo(): void { return undefined } >foo : Symbol(foo, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 0, 0)) >undefined : Symbol(undefined) -var a: boolean; ->a : Symbol(a, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +declare var a: boolean; +>a : Symbol(a, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) -var b: Object; ->b : Symbol(b, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +declare var b: Object; +>b : Symbol(b, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) -var c: void; ->c : Symbol(c, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 6, 3)) +declare var c: void; +>c : Symbol(c, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 6, 11)) -var d: Number; ->d : Symbol(d, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 7, 3)) +declare var d: Number; +>d : Symbol(d, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 7, 11)) >Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // undefined + boolean/Object var r1 = undefined + a; >r1 : Symbol(r1, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 10, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) var r2 = undefined + b; >r2 : Symbol(r2, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 11, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) var r3 = undefined + c; >r3 : Symbol(r3, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 12, 3)) >undefined : Symbol(undefined) ->c : Symbol(c, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 6, 11)) var r4 = a + undefined; >r4 : Symbol(r4, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 13, 3)) ->a : Symbol(a, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) >undefined : Symbol(undefined) var r5 = b + undefined; >r5 : Symbol(r5, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 14, 3)) ->b : Symbol(b, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) >undefined : Symbol(undefined) var r6 = undefined + c; >r6 : Symbol(r6, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 15, 3)) >undefined : Symbol(undefined) ->c : Symbol(c, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 6, 11)) // other cases var r7 = undefined + d; >r7 : Symbol(r7, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 18, 3)) >undefined : Symbol(undefined) ->d : Symbol(d, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 7, 11)) var r8 = undefined + true; >r8 : Symbol(r8, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 19, 3)) diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types index d9bf840aa0695..39fc32e765ba8 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types @@ -9,19 +9,19 @@ function foo(): void { return undefined } >undefined : undefined > : ^^^^^^^^^ -var a: boolean; +declare var a: boolean; >a : boolean > : ^^^^^^^ -var b: Object; +declare var b: Object; >b : Object > : ^^^^^^ -var c: void; +declare var c: void; >c : void > : ^^^^ -var d: Number; +declare var d: Number; >d : Number > : ^^^^^^ diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.errors.txt b/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.errors.txt index 36a4ce620cb5a..bf1f4cd3e4fd3 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.errors.txt +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.errors.txt @@ -15,10 +15,10 @@ additionOperatorWithUndefinedValueAndValidOperator.ts(24,11): error TS2365: Oper enum E { a, b, c } - var a: any; - var b: number; - var c: E; - var d: string; + declare var a: any; + declare var b: number; + declare var c: E; + declare var d: string; // undefined + any var r1: any = undefined + a; diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.js b/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.js index bff58795e7683..f80fb1253c3f4 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.js +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.js @@ -5,10 +5,10 @@ enum E { a, b, c } -var a: any; -var b: number; -var c: E; -var d: string; +declare var a: any; +declare var b: number; +declare var c: E; +declare var d: string; // undefined + any var r1: any = undefined + a; @@ -40,10 +40,6 @@ var E; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; })(E || (E = {})); -var a; -var b; -var c; -var d; // undefined + any var r1 = undefined + a; var r2 = a + undefined; diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.symbols b/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.symbols index a45dfe9f559b6..55cd1d2e95ace 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.symbols +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.symbols @@ -9,35 +9,35 @@ enum E { a, b, c } >b : Symbol(E.b, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 2, 11)) >c : Symbol(E.c, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 2, 14)) -var a: any; ->a : Symbol(a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 4, 3)) +declare var a: any; +>a : Symbol(a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 4, 11)) -var b: number; ->b : Symbol(b, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 5, 3)) +declare var b: number; +>b : Symbol(b, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 5, 11)) -var c: E; ->c : Symbol(c, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 6, 3)) +declare var c: E; +>c : Symbol(c, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 6, 11)) >E : Symbol(E, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 0, 0)) -var d: string; ->d : Symbol(d, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 7, 3)) +declare var d: string; +>d : Symbol(d, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 7, 11)) // undefined + any var r1: any = undefined + a; >r1 : Symbol(r1, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 10, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 4, 3)) +>a : Symbol(a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 4, 11)) var r2: any = a + undefined; >r2 : Symbol(r2, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 11, 3)) ->a : Symbol(a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 4, 3)) +>a : Symbol(a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 4, 11)) >undefined : Symbol(undefined) // undefined + number/enum var r3 = undefined + b; >r3 : Symbol(r3, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 14, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 5, 3)) +>b : Symbol(b, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 5, 11)) var r4 = undefined + 1; >r4 : Symbol(r4, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 15, 3)) @@ -46,7 +46,7 @@ var r4 = undefined + 1; var r5 = undefined + c; >r5 : Symbol(r5, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 16, 3)) >undefined : Symbol(undefined) ->c : Symbol(c, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 6, 3)) +>c : Symbol(c, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 6, 11)) var r6 = undefined + E.a; >r6 : Symbol(r6, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 17, 3)) @@ -63,7 +63,7 @@ var r7 = undefined + E['a']; var r8 = b + undefined; >r8 : Symbol(r8, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 19, 3)) ->b : Symbol(b, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 5, 3)) +>b : Symbol(b, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 5, 11)) >undefined : Symbol(undefined) var r9 = 1 + undefined; @@ -72,7 +72,7 @@ var r9 = 1 + undefined; var r10 = c + undefined >r10 : Symbol(r10, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 21, 3)) ->c : Symbol(c, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 6, 3)) +>c : Symbol(c, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 6, 11)) >undefined : Symbol(undefined) var r11 = E.a + undefined; @@ -92,7 +92,7 @@ var r12 = E['a'] + undefined; var r13 = undefined + d; >r13 : Symbol(r13, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 26, 3)) >undefined : Symbol(undefined) ->d : Symbol(d, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 7, 3)) +>d : Symbol(d, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 7, 11)) var r14 = undefined + ''; >r14 : Symbol(r14, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 27, 3)) @@ -100,7 +100,7 @@ var r14 = undefined + ''; var r15 = d + undefined; >r15 : Symbol(r15, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 28, 3)) ->d : Symbol(d, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 7, 3)) +>d : Symbol(d, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 7, 11)) >undefined : Symbol(undefined) var r16 = '' + undefined; diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types b/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types index 5f36bcdc37951..3c87e85c3bded 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types @@ -13,19 +13,19 @@ enum E { a, b, c } >c : E.c > : ^^^ -var a: any; +declare var a: any; >a : any > : ^^^ -var b: number; +declare var b: number; >b : number > : ^^^^^^ -var c: E; +declare var c: E; >c : E > : ^ -var d: string; +declare var d: string; >d : string > : ^^^^^^ diff --git a/tests/baselines/reference/aliasOnMergedModuleInterface.errors.txt b/tests/baselines/reference/aliasOnMergedModuleInterface.errors.txt index 327faccff8a54..cd328111bba70 100644 --- a/tests/baselines/reference/aliasOnMergedModuleInterface.errors.txt +++ b/tests/baselines/reference/aliasOnMergedModuleInterface.errors.txt @@ -4,7 +4,7 @@ aliasOnMergedModuleInterface_1.ts(5,16): error TS2708: Cannot use namespace 'foo ==== aliasOnMergedModuleInterface_1.ts (1 errors) ==== /// import foo = require("foo") - var z: foo; + declare var z: foo; z.bar("hello"); // This should be ok var x: foo.A = foo.bar("hello"); // foo.A should be ok but foo.bar should be error ~~~ diff --git a/tests/baselines/reference/aliasOnMergedModuleInterface.js b/tests/baselines/reference/aliasOnMergedModuleInterface.js index e7cac961b653a..3d032add8eb62 100644 --- a/tests/baselines/reference/aliasOnMergedModuleInterface.js +++ b/tests/baselines/reference/aliasOnMergedModuleInterface.js @@ -16,7 +16,7 @@ declare module "foo" //// [aliasOnMergedModuleInterface_1.ts] /// import foo = require("foo") -var z: foo; +declare var z: foo; z.bar("hello"); // This should be ok var x: foo.A = foo.bar("hello"); // foo.A should be ok but foo.bar should be error @@ -25,6 +25,5 @@ var x: foo.A = foo.bar("hello"); // foo.A should be ok but foo.bar should be err //// [aliasOnMergedModuleInterface_1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var z; z.bar("hello"); // This should be ok var x = foo.bar("hello"); // foo.A should be ok but foo.bar should be error diff --git a/tests/baselines/reference/aliasOnMergedModuleInterface.symbols b/tests/baselines/reference/aliasOnMergedModuleInterface.symbols index 6544197e32e71..16f71fc1185ff 100644 --- a/tests/baselines/reference/aliasOnMergedModuleInterface.symbols +++ b/tests/baselines/reference/aliasOnMergedModuleInterface.symbols @@ -5,13 +5,13 @@ import foo = require("foo") >foo : Symbol(foo, Decl(aliasOnMergedModuleInterface_1.ts, 0, 0)) -var z: foo; ->z : Symbol(z, Decl(aliasOnMergedModuleInterface_1.ts, 2, 3)) +declare var z: foo; +>z : Symbol(z, Decl(aliasOnMergedModuleInterface_1.ts, 2, 11)) >foo : Symbol(foo, Decl(aliasOnMergedModuleInterface_1.ts, 0, 0)) z.bar("hello"); // This should be ok >z.bar : Symbol(foo.bar, Decl(aliasOnMergedModuleInterface_0.ts, 6, 17)) ->z : Symbol(z, Decl(aliasOnMergedModuleInterface_1.ts, 2, 3)) +>z : Symbol(z, Decl(aliasOnMergedModuleInterface_1.ts, 2, 11)) >bar : Symbol(foo.bar, Decl(aliasOnMergedModuleInterface_0.ts, 6, 17)) var x: foo.A = foo.bar("hello"); // foo.A should be ok but foo.bar should be error diff --git a/tests/baselines/reference/aliasOnMergedModuleInterface.types b/tests/baselines/reference/aliasOnMergedModuleInterface.types index 756caf50f4beb..08d42e1f8ed53 100644 --- a/tests/baselines/reference/aliasOnMergedModuleInterface.types +++ b/tests/baselines/reference/aliasOnMergedModuleInterface.types @@ -6,7 +6,7 @@ import foo = require("foo") >foo : any > : ^^^ -var z: foo; +declare var z: foo; >z : foo > : ^^^ diff --git a/tests/baselines/reference/aliasUsageInOrExpression.errors.txt b/tests/baselines/reference/aliasUsageInOrExpression.errors.txt index 2ac162439c2c7..85113b6a55d79 100644 --- a/tests/baselines/reference/aliasUsageInOrExpression.errors.txt +++ b/tests/baselines/reference/aliasUsageInOrExpression.errors.txt @@ -8,7 +8,7 @@ aliasUsageInOrExpression_main.ts(11,40): error TS2873: This kind of expression i interface IHasVisualizationModel { VisualizationModel: typeof Backbone.Model; } - var i: IHasVisualizationModel; + declare var i: IHasVisualizationModel; var d1 = i || moduleA; var d2: IHasVisualizationModel = i || moduleA; var d2: IHasVisualizationModel = moduleA || i; diff --git a/tests/baselines/reference/aliasUsageInOrExpression.js b/tests/baselines/reference/aliasUsageInOrExpression.js index 63f9cade8fef1..25545e99de318 100644 --- a/tests/baselines/reference/aliasUsageInOrExpression.js +++ b/tests/baselines/reference/aliasUsageInOrExpression.js @@ -17,7 +17,7 @@ import moduleA = require("./aliasUsageInOrExpression_moduleA"); interface IHasVisualizationModel { VisualizationModel: typeof Backbone.Model; } -var i: IHasVisualizationModel; +declare var i: IHasVisualizationModel; var d1 = i || moduleA; var d2: IHasVisualizationModel = i || moduleA; var d2: IHasVisualizationModel = moduleA || i; @@ -66,7 +66,6 @@ exports.VisualizationModel = VisualizationModel; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var moduleA = require("./aliasUsageInOrExpression_moduleA"); -var i; var d1 = i || moduleA; var d2 = i || moduleA; var d2 = moduleA || i; diff --git a/tests/baselines/reference/aliasUsageInOrExpression.symbols b/tests/baselines/reference/aliasUsageInOrExpression.symbols index 8c56640fb27a2..6cb0647c087df 100644 --- a/tests/baselines/reference/aliasUsageInOrExpression.symbols +++ b/tests/baselines/reference/aliasUsageInOrExpression.symbols @@ -16,26 +16,26 @@ interface IHasVisualizationModel { >Backbone : Symbol(Backbone, Decl(aliasUsageInOrExpression_main.ts, 0, 0)) >Model : Symbol(Backbone.Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0)) } -var i: IHasVisualizationModel; ->i : Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3)) +declare var i: IHasVisualizationModel; +>i : Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 11)) >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 63)) var d1 = i || moduleA; >d1 : Symbol(d1, Decl(aliasUsageInOrExpression_main.ts, 6, 3)) ->i : Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3)) +>i : Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 11)) >moduleA : Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 65)) var d2: IHasVisualizationModel = i || moduleA; >d2 : Symbol(d2, Decl(aliasUsageInOrExpression_main.ts, 7, 3), Decl(aliasUsageInOrExpression_main.ts, 8, 3)) >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 63)) ->i : Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3)) +>i : Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 11)) >moduleA : Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 65)) var d2: IHasVisualizationModel = moduleA || i; >d2 : Symbol(d2, Decl(aliasUsageInOrExpression_main.ts, 7, 3), Decl(aliasUsageInOrExpression_main.ts, 8, 3)) >IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 63)) >moduleA : Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 65)) ->i : Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3)) +>i : Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 11)) var e: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null || { x: moduleA }; >e : Symbol(e, Decl(aliasUsageInOrExpression_main.ts, 9, 3)) diff --git a/tests/baselines/reference/aliasUsageInOrExpression.types b/tests/baselines/reference/aliasUsageInOrExpression.types index f79acc30c5c75..ab24f27750295 100644 --- a/tests/baselines/reference/aliasUsageInOrExpression.types +++ b/tests/baselines/reference/aliasUsageInOrExpression.types @@ -20,7 +20,7 @@ interface IHasVisualizationModel { >Model : typeof Backbone.Model > : ^^^^^^^^^^^^^^^^^^^^^ } -var i: IHasVisualizationModel; +declare var i: IHasVisualizationModel; >i : IHasVisualizationModel > : ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.errors.txt b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.errors.txt index 7fe239623fa97..8f7727381f762 100644 --- a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.errors.txt +++ b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.errors.txt @@ -562,12 +562,12 @@ arithmeticOperatorWithInvalidOperands.ts(581,13): error TS2362: The left-hand si // an enum type enum E { a, b, c } - var a: any; - var b: boolean; - var c: number; - var d: string; - var e: { a: number }; - var f: Number; + declare var a: any; + declare var b: boolean; + declare var c: number; + declare var d: string; + declare var e: { a: number }; + declare var f: Number; // All of the below should be an error unless otherwise noted // operator * diff --git a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.js b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.js index 691081b53722b..e8a6cfa93d418 100644 --- a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.js +++ b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.js @@ -5,12 +5,12 @@ // an enum type enum E { a, b, c } -var a: any; -var b: boolean; -var c: number; -var d: string; -var e: { a: number }; -var f: Number; +declare var a: any; +declare var b: boolean; +declare var c: number; +declare var d: string; +declare var e: { a: number }; +declare var f: Number; // All of the below should be an error unless otherwise noted // operator * @@ -592,12 +592,6 @@ var E; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; })(E || (E = {})); -var a; -var b; -var c; -var d; -var e; -var f; // All of the below should be an error unless otherwise noted // operator * var r1a1 = a * a; //ok diff --git a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.symbols b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.symbols index b087cff2b360d..59697e9684c70 100644 --- a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.symbols +++ b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.symbols @@ -9,288 +9,288 @@ enum E { a, b, c } >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >c : Symbol(E.c, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 14)) -var a: any; ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +declare var a: any; +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) -var b: boolean; ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +declare var b: boolean; +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) -var c: number; ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +declare var c: number; +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) -var d: string; ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +declare var d: string; +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) -var e: { a: number }; ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 8)) +declare var e: { a: number }; +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 16)) -var f: Number; ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +declare var f: Number; +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) >Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // All of the below should be an error unless otherwise noted // operator * var r1a1 = a * a; //ok >r1a1 : Symbol(r1a1, Decl(arithmeticOperatorWithInvalidOperands.ts, 13, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r1a2 = a * b; >r1a2 : Symbol(r1a2, Decl(arithmeticOperatorWithInvalidOperands.ts, 14, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r1a3 = a * c; //ok >r1a3 : Symbol(r1a3, Decl(arithmeticOperatorWithInvalidOperands.ts, 15, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r1a4 = a * d; >r1a4 : Symbol(r1a4, Decl(arithmeticOperatorWithInvalidOperands.ts, 16, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r1a5 = a * e; >r1a5 : Symbol(r1a5, Decl(arithmeticOperatorWithInvalidOperands.ts, 17, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r1a6 = a * f; >r1a6 : Symbol(r1a6, Decl(arithmeticOperatorWithInvalidOperands.ts, 18, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r1b1 = b * a; >r1b1 : Symbol(r1b1, Decl(arithmeticOperatorWithInvalidOperands.ts, 20, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r1b2 = b * b; >r1b2 : Symbol(r1b2, Decl(arithmeticOperatorWithInvalidOperands.ts, 21, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r1b3 = b * c; >r1b3 : Symbol(r1b3, Decl(arithmeticOperatorWithInvalidOperands.ts, 22, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r1b4 = b * d; >r1b4 : Symbol(r1b4, Decl(arithmeticOperatorWithInvalidOperands.ts, 23, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r1b5 = b * e; >r1b5 : Symbol(r1b5, Decl(arithmeticOperatorWithInvalidOperands.ts, 24, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r1b6 = b * f; >r1b6 : Symbol(r1b6, Decl(arithmeticOperatorWithInvalidOperands.ts, 25, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r1c1 = c * a; //ok >r1c1 : Symbol(r1c1, Decl(arithmeticOperatorWithInvalidOperands.ts, 27, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r1c2 = c * b; >r1c2 : Symbol(r1c2, Decl(arithmeticOperatorWithInvalidOperands.ts, 28, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r1c3 = c * c; //ok >r1c3 : Symbol(r1c3, Decl(arithmeticOperatorWithInvalidOperands.ts, 29, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r1c4 = c * d; >r1c4 : Symbol(r1c4, Decl(arithmeticOperatorWithInvalidOperands.ts, 30, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r1c5 = c * e; >r1c5 : Symbol(r1c5, Decl(arithmeticOperatorWithInvalidOperands.ts, 31, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r1c6 = c * f; >r1c6 : Symbol(r1c6, Decl(arithmeticOperatorWithInvalidOperands.ts, 32, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r1d1 = d * a; >r1d1 : Symbol(r1d1, Decl(arithmeticOperatorWithInvalidOperands.ts, 34, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r1d2 = d * b; >r1d2 : Symbol(r1d2, Decl(arithmeticOperatorWithInvalidOperands.ts, 35, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r1d3 = d * c; >r1d3 : Symbol(r1d3, Decl(arithmeticOperatorWithInvalidOperands.ts, 36, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r1d4 = d * d; >r1d4 : Symbol(r1d4, Decl(arithmeticOperatorWithInvalidOperands.ts, 37, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r1d5 = d * e; >r1d5 : Symbol(r1d5, Decl(arithmeticOperatorWithInvalidOperands.ts, 38, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r1d6 = d * f; >r1d6 : Symbol(r1d6, Decl(arithmeticOperatorWithInvalidOperands.ts, 39, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r1e1 = e * a; >r1e1 : Symbol(r1e1, Decl(arithmeticOperatorWithInvalidOperands.ts, 41, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r1e2 = e * b; >r1e2 : Symbol(r1e2, Decl(arithmeticOperatorWithInvalidOperands.ts, 42, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r1e3 = e * c; >r1e3 : Symbol(r1e3, Decl(arithmeticOperatorWithInvalidOperands.ts, 43, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r1e4 = e * d; >r1e4 : Symbol(r1e4, Decl(arithmeticOperatorWithInvalidOperands.ts, 44, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r1e5 = e * e; >r1e5 : Symbol(r1e5, Decl(arithmeticOperatorWithInvalidOperands.ts, 45, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r1e6 = e * f; >r1e6 : Symbol(r1e6, Decl(arithmeticOperatorWithInvalidOperands.ts, 46, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r1f1 = f * a; >r1f1 : Symbol(r1f1, Decl(arithmeticOperatorWithInvalidOperands.ts, 48, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r1f2 = f * b; >r1f2 : Symbol(r1f2, Decl(arithmeticOperatorWithInvalidOperands.ts, 49, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r1f3 = f * c; >r1f3 : Symbol(r1f3, Decl(arithmeticOperatorWithInvalidOperands.ts, 50, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r1f4 = f * d; >r1f4 : Symbol(r1f4, Decl(arithmeticOperatorWithInvalidOperands.ts, 51, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r1f5 = f * e; >r1f5 : Symbol(r1f5, Decl(arithmeticOperatorWithInvalidOperands.ts, 52, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r1f6 = f * f; >r1f6 : Symbol(r1f6, Decl(arithmeticOperatorWithInvalidOperands.ts, 53, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r1g1 = E.a * a; //ok >r1g1 : Symbol(r1g1, Decl(arithmeticOperatorWithInvalidOperands.ts, 55, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r1g2 = E.a * b; >r1g2 : Symbol(r1g2, Decl(arithmeticOperatorWithInvalidOperands.ts, 56, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r1g3 = E.a * c; //ok >r1g3 : Symbol(r1g3, Decl(arithmeticOperatorWithInvalidOperands.ts, 57, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r1g4 = E.a * d; >r1g4 : Symbol(r1g4, Decl(arithmeticOperatorWithInvalidOperands.ts, 58, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r1g5 = E.a * e; >r1g5 : Symbol(r1g5, Decl(arithmeticOperatorWithInvalidOperands.ts, 59, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r1g6 = E.a * f; >r1g6 : Symbol(r1g6, Decl(arithmeticOperatorWithInvalidOperands.ts, 60, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r1h1 = a * E.b; //ok >r1h1 : Symbol(r1h1, Decl(arithmeticOperatorWithInvalidOperands.ts, 62, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r1h2 = b * E.b; >r1h2 : Symbol(r1h2, Decl(arithmeticOperatorWithInvalidOperands.ts, 63, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r1h3 = c * E.b; //ok >r1h3 : Symbol(r1h3, Decl(arithmeticOperatorWithInvalidOperands.ts, 64, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r1h4 = d * E.b; >r1h4 : Symbol(r1h4, Decl(arithmeticOperatorWithInvalidOperands.ts, 65, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r1h5 = e * E.b; >r1h5 : Symbol(r1h5, Decl(arithmeticOperatorWithInvalidOperands.ts, 66, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r1h6 = f * E.b; >r1h6 : Symbol(r1h6, Decl(arithmeticOperatorWithInvalidOperands.ts, 67, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) @@ -298,264 +298,264 @@ var r1h6 = f * E.b; // operator / var r2a1 = a / a; //ok >r2a1 : Symbol(r2a1, Decl(arithmeticOperatorWithInvalidOperands.ts, 70, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r2a2 = a / b; >r2a2 : Symbol(r2a2, Decl(arithmeticOperatorWithInvalidOperands.ts, 71, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r2a3 = a / c; //ok >r2a3 : Symbol(r2a3, Decl(arithmeticOperatorWithInvalidOperands.ts, 72, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r2a4 = a / d; >r2a4 : Symbol(r2a4, Decl(arithmeticOperatorWithInvalidOperands.ts, 73, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r2a5 = a / e; >r2a5 : Symbol(r2a5, Decl(arithmeticOperatorWithInvalidOperands.ts, 74, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r2a6 = a / f; >r2a6 : Symbol(r2a6, Decl(arithmeticOperatorWithInvalidOperands.ts, 75, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r2b1 = b / a; >r2b1 : Symbol(r2b1, Decl(arithmeticOperatorWithInvalidOperands.ts, 77, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r2b2 = b / b; >r2b2 : Symbol(r2b2, Decl(arithmeticOperatorWithInvalidOperands.ts, 78, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r2b3 = b / c; >r2b3 : Symbol(r2b3, Decl(arithmeticOperatorWithInvalidOperands.ts, 79, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r2b4 = b / d; >r2b4 : Symbol(r2b4, Decl(arithmeticOperatorWithInvalidOperands.ts, 80, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r2b5 = b / e; >r2b5 : Symbol(r2b5, Decl(arithmeticOperatorWithInvalidOperands.ts, 81, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r2b6 = b / f; >r2b6 : Symbol(r2b6, Decl(arithmeticOperatorWithInvalidOperands.ts, 82, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r2c1 = c / a; //ok >r2c1 : Symbol(r2c1, Decl(arithmeticOperatorWithInvalidOperands.ts, 84, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r2c2 = c / b; >r2c2 : Symbol(r2c2, Decl(arithmeticOperatorWithInvalidOperands.ts, 85, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r2c3 = c / c; //ok >r2c3 : Symbol(r2c3, Decl(arithmeticOperatorWithInvalidOperands.ts, 86, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r2c4 = c / d; >r2c4 : Symbol(r2c4, Decl(arithmeticOperatorWithInvalidOperands.ts, 87, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r2c5 = c / e; >r2c5 : Symbol(r2c5, Decl(arithmeticOperatorWithInvalidOperands.ts, 88, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r2c6 = c / f; >r2c6 : Symbol(r2c6, Decl(arithmeticOperatorWithInvalidOperands.ts, 89, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r2d1 = d / a; >r2d1 : Symbol(r2d1, Decl(arithmeticOperatorWithInvalidOperands.ts, 91, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r2d2 = d / b; >r2d2 : Symbol(r2d2, Decl(arithmeticOperatorWithInvalidOperands.ts, 92, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r2d3 = d / c; >r2d3 : Symbol(r2d3, Decl(arithmeticOperatorWithInvalidOperands.ts, 93, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r2d4 = d / d; >r2d4 : Symbol(r2d4, Decl(arithmeticOperatorWithInvalidOperands.ts, 94, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r2d5 = d / e; >r2d5 : Symbol(r2d5, Decl(arithmeticOperatorWithInvalidOperands.ts, 95, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r2d6 = d / f; >r2d6 : Symbol(r2d6, Decl(arithmeticOperatorWithInvalidOperands.ts, 96, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r2e1 = e / a; >r2e1 : Symbol(r2e1, Decl(arithmeticOperatorWithInvalidOperands.ts, 98, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r2e2 = e / b; >r2e2 : Symbol(r2e2, Decl(arithmeticOperatorWithInvalidOperands.ts, 99, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r2e3 = e / c; >r2e3 : Symbol(r2e3, Decl(arithmeticOperatorWithInvalidOperands.ts, 100, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r2e4 = e / d; >r2e4 : Symbol(r2e4, Decl(arithmeticOperatorWithInvalidOperands.ts, 101, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r2e5 = e / e; >r2e5 : Symbol(r2e5, Decl(arithmeticOperatorWithInvalidOperands.ts, 102, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r2e6 = e / f; >r2e6 : Symbol(r2e6, Decl(arithmeticOperatorWithInvalidOperands.ts, 103, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r2f1 = f / a; >r2f1 : Symbol(r2f1, Decl(arithmeticOperatorWithInvalidOperands.ts, 105, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r2f2 = f / b; >r2f2 : Symbol(r2f2, Decl(arithmeticOperatorWithInvalidOperands.ts, 106, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r2f3 = f / c; >r2f3 : Symbol(r2f3, Decl(arithmeticOperatorWithInvalidOperands.ts, 107, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r2f4 = f / d; >r2f4 : Symbol(r2f4, Decl(arithmeticOperatorWithInvalidOperands.ts, 108, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r2f5 = f / e; >r2f5 : Symbol(r2f5, Decl(arithmeticOperatorWithInvalidOperands.ts, 109, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r2f6 = f / f; >r2f6 : Symbol(r2f6, Decl(arithmeticOperatorWithInvalidOperands.ts, 110, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r2g1 = E.a / a; //ok >r2g1 : Symbol(r2g1, Decl(arithmeticOperatorWithInvalidOperands.ts, 112, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r2g2 = E.a / b; >r2g2 : Symbol(r2g2, Decl(arithmeticOperatorWithInvalidOperands.ts, 113, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r2g3 = E.a / c; //ok >r2g3 : Symbol(r2g3, Decl(arithmeticOperatorWithInvalidOperands.ts, 114, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r2g4 = E.a / d; >r2g4 : Symbol(r2g4, Decl(arithmeticOperatorWithInvalidOperands.ts, 115, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r2g5 = E.a / e; >r2g5 : Symbol(r2g5, Decl(arithmeticOperatorWithInvalidOperands.ts, 116, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r2g6 = E.a / f; >r2g6 : Symbol(r2g6, Decl(arithmeticOperatorWithInvalidOperands.ts, 117, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r2h1 = a / E.b; //ok >r2h1 : Symbol(r2h1, Decl(arithmeticOperatorWithInvalidOperands.ts, 119, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r2h2 = b / E.b; >r2h2 : Symbol(r2h2, Decl(arithmeticOperatorWithInvalidOperands.ts, 120, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r2h3 = c / E.b; //ok >r2h3 : Symbol(r2h3, Decl(arithmeticOperatorWithInvalidOperands.ts, 121, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r2h4 = d / E.b; >r2h4 : Symbol(r2h4, Decl(arithmeticOperatorWithInvalidOperands.ts, 122, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r2h5 = e / E.b; >r2h5 : Symbol(r2h5, Decl(arithmeticOperatorWithInvalidOperands.ts, 123, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r2h6 = f / E.b; >r2h6 : Symbol(r2h6, Decl(arithmeticOperatorWithInvalidOperands.ts, 124, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) @@ -563,264 +563,264 @@ var r2h6 = f / E.b; // operator % var r3a1 = a % a; //ok >r3a1 : Symbol(r3a1, Decl(arithmeticOperatorWithInvalidOperands.ts, 127, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r3a2 = a % b; >r3a2 : Symbol(r3a2, Decl(arithmeticOperatorWithInvalidOperands.ts, 128, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r3a3 = a % c; //ok >r3a3 : Symbol(r3a3, Decl(arithmeticOperatorWithInvalidOperands.ts, 129, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r3a4 = a % d; >r3a4 : Symbol(r3a4, Decl(arithmeticOperatorWithInvalidOperands.ts, 130, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r3a5 = a % e; >r3a5 : Symbol(r3a5, Decl(arithmeticOperatorWithInvalidOperands.ts, 131, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r3a6 = a % f; >r3a6 : Symbol(r3a6, Decl(arithmeticOperatorWithInvalidOperands.ts, 132, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r3b1 = b % a; >r3b1 : Symbol(r3b1, Decl(arithmeticOperatorWithInvalidOperands.ts, 134, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r3b2 = b % b; >r3b2 : Symbol(r3b2, Decl(arithmeticOperatorWithInvalidOperands.ts, 135, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r3b3 = b % c; >r3b3 : Symbol(r3b3, Decl(arithmeticOperatorWithInvalidOperands.ts, 136, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r3b4 = b % d; >r3b4 : Symbol(r3b4, Decl(arithmeticOperatorWithInvalidOperands.ts, 137, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r3b5 = b % e; >r3b5 : Symbol(r3b5, Decl(arithmeticOperatorWithInvalidOperands.ts, 138, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r3b6 = b % f; >r3b6 : Symbol(r3b6, Decl(arithmeticOperatorWithInvalidOperands.ts, 139, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r3c1 = c % a; //ok >r3c1 : Symbol(r3c1, Decl(arithmeticOperatorWithInvalidOperands.ts, 141, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r3c2 = c % b; >r3c2 : Symbol(r3c2, Decl(arithmeticOperatorWithInvalidOperands.ts, 142, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r3c3 = c % c; //ok >r3c3 : Symbol(r3c3, Decl(arithmeticOperatorWithInvalidOperands.ts, 143, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r3c4 = c % d; >r3c4 : Symbol(r3c4, Decl(arithmeticOperatorWithInvalidOperands.ts, 144, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r3c5 = c % e; >r3c5 : Symbol(r3c5, Decl(arithmeticOperatorWithInvalidOperands.ts, 145, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r3c6 = c % f; >r3c6 : Symbol(r3c6, Decl(arithmeticOperatorWithInvalidOperands.ts, 146, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r3d1 = d % a; >r3d1 : Symbol(r3d1, Decl(arithmeticOperatorWithInvalidOperands.ts, 148, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r3d2 = d % b; >r3d2 : Symbol(r3d2, Decl(arithmeticOperatorWithInvalidOperands.ts, 149, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r3d3 = d % c; >r3d3 : Symbol(r3d3, Decl(arithmeticOperatorWithInvalidOperands.ts, 150, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r3d4 = d % d; >r3d4 : Symbol(r3d4, Decl(arithmeticOperatorWithInvalidOperands.ts, 151, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r3d5 = d % e; >r3d5 : Symbol(r3d5, Decl(arithmeticOperatorWithInvalidOperands.ts, 152, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r3d6 = d % f; >r3d6 : Symbol(r3d6, Decl(arithmeticOperatorWithInvalidOperands.ts, 153, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r3e1 = e % a; >r3e1 : Symbol(r3e1, Decl(arithmeticOperatorWithInvalidOperands.ts, 155, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r3e2 = e % b; >r3e2 : Symbol(r3e2, Decl(arithmeticOperatorWithInvalidOperands.ts, 156, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r3e3 = e % c; >r3e3 : Symbol(r3e3, Decl(arithmeticOperatorWithInvalidOperands.ts, 157, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r3e4 = e % d; >r3e4 : Symbol(r3e4, Decl(arithmeticOperatorWithInvalidOperands.ts, 158, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r3e5 = e % e; >r3e5 : Symbol(r3e5, Decl(arithmeticOperatorWithInvalidOperands.ts, 159, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r3e6 = e % f; >r3e6 : Symbol(r3e6, Decl(arithmeticOperatorWithInvalidOperands.ts, 160, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r3f1 = f % a; >r3f1 : Symbol(r3f1, Decl(arithmeticOperatorWithInvalidOperands.ts, 162, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r3f2 = f % b; >r3f2 : Symbol(r3f2, Decl(arithmeticOperatorWithInvalidOperands.ts, 163, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r3f3 = f % c; >r3f3 : Symbol(r3f3, Decl(arithmeticOperatorWithInvalidOperands.ts, 164, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r3f4 = f % d; >r3f4 : Symbol(r3f4, Decl(arithmeticOperatorWithInvalidOperands.ts, 165, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r3f5 = f % e; >r3f5 : Symbol(r3f5, Decl(arithmeticOperatorWithInvalidOperands.ts, 166, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r3f6 = f % f; >r3f6 : Symbol(r3f6, Decl(arithmeticOperatorWithInvalidOperands.ts, 167, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r3g1 = E.a % a; //ok >r3g1 : Symbol(r3g1, Decl(arithmeticOperatorWithInvalidOperands.ts, 169, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r3g2 = E.a % b; >r3g2 : Symbol(r3g2, Decl(arithmeticOperatorWithInvalidOperands.ts, 170, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r3g3 = E.a % c; //ok >r3g3 : Symbol(r3g3, Decl(arithmeticOperatorWithInvalidOperands.ts, 171, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r3g4 = E.a % d; >r3g4 : Symbol(r3g4, Decl(arithmeticOperatorWithInvalidOperands.ts, 172, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r3g5 = E.a % e; >r3g5 : Symbol(r3g5, Decl(arithmeticOperatorWithInvalidOperands.ts, 173, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r3g6 = E.a % f; >r3g6 : Symbol(r3g6, Decl(arithmeticOperatorWithInvalidOperands.ts, 174, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r3h1 = a % E.b; //ok >r3h1 : Symbol(r3h1, Decl(arithmeticOperatorWithInvalidOperands.ts, 176, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r3h2 = b % E.b; >r3h2 : Symbol(r3h2, Decl(arithmeticOperatorWithInvalidOperands.ts, 177, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r3h3 = c % E.b; //ok >r3h3 : Symbol(r3h3, Decl(arithmeticOperatorWithInvalidOperands.ts, 178, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r3h4 = d % E.b; >r3h4 : Symbol(r3h4, Decl(arithmeticOperatorWithInvalidOperands.ts, 179, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r3h5 = e % E.b; >r3h5 : Symbol(r3h5, Decl(arithmeticOperatorWithInvalidOperands.ts, 180, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r3h6 = f % E.b; >r3h6 : Symbol(r3h6, Decl(arithmeticOperatorWithInvalidOperands.ts, 181, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) @@ -828,264 +828,264 @@ var r3h6 = f % E.b; // operator - var r4a1 = a - a; //ok >r4a1 : Symbol(r4a1, Decl(arithmeticOperatorWithInvalidOperands.ts, 184, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r4a2 = a - b; >r4a2 : Symbol(r4a2, Decl(arithmeticOperatorWithInvalidOperands.ts, 185, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r4a3 = a - c; //ok >r4a3 : Symbol(r4a3, Decl(arithmeticOperatorWithInvalidOperands.ts, 186, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r4a4 = a - d; >r4a4 : Symbol(r4a4, Decl(arithmeticOperatorWithInvalidOperands.ts, 187, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r4a5 = a - e; >r4a5 : Symbol(r4a5, Decl(arithmeticOperatorWithInvalidOperands.ts, 188, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r4a6 = a - f; >r4a6 : Symbol(r4a6, Decl(arithmeticOperatorWithInvalidOperands.ts, 189, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r4b1 = b - a; >r4b1 : Symbol(r4b1, Decl(arithmeticOperatorWithInvalidOperands.ts, 191, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r4b2 = b - b; >r4b2 : Symbol(r4b2, Decl(arithmeticOperatorWithInvalidOperands.ts, 192, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r4b3 = b - c; >r4b3 : Symbol(r4b3, Decl(arithmeticOperatorWithInvalidOperands.ts, 193, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r4b4 = b - d; >r4b4 : Symbol(r4b4, Decl(arithmeticOperatorWithInvalidOperands.ts, 194, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r4b5 = b - e; >r4b5 : Symbol(r4b5, Decl(arithmeticOperatorWithInvalidOperands.ts, 195, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r4b6 = b - f; >r4b6 : Symbol(r4b6, Decl(arithmeticOperatorWithInvalidOperands.ts, 196, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r4c1 = c - a; //ok >r4c1 : Symbol(r4c1, Decl(arithmeticOperatorWithInvalidOperands.ts, 198, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r4c2 = c - b; >r4c2 : Symbol(r4c2, Decl(arithmeticOperatorWithInvalidOperands.ts, 199, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r4c3 = c - c; //ok >r4c3 : Symbol(r4c3, Decl(arithmeticOperatorWithInvalidOperands.ts, 200, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r4c4 = c - d; >r4c4 : Symbol(r4c4, Decl(arithmeticOperatorWithInvalidOperands.ts, 201, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r4c5 = c - e; >r4c5 : Symbol(r4c5, Decl(arithmeticOperatorWithInvalidOperands.ts, 202, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r4c6 = c - f; >r4c6 : Symbol(r4c6, Decl(arithmeticOperatorWithInvalidOperands.ts, 203, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r4d1 = d - a; >r4d1 : Symbol(r4d1, Decl(arithmeticOperatorWithInvalidOperands.ts, 205, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r4d2 = d - b; >r4d2 : Symbol(r4d2, Decl(arithmeticOperatorWithInvalidOperands.ts, 206, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r4d3 = d - c; >r4d3 : Symbol(r4d3, Decl(arithmeticOperatorWithInvalidOperands.ts, 207, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r4d4 = d - d; >r4d4 : Symbol(r4d4, Decl(arithmeticOperatorWithInvalidOperands.ts, 208, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r4d5 = d - e; >r4d5 : Symbol(r4d5, Decl(arithmeticOperatorWithInvalidOperands.ts, 209, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r4d6 = d - f; >r4d6 : Symbol(r4d6, Decl(arithmeticOperatorWithInvalidOperands.ts, 210, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r4e1 = e - a; >r4e1 : Symbol(r4e1, Decl(arithmeticOperatorWithInvalidOperands.ts, 212, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r4e2 = e - b; >r4e2 : Symbol(r4e2, Decl(arithmeticOperatorWithInvalidOperands.ts, 213, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r4e3 = e - c; >r4e3 : Symbol(r4e3, Decl(arithmeticOperatorWithInvalidOperands.ts, 214, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r4e4 = e - d; >r4e4 : Symbol(r4e4, Decl(arithmeticOperatorWithInvalidOperands.ts, 215, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r4e5 = e - e; >r4e5 : Symbol(r4e5, Decl(arithmeticOperatorWithInvalidOperands.ts, 216, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r4e6 = e - f; >r4e6 : Symbol(r4e6, Decl(arithmeticOperatorWithInvalidOperands.ts, 217, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r4f1 = f - a; >r4f1 : Symbol(r4f1, Decl(arithmeticOperatorWithInvalidOperands.ts, 219, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r4f2 = f - b; >r4f2 : Symbol(r4f2, Decl(arithmeticOperatorWithInvalidOperands.ts, 220, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r4f3 = f - c; >r4f3 : Symbol(r4f3, Decl(arithmeticOperatorWithInvalidOperands.ts, 221, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r4f4 = f - d; >r4f4 : Symbol(r4f4, Decl(arithmeticOperatorWithInvalidOperands.ts, 222, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r4f5 = f - e; >r4f5 : Symbol(r4f5, Decl(arithmeticOperatorWithInvalidOperands.ts, 223, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r4f6 = f - f; >r4f6 : Symbol(r4f6, Decl(arithmeticOperatorWithInvalidOperands.ts, 224, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r4g1 = E.a - a; //ok >r4g1 : Symbol(r4g1, Decl(arithmeticOperatorWithInvalidOperands.ts, 226, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r4g2 = E.a - b; >r4g2 : Symbol(r4g2, Decl(arithmeticOperatorWithInvalidOperands.ts, 227, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r4g3 = E.a - c; //ok >r4g3 : Symbol(r4g3, Decl(arithmeticOperatorWithInvalidOperands.ts, 228, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r4g4 = E.a - d; >r4g4 : Symbol(r4g4, Decl(arithmeticOperatorWithInvalidOperands.ts, 229, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r4g5 = E.a - e; >r4g5 : Symbol(r4g5, Decl(arithmeticOperatorWithInvalidOperands.ts, 230, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r4g6 = E.a - f; >r4g6 : Symbol(r4g6, Decl(arithmeticOperatorWithInvalidOperands.ts, 231, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r4h1 = a - E.b; //ok >r4h1 : Symbol(r4h1, Decl(arithmeticOperatorWithInvalidOperands.ts, 233, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r4h2 = b - E.b; >r4h2 : Symbol(r4h2, Decl(arithmeticOperatorWithInvalidOperands.ts, 234, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r4h3 = c - E.b; //ok >r4h3 : Symbol(r4h3, Decl(arithmeticOperatorWithInvalidOperands.ts, 235, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r4h4 = d - E.b; >r4h4 : Symbol(r4h4, Decl(arithmeticOperatorWithInvalidOperands.ts, 236, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r4h5 = e - E.b; >r4h5 : Symbol(r4h5, Decl(arithmeticOperatorWithInvalidOperands.ts, 237, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r4h6 = f - E.b; >r4h6 : Symbol(r4h6, Decl(arithmeticOperatorWithInvalidOperands.ts, 238, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) @@ -1093,264 +1093,264 @@ var r4h6 = f - E.b; // operator << var r5a1 = a << a; //ok >r5a1 : Symbol(r5a1, Decl(arithmeticOperatorWithInvalidOperands.ts, 241, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r5a2 = a << b; >r5a2 : Symbol(r5a2, Decl(arithmeticOperatorWithInvalidOperands.ts, 242, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r5a3 = a << c; //ok >r5a3 : Symbol(r5a3, Decl(arithmeticOperatorWithInvalidOperands.ts, 243, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r5a4 = a << d; >r5a4 : Symbol(r5a4, Decl(arithmeticOperatorWithInvalidOperands.ts, 244, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r5a5 = a << e; >r5a5 : Symbol(r5a5, Decl(arithmeticOperatorWithInvalidOperands.ts, 245, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r5a6 = a << f; >r5a6 : Symbol(r5a6, Decl(arithmeticOperatorWithInvalidOperands.ts, 246, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r5b1 = b << a; >r5b1 : Symbol(r5b1, Decl(arithmeticOperatorWithInvalidOperands.ts, 248, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r5b2 = b << b; >r5b2 : Symbol(r5b2, Decl(arithmeticOperatorWithInvalidOperands.ts, 249, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r5b3 = b << c; >r5b3 : Symbol(r5b3, Decl(arithmeticOperatorWithInvalidOperands.ts, 250, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r5b4 = b << d; >r5b4 : Symbol(r5b4, Decl(arithmeticOperatorWithInvalidOperands.ts, 251, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r5b5 = b << e; >r5b5 : Symbol(r5b5, Decl(arithmeticOperatorWithInvalidOperands.ts, 252, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r5b6 = b << f; >r5b6 : Symbol(r5b6, Decl(arithmeticOperatorWithInvalidOperands.ts, 253, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r5c1 = c << a; //ok >r5c1 : Symbol(r5c1, Decl(arithmeticOperatorWithInvalidOperands.ts, 255, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r5c2 = c << b; >r5c2 : Symbol(r5c2, Decl(arithmeticOperatorWithInvalidOperands.ts, 256, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r5c3 = c << c; //ok >r5c3 : Symbol(r5c3, Decl(arithmeticOperatorWithInvalidOperands.ts, 257, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r5c4 = c << d; >r5c4 : Symbol(r5c4, Decl(arithmeticOperatorWithInvalidOperands.ts, 258, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r5c5 = c << e; >r5c5 : Symbol(r5c5, Decl(arithmeticOperatorWithInvalidOperands.ts, 259, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r5c6 = c << f; >r5c6 : Symbol(r5c6, Decl(arithmeticOperatorWithInvalidOperands.ts, 260, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r5d1 = d << a; >r5d1 : Symbol(r5d1, Decl(arithmeticOperatorWithInvalidOperands.ts, 262, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r5d2 = d << b; >r5d2 : Symbol(r5d2, Decl(arithmeticOperatorWithInvalidOperands.ts, 263, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r5d3 = d << c; >r5d3 : Symbol(r5d3, Decl(arithmeticOperatorWithInvalidOperands.ts, 264, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r5d4 = d << d; >r5d4 : Symbol(r5d4, Decl(arithmeticOperatorWithInvalidOperands.ts, 265, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r5d5 = d << e; >r5d5 : Symbol(r5d5, Decl(arithmeticOperatorWithInvalidOperands.ts, 266, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r5d6 = d << f; >r5d6 : Symbol(r5d6, Decl(arithmeticOperatorWithInvalidOperands.ts, 267, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r5e1 = e << a; >r5e1 : Symbol(r5e1, Decl(arithmeticOperatorWithInvalidOperands.ts, 269, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r5e2 = e << b; >r5e2 : Symbol(r5e2, Decl(arithmeticOperatorWithInvalidOperands.ts, 270, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r5e3 = e << c; >r5e3 : Symbol(r5e3, Decl(arithmeticOperatorWithInvalidOperands.ts, 271, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r5e4 = e << d; >r5e4 : Symbol(r5e4, Decl(arithmeticOperatorWithInvalidOperands.ts, 272, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r5e5 = e << e; >r5e5 : Symbol(r5e5, Decl(arithmeticOperatorWithInvalidOperands.ts, 273, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r5e6 = e << f; >r5e6 : Symbol(r5e6, Decl(arithmeticOperatorWithInvalidOperands.ts, 274, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r5f1 = f << a; >r5f1 : Symbol(r5f1, Decl(arithmeticOperatorWithInvalidOperands.ts, 276, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r5f2 = f << b; >r5f2 : Symbol(r5f2, Decl(arithmeticOperatorWithInvalidOperands.ts, 277, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r5f3 = f << c; >r5f3 : Symbol(r5f3, Decl(arithmeticOperatorWithInvalidOperands.ts, 278, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r5f4 = f << d; >r5f4 : Symbol(r5f4, Decl(arithmeticOperatorWithInvalidOperands.ts, 279, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r5f5 = f << e; >r5f5 : Symbol(r5f5, Decl(arithmeticOperatorWithInvalidOperands.ts, 280, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r5f6 = f << f; >r5f6 : Symbol(r5f6, Decl(arithmeticOperatorWithInvalidOperands.ts, 281, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r5g1 = E.a << a; //ok >r5g1 : Symbol(r5g1, Decl(arithmeticOperatorWithInvalidOperands.ts, 283, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r5g2 = E.a << b; >r5g2 : Symbol(r5g2, Decl(arithmeticOperatorWithInvalidOperands.ts, 284, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r5g3 = E.a << c; //ok >r5g3 : Symbol(r5g3, Decl(arithmeticOperatorWithInvalidOperands.ts, 285, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r5g4 = E.a << d; >r5g4 : Symbol(r5g4, Decl(arithmeticOperatorWithInvalidOperands.ts, 286, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r5g5 = E.a << e; >r5g5 : Symbol(r5g5, Decl(arithmeticOperatorWithInvalidOperands.ts, 287, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r5g6 = E.a << f; >r5g6 : Symbol(r5g6, Decl(arithmeticOperatorWithInvalidOperands.ts, 288, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r5h1 = a << E.b; //ok >r5h1 : Symbol(r5h1, Decl(arithmeticOperatorWithInvalidOperands.ts, 290, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r5h2 = b << E.b; >r5h2 : Symbol(r5h2, Decl(arithmeticOperatorWithInvalidOperands.ts, 291, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r5h3 = c << E.b; //ok >r5h3 : Symbol(r5h3, Decl(arithmeticOperatorWithInvalidOperands.ts, 292, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r5h4 = d << E.b; >r5h4 : Symbol(r5h4, Decl(arithmeticOperatorWithInvalidOperands.ts, 293, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r5h5 = e << E.b; >r5h5 : Symbol(r5h5, Decl(arithmeticOperatorWithInvalidOperands.ts, 294, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r5h6 = f << E.b; >r5h6 : Symbol(r5h6, Decl(arithmeticOperatorWithInvalidOperands.ts, 295, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) @@ -1358,264 +1358,264 @@ var r5h6 = f << E.b; // operator >> var r6a1 = a >> a; //ok >r6a1 : Symbol(r6a1, Decl(arithmeticOperatorWithInvalidOperands.ts, 298, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r6a2 = a >> b; >r6a2 : Symbol(r6a2, Decl(arithmeticOperatorWithInvalidOperands.ts, 299, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r6a3 = a >> c; //ok >r6a3 : Symbol(r6a3, Decl(arithmeticOperatorWithInvalidOperands.ts, 300, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r6a4 = a >> d; >r6a4 : Symbol(r6a4, Decl(arithmeticOperatorWithInvalidOperands.ts, 301, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r6a5 = a >> e; >r6a5 : Symbol(r6a5, Decl(arithmeticOperatorWithInvalidOperands.ts, 302, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r6a6 = a >> f; >r6a6 : Symbol(r6a6, Decl(arithmeticOperatorWithInvalidOperands.ts, 303, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r6b1 = b >> a; >r6b1 : Symbol(r6b1, Decl(arithmeticOperatorWithInvalidOperands.ts, 305, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r6b2 = b >> b; >r6b2 : Symbol(r6b2, Decl(arithmeticOperatorWithInvalidOperands.ts, 306, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r6b3 = b >> c; >r6b3 : Symbol(r6b3, Decl(arithmeticOperatorWithInvalidOperands.ts, 307, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r6b4 = b >> d; >r6b4 : Symbol(r6b4, Decl(arithmeticOperatorWithInvalidOperands.ts, 308, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r6b5 = b >> e; >r6b5 : Symbol(r6b5, Decl(arithmeticOperatorWithInvalidOperands.ts, 309, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r6b6 = b >> f; >r6b6 : Symbol(r6b6, Decl(arithmeticOperatorWithInvalidOperands.ts, 310, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r6c1 = c >> a; //ok >r6c1 : Symbol(r6c1, Decl(arithmeticOperatorWithInvalidOperands.ts, 312, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r6c2 = c >> b; >r6c2 : Symbol(r6c2, Decl(arithmeticOperatorWithInvalidOperands.ts, 313, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r6c3 = c >> c; //ok >r6c3 : Symbol(r6c3, Decl(arithmeticOperatorWithInvalidOperands.ts, 314, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r6c4 = c >> d; >r6c4 : Symbol(r6c4, Decl(arithmeticOperatorWithInvalidOperands.ts, 315, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r6c5 = c >> e; >r6c5 : Symbol(r6c5, Decl(arithmeticOperatorWithInvalidOperands.ts, 316, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r6c6 = c >> f; >r6c6 : Symbol(r6c6, Decl(arithmeticOperatorWithInvalidOperands.ts, 317, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r6d1 = d >> a; >r6d1 : Symbol(r6d1, Decl(arithmeticOperatorWithInvalidOperands.ts, 319, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r6d2 = d >> b; >r6d2 : Symbol(r6d2, Decl(arithmeticOperatorWithInvalidOperands.ts, 320, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r6d3 = d >> c; >r6d3 : Symbol(r6d3, Decl(arithmeticOperatorWithInvalidOperands.ts, 321, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r6d4 = d >> d; >r6d4 : Symbol(r6d4, Decl(arithmeticOperatorWithInvalidOperands.ts, 322, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r6d5 = d >> e; >r6d5 : Symbol(r6d5, Decl(arithmeticOperatorWithInvalidOperands.ts, 323, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r6d6 = d >> f; >r6d6 : Symbol(r6d6, Decl(arithmeticOperatorWithInvalidOperands.ts, 324, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r6e1 = e >> a; >r6e1 : Symbol(r6e1, Decl(arithmeticOperatorWithInvalidOperands.ts, 326, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r6e2 = e >> b; >r6e2 : Symbol(r6e2, Decl(arithmeticOperatorWithInvalidOperands.ts, 327, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r6e3 = e >> c; >r6e3 : Symbol(r6e3, Decl(arithmeticOperatorWithInvalidOperands.ts, 328, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r6e4 = e >> d; >r6e4 : Symbol(r6e4, Decl(arithmeticOperatorWithInvalidOperands.ts, 329, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r6e5 = e >> e; >r6e5 : Symbol(r6e5, Decl(arithmeticOperatorWithInvalidOperands.ts, 330, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r6e6 = e >> f; >r6e6 : Symbol(r6e6, Decl(arithmeticOperatorWithInvalidOperands.ts, 331, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r6f1 = f >> a; >r6f1 : Symbol(r6f1, Decl(arithmeticOperatorWithInvalidOperands.ts, 333, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r6f2 = f >> b; >r6f2 : Symbol(r6f2, Decl(arithmeticOperatorWithInvalidOperands.ts, 334, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r6f3 = f >> c; >r6f3 : Symbol(r6f3, Decl(arithmeticOperatorWithInvalidOperands.ts, 335, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r6f4 = f >> d; >r6f4 : Symbol(r6f4, Decl(arithmeticOperatorWithInvalidOperands.ts, 336, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r6f5 = f >> e; >r6f5 : Symbol(r6f5, Decl(arithmeticOperatorWithInvalidOperands.ts, 337, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r6f6 = f >> f; >r6f6 : Symbol(r6f6, Decl(arithmeticOperatorWithInvalidOperands.ts, 338, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r6g1 = E.a >> a; //ok >r6g1 : Symbol(r6g1, Decl(arithmeticOperatorWithInvalidOperands.ts, 340, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r6g2 = E.a >> b; >r6g2 : Symbol(r6g2, Decl(arithmeticOperatorWithInvalidOperands.ts, 341, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r6g3 = E.a >> c; //ok >r6g3 : Symbol(r6g3, Decl(arithmeticOperatorWithInvalidOperands.ts, 342, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r6g4 = E.a >> d; >r6g4 : Symbol(r6g4, Decl(arithmeticOperatorWithInvalidOperands.ts, 343, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r6g5 = E.a >> e; >r6g5 : Symbol(r6g5, Decl(arithmeticOperatorWithInvalidOperands.ts, 344, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r6g6 = E.a >> f; >r6g6 : Symbol(r6g6, Decl(arithmeticOperatorWithInvalidOperands.ts, 345, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r6h1 = a >> E.b; //ok >r6h1 : Symbol(r6h1, Decl(arithmeticOperatorWithInvalidOperands.ts, 347, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r6h2 = b >> E.b; >r6h2 : Symbol(r6h2, Decl(arithmeticOperatorWithInvalidOperands.ts, 348, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r6h3 = c >> E.b; //ok >r6h3 : Symbol(r6h3, Decl(arithmeticOperatorWithInvalidOperands.ts, 349, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r6h4 = d >> E.b; >r6h4 : Symbol(r6h4, Decl(arithmeticOperatorWithInvalidOperands.ts, 350, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r6h5 = e >> E.b; >r6h5 : Symbol(r6h5, Decl(arithmeticOperatorWithInvalidOperands.ts, 351, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r6h6 = f >> E.b; >r6h6 : Symbol(r6h6, Decl(arithmeticOperatorWithInvalidOperands.ts, 352, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) @@ -1623,264 +1623,264 @@ var r6h6 = f >> E.b; // operator >>> var r7a1 = a >>> a; //ok >r7a1 : Symbol(r7a1, Decl(arithmeticOperatorWithInvalidOperands.ts, 355, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r7a2 = a >>> b; >r7a2 : Symbol(r7a2, Decl(arithmeticOperatorWithInvalidOperands.ts, 356, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r7a3 = a >>> c; //ok >r7a3 : Symbol(r7a3, Decl(arithmeticOperatorWithInvalidOperands.ts, 357, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r7a4 = a >>> d; >r7a4 : Symbol(r7a4, Decl(arithmeticOperatorWithInvalidOperands.ts, 358, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r7a5 = a >>> e; >r7a5 : Symbol(r7a5, Decl(arithmeticOperatorWithInvalidOperands.ts, 359, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r7a6 = a >>> f; >r7a6 : Symbol(r7a6, Decl(arithmeticOperatorWithInvalidOperands.ts, 360, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r7b1 = b >>> a; >r7b1 : Symbol(r7b1, Decl(arithmeticOperatorWithInvalidOperands.ts, 362, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r7b2 = b >>> b; >r7b2 : Symbol(r7b2, Decl(arithmeticOperatorWithInvalidOperands.ts, 363, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r7b3 = b >>> c; >r7b3 : Symbol(r7b3, Decl(arithmeticOperatorWithInvalidOperands.ts, 364, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r7b4 = b >>> d; >r7b4 : Symbol(r7b4, Decl(arithmeticOperatorWithInvalidOperands.ts, 365, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r7b5 = b >>> e; >r7b5 : Symbol(r7b5, Decl(arithmeticOperatorWithInvalidOperands.ts, 366, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r7b6 = b >>> f; >r7b6 : Symbol(r7b6, Decl(arithmeticOperatorWithInvalidOperands.ts, 367, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r7c1 = c >>> a; //ok >r7c1 : Symbol(r7c1, Decl(arithmeticOperatorWithInvalidOperands.ts, 369, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r7c2 = c >>> b; >r7c2 : Symbol(r7c2, Decl(arithmeticOperatorWithInvalidOperands.ts, 370, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r7c3 = c >>> c; //ok >r7c3 : Symbol(r7c3, Decl(arithmeticOperatorWithInvalidOperands.ts, 371, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r7c4 = c >>> d; >r7c4 : Symbol(r7c4, Decl(arithmeticOperatorWithInvalidOperands.ts, 372, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r7c5 = c >>> e; >r7c5 : Symbol(r7c5, Decl(arithmeticOperatorWithInvalidOperands.ts, 373, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r7c6 = c >>> f; >r7c6 : Symbol(r7c6, Decl(arithmeticOperatorWithInvalidOperands.ts, 374, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r7d1 = d >>> a; >r7d1 : Symbol(r7d1, Decl(arithmeticOperatorWithInvalidOperands.ts, 376, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r7d2 = d >>> b; >r7d2 : Symbol(r7d2, Decl(arithmeticOperatorWithInvalidOperands.ts, 377, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r7d3 = d >>> c; >r7d3 : Symbol(r7d3, Decl(arithmeticOperatorWithInvalidOperands.ts, 378, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r7d4 = d >>> d; >r7d4 : Symbol(r7d4, Decl(arithmeticOperatorWithInvalidOperands.ts, 379, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r7d5 = d >>> e; >r7d5 : Symbol(r7d5, Decl(arithmeticOperatorWithInvalidOperands.ts, 380, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r7d6 = d >>> f; >r7d6 : Symbol(r7d6, Decl(arithmeticOperatorWithInvalidOperands.ts, 381, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r7e1 = e >>> a; >r7e1 : Symbol(r7e1, Decl(arithmeticOperatorWithInvalidOperands.ts, 383, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r7e2 = e >>> b; >r7e2 : Symbol(r7e2, Decl(arithmeticOperatorWithInvalidOperands.ts, 384, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r7e3 = e >>> c; >r7e3 : Symbol(r7e3, Decl(arithmeticOperatorWithInvalidOperands.ts, 385, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r7e4 = e >>> d; >r7e4 : Symbol(r7e4, Decl(arithmeticOperatorWithInvalidOperands.ts, 386, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r7e5 = e >>> e; >r7e5 : Symbol(r7e5, Decl(arithmeticOperatorWithInvalidOperands.ts, 387, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r7e6 = e >>> f; >r7e6 : Symbol(r7e6, Decl(arithmeticOperatorWithInvalidOperands.ts, 388, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r7f1 = f >>> a; >r7f1 : Symbol(r7f1, Decl(arithmeticOperatorWithInvalidOperands.ts, 390, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r7f2 = f >>> b; >r7f2 : Symbol(r7f2, Decl(arithmeticOperatorWithInvalidOperands.ts, 391, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r7f3 = f >>> c; >r7f3 : Symbol(r7f3, Decl(arithmeticOperatorWithInvalidOperands.ts, 392, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r7f4 = f >>> d; >r7f4 : Symbol(r7f4, Decl(arithmeticOperatorWithInvalidOperands.ts, 393, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r7f5 = f >>> e; >r7f5 : Symbol(r7f5, Decl(arithmeticOperatorWithInvalidOperands.ts, 394, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r7f6 = f >>> f; >r7f6 : Symbol(r7f6, Decl(arithmeticOperatorWithInvalidOperands.ts, 395, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r7g1 = E.a >>> a; //ok >r7g1 : Symbol(r7g1, Decl(arithmeticOperatorWithInvalidOperands.ts, 397, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r7g2 = E.a >>> b; >r7g2 : Symbol(r7g2, Decl(arithmeticOperatorWithInvalidOperands.ts, 398, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r7g3 = E.a >>> c; //ok >r7g3 : Symbol(r7g3, Decl(arithmeticOperatorWithInvalidOperands.ts, 399, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r7g4 = E.a >>> d; >r7g4 : Symbol(r7g4, Decl(arithmeticOperatorWithInvalidOperands.ts, 400, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r7g5 = E.a >>> e; >r7g5 : Symbol(r7g5, Decl(arithmeticOperatorWithInvalidOperands.ts, 401, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r7g6 = E.a >>> f; >r7g6 : Symbol(r7g6, Decl(arithmeticOperatorWithInvalidOperands.ts, 402, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r7h1 = a >>> E.b; //ok >r7h1 : Symbol(r7h1, Decl(arithmeticOperatorWithInvalidOperands.ts, 404, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r7h2 = b >>> E.b; >r7h2 : Symbol(r7h2, Decl(arithmeticOperatorWithInvalidOperands.ts, 405, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r7h3 = c >>> E.b; //ok >r7h3 : Symbol(r7h3, Decl(arithmeticOperatorWithInvalidOperands.ts, 406, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r7h4 = d >>> E.b; >r7h4 : Symbol(r7h4, Decl(arithmeticOperatorWithInvalidOperands.ts, 407, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r7h5 = e >>> E.b; >r7h5 : Symbol(r7h5, Decl(arithmeticOperatorWithInvalidOperands.ts, 408, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r7h6 = f >>> E.b; >r7h6 : Symbol(r7h6, Decl(arithmeticOperatorWithInvalidOperands.ts, 409, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) @@ -1888,264 +1888,264 @@ var r7h6 = f >>> E.b; // operator & var r8a1 = a & a; //ok >r8a1 : Symbol(r8a1, Decl(arithmeticOperatorWithInvalidOperands.ts, 412, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r8a2 = a & b; >r8a2 : Symbol(r8a2, Decl(arithmeticOperatorWithInvalidOperands.ts, 413, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r8a3 = a & c; //ok >r8a3 : Symbol(r8a3, Decl(arithmeticOperatorWithInvalidOperands.ts, 414, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r8a4 = a & d; >r8a4 : Symbol(r8a4, Decl(arithmeticOperatorWithInvalidOperands.ts, 415, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r8a5 = a & e; >r8a5 : Symbol(r8a5, Decl(arithmeticOperatorWithInvalidOperands.ts, 416, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r8a6 = a & f; >r8a6 : Symbol(r8a6, Decl(arithmeticOperatorWithInvalidOperands.ts, 417, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r8b1 = b & a; >r8b1 : Symbol(r8b1, Decl(arithmeticOperatorWithInvalidOperands.ts, 419, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r8b2 = b & b; >r8b2 : Symbol(r8b2, Decl(arithmeticOperatorWithInvalidOperands.ts, 420, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r8b3 = b & c; >r8b3 : Symbol(r8b3, Decl(arithmeticOperatorWithInvalidOperands.ts, 421, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r8b4 = b & d; >r8b4 : Symbol(r8b4, Decl(arithmeticOperatorWithInvalidOperands.ts, 422, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r8b5 = b & e; >r8b5 : Symbol(r8b5, Decl(arithmeticOperatorWithInvalidOperands.ts, 423, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r8b6 = b & f; >r8b6 : Symbol(r8b6, Decl(arithmeticOperatorWithInvalidOperands.ts, 424, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r8c1 = c & a; //ok >r8c1 : Symbol(r8c1, Decl(arithmeticOperatorWithInvalidOperands.ts, 426, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r8c2 = c & b; >r8c2 : Symbol(r8c2, Decl(arithmeticOperatorWithInvalidOperands.ts, 427, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r8c3 = c & c; //ok >r8c3 : Symbol(r8c3, Decl(arithmeticOperatorWithInvalidOperands.ts, 428, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r8c4 = c & d; >r8c4 : Symbol(r8c4, Decl(arithmeticOperatorWithInvalidOperands.ts, 429, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r8c5 = c & e; >r8c5 : Symbol(r8c5, Decl(arithmeticOperatorWithInvalidOperands.ts, 430, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r8c6 = c & f; >r8c6 : Symbol(r8c6, Decl(arithmeticOperatorWithInvalidOperands.ts, 431, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r8d1 = d & a; >r8d1 : Symbol(r8d1, Decl(arithmeticOperatorWithInvalidOperands.ts, 433, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r8d2 = d & b; >r8d2 : Symbol(r8d2, Decl(arithmeticOperatorWithInvalidOperands.ts, 434, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r8d3 = d & c; >r8d3 : Symbol(r8d3, Decl(arithmeticOperatorWithInvalidOperands.ts, 435, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r8d4 = d & d; >r8d4 : Symbol(r8d4, Decl(arithmeticOperatorWithInvalidOperands.ts, 436, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r8d5 = d & e; >r8d5 : Symbol(r8d5, Decl(arithmeticOperatorWithInvalidOperands.ts, 437, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r8d6 = d & f; >r8d6 : Symbol(r8d6, Decl(arithmeticOperatorWithInvalidOperands.ts, 438, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r8e1 = e & a; >r8e1 : Symbol(r8e1, Decl(arithmeticOperatorWithInvalidOperands.ts, 440, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r8e2 = e & b; >r8e2 : Symbol(r8e2, Decl(arithmeticOperatorWithInvalidOperands.ts, 441, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r8e3 = e & c; >r8e3 : Symbol(r8e3, Decl(arithmeticOperatorWithInvalidOperands.ts, 442, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r8e4 = e & d; >r8e4 : Symbol(r8e4, Decl(arithmeticOperatorWithInvalidOperands.ts, 443, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r8e5 = e & e; >r8e5 : Symbol(r8e5, Decl(arithmeticOperatorWithInvalidOperands.ts, 444, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r8e6 = e & f; >r8e6 : Symbol(r8e6, Decl(arithmeticOperatorWithInvalidOperands.ts, 445, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r8f1 = f & a; >r8f1 : Symbol(r8f1, Decl(arithmeticOperatorWithInvalidOperands.ts, 447, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r8f2 = f & b; >r8f2 : Symbol(r8f2, Decl(arithmeticOperatorWithInvalidOperands.ts, 448, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r8f3 = f & c; >r8f3 : Symbol(r8f3, Decl(arithmeticOperatorWithInvalidOperands.ts, 449, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r8f4 = f & d; >r8f4 : Symbol(r8f4, Decl(arithmeticOperatorWithInvalidOperands.ts, 450, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r8f5 = f & e; >r8f5 : Symbol(r8f5, Decl(arithmeticOperatorWithInvalidOperands.ts, 451, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r8f6 = f & f; >r8f6 : Symbol(r8f6, Decl(arithmeticOperatorWithInvalidOperands.ts, 452, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r8g1 = E.a & a; //ok >r8g1 : Symbol(r8g1, Decl(arithmeticOperatorWithInvalidOperands.ts, 454, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r8g2 = E.a & b; >r8g2 : Symbol(r8g2, Decl(arithmeticOperatorWithInvalidOperands.ts, 455, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r8g3 = E.a & c; //ok >r8g3 : Symbol(r8g3, Decl(arithmeticOperatorWithInvalidOperands.ts, 456, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r8g4 = E.a & d; >r8g4 : Symbol(r8g4, Decl(arithmeticOperatorWithInvalidOperands.ts, 457, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r8g5 = E.a & e; >r8g5 : Symbol(r8g5, Decl(arithmeticOperatorWithInvalidOperands.ts, 458, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r8g6 = E.a & f; >r8g6 : Symbol(r8g6, Decl(arithmeticOperatorWithInvalidOperands.ts, 459, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r8h1 = a & E.b; //ok >r8h1 : Symbol(r8h1, Decl(arithmeticOperatorWithInvalidOperands.ts, 461, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r8h2 = b & E.b; >r8h2 : Symbol(r8h2, Decl(arithmeticOperatorWithInvalidOperands.ts, 462, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r8h3 = c & E.b; //ok >r8h3 : Symbol(r8h3, Decl(arithmeticOperatorWithInvalidOperands.ts, 463, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r8h4 = d & E.b; >r8h4 : Symbol(r8h4, Decl(arithmeticOperatorWithInvalidOperands.ts, 464, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r8h5 = e & E.b; >r8h5 : Symbol(r8h5, Decl(arithmeticOperatorWithInvalidOperands.ts, 465, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r8h6 = f & E.b; >r8h6 : Symbol(r8h6, Decl(arithmeticOperatorWithInvalidOperands.ts, 466, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) @@ -2153,264 +2153,264 @@ var r8h6 = f & E.b; // operator ^ var r9a1 = a ^ a; //ok >r9a1 : Symbol(r9a1, Decl(arithmeticOperatorWithInvalidOperands.ts, 469, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r9a2 = a ^ b; >r9a2 : Symbol(r9a2, Decl(arithmeticOperatorWithInvalidOperands.ts, 470, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r9a3 = a ^ c; //ok >r9a3 : Symbol(r9a3, Decl(arithmeticOperatorWithInvalidOperands.ts, 471, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r9a4 = a ^ d; >r9a4 : Symbol(r9a4, Decl(arithmeticOperatorWithInvalidOperands.ts, 472, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r9a5 = a ^ e; >r9a5 : Symbol(r9a5, Decl(arithmeticOperatorWithInvalidOperands.ts, 473, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r9a6 = a ^ f; >r9a6 : Symbol(r9a6, Decl(arithmeticOperatorWithInvalidOperands.ts, 474, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r9b1 = b ^ a; >r9b1 : Symbol(r9b1, Decl(arithmeticOperatorWithInvalidOperands.ts, 476, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r9b2 = b ^ b; >r9b2 : Symbol(r9b2, Decl(arithmeticOperatorWithInvalidOperands.ts, 477, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r9b3 = b ^ c; >r9b3 : Symbol(r9b3, Decl(arithmeticOperatorWithInvalidOperands.ts, 478, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r9b4 = b ^ d; >r9b4 : Symbol(r9b4, Decl(arithmeticOperatorWithInvalidOperands.ts, 479, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r9b5 = b ^ e; >r9b5 : Symbol(r9b5, Decl(arithmeticOperatorWithInvalidOperands.ts, 480, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r9b6 = b ^ f; >r9b6 : Symbol(r9b6, Decl(arithmeticOperatorWithInvalidOperands.ts, 481, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r9c1 = c ^ a; //ok >r9c1 : Symbol(r9c1, Decl(arithmeticOperatorWithInvalidOperands.ts, 483, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r9c2 = c ^ b; >r9c2 : Symbol(r9c2, Decl(arithmeticOperatorWithInvalidOperands.ts, 484, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r9c3 = c ^ c; //ok >r9c3 : Symbol(r9c3, Decl(arithmeticOperatorWithInvalidOperands.ts, 485, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r9c4 = c ^ d; >r9c4 : Symbol(r9c4, Decl(arithmeticOperatorWithInvalidOperands.ts, 486, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r9c5 = c ^ e; >r9c5 : Symbol(r9c5, Decl(arithmeticOperatorWithInvalidOperands.ts, 487, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r9c6 = c ^ f; >r9c6 : Symbol(r9c6, Decl(arithmeticOperatorWithInvalidOperands.ts, 488, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r9d1 = d ^ a; >r9d1 : Symbol(r9d1, Decl(arithmeticOperatorWithInvalidOperands.ts, 490, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r9d2 = d ^ b; >r9d2 : Symbol(r9d2, Decl(arithmeticOperatorWithInvalidOperands.ts, 491, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r9d3 = d ^ c; >r9d3 : Symbol(r9d3, Decl(arithmeticOperatorWithInvalidOperands.ts, 492, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r9d4 = d ^ d; >r9d4 : Symbol(r9d4, Decl(arithmeticOperatorWithInvalidOperands.ts, 493, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r9d5 = d ^ e; >r9d5 : Symbol(r9d5, Decl(arithmeticOperatorWithInvalidOperands.ts, 494, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r9d6 = d ^ f; >r9d6 : Symbol(r9d6, Decl(arithmeticOperatorWithInvalidOperands.ts, 495, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r9e1 = e ^ a; >r9e1 : Symbol(r9e1, Decl(arithmeticOperatorWithInvalidOperands.ts, 497, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r9e2 = e ^ b; >r9e2 : Symbol(r9e2, Decl(arithmeticOperatorWithInvalidOperands.ts, 498, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r9e3 = e ^ c; >r9e3 : Symbol(r9e3, Decl(arithmeticOperatorWithInvalidOperands.ts, 499, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r9e4 = e ^ d; >r9e4 : Symbol(r9e4, Decl(arithmeticOperatorWithInvalidOperands.ts, 500, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r9e5 = e ^ e; >r9e5 : Symbol(r9e5, Decl(arithmeticOperatorWithInvalidOperands.ts, 501, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r9e6 = e ^ f; >r9e6 : Symbol(r9e6, Decl(arithmeticOperatorWithInvalidOperands.ts, 502, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r9f1 = f ^ a; >r9f1 : Symbol(r9f1, Decl(arithmeticOperatorWithInvalidOperands.ts, 504, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r9f2 = f ^ b; >r9f2 : Symbol(r9f2, Decl(arithmeticOperatorWithInvalidOperands.ts, 505, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r9f3 = f ^ c; >r9f3 : Symbol(r9f3, Decl(arithmeticOperatorWithInvalidOperands.ts, 506, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r9f4 = f ^ d; >r9f4 : Symbol(r9f4, Decl(arithmeticOperatorWithInvalidOperands.ts, 507, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r9f5 = f ^ e; >r9f5 : Symbol(r9f5, Decl(arithmeticOperatorWithInvalidOperands.ts, 508, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r9f6 = f ^ f; >r9f6 : Symbol(r9f6, Decl(arithmeticOperatorWithInvalidOperands.ts, 509, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r9g1 = E.a ^ a; //ok >r9g1 : Symbol(r9g1, Decl(arithmeticOperatorWithInvalidOperands.ts, 511, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r9g2 = E.a ^ b; >r9g2 : Symbol(r9g2, Decl(arithmeticOperatorWithInvalidOperands.ts, 512, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r9g3 = E.a ^ c; //ok >r9g3 : Symbol(r9g3, Decl(arithmeticOperatorWithInvalidOperands.ts, 513, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r9g4 = E.a ^ d; >r9g4 : Symbol(r9g4, Decl(arithmeticOperatorWithInvalidOperands.ts, 514, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r9g5 = E.a ^ e; >r9g5 : Symbol(r9g5, Decl(arithmeticOperatorWithInvalidOperands.ts, 515, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r9g6 = E.a ^ f; >r9g6 : Symbol(r9g6, Decl(arithmeticOperatorWithInvalidOperands.ts, 516, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r9h1 = a ^ E.b; //ok >r9h1 : Symbol(r9h1, Decl(arithmeticOperatorWithInvalidOperands.ts, 518, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r9h2 = b ^ E.b; >r9h2 : Symbol(r9h2, Decl(arithmeticOperatorWithInvalidOperands.ts, 519, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r9h3 = c ^ E.b; //ok >r9h3 : Symbol(r9h3, Decl(arithmeticOperatorWithInvalidOperands.ts, 520, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r9h4 = d ^ E.b; >r9h4 : Symbol(r9h4, Decl(arithmeticOperatorWithInvalidOperands.ts, 521, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r9h5 = e ^ E.b; >r9h5 : Symbol(r9h5, Decl(arithmeticOperatorWithInvalidOperands.ts, 522, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r9h6 = f ^ E.b; >r9h6 : Symbol(r9h6, Decl(arithmeticOperatorWithInvalidOperands.ts, 523, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) @@ -2418,264 +2418,264 @@ var r9h6 = f ^ E.b; // operator | var r10a1 = a | a; //ok >r10a1 : Symbol(r10a1, Decl(arithmeticOperatorWithInvalidOperands.ts, 526, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r10a2 = a | b; >r10a2 : Symbol(r10a2, Decl(arithmeticOperatorWithInvalidOperands.ts, 527, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r10a3 = a | c; //ok >r10a3 : Symbol(r10a3, Decl(arithmeticOperatorWithInvalidOperands.ts, 528, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r10a4 = a | d; >r10a4 : Symbol(r10a4, Decl(arithmeticOperatorWithInvalidOperands.ts, 529, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r10a5 = a | e; >r10a5 : Symbol(r10a5, Decl(arithmeticOperatorWithInvalidOperands.ts, 530, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r10a6 = a | f; >r10a6 : Symbol(r10a6, Decl(arithmeticOperatorWithInvalidOperands.ts, 531, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r10b1 = b | a; >r10b1 : Symbol(r10b1, Decl(arithmeticOperatorWithInvalidOperands.ts, 533, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r10b2 = b | b; >r10b2 : Symbol(r10b2, Decl(arithmeticOperatorWithInvalidOperands.ts, 534, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r10b3 = b | c; >r10b3 : Symbol(r10b3, Decl(arithmeticOperatorWithInvalidOperands.ts, 535, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r10b4 = b | d; >r10b4 : Symbol(r10b4, Decl(arithmeticOperatorWithInvalidOperands.ts, 536, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r10b5 = b | e; >r10b5 : Symbol(r10b5, Decl(arithmeticOperatorWithInvalidOperands.ts, 537, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r10b6 = b | f; >r10b6 : Symbol(r10b6, Decl(arithmeticOperatorWithInvalidOperands.ts, 538, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r10c1 = c | a; //ok >r10c1 : Symbol(r10c1, Decl(arithmeticOperatorWithInvalidOperands.ts, 540, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r10c2 = c | b; >r10c2 : Symbol(r10c2, Decl(arithmeticOperatorWithInvalidOperands.ts, 541, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r10c3 = c | c; //ok >r10c3 : Symbol(r10c3, Decl(arithmeticOperatorWithInvalidOperands.ts, 542, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r10c4 = c | d; >r10c4 : Symbol(r10c4, Decl(arithmeticOperatorWithInvalidOperands.ts, 543, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r10c5 = c | e; >r10c5 : Symbol(r10c5, Decl(arithmeticOperatorWithInvalidOperands.ts, 544, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r10c6 = c | f; >r10c6 : Symbol(r10c6, Decl(arithmeticOperatorWithInvalidOperands.ts, 545, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r10d1 = d | a; >r10d1 : Symbol(r10d1, Decl(arithmeticOperatorWithInvalidOperands.ts, 547, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r10d2 = d | b; >r10d2 : Symbol(r10d2, Decl(arithmeticOperatorWithInvalidOperands.ts, 548, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r10d3 = d | c; >r10d3 : Symbol(r10d3, Decl(arithmeticOperatorWithInvalidOperands.ts, 549, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r10d4 = d | d; >r10d4 : Symbol(r10d4, Decl(arithmeticOperatorWithInvalidOperands.ts, 550, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r10d5 = d | e; >r10d5 : Symbol(r10d5, Decl(arithmeticOperatorWithInvalidOperands.ts, 551, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r10d6 = d | f; >r10d6 : Symbol(r10d6, Decl(arithmeticOperatorWithInvalidOperands.ts, 552, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r10e1 = e | a; >r10e1 : Symbol(r10e1, Decl(arithmeticOperatorWithInvalidOperands.ts, 554, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r10e2 = e | b; >r10e2 : Symbol(r10e2, Decl(arithmeticOperatorWithInvalidOperands.ts, 555, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r10e3 = e | c; >r10e3 : Symbol(r10e3, Decl(arithmeticOperatorWithInvalidOperands.ts, 556, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r10e4 = e | d; >r10e4 : Symbol(r10e4, Decl(arithmeticOperatorWithInvalidOperands.ts, 557, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r10e5 = e | e; >r10e5 : Symbol(r10e5, Decl(arithmeticOperatorWithInvalidOperands.ts, 558, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r10e6 = e | f; >r10e6 : Symbol(r10e6, Decl(arithmeticOperatorWithInvalidOperands.ts, 559, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r10f1 = f | a; >r10f1 : Symbol(r10f1, Decl(arithmeticOperatorWithInvalidOperands.ts, 561, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r10f2 = f | b; >r10f2 : Symbol(r10f2, Decl(arithmeticOperatorWithInvalidOperands.ts, 562, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r10f3 = f | c; >r10f3 : Symbol(r10f3, Decl(arithmeticOperatorWithInvalidOperands.ts, 563, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r10f4 = f | d; >r10f4 : Symbol(r10f4, Decl(arithmeticOperatorWithInvalidOperands.ts, 564, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r10f5 = f | e; >r10f5 : Symbol(r10f5, Decl(arithmeticOperatorWithInvalidOperands.ts, 565, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r10f6 = f | f; >r10f6 : Symbol(r10f6, Decl(arithmeticOperatorWithInvalidOperands.ts, 566, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r10g1 = E.a | a; //ok >r10g1 : Symbol(r10g1, Decl(arithmeticOperatorWithInvalidOperands.ts, 568, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) var r10g2 = E.a | b; >r10g2 : Symbol(r10g2, Decl(arithmeticOperatorWithInvalidOperands.ts, 569, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) var r10g3 = E.a | c; //ok >r10g3 : Symbol(r10g3, Decl(arithmeticOperatorWithInvalidOperands.ts, 570, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) var r10g4 = E.a | d; >r10g4 : Symbol(r10g4, Decl(arithmeticOperatorWithInvalidOperands.ts, 571, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) var r10g5 = E.a | e; >r10g5 : Symbol(r10g5, Decl(arithmeticOperatorWithInvalidOperands.ts, 572, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) var r10g6 = E.a | f; >r10g6 : Symbol(r10g6, Decl(arithmeticOperatorWithInvalidOperands.ts, 573, 3)) >E.a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 8)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) var r10h1 = a | E.b; //ok >r10h1 : Symbol(r10h1, Decl(arithmeticOperatorWithInvalidOperands.ts, 575, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithInvalidOperands.ts, 4, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r10h2 = b | E.b; >r10h2 : Symbol(r10h2, Decl(arithmeticOperatorWithInvalidOperands.ts, 576, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithInvalidOperands.ts, 5, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r10h3 = c | E.b; //ok >r10h3 : Symbol(r10h3, Decl(arithmeticOperatorWithInvalidOperands.ts, 577, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithInvalidOperands.ts, 6, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r10h4 = d | E.b; >r10h4 : Symbol(r10h4, Decl(arithmeticOperatorWithInvalidOperands.ts, 578, 3)) ->d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(arithmeticOperatorWithInvalidOperands.ts, 7, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r10h5 = e | E.b; >r10h5 : Symbol(r10h5, Decl(arithmeticOperatorWithInvalidOperands.ts, 579, 3)) ->e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(arithmeticOperatorWithInvalidOperands.ts, 8, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) var r10h6 = f | E.b; >r10h6 : Symbol(r10h6, Decl(arithmeticOperatorWithInvalidOperands.ts, 580, 3)) ->f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 11)) >E.b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(arithmeticOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(arithmeticOperatorWithInvalidOperands.ts, 2, 11)) diff --git a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types index f891e3ee4fbc7..1cef952e10efa 100644 --- a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types +++ b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types @@ -13,29 +13,29 @@ enum E { a, b, c } >c : E.c > : ^^^ -var a: any; +declare var a: any; >a : any > : ^^^ -var b: boolean; +declare var b: boolean; >b : boolean > : ^^^^^^^ -var c: number; +declare var c: number; >c : number > : ^^^^^^ -var d: string; +declare var d: string; >d : string > : ^^^^^^ -var e: { a: number }; +declare var e: { a: number }; >e : { a: number; } > : ^^^^^ ^^^ >a : number > : ^^^^^^ -var f: Number; +declare var f: Number; >f : Number > : ^^^^^^ diff --git a/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.errors.txt b/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.errors.txt index 2d254bda40710..a71c0deaa7922 100644 --- a/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.errors.txt +++ b/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.errors.txt @@ -244,9 +244,9 @@ arithmeticOperatorWithNullValueAndInvalidOperands.ts(176,18): error TS18050: The // If one operand is the null or undefined value, it is treated as having the type of the // other operand. - var a: boolean; - var b: string; - var c: Object; + declare var a: boolean; + declare var b: string; + declare var c: Object; // operator * var r1a1 = null * a; diff --git a/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.js b/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.js index 244abd14561e6..9cd24a96541d2 100644 --- a/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.js +++ b/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.js @@ -4,9 +4,9 @@ // If one operand is the null or undefined value, it is treated as having the type of the // other operand. -var a: boolean; -var b: string; -var c: Object; +declare var a: boolean; +declare var b: string; +declare var c: Object; // operator * var r1a1 = null * a; @@ -181,9 +181,6 @@ var r10d3 = {} | null; //// [arithmeticOperatorWithNullValueAndInvalidOperands.js] // If one operand is the null or undefined value, it is treated as having the type of the // other operand. -var a; -var b; -var c; // operator * var r1a1 = null * a; var r1a2 = null * b; diff --git a/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.symbols b/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.symbols index 09060fcd5f1ca..d5ba2cf80d8c7 100644 --- a/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.symbols +++ b/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.symbols @@ -4,40 +4,40 @@ // If one operand is the null or undefined value, it is treated as having the type of the // other operand. -var a: boolean; ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +declare var a: boolean; +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) -var b: string; ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +declare var b: string; +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) -var c: Object; ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +declare var c: Object; +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // operator * var r1a1 = null * a; >r1a1 : Symbol(r1a1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r1a2 = null * b; >r1a2 : Symbol(r1a2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 9, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r1a3 = null * c; >r1a3 : Symbol(r1a3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 10, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r1b1 = a * null; >r1b1 : Symbol(r1b1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 12, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r1b2 = b * null; >r1b2 : Symbol(r1b2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 13, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r1b3 = c * null; >r1b3 : Symbol(r1b3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 14, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r1c1 = null * true; >r1c1 : Symbol(r1c1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 16, 3)) @@ -60,27 +60,27 @@ var r1d3 = {} * null; // operator / var r2a1 = null / a; >r2a1 : Symbol(r2a1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 25, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r2a2 = null / b; >r2a2 : Symbol(r2a2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 26, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r2a3 = null / c; >r2a3 : Symbol(r2a3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 27, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r2b1 = a / null; >r2b1 : Symbol(r2b1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 29, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r2b2 = b / null; >r2b2 : Symbol(r2b2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 30, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r2b3 = c / null; >r2b3 : Symbol(r2b3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 31, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r2c1 = null / true; >r2c1 : Symbol(r2c1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 33, 3)) @@ -103,27 +103,27 @@ var r2d3 = {} / null; // operator % var r3a1 = null % a; >r3a1 : Symbol(r3a1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 42, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r3a2 = null % b; >r3a2 : Symbol(r3a2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 43, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r3a3 = null % c; >r3a3 : Symbol(r3a3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 44, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r3b1 = a % null; >r3b1 : Symbol(r3b1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 46, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r3b2 = b % null; >r3b2 : Symbol(r3b2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 47, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r3b3 = c % null; >r3b3 : Symbol(r3b3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 48, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r3c1 = null % true; >r3c1 : Symbol(r3c1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 50, 3)) @@ -146,27 +146,27 @@ var r3d3 = {} % null; // operator - var r4a1 = null - a; >r4a1 : Symbol(r4a1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 59, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r4a2 = null - b; >r4a2 : Symbol(r4a2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 60, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r4a3 = null - c; >r4a3 : Symbol(r4a3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 61, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r4b1 = a - null; >r4b1 : Symbol(r4b1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 63, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r4b2 = b - null; >r4b2 : Symbol(r4b2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 64, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r4b3 = c - null; >r4b3 : Symbol(r4b3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 65, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r4c1 = null - true; >r4c1 : Symbol(r4c1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 67, 3)) @@ -189,27 +189,27 @@ var r4d3 = {} - null; // operator << var r5a1 = null << a; >r5a1 : Symbol(r5a1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 76, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r5a2 = null << b; >r5a2 : Symbol(r5a2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 77, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r5a3 = null << c; >r5a3 : Symbol(r5a3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 78, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r5b1 = a << null; >r5b1 : Symbol(r5b1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 80, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r5b2 = b << null; >r5b2 : Symbol(r5b2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 81, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r5b3 = c << null; >r5b3 : Symbol(r5b3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 82, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r5c1 = null << true; >r5c1 : Symbol(r5c1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 84, 3)) @@ -232,27 +232,27 @@ var r5d3 = {} << null; // operator >> var r6a1 = null >> a; >r6a1 : Symbol(r6a1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 93, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r6a2 = null >> b; >r6a2 : Symbol(r6a2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 94, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r6a3 = null >> c; >r6a3 : Symbol(r6a3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 95, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r6b1 = a >> null; >r6b1 : Symbol(r6b1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 97, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r6b2 = b >> null; >r6b2 : Symbol(r6b2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 98, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r6b3 = c >> null; >r6b3 : Symbol(r6b3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 99, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r6c1 = null >> true; >r6c1 : Symbol(r6c1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 101, 3)) @@ -275,27 +275,27 @@ var r6d3 = {} >> null; // operator >>> var r7a1 = null >>> a; >r7a1 : Symbol(r7a1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 110, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r7a2 = null >>> b; >r7a2 : Symbol(r7a2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 111, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r7a3 = null >>> c; >r7a3 : Symbol(r7a3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 112, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r7b1 = a >>> null; >r7b1 : Symbol(r7b1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 114, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r7b2 = b >>> null; >r7b2 : Symbol(r7b2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 115, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r7b3 = c >>> null; >r7b3 : Symbol(r7b3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 116, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r7c1 = null >>> true; >r7c1 : Symbol(r7c1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 118, 3)) @@ -318,27 +318,27 @@ var r7d3 = {} >>> null; // operator & var r8a1 = null & a; >r8a1 : Symbol(r8a1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 127, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r8a2 = null & b; >r8a2 : Symbol(r8a2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 128, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r8a3 = null & c; >r8a3 : Symbol(r8a3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 129, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r8b1 = a & null; >r8b1 : Symbol(r8b1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 131, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r8b2 = b & null; >r8b2 : Symbol(r8b2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 132, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r8b3 = c & null; >r8b3 : Symbol(r8b3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 133, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r8c1 = null & true; >r8c1 : Symbol(r8c1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 135, 3)) @@ -361,27 +361,27 @@ var r8d3 = {} & null; // operator ^ var r9a1 = null ^ a; >r9a1 : Symbol(r9a1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 144, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r9a2 = null ^ b; >r9a2 : Symbol(r9a2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 145, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r9a3 = null ^ c; >r9a3 : Symbol(r9a3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 146, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r9b1 = a ^ null; >r9b1 : Symbol(r9b1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 148, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r9b2 = b ^ null; >r9b2 : Symbol(r9b2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 149, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r9b3 = c ^ null; >r9b3 : Symbol(r9b3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 150, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r9c1 = null ^ true; >r9c1 : Symbol(r9c1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 152, 3)) @@ -404,27 +404,27 @@ var r9d3 = {} ^ null; // operator | var r10a1 = null | a; >r10a1 : Symbol(r10a1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 161, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r10a2 = null | b; >r10a2 : Symbol(r10a2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 162, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r10a3 = null | c; >r10a3 : Symbol(r10a3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 163, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r10b1 = a | null; >r10b1 : Symbol(r10b1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 165, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r10b2 = b | null; >r10b2 : Symbol(r10b2, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 166, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r10b3 = c | null; >r10b3 : Symbol(r10b3, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 167, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r10c1 = null | true; >r10c1 : Symbol(r10c1, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 169, 3)) diff --git a/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.types b/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.types index ba7ec86c6502b..8701591dc517b 100644 --- a/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.types +++ b/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.types @@ -4,15 +4,15 @@ // If one operand is the null or undefined value, it is treated as having the type of the // other operand. -var a: boolean; +declare var a: boolean; >a : boolean > : ^^^^^^^ -var b: string; +declare var b: string; >b : string > : ^^^^^^ -var c: Object; +declare var c: Object; >c : Object > : ^^^^^^ diff --git a/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.errors.txt b/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.errors.txt index dbb3c8ee7036a..4a4e273a4ac82 100644 --- a/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.errors.txt +++ b/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.errors.txt @@ -89,8 +89,8 @@ arithmeticOperatorWithNullValueAndValidOperands.ts(110,17): error TS18050: The v b } - var a: any; - var b: number; + declare var a: any; + declare var b: number; // operator * var ra1 = null * a; diff --git a/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.js b/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.js index fa3b897c3cc54..eef8b00890737 100644 --- a/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.js +++ b/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.js @@ -9,8 +9,8 @@ enum E { b } -var a: any; -var b: number; +declare var a: any; +declare var b: number; // operator * var ra1 = null * a; @@ -120,8 +120,6 @@ var E; E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; })(E || (E = {})); -var a; -var b; // operator * var ra1 = null * a; var ra2 = null * b; diff --git a/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.symbols b/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.symbols index 971e192d68aa7..16429a1b9a7a2 100644 --- a/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.symbols +++ b/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.symbols @@ -14,20 +14,20 @@ enum E { >b : Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6)) } -var a: any; ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +declare var a: any; +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) -var b: number; ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +declare var b: number; +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) // operator * var ra1 = null * a; >ra1 : Symbol(ra1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 12, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var ra2 = null * b; >ra2 : Symbol(ra2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 13, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var ra3 = null * 1; >ra3 : Symbol(ra3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 14, 3)) @@ -40,11 +40,11 @@ var ra4 = null * E.a; var ra5 = a * null; >ra5 : Symbol(ra5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 16, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var ra6 = b * null; >ra6 : Symbol(ra6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 17, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var ra7 = 0 * null; >ra7 : Symbol(ra7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 18, 3)) @@ -58,11 +58,11 @@ var ra8 = E.b * null; // operator / var rb1 = null / a; >rb1 : Symbol(rb1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 22, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var rb2 = null / b; >rb2 : Symbol(rb2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 23, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var rb3 = null / 1; >rb3 : Symbol(rb3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 24, 3)) @@ -75,11 +75,11 @@ var rb4 = null / E.a; var rb5 = a / null; >rb5 : Symbol(rb5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 26, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var rb6 = b / null; >rb6 : Symbol(rb6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 27, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var rb7 = 0 / null; >rb7 : Symbol(rb7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 28, 3)) @@ -93,11 +93,11 @@ var rb8 = E.b / null; // operator % var rc1 = null % a; >rc1 : Symbol(rc1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 32, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var rc2 = null % b; >rc2 : Symbol(rc2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 33, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var rc3 = null % 1; >rc3 : Symbol(rc3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 34, 3)) @@ -110,11 +110,11 @@ var rc4 = null % E.a; var rc5 = a % null; >rc5 : Symbol(rc5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 36, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var rc6 = b % null; >rc6 : Symbol(rc6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 37, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var rc7 = 0 % null; >rc7 : Symbol(rc7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 38, 3)) @@ -128,11 +128,11 @@ var rc8 = E.b % null; // operator - var rd1 = null - a; >rd1 : Symbol(rd1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 42, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var rd2 = null - b; >rd2 : Symbol(rd2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 43, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var rd3 = null - 1; >rd3 : Symbol(rd3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 44, 3)) @@ -145,11 +145,11 @@ var rd4 = null - E.a; var rd5 = a - null; >rd5 : Symbol(rd5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 46, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var rd6 = b - null; >rd6 : Symbol(rd6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 47, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var rd7 = 0 - null; >rd7 : Symbol(rd7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 48, 3)) @@ -163,11 +163,11 @@ var rd8 = E.b - null; // operator << var re1 = null << a; >re1 : Symbol(re1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 52, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var re2 = null << b; >re2 : Symbol(re2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 53, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var re3 = null << 1; >re3 : Symbol(re3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 54, 3)) @@ -180,11 +180,11 @@ var re4 = null << E.a; var re5 = a << null; >re5 : Symbol(re5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 56, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var re6 = b << null; >re6 : Symbol(re6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 57, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var re7 = 0 << null; >re7 : Symbol(re7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 58, 3)) @@ -198,11 +198,11 @@ var re8 = E.b << null; // operator >> var rf1 = null >> a; >rf1 : Symbol(rf1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 62, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var rf2 = null >> b; >rf2 : Symbol(rf2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 63, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var rf3 = null >> 1; >rf3 : Symbol(rf3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 64, 3)) @@ -215,11 +215,11 @@ var rf4 = null >> E.a; var rf5 = a >> null; >rf5 : Symbol(rf5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 66, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var rf6 = b >> null; >rf6 : Symbol(rf6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 67, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var rf7 = 0 >> null; >rf7 : Symbol(rf7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 68, 3)) @@ -233,11 +233,11 @@ var rf8 = E.b >> null; // operator >>> var rg1 = null >>> a; >rg1 : Symbol(rg1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 72, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var rg2 = null >>> b; >rg2 : Symbol(rg2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 73, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var rg3 = null >>> 1; >rg3 : Symbol(rg3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 74, 3)) @@ -250,11 +250,11 @@ var rg4 = null >>> E.a; var rg5 = a >>> null; >rg5 : Symbol(rg5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 76, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var rg6 = b >>> null; >rg6 : Symbol(rg6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 77, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var rg7 = 0 >>> null; >rg7 : Symbol(rg7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 78, 3)) @@ -268,11 +268,11 @@ var rg8 = E.b >>> null; // operator & var rh1 = null & a; >rh1 : Symbol(rh1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 82, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var rh2 = null & b; >rh2 : Symbol(rh2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 83, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var rh3 = null & 1; >rh3 : Symbol(rh3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 84, 3)) @@ -285,11 +285,11 @@ var rh4 = null & E.a; var rh5 = a & null; >rh5 : Symbol(rh5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 86, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var rh6 = b & null; >rh6 : Symbol(rh6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 87, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var rh7 = 0 & null; >rh7 : Symbol(rh7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 88, 3)) @@ -303,11 +303,11 @@ var rh8 = E.b & null; // operator ^ var ri1 = null ^ a; >ri1 : Symbol(ri1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 92, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var ri2 = null ^ b; >ri2 : Symbol(ri2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 93, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var ri3 = null ^ 1; >ri3 : Symbol(ri3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 94, 3)) @@ -320,11 +320,11 @@ var ri4 = null ^ E.a; var ri5 = a ^ null; >ri5 : Symbol(ri5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 96, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var ri6 = b ^ null; >ri6 : Symbol(ri6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 97, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var ri7 = 0 ^ null; >ri7 : Symbol(ri7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 98, 3)) @@ -338,11 +338,11 @@ var ri8 = E.b ^ null; // operator | var rj1 = null | a; >rj1 : Symbol(rj1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 102, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var rj2 = null | b; >rj2 : Symbol(rj2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 103, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var rj3 = null | 1; >rj3 : Symbol(rj3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 104, 3)) @@ -355,11 +355,11 @@ var rj4 = null | E.a; var rj5 = a | null; >rj5 : Symbol(rj5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 106, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 11)) var rj6 = b | null; >rj6 : Symbol(rj6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 107, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 11)) var rj7 = 0 | null; >rj7 : Symbol(rj7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 108, 3)) diff --git a/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.types b/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.types index 98cc230a9471c..028613f87ccdc 100644 --- a/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.types +++ b/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.types @@ -17,11 +17,11 @@ enum E { > : ^^^ } -var a: any; +declare var a: any; >a : any > : ^^^ -var b: number; +declare var b: number; >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/arithmeticOperatorWithTypeParameter.errors.txt b/tests/baselines/reference/arithmeticOperatorWithTypeParameter.errors.txt index 8d895278b97f7..f64a079e3ca9b 100644 --- a/tests/baselines/reference/arithmeticOperatorWithTypeParameter.errors.txt +++ b/tests/baselines/reference/arithmeticOperatorWithTypeParameter.errors.txt @@ -183,11 +183,11 @@ arithmeticOperatorWithTypeParameter.ts(128,21): error TS2363: The right-hand sid ==== arithmeticOperatorWithTypeParameter.ts (180 errors) ==== // type parameter type is not valid for arithmetic operand function foo(t: T) { - var a: any; - var b: boolean; - var c: number; - var d: string; - var e: {}; + let a!: any; + let b!: boolean; + let c!: number; + let d!: string; + let e!: {}; var r1a1 = a * t; ~ diff --git a/tests/baselines/reference/arithmeticOperatorWithTypeParameter.js b/tests/baselines/reference/arithmeticOperatorWithTypeParameter.js index 6c76194913b6e..b25225c6e579a 100644 --- a/tests/baselines/reference/arithmeticOperatorWithTypeParameter.js +++ b/tests/baselines/reference/arithmeticOperatorWithTypeParameter.js @@ -3,11 +3,11 @@ //// [arithmeticOperatorWithTypeParameter.ts] // type parameter type is not valid for arithmetic operand function foo(t: T) { - var a: any; - var b: boolean; - var c: number; - var d: string; - var e: {}; + let a!: any; + let b!: boolean; + let c!: number; + let d!: string; + let e!: {}; var r1a1 = a * t; var r1a2 = a / t; diff --git a/tests/baselines/reference/arithmeticOperatorWithTypeParameter.symbols b/tests/baselines/reference/arithmeticOperatorWithTypeParameter.symbols index 4228f2ffad0a5..3063f4d1a54a6 100644 --- a/tests/baselines/reference/arithmeticOperatorWithTypeParameter.symbols +++ b/tests/baselines/reference/arithmeticOperatorWithTypeParameter.symbols @@ -8,19 +8,19 @@ function foo(t: T) { >t : Symbol(t, Decl(arithmeticOperatorWithTypeParameter.ts, 1, 16)) >T : Symbol(T, Decl(arithmeticOperatorWithTypeParameter.ts, 1, 13)) - var a: any; + let a!: any; >a : Symbol(a, Decl(arithmeticOperatorWithTypeParameter.ts, 2, 7)) - var b: boolean; + let b!: boolean; >b : Symbol(b, Decl(arithmeticOperatorWithTypeParameter.ts, 3, 7)) - var c: number; + let c!: number; >c : Symbol(c, Decl(arithmeticOperatorWithTypeParameter.ts, 4, 7)) - var d: string; + let d!: string; >d : Symbol(d, Decl(arithmeticOperatorWithTypeParameter.ts, 5, 7)) - var e: {}; + let e!: {}; >e : Symbol(e, Decl(arithmeticOperatorWithTypeParameter.ts, 6, 7)) var r1a1 = a * t; diff --git a/tests/baselines/reference/arithmeticOperatorWithTypeParameter.types b/tests/baselines/reference/arithmeticOperatorWithTypeParameter.types index 11e91bc03c362..fd7f11770780c 100644 --- a/tests/baselines/reference/arithmeticOperatorWithTypeParameter.types +++ b/tests/baselines/reference/arithmeticOperatorWithTypeParameter.types @@ -8,23 +8,23 @@ function foo(t: T) { >t : T > : ^ - var a: any; + let a!: any; >a : any > : ^^^ - var b: boolean; + let b!: boolean; >b : boolean > : ^^^^^^^ - var c: number; + let c!: number; >c : number > : ^^^^^^ - var d: string; + let d!: string; >d : string > : ^^^^^^ - var e: {}; + let e!: {}; >e : {} > : ^^ diff --git a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.errors.txt b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.errors.txt index 2597dbc861257..35ab0d3f2ec19 100644 --- a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.errors.txt +++ b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.errors.txt @@ -244,9 +244,9 @@ arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts(176,18): error TS18050 // If one operand is the undefined or undefined value, it is treated as having the type of the // other operand. - var a: boolean; - var b: string; - var c: Object; + declare var a: boolean; + declare var b: string; + declare var c: Object; // operator * var r1a1 = undefined * a; diff --git a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.js b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.js index e50c37344ca49..a771640b820d3 100644 --- a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.js +++ b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.js @@ -4,9 +4,9 @@ // If one operand is the undefined or undefined value, it is treated as having the type of the // other operand. -var a: boolean; -var b: string; -var c: Object; +declare var a: boolean; +declare var b: string; +declare var c: Object; // operator * var r1a1 = undefined * a; @@ -181,9 +181,6 @@ var r10d3 = {} | undefined; //// [arithmeticOperatorWithUndefinedValueAndInvalidOperands.js] // If one operand is the undefined or undefined value, it is treated as having the type of the // other operand. -var a; -var b; -var c; // operator * var r1a1 = undefined * a; var r1a2 = undefined * b; diff --git a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.symbols b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.symbols index a0c409aaf92b4..6c6643316a38c 100644 --- a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.symbols +++ b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.symbols @@ -4,45 +4,45 @@ // If one operand is the undefined or undefined value, it is treated as having the type of the // other operand. -var a: boolean; ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +declare var a: boolean; +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) -var b: string; ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +declare var b: string; +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) -var c: Object; ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +declare var c: Object; +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // operator * var r1a1 = undefined * a; >r1a1 : Symbol(r1a1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 8, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) var r1a2 = undefined * b; >r1a2 : Symbol(r1a2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 9, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) var r1a3 = undefined * c; >r1a3 : Symbol(r1a3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 10, 3)) >undefined : Symbol(undefined) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) var r1b1 = a * undefined; >r1b1 : Symbol(r1b1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 12, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) >undefined : Symbol(undefined) var r1b2 = b * undefined; >r1b2 : Symbol(r1b2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 13, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) >undefined : Symbol(undefined) var r1b3 = c * undefined; >r1b3 : Symbol(r1b3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 14, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) >undefined : Symbol(undefined) var r1c1 = undefined * true; @@ -73,31 +73,31 @@ var r1d3 = {} * undefined; var r2a1 = undefined / a; >r2a1 : Symbol(r2a1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 25, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) var r2a2 = undefined / b; >r2a2 : Symbol(r2a2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 26, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) var r2a3 = undefined / c; >r2a3 : Symbol(r2a3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 27, 3)) >undefined : Symbol(undefined) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) var r2b1 = a / undefined; >r2b1 : Symbol(r2b1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 29, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) >undefined : Symbol(undefined) var r2b2 = b / undefined; >r2b2 : Symbol(r2b2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 30, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) >undefined : Symbol(undefined) var r2b3 = c / undefined; >r2b3 : Symbol(r2b3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 31, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) >undefined : Symbol(undefined) var r2c1 = undefined / true; @@ -128,31 +128,31 @@ var r2d3 = {} / undefined; var r3a1 = undefined % a; >r3a1 : Symbol(r3a1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 42, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) var r3a2 = undefined % b; >r3a2 : Symbol(r3a2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 43, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) var r3a3 = undefined % c; >r3a3 : Symbol(r3a3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 44, 3)) >undefined : Symbol(undefined) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) var r3b1 = a % undefined; >r3b1 : Symbol(r3b1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 46, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) >undefined : Symbol(undefined) var r3b2 = b % undefined; >r3b2 : Symbol(r3b2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 47, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) >undefined : Symbol(undefined) var r3b3 = c % undefined; >r3b3 : Symbol(r3b3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 48, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) >undefined : Symbol(undefined) var r3c1 = undefined % true; @@ -183,31 +183,31 @@ var r3d3 = {} % undefined; var r4a1 = undefined - a; >r4a1 : Symbol(r4a1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 59, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) var r4a2 = undefined - b; >r4a2 : Symbol(r4a2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 60, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) var r4a3 = undefined - c; >r4a3 : Symbol(r4a3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 61, 3)) >undefined : Symbol(undefined) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) var r4b1 = a - undefined; >r4b1 : Symbol(r4b1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 63, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) >undefined : Symbol(undefined) var r4b2 = b - undefined; >r4b2 : Symbol(r4b2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 64, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) >undefined : Symbol(undefined) var r4b3 = c - undefined; >r4b3 : Symbol(r4b3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 65, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) >undefined : Symbol(undefined) var r4c1 = undefined - true; @@ -238,31 +238,31 @@ var r4d3 = {} - undefined; var r5a1 = undefined << a; >r5a1 : Symbol(r5a1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 76, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) var r5a2 = undefined << b; >r5a2 : Symbol(r5a2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 77, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) var r5a3 = undefined << c; >r5a3 : Symbol(r5a3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 78, 3)) >undefined : Symbol(undefined) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) var r5b1 = a << undefined; >r5b1 : Symbol(r5b1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 80, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) >undefined : Symbol(undefined) var r5b2 = b << undefined; >r5b2 : Symbol(r5b2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 81, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) >undefined : Symbol(undefined) var r5b3 = c << undefined; >r5b3 : Symbol(r5b3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 82, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) >undefined : Symbol(undefined) var r5c1 = undefined << true; @@ -293,31 +293,31 @@ var r5d3 = {} << undefined; var r6a1 = undefined >> a; >r6a1 : Symbol(r6a1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 93, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) var r6a2 = undefined >> b; >r6a2 : Symbol(r6a2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 94, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) var r6a3 = undefined >> c; >r6a3 : Symbol(r6a3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 95, 3)) >undefined : Symbol(undefined) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) var r6b1 = a >> undefined; >r6b1 : Symbol(r6b1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 97, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) >undefined : Symbol(undefined) var r6b2 = b >> undefined; >r6b2 : Symbol(r6b2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 98, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) >undefined : Symbol(undefined) var r6b3 = c >> undefined; >r6b3 : Symbol(r6b3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 99, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) >undefined : Symbol(undefined) var r6c1 = undefined >> true; @@ -348,31 +348,31 @@ var r6d3 = {} >> undefined; var r7a1 = undefined >>> a; >r7a1 : Symbol(r7a1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 110, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) var r7a2 = undefined >>> b; >r7a2 : Symbol(r7a2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 111, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) var r7a3 = undefined >>> c; >r7a3 : Symbol(r7a3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 112, 3)) >undefined : Symbol(undefined) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) var r7b1 = a >>> undefined; >r7b1 : Symbol(r7b1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 114, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) >undefined : Symbol(undefined) var r7b2 = b >>> undefined; >r7b2 : Symbol(r7b2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 115, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) >undefined : Symbol(undefined) var r7b3 = c >>> undefined; >r7b3 : Symbol(r7b3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 116, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) >undefined : Symbol(undefined) var r7c1 = undefined >>> true; @@ -403,31 +403,31 @@ var r7d3 = {} >>> undefined; var r8a1 = undefined & a; >r8a1 : Symbol(r8a1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 127, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) var r8a2 = undefined & b; >r8a2 : Symbol(r8a2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 128, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) var r8a3 = undefined & c; >r8a3 : Symbol(r8a3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 129, 3)) >undefined : Symbol(undefined) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) var r8b1 = a & undefined; >r8b1 : Symbol(r8b1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 131, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) >undefined : Symbol(undefined) var r8b2 = b & undefined; >r8b2 : Symbol(r8b2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 132, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) >undefined : Symbol(undefined) var r8b3 = c & undefined; >r8b3 : Symbol(r8b3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 133, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) >undefined : Symbol(undefined) var r8c1 = undefined & true; @@ -458,31 +458,31 @@ var r8d3 = {} & undefined; var r9a1 = undefined ^ a; >r9a1 : Symbol(r9a1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 144, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) var r9a2 = undefined ^ b; >r9a2 : Symbol(r9a2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 145, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) var r9a3 = undefined ^ c; >r9a3 : Symbol(r9a3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 146, 3)) >undefined : Symbol(undefined) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) var r9b1 = a ^ undefined; >r9b1 : Symbol(r9b1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 148, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) >undefined : Symbol(undefined) var r9b2 = b ^ undefined; >r9b2 : Symbol(r9b2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 149, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) >undefined : Symbol(undefined) var r9b3 = c ^ undefined; >r9b3 : Symbol(r9b3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 150, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) >undefined : Symbol(undefined) var r9c1 = undefined ^ true; @@ -513,31 +513,31 @@ var r9d3 = {} ^ undefined; var r10a1 = undefined | a; >r10a1 : Symbol(r10a1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 161, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) var r10a2 = undefined | b; >r10a2 : Symbol(r10a2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 162, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) var r10a3 = undefined | c; >r10a3 : Symbol(r10a3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 163, 3)) >undefined : Symbol(undefined) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) var r10b1 = a | undefined; >r10b1 : Symbol(r10b1, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 165, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) >undefined : Symbol(undefined) var r10b2 = b | undefined; >r10b2 : Symbol(r10b2, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 166, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) >undefined : Symbol(undefined) var r10b3 = c | undefined; >r10b3 : Symbol(r10b3, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 167, 3)) ->c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) >undefined : Symbol(undefined) var r10c1 = undefined | true; diff --git a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.types b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.types index 6c3ec53c7c60a..d5334eca68273 100644 --- a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.types +++ b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.types @@ -4,15 +4,15 @@ // If one operand is the undefined or undefined value, it is treated as having the type of the // other operand. -var a: boolean; +declare var a: boolean; >a : boolean > : ^^^^^^^ -var b: string; +declare var b: string; >b : string > : ^^^^^^ -var c: Object; +declare var c: Object; >c : Object > : ^^^^^^ diff --git a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.errors.txt b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.errors.txt index 53924924d504e..79c343eb2edca 100644 --- a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.errors.txt +++ b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.errors.txt @@ -89,8 +89,8 @@ arithmeticOperatorWithUndefinedValueAndValidOperands.ts(110,17): error TS18050: b } - var a: any; - var b: number; + declare var a: any; + declare var b: number; // operator * var ra1 = undefined * a; diff --git a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.js b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.js index fdb16d22f3009..b87edf044ecd8 100644 --- a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.js +++ b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.js @@ -9,8 +9,8 @@ enum E { b } -var a: any; -var b: number; +declare var a: any; +declare var b: number; // operator * var ra1 = undefined * a; @@ -120,8 +120,6 @@ var E; E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; })(E || (E = {})); -var a; -var b; // operator * var ra1 = undefined * a; var ra2 = undefined * b; diff --git a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.symbols b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.symbols index 6219bebd69096..e3f247befa219 100644 --- a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.symbols +++ b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.symbols @@ -14,22 +14,22 @@ enum E { >b : Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6)) } -var a: any; ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +declare var a: any; +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) -var b: number; ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +declare var b: number; +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) // operator * var ra1 = undefined * a; >ra1 : Symbol(ra1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 12, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) var ra2 = undefined * b; >ra2 : Symbol(ra2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 13, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) var ra3 = undefined * 1; >ra3 : Symbol(ra3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 14, 3)) @@ -44,12 +44,12 @@ var ra4 = undefined * E.a; var ra5 = a * undefined; >ra5 : Symbol(ra5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 16, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) >undefined : Symbol(undefined) var ra6 = b * undefined; >ra6 : Symbol(ra6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 17, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) >undefined : Symbol(undefined) var ra7 = 0 * undefined; @@ -67,12 +67,12 @@ var ra8 = E.b * undefined; var rb1 = undefined / a; >rb1 : Symbol(rb1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 22, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) var rb2 = undefined / b; >rb2 : Symbol(rb2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 23, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) var rb3 = undefined / 1; >rb3 : Symbol(rb3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 24, 3)) @@ -87,12 +87,12 @@ var rb4 = undefined / E.a; var rb5 = a / undefined; >rb5 : Symbol(rb5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 26, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) >undefined : Symbol(undefined) var rb6 = b / undefined; >rb6 : Symbol(rb6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 27, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) >undefined : Symbol(undefined) var rb7 = 0 / undefined; @@ -110,12 +110,12 @@ var rb8 = E.b / undefined; var rc1 = undefined % a; >rc1 : Symbol(rc1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 32, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) var rc2 = undefined % b; >rc2 : Symbol(rc2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 33, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) var rc3 = undefined % 1; >rc3 : Symbol(rc3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 34, 3)) @@ -130,12 +130,12 @@ var rc4 = undefined % E.a; var rc5 = a % undefined; >rc5 : Symbol(rc5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 36, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) >undefined : Symbol(undefined) var rc6 = b % undefined; >rc6 : Symbol(rc6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 37, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) >undefined : Symbol(undefined) var rc7 = 0 % undefined; @@ -153,12 +153,12 @@ var rc8 = E.b % undefined; var rd1 = undefined - a; >rd1 : Symbol(rd1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 42, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) var rd2 = undefined - b; >rd2 : Symbol(rd2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 43, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) var rd3 = undefined - 1; >rd3 : Symbol(rd3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 44, 3)) @@ -173,12 +173,12 @@ var rd4 = undefined - E.a; var rd5 = a - undefined; >rd5 : Symbol(rd5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 46, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) >undefined : Symbol(undefined) var rd6 = b - undefined; >rd6 : Symbol(rd6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 47, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) >undefined : Symbol(undefined) var rd7 = 0 - undefined; @@ -196,12 +196,12 @@ var rd8 = E.b - undefined; var re1 = undefined << a; >re1 : Symbol(re1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 52, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) var re2 = undefined << b; >re2 : Symbol(re2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 53, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) var re3 = undefined << 1; >re3 : Symbol(re3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 54, 3)) @@ -216,12 +216,12 @@ var re4 = undefined << E.a; var re5 = a << undefined; >re5 : Symbol(re5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 56, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) >undefined : Symbol(undefined) var re6 = b << undefined; >re6 : Symbol(re6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 57, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) >undefined : Symbol(undefined) var re7 = 0 << undefined; @@ -239,12 +239,12 @@ var re8 = E.b << undefined; var rf1 = undefined >> a; >rf1 : Symbol(rf1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 62, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) var rf2 = undefined >> b; >rf2 : Symbol(rf2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 63, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) var rf3 = undefined >> 1; >rf3 : Symbol(rf3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 64, 3)) @@ -259,12 +259,12 @@ var rf4 = undefined >> E.a; var rf5 = a >> undefined; >rf5 : Symbol(rf5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 66, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) >undefined : Symbol(undefined) var rf6 = b >> undefined; >rf6 : Symbol(rf6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 67, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) >undefined : Symbol(undefined) var rf7 = 0 >> undefined; @@ -282,12 +282,12 @@ var rf8 = E.b >> undefined; var rg1 = undefined >>> a; >rg1 : Symbol(rg1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 72, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) var rg2 = undefined >>> b; >rg2 : Symbol(rg2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 73, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) var rg3 = undefined >>> 1; >rg3 : Symbol(rg3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 74, 3)) @@ -302,12 +302,12 @@ var rg4 = undefined >>> E.a; var rg5 = a >>> undefined; >rg5 : Symbol(rg5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 76, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) >undefined : Symbol(undefined) var rg6 = b >>> undefined; >rg6 : Symbol(rg6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 77, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) >undefined : Symbol(undefined) var rg7 = 0 >>> undefined; @@ -325,12 +325,12 @@ var rg8 = E.b >>> undefined; var rh1 = undefined & a; >rh1 : Symbol(rh1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 82, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) var rh2 = undefined & b; >rh2 : Symbol(rh2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 83, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) var rh3 = undefined & 1; >rh3 : Symbol(rh3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 84, 3)) @@ -345,12 +345,12 @@ var rh4 = undefined & E.a; var rh5 = a & undefined; >rh5 : Symbol(rh5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 86, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) >undefined : Symbol(undefined) var rh6 = b & undefined; >rh6 : Symbol(rh6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 87, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) >undefined : Symbol(undefined) var rh7 = 0 & undefined; @@ -368,12 +368,12 @@ var rh8 = E.b & undefined; var ri1 = undefined ^ a; >ri1 : Symbol(ri1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 92, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) var ri2 = undefined ^ b; >ri2 : Symbol(ri2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 93, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) var ri3 = undefined ^ 1; >ri3 : Symbol(ri3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 94, 3)) @@ -388,12 +388,12 @@ var ri4 = undefined ^ E.a; var ri5 = a ^ undefined; >ri5 : Symbol(ri5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 96, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) >undefined : Symbol(undefined) var ri6 = b ^ undefined; >ri6 : Symbol(ri6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 97, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) >undefined : Symbol(undefined) var ri7 = 0 ^ undefined; @@ -411,12 +411,12 @@ var ri8 = E.b ^ undefined; var rj1 = undefined | a; >rj1 : Symbol(rj1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 102, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) var rj2 = undefined | b; >rj2 : Symbol(rj2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 103, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) var rj3 = undefined | 1; >rj3 : Symbol(rj3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 104, 3)) @@ -431,12 +431,12 @@ var rj4 = undefined | E.a; var rj5 = a | undefined; >rj5 : Symbol(rj5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 106, 3)) ->a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) >undefined : Symbol(undefined) var rj6 = b | undefined; >rj6 : Symbol(rj6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 107, 3)) ->b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) >undefined : Symbol(undefined) var rj7 = 0 | undefined; diff --git a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.types b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.types index 607c764e48c2e..37f3d457e99ca 100644 --- a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.types +++ b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.types @@ -17,11 +17,11 @@ enum E { > : ^^^ } -var a: any; +declare var a: any; >a : any > : ^^^ -var b: number; +declare var b: number; >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/arityAndOrderCompatibility01.errors.txt b/tests/baselines/reference/arityAndOrderCompatibility01.errors.txt index b4e4cdbcf67a4..188e9e1160afc 100644 --- a/tests/baselines/reference/arityAndOrderCompatibility01.errors.txt +++ b/tests/baselines/reference/arityAndOrderCompatibility01.errors.txt @@ -36,9 +36,9 @@ arityAndOrderCompatibility01.ts(32,5): error TS2322: Type '{ 0: string; 1: numbe length: 2; } - var x: [string, number]; - var y: StrNum - var z: { + declare var x: [string, number]; + declare var y: StrNum + declare var z: { 0: string; 1: number; length: 2; diff --git a/tests/baselines/reference/arityAndOrderCompatibility01.js b/tests/baselines/reference/arityAndOrderCompatibility01.js index 81f2df8dd8165..4226f80656b02 100644 --- a/tests/baselines/reference/arityAndOrderCompatibility01.js +++ b/tests/baselines/reference/arityAndOrderCompatibility01.js @@ -7,9 +7,9 @@ interface StrNum extends Array { length: 2; } -var x: [string, number]; -var y: StrNum -var z: { +declare var x: [string, number]; +declare var y: StrNum +declare var z: { 0: string; 1: number; length: 2; @@ -39,9 +39,6 @@ var o3: [string, number] = y; //// [arityAndOrderCompatibility01.js] -var x; -var y; -var z; var a = x[0], b = x[1], c = x[2]; var d = y[0], e = y[1], f = y[2]; var g = z[0], h = z[1], i = z[2]; diff --git a/tests/baselines/reference/arityAndOrderCompatibility01.symbols b/tests/baselines/reference/arityAndOrderCompatibility01.symbols index b3cde5bd55213..aa22946313bad 100644 --- a/tests/baselines/reference/arityAndOrderCompatibility01.symbols +++ b/tests/baselines/reference/arityAndOrderCompatibility01.symbols @@ -15,18 +15,18 @@ interface StrNum extends Array { >length : Symbol(StrNum.length, Decl(arityAndOrderCompatibility01.ts, 2, 14)) } -var x: [string, number]; ->x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 3)) +declare var x: [string, number]; +>x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 11)) -var y: StrNum ->y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 3)) +declare var y: StrNum +>y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 11)) >StrNum : Symbol(StrNum, Decl(arityAndOrderCompatibility01.ts, 0, 0)) -var z: { ->z : Symbol(z, Decl(arityAndOrderCompatibility01.ts, 8, 3)) +declare var z: { +>z : Symbol(z, Decl(arityAndOrderCompatibility01.ts, 8, 11)) 0: string; ->0 : Symbol(0, Decl(arityAndOrderCompatibility01.ts, 8, 8)) +>0 : Symbol(0, Decl(arityAndOrderCompatibility01.ts, 8, 16)) 1: number; >1 : Symbol(1, Decl(arityAndOrderCompatibility01.ts, 9, 14)) @@ -39,89 +39,89 @@ var [a, b, c] = x; >a : Symbol(a, Decl(arityAndOrderCompatibility01.ts, 14, 5)) >b : Symbol(b, Decl(arityAndOrderCompatibility01.ts, 14, 7)) >c : Symbol(c, Decl(arityAndOrderCompatibility01.ts, 14, 10)) ->x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 3)) +>x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 11)) var [d, e, f] = y; >d : Symbol(d, Decl(arityAndOrderCompatibility01.ts, 15, 5)) >e : Symbol(e, Decl(arityAndOrderCompatibility01.ts, 15, 7)) >f : Symbol(f, Decl(arityAndOrderCompatibility01.ts, 15, 10)) ->y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 3)) +>y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 11)) var [g, h, i] = z; >g : Symbol(g, Decl(arityAndOrderCompatibility01.ts, 16, 5)) >h : Symbol(h, Decl(arityAndOrderCompatibility01.ts, 16, 7)) >i : Symbol(i, Decl(arityAndOrderCompatibility01.ts, 16, 10)) ->z : Symbol(z, Decl(arityAndOrderCompatibility01.ts, 8, 3)) +>z : Symbol(z, Decl(arityAndOrderCompatibility01.ts, 8, 11)) var j1: [number, number, number] = x; >j1 : Symbol(j1, Decl(arityAndOrderCompatibility01.ts, 17, 3)) ->x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 3)) +>x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 11)) var j2: [number, number, number] = y; >j2 : Symbol(j2, Decl(arityAndOrderCompatibility01.ts, 18, 3)) ->y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 3)) +>y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 11)) var j3: [number, number, number] = z; >j3 : Symbol(j3, Decl(arityAndOrderCompatibility01.ts, 19, 3)) ->z : Symbol(z, Decl(arityAndOrderCompatibility01.ts, 8, 3)) +>z : Symbol(z, Decl(arityAndOrderCompatibility01.ts, 8, 11)) var k1: [string, number, number] = x; >k1 : Symbol(k1, Decl(arityAndOrderCompatibility01.ts, 20, 3)) ->x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 3)) +>x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 11)) var k2: [string, number, number] = y; >k2 : Symbol(k2, Decl(arityAndOrderCompatibility01.ts, 21, 3)) ->y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 3)) +>y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 11)) var k3: [string, number, number] = z; >k3 : Symbol(k3, Decl(arityAndOrderCompatibility01.ts, 22, 3)) ->z : Symbol(z, Decl(arityAndOrderCompatibility01.ts, 8, 3)) +>z : Symbol(z, Decl(arityAndOrderCompatibility01.ts, 8, 11)) var l1: [number] = x; >l1 : Symbol(l1, Decl(arityAndOrderCompatibility01.ts, 23, 3)) ->x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 3)) +>x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 11)) var l2: [number] = y; >l2 : Symbol(l2, Decl(arityAndOrderCompatibility01.ts, 24, 3)) ->y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 3)) +>y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 11)) var l3: [number] = z; >l3 : Symbol(l3, Decl(arityAndOrderCompatibility01.ts, 25, 3)) ->z : Symbol(z, Decl(arityAndOrderCompatibility01.ts, 8, 3)) +>z : Symbol(z, Decl(arityAndOrderCompatibility01.ts, 8, 11)) var m1: [string] = x; >m1 : Symbol(m1, Decl(arityAndOrderCompatibility01.ts, 26, 3)) ->x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 3)) +>x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 11)) var m2: [string] = y; >m2 : Symbol(m2, Decl(arityAndOrderCompatibility01.ts, 27, 3)) ->y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 3)) +>y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 11)) var m3: [string] = z; >m3 : Symbol(m3, Decl(arityAndOrderCompatibility01.ts, 28, 3)) ->z : Symbol(z, Decl(arityAndOrderCompatibility01.ts, 8, 3)) +>z : Symbol(z, Decl(arityAndOrderCompatibility01.ts, 8, 11)) var n1: [number, string] = x; >n1 : Symbol(n1, Decl(arityAndOrderCompatibility01.ts, 29, 3)) ->x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 3)) +>x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 11)) var n2: [number, string] = y; >n2 : Symbol(n2, Decl(arityAndOrderCompatibility01.ts, 30, 3)) ->y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 3)) +>y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 11)) var n3: [number, string] = z; >n3 : Symbol(n3, Decl(arityAndOrderCompatibility01.ts, 31, 3)) ->z : Symbol(z, Decl(arityAndOrderCompatibility01.ts, 8, 3)) +>z : Symbol(z, Decl(arityAndOrderCompatibility01.ts, 8, 11)) var o1: [string, number] = x; >o1 : Symbol(o1, Decl(arityAndOrderCompatibility01.ts, 32, 3)) ->x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 3)) +>x : Symbol(x, Decl(arityAndOrderCompatibility01.ts, 6, 11)) var o2: [string, number] = y; >o2 : Symbol(o2, Decl(arityAndOrderCompatibility01.ts, 33, 3)) ->y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 3)) +>y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 11)) var o3: [string, number] = y; >o3 : Symbol(o3, Decl(arityAndOrderCompatibility01.ts, 34, 3)) ->y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 3)) +>y : Symbol(y, Decl(arityAndOrderCompatibility01.ts, 7, 11)) diff --git a/tests/baselines/reference/arityAndOrderCompatibility01.types b/tests/baselines/reference/arityAndOrderCompatibility01.types index 5c37248c3ebc0..a7109edfe8ae1 100644 --- a/tests/baselines/reference/arityAndOrderCompatibility01.types +++ b/tests/baselines/reference/arityAndOrderCompatibility01.types @@ -15,15 +15,15 @@ interface StrNum extends Array { > : ^ } -var x: [string, number]; +declare var x: [string, number]; >x : [string, number] > : ^^^^^^^^^^^^^^^^ -var y: StrNum +declare var y: StrNum >y : StrNum > : ^^^^^^ -var z: { +declare var z: { >z : { 0: string; 1: number; length: 2; } > : ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.errors.txt b/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.errors.txt index 61c9f33cada3f..a62cb8e3b56c8 100644 --- a/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.errors.txt +++ b/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.errors.txt @@ -1,13 +1,13 @@ -arrayLiteralAndArrayConstructorEquivalence1.ts(3,14): error TS2314: Generic type 'Array' requires 1 type argument(s). +arrayLiteralAndArrayConstructorEquivalence1.ts(3,22): error TS2314: Generic type 'Array' requires 1 type argument(s). ==== arrayLiteralAndArrayConstructorEquivalence1.ts (1 errors) ==== var myCars=new Array(); var myCars3 = new Array({}); - var myCars4: Array; // error - ~~~~~ + declare var myCars4: Array; // error + ~~~~~ !!! error TS2314: Generic type 'Array' requires 1 type argument(s). - var myCars5: Array[]; + declare var myCars5: Array[]; myCars = myCars3; myCars = myCars4; diff --git a/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.js b/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.js index 3876a90b17c2c..555eddfeeed70 100644 --- a/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.js +++ b/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.js @@ -3,8 +3,8 @@ //// [arrayLiteralAndArrayConstructorEquivalence1.ts] var myCars=new Array(); var myCars3 = new Array({}); -var myCars4: Array; // error -var myCars5: Array[]; +declare var myCars4: Array; // error +declare var myCars5: Array[]; myCars = myCars3; myCars = myCars4; @@ -18,8 +18,6 @@ myCars3 = myCars5; //// [arrayLiteralAndArrayConstructorEquivalence1.js] var myCars = new Array(); var myCars3 = new Array({}); -var myCars4; // error -var myCars5; myCars = myCars3; myCars = myCars4; myCars = myCars5; diff --git a/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.symbols b/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.symbols index 3793641e69586..c862cdf1756e6 100644 --- a/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.symbols +++ b/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.symbols @@ -9,12 +9,12 @@ var myCars3 = new Array({}); >myCars3 : Symbol(myCars3, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 1, 3)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) -var myCars4: Array; // error ->myCars4 : Symbol(myCars4, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 2, 3)) +declare var myCars4: Array; // error +>myCars4 : Symbol(myCars4, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 2, 11)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) -var myCars5: Array[]; ->myCars5 : Symbol(myCars5, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 3, 3)) +declare var myCars5: Array[]; +>myCars5 : Symbol(myCars5, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 3, 11)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) myCars = myCars3; @@ -23,11 +23,11 @@ myCars = myCars3; myCars = myCars4; >myCars : Symbol(myCars, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 0, 3)) ->myCars4 : Symbol(myCars4, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 2, 3)) +>myCars4 : Symbol(myCars4, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 2, 11)) myCars = myCars5; >myCars : Symbol(myCars, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 0, 3)) ->myCars5 : Symbol(myCars5, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 3, 3)) +>myCars5 : Symbol(myCars5, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 3, 11)) myCars3 = myCars; >myCars3 : Symbol(myCars3, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 1, 3)) @@ -35,9 +35,9 @@ myCars3 = myCars; myCars3 = myCars4; >myCars3 : Symbol(myCars3, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 1, 3)) ->myCars4 : Symbol(myCars4, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 2, 3)) +>myCars4 : Symbol(myCars4, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 2, 11)) myCars3 = myCars5; >myCars3 : Symbol(myCars3, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 1, 3)) ->myCars5 : Symbol(myCars5, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 3, 3)) +>myCars5 : Symbol(myCars5, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 3, 11)) diff --git a/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.types b/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.types index 002a8c7b9ae14..5fa1a325ca9e0 100644 --- a/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.types +++ b/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.types @@ -19,11 +19,11 @@ var myCars3 = new Array({}); >{} : {} > : ^^ -var myCars4: Array; // error +declare var myCars4: Array; // error >myCars4 : any > : ^^^ -var myCars5: Array[]; +declare var myCars5: Array[]; >myCars5 : any[][] > : ^^^^^^^ diff --git a/tests/baselines/reference/arraySigChecking.errors.txt b/tests/baselines/reference/arraySigChecking.errors.txt index d39a86ec11622..74dbd3487bfe2 100644 --- a/tests/baselines/reference/arraySigChecking.errors.txt +++ b/tests/baselines/reference/arraySigChecking.errors.txt @@ -23,7 +23,7 @@ arraySigChecking.ts(22,16): error TS2322: Type 'number' is not assignable to typ interface myInt { voidFn(): void; } - var myVar: myInt; + declare var myVar: myInt; var strArray: string[] = [myVar.voidFn()]; ~~~~~~~~~~~~~~ !!! error TS2322: Type 'void' is not assignable to type 'string'. diff --git a/tests/baselines/reference/arraySigChecking.js b/tests/baselines/reference/arraySigChecking.js index 12b13af0ef452..b114161260bad 100644 --- a/tests/baselines/reference/arraySigChecking.js +++ b/tests/baselines/reference/arraySigChecking.js @@ -17,7 +17,7 @@ declare namespace M { interface myInt { voidFn(): void; } -var myVar: myInt; +declare var myVar: myInt; var strArray: string[] = [myVar.voidFn()]; @@ -35,7 +35,6 @@ isEmpty(['a']); //// [arraySigChecking.js] -var myVar; var strArray = [myVar.voidFn()]; var myArray; myArray = [[1, 2]]; diff --git a/tests/baselines/reference/arraySigChecking.symbols b/tests/baselines/reference/arraySigChecking.symbols index 675232020ffa8..ec798833f2f34 100644 --- a/tests/baselines/reference/arraySigChecking.symbols +++ b/tests/baselines/reference/arraySigChecking.symbols @@ -34,14 +34,14 @@ interface myInt { voidFn(): void; >voidFn : Symbol(myInt.voidFn, Decl(arraySigChecking.ts, 13, 17)) } -var myVar: myInt; ->myVar : Symbol(myVar, Decl(arraySigChecking.ts, 16, 3)) +declare var myVar: myInt; +>myVar : Symbol(myVar, Decl(arraySigChecking.ts, 16, 11)) >myInt : Symbol(myInt, Decl(arraySigChecking.ts, 11, 1)) var strArray: string[] = [myVar.voidFn()]; >strArray : Symbol(strArray, Decl(arraySigChecking.ts, 17, 3)) >myVar.voidFn : Symbol(myInt.voidFn, Decl(arraySigChecking.ts, 13, 17)) ->myVar : Symbol(myVar, Decl(arraySigChecking.ts, 16, 3)) +>myVar : Symbol(myVar, Decl(arraySigChecking.ts, 16, 11)) >voidFn : Symbol(myInt.voidFn, Decl(arraySigChecking.ts, 13, 17)) diff --git a/tests/baselines/reference/arraySigChecking.types b/tests/baselines/reference/arraySigChecking.types index e06a70c576933..81f479fe85ec1 100644 --- a/tests/baselines/reference/arraySigChecking.types +++ b/tests/baselines/reference/arraySigChecking.types @@ -36,7 +36,7 @@ interface myInt { >voidFn : () => void > : ^^^^^^ } -var myVar: myInt; +declare var myVar: myInt; >myVar : myInt > : ^^^^^ diff --git a/tests/baselines/reference/asiPreventsParsingAsInterface05.errors.txt b/tests/baselines/reference/asiPreventsParsingAsInterface05.errors.txt index 61d669aec1ff6..e8fc62fbde16d 100644 --- a/tests/baselines/reference/asiPreventsParsingAsInterface05.errors.txt +++ b/tests/baselines/reference/asiPreventsParsingAsInterface05.errors.txt @@ -6,7 +6,7 @@ asiPreventsParsingAsInterface05.ts(11,1): error TS2304: Cannot find name 'I'. ==== asiPreventsParsingAsInterface05.ts (3 errors) ==== "use strict" - var interface: number; + var interface: number = 123; ~~~~~~~~~ !!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. diff --git a/tests/baselines/reference/asiPreventsParsingAsInterface05.js b/tests/baselines/reference/asiPreventsParsingAsInterface05.js index 82aea79bba0b6..51f002b5a9d04 100644 --- a/tests/baselines/reference/asiPreventsParsingAsInterface05.js +++ b/tests/baselines/reference/asiPreventsParsingAsInterface05.js @@ -3,7 +3,7 @@ //// [asiPreventsParsingAsInterface05.ts] "use strict" -var interface: number; +var interface: number = 123; // 'interface' is a strict mode reserved word, and so it would be permissible // to allow 'interface' and the name of the interface to be on separate lines; @@ -16,7 +16,7 @@ I // This should be the identifier 'I' //// [asiPreventsParsingAsInterface05.js] "use strict"; -var interface; +var interface = 123; // 'interface' is a strict mode reserved word, and so it would be permissible // to allow 'interface' and the name of the interface to be on separate lines; // however, this complicates things, and so it is preferable to restrict interface diff --git a/tests/baselines/reference/asiPreventsParsingAsInterface05.symbols b/tests/baselines/reference/asiPreventsParsingAsInterface05.symbols index e3730eef1fae9..28eee75d44b0f 100644 --- a/tests/baselines/reference/asiPreventsParsingAsInterface05.symbols +++ b/tests/baselines/reference/asiPreventsParsingAsInterface05.symbols @@ -3,7 +3,7 @@ === asiPreventsParsingAsInterface05.ts === "use strict" -var interface: number; +var interface: number = 123; >interface : Symbol(interface, Decl(asiPreventsParsingAsInterface05.ts, 2, 3)) // 'interface' is a strict mode reserved word, and so it would be permissible diff --git a/tests/baselines/reference/asiPreventsParsingAsInterface05.types b/tests/baselines/reference/asiPreventsParsingAsInterface05.types index 504e351db0a1f..8e43fa7b75698 100644 --- a/tests/baselines/reference/asiPreventsParsingAsInterface05.types +++ b/tests/baselines/reference/asiPreventsParsingAsInterface05.types @@ -5,9 +5,11 @@ >"use strict" : "use strict" > : ^^^^^^^^^^^^ -var interface: number; +var interface: number = 123; >interface : number > : ^^^^^^ +>123 : 123 +> : ^^^ // 'interface' is a strict mode reserved word, and so it would be permissible // to allow 'interface' and the name of the interface to be on separate lines; diff --git a/tests/baselines/reference/assignFromBooleanInterface.errors.txt b/tests/baselines/reference/assignFromBooleanInterface.errors.txt index 6671373734381..95a9628c1336b 100644 --- a/tests/baselines/reference/assignFromBooleanInterface.errors.txt +++ b/tests/baselines/reference/assignFromBooleanInterface.errors.txt @@ -4,7 +4,7 @@ assignFromBooleanInterface.ts(3,1): error TS2322: Type 'Boolean' is not assignab ==== assignFromBooleanInterface.ts (1 errors) ==== var x = true; - var a: Boolean; + declare var a: Boolean; x = a; ~ !!! error TS2322: Type 'Boolean' is not assignable to type 'boolean'. diff --git a/tests/baselines/reference/assignFromBooleanInterface.js b/tests/baselines/reference/assignFromBooleanInterface.js index f539081384d0e..21b05dedd0d14 100644 --- a/tests/baselines/reference/assignFromBooleanInterface.js +++ b/tests/baselines/reference/assignFromBooleanInterface.js @@ -2,12 +2,11 @@ //// [assignFromBooleanInterface.ts] var x = true; -var a: Boolean; +declare var a: Boolean; x = a; a = x; //// [assignFromBooleanInterface.js] var x = true; -var a; x = a; a = x; diff --git a/tests/baselines/reference/assignFromBooleanInterface.symbols b/tests/baselines/reference/assignFromBooleanInterface.symbols index 4177c7169e5b0..569459faeaecc 100644 --- a/tests/baselines/reference/assignFromBooleanInterface.symbols +++ b/tests/baselines/reference/assignFromBooleanInterface.symbols @@ -4,15 +4,15 @@ var x = true; >x : Symbol(x, Decl(assignFromBooleanInterface.ts, 0, 3)) -var a: Boolean; ->a : Symbol(a, Decl(assignFromBooleanInterface.ts, 1, 3)) +declare var a: Boolean; +>a : Symbol(a, Decl(assignFromBooleanInterface.ts, 1, 11)) >Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = a; >x : Symbol(x, Decl(assignFromBooleanInterface.ts, 0, 3)) ->a : Symbol(a, Decl(assignFromBooleanInterface.ts, 1, 3)) +>a : Symbol(a, Decl(assignFromBooleanInterface.ts, 1, 11)) a = x; ->a : Symbol(a, Decl(assignFromBooleanInterface.ts, 1, 3)) +>a : Symbol(a, Decl(assignFromBooleanInterface.ts, 1, 11)) >x : Symbol(x, Decl(assignFromBooleanInterface.ts, 0, 3)) diff --git a/tests/baselines/reference/assignFromBooleanInterface.types b/tests/baselines/reference/assignFromBooleanInterface.types index 8959ee10ba076..15b4bfbb9c866 100644 --- a/tests/baselines/reference/assignFromBooleanInterface.types +++ b/tests/baselines/reference/assignFromBooleanInterface.types @@ -7,7 +7,7 @@ var x = true; >true : true > : ^^^^ -var a: Boolean; +declare var a: Boolean; >a : Boolean > : ^^^^^^^ diff --git a/tests/baselines/reference/assignFromBooleanInterface2.errors.txt b/tests/baselines/reference/assignFromBooleanInterface2.errors.txt index ebd3e9a5477b9..cb2ee61e45fbc 100644 --- a/tests/baselines/reference/assignFromBooleanInterface2.errors.txt +++ b/tests/baselines/reference/assignFromBooleanInterface2.errors.txt @@ -16,8 +16,8 @@ assignFromBooleanInterface2.ts(20,1): error TS2322: Type 'NotBoolean' is not ass } var x = true; - var a: Boolean; - var b: NotBoolean; + declare var a: Boolean; + declare var b: NotBoolean; a = x; a = b; diff --git a/tests/baselines/reference/assignFromBooleanInterface2.js b/tests/baselines/reference/assignFromBooleanInterface2.js index 5a903182bb980..0ac4657706ff4 100644 --- a/tests/baselines/reference/assignFromBooleanInterface2.js +++ b/tests/baselines/reference/assignFromBooleanInterface2.js @@ -10,8 +10,8 @@ interface NotBoolean { } var x = true; -var a: Boolean; -var b: NotBoolean; +declare var a: Boolean; +declare var b: NotBoolean; a = x; a = b; @@ -26,8 +26,6 @@ x = b; // expected error //// [assignFromBooleanInterface2.js] var x = true; -var a; -var b; a = x; a = b; b = a; diff --git a/tests/baselines/reference/assignFromBooleanInterface2.symbols b/tests/baselines/reference/assignFromBooleanInterface2.symbols index 1d3dc6b474e0c..51cfc18382fea 100644 --- a/tests/baselines/reference/assignFromBooleanInterface2.symbols +++ b/tests/baselines/reference/assignFromBooleanInterface2.symbols @@ -18,36 +18,36 @@ interface NotBoolean { var x = true; >x : Symbol(x, Decl(assignFromBooleanInterface2.ts, 8, 3)) -var a: Boolean; ->a : Symbol(a, Decl(assignFromBooleanInterface2.ts, 9, 3)) +declare var a: Boolean; +>a : Symbol(a, Decl(assignFromBooleanInterface2.ts, 9, 11)) >Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(assignFromBooleanInterface2.ts, 0, 0)) -var b: NotBoolean; ->b : Symbol(b, Decl(assignFromBooleanInterface2.ts, 10, 3)) +declare var b: NotBoolean; +>b : Symbol(b, Decl(assignFromBooleanInterface2.ts, 10, 11)) >NotBoolean : Symbol(NotBoolean, Decl(assignFromBooleanInterface2.ts, 2, 1)) a = x; ->a : Symbol(a, Decl(assignFromBooleanInterface2.ts, 9, 3)) +>a : Symbol(a, Decl(assignFromBooleanInterface2.ts, 9, 11)) >x : Symbol(x, Decl(assignFromBooleanInterface2.ts, 8, 3)) a = b; ->a : Symbol(a, Decl(assignFromBooleanInterface2.ts, 9, 3)) ->b : Symbol(b, Decl(assignFromBooleanInterface2.ts, 10, 3)) +>a : Symbol(a, Decl(assignFromBooleanInterface2.ts, 9, 11)) +>b : Symbol(b, Decl(assignFromBooleanInterface2.ts, 10, 11)) b = a; ->b : Symbol(b, Decl(assignFromBooleanInterface2.ts, 10, 3)) ->a : Symbol(a, Decl(assignFromBooleanInterface2.ts, 9, 3)) +>b : Symbol(b, Decl(assignFromBooleanInterface2.ts, 10, 11)) +>a : Symbol(a, Decl(assignFromBooleanInterface2.ts, 9, 11)) b = x; ->b : Symbol(b, Decl(assignFromBooleanInterface2.ts, 10, 3)) +>b : Symbol(b, Decl(assignFromBooleanInterface2.ts, 10, 11)) >x : Symbol(x, Decl(assignFromBooleanInterface2.ts, 8, 3)) x = a; // expected error >x : Symbol(x, Decl(assignFromBooleanInterface2.ts, 8, 3)) ->a : Symbol(a, Decl(assignFromBooleanInterface2.ts, 9, 3)) +>a : Symbol(a, Decl(assignFromBooleanInterface2.ts, 9, 11)) x = b; // expected error >x : Symbol(x, Decl(assignFromBooleanInterface2.ts, 8, 3)) ->b : Symbol(b, Decl(assignFromBooleanInterface2.ts, 10, 3)) +>b : Symbol(b, Decl(assignFromBooleanInterface2.ts, 10, 11)) diff --git a/tests/baselines/reference/assignFromBooleanInterface2.types b/tests/baselines/reference/assignFromBooleanInterface2.types index 75691bba1997b..0038c4b696d03 100644 --- a/tests/baselines/reference/assignFromBooleanInterface2.types +++ b/tests/baselines/reference/assignFromBooleanInterface2.types @@ -19,11 +19,11 @@ var x = true; >true : true > : ^^^^ -var a: Boolean; +declare var a: Boolean; >a : Boolean > : ^^^^^^^ -var b: NotBoolean; +declare var b: NotBoolean; >b : NotBoolean > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/assignFromNumberInterface.errors.txt b/tests/baselines/reference/assignFromNumberInterface.errors.txt index 421e4d34e5c2e..bc3e7f8f40ca2 100644 --- a/tests/baselines/reference/assignFromNumberInterface.errors.txt +++ b/tests/baselines/reference/assignFromNumberInterface.errors.txt @@ -4,7 +4,7 @@ assignFromNumberInterface.ts(3,1): error TS2322: Type 'Number' is not assignable ==== assignFromNumberInterface.ts (1 errors) ==== var x = 1; - var a: Number; + declare var a: Number; x = a; ~ !!! error TS2322: Type 'Number' is not assignable to type 'number'. diff --git a/tests/baselines/reference/assignFromNumberInterface.js b/tests/baselines/reference/assignFromNumberInterface.js index ea4cd1b8b6814..d4b57147fd22c 100644 --- a/tests/baselines/reference/assignFromNumberInterface.js +++ b/tests/baselines/reference/assignFromNumberInterface.js @@ -2,12 +2,11 @@ //// [assignFromNumberInterface.ts] var x = 1; -var a: Number; +declare var a: Number; x = a; a = x; //// [assignFromNumberInterface.js] var x = 1; -var a; x = a; a = x; diff --git a/tests/baselines/reference/assignFromNumberInterface.symbols b/tests/baselines/reference/assignFromNumberInterface.symbols index f0f7c8443d81c..35300e180e8e3 100644 --- a/tests/baselines/reference/assignFromNumberInterface.symbols +++ b/tests/baselines/reference/assignFromNumberInterface.symbols @@ -4,15 +4,15 @@ var x = 1; >x : Symbol(x, Decl(assignFromNumberInterface.ts, 0, 3)) -var a: Number; ->a : Symbol(a, Decl(assignFromNumberInterface.ts, 1, 3)) +declare var a: Number; +>a : Symbol(a, Decl(assignFromNumberInterface.ts, 1, 11)) >Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = a; >x : Symbol(x, Decl(assignFromNumberInterface.ts, 0, 3)) ->a : Symbol(a, Decl(assignFromNumberInterface.ts, 1, 3)) +>a : Symbol(a, Decl(assignFromNumberInterface.ts, 1, 11)) a = x; ->a : Symbol(a, Decl(assignFromNumberInterface.ts, 1, 3)) +>a : Symbol(a, Decl(assignFromNumberInterface.ts, 1, 11)) >x : Symbol(x, Decl(assignFromNumberInterface.ts, 0, 3)) diff --git a/tests/baselines/reference/assignFromNumberInterface.types b/tests/baselines/reference/assignFromNumberInterface.types index ad33c6cccaa47..92edae097dd3e 100644 --- a/tests/baselines/reference/assignFromNumberInterface.types +++ b/tests/baselines/reference/assignFromNumberInterface.types @@ -7,7 +7,7 @@ var x = 1; >1 : 1 > : ^ -var a: Number; +declare var a: Number; >a : Number > : ^^^^^^ diff --git a/tests/baselines/reference/assignFromNumberInterface2.errors.txt b/tests/baselines/reference/assignFromNumberInterface2.errors.txt index eae1519fd6d6d..112f1a5fc0023 100644 --- a/tests/baselines/reference/assignFromNumberInterface2.errors.txt +++ b/tests/baselines/reference/assignFromNumberInterface2.errors.txt @@ -18,8 +18,8 @@ assignFromNumberInterface2.ts(25,1): error TS2322: Type 'NotNumber' is not assig } var x = 1; - var a: Number; - var b: NotNumber; + declare var a: Number; + declare var b: NotNumber; a = x; a = b; diff --git a/tests/baselines/reference/assignFromNumberInterface2.js b/tests/baselines/reference/assignFromNumberInterface2.js index fac0aba9ff5e9..7fd396aa7673d 100644 --- a/tests/baselines/reference/assignFromNumberInterface2.js +++ b/tests/baselines/reference/assignFromNumberInterface2.js @@ -15,8 +15,8 @@ interface NotNumber { } var x = 1; -var a: Number; -var b: NotNumber; +declare var a: Number; +declare var b: NotNumber; a = x; a = b; @@ -31,8 +31,6 @@ x = b; // expected error //// [assignFromNumberInterface2.js] var x = 1; -var a; -var b; a = x; a = b; b = a; diff --git a/tests/baselines/reference/assignFromNumberInterface2.symbols b/tests/baselines/reference/assignFromNumberInterface2.symbols index 2a1f46e208195..a163ba3a31afd 100644 --- a/tests/baselines/reference/assignFromNumberInterface2.symbols +++ b/tests/baselines/reference/assignFromNumberInterface2.symbols @@ -37,36 +37,36 @@ interface NotNumber { var x = 1; >x : Symbol(x, Decl(assignFromNumberInterface2.ts, 13, 3)) -var a: Number; ->a : Symbol(a, Decl(assignFromNumberInterface2.ts, 14, 3)) +declare var a: Number; +>a : Symbol(a, Decl(assignFromNumberInterface2.ts, 14, 11)) >Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(assignFromNumberInterface2.ts, 0, 0)) -var b: NotNumber; ->b : Symbol(b, Decl(assignFromNumberInterface2.ts, 15, 3)) +declare var b: NotNumber; +>b : Symbol(b, Decl(assignFromNumberInterface2.ts, 15, 11)) >NotNumber : Symbol(NotNumber, Decl(assignFromNumberInterface2.ts, 2, 1)) a = x; ->a : Symbol(a, Decl(assignFromNumberInterface2.ts, 14, 3)) +>a : Symbol(a, Decl(assignFromNumberInterface2.ts, 14, 11)) >x : Symbol(x, Decl(assignFromNumberInterface2.ts, 13, 3)) a = b; ->a : Symbol(a, Decl(assignFromNumberInterface2.ts, 14, 3)) ->b : Symbol(b, Decl(assignFromNumberInterface2.ts, 15, 3)) +>a : Symbol(a, Decl(assignFromNumberInterface2.ts, 14, 11)) +>b : Symbol(b, Decl(assignFromNumberInterface2.ts, 15, 11)) b = a; ->b : Symbol(b, Decl(assignFromNumberInterface2.ts, 15, 3)) ->a : Symbol(a, Decl(assignFromNumberInterface2.ts, 14, 3)) +>b : Symbol(b, Decl(assignFromNumberInterface2.ts, 15, 11)) +>a : Symbol(a, Decl(assignFromNumberInterface2.ts, 14, 11)) b = x; ->b : Symbol(b, Decl(assignFromNumberInterface2.ts, 15, 3)) +>b : Symbol(b, Decl(assignFromNumberInterface2.ts, 15, 11)) >x : Symbol(x, Decl(assignFromNumberInterface2.ts, 13, 3)) x = a; // expected error >x : Symbol(x, Decl(assignFromNumberInterface2.ts, 13, 3)) ->a : Symbol(a, Decl(assignFromNumberInterface2.ts, 14, 3)) +>a : Symbol(a, Decl(assignFromNumberInterface2.ts, 14, 11)) x = b; // expected error >x : Symbol(x, Decl(assignFromNumberInterface2.ts, 13, 3)) ->b : Symbol(b, Decl(assignFromNumberInterface2.ts, 15, 3)) +>b : Symbol(b, Decl(assignFromNumberInterface2.ts, 15, 11)) diff --git a/tests/baselines/reference/assignFromNumberInterface2.types b/tests/baselines/reference/assignFromNumberInterface2.types index fb717bf271921..c3cc6fb24a7db 100644 --- a/tests/baselines/reference/assignFromNumberInterface2.types +++ b/tests/baselines/reference/assignFromNumberInterface2.types @@ -47,11 +47,11 @@ var x = 1; >1 : 1 > : ^ -var a: Number; +declare var a: Number; >a : Number > : ^^^^^^ -var b: NotNumber; +declare var b: NotNumber; >b : NotNumber > : ^^^^^^^^^ diff --git a/tests/baselines/reference/assignFromStringInterface.errors.txt b/tests/baselines/reference/assignFromStringInterface.errors.txt index d01a2c1e33524..d043b7155812c 100644 --- a/tests/baselines/reference/assignFromStringInterface.errors.txt +++ b/tests/baselines/reference/assignFromStringInterface.errors.txt @@ -4,7 +4,7 @@ assignFromStringInterface.ts(3,1): error TS2322: Type 'String' is not assignable ==== assignFromStringInterface.ts (1 errors) ==== var x = ''; - var a: String; + declare var a: String; x = a; ~ !!! error TS2322: Type 'String' is not assignable to type 'string'. diff --git a/tests/baselines/reference/assignFromStringInterface.js b/tests/baselines/reference/assignFromStringInterface.js index c458439013a2f..bb220c9ae28f8 100644 --- a/tests/baselines/reference/assignFromStringInterface.js +++ b/tests/baselines/reference/assignFromStringInterface.js @@ -2,12 +2,11 @@ //// [assignFromStringInterface.ts] var x = ''; -var a: String; +declare var a: String; x = a; a = x; //// [assignFromStringInterface.js] var x = ''; -var a; x = a; a = x; diff --git a/tests/baselines/reference/assignFromStringInterface.symbols b/tests/baselines/reference/assignFromStringInterface.symbols index 3b128582ab842..6f82db0b86eb0 100644 --- a/tests/baselines/reference/assignFromStringInterface.symbols +++ b/tests/baselines/reference/assignFromStringInterface.symbols @@ -4,15 +4,15 @@ var x = ''; >x : Symbol(x, Decl(assignFromStringInterface.ts, 0, 3)) -var a: String; ->a : Symbol(a, Decl(assignFromStringInterface.ts, 1, 3)) +declare var a: String; +>a : Symbol(a, Decl(assignFromStringInterface.ts, 1, 11)) >String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 1 more) x = a; >x : Symbol(x, Decl(assignFromStringInterface.ts, 0, 3)) ->a : Symbol(a, Decl(assignFromStringInterface.ts, 1, 3)) +>a : Symbol(a, Decl(assignFromStringInterface.ts, 1, 11)) a = x; ->a : Symbol(a, Decl(assignFromStringInterface.ts, 1, 3)) +>a : Symbol(a, Decl(assignFromStringInterface.ts, 1, 11)) >x : Symbol(x, Decl(assignFromStringInterface.ts, 0, 3)) diff --git a/tests/baselines/reference/assignFromStringInterface.types b/tests/baselines/reference/assignFromStringInterface.types index 7c921267f7ee8..7a434edc5986a 100644 --- a/tests/baselines/reference/assignFromStringInterface.types +++ b/tests/baselines/reference/assignFromStringInterface.types @@ -7,7 +7,7 @@ var x = ''; >'' : "" > : ^^ -var a: String; +declare var a: String; >a : String > : ^^^^^^ diff --git a/tests/baselines/reference/assignFromStringInterface2.errors.txt b/tests/baselines/reference/assignFromStringInterface2.errors.txt index 3517bf4d1d9f4..6aff3eb4bce0f 100644 --- a/tests/baselines/reference/assignFromStringInterface2.errors.txt +++ b/tests/baselines/reference/assignFromStringInterface2.errors.txt @@ -42,8 +42,8 @@ assignFromStringInterface2.ts(48,1): error TS2322: Type 'NotString' is not assig } var x = ''; - var a: String; - var b: NotString; + declare var a: String; + declare var b: NotString; a = x; a = b; diff --git a/tests/baselines/reference/assignFromStringInterface2.js b/tests/baselines/reference/assignFromStringInterface2.js index 308491f89cee8..653ba0bce6ef0 100644 --- a/tests/baselines/reference/assignFromStringInterface2.js +++ b/tests/baselines/reference/assignFromStringInterface2.js @@ -38,8 +38,8 @@ interface NotString { } var x = ''; -var a: String; -var b: NotString; +declare var a: String; +declare var b: NotString; a = x; a = b; @@ -54,8 +54,6 @@ x = b; // expected error //// [assignFromStringInterface2.js] var x = ''; -var a; -var b; a = x; a = b; b = a; diff --git a/tests/baselines/reference/assignFromStringInterface2.symbols b/tests/baselines/reference/assignFromStringInterface2.symbols index d1e77cda723f8..f0a452d9e6d59 100644 --- a/tests/baselines/reference/assignFromStringInterface2.symbols +++ b/tests/baselines/reference/assignFromStringInterface2.symbols @@ -143,36 +143,36 @@ interface NotString { var x = ''; >x : Symbol(x, Decl(assignFromStringInterface2.ts, 36, 3)) -var a: String; ->a : Symbol(a, Decl(assignFromStringInterface2.ts, 37, 3)) +declare var a: String; +>a : Symbol(a, Decl(assignFromStringInterface2.ts, 37, 11)) >String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 2 more) -var b: NotString; ->b : Symbol(b, Decl(assignFromStringInterface2.ts, 38, 3)) +declare var b: NotString; +>b : Symbol(b, Decl(assignFromStringInterface2.ts, 38, 11)) >NotString : Symbol(NotString, Decl(assignFromStringInterface2.ts, 2, 1)) a = x; ->a : Symbol(a, Decl(assignFromStringInterface2.ts, 37, 3)) +>a : Symbol(a, Decl(assignFromStringInterface2.ts, 37, 11)) >x : Symbol(x, Decl(assignFromStringInterface2.ts, 36, 3)) a = b; ->a : Symbol(a, Decl(assignFromStringInterface2.ts, 37, 3)) ->b : Symbol(b, Decl(assignFromStringInterface2.ts, 38, 3)) +>a : Symbol(a, Decl(assignFromStringInterface2.ts, 37, 11)) +>b : Symbol(b, Decl(assignFromStringInterface2.ts, 38, 11)) b = a; ->b : Symbol(b, Decl(assignFromStringInterface2.ts, 38, 3)) ->a : Symbol(a, Decl(assignFromStringInterface2.ts, 37, 3)) +>b : Symbol(b, Decl(assignFromStringInterface2.ts, 38, 11)) +>a : Symbol(a, Decl(assignFromStringInterface2.ts, 37, 11)) b = x; ->b : Symbol(b, Decl(assignFromStringInterface2.ts, 38, 3)) +>b : Symbol(b, Decl(assignFromStringInterface2.ts, 38, 11)) >x : Symbol(x, Decl(assignFromStringInterface2.ts, 36, 3)) x = a; // expected error >x : Symbol(x, Decl(assignFromStringInterface2.ts, 36, 3)) ->a : Symbol(a, Decl(assignFromStringInterface2.ts, 37, 3)) +>a : Symbol(a, Decl(assignFromStringInterface2.ts, 37, 11)) x = b; // expected error >x : Symbol(x, Decl(assignFromStringInterface2.ts, 36, 3)) ->b : Symbol(b, Decl(assignFromStringInterface2.ts, 38, 3)) +>b : Symbol(b, Decl(assignFromStringInterface2.ts, 38, 11)) diff --git a/tests/baselines/reference/assignFromStringInterface2.types b/tests/baselines/reference/assignFromStringInterface2.types index ad5e66cff4334..07abd49b32fc4 100644 --- a/tests/baselines/reference/assignFromStringInterface2.types +++ b/tests/baselines/reference/assignFromStringInterface2.types @@ -199,11 +199,11 @@ var x = ''; >'' : "" > : ^^ -var a: String; +declare var a: String; >a : String > : ^^^^^^ -var b: NotString; +declare var b: NotString; >b : NotString > : ^^^^^^^^^ diff --git a/tests/baselines/reference/assigningFromObjectToAnythingElse.errors.txt b/tests/baselines/reference/assigningFromObjectToAnythingElse.errors.txt index 828311e627ef9..5252d2b49a4ab 100644 --- a/tests/baselines/reference/assigningFromObjectToAnythingElse.errors.txt +++ b/tests/baselines/reference/assigningFromObjectToAnythingElse.errors.txt @@ -7,7 +7,7 @@ assigningFromObjectToAnythingElse.ts(8,5): error TS2696: The 'Object' type is as ==== assigningFromObjectToAnythingElse.ts (4 errors) ==== - var x: Object; + declare var x: Object; var y: RegExp; y = x; ~ diff --git a/tests/baselines/reference/assigningFromObjectToAnythingElse.js b/tests/baselines/reference/assigningFromObjectToAnythingElse.js index 39cddae6eee45..393cda52bead6 100644 --- a/tests/baselines/reference/assigningFromObjectToAnythingElse.js +++ b/tests/baselines/reference/assigningFromObjectToAnythingElse.js @@ -1,7 +1,7 @@ //// [tests/cases/compiler/assigningFromObjectToAnythingElse.ts] //// //// [assigningFromObjectToAnythingElse.ts] -var x: Object; +declare var x: Object; var y: RegExp; y = x; @@ -12,7 +12,6 @@ var w: Error = new Object(); //// [assigningFromObjectToAnythingElse.js] -var x; var y; y = x; var a = Object.create(""); diff --git a/tests/baselines/reference/assigningFromObjectToAnythingElse.symbols b/tests/baselines/reference/assigningFromObjectToAnythingElse.symbols index b9981cbf27c77..2dfe427e64294 100644 --- a/tests/baselines/reference/assigningFromObjectToAnythingElse.symbols +++ b/tests/baselines/reference/assigningFromObjectToAnythingElse.symbols @@ -1,8 +1,8 @@ //// [tests/cases/compiler/assigningFromObjectToAnythingElse.ts] //// === assigningFromObjectToAnythingElse.ts === -var x: Object; ->x : Symbol(x, Decl(assigningFromObjectToAnythingElse.ts, 0, 3)) +declare var x: Object; +>x : Symbol(x, Decl(assigningFromObjectToAnythingElse.ts, 0, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var y: RegExp; @@ -11,7 +11,7 @@ var y: RegExp; y = x; >y : Symbol(y, Decl(assigningFromObjectToAnythingElse.ts, 1, 3)) ->x : Symbol(x, Decl(assigningFromObjectToAnythingElse.ts, 0, 3)) +>x : Symbol(x, Decl(assigningFromObjectToAnythingElse.ts, 0, 11)) var a: String = Object.create(""); >a : Symbol(a, Decl(assigningFromObjectToAnythingElse.ts, 4, 3)) diff --git a/tests/baselines/reference/assigningFromObjectToAnythingElse.types b/tests/baselines/reference/assigningFromObjectToAnythingElse.types index ac2b3e1d33cb6..5cca0414e9679 100644 --- a/tests/baselines/reference/assigningFromObjectToAnythingElse.types +++ b/tests/baselines/reference/assigningFromObjectToAnythingElse.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/assigningFromObjectToAnythingElse.ts] //// === assigningFromObjectToAnythingElse.ts === -var x: Object; +declare var x: Object; >x : Object > : ^^^^^^ diff --git a/tests/baselines/reference/assignmentCompat1.errors.txt b/tests/baselines/reference/assignmentCompat1.errors.txt index 21f47f1464878..7c0d0ad0e4cfa 100644 --- a/tests/baselines/reference/assignmentCompat1.errors.txt +++ b/tests/baselines/reference/assignmentCompat1.errors.txt @@ -6,8 +6,8 @@ assignmentCompat1.ts(10,1): error TS2322: Type 'boolean' is not assignable to ty ==== assignmentCompat1.ts (4 errors) ==== var x = { one: 1 }; - var y: { [index: string]: any }; - var z: { [index: number]: any }; + declare var y: { [index: string]: any }; + declare var z: { [index: number]: any }; x = y; // Error ~ !!! error TS2741: Property 'one' is missing in type '{ [index: string]: any; }' but required in type '{ one: number; }'. diff --git a/tests/baselines/reference/assignmentCompat1.js b/tests/baselines/reference/assignmentCompat1.js index 7aa4680ff2a04..46129a3486827 100644 --- a/tests/baselines/reference/assignmentCompat1.js +++ b/tests/baselines/reference/assignmentCompat1.js @@ -2,8 +2,8 @@ //// [assignmentCompat1.ts] var x = { one: 1 }; -var y: { [index: string]: any }; -var z: { [index: number]: any }; +declare var y: { [index: string]: any }; +declare var z: { [index: number]: any }; x = y; // Error y = x; // Ok because index signature type is any x = z; // Error @@ -16,8 +16,6 @@ z = false; // Error //// [assignmentCompat1.js] var x = { one: 1 }; -var y; -var z; x = y; // Error y = x; // Ok because index signature type is any x = z; // Error diff --git a/tests/baselines/reference/assignmentCompat1.symbols b/tests/baselines/reference/assignmentCompat1.symbols index 8603aabcaea2e..a1d5f7470abf1 100644 --- a/tests/baselines/reference/assignmentCompat1.symbols +++ b/tests/baselines/reference/assignmentCompat1.symbols @@ -5,37 +5,37 @@ var x = { one: 1 }; >x : Symbol(x, Decl(assignmentCompat1.ts, 0, 3)) >one : Symbol(one, Decl(assignmentCompat1.ts, 0, 9)) -var y: { [index: string]: any }; ->y : Symbol(y, Decl(assignmentCompat1.ts, 1, 3)) ->index : Symbol(index, Decl(assignmentCompat1.ts, 1, 10)) +declare var y: { [index: string]: any }; +>y : Symbol(y, Decl(assignmentCompat1.ts, 1, 11)) +>index : Symbol(index, Decl(assignmentCompat1.ts, 1, 18)) -var z: { [index: number]: any }; ->z : Symbol(z, Decl(assignmentCompat1.ts, 2, 3)) ->index : Symbol(index, Decl(assignmentCompat1.ts, 2, 10)) +declare var z: { [index: number]: any }; +>z : Symbol(z, Decl(assignmentCompat1.ts, 2, 11)) +>index : Symbol(index, Decl(assignmentCompat1.ts, 2, 18)) x = y; // Error >x : Symbol(x, Decl(assignmentCompat1.ts, 0, 3)) ->y : Symbol(y, Decl(assignmentCompat1.ts, 1, 3)) +>y : Symbol(y, Decl(assignmentCompat1.ts, 1, 11)) y = x; // Ok because index signature type is any ->y : Symbol(y, Decl(assignmentCompat1.ts, 1, 3)) +>y : Symbol(y, Decl(assignmentCompat1.ts, 1, 11)) >x : Symbol(x, Decl(assignmentCompat1.ts, 0, 3)) x = z; // Error >x : Symbol(x, Decl(assignmentCompat1.ts, 0, 3)) ->z : Symbol(z, Decl(assignmentCompat1.ts, 2, 3)) +>z : Symbol(z, Decl(assignmentCompat1.ts, 2, 11)) z = x; // Ok because index signature type is any ->z : Symbol(z, Decl(assignmentCompat1.ts, 2, 3)) +>z : Symbol(z, Decl(assignmentCompat1.ts, 2, 11)) >x : Symbol(x, Decl(assignmentCompat1.ts, 0, 3)) y = "foo"; // Error ->y : Symbol(y, Decl(assignmentCompat1.ts, 1, 3)) +>y : Symbol(y, Decl(assignmentCompat1.ts, 1, 11)) z = "foo"; // OK, string has numeric indexer ->z : Symbol(z, Decl(assignmentCompat1.ts, 2, 3)) +>z : Symbol(z, Decl(assignmentCompat1.ts, 2, 11)) z = false; // Error ->z : Symbol(z, Decl(assignmentCompat1.ts, 2, 3)) +>z : Symbol(z, Decl(assignmentCompat1.ts, 2, 11)) diff --git a/tests/baselines/reference/assignmentCompat1.types b/tests/baselines/reference/assignmentCompat1.types index 6eb5a6ae394df..0e44dbe8a1923 100644 --- a/tests/baselines/reference/assignmentCompat1.types +++ b/tests/baselines/reference/assignmentCompat1.types @@ -11,13 +11,13 @@ var x = { one: 1 }; >1 : 1 > : ^ -var y: { [index: string]: any }; +declare var y: { [index: string]: any }; >y : { [index: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >index : string > : ^^^^^^ -var z: { [index: number]: any }; +declare var z: { [index: number]: any }; >z : { [index: number]: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >index : number diff --git a/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.errors.txt b/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.errors.txt index 861f1ca4a05a1..d470f57434ed2 100644 --- a/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.errors.txt +++ b/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.errors.txt @@ -6,13 +6,13 @@ assignmentCompatBetweenTupleAndArray.ts(18,1): error TS2322: Type '{}[]' is not ==== assignmentCompatBetweenTupleAndArray.ts (2 errors) ==== - var numStrTuple: [number, string]; - var numNumTuple: [number, number]; - var numEmptyObjTuple: [number, {}]; - var emptyObjTuple: [{}]; + declare var numStrTuple: [number, string]; + declare var numNumTuple: [number, number]; + declare var numEmptyObjTuple: [number, {}]; + declare var emptyObjTuple: [{}]; - var numArray: number[]; - var emptyObjArray: {}[]; + declare var numArray: number[]; + declare var emptyObjArray: {}[]; // no error numArray = numNumTuple; diff --git a/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.js b/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.js index eab8267b89688..682af0db3825c 100644 --- a/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.js +++ b/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.js @@ -1,13 +1,13 @@ //// [tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatBetweenTupleAndArray.ts] //// //// [assignmentCompatBetweenTupleAndArray.ts] -var numStrTuple: [number, string]; -var numNumTuple: [number, number]; -var numEmptyObjTuple: [number, {}]; -var emptyObjTuple: [{}]; +declare var numStrTuple: [number, string]; +declare var numNumTuple: [number, number]; +declare var numEmptyObjTuple: [number, {}]; +declare var emptyObjTuple: [{}]; -var numArray: number[]; -var emptyObjArray: {}[]; +declare var numArray: number[]; +declare var emptyObjArray: {}[]; // no error numArray = numNumTuple; @@ -22,12 +22,6 @@ emptyObjTuple = emptyObjArray; //// [assignmentCompatBetweenTupleAndArray.js] -var numStrTuple; -var numNumTuple; -var numEmptyObjTuple; -var emptyObjTuple; -var numArray; -var emptyObjArray; // no error numArray = numNumTuple; emptyObjArray = emptyObjTuple; diff --git a/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.symbols b/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.symbols index ebc52c1ccc15e..1a0b2cd7e0743 100644 --- a/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.symbols +++ b/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.symbols @@ -1,51 +1,51 @@ //// [tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatBetweenTupleAndArray.ts] //// === assignmentCompatBetweenTupleAndArray.ts === -var numStrTuple: [number, string]; ->numStrTuple : Symbol(numStrTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 0, 3)) +declare var numStrTuple: [number, string]; +>numStrTuple : Symbol(numStrTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 0, 11)) -var numNumTuple: [number, number]; ->numNumTuple : Symbol(numNumTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 1, 3)) +declare var numNumTuple: [number, number]; +>numNumTuple : Symbol(numNumTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 1, 11)) -var numEmptyObjTuple: [number, {}]; ->numEmptyObjTuple : Symbol(numEmptyObjTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 2, 3)) +declare var numEmptyObjTuple: [number, {}]; +>numEmptyObjTuple : Symbol(numEmptyObjTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 2, 11)) -var emptyObjTuple: [{}]; ->emptyObjTuple : Symbol(emptyObjTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 3, 3)) +declare var emptyObjTuple: [{}]; +>emptyObjTuple : Symbol(emptyObjTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 3, 11)) -var numArray: number[]; ->numArray : Symbol(numArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 5, 3)) +declare var numArray: number[]; +>numArray : Symbol(numArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 5, 11)) -var emptyObjArray: {}[]; ->emptyObjArray : Symbol(emptyObjArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 6, 3)) +declare var emptyObjArray: {}[]; +>emptyObjArray : Symbol(emptyObjArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 6, 11)) // no error numArray = numNumTuple; ->numArray : Symbol(numArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 5, 3)) ->numNumTuple : Symbol(numNumTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 1, 3)) +>numArray : Symbol(numArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 5, 11)) +>numNumTuple : Symbol(numNumTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 1, 11)) emptyObjArray = emptyObjTuple; ->emptyObjArray : Symbol(emptyObjArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 6, 3)) ->emptyObjTuple : Symbol(emptyObjTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 3, 3)) +>emptyObjArray : Symbol(emptyObjArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 6, 11)) +>emptyObjTuple : Symbol(emptyObjTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 3, 11)) emptyObjArray = numStrTuple; ->emptyObjArray : Symbol(emptyObjArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 6, 3)) ->numStrTuple : Symbol(numStrTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 0, 3)) +>emptyObjArray : Symbol(emptyObjArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 6, 11)) +>numStrTuple : Symbol(numStrTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 0, 11)) emptyObjArray = numNumTuple; ->emptyObjArray : Symbol(emptyObjArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 6, 3)) ->numNumTuple : Symbol(numNumTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 1, 3)) +>emptyObjArray : Symbol(emptyObjArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 6, 11)) +>numNumTuple : Symbol(numNumTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 1, 11)) emptyObjArray = numEmptyObjTuple; ->emptyObjArray : Symbol(emptyObjArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 6, 3)) ->numEmptyObjTuple : Symbol(numEmptyObjTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 2, 3)) +>emptyObjArray : Symbol(emptyObjArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 6, 11)) +>numEmptyObjTuple : Symbol(numEmptyObjTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 2, 11)) // error numArray = numStrTuple; ->numArray : Symbol(numArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 5, 3)) ->numStrTuple : Symbol(numStrTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 0, 3)) +>numArray : Symbol(numArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 5, 11)) +>numStrTuple : Symbol(numStrTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 0, 11)) emptyObjTuple = emptyObjArray; ->emptyObjTuple : Symbol(emptyObjTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 3, 3)) ->emptyObjArray : Symbol(emptyObjArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 6, 3)) +>emptyObjTuple : Symbol(emptyObjTuple, Decl(assignmentCompatBetweenTupleAndArray.ts, 3, 11)) +>emptyObjArray : Symbol(emptyObjArray, Decl(assignmentCompatBetweenTupleAndArray.ts, 6, 11)) diff --git a/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.types b/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.types index 1c9bc07b8fd3a..424c0b64baf86 100644 --- a/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.types +++ b/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.types @@ -1,27 +1,27 @@ //// [tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatBetweenTupleAndArray.ts] //// === assignmentCompatBetweenTupleAndArray.ts === -var numStrTuple: [number, string]; +declare var numStrTuple: [number, string]; >numStrTuple : [number, string] > : ^^^^^^^^^^^^^^^^ -var numNumTuple: [number, number]; +declare var numNumTuple: [number, number]; >numNumTuple : [number, number] > : ^^^^^^^^^^^^^^^^ -var numEmptyObjTuple: [number, {}]; +declare var numEmptyObjTuple: [number, {}]; >numEmptyObjTuple : [number, {}] > : ^^^^^^^^^^^^ -var emptyObjTuple: [{}]; +declare var emptyObjTuple: [{}]; >emptyObjTuple : [{}] > : ^^^^ -var numArray: number[]; +declare var numArray: number[]; >numArray : number[] > : ^^^^^^^^ -var emptyObjArray: {}[]; +declare var emptyObjArray: {}[]; >emptyObjArray : {}[] > : ^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures.errors.txt b/tests/baselines/reference/assignmentCompatWithCallSignatures.errors.txt index 905c8e33ce6ff..3810663a12145 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures.errors.txt @@ -30,8 +30,8 @@ assignmentCompatWithCallSignatures.ts(42,1): error TS2322: Type '(x: string) => interface T { (x: number): void; } - var t: T; - var a: { (x: number): void }; + declare var t: T; + declare var a: { (x: number): void }; t = a; a = t; @@ -39,8 +39,8 @@ assignmentCompatWithCallSignatures.ts(42,1): error TS2322: Type '(x: string) => interface S { (x: number): string; } - var s: S; - var a2: { (x: number): string }; + declare var s: S; + declare var a2: { (x: number): string }; t = s; t = a2; a = s; @@ -56,8 +56,8 @@ assignmentCompatWithCallSignatures.ts(42,1): error TS2322: Type '(x: string) => interface S2 { (x: string): void; } - var s2: S2; - var a3: { (x: string): void }; + declare var s2: S2; + declare var a3: { (x: string): void }; // these are errors t = s2; ~ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures.js b/tests/baselines/reference/assignmentCompatWithCallSignatures.js index b590146a43b3a..c22e0d3b838af 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures.js +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures.js @@ -6,8 +6,8 @@ interface T { (x: number): void; } -var t: T; -var a: { (x: number): void }; +declare var t: T; +declare var a: { (x: number): void }; t = a; a = t; @@ -15,8 +15,8 @@ a = t; interface S { (x: number): string; } -var s: S; -var a2: { (x: number): string }; +declare var s: S; +declare var a2: { (x: number): string }; t = s; t = a2; a = s; @@ -32,8 +32,8 @@ a = function (x: number) { return ''; } interface S2 { (x: string): void; } -var s2: S2; -var a3: { (x: string): void }; +declare var s2: S2; +declare var a3: { (x: string): void }; // these are errors t = s2; t = a3; @@ -47,12 +47,8 @@ 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; a = t; -var s; -var a2; t = s; t = a2; a = s; @@ -63,8 +59,6 @@ t = function (x) { return ''; }; a = function (x) { return 1; }; a = function () { return 1; }; a = function (x) { return ''; }; -var s2; -var a3; // these are errors t = s2; t = a3; diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures.symbols b/tests/baselines/reference/assignmentCompatWithCallSignatures.symbols index aeaaa7a460154..5dac03976e3ab 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures.symbols +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures.symbols @@ -9,21 +9,21 @@ interface T { (x: number): void; >x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 3, 5)) } -var t: T; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 3)) +declare var t: T; +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 11)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures.ts, 0, 0)) -var a: { (x: number): void }; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 6, 10)) +declare var a: { (x: number): void }; +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 6, 18)) t = a; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 3)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 11)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 11)) a = t; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 3)) ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 11)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 11)) interface S { >S : Symbol(S, Decl(assignmentCompatWithCallSignatures.ts, 9, 6)) @@ -31,54 +31,54 @@ interface S { (x: number): string; >x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 12, 5)) } -var s: S; ->s : Symbol(s, Decl(assignmentCompatWithCallSignatures.ts, 14, 3)) +declare var s: S; +>s : Symbol(s, Decl(assignmentCompatWithCallSignatures.ts, 14, 11)) >S : Symbol(S, Decl(assignmentCompatWithCallSignatures.ts, 9, 6)) -var a2: { (x: number): string }; ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures.ts, 15, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 15, 11)) +declare var a2: { (x: number): string }; +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures.ts, 15, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 15, 19)) t = s; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 3)) ->s : Symbol(s, Decl(assignmentCompatWithCallSignatures.ts, 14, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 11)) +>s : Symbol(s, Decl(assignmentCompatWithCallSignatures.ts, 14, 11)) t = a2; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 3)) ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures.ts, 15, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures.ts, 15, 11)) a = s; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 3)) ->s : Symbol(s, Decl(assignmentCompatWithCallSignatures.ts, 14, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 11)) +>s : Symbol(s, Decl(assignmentCompatWithCallSignatures.ts, 14, 11)) a = a2; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 3)) ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures.ts, 15, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures.ts, 15, 11)) t = (x: T) => 1; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 11)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures.ts, 21, 5)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 21, 8)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures.ts, 21, 5)) t = () => 1; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 11)) t = function (x: number) { return ''; } ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 23, 14)) a = (x: T) => 1; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 11)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures.ts, 24, 5)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 24, 8)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures.ts, 24, 5)) a = () => 1; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 11)) a = function (x: number) { return ''; } ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 26, 14)) interface S2 { @@ -87,44 +87,44 @@ interface S2 { (x: string): void; >x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 29, 5)) } -var s2: S2; ->s2 : Symbol(s2, Decl(assignmentCompatWithCallSignatures.ts, 31, 3)) +declare var s2: S2; +>s2 : Symbol(s2, Decl(assignmentCompatWithCallSignatures.ts, 31, 11)) >S2 : Symbol(S2, Decl(assignmentCompatWithCallSignatures.ts, 26, 39)) -var a3: { (x: string): void }; ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures.ts, 32, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 32, 11)) +declare var a3: { (x: string): void }; +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures.ts, 32, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 32, 19)) // these are errors t = s2; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 3)) ->s2 : Symbol(s2, Decl(assignmentCompatWithCallSignatures.ts, 31, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 11)) +>s2 : Symbol(s2, Decl(assignmentCompatWithCallSignatures.ts, 31, 11)) t = a3; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 3)) ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures.ts, 32, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 11)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures.ts, 32, 11)) t = (x: string) => 1; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 36, 5)) t = function (x: string) { return ''; } ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures.ts, 5, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 37, 14)) a = s2; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 3)) ->s2 : Symbol(s2, Decl(assignmentCompatWithCallSignatures.ts, 31, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 11)) +>s2 : Symbol(s2, Decl(assignmentCompatWithCallSignatures.ts, 31, 11)) a = a3; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 3)) ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures.ts, 32, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 11)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures.ts, 32, 11)) a = (x: string) => 1; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 40, 5)) a = function (x: string) { return ''; } ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures.ts, 6, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures.ts, 41, 14)) diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures.types b/tests/baselines/reference/assignmentCompatWithCallSignatures.types index ebe2000df48b2..c7ff1dcf1fc1f 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures.types @@ -8,11 +8,11 @@ interface T { >x : number > : ^^^^^^ } -var t: T; +declare var t: T; >t : T > : ^ -var a: { (x: number): void }; +declare var a: { (x: number): void }; >a : (x: number) => void > : ^ ^^ ^^^^^ >x : number @@ -39,11 +39,11 @@ interface S { >x : number > : ^^^^^^ } -var s: S; +declare var s: S; >s : S > : ^ -var a2: { (x: number): string }; +declare var a2: { (x: number): string }; >a2 : (x: number) => string > : ^ ^^ ^^^^^ >x : number @@ -154,11 +154,11 @@ interface S2 { >x : string > : ^^^^^^ } -var s2: S2; +declare var s2: S2; >s2 : S2 > : ^^ -var a3: { (x: string): void }; +declare var a3: { (x: string): void }; >a3 : (x: string) => void > : ^ ^^ ^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures2.errors.txt b/tests/baselines/reference/assignmentCompatWithCallSignatures2.errors.txt index 3cefc45caab17..62137d31048c1 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures2.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures2.errors.txt @@ -34,8 +34,8 @@ assignmentCompatWithCallSignatures2.ts(49,1): error TS2322: Type '(x: string) => interface T { f(x: number): void; } - var t: T; - var a: { f(x: number): void }; + declare var t: T; + declare var a: { f(x: number): void }; t = a; a = t; @@ -43,8 +43,8 @@ assignmentCompatWithCallSignatures2.ts(49,1): error TS2322: Type '(x: string) => interface S { f(x: number): string; } - var s: S; - var a2: { f(x: number): string }; + declare var s: S; + declare var a2: { f(x: number): string }; t = s; t = a2; a = s; @@ -75,8 +75,8 @@ assignmentCompatWithCallSignatures2.ts(49,1): error TS2322: Type '(x: string) => interface S2 { f(x: string): void; } - var s2: S2; - var a3: { f(x: string): void }; + declare var s2: S2; + declare var a3: { f(x: string): void }; // these are errors t = s2; ~ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures2.js b/tests/baselines/reference/assignmentCompatWithCallSignatures2.js index c7bf9a81f5a58..1528b9305f2a7 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures2.js +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures2.js @@ -6,8 +6,8 @@ interface T { f(x: number): void; } -var t: T; -var a: { f(x: number): void }; +declare var t: T; +declare var a: { f(x: number): void }; t = a; a = t; @@ -15,8 +15,8 @@ a = t; interface S { f(x: number): string; } -var s: S; -var a2: { f(x: number): string }; +declare var s: S; +declare var a2: { f(x: number): string }; t = s; t = a2; a = s; @@ -39,8 +39,8 @@ a = function (x: number) { return ''; } interface S2 { f(x: string): void; } -var s2: S2; -var a3: { f(x: string): void }; +declare var s2: S2; +declare var a3: { f(x: string): void }; // these are errors t = s2; t = a3; @@ -54,12 +54,8 @@ 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; a = t; -var s; -var a2; t = s; t = a2; a = s; @@ -76,8 +72,6 @@ t = function () { return 1; }; t = function (x) { return ''; }; a = function () { return 1; }; a = function (x) { return ''; }; -var s2; -var a3; // these are errors t = s2; t = a3; diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures2.symbols b/tests/baselines/reference/assignmentCompatWithCallSignatures2.symbols index b861c36caeeb8..788bf1f479bae 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures2.symbols +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures2.symbols @@ -10,22 +10,22 @@ interface T { >f : Symbol(T.f, Decl(assignmentCompatWithCallSignatures2.ts, 2, 13)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 3, 6)) } -var t: T; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 3)) +declare var t: T; +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 11)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures2.ts, 0, 0)) -var a: { f(x: number): void }; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 3)) ->f : Symbol(f, Decl(assignmentCompatWithCallSignatures2.ts, 6, 8)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 6, 11)) +declare var a: { f(x: number): void }; +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 11)) +>f : Symbol(f, Decl(assignmentCompatWithCallSignatures2.ts, 6, 16)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 6, 19)) t = a; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 3)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 11)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 11)) a = t; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 3)) ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 11)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 11)) interface S { >S : Symbol(S, Decl(assignmentCompatWithCallSignatures2.ts, 9, 6)) @@ -34,81 +34,81 @@ interface S { >f : Symbol(S.f, Decl(assignmentCompatWithCallSignatures2.ts, 11, 13)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 12, 6)) } -var s: S; ->s : Symbol(s, Decl(assignmentCompatWithCallSignatures2.ts, 14, 3)) +declare var s: S; +>s : Symbol(s, Decl(assignmentCompatWithCallSignatures2.ts, 14, 11)) >S : Symbol(S, Decl(assignmentCompatWithCallSignatures2.ts, 9, 6)) -var a2: { f(x: number): string }; ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures2.ts, 15, 3)) ->f : Symbol(f, Decl(assignmentCompatWithCallSignatures2.ts, 15, 9)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 15, 12)) +declare var a2: { f(x: number): string }; +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures2.ts, 15, 11)) +>f : Symbol(f, Decl(assignmentCompatWithCallSignatures2.ts, 15, 17)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 15, 20)) t = s; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 3)) ->s : Symbol(s, Decl(assignmentCompatWithCallSignatures2.ts, 14, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 11)) +>s : Symbol(s, Decl(assignmentCompatWithCallSignatures2.ts, 14, 11)) t = a2; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 3)) ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures2.ts, 15, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures2.ts, 15, 11)) a = s; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 3)) ->s : Symbol(s, Decl(assignmentCompatWithCallSignatures2.ts, 14, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 11)) +>s : Symbol(s, Decl(assignmentCompatWithCallSignatures2.ts, 14, 11)) a = a2; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 3)) ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures2.ts, 15, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures2.ts, 15, 11)) t = { f: () => 1 }; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 11)) >f : Symbol(f, Decl(assignmentCompatWithCallSignatures2.ts, 21, 5)) t = { f: (x:T) => 1 }; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 11)) >f : Symbol(f, Decl(assignmentCompatWithCallSignatures2.ts, 22, 5)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures2.ts, 22, 10)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 22, 13)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures2.ts, 22, 10)) t = { f: function f() { return 1 } }; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 11)) >f : Symbol(f, Decl(assignmentCompatWithCallSignatures2.ts, 23, 5)) >f : Symbol(f, Decl(assignmentCompatWithCallSignatures2.ts, 23, 8)) t = { f(x: number) { return ''; } } ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 11)) >f : Symbol(f, Decl(assignmentCompatWithCallSignatures2.ts, 24, 5)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 24, 8)) a = { f: () => 1 } ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 11)) >f : Symbol(f, Decl(assignmentCompatWithCallSignatures2.ts, 25, 5)) a = { f: (x: T) => 1 }; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 11)) >f : Symbol(f, Decl(assignmentCompatWithCallSignatures2.ts, 26, 5)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures2.ts, 26, 10)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 26, 13)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures2.ts, 26, 10)) a = { f: function (x: number) { return ''; } } ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 11)) >f : Symbol(f, Decl(assignmentCompatWithCallSignatures2.ts, 27, 5)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 27, 19)) // errors t = () => 1; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 11)) t = function (x: number) { return ''; } ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 31, 14)) a = () => 1; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 11)) a = function (x: number) { return ''; } ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 33, 14)) interface S2 { @@ -118,45 +118,45 @@ interface S2 { >f : Symbol(S2.f, Decl(assignmentCompatWithCallSignatures2.ts, 35, 14)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 36, 6)) } -var s2: S2; ->s2 : Symbol(s2, Decl(assignmentCompatWithCallSignatures2.ts, 38, 3)) +declare var s2: S2; +>s2 : Symbol(s2, Decl(assignmentCompatWithCallSignatures2.ts, 38, 11)) >S2 : Symbol(S2, Decl(assignmentCompatWithCallSignatures2.ts, 33, 39)) -var a3: { f(x: string): void }; ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures2.ts, 39, 3)) ->f : Symbol(f, Decl(assignmentCompatWithCallSignatures2.ts, 39, 9)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 39, 12)) +declare var a3: { f(x: string): void }; +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures2.ts, 39, 11)) +>f : Symbol(f, Decl(assignmentCompatWithCallSignatures2.ts, 39, 17)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 39, 20)) // these are errors t = s2; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 3)) ->s2 : Symbol(s2, Decl(assignmentCompatWithCallSignatures2.ts, 38, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 11)) +>s2 : Symbol(s2, Decl(assignmentCompatWithCallSignatures2.ts, 38, 11)) t = a3; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 3)) ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures2.ts, 39, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 11)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures2.ts, 39, 11)) t = (x: string) => 1; ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 43, 5)) t = function (x: string) { return ''; } ->t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithCallSignatures2.ts, 5, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 44, 14)) a = s2; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 3)) ->s2 : Symbol(s2, Decl(assignmentCompatWithCallSignatures2.ts, 38, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 11)) +>s2 : Symbol(s2, Decl(assignmentCompatWithCallSignatures2.ts, 38, 11)) a = a3; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 3)) ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures2.ts, 39, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 11)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures2.ts, 39, 11)) a = (x: string) => 1; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 47, 5)) a = function (x: string) { return ''; } ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures2.ts, 6, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures2.ts, 48, 14)) diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures2.types b/tests/baselines/reference/assignmentCompatWithCallSignatures2.types index 1da1324ee7c3f..8d6b4d5cde730 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures2.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures2.types @@ -10,11 +10,11 @@ interface T { >x : number > : ^^^^^^ } -var t: T; +declare var t: T; >t : T > : ^ -var a: { f(x: number): void }; +declare var a: { f(x: number): void }; >a : { f(x: number): void; } > : ^^^^ ^^ ^^^ ^^^ >f : (x: number) => void @@ -45,11 +45,11 @@ interface S { >x : number > : ^^^^^^ } -var s: S; +declare var s: S; >s : S > : ^ -var a2: { f(x: number): string }; +declare var a2: { f(x: number): string }; >a2 : { f(x: number): string; } > : ^^^^ ^^ ^^^ ^^^ >f : (x: number) => string @@ -247,11 +247,11 @@ interface S2 { >x : string > : ^^^^^^ } -var s2: S2; +declare var s2: S2; >s2 : S2 > : ^^ -var a3: { f(x: string): void }; +declare var a3: { f(x: string): void }; >a3 : { f(x: string): void; } > : ^^^^ ^^ ^^^ ^^^ >f : (x: string) => void diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures3.errors.txt b/tests/baselines/reference/assignmentCompatWithCallSignatures3.errors.txt index 1d1c9bfdcebd3..b72fa97762c6f 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures3.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures3.errors.txt @@ -70,33 +70,33 @@ assignmentCompatWithCallSignatures3.ts(86,1): error TS2322: Type '(x: { a: strin class Derived2 extends Derived { baz: string; } class OtherDerived extends Base { bing: string; } - var a: (x: number) => number[]; - var a2: (x: number) => string[]; - var a3: (x: number) => void; - var a4: (x: string, y: number) => string; - var a5: (x: (arg: string) => number) => string; - var a6: (x: (arg: Base) => Derived) => Base; - var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; - var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; - var a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; - var a10: (...x: Derived[]) => Derived; - var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; - var a12: (x: Array, y: Array) => Array; - var a13: (x: Array, y: Array) => Array; - var a14: (x: { a: string; b: number }) => Object; - var a15: { + declare var a: (x: number) => number[]; + declare var a2: (x: number) => string[]; + declare var a3: (x: number) => void; + declare var a4: (x: string, y: number) => string; + declare var a5: (x: (arg: string) => number) => string; + declare var a6: (x: (arg: Base) => Derived) => Base; + declare var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; + declare var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; + declare var a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; + declare var a10: (...x: Derived[]) => Derived; + declare var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; + declare var a12: (x: Array, y: Array) => Array; + declare var a13: (x: Array, y: Array) => Array; + declare var a14: (x: { a: string; b: number }) => Object; + declare var a15: { (x: number): number[]; (x: string): string[]; } - var a16: { + declare var a16: { (x: T): number[]; (x: U): number[]; } - var a17: { + declare var a17: { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }; - var a18: { + declare var a18: { (x: { (a: number): number; (a: string): string; @@ -107,39 +107,39 @@ assignmentCompatWithCallSignatures3.ts(86,1): error TS2322: Type '(x: { a: strin }): any[]; } - var b: (x: T) => T[]; + declare var b: (x: T) => T[]; a = b; // ok b = a; // ok ~ !!! error TS2322: Type '(x: number) => number[]' is not assignable to type '(x: T) => T[]'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'number'. -!!! related TS2208 assignmentCompatWithCallSignatures3.ts:45:9: This type parameter might need an `extends number` constraint. - var b2: (x: T) => string[]; +!!! related TS2208 assignmentCompatWithCallSignatures3.ts:45:17: This type parameter might need an `extends number` constraint. + declare var b2: (x: T) => string[]; a2 = b2; // ok b2 = a2; // ok ~~ !!! error TS2322: Type '(x: number) => string[]' is not assignable to type '(x: T) => string[]'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'number'. -!!! related TS2208 assignmentCompatWithCallSignatures3.ts:48:10: This type parameter might need an `extends number` constraint. - var b3: (x: T) => T; +!!! related TS2208 assignmentCompatWithCallSignatures3.ts:48:18: This type parameter might need an `extends number` constraint. + declare var b3: (x: T) => T; a3 = b3; // ok b3 = a3; // ok ~~ !!! error TS2322: Type '(x: number) => void' is not assignable to type '(x: T) => T'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'number'. -!!! related TS2208 assignmentCompatWithCallSignatures3.ts:51:10: This type parameter might need an `extends number` constraint. - var b4: (x: T, y: U) => T; +!!! related TS2208 assignmentCompatWithCallSignatures3.ts:51:18: This type parameter might need an `extends number` constraint. + declare var b4: (x: T, y: U) => T; a4 = b4; // ok b4 = a4; // ok ~~ !!! error TS2322: Type '(x: string, y: number) => string' is not assignable to type '(x: T, y: U) => T'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'string'. -!!! related TS2208 assignmentCompatWithCallSignatures3.ts:54:10: This type parameter might need an `extends string` constraint. - var b5: (x: (arg: T) => U) => T; +!!! related TS2208 assignmentCompatWithCallSignatures3.ts:54:18: This type parameter might need an `extends string` constraint. + declare var b5: (x: (arg: T) => U) => T; a5 = b5; // ok b5 = a5; // ok ~~ @@ -148,7 +148,7 @@ assignmentCompatWithCallSignatures3.ts(86,1): error TS2322: Type '(x: { a: strin !!! error TS2322: Types of parameters 'arg' and 'arg' are incompatible. !!! error TS2322: Type 'string' is not assignable to type 'T'. !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'string'. - var b6: (x: (arg: T) => U) => T; + declare var b6: (x: (arg: T) => U) => T; a6 = b6; // ok b6 = a6; // ok ~~ @@ -157,7 +157,7 @@ assignmentCompatWithCallSignatures3.ts(86,1): error TS2322: Type '(x: { a: strin !!! error TS2322: Types of parameters 'arg' and 'arg' are incompatible. !!! error TS2322: Type 'Base' is not assignable to type 'T'. !!! error TS2322: 'Base' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Base'. - var b7: (x: (arg: T) => U) => (r: T) => U; + declare var b7: (x: (arg: T) => U) => (r: T) => U; a7 = b7; // ok b7 = a7; // ok ~~ @@ -166,7 +166,7 @@ assignmentCompatWithCallSignatures3.ts(86,1): error TS2322: Type '(x: { a: strin !!! error TS2322: Types of parameters 'arg' and 'arg' are incompatible. !!! error TS2322: Type 'Base' is not assignable to type 'T'. !!! error TS2322: 'Base' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Base'. - var b8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; + declare var b8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; a8 = b8; // ok b8 = a8; // ok ~~ @@ -175,7 +175,7 @@ assignmentCompatWithCallSignatures3.ts(86,1): error TS2322: Type '(x: { a: strin !!! error TS2322: Types of parameters 'arg' and 'arg' are incompatible. !!! error TS2322: Type 'Base' is not assignable to type 'T'. !!! error TS2322: 'Base' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Base'. - var b9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; + declare var b9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; a9 = b9; // ok b9 = a9; // ok ~~ @@ -184,14 +184,14 @@ assignmentCompatWithCallSignatures3.ts(86,1): error TS2322: Type '(x: { a: strin !!! error TS2322: Types of parameters 'arg' and 'arg' are incompatible. !!! error TS2322: Type 'Base' is not assignable to type 'T'. !!! error TS2322: 'Base' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Base'. - var b10: (...x: T[]) => T; + declare var b10: (...x: T[]) => T; a10 = b10; // ok b10 = a10; // ok ~~~ !!! error TS2322: Type '(...x: Derived[]) => Derived' is not assignable to type '(...x: T[]) => T'. !!! error TS2322: Type 'Derived' is not assignable to type 'T'. !!! error TS2322: 'Derived' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Derived'. - var b11: (x: T, y: T) => T; + declare var b11: (x: T, y: T) => T; a11 = b11; // ok b11 = a11; // ok ~~~ @@ -199,8 +199,8 @@ assignmentCompatWithCallSignatures3.ts(86,1): error TS2322: Type '(x: { a: strin !!! error TS2322: Types of parameters 'y' and 'y' are incompatible. !!! error TS2322: Type 'T' is not assignable to type '{ foo: string; bar: string; }'. !!! error TS2322: Property 'bar' is missing in type 'Base' but required in type '{ foo: string; bar: string; }'. -!!! related TS2728 assignmentCompatWithCallSignatures3.ts:18:49: 'bar' is declared here. - var b12: >(x: Array, y: T) => Array; +!!! related TS2728 assignmentCompatWithCallSignatures3.ts:18:57: 'bar' is declared here. + declare var b12: >(x: Array, y: T) => Array; a12 = b12; // ok b12 = a12; // ok ~~~ @@ -209,14 +209,14 @@ assignmentCompatWithCallSignatures3.ts(86,1): error TS2322: Type '(x: { a: strin !!! error TS2322: Type 'T' is not assignable to type 'Derived2[]'. !!! error TS2322: Type 'Base[]' is not assignable to type 'Derived2[]'. !!! error TS2322: Type 'Base' is missing the following properties from type 'Derived2': baz, bar - var b13: >(x: Array, y: T) => T; + declare var b13: >(x: Array, y: T) => T; a13 = b13; // ok b13 = a13; // ok ~~~ !!! error TS2322: Type '(x: Base[], y: Derived[]) => Derived[]' is not assignable to type '>(x: Base[], y: T) => T'. !!! error TS2322: Type 'Derived[]' is not assignable to type 'T'. !!! error TS2322: 'Derived[]' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Derived[]'. - var b14: (x: { a: T; b: T }) => T; + declare var b14: (x: { a: T; b: T }) => T; a14 = b14; // ok ~~~ !!! error TS2322: Type '(x: { a: T; b: T; }) => T' is not assignable to type '(x: { a: string; b: number; }) => Object'. @@ -231,17 +231,17 @@ assignmentCompatWithCallSignatures3.ts(86,1): error TS2322: Type '(x: { a: strin !!! error TS2322: Type '{ a: T; b: T; }' is not assignable to type '{ a: string; b: number; }'. !!! error TS2322: Types of property 'a' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'string'. -!!! related TS2208 assignmentCompatWithCallSignatures3.ts:84:11: This type parameter might need an `extends string` constraint. - var b15: (x: T) => T[]; +!!! related TS2208 assignmentCompatWithCallSignatures3.ts:84:19: This type parameter might need an `extends string` constraint. + declare var b15: (x: T) => T[]; a15 = b15; // ok b15 = a15; // ok - var b16: (x: T) => number[]; + declare var b16: (x: T) => number[]; a16 = b16; // ok b16 = a16; // ok - var b17: (x: (a: T) => T) => T[]; // ok + declare var b17: (x: (a: T) => T) => T[]; // ok a17 = b17; // ok b17 = a17; // ok - var b18: (x: (a: T) => T) => T[]; + declare var b18: (x: (a: T) => T) => T[]; a18 = b18; // ok b18 = a18; // ok \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures3.js b/tests/baselines/reference/assignmentCompatWithCallSignatures3.js index 7c3cfb81b994f..cdc9bdebef257 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures3.js +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures3.js @@ -8,33 +8,33 @@ class Derived extends Base { bar: string; } class Derived2 extends Derived { baz: string; } class OtherDerived extends Base { bing: string; } -var a: (x: number) => number[]; -var a2: (x: number) => string[]; -var a3: (x: number) => void; -var a4: (x: string, y: number) => string; -var a5: (x: (arg: string) => number) => string; -var a6: (x: (arg: Base) => Derived) => Base; -var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; -var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; -var a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; -var a10: (...x: Derived[]) => Derived; -var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; -var a12: (x: Array, y: Array) => Array; -var a13: (x: Array, y: Array) => Array; -var a14: (x: { a: string; b: number }) => Object; -var a15: { +declare var a: (x: number) => number[]; +declare var a2: (x: number) => string[]; +declare var a3: (x: number) => void; +declare var a4: (x: string, y: number) => string; +declare var a5: (x: (arg: string) => number) => string; +declare var a6: (x: (arg: Base) => Derived) => Base; +declare var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; +declare var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +declare var a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +declare var a10: (...x: Derived[]) => Derived; +declare var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; +declare var a12: (x: Array, y: Array) => Array; +declare var a13: (x: Array, y: Array) => Array; +declare var a14: (x: { a: string; b: number }) => Object; +declare var a15: { (x: number): number[]; (x: string): string[]; } -var a16: { +declare var a16: { (x: T): number[]; (x: U): number[]; } -var a17: { +declare var a17: { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }; -var a18: { +declare var a18: { (x: { (a: number): number; (a: string): string; @@ -45,58 +45,58 @@ var a18: { }): any[]; } -var b: (x: T) => T[]; +declare var b: (x: T) => T[]; a = b; // ok b = a; // ok -var b2: (x: T) => string[]; +declare var b2: (x: T) => string[]; a2 = b2; // ok b2 = a2; // ok -var b3: (x: T) => T; +declare var b3: (x: T) => T; a3 = b3; // ok b3 = a3; // ok -var b4: (x: T, y: U) => T; +declare var b4: (x: T, y: U) => T; a4 = b4; // ok b4 = a4; // ok -var b5: (x: (arg: T) => U) => T; +declare var b5: (x: (arg: T) => U) => T; a5 = b5; // ok b5 = a5; // ok -var b6: (x: (arg: T) => U) => T; +declare var b6: (x: (arg: T) => U) => T; a6 = b6; // ok b6 = a6; // ok -var b7: (x: (arg: T) => U) => (r: T) => U; +declare var b7: (x: (arg: T) => U) => (r: T) => U; a7 = b7; // ok b7 = a7; // ok -var b8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; +declare var b8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; a8 = b8; // ok b8 = a8; // ok -var b9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; +declare var b9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; a9 = b9; // ok b9 = a9; // ok -var b10: (...x: T[]) => T; +declare var b10: (...x: T[]) => T; a10 = b10; // ok b10 = a10; // ok -var b11: (x: T, y: T) => T; +declare var b11: (x: T, y: T) => T; a11 = b11; // ok b11 = a11; // ok -var b12: >(x: Array, y: T) => Array; +declare var b12: >(x: Array, y: T) => Array; a12 = b12; // ok b12 = a12; // ok -var b13: >(x: Array, y: T) => T; +declare var b13: >(x: Array, y: T) => T; a13 = b13; // ok b13 = a13; // ok -var b14: (x: { a: T; b: T }) => T; +declare var b14: (x: { a: T; b: T }) => T; a14 = b14; // ok b14 = a14; // ok -var b15: (x: T) => T[]; +declare var b15: (x: T) => T[]; a15 = b15; // ok b15 = a15; // ok -var b16: (x: T) => number[]; +declare var b16: (x: T) => number[]; a16 = b16; // ok b16 = a16; // ok -var b17: (x: (a: T) => T) => T[]; // ok +declare var b17: (x: (a: T) => T) => T[]; // ok a17 = b17; // ok b17 = a17; // ok -var b18: (x: (a: T) => T) => T[]; +declare var b18: (x: (a: T) => T) => T[]; a18 = b18; // ok b18 = a18; // ok @@ -144,75 +144,39 @@ var OtherDerived = /** @class */ (function (_super) { } return OtherDerived; }(Base)); -var a; -var a2; -var a3; -var a4; -var a5; -var a6; -var a7; -var a8; -var a9; -var a10; -var a11; -var a12; -var a13; -var a14; -var a15; -var a16; -var a17; -var a18; -var b; a = b; // ok b = a; // ok -var b2; a2 = b2; // ok b2 = a2; // ok -var b3; a3 = b3; // ok b3 = a3; // ok -var b4; a4 = b4; // ok b4 = a4; // ok -var b5; a5 = b5; // ok b5 = a5; // ok -var b6; a6 = b6; // ok b6 = a6; // ok -var b7; a7 = b7; // ok b7 = a7; // ok -var b8; a8 = b8; // ok b8 = a8; // ok -var b9; a9 = b9; // ok b9 = a9; // ok -var b10; a10 = b10; // ok b10 = a10; // ok -var b11; a11 = b11; // ok b11 = a11; // ok -var b12; a12 = b12; // ok b12 = a12; // ok -var b13; a13 = b13; // ok b13 = a13; // ok -var b14; a14 = b14; // ok b14 = a14; // ok -var b15; a15 = b15; // ok b15 = a15; // ok -var b16; a16 = b16; // ok b16 = a16; // ok -var b17; // ok a17 = b17; // ok b17 = a17; // ok -var b18; a18 = b18; // ok b18 = a18; // ok diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures3.symbols b/tests/baselines/reference/assignmentCompatWithCallSignatures3.symbols index 6561c6e85dce7..3124eb15b5c01 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures3.symbols +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures3.symbols @@ -22,120 +22,120 @@ class OtherDerived extends Base { bing: string; } >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) >bing : Symbol(OtherDerived.bing, Decl(assignmentCompatWithCallSignatures3.ts, 5, 33)) -var a: (x: number) => number[]; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 7, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 7, 8)) - -var a2: (x: number) => string[]; ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures3.ts, 8, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 8, 9)) - -var a3: (x: number) => void; ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures3.ts, 9, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 9, 9)) - -var a4: (x: string, y: number) => string; ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignatures3.ts, 10, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 10, 9)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 10, 19)) - -var a5: (x: (arg: string) => number) => string; ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignatures3.ts, 11, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 11, 9)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 11, 13)) - -var a6: (x: (arg: Base) => Derived) => Base; ->a6 : Symbol(a6, Decl(assignmentCompatWithCallSignatures3.ts, 12, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 12, 9)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 12, 13)) +declare var a: (x: number) => number[]; +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 7, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 7, 16)) + +declare var a2: (x: number) => string[]; +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures3.ts, 8, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 8, 17)) + +declare var a3: (x: number) => void; +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures3.ts, 9, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 9, 17)) + +declare var a4: (x: string, y: number) => string; +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignatures3.ts, 10, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 10, 17)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 10, 27)) + +declare var a5: (x: (arg: string) => number) => string; +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignatures3.ts, 11, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 11, 17)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 11, 21)) + +declare var a6: (x: (arg: Base) => Derived) => Base; +>a6 : Symbol(a6, Decl(assignmentCompatWithCallSignatures3.ts, 12, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 12, 17)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 12, 21)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) -var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; ->a7 : Symbol(a7, Decl(assignmentCompatWithCallSignatures3.ts, 13, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 13, 9)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 13, 13)) +declare var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; +>a7 : Symbol(a7, Decl(assignmentCompatWithCallSignatures3.ts, 13, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 13, 17)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 13, 21)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) ->r : Symbol(r, Decl(assignmentCompatWithCallSignatures3.ts, 13, 40)) +>r : Symbol(r, Decl(assignmentCompatWithCallSignatures3.ts, 13, 48)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) -var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a8 : Symbol(a8, Decl(assignmentCompatWithCallSignatures3.ts, 14, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 14, 9)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 14, 13)) +declare var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +>a8 : Symbol(a8, Decl(assignmentCompatWithCallSignatures3.ts, 14, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 14, 17)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 14, 21)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 14, 35)) ->arg2 : Symbol(arg2, Decl(assignmentCompatWithCallSignatures3.ts, 14, 40)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 14, 43)) +>arg2 : Symbol(arg2, Decl(assignmentCompatWithCallSignatures3.ts, 14, 48)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) ->r : Symbol(r, Decl(assignmentCompatWithCallSignatures3.ts, 14, 68)) +>r : Symbol(r, Decl(assignmentCompatWithCallSignatures3.ts, 14, 76)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) -var a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a9 : Symbol(a9, Decl(assignmentCompatWithCallSignatures3.ts, 15, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 15, 9)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 15, 13)) +declare var a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +>a9 : Symbol(a9, Decl(assignmentCompatWithCallSignatures3.ts, 15, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 15, 17)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 15, 21)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 15, 35)) ->arg2 : Symbol(arg2, Decl(assignmentCompatWithCallSignatures3.ts, 15, 40)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 15, 43)) +>arg2 : Symbol(arg2, Decl(assignmentCompatWithCallSignatures3.ts, 15, 48)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) ->r : Symbol(r, Decl(assignmentCompatWithCallSignatures3.ts, 15, 68)) +>r : Symbol(r, Decl(assignmentCompatWithCallSignatures3.ts, 15, 76)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) -var a10: (...x: Derived[]) => Derived; ->a10 : Symbol(a10, Decl(assignmentCompatWithCallSignatures3.ts, 16, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 16, 10)) +declare var a10: (...x: Derived[]) => Derived; +>a10 : Symbol(a10, Decl(assignmentCompatWithCallSignatures3.ts, 16, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 16, 18)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) -var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures3.ts, 17, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 17, 10)) ->foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures3.ts, 17, 14)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 17, 29)) ->foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures3.ts, 17, 34)) ->bar : Symbol(bar, Decl(assignmentCompatWithCallSignatures3.ts, 17, 47)) +declare var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; +>a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures3.ts, 17, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 17, 18)) +>foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures3.ts, 17, 22)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 17, 37)) +>foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures3.ts, 17, 42)) +>bar : Symbol(bar, Decl(assignmentCompatWithCallSignatures3.ts, 17, 55)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) -var a12: (x: Array, y: Array) => Array; ->a12 : Symbol(a12, Decl(assignmentCompatWithCallSignatures3.ts, 18, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 18, 10)) +declare var a12: (x: Array, y: Array) => Array; +>a12 : Symbol(a12, Decl(assignmentCompatWithCallSignatures3.ts, 18, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 18, 18)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 18, 25)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 18, 33)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithCallSignatures3.ts, 3, 43)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) -var a13: (x: Array, y: Array) => Array; ->a13 : Symbol(a13, Decl(assignmentCompatWithCallSignatures3.ts, 19, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 19, 10)) +declare var a13: (x: Array, y: Array) => Array; +>a13 : Symbol(a13, Decl(assignmentCompatWithCallSignatures3.ts, 19, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 19, 18)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 19, 25)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 19, 33)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) -var a14: (x: { a: string; b: number }) => Object; ->a14 : Symbol(a14, Decl(assignmentCompatWithCallSignatures3.ts, 20, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 20, 10)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 20, 14)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures3.ts, 20, 25)) +declare var a14: (x: { a: string; b: number }) => Object; +>a14 : Symbol(a14, Decl(assignmentCompatWithCallSignatures3.ts, 20, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 20, 18)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 20, 22)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures3.ts, 20, 33)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) -var a15: { ->a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures3.ts, 21, 3)) +declare var a15: { +>a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures3.ts, 21, 11)) (x: number): number[]; >x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 22, 5)) @@ -143,8 +143,8 @@ var a15: { (x: string): string[]; >x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 23, 5)) } -var a16: { ->a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures3.ts, 25, 3)) +declare var a16: { +>a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures3.ts, 25, 11)) (x: T): number[]; >T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 26, 5)) @@ -158,8 +158,8 @@ var a16: { >x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 27, 21)) >U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 27, 5)) } -var a17: { ->a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures3.ts, 29, 3)) +declare var a17: { +>a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures3.ts, 29, 11)) (x: (a: number) => number): number[]; >x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 30, 5)) @@ -170,8 +170,8 @@ var a17: { >a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 31, 9)) }; -var a18: { ->a18 : Symbol(a18, Decl(assignmentCompatWithCallSignatures3.ts, 33, 3)) +declare var a18: { +>a18 : Symbol(a18, Decl(assignmentCompatWithCallSignatures3.ts, 33, 11)) (x: { >x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 34, 5)) @@ -197,335 +197,335 @@ var a18: { }): any[]; } -var b: (x: T) => T[]; ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures3.ts, 44, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 44, 8)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 44, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 44, 8)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 44, 8)) +declare var b: (x: T) => T[]; +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures3.ts, 44, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 44, 16)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 44, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 44, 16)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 44, 16)) a = b; // ok ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 7, 3)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures3.ts, 44, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 7, 11)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures3.ts, 44, 11)) b = a; // ok ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures3.ts, 44, 3)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 7, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures3.ts, 44, 11)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 7, 11)) -var b2: (x: T) => string[]; ->b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures3.ts, 47, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 47, 9)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 47, 12)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 47, 9)) +declare var b2: (x: T) => string[]; +>b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures3.ts, 47, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 47, 17)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 47, 20)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 47, 17)) a2 = b2; // ok ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures3.ts, 8, 3)) ->b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures3.ts, 47, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures3.ts, 8, 11)) +>b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures3.ts, 47, 11)) b2 = a2; // ok ->b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures3.ts, 47, 3)) ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures3.ts, 8, 3)) +>b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures3.ts, 47, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures3.ts, 8, 11)) -var b3: (x: T) => T; ->b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures3.ts, 50, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 50, 9)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 50, 12)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 50, 9)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 50, 9)) +declare var b3: (x: T) => T; +>b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures3.ts, 50, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 50, 17)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 50, 20)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 50, 17)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 50, 17)) a3 = b3; // ok ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures3.ts, 9, 3)) ->b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures3.ts, 50, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures3.ts, 9, 11)) +>b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures3.ts, 50, 11)) b3 = a3; // ok ->b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures3.ts, 50, 3)) ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures3.ts, 9, 3)) - -var b4: (x: T, y: U) => T; ->b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures3.ts, 53, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 53, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 53, 11)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 53, 15)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 53, 9)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 53, 20)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 53, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 53, 9)) +>b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures3.ts, 50, 11)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures3.ts, 9, 11)) + +declare var b4: (x: T, y: U) => T; +>b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures3.ts, 53, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 53, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 53, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 53, 23)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 53, 17)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 53, 28)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 53, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 53, 17)) a4 = b4; // ok ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignatures3.ts, 10, 3)) ->b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures3.ts, 53, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignatures3.ts, 10, 11)) +>b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures3.ts, 53, 11)) b4 = a4; // ok ->b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures3.ts, 53, 3)) ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignatures3.ts, 10, 3)) - -var b5: (x: (arg: T) => U) => T; ->b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures3.ts, 56, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 56, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 56, 11)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 56, 15)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 56, 19)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 56, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 56, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 56, 9)) +>b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures3.ts, 53, 11)) +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignatures3.ts, 10, 11)) + +declare var b5: (x: (arg: T) => U) => T; +>b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures3.ts, 56, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 56, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 56, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 56, 23)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 56, 27)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 56, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 56, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 56, 17)) a5 = b5; // ok ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignatures3.ts, 11, 3)) ->b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures3.ts, 56, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignatures3.ts, 11, 11)) +>b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures3.ts, 56, 11)) b5 = a5; // ok ->b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures3.ts, 56, 3)) ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignatures3.ts, 11, 3)) +>b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures3.ts, 56, 11)) +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignatures3.ts, 11, 11)) -var b6: (x: (arg: T) => U) => T; ->b6 : Symbol(b6, Decl(assignmentCompatWithCallSignatures3.ts, 59, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 59, 9)) +declare var b6: (x: (arg: T) => U) => T; +>b6 : Symbol(b6, Decl(assignmentCompatWithCallSignatures3.ts, 59, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 59, 17)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 59, 24)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 59, 32)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 59, 44)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 59, 48)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 59, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 59, 24)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 59, 9)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 59, 52)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 59, 56)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 59, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 59, 32)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 59, 17)) a6 = b6; // ok ->a6 : Symbol(a6, Decl(assignmentCompatWithCallSignatures3.ts, 12, 3)) ->b6 : Symbol(b6, Decl(assignmentCompatWithCallSignatures3.ts, 59, 3)) +>a6 : Symbol(a6, Decl(assignmentCompatWithCallSignatures3.ts, 12, 11)) +>b6 : Symbol(b6, Decl(assignmentCompatWithCallSignatures3.ts, 59, 11)) b6 = a6; // ok ->b6 : Symbol(b6, Decl(assignmentCompatWithCallSignatures3.ts, 59, 3)) ->a6 : Symbol(a6, Decl(assignmentCompatWithCallSignatures3.ts, 12, 3)) +>b6 : Symbol(b6, Decl(assignmentCompatWithCallSignatures3.ts, 59, 11)) +>a6 : Symbol(a6, Decl(assignmentCompatWithCallSignatures3.ts, 12, 11)) -var b7: (x: (arg: T) => U) => (r: T) => U; ->b7 : Symbol(b7, Decl(assignmentCompatWithCallSignatures3.ts, 62, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 62, 9)) +declare var b7: (x: (arg: T) => U) => (r: T) => U; +>b7 : Symbol(b7, Decl(assignmentCompatWithCallSignatures3.ts, 62, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 62, 17)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 62, 24)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 62, 32)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 62, 44)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 62, 48)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 62, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 62, 24)) ->r : Symbol(r, Decl(assignmentCompatWithCallSignatures3.ts, 62, 66)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 62, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 62, 24)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 62, 52)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 62, 56)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 62, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 62, 32)) +>r : Symbol(r, Decl(assignmentCompatWithCallSignatures3.ts, 62, 74)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 62, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 62, 32)) a7 = b7; // ok ->a7 : Symbol(a7, Decl(assignmentCompatWithCallSignatures3.ts, 13, 3)) ->b7 : Symbol(b7, Decl(assignmentCompatWithCallSignatures3.ts, 62, 3)) +>a7 : Symbol(a7, Decl(assignmentCompatWithCallSignatures3.ts, 13, 11)) +>b7 : Symbol(b7, Decl(assignmentCompatWithCallSignatures3.ts, 62, 11)) b7 = a7; // ok ->b7 : Symbol(b7, Decl(assignmentCompatWithCallSignatures3.ts, 62, 3)) ->a7 : Symbol(a7, Decl(assignmentCompatWithCallSignatures3.ts, 13, 3)) +>b7 : Symbol(b7, Decl(assignmentCompatWithCallSignatures3.ts, 62, 11)) +>a7 : Symbol(a7, Decl(assignmentCompatWithCallSignatures3.ts, 13, 11)) -var b8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; ->b8 : Symbol(b8, Decl(assignmentCompatWithCallSignatures3.ts, 65, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 65, 9)) +declare var b8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; +>b8 : Symbol(b8, Decl(assignmentCompatWithCallSignatures3.ts, 65, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 65, 17)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 65, 24)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 65, 32)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 65, 44)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 65, 48)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 65, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 65, 24)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 65, 61)) ->arg2 : Symbol(arg2, Decl(assignmentCompatWithCallSignatures3.ts, 65, 66)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 65, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 65, 24)) ->r : Symbol(r, Decl(assignmentCompatWithCallSignatures3.ts, 65, 85)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 65, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 65, 24)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 65, 52)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 65, 56)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 65, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 65, 32)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 65, 69)) +>arg2 : Symbol(arg2, Decl(assignmentCompatWithCallSignatures3.ts, 65, 74)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 65, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 65, 32)) +>r : Symbol(r, Decl(assignmentCompatWithCallSignatures3.ts, 65, 93)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 65, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 65, 32)) a8 = b8; // ok ->a8 : Symbol(a8, Decl(assignmentCompatWithCallSignatures3.ts, 14, 3)) ->b8 : Symbol(b8, Decl(assignmentCompatWithCallSignatures3.ts, 65, 3)) +>a8 : Symbol(a8, Decl(assignmentCompatWithCallSignatures3.ts, 14, 11)) +>b8 : Symbol(b8, Decl(assignmentCompatWithCallSignatures3.ts, 65, 11)) b8 = a8; // ok ->b8 : Symbol(b8, Decl(assignmentCompatWithCallSignatures3.ts, 65, 3)) ->a8 : Symbol(a8, Decl(assignmentCompatWithCallSignatures3.ts, 14, 3)) +>b8 : Symbol(b8, Decl(assignmentCompatWithCallSignatures3.ts, 65, 11)) +>a8 : Symbol(a8, Decl(assignmentCompatWithCallSignatures3.ts, 14, 11)) -var b9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; ->b9 : Symbol(b9, Decl(assignmentCompatWithCallSignatures3.ts, 68, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 68, 9)) +declare var b9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; +>b9 : Symbol(b9, Decl(assignmentCompatWithCallSignatures3.ts, 68, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 68, 17)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 68, 24)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 68, 32)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 68, 44)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 68, 48)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 68, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 68, 24)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 68, 61)) ->arg2 : Symbol(arg2, Decl(assignmentCompatWithCallSignatures3.ts, 68, 66)) ->foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures3.ts, 68, 73)) ->bing : Symbol(bing, Decl(assignmentCompatWithCallSignatures3.ts, 68, 86)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 68, 24)) ->r : Symbol(r, Decl(assignmentCompatWithCallSignatures3.ts, 68, 113)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 68, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 68, 24)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 68, 52)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures3.ts, 68, 56)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 68, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 68, 32)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 68, 69)) +>arg2 : Symbol(arg2, Decl(assignmentCompatWithCallSignatures3.ts, 68, 74)) +>foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures3.ts, 68, 81)) +>bing : Symbol(bing, Decl(assignmentCompatWithCallSignatures3.ts, 68, 94)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 68, 32)) +>r : Symbol(r, Decl(assignmentCompatWithCallSignatures3.ts, 68, 121)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 68, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures3.ts, 68, 32)) a9 = b9; // ok ->a9 : Symbol(a9, Decl(assignmentCompatWithCallSignatures3.ts, 15, 3)) ->b9 : Symbol(b9, Decl(assignmentCompatWithCallSignatures3.ts, 68, 3)) +>a9 : Symbol(a9, Decl(assignmentCompatWithCallSignatures3.ts, 15, 11)) +>b9 : Symbol(b9, Decl(assignmentCompatWithCallSignatures3.ts, 68, 11)) b9 = a9; // ok ->b9 : Symbol(b9, Decl(assignmentCompatWithCallSignatures3.ts, 68, 3)) ->a9 : Symbol(a9, Decl(assignmentCompatWithCallSignatures3.ts, 15, 3)) +>b9 : Symbol(b9, Decl(assignmentCompatWithCallSignatures3.ts, 68, 11)) +>a9 : Symbol(a9, Decl(assignmentCompatWithCallSignatures3.ts, 15, 11)) -var b10: (...x: T[]) => T; ->b10 : Symbol(b10, Decl(assignmentCompatWithCallSignatures3.ts, 71, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 71, 10)) +declare var b10: (...x: T[]) => T; +>b10 : Symbol(b10, Decl(assignmentCompatWithCallSignatures3.ts, 71, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 71, 18)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 71, 29)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 71, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 71, 10)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 71, 37)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 71, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 71, 18)) a10 = b10; // ok ->a10 : Symbol(a10, Decl(assignmentCompatWithCallSignatures3.ts, 16, 3)) ->b10 : Symbol(b10, Decl(assignmentCompatWithCallSignatures3.ts, 71, 3)) +>a10 : Symbol(a10, Decl(assignmentCompatWithCallSignatures3.ts, 16, 11)) +>b10 : Symbol(b10, Decl(assignmentCompatWithCallSignatures3.ts, 71, 11)) b10 = a10; // ok ->b10 : Symbol(b10, Decl(assignmentCompatWithCallSignatures3.ts, 71, 3)) ->a10 : Symbol(a10, Decl(assignmentCompatWithCallSignatures3.ts, 16, 3)) +>b10 : Symbol(b10, Decl(assignmentCompatWithCallSignatures3.ts, 71, 11)) +>a10 : Symbol(a10, Decl(assignmentCompatWithCallSignatures3.ts, 16, 11)) -var b11: (x: T, y: T) => T; ->b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures3.ts, 74, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 74, 10)) +declare var b11: (x: T, y: T) => T; +>b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures3.ts, 74, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 74, 18)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 74, 26)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 74, 10)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 74, 31)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 74, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 74, 10)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 74, 34)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 74, 18)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 74, 39)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 74, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 74, 18)) a11 = b11; // ok ->a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures3.ts, 17, 3)) ->b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures3.ts, 74, 3)) +>a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures3.ts, 17, 11)) +>b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures3.ts, 74, 11)) b11 = a11; // ok ->b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures3.ts, 74, 3)) ->a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures3.ts, 17, 3)) +>b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures3.ts, 74, 11)) +>a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures3.ts, 17, 11)) -var b12: >(x: Array, y: T) => Array; ->b12 : Symbol(b12, Decl(assignmentCompatWithCallSignatures3.ts, 77, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 77, 10)) +declare var b12: >(x: Array, y: T) => Array; +>b12 : Symbol(b12, Decl(assignmentCompatWithCallSignatures3.ts, 77, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 77, 18)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 77, 33)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 77, 41)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 77, 48)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 77, 10)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 77, 56)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 77, 18)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) a12 = b12; // ok ->a12 : Symbol(a12, Decl(assignmentCompatWithCallSignatures3.ts, 18, 3)) ->b12 : Symbol(b12, Decl(assignmentCompatWithCallSignatures3.ts, 77, 3)) +>a12 : Symbol(a12, Decl(assignmentCompatWithCallSignatures3.ts, 18, 11)) +>b12 : Symbol(b12, Decl(assignmentCompatWithCallSignatures3.ts, 77, 11)) b12 = a12; // ok ->b12 : Symbol(b12, Decl(assignmentCompatWithCallSignatures3.ts, 77, 3)) ->a12 : Symbol(a12, Decl(assignmentCompatWithCallSignatures3.ts, 18, 3)) +>b12 : Symbol(b12, Decl(assignmentCompatWithCallSignatures3.ts, 77, 11)) +>a12 : Symbol(a12, Decl(assignmentCompatWithCallSignatures3.ts, 18, 11)) -var b13: >(x: Array, y: T) => T; ->b13 : Symbol(b13, Decl(assignmentCompatWithCallSignatures3.ts, 80, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 80, 10)) +declare var b13: >(x: Array, y: T) => T; +>b13 : Symbol(b13, Decl(assignmentCompatWithCallSignatures3.ts, 80, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 80, 18)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 80, 36)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 80, 44)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 80, 51)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 80, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 80, 10)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 80, 59)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 80, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 80, 18)) a13 = b13; // ok ->a13 : Symbol(a13, Decl(assignmentCompatWithCallSignatures3.ts, 19, 3)) ->b13 : Symbol(b13, Decl(assignmentCompatWithCallSignatures3.ts, 80, 3)) +>a13 : Symbol(a13, Decl(assignmentCompatWithCallSignatures3.ts, 19, 11)) +>b13 : Symbol(b13, Decl(assignmentCompatWithCallSignatures3.ts, 80, 11)) b13 = a13; // ok ->b13 : Symbol(b13, Decl(assignmentCompatWithCallSignatures3.ts, 80, 3)) ->a13 : Symbol(a13, Decl(assignmentCompatWithCallSignatures3.ts, 19, 3)) - -var b14: (x: { a: T; b: T }) => T; ->b14 : Symbol(b14, Decl(assignmentCompatWithCallSignatures3.ts, 83, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 83, 10)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 83, 13)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 83, 17)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 83, 10)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures3.ts, 83, 23)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 83, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 83, 10)) +>b13 : Symbol(b13, Decl(assignmentCompatWithCallSignatures3.ts, 80, 11)) +>a13 : Symbol(a13, Decl(assignmentCompatWithCallSignatures3.ts, 19, 11)) + +declare var b14: (x: { a: T; b: T }) => T; +>b14 : Symbol(b14, Decl(assignmentCompatWithCallSignatures3.ts, 83, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 83, 18)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 83, 21)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 83, 25)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 83, 18)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures3.ts, 83, 31)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 83, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 83, 18)) a14 = b14; // ok ->a14 : Symbol(a14, Decl(assignmentCompatWithCallSignatures3.ts, 20, 3)) ->b14 : Symbol(b14, Decl(assignmentCompatWithCallSignatures3.ts, 83, 3)) +>a14 : Symbol(a14, Decl(assignmentCompatWithCallSignatures3.ts, 20, 11)) +>b14 : Symbol(b14, Decl(assignmentCompatWithCallSignatures3.ts, 83, 11)) b14 = a14; // ok ->b14 : Symbol(b14, Decl(assignmentCompatWithCallSignatures3.ts, 83, 3)) ->a14 : Symbol(a14, Decl(assignmentCompatWithCallSignatures3.ts, 20, 3)) +>b14 : Symbol(b14, Decl(assignmentCompatWithCallSignatures3.ts, 83, 11)) +>a14 : Symbol(a14, Decl(assignmentCompatWithCallSignatures3.ts, 20, 11)) -var b15: (x: T) => T[]; ->b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures3.ts, 86, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 86, 10)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 86, 13)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 86, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 86, 10)) +declare var b15: (x: T) => T[]; +>b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures3.ts, 86, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 86, 18)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 86, 21)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 86, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 86, 18)) a15 = b15; // ok ->a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures3.ts, 21, 3)) ->b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures3.ts, 86, 3)) +>a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures3.ts, 21, 11)) +>b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures3.ts, 86, 11)) b15 = a15; // ok ->b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures3.ts, 86, 3)) ->a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures3.ts, 21, 3)) +>b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures3.ts, 86, 11)) +>a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures3.ts, 21, 11)) -var b16: (x: T) => number[]; ->b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures3.ts, 89, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 89, 10)) +declare var b16: (x: T) => number[]; +>b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures3.ts, 89, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 89, 18)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 89, 26)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 89, 10)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 89, 34)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 89, 18)) a16 = b16; // ok ->a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures3.ts, 25, 3)) ->b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures3.ts, 89, 3)) +>a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures3.ts, 25, 11)) +>b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures3.ts, 89, 11)) b16 = a16; // ok ->b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures3.ts, 89, 3)) ->a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures3.ts, 25, 3)) - -var b17: (x: (a: T) => T) => T[]; // ok ->b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures3.ts, 92, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 92, 10)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 92, 13)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 92, 17)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 92, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 92, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 92, 10)) +>b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures3.ts, 89, 11)) +>a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures3.ts, 25, 11)) + +declare var b17: (x: (a: T) => T) => T[]; // ok +>b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures3.ts, 92, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 92, 18)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 92, 21)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 92, 25)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 92, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 92, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 92, 18)) a17 = b17; // ok ->a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures3.ts, 29, 3)) ->b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures3.ts, 92, 3)) +>a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures3.ts, 29, 11)) +>b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures3.ts, 92, 11)) b17 = a17; // ok ->b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures3.ts, 92, 3)) ->a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures3.ts, 29, 3)) - -var b18: (x: (a: T) => T) => T[]; ->b18 : Symbol(b18, Decl(assignmentCompatWithCallSignatures3.ts, 95, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 95, 10)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 95, 13)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 95, 17)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 95, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 95, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 95, 10)) +>b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures3.ts, 92, 11)) +>a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures3.ts, 29, 11)) + +declare var b18: (x: (a: T) => T) => T[]; +>b18 : Symbol(b18, Decl(assignmentCompatWithCallSignatures3.ts, 95, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 95, 18)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 95, 21)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 95, 25)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 95, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 95, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 95, 18)) a18 = b18; // ok ->a18 : Symbol(a18, Decl(assignmentCompatWithCallSignatures3.ts, 33, 3)) ->b18 : Symbol(b18, Decl(assignmentCompatWithCallSignatures3.ts, 95, 3)) +>a18 : Symbol(a18, Decl(assignmentCompatWithCallSignatures3.ts, 33, 11)) +>b18 : Symbol(b18, Decl(assignmentCompatWithCallSignatures3.ts, 95, 11)) b18 = a18; // ok ->b18 : Symbol(b18, Decl(assignmentCompatWithCallSignatures3.ts, 95, 3)) ->a18 : Symbol(a18, Decl(assignmentCompatWithCallSignatures3.ts, 33, 3)) +>b18 : Symbol(b18, Decl(assignmentCompatWithCallSignatures3.ts, 95, 11)) +>a18 : Symbol(a18, Decl(assignmentCompatWithCallSignatures3.ts, 33, 11)) diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures3.types b/tests/baselines/reference/assignmentCompatWithCallSignatures3.types index 225a7032edf1a..8792ad4ccc335 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures3.types @@ -33,25 +33,25 @@ class OtherDerived extends Base { bing: string; } >bing : string > : ^^^^^^ -var a: (x: number) => number[]; +declare var a: (x: number) => number[]; >a : (x: number) => number[] > : ^ ^^ ^^^^^ >x : number > : ^^^^^^ -var a2: (x: number) => string[]; +declare var a2: (x: number) => string[]; >a2 : (x: number) => string[] > : ^ ^^ ^^^^^ >x : number > : ^^^^^^ -var a3: (x: number) => void; +declare var a3: (x: number) => void; >a3 : (x: number) => void > : ^ ^^ ^^^^^ >x : number > : ^^^^^^ -var a4: (x: string, y: number) => string; +declare var a4: (x: string, y: number) => string; >a4 : (x: string, y: number) => string > : ^ ^^ ^^ ^^ ^^^^^ >x : string @@ -59,7 +59,7 @@ var a4: (x: string, y: number) => string; >y : number > : ^^^^^^ -var a5: (x: (arg: string) => number) => string; +declare var a5: (x: (arg: string) => number) => string; >a5 : (x: (arg: string) => number) => string > : ^ ^^ ^^^^^ >x : (arg: string) => number @@ -67,7 +67,7 @@ var a5: (x: (arg: string) => number) => string; >arg : string > : ^^^^^^ -var a6: (x: (arg: Base) => Derived) => Base; +declare var a6: (x: (arg: Base) => Derived) => Base; >a6 : (x: (arg: Base) => Derived) => Base > : ^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -75,7 +75,7 @@ var a6: (x: (arg: Base) => Derived) => Base; >arg : Base > : ^^^^ -var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; +declare var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -85,7 +85,7 @@ var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; >r : Base > : ^^^^ -var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +declare var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -99,7 +99,7 @@ var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => >r : Base > : ^^^^ -var a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +declare var a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -113,13 +113,13 @@ var a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => >r : Base > : ^^^^ -var a10: (...x: Derived[]) => Derived; +declare var a10: (...x: Derived[]) => Derived; >a10 : (...x: Derived[]) => Derived > : ^^^^ ^^ ^^^^^ >x : Derived[] > : ^^^^^^^^^ -var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; +declare var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^ ^^ ^^ ^^ ^^^^^ >x : { foo: string; } @@ -133,7 +133,7 @@ var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; >bar : string > : ^^^^^^ -var a12: (x: Array, y: Array) => Array; +declare var a12: (x: Array, y: Array) => Array; >a12 : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ >x : Base[] @@ -141,7 +141,7 @@ var a12: (x: Array, y: Array) => Array; >y : Derived2[] > : ^^^^^^^^^^ -var a13: (x: Array, y: Array) => Array; +declare var a13: (x: Array, y: Array) => Array; >a13 : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ >x : Base[] @@ -149,7 +149,7 @@ var a13: (x: Array, y: Array) => Array; >y : Derived[] > : ^^^^^^^^^ -var a14: (x: { a: string; b: number }) => Object; +declare var a14: (x: { a: string; b: number }) => Object; >a14 : (x: { a: string; b: number; }) => Object > : ^ ^^ ^^^^^ >x : { a: string; b: number; } @@ -159,7 +159,7 @@ var a14: (x: { a: string; b: number }) => Object; >b : number > : ^^^^^^ -var a15: { +declare var a15: { >a15 : { (x: number): number[]; (x: string): string[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -171,7 +171,7 @@ var a15: { >x : string > : ^^^^^^ } -var a16: { +declare var a16: { >a16 : { (x: T): number[]; (x: U): number[]; } > : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ @@ -183,7 +183,7 @@ var a16: { >x : U > : ^ } -var a17: { +declare var a17: { >a17 : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -200,7 +200,7 @@ var a17: { > : ^^^^^^ }; -var a18: { +declare var a18: { >a18 : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -232,7 +232,7 @@ var a18: { }): any[]; } -var b: (x: T) => T[]; +declare var b: (x: T) => T[]; >b : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ >x : T @@ -254,7 +254,7 @@ b = a; // ok >a : (x: number) => number[] > : ^ ^^ ^^^^^ -var b2: (x: T) => string[]; +declare var b2: (x: T) => string[]; >b2 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^ >x : T @@ -276,7 +276,7 @@ b2 = a2; // ok >a2 : (x: number) => string[] > : ^ ^^ ^^^^^ -var b3: (x: T) => T; +declare var b3: (x: T) => T; >b3 : (x: T) => T > : ^ ^^ ^^ ^^^^^ >x : T @@ -298,7 +298,7 @@ b3 = a3; // ok >a3 : (x: number) => void > : ^ ^^ ^^^^^ -var b4: (x: T, y: U) => T; +declare var b4: (x: T, y: U) => T; >b4 : (x: T, y: U) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -322,7 +322,7 @@ b4 = a4; // ok >a4 : (x: string, y: number) => string > : ^ ^^ ^^ ^^ ^^^^^ -var b5: (x: (arg: T) => U) => T; +declare var b5: (x: (arg: T) => U) => T; >b5 : (x: (arg: T) => U) => T > : ^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -346,7 +346,7 @@ b5 = a5; // ok >a5 : (x: (arg: string) => number) => string > : ^ ^^ ^^^^^ -var b6: (x: (arg: T) => U) => T; +declare var b6: (x: (arg: T) => U) => T; >b6 : (x: (arg: T) => U) => T > : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -370,7 +370,7 @@ b6 = a6; // ok >a6 : (x: (arg: Base) => Derived) => Base > : ^ ^^ ^^^^^ -var b7: (x: (arg: T) => U) => (r: T) => U; +declare var b7: (x: (arg: T) => U) => (r: T) => U; >b7 : (x: (arg: T) => U) => (r: T) => U > : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -396,7 +396,7 @@ b7 = a7; // ok >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^^^^ -var b8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; +declare var b8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; >b8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U > : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -426,7 +426,7 @@ b8 = a8; // ok >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^ -var b9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; +declare var b9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; >b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U > : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -460,7 +460,7 @@ b9 = a9; // ok >a9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^ -var b10: (...x: T[]) => T; +declare var b10: (...x: T[]) => T; >b10 : (...x: T[]) => T > : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] @@ -482,7 +482,7 @@ b10 = a10; // ok >a10 : (...x: Derived[]) => Derived > : ^^^^ ^^ ^^^^^ -var b11: (x: T, y: T) => T; +declare var b11: (x: T, y: T) => T; >b11 : (x: T, y: T) => T > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -506,7 +506,7 @@ b11 = a11; // ok >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^ ^^ ^^ ^^ ^^^^^ -var b12: >(x: Array, y: T) => Array; +declare var b12: >(x: Array, y: T) => Array; >b12 : >(x: Array, y: T) => Array > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] @@ -530,7 +530,7 @@ b12 = a12; // ok >a12 : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ -var b13: >(x: Array, y: T) => T; +declare var b13: >(x: Array, y: T) => T; >b13 : >(x: Array, y: T) => T > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] @@ -554,7 +554,7 @@ b13 = a13; // ok >a13 : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ -var b14: (x: { a: T; b: T }) => T; +declare var b14: (x: { a: T; b: T }) => T; >b14 : (x: { a: T; b: T; }) => T > : ^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -580,7 +580,7 @@ b14 = a14; // ok >a14 : (x: { a: string; b: number; }) => Object > : ^ ^^ ^^^^^ -var b15: (x: T) => T[]; +declare var b15: (x: T) => T[]; >b15 : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ >x : T @@ -602,7 +602,7 @@ b15 = a15; // ok >a15 : { (x: number): number[]; (x: string): string[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ -var b16: (x: T) => number[]; +declare var b16: (x: T) => number[]; >b16 : (x: T) => number[] > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T @@ -624,7 +624,7 @@ b16 = a16; // ok >a16 : { (x: T): number[]; (x: U): number[]; } > : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ -var b17: (x: (a: T) => T) => T[]; // ok +declare var b17: (x: (a: T) => T) => T[]; // ok >b17 : (x: (a: T) => T) => T[] > : ^ ^^ ^^ ^^^^^ >x : (a: T) => T @@ -648,7 +648,7 @@ b17 = a17; // ok >a17 : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ -var b18: (x: (a: T) => T) => T[]; +declare var b18: (x: (a: T) => T) => T[]; >b18 : (x: (a: T) => T) => T[] > : ^ ^^ ^^ ^^^^^ >x : (a: T) => T diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures4.errors.txt b/tests/baselines/reference/assignmentCompatWithCallSignatures4.errors.txt index 47b298347b0c1..20203d4160ab4 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures4.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures4.errors.txt @@ -74,18 +74,18 @@ assignmentCompatWithCallSignatures4.ts(96,9): error TS2322: Type '(x: T) => s namespace WithNonGenericSignaturesInBaseType { // target type with non-generic call signatures - var a2: (x: number) => string[]; - var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived2; - var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; - var a10: (...x: Base[]) => Base; - var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; - var a12: (x: Array, y: Array) => Array; - var a14: { + declare var a2: (x: number) => string[]; + declare var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived2; + declare var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; + declare var a10: (...x: Base[]) => Base; + declare var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; + declare var a12: (x: Array, y: Array) => Array; + declare var a14: { (x: number): number[]; (x: string): string[]; }; - var a15: (x: { a: string; b: number }) => number; - var a16: { + declare var a15: (x: { a: string; b: number }) => number; + declare var a16: { (x: { (a: number): number; (a?: number): number; @@ -95,7 +95,7 @@ assignmentCompatWithCallSignatures4.ts(96,9): error TS2322: Type '(x: T) => s (a?: boolean): boolean; }): boolean[]; }; - var a17: { + declare var a17: { (x: { (a: T): T; (a: T): T; @@ -106,16 +106,16 @@ assignmentCompatWithCallSignatures4.ts(96,9): error TS2322: Type '(x: T) => s }): any[]; }; - var b2: (x: T) => U[]; + declare var b2: (x: T) => U[]; a2 = b2; b2 = a2; ~~ !!! error TS2322: Type '(x: number) => string[]' is not assignable to type '(x: T) => U[]'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'number'. -!!! related TS2208 assignmentCompatWithCallSignatures4.ts:43:18: This type parameter might need an `extends number` constraint. +!!! related TS2208 assignmentCompatWithCallSignatures4.ts:43:26: This type parameter might need an `extends number` constraint. - var b7: (x: (arg: T) => U) => (r: T) => V; + declare var b7: (x: (arg: T) => U) => (r: T) => V; a7 = b7; b7 = a7; ~~ @@ -125,7 +125,7 @@ assignmentCompatWithCallSignatures4.ts(96,9): error TS2322: Type '(x: T) => s !!! error TS2322: Type 'Base' is not assignable to type 'T'. !!! error TS2322: 'Base' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Base'. - var b8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; + declare var b8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; a8 = b8; // error, { foo: number } and Base are incompatible ~~ !!! error TS2322: Type '(x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U' is not assignable to type '(x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived'. @@ -143,7 +143,7 @@ assignmentCompatWithCallSignatures4.ts(96,9): error TS2322: Type '(x: T) => s !!! error TS2322: 'Base' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Base'. - var b10: (...x: T[]) => T; + declare var b10: (...x: T[]) => T; a10 = b10; b10 = a10; ~~~ @@ -151,7 +151,7 @@ assignmentCompatWithCallSignatures4.ts(96,9): error TS2322: Type '(x: T) => s !!! error TS2322: Type 'Base' is not assignable to type 'T'. !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'Base'. - var b11: (x: T, y: T) => T; + declare var b11: (x: T, y: T) => T; a11 = b11; b11 = a11; ~~~ @@ -159,7 +159,7 @@ assignmentCompatWithCallSignatures4.ts(96,9): error TS2322: Type '(x: T) => s !!! error TS2322: Type 'Base' is not assignable to type 'T'. !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'Base'. - var b12: >(x: Array, y: Array) => T; + declare var b12: >(x: Array, y: Array) => T; a12 = b12; b12 = a12; ~~~ @@ -167,7 +167,7 @@ assignmentCompatWithCallSignatures4.ts(96,9): error TS2322: Type '(x: T) => s !!! error TS2322: Type 'Derived[]' is not assignable to type 'T'. !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'Derived[]'. - var b15: (x: { a: T; b: T }) => T; + declare var b15: (x: { a: T; b: T }) => T; a15 = b15; ~~~ !!! error TS2322: Type '(x: { a: T; b: T; }) => T' is not assignable to type '(x: { a: string; b: number; }) => number'. @@ -182,9 +182,9 @@ assignmentCompatWithCallSignatures4.ts(96,9): error TS2322: Type '(x: T) => s !!! error TS2322: Type '{ a: T; b: T; }' is not assignable to type '{ a: string; b: number; }'. !!! error TS2322: Types of property 'a' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'string'. -!!! related TS2208 assignmentCompatWithCallSignatures4.ts:68:19: This type parameter might need an `extends string` constraint. +!!! related TS2208 assignmentCompatWithCallSignatures4.ts:68:27: This type parameter might need an `extends string` constraint. - var b15a: (x: { a: T; b: T }) => number; + declare var b15a: (x: { a: T; b: T }) => number; a15 = b15a; ~~~ !!! error TS2322: Type '(x: { a: T; b: T; }) => number' is not assignable to type '(x: { a: string; b: number; }) => number'. @@ -201,19 +201,19 @@ assignmentCompatWithCallSignatures4.ts(96,9): error TS2322: Type '(x: T) => s !!! error TS2322: Type 'T' is not assignable to type 'string'. !!! error TS2322: Type 'Base' is not assignable to type 'string'. - var b16: (x: (a: T) => T) => T[]; + declare var b16: (x: (a: T) => T) => T[]; a16 = b16; b16 = a16; - var b17: (x: (a: T) => T) => any[]; + declare var b17: (x: (a: T) => T) => any[]; a17 = b17; b17 = a17; } namespace WithGenericSignaturesInBaseType { // target type has generic call signature - var a2: (x: T) => T[]; - var b2: (x: T) => string[]; + declare var a2: (x: T) => T[]; + declare var b2: (x: T) => string[]; a2 = b2; ~~ !!! error TS2322: Type '(x: T) => string[]' is not assignable to type '(x: T) => T[]'. @@ -225,17 +225,17 @@ assignmentCompatWithCallSignatures4.ts(96,9): error TS2322: Type '(x: T) => s !!! error TS2322: Type '(x: T) => T[]' is not assignable to type '(x: T) => string[]'. !!! error TS2322: Type 'T[]' is not assignable to type 'string[]'. !!! error TS2322: Type 'T' is not assignable to type 'string'. -!!! related TS2208 assignmentCompatWithCallSignatures4.ts:88:18: This type parameter might need an `extends string` constraint. +!!! related TS2208 assignmentCompatWithCallSignatures4.ts:88:26: This type parameter might need an `extends string` constraint. // target type has generic call signature - var a3: (x: T) => string[]; - var b3: (x: T) => T[]; + declare var a3: (x: T) => string[]; + declare var b3: (x: T) => T[]; a3 = b3; ~~ !!! error TS2322: Type '(x: T) => T[]' is not assignable to type '(x: T) => string[]'. !!! error TS2322: Type 'T[]' is not assignable to type 'string[]'. !!! error TS2322: Type 'T' is not assignable to type 'string'. -!!! related TS2208 assignmentCompatWithCallSignatures4.ts:93:18: This type parameter might need an `extends string` constraint. +!!! related TS2208 assignmentCompatWithCallSignatures4.ts:93:26: This type parameter might need an `extends string` constraint. b3 = a3; ~~ !!! error TS2322: Type '(x: T) => string[]' is not assignable to type '(x: T) => T[]'. diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures4.js b/tests/baselines/reference/assignmentCompatWithCallSignatures4.js index 90fd3cc7e6ae4..7be077910bbdb 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures4.js +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures4.js @@ -11,18 +11,18 @@ namespace Errors { namespace WithNonGenericSignaturesInBaseType { // target type with non-generic call signatures - var a2: (x: number) => string[]; - var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived2; - var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; - var a10: (...x: Base[]) => Base; - var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; - var a12: (x: Array, y: Array) => Array; - var a14: { + declare var a2: (x: number) => string[]; + declare var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived2; + declare var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; + declare var a10: (...x: Base[]) => Base; + declare var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; + declare var a12: (x: Array, y: Array) => Array; + declare var a14: { (x: number): number[]; (x: string): string[]; }; - var a15: (x: { a: string; b: number }) => number; - var a16: { + declare var a15: (x: { a: string; b: number }) => number; + declare var a16: { (x: { (a: number): number; (a?: number): number; @@ -32,7 +32,7 @@ namespace Errors { (a?: boolean): boolean; }): boolean[]; }; - var a17: { + declare var a17: { (x: { (a: T): T; (a: T): T; @@ -43,58 +43,58 @@ namespace Errors { }): any[]; }; - var b2: (x: T) => U[]; + declare var b2: (x: T) => U[]; a2 = b2; b2 = a2; - var b7: (x: (arg: T) => U) => (r: T) => V; + declare var b7: (x: (arg: T) => U) => (r: T) => V; a7 = b7; b7 = a7; - var b8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; + declare var b8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; a8 = b8; // error, { foo: number } and Base are incompatible b8 = a8; // error, { foo: number } and Base are incompatible - var b10: (...x: T[]) => T; + declare var b10: (...x: T[]) => T; a10 = b10; b10 = a10; - var b11: (x: T, y: T) => T; + declare var b11: (x: T, y: T) => T; a11 = b11; b11 = a11; - var b12: >(x: Array, y: Array) => T; + declare var b12: >(x: Array, y: Array) => T; a12 = b12; b12 = a12; - var b15: (x: { a: T; b: T }) => T; + declare var b15: (x: { a: T; b: T }) => T; a15 = b15; b15 = a15; - var b15a: (x: { a: T; b: T }) => number; + declare var b15a: (x: { a: T; b: T }) => number; a15 = b15a; b15a = a15; - var b16: (x: (a: T) => T) => T[]; + declare var b16: (x: (a: T) => T) => T[]; a16 = b16; b16 = a16; - var b17: (x: (a: T) => T) => any[]; + declare var b17: (x: (a: T) => T) => any[]; a17 = b17; b17 = a17; } namespace WithGenericSignaturesInBaseType { // target type has generic call signature - var a2: (x: T) => T[]; - var b2: (x: T) => string[]; + declare var a2: (x: T) => T[]; + declare var b2: (x: T) => string[]; a2 = b2; b2 = a2; // target type has generic call signature - var a3: (x: T) => string[]; - var b3: (x: T) => T[]; + declare var a3: (x: T) => string[]; + declare var b3: (x: T) => T[]; a3 = b3; b3 = a3; } @@ -147,58 +147,31 @@ var Errors; }(Base)); var WithNonGenericSignaturesInBaseType; (function (WithNonGenericSignaturesInBaseType) { - // target type with non-generic call signatures - var a2; - var a7; - var a8; - var a10; - var a11; - var a12; - var a14; - var a15; - var a16; - var a17; - var b2; a2 = b2; b2 = a2; - var b7; a7 = b7; b7 = a7; - var b8; a8 = b8; // error, { foo: number } and Base are incompatible b8 = a8; // error, { foo: number } and Base are incompatible - var b10; a10 = b10; b10 = a10; - var b11; a11 = b11; b11 = a11; - var b12; a12 = b12; b12 = a12; - var b15; a15 = b15; b15 = a15; - var b15a; a15 = b15a; b15a = a15; - var b16; a16 = b16; b16 = a16; - var b17; a17 = b17; b17 = a17; })(WithNonGenericSignaturesInBaseType || (WithNonGenericSignaturesInBaseType = {})); var WithGenericSignaturesInBaseType; (function (WithGenericSignaturesInBaseType) { - // target type has generic call signature - var a2; - var b2; a2 = b2; b2 = a2; - // target type has generic call signature - var a3; - var b3; a3 = b3; b3 = a3; })(WithGenericSignaturesInBaseType || (WithGenericSignaturesInBaseType = {})); diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures4.symbols b/tests/baselines/reference/assignmentCompatWithCallSignatures4.symbols index 3048b50967426..027674a0350df 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures4.symbols +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures4.symbols @@ -29,62 +29,62 @@ namespace Errors { >WithNonGenericSignaturesInBaseType : Symbol(WithNonGenericSignaturesInBaseType, Decl(assignmentCompatWithCallSignatures4.ts, 6, 53)) // target type with non-generic call signatures - var a2: (x: number) => string[]; ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures4.ts, 10, 11)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 10, 17)) - - var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived2; ->a7 : Symbol(a7, Decl(assignmentCompatWithCallSignatures4.ts, 11, 11)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 11, 17)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures4.ts, 11, 21)) + declare var a2: (x: number) => string[]; +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures4.ts, 10, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 10, 25)) + + declare var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived2; +>a7 : Symbol(a7, Decl(assignmentCompatWithCallSignatures4.ts, 11, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 11, 25)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures4.ts, 11, 29)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 18)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures4.ts, 3, 31)) ->r : Symbol(r, Decl(assignmentCompatWithCallSignatures4.ts, 11, 48)) +>r : Symbol(r, Decl(assignmentCompatWithCallSignatures4.ts, 11, 56)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 18)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithCallSignatures4.ts, 4, 47)) - var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a8 : Symbol(a8, Decl(assignmentCompatWithCallSignatures4.ts, 12, 11)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 12, 17)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures4.ts, 12, 21)) + declare var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +>a8 : Symbol(a8, Decl(assignmentCompatWithCallSignatures4.ts, 12, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 12, 25)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures4.ts, 12, 29)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 18)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures4.ts, 3, 31)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures4.ts, 12, 43)) ->arg2 : Symbol(arg2, Decl(assignmentCompatWithCallSignatures4.ts, 12, 48)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures4.ts, 12, 51)) +>arg2 : Symbol(arg2, Decl(assignmentCompatWithCallSignatures4.ts, 12, 56)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 18)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures4.ts, 3, 31)) ->r : Symbol(r, Decl(assignmentCompatWithCallSignatures4.ts, 12, 76)) +>r : Symbol(r, Decl(assignmentCompatWithCallSignatures4.ts, 12, 84)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 18)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures4.ts, 3, 31)) - var a10: (...x: Base[]) => Base; ->a10 : Symbol(a10, Decl(assignmentCompatWithCallSignatures4.ts, 13, 11)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 13, 18)) + declare var a10: (...x: Base[]) => Base; +>a10 : Symbol(a10, Decl(assignmentCompatWithCallSignatures4.ts, 13, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 13, 26)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 18)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 18)) - var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures4.ts, 14, 11)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 14, 18)) ->foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures4.ts, 14, 22)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures4.ts, 14, 37)) ->foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures4.ts, 14, 42)) ->bar : Symbol(bar, Decl(assignmentCompatWithCallSignatures4.ts, 14, 55)) + declare var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; +>a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures4.ts, 14, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 14, 26)) +>foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures4.ts, 14, 30)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures4.ts, 14, 45)) +>foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures4.ts, 14, 50)) +>bar : Symbol(bar, Decl(assignmentCompatWithCallSignatures4.ts, 14, 63)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 18)) - var a12: (x: Array, y: Array) => Array; ->a12 : Symbol(a12, Decl(assignmentCompatWithCallSignatures4.ts, 15, 11)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 15, 18)) + declare var a12: (x: Array, y: Array) => Array; +>a12 : Symbol(a12, Decl(assignmentCompatWithCallSignatures4.ts, 15, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 15, 26)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 18)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures4.ts, 15, 33)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures4.ts, 15, 41)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithCallSignatures4.ts, 4, 47)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures4.ts, 3, 31)) - var a14: { ->a14 : Symbol(a14, Decl(assignmentCompatWithCallSignatures4.ts, 16, 11)) + declare var a14: { +>a14 : Symbol(a14, Decl(assignmentCompatWithCallSignatures4.ts, 16, 19)) (x: number): number[]; >x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 17, 17)) @@ -93,14 +93,14 @@ namespace Errors { >x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 18, 17)) }; - var a15: (x: { a: string; b: number }) => number; ->a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures4.ts, 20, 11)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 20, 18)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures4.ts, 20, 22)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures4.ts, 20, 33)) + declare var a15: (x: { a: string; b: number }) => number; +>a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures4.ts, 20, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 20, 26)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures4.ts, 20, 30)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures4.ts, 20, 41)) - var a16: { ->a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures4.ts, 21, 11)) + declare var a16: { +>a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures4.ts, 21, 19)) (x: { >x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 22, 17)) @@ -123,8 +123,8 @@ namespace Errors { }): boolean[]; }; - var a17: { ->a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures4.ts, 31, 11)) + declare var a17: { +>a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures4.ts, 31, 19)) (x: { >x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 32, 17)) @@ -164,243 +164,243 @@ namespace Errors { }): any[]; }; - var b2: (x: T) => U[]; ->b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures4.ts, 42, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 42, 17)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 42, 19)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 42, 23)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 42, 17)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 42, 19)) + declare var b2: (x: T) => U[]; +>b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures4.ts, 42, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 42, 25)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 42, 27)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 42, 31)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 42, 25)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 42, 27)) a2 = b2; ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures4.ts, 10, 11)) ->b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures4.ts, 42, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures4.ts, 10, 19)) +>b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures4.ts, 42, 19)) b2 = a2; ->b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures4.ts, 42, 11)) ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures4.ts, 10, 11)) +>b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures4.ts, 42, 19)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures4.ts, 10, 19)) - var b7: (x: (arg: T) => U) => (r: T) => V; ->b7 : Symbol(b7, Decl(assignmentCompatWithCallSignatures4.ts, 46, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 46, 17)) + declare var b7: (x: (arg: T) => U) => (r: T) => V; +>b7 : Symbol(b7, Decl(assignmentCompatWithCallSignatures4.ts, 46, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 46, 25)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 18)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 46, 32)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 46, 40)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures4.ts, 3, 31)) ->V : Symbol(V, Decl(assignmentCompatWithCallSignatures4.ts, 46, 51)) +>V : Symbol(V, Decl(assignmentCompatWithCallSignatures4.ts, 46, 59)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithCallSignatures4.ts, 4, 47)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 46, 72)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures4.ts, 46, 76)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 46, 17)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 46, 32)) ->r : Symbol(r, Decl(assignmentCompatWithCallSignatures4.ts, 46, 94)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 46, 17)) ->V : Symbol(V, Decl(assignmentCompatWithCallSignatures4.ts, 46, 51)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 46, 80)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures4.ts, 46, 84)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 46, 25)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 46, 40)) +>r : Symbol(r, Decl(assignmentCompatWithCallSignatures4.ts, 46, 102)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 46, 25)) +>V : Symbol(V, Decl(assignmentCompatWithCallSignatures4.ts, 46, 59)) a7 = b7; ->a7 : Symbol(a7, Decl(assignmentCompatWithCallSignatures4.ts, 11, 11)) ->b7 : Symbol(b7, Decl(assignmentCompatWithCallSignatures4.ts, 46, 11)) +>a7 : Symbol(a7, Decl(assignmentCompatWithCallSignatures4.ts, 11, 19)) +>b7 : Symbol(b7, Decl(assignmentCompatWithCallSignatures4.ts, 46, 19)) b7 = a7; ->b7 : Symbol(b7, Decl(assignmentCompatWithCallSignatures4.ts, 46, 11)) ->a7 : Symbol(a7, Decl(assignmentCompatWithCallSignatures4.ts, 11, 11)) +>b7 : Symbol(b7, Decl(assignmentCompatWithCallSignatures4.ts, 46, 19)) +>a7 : Symbol(a7, Decl(assignmentCompatWithCallSignatures4.ts, 11, 19)) - var b8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; ->b8 : Symbol(b8, Decl(assignmentCompatWithCallSignatures4.ts, 50, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 50, 17)) + declare var b8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; +>b8 : Symbol(b8, Decl(assignmentCompatWithCallSignatures4.ts, 50, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 50, 25)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 18)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 50, 32)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 50, 40)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures4.ts, 3, 31)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 50, 52)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures4.ts, 50, 56)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 50, 17)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 50, 32)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures4.ts, 50, 69)) ->arg2 : Symbol(arg2, Decl(assignmentCompatWithCallSignatures4.ts, 50, 74)) ->foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures4.ts, 50, 81)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 50, 32)) ->r : Symbol(r, Decl(assignmentCompatWithCallSignatures4.ts, 50, 108)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 50, 17)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 50, 32)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 50, 60)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures4.ts, 50, 64)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 50, 25)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 50, 40)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures4.ts, 50, 77)) +>arg2 : Symbol(arg2, Decl(assignmentCompatWithCallSignatures4.ts, 50, 82)) +>foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures4.ts, 50, 89)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 50, 40)) +>r : Symbol(r, Decl(assignmentCompatWithCallSignatures4.ts, 50, 116)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 50, 25)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures4.ts, 50, 40)) a8 = b8; // error, { foo: number } and Base are incompatible ->a8 : Symbol(a8, Decl(assignmentCompatWithCallSignatures4.ts, 12, 11)) ->b8 : Symbol(b8, Decl(assignmentCompatWithCallSignatures4.ts, 50, 11)) +>a8 : Symbol(a8, Decl(assignmentCompatWithCallSignatures4.ts, 12, 19)) +>b8 : Symbol(b8, Decl(assignmentCompatWithCallSignatures4.ts, 50, 19)) b8 = a8; // error, { foo: number } and Base are incompatible ->b8 : Symbol(b8, Decl(assignmentCompatWithCallSignatures4.ts, 50, 11)) ->a8 : Symbol(a8, Decl(assignmentCompatWithCallSignatures4.ts, 12, 11)) +>b8 : Symbol(b8, Decl(assignmentCompatWithCallSignatures4.ts, 50, 19)) +>a8 : Symbol(a8, Decl(assignmentCompatWithCallSignatures4.ts, 12, 19)) - var b10: (...x: T[]) => T; ->b10 : Symbol(b10, Decl(assignmentCompatWithCallSignatures4.ts, 55, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 55, 18)) + declare var b10: (...x: T[]) => T; +>b10 : Symbol(b10, Decl(assignmentCompatWithCallSignatures4.ts, 55, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 55, 26)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures4.ts, 3, 31)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 55, 37)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 55, 18)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 55, 18)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 55, 45)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 55, 26)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 55, 26)) a10 = b10; ->a10 : Symbol(a10, Decl(assignmentCompatWithCallSignatures4.ts, 13, 11)) ->b10 : Symbol(b10, Decl(assignmentCompatWithCallSignatures4.ts, 55, 11)) +>a10 : Symbol(a10, Decl(assignmentCompatWithCallSignatures4.ts, 13, 19)) +>b10 : Symbol(b10, Decl(assignmentCompatWithCallSignatures4.ts, 55, 19)) b10 = a10; ->b10 : Symbol(b10, Decl(assignmentCompatWithCallSignatures4.ts, 55, 11)) ->a10 : Symbol(a10, Decl(assignmentCompatWithCallSignatures4.ts, 13, 11)) +>b10 : Symbol(b10, Decl(assignmentCompatWithCallSignatures4.ts, 55, 19)) +>a10 : Symbol(a10, Decl(assignmentCompatWithCallSignatures4.ts, 13, 19)) - var b11: (x: T, y: T) => T; ->b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures4.ts, 59, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 59, 18)) + declare var b11: (x: T, y: T) => T; +>b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures4.ts, 59, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 59, 26)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures4.ts, 3, 31)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 59, 37)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 59, 18)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures4.ts, 59, 42)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 59, 18)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 59, 18)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 59, 45)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 59, 26)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures4.ts, 59, 50)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 59, 26)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 59, 26)) a11 = b11; ->a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures4.ts, 14, 11)) ->b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures4.ts, 59, 11)) +>a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures4.ts, 14, 19)) +>b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures4.ts, 59, 19)) b11 = a11; ->b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures4.ts, 59, 11)) ->a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures4.ts, 14, 11)) +>b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures4.ts, 59, 19)) +>a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures4.ts, 14, 19)) - var b12: >(x: Array, y: Array) => T; ->b12 : Symbol(b12, Decl(assignmentCompatWithCallSignatures4.ts, 63, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 63, 18)) + declare var b12: >(x: Array, y: Array) => T; +>b12 : Symbol(b12, Decl(assignmentCompatWithCallSignatures4.ts, 63, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 63, 26)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithCallSignatures4.ts, 4, 47)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 63, 45)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 63, 53)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 18)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures4.ts, 63, 60)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures4.ts, 63, 68)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 18)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 63, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 63, 26)) a12 = b12; ->a12 : Symbol(a12, Decl(assignmentCompatWithCallSignatures4.ts, 15, 11)) ->b12 : Symbol(b12, Decl(assignmentCompatWithCallSignatures4.ts, 63, 11)) +>a12 : Symbol(a12, Decl(assignmentCompatWithCallSignatures4.ts, 15, 19)) +>b12 : Symbol(b12, Decl(assignmentCompatWithCallSignatures4.ts, 63, 19)) b12 = a12; ->b12 : Symbol(b12, Decl(assignmentCompatWithCallSignatures4.ts, 63, 11)) ->a12 : Symbol(a12, Decl(assignmentCompatWithCallSignatures4.ts, 15, 11)) - - var b15: (x: { a: T; b: T }) => T; ->b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures4.ts, 67, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 67, 18)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 67, 21)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures4.ts, 67, 25)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 67, 18)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures4.ts, 67, 31)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 67, 18)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 67, 18)) +>b12 : Symbol(b12, Decl(assignmentCompatWithCallSignatures4.ts, 63, 19)) +>a12 : Symbol(a12, Decl(assignmentCompatWithCallSignatures4.ts, 15, 19)) + + declare var b15: (x: { a: T; b: T }) => T; +>b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures4.ts, 67, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 67, 26)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 67, 29)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures4.ts, 67, 33)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 67, 26)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures4.ts, 67, 39)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 67, 26)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 67, 26)) a15 = b15; ->a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures4.ts, 20, 11)) ->b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures4.ts, 67, 11)) +>a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures4.ts, 20, 19)) +>b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures4.ts, 67, 19)) b15 = a15; ->b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures4.ts, 67, 11)) ->a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures4.ts, 20, 11)) +>b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures4.ts, 67, 19)) +>a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures4.ts, 20, 19)) - var b15a: (x: { a: T; b: T }) => number; ->b15a : Symbol(b15a, Decl(assignmentCompatWithCallSignatures4.ts, 71, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 71, 19)) + declare var b15a: (x: { a: T; b: T }) => number; +>b15a : Symbol(b15a, Decl(assignmentCompatWithCallSignatures4.ts, 71, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 71, 27)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 18)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 71, 35)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures4.ts, 71, 39)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 71, 19)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures4.ts, 71, 45)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 71, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 71, 43)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures4.ts, 71, 47)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 71, 27)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures4.ts, 71, 53)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 71, 27)) a15 = b15a; ->a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures4.ts, 20, 11)) ->b15a : Symbol(b15a, Decl(assignmentCompatWithCallSignatures4.ts, 71, 11)) +>a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures4.ts, 20, 19)) +>b15a : Symbol(b15a, Decl(assignmentCompatWithCallSignatures4.ts, 71, 19)) b15a = a15; ->b15a : Symbol(b15a, Decl(assignmentCompatWithCallSignatures4.ts, 71, 11)) ->a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures4.ts, 20, 11)) - - var b16: (x: (a: T) => T) => T[]; ->b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures4.ts, 75, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 75, 18)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 75, 21)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures4.ts, 75, 25)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 75, 18)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 75, 18)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 75, 18)) +>b15a : Symbol(b15a, Decl(assignmentCompatWithCallSignatures4.ts, 71, 19)) +>a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures4.ts, 20, 19)) + + declare var b16: (x: (a: T) => T) => T[]; +>b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures4.ts, 75, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 75, 26)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 75, 29)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures4.ts, 75, 33)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 75, 26)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 75, 26)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 75, 26)) a16 = b16; ->a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures4.ts, 21, 11)) ->b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures4.ts, 75, 11)) +>a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures4.ts, 21, 19)) +>b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures4.ts, 75, 19)) b16 = a16; ->b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures4.ts, 75, 11)) ->a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures4.ts, 21, 11)) +>b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures4.ts, 75, 19)) +>a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures4.ts, 21, 19)) - var b17: (x: (a: T) => T) => any[]; ->b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures4.ts, 79, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 79, 18)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 79, 21)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures4.ts, 79, 25)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 79, 18)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 79, 18)) + declare var b17: (x: (a: T) => T) => any[]; +>b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures4.ts, 79, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 79, 26)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 79, 29)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures4.ts, 79, 33)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 79, 26)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 79, 26)) a17 = b17; ->a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures4.ts, 31, 11)) ->b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures4.ts, 79, 11)) +>a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures4.ts, 31, 19)) +>b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures4.ts, 79, 19)) b17 = a17; ->b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures4.ts, 79, 11)) ->a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures4.ts, 31, 11)) +>b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures4.ts, 79, 19)) +>a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures4.ts, 31, 19)) } namespace WithGenericSignaturesInBaseType { >WithGenericSignaturesInBaseType : Symbol(WithGenericSignaturesInBaseType, Decl(assignmentCompatWithCallSignatures4.ts, 82, 5)) // target type has generic call signature - var a2: (x: T) => T[]; ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures4.ts, 86, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 86, 17)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 86, 20)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 86, 17)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 86, 17)) - - var b2: (x: T) => string[]; ->b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures4.ts, 87, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 87, 17)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 87, 20)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 87, 17)) + declare var a2: (x: T) => T[]; +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures4.ts, 86, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 86, 25)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 86, 28)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 86, 25)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 86, 25)) + + declare var b2: (x: T) => string[]; +>b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures4.ts, 87, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 87, 25)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 87, 28)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 87, 25)) a2 = b2; ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures4.ts, 86, 11)) ->b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures4.ts, 87, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures4.ts, 86, 19)) +>b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures4.ts, 87, 19)) b2 = a2; ->b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures4.ts, 87, 11)) ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures4.ts, 86, 11)) +>b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures4.ts, 87, 19)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures4.ts, 86, 19)) // target type has generic call signature - var a3: (x: T) => string[]; ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures4.ts, 92, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 92, 17)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 92, 20)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 92, 17)) - - var b3: (x: T) => T[]; ->b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures4.ts, 93, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 93, 17)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 93, 20)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 93, 17)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 93, 17)) + declare var a3: (x: T) => string[]; +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures4.ts, 92, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 92, 25)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 92, 28)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 92, 25)) + + declare var b3: (x: T) => T[]; +>b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures4.ts, 93, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 93, 25)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 93, 28)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 93, 25)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 93, 25)) a3 = b3; ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures4.ts, 92, 11)) ->b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures4.ts, 93, 11)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures4.ts, 92, 19)) +>b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures4.ts, 93, 19)) b3 = a3; ->b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures4.ts, 93, 11)) ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures4.ts, 92, 11)) +>b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures4.ts, 93, 19)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures4.ts, 92, 19)) } } diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures4.types b/tests/baselines/reference/assignmentCompatWithCallSignatures4.types index 1e00fbdafbe72..95ef2a827ac37 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures4.types @@ -42,13 +42,13 @@ namespace Errors { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // target type with non-generic call signatures - var a2: (x: number) => string[]; + declare var a2: (x: number) => string[]; >a2 : (x: number) => string[] > : ^ ^^ ^^^^^ >x : number > : ^^^^^^ - var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived2; + declare var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived2; >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 > : ^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -58,7 +58,7 @@ namespace Errors { >r : Base > : ^^^^ - var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; + declare var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -72,13 +72,13 @@ namespace Errors { >r : Base > : ^^^^ - var a10: (...x: Base[]) => Base; + declare var a10: (...x: Base[]) => Base; >a10 : (...x: Base[]) => Base > : ^^^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ - var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; + declare var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^ ^^ ^^ ^^ ^^^^^ >x : { foo: string; } @@ -92,7 +92,7 @@ namespace Errors { >bar : string > : ^^^^^^ - var a12: (x: Array, y: Array) => Array; + declare var a12: (x: Array, y: Array) => Array; >a12 : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ >x : Base[] @@ -100,7 +100,7 @@ namespace Errors { >y : Derived2[] > : ^^^^^^^^^^ - var a14: { + declare var a14: { >a14 : { (x: number): number[]; (x: string): string[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -113,7 +113,7 @@ namespace Errors { > : ^^^^^^ }; - var a15: (x: { a: string; b: number }) => number; + declare var a15: (x: { a: string; b: number }) => number; >a15 : (x: { a: string; b: number; }) => number > : ^ ^^ ^^^^^ >x : { a: string; b: number; } @@ -123,7 +123,7 @@ namespace Errors { >b : number > : ^^^^^^ - var a16: { + declare var a16: { >a16 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -154,7 +154,7 @@ namespace Errors { }): boolean[]; }; - var a17: { + declare var a17: { >a17 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -186,7 +186,7 @@ namespace Errors { }): any[]; }; - var b2: (x: T) => U[]; + declare var b2: (x: T) => U[]; >b2 : (x: T) => U[] > : ^ ^^ ^^ ^^ ^^^^^ >x : T @@ -208,7 +208,7 @@ namespace Errors { >a2 : (x: number) => string[] > : ^ ^^ ^^^^^ - var b7: (x: (arg: T) => U) => (r: T) => V; + declare var b7: (x: (arg: T) => U) => (r: T) => V; >b7 : (x: (arg: T) => U) => (r: T) => V > : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -234,7 +234,7 @@ namespace Errors { >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 > : ^ ^^ ^^^^^ - var b8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; + declare var b8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; >b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U > : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -267,7 +267,7 @@ namespace Errors { > : ^ ^^ ^^ ^^ ^^^^^ - var b10: (...x: T[]) => T; + declare var b10: (...x: T[]) => T; >b10 : (...x: T[]) => T > : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] @@ -289,7 +289,7 @@ namespace Errors { >a10 : (...x: Base[]) => Base > : ^^^^ ^^ ^^^^^ - var b11: (x: T, y: T) => T; + declare var b11: (x: T, y: T) => T; >b11 : (x: T, y: T) => T > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -313,7 +313,7 @@ namespace Errors { >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^ ^^ ^^ ^^ ^^^^^ - var b12: >(x: Array, y: Array) => T; + declare var b12: >(x: Array, y: Array) => T; >b12 : >(x: Array, y: Array) => T > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] @@ -337,7 +337,7 @@ namespace Errors { >a12 : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ - var b15: (x: { a: T; b: T }) => T; + declare var b15: (x: { a: T; b: T }) => T; >b15 : (x: { a: T; b: T; }) => T > : ^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -363,7 +363,7 @@ namespace Errors { >a15 : (x: { a: string; b: number; }) => number > : ^ ^^ ^^^^^ - var b15a: (x: { a: T; b: T }) => number; + declare var b15a: (x: { a: T; b: T }) => number; >b15a : (x: { a: T; b: T; }) => number > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -389,7 +389,7 @@ namespace Errors { >a15 : (x: { a: string; b: number; }) => number > : ^ ^^ ^^^^^ - var b16: (x: (a: T) => T) => T[]; + declare var b16: (x: (a: T) => T) => T[]; >b16 : (x: (a: T) => T) => T[] > : ^ ^^ ^^ ^^^^^ >x : (a: T) => T @@ -413,7 +413,7 @@ namespace Errors { >a16 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ - var b17: (x: (a: T) => T) => any[]; + declare var b17: (x: (a: T) => T) => any[]; >b17 : (x: (a: T) => T) => any[] > : ^ ^^ ^^ ^^^^^ >x : (a: T) => T @@ -443,13 +443,13 @@ namespace Errors { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // target type has generic call signature - var a2: (x: T) => T[]; + declare var a2: (x: T) => T[]; >a2 : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ >x : T > : ^ - var b2: (x: T) => string[]; + declare var b2: (x: T) => string[]; >b2 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^ >x : T @@ -472,13 +472,13 @@ namespace Errors { > : ^ ^^ ^^ ^^^^^ // target type has generic call signature - var a3: (x: T) => string[]; + declare var a3: (x: T) => string[]; >a3 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^ >x : T > : ^ - var b3: (x: T) => T[]; + declare var b3: (x: T) => T[]; >b3 : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ >x : T diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures5.errors.txt b/tests/baselines/reference/assignmentCompatWithCallSignatures5.errors.txt index 07d3fc5394645..2d140be8e62f0 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures5.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures5.errors.txt @@ -28,20 +28,20 @@ assignmentCompatWithCallSignatures5.ts(58,1): error TS2322: Type '(x: T) => T[]; - var a2: (x: T) => string[]; - var a3: (x: T) => void; - var a4: (x: T, y: U) => string; - var a5: (x: (arg: T) => U) => T; - var a6: (x: (arg: T) => Derived) => T; - var a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; - var a15: (x: { a: T; b: T }) => T[]; - var a16: (x: { a: T; b: T }) => T[]; - var a17: { + declare var a: (x: T) => T[]; + declare var a2: (x: T) => string[]; + declare var a3: (x: T) => void; + declare var a4: (x: T, y: U) => string; + declare var a5: (x: (arg: T) => U) => T; + declare var a6: (x: (arg: T) => Derived) => T; + declare var a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; + declare var a15: (x: { a: T; b: T }) => T[]; + declare var a16: (x: { a: T; b: T }) => T[]; + declare var a17: { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; }; - var a18: { + declare var a18: { (x: { (a: T): T; (a: T): T; @@ -52,29 +52,29 @@ assignmentCompatWithCallSignatures5.ts(58,1): error TS2322: Type '(x: T) => T[]; + declare var b: (x: T) => T[]; a = b; // ok b = a; // ok - var b2: (x: T) => string[]; + declare var b2: (x: T) => string[]; a2 = b2; // ok b2 = a2; // ok - var b3: (x: T) => T; + declare var b3: (x: T) => T; a3 = b3; // ok b3 = a3; // ok ~~ !!! error TS2322: Type '(x: T) => void' is not assignable to type '(x: T) => T'. !!! error TS2322: Type 'void' is not assignable to type 'T'. !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'void'. - var b4: (x: T, y: U) => string; + declare var b4: (x: T, y: U) => string; a4 = b4; // ok b4 = a4; // ok - var b5: (x: (arg: T) => U) => T; + declare var b5: (x: (arg: T) => U) => T; a5 = b5; // ok b5 = a5; // ok - var b6: (x: (arg: T) => U) => T; + declare var b6: (x: (arg: T) => U) => T; a6 = b6; // ok b6 = a6; // ok - var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; + declare var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; a11 = b11; // ok b11 = a11; // ok ~~~ @@ -84,8 +84,8 @@ assignmentCompatWithCallSignatures5.ts(58,1): error TS2322: Type '(x: { a: U; b: V; }) => U[]; +!!! related TS2208 assignmentCompatWithCallSignatures5.ts:50:22: This type parameter might need an `extends T` constraint. + declare var b15: (x: { a: U; b: V; }) => U[]; a15 = b15; // ok, T = U, T = V b15 = a15; // ok ~~~ @@ -95,8 +95,8 @@ assignmentCompatWithCallSignatures5.ts(58,1): error TS2322: Type '(x: { a: T; b: T }) => T[]; +!!! related TS2208 assignmentCompatWithCallSignatures5.ts:53:22: This type parameter might need an `extends U` constraint. + declare var b16: (x: { a: T; b: T }) => T[]; a15 = b16; // ok b15 = a16; // ok ~~~ @@ -105,11 +105,11 @@ assignmentCompatWithCallSignatures5.ts(58,1): error TS2322: Type '(x: (a: T) => T) => T[]; +!!! related TS2208 assignmentCompatWithCallSignatures5.ts:53:19: This type parameter might need an `extends Base` constraint. + declare var b17: (x: (a: T) => T) => T[]; a17 = b17; // ok b17 = a17; // ok - var b18: (x: (a: T) => T) => any[]; + declare var b18: (x: (a: T) => T) => any[]; a18 = b18; // ok b18 = a18; // ok \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures5.js b/tests/baselines/reference/assignmentCompatWithCallSignatures5.js index 097f6ac2dca22..458d0f9444d57 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures5.js +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures5.js @@ -8,20 +8,20 @@ class Derived extends Base { bar: string; } class Derived2 extends Derived { baz: string; } class OtherDerived extends Base { bing: string; } -var a: (x: T) => T[]; -var a2: (x: T) => string[]; -var a3: (x: T) => void; -var a4: (x: T, y: U) => string; -var a5: (x: (arg: T) => U) => T; -var a6: (x: (arg: T) => Derived) => T; -var a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; -var a15: (x: { a: T; b: T }) => T[]; -var a16: (x: { a: T; b: T }) => T[]; -var a17: { +declare var a: (x: T) => T[]; +declare var a2: (x: T) => string[]; +declare var a3: (x: T) => void; +declare var a4: (x: T, y: U) => string; +declare var a5: (x: (arg: T) => U) => T; +declare var a6: (x: (arg: T) => Derived) => T; +declare var a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; +declare var a15: (x: { a: T; b: T }) => T[]; +declare var a16: (x: { a: T; b: T }) => T[]; +declare var a17: { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; }; -var a18: { +declare var a18: { (x: { (a: T): T; (a: T): T; @@ -32,37 +32,37 @@ var a18: { }): any[]; }; -var b: (x: T) => T[]; +declare var b: (x: T) => T[]; a = b; // ok b = a; // ok -var b2: (x: T) => string[]; +declare var b2: (x: T) => string[]; a2 = b2; // ok b2 = a2; // ok -var b3: (x: T) => T; +declare var b3: (x: T) => T; a3 = b3; // ok b3 = a3; // ok -var b4: (x: T, y: U) => string; +declare var b4: (x: T, y: U) => string; a4 = b4; // ok b4 = a4; // ok -var b5: (x: (arg: T) => U) => T; +declare var b5: (x: (arg: T) => U) => T; a5 = b5; // ok b5 = a5; // ok -var b6: (x: (arg: T) => U) => T; +declare var b6: (x: (arg: T) => U) => T; a6 = b6; // ok b6 = a6; // ok -var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; +declare var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; a11 = b11; // ok b11 = a11; // ok -var b15: (x: { a: U; b: V; }) => U[]; +declare var b15: (x: { a: U; b: V; }) => U[]; a15 = b15; // ok, T = U, T = V b15 = a15; // ok -var b16: (x: { a: T; b: T }) => T[]; +declare var b16: (x: { a: T; b: T }) => T[]; a15 = b16; // ok b15 = a16; // ok -var b17: (x: (a: T) => T) => T[]; +declare var b17: (x: (a: T) => T) => T[]; a17 = b17; // ok b17 = a17; // ok -var b18: (x: (a: T) => T) => any[]; +declare var b18: (x: (a: T) => T) => any[]; a18 = b18; // ok b18 = a18; // ok @@ -110,47 +110,25 @@ var OtherDerived = /** @class */ (function (_super) { } return OtherDerived; }(Base)); -var a; -var a2; -var a3; -var a4; -var a5; -var a6; -var a11; -var a15; -var a16; -var a17; -var a18; -var b; a = b; // ok b = a; // ok -var b2; a2 = b2; // ok b2 = a2; // ok -var b3; a3 = b3; // ok b3 = a3; // ok -var b4; a4 = b4; // ok b4 = a4; // ok -var b5; a5 = b5; // ok b5 = a5; // ok -var b6; a6 = b6; // ok b6 = a6; // ok -var b11; a11 = b11; // ok b11 = a11; // ok -var b15; a15 = b15; // ok, T = U, T = V b15 = a15; // ok -var b16; a15 = b16; // ok b15 = a16; // ok -var b17; a17 = b17; // ok b17 = a17; // ok -var b18; a18 = b18; // ok b18 = a18; // ok diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures5.symbols b/tests/baselines/reference/assignmentCompatWithCallSignatures5.symbols index de33824ac824c..ebe43f0d007ee 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures5.symbols +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures5.symbols @@ -22,90 +22,90 @@ class OtherDerived extends Base { bing: string; } >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures5.ts, 0, 0)) >bing : Symbol(OtherDerived.bing, Decl(assignmentCompatWithCallSignatures5.ts, 5, 33)) -var a: (x: T) => T[]; ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 7, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 7, 8)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 7, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 7, 8)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 7, 8)) - -var a2: (x: T) => string[]; ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures5.ts, 8, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 8, 9)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 8, 12)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 8, 9)) - -var a3: (x: T) => void; ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures5.ts, 9, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 9, 9)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 9, 12)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 9, 9)) - -var a4: (x: T, y: U) => string; ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignatures5.ts, 10, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 10, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 10, 11)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 10, 14)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 10, 9)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures5.ts, 10, 19)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 10, 11)) - -var a5: (x: (arg: T) => U) => T; ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignatures5.ts, 11, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 11, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 11, 11)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 11, 14)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures5.ts, 11, 18)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 11, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 11, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 11, 9)) - -var a6: (x: (arg: T) => Derived) => T; ->a6 : Symbol(a6, Decl(assignmentCompatWithCallSignatures5.ts, 12, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 12, 9)) +declare var a: (x: T) => T[]; +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 7, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 7, 16)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 7, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 7, 16)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 7, 16)) + +declare var a2: (x: T) => string[]; +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures5.ts, 8, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 8, 17)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 8, 20)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 8, 17)) + +declare var a3: (x: T) => void; +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures5.ts, 9, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 9, 17)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 9, 20)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 9, 17)) + +declare var a4: (x: T, y: U) => string; +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignatures5.ts, 10, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 10, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 10, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 10, 22)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 10, 17)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures5.ts, 10, 27)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 10, 19)) + +declare var a5: (x: (arg: T) => U) => T; +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignatures5.ts, 11, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 11, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 11, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 11, 22)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures5.ts, 11, 26)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 11, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 11, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 11, 17)) + +declare var a6: (x: (arg: T) => Derived) => T; +>a6 : Symbol(a6, Decl(assignmentCompatWithCallSignatures5.ts, 12, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 12, 17)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures5.ts, 0, 0)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 12, 25)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures5.ts, 12, 29)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 12, 9)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 12, 33)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures5.ts, 12, 37)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 12, 17)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures5.ts, 2, 27)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 12, 9)) - -var a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; ->a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures5.ts, 13, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 13, 10)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 13, 13)) ->foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures5.ts, 13, 17)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 13, 10)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures5.ts, 13, 27)) ->foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures5.ts, 13, 32)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 13, 10)) ->bar : Symbol(bar, Decl(assignmentCompatWithCallSignatures5.ts, 13, 40)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 13, 10)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 12, 17)) + +declare var a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; +>a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures5.ts, 13, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 13, 18)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 13, 21)) +>foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures5.ts, 13, 25)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 13, 18)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures5.ts, 13, 35)) +>foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures5.ts, 13, 40)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 13, 18)) +>bar : Symbol(bar, Decl(assignmentCompatWithCallSignatures5.ts, 13, 48)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 13, 18)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures5.ts, 0, 0)) -var a15: (x: { a: T; b: T }) => T[]; ->a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures5.ts, 14, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 14, 10)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 14, 13)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 14, 17)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 14, 10)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures5.ts, 14, 23)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 14, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 14, 10)) - -var a16: (x: { a: T; b: T }) => T[]; ->a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures5.ts, 15, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 15, 10)) +declare var a15: (x: { a: T; b: T }) => T[]; +>a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures5.ts, 14, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 14, 18)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 14, 21)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 14, 25)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 14, 18)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures5.ts, 14, 31)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 14, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 14, 18)) + +declare var a16: (x: { a: T; b: T }) => T[]; +>a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures5.ts, 15, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 15, 18)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures5.ts, 0, 0)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 15, 26)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 15, 30)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 15, 10)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures5.ts, 15, 36)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 15, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 15, 10)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 15, 34)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 15, 38)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 15, 18)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures5.ts, 15, 44)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 15, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 15, 18)) -var a17: { ->a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures5.ts, 16, 3)) +declare var a17: { +>a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures5.ts, 16, 11)) (x: (a: T) => T): T[]; >T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 17, 5)) @@ -126,8 +126,8 @@ var a17: { >T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 18, 5)) }; -var a18: { ->a18 : Symbol(a18, Decl(assignmentCompatWithCallSignatures5.ts, 20, 3)) +declare var a18: { +>a18 : Symbol(a18, Decl(assignmentCompatWithCallSignatures5.ts, 20, 11)) (x: { >x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 21, 5)) @@ -167,194 +167,194 @@ var a18: { }): any[]; }; -var b: (x: T) => T[]; ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures5.ts, 31, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 31, 8)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 31, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 31, 8)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 31, 8)) +declare var b: (x: T) => T[]; +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures5.ts, 31, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 31, 16)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 31, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 31, 16)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 31, 16)) a = b; // ok ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 7, 3)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures5.ts, 31, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 7, 11)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures5.ts, 31, 11)) b = a; // ok ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures5.ts, 31, 3)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 7, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures5.ts, 31, 11)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 7, 11)) -var b2: (x: T) => string[]; ->b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures5.ts, 34, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 34, 9)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 34, 12)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 34, 9)) +declare var b2: (x: T) => string[]; +>b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures5.ts, 34, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 34, 17)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 34, 20)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 34, 17)) a2 = b2; // ok ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures5.ts, 8, 3)) ->b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures5.ts, 34, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures5.ts, 8, 11)) +>b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures5.ts, 34, 11)) b2 = a2; // ok ->b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures5.ts, 34, 3)) ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures5.ts, 8, 3)) +>b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures5.ts, 34, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignatures5.ts, 8, 11)) -var b3: (x: T) => T; ->b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures5.ts, 37, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 37, 9)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 37, 12)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 37, 9)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 37, 9)) +declare var b3: (x: T) => T; +>b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures5.ts, 37, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 37, 17)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 37, 20)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 37, 17)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 37, 17)) a3 = b3; // ok ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures5.ts, 9, 3)) ->b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures5.ts, 37, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures5.ts, 9, 11)) +>b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures5.ts, 37, 11)) b3 = a3; // ok ->b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures5.ts, 37, 3)) ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures5.ts, 9, 3)) - -var b4: (x: T, y: U) => string; ->b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures5.ts, 40, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 40, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 40, 11)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 40, 15)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 40, 9)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures5.ts, 40, 20)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 40, 11)) +>b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures5.ts, 37, 11)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignatures5.ts, 9, 11)) + +declare var b4: (x: T, y: U) => string; +>b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures5.ts, 40, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 40, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 40, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 40, 23)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 40, 17)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures5.ts, 40, 28)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 40, 19)) a4 = b4; // ok ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignatures5.ts, 10, 3)) ->b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures5.ts, 40, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignatures5.ts, 10, 11)) +>b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures5.ts, 40, 11)) b4 = a4; // ok ->b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures5.ts, 40, 3)) ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignatures5.ts, 10, 3)) - -var b5: (x: (arg: T) => U) => T; ->b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures5.ts, 43, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 43, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 43, 11)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 43, 15)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures5.ts, 43, 19)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 43, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 43, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 43, 9)) +>b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures5.ts, 40, 11)) +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignatures5.ts, 10, 11)) + +declare var b5: (x: (arg: T) => U) => T; +>b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures5.ts, 43, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 43, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 43, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 43, 23)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures5.ts, 43, 27)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 43, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 43, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 43, 17)) a5 = b5; // ok ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignatures5.ts, 11, 3)) ->b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures5.ts, 43, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignatures5.ts, 11, 11)) +>b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures5.ts, 43, 11)) b5 = a5; // ok ->b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures5.ts, 43, 3)) ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignatures5.ts, 11, 3)) +>b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures5.ts, 43, 11)) +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignatures5.ts, 11, 11)) -var b6: (x: (arg: T) => U) => T; ->b6 : Symbol(b6, Decl(assignmentCompatWithCallSignatures5.ts, 46, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 46, 9)) +declare var b6: (x: (arg: T) => U) => T; +>b6 : Symbol(b6, Decl(assignmentCompatWithCallSignatures5.ts, 46, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 46, 17)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures5.ts, 0, 0)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 46, 24)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 46, 32)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures5.ts, 2, 27)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 46, 44)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures5.ts, 46, 48)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 46, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 46, 24)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 46, 9)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 46, 52)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures5.ts, 46, 56)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 46, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 46, 32)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 46, 17)) a6 = b6; // ok ->a6 : Symbol(a6, Decl(assignmentCompatWithCallSignatures5.ts, 12, 3)) ->b6 : Symbol(b6, Decl(assignmentCompatWithCallSignatures5.ts, 46, 3)) +>a6 : Symbol(a6, Decl(assignmentCompatWithCallSignatures5.ts, 12, 11)) +>b6 : Symbol(b6, Decl(assignmentCompatWithCallSignatures5.ts, 46, 11)) b6 = a6; // ok ->b6 : Symbol(b6, Decl(assignmentCompatWithCallSignatures5.ts, 46, 3)) ->a6 : Symbol(a6, Decl(assignmentCompatWithCallSignatures5.ts, 12, 3)) - -var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; ->b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures5.ts, 49, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 49, 10)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 49, 12)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 49, 16)) ->foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures5.ts, 49, 20)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 49, 10)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures5.ts, 49, 30)) ->foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures5.ts, 49, 35)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 49, 12)) ->bar : Symbol(bar, Decl(assignmentCompatWithCallSignatures5.ts, 49, 43)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 49, 12)) +>b6 : Symbol(b6, Decl(assignmentCompatWithCallSignatures5.ts, 46, 11)) +>a6 : Symbol(a6, Decl(assignmentCompatWithCallSignatures5.ts, 12, 11)) + +declare var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; +>b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures5.ts, 49, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 49, 18)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 49, 20)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 49, 24)) +>foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures5.ts, 49, 28)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 49, 18)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures5.ts, 49, 38)) +>foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures5.ts, 49, 43)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 49, 20)) +>bar : Symbol(bar, Decl(assignmentCompatWithCallSignatures5.ts, 49, 51)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 49, 20)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures5.ts, 0, 0)) a11 = b11; // ok ->a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures5.ts, 13, 3)) ->b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures5.ts, 49, 3)) +>a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures5.ts, 13, 11)) +>b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures5.ts, 49, 11)) b11 = a11; // ok ->b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures5.ts, 49, 3)) ->a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures5.ts, 13, 3)) - -var b15: (x: { a: U; b: V; }) => U[]; ->b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures5.ts, 52, 3)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 52, 10)) ->V : Symbol(V, Decl(assignmentCompatWithCallSignatures5.ts, 52, 12)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 52, 16)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 52, 20)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 52, 10)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures5.ts, 52, 26)) ->V : Symbol(V, Decl(assignmentCompatWithCallSignatures5.ts, 52, 12)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 52, 10)) +>b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures5.ts, 49, 11)) +>a11 : Symbol(a11, Decl(assignmentCompatWithCallSignatures5.ts, 13, 11)) + +declare var b15: (x: { a: U; b: V; }) => U[]; +>b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures5.ts, 52, 11)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 52, 18)) +>V : Symbol(V, Decl(assignmentCompatWithCallSignatures5.ts, 52, 20)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 52, 24)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 52, 28)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 52, 18)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures5.ts, 52, 34)) +>V : Symbol(V, Decl(assignmentCompatWithCallSignatures5.ts, 52, 20)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures5.ts, 52, 18)) a15 = b15; // ok, T = U, T = V ->a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures5.ts, 14, 3)) ->b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures5.ts, 52, 3)) +>a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures5.ts, 14, 11)) +>b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures5.ts, 52, 11)) b15 = a15; // ok ->b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures5.ts, 52, 3)) ->a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures5.ts, 14, 3)) - -var b16: (x: { a: T; b: T }) => T[]; ->b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures5.ts, 55, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 55, 10)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 55, 13)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 55, 17)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 55, 10)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures5.ts, 55, 23)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 55, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 55, 10)) +>b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures5.ts, 52, 11)) +>a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures5.ts, 14, 11)) + +declare var b16: (x: { a: T; b: T }) => T[]; +>b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures5.ts, 55, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 55, 18)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 55, 21)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 55, 25)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 55, 18)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures5.ts, 55, 31)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 55, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 55, 18)) a15 = b16; // ok ->a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures5.ts, 14, 3)) ->b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures5.ts, 55, 3)) +>a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures5.ts, 14, 11)) +>b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures5.ts, 55, 11)) b15 = a16; // ok ->b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures5.ts, 52, 3)) ->a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures5.ts, 15, 3)) - -var b17: (x: (a: T) => T) => T[]; ->b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures5.ts, 58, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 58, 10)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 58, 13)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 58, 17)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 58, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 58, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 58, 10)) +>b15 : Symbol(b15, Decl(assignmentCompatWithCallSignatures5.ts, 52, 11)) +>a16 : Symbol(a16, Decl(assignmentCompatWithCallSignatures5.ts, 15, 11)) + +declare var b17: (x: (a: T) => T) => T[]; +>b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures5.ts, 58, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 58, 18)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 58, 21)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 58, 25)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 58, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 58, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 58, 18)) a17 = b17; // ok ->a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures5.ts, 16, 3)) ->b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures5.ts, 58, 3)) +>a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures5.ts, 16, 11)) +>b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures5.ts, 58, 11)) b17 = a17; // ok ->b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures5.ts, 58, 3)) ->a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures5.ts, 16, 3)) +>b17 : Symbol(b17, Decl(assignmentCompatWithCallSignatures5.ts, 58, 11)) +>a17 : Symbol(a17, Decl(assignmentCompatWithCallSignatures5.ts, 16, 11)) -var b18: (x: (a: T) => T) => any[]; ->b18 : Symbol(b18, Decl(assignmentCompatWithCallSignatures5.ts, 61, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 61, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 61, 14)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 61, 17)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 61, 14)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 61, 14)) +declare var b18: (x: (a: T) => T) => any[]; +>b18 : Symbol(b18, Decl(assignmentCompatWithCallSignatures5.ts, 61, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures5.ts, 61, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 61, 22)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures5.ts, 61, 25)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 61, 22)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures5.ts, 61, 22)) a18 = b18; // ok ->a18 : Symbol(a18, Decl(assignmentCompatWithCallSignatures5.ts, 20, 3)) ->b18 : Symbol(b18, Decl(assignmentCompatWithCallSignatures5.ts, 61, 3)) +>a18 : Symbol(a18, Decl(assignmentCompatWithCallSignatures5.ts, 20, 11)) +>b18 : Symbol(b18, Decl(assignmentCompatWithCallSignatures5.ts, 61, 11)) b18 = a18; // ok ->b18 : Symbol(b18, Decl(assignmentCompatWithCallSignatures5.ts, 61, 3)) ->a18 : Symbol(a18, Decl(assignmentCompatWithCallSignatures5.ts, 20, 3)) +>b18 : Symbol(b18, Decl(assignmentCompatWithCallSignatures5.ts, 61, 11)) +>a18 : Symbol(a18, Decl(assignmentCompatWithCallSignatures5.ts, 20, 11)) diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures5.types b/tests/baselines/reference/assignmentCompatWithCallSignatures5.types index 911c4db793b3f..5eece3edd4c48 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures5.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures5.types @@ -33,25 +33,25 @@ class OtherDerived extends Base { bing: string; } >bing : string > : ^^^^^^ -var a: (x: T) => T[]; +declare var a: (x: T) => T[]; >a : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ >x : T > : ^ -var a2: (x: T) => string[]; +declare var a2: (x: T) => string[]; >a2 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^ >x : T > : ^ -var a3: (x: T) => void; +declare var a3: (x: T) => void; >a3 : (x: T) => void > : ^ ^^ ^^ ^^^^^ >x : T > : ^ -var a4: (x: T, y: U) => string; +declare var a4: (x: T, y: U) => string; >a4 : (x: T, y: U) => string > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -59,7 +59,7 @@ var a4: (x: T, y: U) => string; >y : U > : ^ -var a5: (x: (arg: T) => U) => T; +declare var a5: (x: (arg: T) => U) => T; >a5 : (x: (arg: T) => U) => T > : ^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -67,7 +67,7 @@ var a5: (x: (arg: T) => U) => T; >arg : T > : ^ -var a6: (x: (arg: T) => Derived) => T; +declare var a6: (x: (arg: T) => Derived) => T; >a6 : (x: (arg: T) => Derived) => T > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => Derived @@ -75,7 +75,7 @@ var a6: (x: (arg: T) => Derived) => T; >arg : T > : ^ -var a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; +declare var a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base > : ^ ^^ ^^ ^^ ^^ ^^^^^ >x : { foo: T; } @@ -89,7 +89,7 @@ var a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; >bar : T > : ^ -var a15: (x: { a: T; b: T }) => T[]; +declare var a15: (x: { a: T; b: T }) => T[]; >a15 : (x: { a: T; b: T; }) => T[] > : ^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -99,7 +99,7 @@ var a15: (x: { a: T; b: T }) => T[]; >b : T > : ^ -var a16: (x: { a: T; b: T }) => T[]; +declare var a16: (x: { a: T; b: T }) => T[]; >a16 : (x: { a: T; b: T; }) => T[] > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -109,7 +109,7 @@ var a16: (x: { a: T; b: T }) => T[]; >b : T > : ^ -var a17: { +declare var a17: { >a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } > : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ @@ -126,7 +126,7 @@ var a17: { > : ^ }; -var a18: { +declare var a18: { >a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -158,7 +158,7 @@ var a18: { }): any[]; }; -var b: (x: T) => T[]; +declare var b: (x: T) => T[]; >b : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ >x : T @@ -180,7 +180,7 @@ b = a; // ok >a : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ -var b2: (x: T) => string[]; +declare var b2: (x: T) => string[]; >b2 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^ >x : T @@ -202,7 +202,7 @@ b2 = a2; // ok >a2 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^ -var b3: (x: T) => T; +declare var b3: (x: T) => T; >b3 : (x: T) => T > : ^ ^^ ^^ ^^^^^ >x : T @@ -224,7 +224,7 @@ b3 = a3; // ok >a3 : (x: T) => void > : ^ ^^ ^^ ^^^^^ -var b4: (x: T, y: U) => string; +declare var b4: (x: T, y: U) => string; >b4 : (x: T, y: U) => string > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -248,7 +248,7 @@ b4 = a4; // ok >a4 : (x: T, y: U) => string > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ -var b5: (x: (arg: T) => U) => T; +declare var b5: (x: (arg: T) => U) => T; >b5 : (x: (arg: T) => U) => T > : ^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -272,7 +272,7 @@ b5 = a5; // ok >a5 : (x: (arg: T) => U) => T > : ^ ^^ ^^ ^^ ^^^^^ -var b6: (x: (arg: T) => U) => T; +declare var b6: (x: (arg: T) => U) => T; >b6 : (x: (arg: T) => U) => T > : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -296,7 +296,7 @@ b6 = a6; // ok >a6 : (x: (arg: T) => Derived) => T > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ -var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; +declare var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : { foo: T; } @@ -326,7 +326,7 @@ b11 = a11; // ok >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base > : ^ ^^ ^^ ^^ ^^ ^^^^^ -var b15: (x: { a: U; b: V; }) => U[]; +declare var b15: (x: { a: U; b: V; }) => U[]; >b15 : (x: { a: U; b: V; }) => U[] > : ^ ^^ ^^ ^^ ^^^^^ >x : { a: U; b: V; } @@ -352,7 +352,7 @@ b15 = a15; // ok >a15 : (x: { a: T; b: T; }) => T[] > : ^ ^^ ^^ ^^^^^ -var b16: (x: { a: T; b: T }) => T[]; +declare var b16: (x: { a: T; b: T }) => T[]; >b16 : (x: { a: T; b: T; }) => T[] > : ^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -378,7 +378,7 @@ b15 = a16; // ok >a16 : (x: { a: T; b: T; }) => T[] > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ -var b17: (x: (a: T) => T) => T[]; +declare var b17: (x: (a: T) => T) => T[]; >b17 : (x: (a: T) => T) => T[] > : ^ ^^ ^^ ^^^^^ >x : (a: T) => T @@ -402,7 +402,7 @@ b17 = a17; // ok >a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } > : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ -var b18: (x: (a: T) => T) => any[]; +declare var b18: (x: (a: T) => T) => any[]; >b18 : (x: (a: T) => T) => any[] > : ^ ^^ ^^^^^ >x : (a: T) => T diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures6.errors.txt b/tests/baselines/reference/assignmentCompatWithCallSignatures6.errors.txt index 98d798bde9a81..8d25046286fd1 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures6.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures6.errors.txt @@ -34,28 +34,28 @@ assignmentCompatWithCallSignatures6.ts(42,1): error TS2322: Type '(x: { a: T; b: T }) => T[]; } - var x: A; + declare var x: A; - var b: (x: T) => T[]; + declare var b: (x: T) => T[]; x.a = b; b = x.a; - var b2: (x: T) => string[]; + declare var b2: (x: T) => string[]; x.a2 = b2; b2 = x.a2; - var b3: (x: T) => T; + declare var b3: (x: T) => T; x.a3 = b3; b3 = x.a3; ~~ !!! error TS2322: Type '(x: T) => void' is not assignable to type '(x: T) => T'. !!! error TS2322: Type 'void' is not assignable to type 'T'. !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'void'. - var b4: (x: T, y: U) => string; + declare var b4: (x: T, y: U) => string; x.a4 = b4; b4 = x.a4; - var b5: (x: (arg: T) => U) => T; + declare var b5: (x: (arg: T) => U) => T; x.a5 = b5; b5 = x.a5; - var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; + declare var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; x.a11 = b11; b11 = x.a11; ~~~ @@ -65,8 +65,8 @@ assignmentCompatWithCallSignatures6.ts(42,1): error TS2322: Type '(x: { a: T; b: T }) => T[]; +!!! related TS2208 assignmentCompatWithCallSignatures6.ts:37:22: This type parameter might need an `extends T` constraint. + declare var b16: (x: { a: T; b: T }) => T[]; x.a16 = b16; b16 = x.a16; ~~~ @@ -75,4 +75,4 @@ assignmentCompatWithCallSignatures6.ts(42,1): error TS2322: Type '(x: { a: T; b: T }) => T[]; } -var x: A; +declare var x: A; -var b: (x: T) => T[]; +declare var b: (x: T) => T[]; x.a = b; b = x.a; -var b2: (x: T) => string[]; +declare var b2: (x: T) => string[]; x.a2 = b2; b2 = x.a2; -var b3: (x: T) => T; +declare var b3: (x: T) => T; x.a3 = b3; b3 = x.a3; -var b4: (x: T, y: U) => string; +declare var b4: (x: T, y: U) => string; x.a4 = b4; b4 = x.a4; -var b5: (x: (arg: T) => U) => T; +declare var b5: (x: (arg: T) => U) => T; x.a5 = b5; b5 = x.a5; -var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; +declare var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; x.a11 = b11; b11 = x.a11; -var b16: (x: { a: T; b: T }) => T[]; +declare var b16: (x: { a: T; b: T }) => T[]; x.a16 = b16; b16 = x.a16; @@ -87,25 +87,17 @@ var OtherDerived = /** @class */ (function (_super) { } return OtherDerived; }(Base)); -var x; -var b; x.a = b; b = x.a; -var b2; x.a2 = b2; b2 = x.a2; -var b3; x.a3 = b3; b3 = x.a3; -var b4; x.a4 = b4; b4 = x.a4; -var b5; x.a5 = b5; b5 = x.a5; -var b11; x.a11 = b11; b11 = x.a11; -var b16; x.a16 = b16; b16 = x.a16; diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures6.symbols b/tests/baselines/reference/assignmentCompatWithCallSignatures6.symbols index 95b783cdecaeb..b260d20308cb3 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures6.symbols +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures6.symbols @@ -108,154 +108,154 @@ interface A { >T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 16, 10)) } -var x: A; ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 3)) +declare var x: A; +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 11)) >A : Symbol(A, Decl(assignmentCompatWithCallSignatures6.ts, 5, 49)) -var b: (x: T) => T[]; ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures6.ts, 21, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 21, 8)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 21, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 21, 8)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 21, 8)) +declare var b: (x: T) => T[]; +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures6.ts, 21, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 21, 16)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 21, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 21, 16)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 21, 16)) x.a = b; >x.a : Symbol(A.a, Decl(assignmentCompatWithCallSignatures6.ts, 7, 13)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 11)) >a : Symbol(A.a, Decl(assignmentCompatWithCallSignatures6.ts, 7, 13)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures6.ts, 21, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures6.ts, 21, 11)) b = x.a; ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures6.ts, 21, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures6.ts, 21, 11)) >x.a : Symbol(A.a, Decl(assignmentCompatWithCallSignatures6.ts, 7, 13)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 11)) >a : Symbol(A.a, Decl(assignmentCompatWithCallSignatures6.ts, 7, 13)) -var b2: (x: T) => string[]; ->b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures6.ts, 24, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 24, 9)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 24, 12)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 24, 9)) +declare var b2: (x: T) => string[]; +>b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures6.ts, 24, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 24, 17)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 24, 20)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 24, 17)) x.a2 = b2; >x.a2 : Symbol(A.a2, Decl(assignmentCompatWithCallSignatures6.ts, 8, 24)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 11)) >a2 : Symbol(A.a2, Decl(assignmentCompatWithCallSignatures6.ts, 8, 24)) ->b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures6.ts, 24, 3)) +>b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures6.ts, 24, 11)) b2 = x.a2; ->b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures6.ts, 24, 3)) +>b2 : Symbol(b2, Decl(assignmentCompatWithCallSignatures6.ts, 24, 11)) >x.a2 : Symbol(A.a2, Decl(assignmentCompatWithCallSignatures6.ts, 8, 24)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 11)) >a2 : Symbol(A.a2, Decl(assignmentCompatWithCallSignatures6.ts, 8, 24)) -var b3: (x: T) => T; ->b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures6.ts, 27, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 27, 9)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 27, 12)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 27, 9)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 27, 9)) +declare var b3: (x: T) => T; +>b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures6.ts, 27, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 27, 17)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 27, 20)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 27, 17)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 27, 17)) x.a3 = b3; >x.a3 : Symbol(A.a3, Decl(assignmentCompatWithCallSignatures6.ts, 9, 30)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 11)) >a3 : Symbol(A.a3, Decl(assignmentCompatWithCallSignatures6.ts, 9, 30)) ->b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures6.ts, 27, 3)) +>b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures6.ts, 27, 11)) b3 = x.a3; ->b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures6.ts, 27, 3)) +>b3 : Symbol(b3, Decl(assignmentCompatWithCallSignatures6.ts, 27, 11)) >x.a3 : Symbol(A.a3, Decl(assignmentCompatWithCallSignatures6.ts, 9, 30)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 11)) >a3 : Symbol(A.a3, Decl(assignmentCompatWithCallSignatures6.ts, 9, 30)) -var b4: (x: T, y: U) => string; ->b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures6.ts, 30, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 30, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 30, 11)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 30, 15)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 30, 9)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures6.ts, 30, 20)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 30, 11)) +declare var b4: (x: T, y: U) => string; +>b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures6.ts, 30, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 30, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 30, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 30, 23)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 30, 17)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures6.ts, 30, 28)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 30, 19)) x.a4 = b4; >x.a4 : Symbol(A.a4, Decl(assignmentCompatWithCallSignatures6.ts, 10, 26)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 11)) >a4 : Symbol(A.a4, Decl(assignmentCompatWithCallSignatures6.ts, 10, 26)) ->b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures6.ts, 30, 3)) +>b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures6.ts, 30, 11)) b4 = x.a4; ->b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures6.ts, 30, 3)) +>b4 : Symbol(b4, Decl(assignmentCompatWithCallSignatures6.ts, 30, 11)) >x.a4 : Symbol(A.a4, Decl(assignmentCompatWithCallSignatures6.ts, 10, 26)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 11)) >a4 : Symbol(A.a4, Decl(assignmentCompatWithCallSignatures6.ts, 10, 26)) -var b5: (x: (arg: T) => U) => T; ->b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures6.ts, 33, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 33, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 33, 11)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 33, 15)) ->arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures6.ts, 33, 19)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 33, 9)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 33, 11)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 33, 9)) +declare var b5: (x: (arg: T) => U) => T; +>b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures6.ts, 33, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 33, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 33, 19)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 33, 23)) +>arg : Symbol(arg, Decl(assignmentCompatWithCallSignatures6.ts, 33, 27)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 33, 17)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 33, 19)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 33, 17)) x.a5 = b5; >x.a5 : Symbol(A.a5, Decl(assignmentCompatWithCallSignatures6.ts, 11, 36)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 11)) >a5 : Symbol(A.a5, Decl(assignmentCompatWithCallSignatures6.ts, 11, 36)) ->b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures6.ts, 33, 3)) +>b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures6.ts, 33, 11)) b5 = x.a5; ->b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures6.ts, 33, 3)) +>b5 : Symbol(b5, Decl(assignmentCompatWithCallSignatures6.ts, 33, 11)) >x.a5 : Symbol(A.a5, Decl(assignmentCompatWithCallSignatures6.ts, 11, 36)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 11)) >a5 : Symbol(A.a5, Decl(assignmentCompatWithCallSignatures6.ts, 11, 36)) -var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; ->b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures6.ts, 36, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 36, 10)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 36, 12)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 36, 16)) ->foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures6.ts, 36, 20)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 36, 10)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignatures6.ts, 36, 30)) ->foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures6.ts, 36, 35)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 36, 12)) ->bar : Symbol(bar, Decl(assignmentCompatWithCallSignatures6.ts, 36, 43)) ->U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 36, 12)) +declare var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; +>b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures6.ts, 36, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 36, 18)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 36, 20)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 36, 24)) +>foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures6.ts, 36, 28)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 36, 18)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignatures6.ts, 36, 38)) +>foo : Symbol(foo, Decl(assignmentCompatWithCallSignatures6.ts, 36, 43)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 36, 20)) +>bar : Symbol(bar, Decl(assignmentCompatWithCallSignatures6.ts, 36, 51)) +>U : Symbol(U, Decl(assignmentCompatWithCallSignatures6.ts, 36, 20)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures6.ts, 0, 0)) x.a11 = b11; >x.a11 : Symbol(A.a11, Decl(assignmentCompatWithCallSignatures6.ts, 13, 54)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 11)) >a11 : Symbol(A.a11, Decl(assignmentCompatWithCallSignatures6.ts, 13, 54)) ->b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures6.ts, 36, 3)) +>b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures6.ts, 36, 11)) b11 = x.a11; ->b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures6.ts, 36, 3)) +>b11 : Symbol(b11, Decl(assignmentCompatWithCallSignatures6.ts, 36, 11)) >x.a11 : Symbol(A.a11, Decl(assignmentCompatWithCallSignatures6.ts, 13, 54)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 11)) >a11 : Symbol(A.a11, Decl(assignmentCompatWithCallSignatures6.ts, 13, 54)) -var b16: (x: { a: T; b: T }) => T[]; ->b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures6.ts, 39, 3)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 39, 10)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 39, 13)) ->a : Symbol(a, Decl(assignmentCompatWithCallSignatures6.ts, 39, 17)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 39, 10)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignatures6.ts, 39, 23)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 39, 10)) ->T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 39, 10)) +declare var b16: (x: { a: T; b: T }) => T[]; +>b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures6.ts, 39, 11)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 39, 18)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 39, 21)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignatures6.ts, 39, 25)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 39, 18)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignatures6.ts, 39, 31)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 39, 18)) +>T : Symbol(T, Decl(assignmentCompatWithCallSignatures6.ts, 39, 18)) x.a16 = b16; >x.a16 : Symbol(A.a16, Decl(assignmentCompatWithCallSignatures6.ts, 15, 39)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 11)) >a16 : Symbol(A.a16, Decl(assignmentCompatWithCallSignatures6.ts, 15, 39)) ->b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures6.ts, 39, 3)) +>b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures6.ts, 39, 11)) b16 = x.a16; ->b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures6.ts, 39, 3)) +>b16 : Symbol(b16, Decl(assignmentCompatWithCallSignatures6.ts, 39, 11)) >x.a16 : Symbol(A.a16, Decl(assignmentCompatWithCallSignatures6.ts, 15, 39)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignatures6.ts, 19, 11)) >a16 : Symbol(A.a16, Decl(assignmentCompatWithCallSignatures6.ts, 15, 39)) diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures6.types b/tests/baselines/reference/assignmentCompatWithCallSignatures6.types index 0fecc27a18058..2e452e5038952 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures6.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures6.types @@ -111,11 +111,11 @@ interface A { > : ^ } -var x: A; +declare var x: A; >x : A > : ^ -var b: (x: T) => T[]; +declare var b: (x: T) => T[]; >b : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ >x : T @@ -145,7 +145,7 @@ b = x.a; >a : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ -var b2: (x: T) => string[]; +declare var b2: (x: T) => string[]; >b2 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^ >x : T @@ -175,7 +175,7 @@ b2 = x.a2; >a2 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^ -var b3: (x: T) => T; +declare var b3: (x: T) => T; >b3 : (x: T) => T > : ^ ^^ ^^ ^^^^^ >x : T @@ -205,7 +205,7 @@ b3 = x.a3; >a3 : (x: T) => void > : ^ ^^ ^^ ^^^^^ -var b4: (x: T, y: U) => string; +declare var b4: (x: T, y: U) => string; >b4 : (x: T, y: U) => string > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -237,7 +237,7 @@ b4 = x.a4; >a4 : (x: T, y: U) => string > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ -var b5: (x: (arg: T) => U) => T; +declare var b5: (x: (arg: T) => U) => T; >b5 : (x: (arg: T) => U) => T > : ^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -269,7 +269,7 @@ b5 = x.a5; >a5 : (x: (arg: T) => U) => T > : ^ ^^ ^^ ^^ ^^^^^ -var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; +declare var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : { foo: T; } @@ -307,7 +307,7 @@ b11 = x.a11; >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base > : ^ ^^ ^^ ^^ ^^ ^^^^^ -var b16: (x: { a: T; b: T }) => T[]; +declare var b16: (x: { a: T; b: T }) => T[]; >b16 : (x: { a: T; b: T; }) => T[] > : ^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } diff --git a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.errors.txt b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.errors.txt index 0563b2842532d..60511bef2fe75 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.errors.txt @@ -25,9 +25,9 @@ assignmentCompatWithCallSignaturesWithOptionalParameters.ts(45,5): error TS2322: a5: (x?: number, y?: number) => number; a6: (x: number, y: number) => number; } - var b: Base; + declare var b: Base; - var a: () => number; + declare var a: () => number; a = () => 1 // ok, same number of required params a = (x?: number) => 1; // ok, same number of required params a = (x: number) => 1; // error, too many required params @@ -50,7 +50,7 @@ assignmentCompatWithCallSignaturesWithOptionalParameters.ts(45,5): error TS2322: !!! error TS2322: Type '(x: number, y: number) => number' is not assignable to type '() => number'. !!! error TS2322: Target signature provides too few arguments. Expected 2 or more, but got 0. - var a2: (x?: number) => number; + declare var a2: (x?: number) => number; a2 = () => 1; // ok, same number of required params a2 = (x?: number) => 1; // ok, same number of required params a2 = (x: number) => 1; // ok, same number of params @@ -64,7 +64,7 @@ assignmentCompatWithCallSignaturesWithOptionalParameters.ts(45,5): error TS2322: !!! error TS2322: Type '(x: number, y: number) => number' is not assignable to type '(x?: number) => number'. !!! error TS2322: Target signature provides too few arguments. Expected 2 or more, but got 1. - var a3: (x: number) => number; + declare var a3: (x: number) => number; a3 = () => 1; // ok, fewer required params a3 = (x?: number) => 1; // ok, fewer required params a3 = (x: number) => 1; // ok, same number of required params @@ -82,7 +82,7 @@ assignmentCompatWithCallSignaturesWithOptionalParameters.ts(45,5): error TS2322: !!! error TS2322: Type '(x: number, y: number) => number' is not assignable to type '(x: number) => number'. !!! error TS2322: Target signature provides too few arguments. Expected 2 or more, but got 1. - var a4: (x: number, y?: number) => number; + declare var a4: (x: number, y?: number) => number; a4 = () => 1; // ok, fewer required params a4 = (x?: number, y?: number) => 1; // ok, fewer required params a4 = (x: number) => 1; // ok, same number of required params @@ -94,7 +94,7 @@ assignmentCompatWithCallSignaturesWithOptionalParameters.ts(45,5): error TS2322: a4 = b.a5; // ok a4 = b.a6; // ok, same number of params - var a5: (x?: number, y?: number) => number; + declare var a5: (x?: number, y?: number) => number; a5 = () => 1; // ok, fewer required params a5 = (x?: number, y?: number) => 1; // ok, fewer required params a5 = (x: number) => 1; // ok, fewer params in lambda diff --git a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.js b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.js index 255e10e1ecf13..21cabbf0bea02 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.js +++ b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.js @@ -11,9 +11,9 @@ interface Base { a5: (x?: number, y?: number) => number; a6: (x: number, y: number) => number; } -var b: Base; +declare var b: Base; -var a: () => number; +declare var a: () => number; a = () => 1 // ok, same number of required params a = (x?: number) => 1; // ok, same number of required params a = (x: number) => 1; // error, too many required params @@ -24,7 +24,7 @@ var a: () => number; a = b.a5; // ok a = b.a6; // error -var a2: (x?: number) => number; +declare var a2: (x?: number) => number; a2 = () => 1; // ok, same number of required params a2 = (x?: number) => 1; // ok, same number of required params a2 = (x: number) => 1; // ok, same number of params @@ -35,7 +35,7 @@ var a2: (x?: number) => number; a2 = b.a5; // ok a2 = b.a6; // error -var a3: (x: number) => number; +declare var a3: (x: number) => number; a3 = () => 1; // ok, fewer required params a3 = (x?: number) => 1; // ok, fewer required params a3 = (x: number) => 1; // ok, same number of required params @@ -47,7 +47,7 @@ var a3: (x: number) => number; a3 = b.a5; // ok a3 = b.a6; // error -var a4: (x: number, y?: number) => number; +declare var a4: (x: number, y?: number) => number; a4 = () => 1; // ok, fewer required params a4 = (x?: number, y?: number) => 1; // ok, fewer required params a4 = (x: number) => 1; // ok, same number of required params @@ -59,7 +59,7 @@ var a4: (x: number, y?: number) => number; a4 = b.a5; // ok a4 = b.a6; // ok, same number of params -var a5: (x?: number, y?: number) => number; +declare var a5: (x?: number, y?: number) => number; a5 = () => 1; // ok, fewer required params a5 = (x?: number, y?: number) => 1; // ok, fewer required params a5 = (x: number) => 1; // ok, fewer params in lambda @@ -73,8 +73,6 @@ var a5: (x?: number, y?: number) => number; //// [assignmentCompatWithCallSignaturesWithOptionalParameters.js] // call signatures in derived types must have the same or fewer optional parameters as the base type -var b; -var a; a = function () { return 1; }; // ok, same number of required params a = function (x) { return 1; }; // ok, same number of required params a = function (x) { return 1; }; // error, too many required params @@ -84,7 +82,6 @@ a = b.a3; // error a = b.a4; // error a = b.a5; // ok a = b.a6; // error -var a2; a2 = function () { return 1; }; // ok, same number of required params a2 = function (x) { return 1; }; // ok, same number of required params a2 = function (x) { return 1; }; // ok, same number of params @@ -94,7 +91,6 @@ a2 = b.a3; // ok, same number of params a2 = b.a4; // ok, excess params are optional in b.a3 a2 = b.a5; // ok a2 = b.a6; // error -var a3; a3 = function () { return 1; }; // ok, fewer required params a3 = function (x) { return 1; }; // ok, fewer required params a3 = function (x) { return 1; }; // ok, same number of required params @@ -105,7 +101,6 @@ a3 = b.a3; // ok a3 = b.a4; // ok a3 = b.a5; // ok a3 = b.a6; // error -var a4; a4 = function () { return 1; }; // ok, fewer required params a4 = function (x, y) { return 1; }; // ok, fewer required params a4 = function (x) { return 1; }; // ok, same number of required params @@ -116,7 +111,6 @@ a4 = b.a3; // ok a4 = b.a4; // ok a4 = b.a5; // ok a4 = b.a6; // ok, same number of params -var a5; a5 = function () { return 1; }; // ok, fewer required params a5 = function (x, y) { return 1; }; // ok, fewer required params a5 = function (x) { return 1; }; // ok, fewer params in lambda diff --git a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.symbols b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.symbols index c0328bd27141a..10eaed7c30204 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.symbols +++ b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.symbols @@ -32,280 +32,280 @@ interface Base { >x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 8, 9)) >y : Symbol(y, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 8, 19)) } -var b: Base; ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +declare var b: Base; +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 0, 0)) -var a: () => number; ->a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 3)) +declare var a: () => number; +>a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 11)) a = () => 1 // ok, same number of required params ->a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 11)) a = (x?: number) => 1; // ok, same number of required params ->a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 14, 9)) a = (x: number) => 1; // error, too many required params ->a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 15, 9)) a = b.a; // ok ->a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 11)) >b.a : Symbol(Base.a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 2, 16)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a : Symbol(Base.a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 2, 16)) a = b.a2; // ok ->a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 11)) >b.a2 : Symbol(Base.a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 3, 20)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a2 : Symbol(Base.a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 3, 20)) a = b.a3; // error ->a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 11)) >b.a3 : Symbol(Base.a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 4, 31)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a3 : Symbol(Base.a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 4, 31)) a = b.a4; // error ->a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 11)) >b.a4 : Symbol(Base.a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 5, 30)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a4 : Symbol(Base.a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 5, 30)) a = b.a5; // ok ->a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 11)) >b.a5 : Symbol(Base.a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 6, 42)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a5 : Symbol(Base.a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 6, 42)) a = b.a6; // error ->a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 12, 11)) >b.a6 : Symbol(Base.a6, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 7, 43)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a6 : Symbol(Base.a6, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 7, 43)) -var a2: (x?: number) => number; ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 9)) +declare var a2: (x?: number) => number; +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 17)) a2 = () => 1; // ok, same number of required params ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 11)) a2 = (x?: number) => 1; // ok, same number of required params ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 25, 10)) a2 = (x: number) => 1; // ok, same number of params ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 26, 10)) a2 = b.a; // ok ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 11)) >b.a : Symbol(Base.a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 2, 16)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a : Symbol(Base.a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 2, 16)) a2 = b.a2; // ok ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 11)) >b.a2 : Symbol(Base.a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 3, 20)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a2 : Symbol(Base.a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 3, 20)) a2 = b.a3; // ok, same number of params ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 11)) >b.a3 : Symbol(Base.a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 4, 31)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a3 : Symbol(Base.a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 4, 31)) a2 = b.a4; // ok, excess params are optional in b.a3 ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 11)) >b.a4 : Symbol(Base.a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 5, 30)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a4 : Symbol(Base.a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 5, 30)) a2 = b.a5; // ok ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 11)) >b.a5 : Symbol(Base.a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 6, 42)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a5 : Symbol(Base.a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 6, 42)) a2 = b.a6; // error ->a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 23, 11)) >b.a6 : Symbol(Base.a6, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 7, 43)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a6 : Symbol(Base.a6, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 7, 43)) -var a3: (x: number) => number; ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 9)) +declare var a3: (x: number) => number; +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 17)) a3 = () => 1; // ok, fewer required params ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 11)) a3 = (x?: number) => 1; // ok, fewer required params ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 36, 10)) a3 = (x: number) => 1; // ok, same number of required params ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 37, 10)) a3 = (x: number, y: number) => 1; // error, too many required params ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 38, 10)) >y : Symbol(y, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 38, 20)) a3 = b.a; // ok ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 11)) >b.a : Symbol(Base.a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 2, 16)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a : Symbol(Base.a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 2, 16)) a3 = b.a2; // ok ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 11)) >b.a2 : Symbol(Base.a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 3, 20)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a2 : Symbol(Base.a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 3, 20)) a3 = b.a3; // ok ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 11)) >b.a3 : Symbol(Base.a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 4, 31)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a3 : Symbol(Base.a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 4, 31)) a3 = b.a4; // ok ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 11)) >b.a4 : Symbol(Base.a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 5, 30)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a4 : Symbol(Base.a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 5, 30)) a3 = b.a5; // ok ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 11)) >b.a5 : Symbol(Base.a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 6, 42)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a5 : Symbol(Base.a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 6, 42)) a3 = b.a6; // error ->a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 34, 11)) >b.a6 : Symbol(Base.a6, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 7, 43)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a6 : Symbol(Base.a6, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 7, 43)) -var a4: (x: number, y?: number) => number; ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 9)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 19)) +declare var a4: (x: number, y?: number) => number; +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 17)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 27)) a4 = () => 1; // ok, fewer required params ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 11)) a4 = (x?: number, y?: number) => 1; // ok, fewer required params ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 48, 10)) >y : Symbol(y, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 48, 21)) a4 = (x: number) => 1; // ok, same number of required params ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 49, 10)) a4 = (x: number, y: number) => 1; // ok, same number of params ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 50, 10)) >y : Symbol(y, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 50, 20)) a4 = b.a; // ok ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 11)) >b.a : Symbol(Base.a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 2, 16)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a : Symbol(Base.a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 2, 16)) a4 = b.a2; // ok ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 11)) >b.a2 : Symbol(Base.a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 3, 20)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a2 : Symbol(Base.a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 3, 20)) a4 = b.a3; // ok ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 11)) >b.a3 : Symbol(Base.a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 4, 31)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a3 : Symbol(Base.a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 4, 31)) a4 = b.a4; // ok ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 11)) >b.a4 : Symbol(Base.a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 5, 30)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a4 : Symbol(Base.a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 5, 30)) a4 = b.a5; // ok ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 11)) >b.a5 : Symbol(Base.a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 6, 42)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a5 : Symbol(Base.a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 6, 42)) a4 = b.a6; // ok, same number of params ->a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 46, 11)) >b.a6 : Symbol(Base.a6, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 7, 43)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a6 : Symbol(Base.a6, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 7, 43)) -var a5: (x?: number, y?: number) => number; ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 3)) ->x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 9)) ->y : Symbol(y, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 20)) +declare var a5: (x?: number, y?: number) => number; +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 11)) +>x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 17)) +>y : Symbol(y, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 28)) a5 = () => 1; // ok, fewer required params ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 11)) a5 = (x?: number, y?: number) => 1; // ok, fewer required params ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 60, 10)) >y : Symbol(y, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 60, 21)) a5 = (x: number) => 1; // ok, fewer params in lambda ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 61, 10)) a5 = (x: number, y: number) => 1; // ok, same number of params ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 62, 10)) >y : Symbol(y, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 62, 20)) a5 = b.a; // ok ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 11)) >b.a : Symbol(Base.a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 2, 16)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a : Symbol(Base.a, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 2, 16)) a5 = b.a2; // ok ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 11)) >b.a2 : Symbol(Base.a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 3, 20)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a2 : Symbol(Base.a2, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 3, 20)) a5 = b.a3; // ok, fewer params in b.a3 ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 11)) >b.a3 : Symbol(Base.a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 4, 31)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a3 : Symbol(Base.a3, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 4, 31)) a5 = b.a4; // ok, same number of params ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 11)) >b.a4 : Symbol(Base.a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 5, 30)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a4 : Symbol(Base.a4, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 5, 30)) a5 = b.a5; // ok ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 11)) >b.a5 : Symbol(Base.a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 6, 42)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a5 : Symbol(Base.a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 6, 42)) a5 = b.a6; // ok, same number of params ->a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 58, 11)) >b.a6 : Symbol(Base.a6, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 7, 43)) ->b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 10, 11)) >a6 : Symbol(Base.a6, Decl(assignmentCompatWithCallSignaturesWithOptionalParameters.ts, 7, 43)) diff --git a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types index d8155c6bf4f84..fd29872450ef3 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types @@ -44,11 +44,11 @@ interface Base { >y : number > : ^^^^^^ } -var b: Base; +declare var b: Base; >b : Base > : ^^^^ -var a: () => number; +declare var a: () => number; >a : () => number > : ^^^^^^ @@ -158,7 +158,7 @@ var a: () => number; >a6 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^ -var a2: (x?: number) => number; +declare var a2: (x?: number) => number; >a2 : (x?: number) => number > : ^ ^^^ ^^^^^ >x : number @@ -270,7 +270,7 @@ var a2: (x?: number) => number; >a6 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^ -var a3: (x: number) => number; +declare var a3: (x: number) => number; >a3 : (x: number) => number > : ^ ^^ ^^^^^ >x : number @@ -396,7 +396,7 @@ var a3: (x: number) => number; >a6 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^ -var a4: (x: number, y?: number) => number; +declare var a4: (x: number, y?: number) => number; >a4 : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^ >x : number @@ -526,7 +526,7 @@ var a4: (x: number, y?: number) => number; >a6 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^ -var a5: (x?: number, y?: number) => number; +declare var a5: (x?: number, y?: number) => number; >a5 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^ >x : number diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures.errors.txt b/tests/baselines/reference/assignmentCompatWithConstructSignatures.errors.txt index 7ce4e3e9b02c9..8cb0c28423fd6 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures.errors.txt @@ -22,8 +22,8 @@ assignmentCompatWithConstructSignatures.ts(35,1): error TS2322: Type '(x: string interface T { new (x: number): void; } - var t: T; - var a: { new (x: number): void }; + declare var t: T; + declare var a: { new (x: number): void }; t = a; a = t; @@ -31,8 +31,8 @@ assignmentCompatWithConstructSignatures.ts(35,1): error TS2322: Type '(x: string interface S { new (x: number): string; } - var s: S; - var a2: { new (x: number): string }; + declare var s: S; + declare var a2: { new (x: number): string }; t = s; t = a2; a = s; @@ -41,8 +41,8 @@ assignmentCompatWithConstructSignatures.ts(35,1): error TS2322: Type '(x: string interface S2 { (x: string): void; } - var s2: S2; - var a3: { (x: string): void }; + declare var s2: S2; + declare var a3: { (x: string): void }; // these are errors t = s2; ~ diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures.js b/tests/baselines/reference/assignmentCompatWithConstructSignatures.js index 91f4bad4f16ed..fc3f1032914b4 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures.js +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures.js @@ -6,8 +6,8 @@ interface T { new (x: number): void; } -var t: T; -var a: { new (x: number): void }; +declare var t: T; +declare var a: { new (x: number): void }; t = a; a = t; @@ -15,8 +15,8 @@ a = t; interface S { new (x: number): string; } -var s: S; -var a2: { new (x: number): string }; +declare var s: S; +declare var a2: { new (x: number): string }; t = s; t = a2; a = s; @@ -25,8 +25,8 @@ a = a2; interface S2 { (x: string): void; } -var s2: S2; -var a3: { (x: string): void }; +declare var s2: S2; +declare var a3: { (x: string): void }; // these are errors t = s2; t = a3; @@ -40,18 +40,12 @@ 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; a = t; -var s; -var a2; t = s; t = a2; a = s; a = a2; -var s2; -var a3; // these are errors t = s2; t = a3; diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures.symbols b/tests/baselines/reference/assignmentCompatWithConstructSignatures.symbols index 669fbe2e80306..f821652ec2158 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures.symbols +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures.symbols @@ -9,21 +9,21 @@ interface T { new (x: number): void; >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures.ts, 3, 9)) } -var t: T; ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 3)) +declare var t: T; +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 11)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures.ts, 0, 0)) -var a: { new (x: number): void }; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures.ts, 6, 14)) +declare var a: { new (x: number): void }; +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures.ts, 6, 22)) t = a; ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 3)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 11)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 11)) a = t; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 3)) ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 11)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 11)) interface S { >S : Symbol(S, Decl(assignmentCompatWithConstructSignatures.ts, 9, 6)) @@ -31,29 +31,29 @@ interface S { new (x: number): string; >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures.ts, 12, 9)) } -var s: S; ->s : Symbol(s, Decl(assignmentCompatWithConstructSignatures.ts, 14, 3)) +declare var s: S; +>s : Symbol(s, Decl(assignmentCompatWithConstructSignatures.ts, 14, 11)) >S : Symbol(S, Decl(assignmentCompatWithConstructSignatures.ts, 9, 6)) -var a2: { new (x: number): string }; ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures.ts, 15, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures.ts, 15, 15)) +declare var a2: { new (x: number): string }; +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures.ts, 15, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures.ts, 15, 23)) t = s; ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 3)) ->s : Symbol(s, Decl(assignmentCompatWithConstructSignatures.ts, 14, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 11)) +>s : Symbol(s, Decl(assignmentCompatWithConstructSignatures.ts, 14, 11)) t = a2; ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 3)) ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures.ts, 15, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures.ts, 15, 11)) a = s; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 3)) ->s : Symbol(s, Decl(assignmentCompatWithConstructSignatures.ts, 14, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 11)) +>s : Symbol(s, Decl(assignmentCompatWithConstructSignatures.ts, 14, 11)) a = a2; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 3)) ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures.ts, 15, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures.ts, 15, 11)) interface S2 { >S2 : Symbol(S2, Decl(assignmentCompatWithConstructSignatures.ts, 19, 7)) @@ -61,44 +61,44 @@ interface S2 { (x: string): void; >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures.ts, 22, 5)) } -var s2: S2; ->s2 : Symbol(s2, Decl(assignmentCompatWithConstructSignatures.ts, 24, 3)) +declare var s2: S2; +>s2 : Symbol(s2, Decl(assignmentCompatWithConstructSignatures.ts, 24, 11)) >S2 : Symbol(S2, Decl(assignmentCompatWithConstructSignatures.ts, 19, 7)) -var a3: { (x: string): void }; ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures.ts, 25, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures.ts, 25, 11)) +declare var a3: { (x: string): void }; +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures.ts, 25, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures.ts, 25, 19)) // these are errors t = s2; ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 3)) ->s2 : Symbol(s2, Decl(assignmentCompatWithConstructSignatures.ts, 24, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 11)) +>s2 : Symbol(s2, Decl(assignmentCompatWithConstructSignatures.ts, 24, 11)) t = a3; ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 3)) ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures.ts, 25, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 11)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures.ts, 25, 11)) t = (x: string) => 1; ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 11)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures.ts, 29, 5)) t = function (x: string) { return ''; } ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures.ts, 5, 11)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures.ts, 30, 14)) a = s2; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 3)) ->s2 : Symbol(s2, Decl(assignmentCompatWithConstructSignatures.ts, 24, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 11)) +>s2 : Symbol(s2, Decl(assignmentCompatWithConstructSignatures.ts, 24, 11)) a = a3; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 3)) ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures.ts, 25, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 11)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures.ts, 25, 11)) a = (x: string) => 1; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 11)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures.ts, 33, 5)) a = function (x: string) { return ''; } ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures.ts, 6, 11)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures.ts, 34, 14)) diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures.types index d804a060bf046..90caadee6839f 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures.types @@ -8,11 +8,11 @@ interface T { >x : number > : ^^^^^^ } -var t: T; +declare var t: T; >t : T > : ^ -var a: { new (x: number): void }; +declare var a: { new (x: number): void }; >a : new (x: number) => void > : ^^^^^ ^^ ^^^^^ >x : number @@ -39,11 +39,11 @@ interface S { >x : number > : ^^^^^^ } -var s: S; +declare var s: S; >s : S > : ^ -var a2: { new (x: number): string }; +declare var a2: { new (x: number): string }; >a2 : new (x: number) => string > : ^^^^^ ^^ ^^^^^ >x : number @@ -86,11 +86,11 @@ interface S2 { >x : string > : ^^^^^^ } -var s2: S2; +declare var s2: S2; >s2 : S2 > : ^^ -var a3: { (x: string): void }; +declare var a3: { (x: string): void }; >a3 : (x: string) => void > : ^ ^^ ^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.errors.txt b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.errors.txt index e9d188fca97ec..45b8a1966e59a 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.errors.txt @@ -30,8 +30,8 @@ assignmentCompatWithConstructSignatures2.ts(41,1): error TS2322: Type '(x: strin interface T { f: new (x: number) => void; } - var t: T; - var a: { f: new (x: number) => void }; + declare var t: T; + declare var a: { f: new (x: number) => void }; t = a; a = t; @@ -39,8 +39,8 @@ assignmentCompatWithConstructSignatures2.ts(41,1): error TS2322: Type '(x: strin interface S { f: new (x: number) => string; } - var s: S; - var a2: { f: new (x: number) => string }; + declare var s: S; + declare var a2: { f: new (x: number) => string }; t = s; t = a2; a = s; @@ -63,8 +63,8 @@ assignmentCompatWithConstructSignatures2.ts(41,1): error TS2322: Type '(x: strin interface S2 { f(x: string): void; } - var s2: S2; - var a3: { f(x: string): void }; + declare var s2: S2; + declare var a3: { f(x: string): void }; // these are errors t = s2; ~ diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.js b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.js index 68173d62aca87..137507b68a57b 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.js +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.js @@ -6,8 +6,8 @@ interface T { f: new (x: number) => void; } -var t: T; -var a: { f: new (x: number) => void }; +declare var t: T; +declare var a: { f: new (x: number) => void }; t = a; a = t; @@ -15,8 +15,8 @@ a = t; interface S { f: new (x: number) => string; } -var s: S; -var a2: { f: new (x: number) => string }; +declare var s: S; +declare var a2: { f: new (x: number) => string }; t = s; t = a2; a = s; @@ -31,8 +31,8 @@ a = function (x: number) { return ''; } interface S2 { f(x: string): void; } -var s2: S2; -var a3: { f(x: string): void }; +declare var s2: S2; +declare var a3: { f(x: string): void }; // these are errors t = s2; t = a3; @@ -46,12 +46,8 @@ 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; a = t; -var s; -var a2; t = s; t = a2; a = s; @@ -61,8 +57,6 @@ t = function () { return 1; }; t = function (x) { return ''; }; a = function () { return 1; }; a = function (x) { return ''; }; -var s2; -var a3; // these are errors t = s2; t = a3; diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.symbols b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.symbols index 5b543a5118a5d..a43f7aa6035ae 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.symbols +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.symbols @@ -10,22 +10,22 @@ interface T { >f : Symbol(T.f, Decl(assignmentCompatWithConstructSignatures2.ts, 2, 13)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures2.ts, 3, 12)) } -var t: T; ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 3)) +declare var t: T; +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 11)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures2.ts, 0, 0)) -var a: { f: new (x: number) => void }; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 3)) ->f : Symbol(f, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 8)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 17)) +declare var a: { f: new (x: number) => void }; +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 11)) +>f : Symbol(f, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 16)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 25)) t = a; ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 3)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 11)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 11)) a = t; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 3)) ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 11)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 11)) interface S { >S : Symbol(S, Decl(assignmentCompatWithConstructSignatures2.ts, 9, 6)) @@ -34,44 +34,44 @@ interface S { >f : Symbol(S.f, Decl(assignmentCompatWithConstructSignatures2.ts, 11, 13)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures2.ts, 12, 12)) } -var s: S; ->s : Symbol(s, Decl(assignmentCompatWithConstructSignatures2.ts, 14, 3)) +declare var s: S; +>s : Symbol(s, Decl(assignmentCompatWithConstructSignatures2.ts, 14, 11)) >S : Symbol(S, Decl(assignmentCompatWithConstructSignatures2.ts, 9, 6)) -var a2: { f: new (x: number) => string }; ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures2.ts, 15, 3)) ->f : Symbol(f, Decl(assignmentCompatWithConstructSignatures2.ts, 15, 9)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures2.ts, 15, 18)) +declare var a2: { f: new (x: number) => string }; +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures2.ts, 15, 11)) +>f : Symbol(f, Decl(assignmentCompatWithConstructSignatures2.ts, 15, 17)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures2.ts, 15, 26)) t = s; ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 3)) ->s : Symbol(s, Decl(assignmentCompatWithConstructSignatures2.ts, 14, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 11)) +>s : Symbol(s, Decl(assignmentCompatWithConstructSignatures2.ts, 14, 11)) t = a2; ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 3)) ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures2.ts, 15, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures2.ts, 15, 11)) a = s; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 3)) ->s : Symbol(s, Decl(assignmentCompatWithConstructSignatures2.ts, 14, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 11)) +>s : Symbol(s, Decl(assignmentCompatWithConstructSignatures2.ts, 14, 11)) a = a2; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 3)) ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures2.ts, 15, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures2.ts, 15, 11)) // errors t = () => 1; ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 11)) t = function (x: number) { return ''; } ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 11)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures2.ts, 23, 14)) a = () => 1; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 11)) a = function (x: number) { return ''; } ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 11)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures2.ts, 25, 14)) interface S2 { @@ -81,45 +81,45 @@ interface S2 { >f : Symbol(S2.f, Decl(assignmentCompatWithConstructSignatures2.ts, 27, 14)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures2.ts, 28, 6)) } -var s2: S2; ->s2 : Symbol(s2, Decl(assignmentCompatWithConstructSignatures2.ts, 30, 3)) +declare var s2: S2; +>s2 : Symbol(s2, Decl(assignmentCompatWithConstructSignatures2.ts, 30, 11)) >S2 : Symbol(S2, Decl(assignmentCompatWithConstructSignatures2.ts, 25, 39)) -var a3: { f(x: string): void }; ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures2.ts, 31, 3)) ->f : Symbol(f, Decl(assignmentCompatWithConstructSignatures2.ts, 31, 9)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures2.ts, 31, 12)) +declare var a3: { f(x: string): void }; +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures2.ts, 31, 11)) +>f : Symbol(f, Decl(assignmentCompatWithConstructSignatures2.ts, 31, 17)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures2.ts, 31, 20)) // these are errors t = s2; ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 3)) ->s2 : Symbol(s2, Decl(assignmentCompatWithConstructSignatures2.ts, 30, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 11)) +>s2 : Symbol(s2, Decl(assignmentCompatWithConstructSignatures2.ts, 30, 11)) t = a3; ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 3)) ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures2.ts, 31, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 11)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures2.ts, 31, 11)) t = (x: string) => 1; ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 11)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures2.ts, 35, 5)) t = function (x: string) { return ''; } ->t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 3)) +>t : Symbol(t, Decl(assignmentCompatWithConstructSignatures2.ts, 5, 11)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures2.ts, 36, 14)) a = s2; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 3)) ->s2 : Symbol(s2, Decl(assignmentCompatWithConstructSignatures2.ts, 30, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 11)) +>s2 : Symbol(s2, Decl(assignmentCompatWithConstructSignatures2.ts, 30, 11)) a = a3; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 3)) ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures2.ts, 31, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 11)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures2.ts, 31, 11)) a = (x: string) => 1; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 11)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures2.ts, 39, 5)) a = function (x: string) { return ''; } ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures2.ts, 6, 11)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures2.ts, 40, 14)) diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types index fe21cb472e55d..d60a719b76971 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types @@ -10,11 +10,11 @@ interface T { >x : number > : ^^^^^^ } -var t: T; +declare var t: T; >t : T > : ^ -var a: { f: new (x: number) => void }; +declare var a: { f: new (x: number) => void }; >a : { f: new (x: number) => void; } > : ^^^^^ ^^^ >f : new (x: number) => void @@ -45,11 +45,11 @@ interface S { >x : number > : ^^^^^^ } -var s: S; +declare var s: S; >s : S > : ^ -var a2: { f: new (x: number) => string }; +declare var a2: { f: new (x: number) => string }; >a2 : { f: new (x: number) => string; } > : ^^^^^ ^^^ >f : new (x: number) => string @@ -141,11 +141,11 @@ interface S2 { >x : string > : ^^^^^^ } -var s2: S2; +declare var s2: S2; >s2 : S2 > : ^^ -var a3: { f(x: string): void }; +declare var a3: { f(x: string): void }; >a3 : { f(x: string): void; } > : ^^^^ ^^ ^^^ ^^^ >f : (x: string) => void diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.errors.txt b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.errors.txt index ce2b75804682f..6155cd83cf730 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.errors.txt @@ -70,33 +70,33 @@ assignmentCompatWithConstructSignatures3.ts(86,1): error TS2322: Type 'new (x: { class Derived2 extends Derived { baz: string; } class OtherDerived extends Base { bing: string; } - var a: new (x: number) => number[]; - var a2: new (x: number) => string[]; - var a3: new (x: number) => void; - var a4: new (x: string, y: number) => string; - var a5: new (x: (arg: string) => number) => string; - var a6: new (x: (arg: Base) => Derived) => Base; - var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived; - var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; - var a9: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; - var a10: new (...x: Derived[]) => Derived; - var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; - var a12: new (x: Array, y: Array) => Array; - var a13: new (x: Array, y: Array) => Array; - var a14: new (x: { a: string; b: number }) => Object; - var a15: { + declare var a: new (x: number) => number[]; + declare var a2: new (x: number) => string[]; + declare var a3: new (x: number) => void; + declare var a4: new (x: string, y: number) => string; + declare var a5: new (x: (arg: string) => number) => string; + declare var a6: new (x: (arg: Base) => Derived) => Base; + declare var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived; + declare var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; + declare var a9: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; + declare var a10: new (...x: Derived[]) => Derived; + declare var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; + declare var a12: new (x: Array, y: Array) => Array; + declare var a13: new (x: Array, y: Array) => Array; + declare var a14: new (x: { a: string; b: number }) => Object; + declare var a15: { new (x: number): number[]; new (x: string): string[]; } - var a16: { + declare var a16: { new (x: T): number[]; new (x: U): number[]; } - var a17: { + declare var a17: { new (x: new (a: number) => number): number[]; new (x: new (a: string) => string): string[]; }; - var a18: { + declare var a18: { new (x: { new (a: number): number; new (a: string): string; @@ -107,39 +107,39 @@ assignmentCompatWithConstructSignatures3.ts(86,1): error TS2322: Type 'new (x: { }): any[]; } - var b: new (x: T) => T[]; + declare var b: new (x: T) => T[]; a = b; // ok b = a; // ok ~ !!! error TS2322: Type 'new (x: number) => number[]' is not assignable to type 'new (x: T) => T[]'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'number'. -!!! related TS2208 assignmentCompatWithConstructSignatures3.ts:45:13: This type parameter might need an `extends number` constraint. - var b2: new (x: T) => string[]; +!!! related TS2208 assignmentCompatWithConstructSignatures3.ts:45:21: This type parameter might need an `extends number` constraint. + declare var b2: new (x: T) => string[]; a2 = b2; // ok b2 = a2; // ok ~~ !!! error TS2322: Type 'new (x: number) => string[]' is not assignable to type 'new (x: T) => string[]'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'number'. -!!! related TS2208 assignmentCompatWithConstructSignatures3.ts:48:14: This type parameter might need an `extends number` constraint. - var b3: new (x: T) => T; +!!! related TS2208 assignmentCompatWithConstructSignatures3.ts:48:22: This type parameter might need an `extends number` constraint. + declare var b3: new (x: T) => T; a3 = b3; // ok b3 = a3; // ok ~~ !!! error TS2322: Type 'new (x: number) => void' is not assignable to type 'new (x: T) => T'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'number'. -!!! related TS2208 assignmentCompatWithConstructSignatures3.ts:51:14: This type parameter might need an `extends number` constraint. - var b4: new (x: T, y: U) => T; +!!! related TS2208 assignmentCompatWithConstructSignatures3.ts:51:22: This type parameter might need an `extends number` constraint. + declare var b4: new (x: T, y: U) => T; a4 = b4; // ok b4 = a4; // ok ~~ !!! error TS2322: Type 'new (x: string, y: number) => string' is not assignable to type 'new (x: T, y: U) => T'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'string'. -!!! related TS2208 assignmentCompatWithConstructSignatures3.ts:54:14: This type parameter might need an `extends string` constraint. - var b5: new (x: (arg: T) => U) => T; +!!! related TS2208 assignmentCompatWithConstructSignatures3.ts:54:22: This type parameter might need an `extends string` constraint. + declare var b5: new (x: (arg: T) => U) => T; a5 = b5; // ok b5 = a5; // ok ~~ @@ -148,7 +148,7 @@ assignmentCompatWithConstructSignatures3.ts(86,1): error TS2322: Type 'new (x: { !!! error TS2322: Types of parameters 'arg' and 'arg' are incompatible. !!! error TS2322: Type 'string' is not assignable to type 'T'. !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'string'. - var b6: new (x: (arg: T) => U) => T; + declare var b6: new (x: (arg: T) => U) => T; a6 = b6; // ok b6 = a6; // ok ~~ @@ -157,7 +157,7 @@ assignmentCompatWithConstructSignatures3.ts(86,1): error TS2322: Type 'new (x: { !!! error TS2322: Types of parameters 'arg' and 'arg' are incompatible. !!! error TS2322: Type 'Base' is not assignable to type 'T'. !!! error TS2322: 'Base' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Base'. - var b7: new (x: (arg: T) => U) => (r: T) => U; + declare var b7: new (x: (arg: T) => U) => (r: T) => U; a7 = b7; // ok b7 = a7; // ok ~~ @@ -166,7 +166,7 @@ assignmentCompatWithConstructSignatures3.ts(86,1): error TS2322: Type 'new (x: { !!! error TS2322: Types of parameters 'arg' and 'arg' are incompatible. !!! error TS2322: Type 'Base' is not assignable to type 'T'. !!! error TS2322: 'Base' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Base'. - var b8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; + declare var b8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; a8 = b8; // ok b8 = a8; // ok ~~ @@ -175,7 +175,7 @@ assignmentCompatWithConstructSignatures3.ts(86,1): error TS2322: Type 'new (x: { !!! error TS2322: Types of parameters 'arg' and 'arg' are incompatible. !!! error TS2322: Type 'Base' is not assignable to type 'T'. !!! error TS2322: 'Base' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Base'. - var b9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; + declare var b9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; a9 = b9; // ok b9 = a9; // ok ~~ @@ -184,14 +184,14 @@ assignmentCompatWithConstructSignatures3.ts(86,1): error TS2322: Type 'new (x: { !!! error TS2322: Types of parameters 'arg' and 'arg' are incompatible. !!! error TS2322: Type 'Base' is not assignable to type 'T'. !!! error TS2322: 'Base' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Base'. - var b10: new (...x: T[]) => T; + declare var b10: new (...x: T[]) => T; a10 = b10; // ok b10 = a10; // ok ~~~ !!! error TS2322: Type 'new (...x: Derived[]) => Derived' is not assignable to type 'new (...x: T[]) => T'. !!! error TS2322: Type 'Derived' is not assignable to type 'T'. !!! error TS2322: 'Derived' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Derived'. - var b11: new (x: T, y: T) => T; + declare var b11: new (x: T, y: T) => T; a11 = b11; // ok b11 = a11; // ok ~~~ @@ -199,8 +199,8 @@ assignmentCompatWithConstructSignatures3.ts(86,1): error TS2322: Type 'new (x: { !!! error TS2322: Types of parameters 'y' and 'y' are incompatible. !!! error TS2322: Type 'T' is not assignable to type '{ foo: string; bar: string; }'. !!! error TS2322: Property 'bar' is missing in type 'Base' but required in type '{ foo: string; bar: string; }'. -!!! related TS2728 assignmentCompatWithConstructSignatures3.ts:18:53: 'bar' is declared here. - var b12: new >(x: Array, y: T) => Array; +!!! related TS2728 assignmentCompatWithConstructSignatures3.ts:18:61: 'bar' is declared here. + declare var b12: new >(x: Array, y: T) => Array; a12 = b12; // ok b12 = a12; // ok ~~~ @@ -209,14 +209,14 @@ assignmentCompatWithConstructSignatures3.ts(86,1): error TS2322: Type 'new (x: { !!! error TS2322: Type 'T' is not assignable to type 'Derived2[]'. !!! error TS2322: Type 'Base[]' is not assignable to type 'Derived2[]'. !!! error TS2322: Type 'Base' is missing the following properties from type 'Derived2': baz, bar - var b13: new >(x: Array, y: T) => T; + declare var b13: new >(x: Array, y: T) => T; a13 = b13; // ok b13 = a13; // ok ~~~ !!! error TS2322: Type 'new (x: Base[], y: Derived[]) => Derived[]' is not assignable to type 'new >(x: Base[], y: T) => T'. !!! error TS2322: Type 'Derived[]' is not assignable to type 'T'. !!! error TS2322: 'Derived[]' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Derived[]'. - var b14: new (x: { a: T; b: T }) => T; + declare var b14: new (x: { a: T; b: T }) => T; a14 = b14; // ok ~~~ !!! error TS2322: Type 'new (x: { a: T; b: T; }) => T' is not assignable to type 'new (x: { a: string; b: number; }) => Object'. @@ -231,17 +231,17 @@ assignmentCompatWithConstructSignatures3.ts(86,1): error TS2322: Type 'new (x: { !!! error TS2322: Type '{ a: T; b: T; }' is not assignable to type '{ a: string; b: number; }'. !!! error TS2322: Types of property 'a' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'string'. -!!! related TS2208 assignmentCompatWithConstructSignatures3.ts:84:15: This type parameter might need an `extends string` constraint. - var b15: new (x: T) => T[]; +!!! related TS2208 assignmentCompatWithConstructSignatures3.ts:84:23: This type parameter might need an `extends string` constraint. + declare var b15: new (x: T) => T[]; a15 = b15; // ok b15 = a15; // ok - var b16: new (x: T) => number[]; + declare var b16: new (x: T) => number[]; a16 = b16; // ok b16 = a16; // ok - var b17: new (x: new (a: T) => T) => T[]; // ok + declare var b17: new (x: new (a: T) => T) => T[]; // ok a17 = b17; // ok b17 = a17; // ok - var b18: new (x: new (a: T) => T) => T[]; + declare var b18: new (x: new (a: T) => T) => T[]; a18 = b18; // ok b18 = a18; // ok \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.js b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.js index c529a6599cd05..4e018ae363ac3 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.js +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.js @@ -8,33 +8,33 @@ class Derived extends Base { bar: string; } class Derived2 extends Derived { baz: string; } class OtherDerived extends Base { bing: string; } -var a: new (x: number) => number[]; -var a2: new (x: number) => string[]; -var a3: new (x: number) => void; -var a4: new (x: string, y: number) => string; -var a5: new (x: (arg: string) => number) => string; -var a6: new (x: (arg: Base) => Derived) => Base; -var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived; -var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; -var a9: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; -var a10: new (...x: Derived[]) => Derived; -var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; -var a12: new (x: Array, y: Array) => Array; -var a13: new (x: Array, y: Array) => Array; -var a14: new (x: { a: string; b: number }) => Object; -var a15: { +declare var a: new (x: number) => number[]; +declare var a2: new (x: number) => string[]; +declare var a3: new (x: number) => void; +declare var a4: new (x: string, y: number) => string; +declare var a5: new (x: (arg: string) => number) => string; +declare var a6: new (x: (arg: Base) => Derived) => Base; +declare var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived; +declare var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +declare var a9: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +declare var a10: new (...x: Derived[]) => Derived; +declare var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; +declare var a12: new (x: Array, y: Array) => Array; +declare var a13: new (x: Array, y: Array) => Array; +declare var a14: new (x: { a: string; b: number }) => Object; +declare var a15: { new (x: number): number[]; new (x: string): string[]; } -var a16: { +declare var a16: { new (x: T): number[]; new (x: U): number[]; } -var a17: { +declare var a17: { new (x: new (a: number) => number): number[]; new (x: new (a: string) => string): string[]; }; -var a18: { +declare var a18: { new (x: { new (a: number): number; new (a: string): string; @@ -45,58 +45,58 @@ var a18: { }): any[]; } -var b: new (x: T) => T[]; +declare var b: new (x: T) => T[]; a = b; // ok b = a; // ok -var b2: new (x: T) => string[]; +declare var b2: new (x: T) => string[]; a2 = b2; // ok b2 = a2; // ok -var b3: new (x: T) => T; +declare var b3: new (x: T) => T; a3 = b3; // ok b3 = a3; // ok -var b4: new (x: T, y: U) => T; +declare var b4: new (x: T, y: U) => T; a4 = b4; // ok b4 = a4; // ok -var b5: new (x: (arg: T) => U) => T; +declare var b5: new (x: (arg: T) => U) => T; a5 = b5; // ok b5 = a5; // ok -var b6: new (x: (arg: T) => U) => T; +declare var b6: new (x: (arg: T) => U) => T; a6 = b6; // ok b6 = a6; // ok -var b7: new (x: (arg: T) => U) => (r: T) => U; +declare var b7: new (x: (arg: T) => U) => (r: T) => U; a7 = b7; // ok b7 = a7; // ok -var b8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; +declare var b8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; a8 = b8; // ok b8 = a8; // ok -var b9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; +declare var b9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; a9 = b9; // ok b9 = a9; // ok -var b10: new (...x: T[]) => T; +declare var b10: new (...x: T[]) => T; a10 = b10; // ok b10 = a10; // ok -var b11: new (x: T, y: T) => T; +declare var b11: new (x: T, y: T) => T; a11 = b11; // ok b11 = a11; // ok -var b12: new >(x: Array, y: T) => Array; +declare var b12: new >(x: Array, y: T) => Array; a12 = b12; // ok b12 = a12; // ok -var b13: new >(x: Array, y: T) => T; +declare var b13: new >(x: Array, y: T) => T; a13 = b13; // ok b13 = a13; // ok -var b14: new (x: { a: T; b: T }) => T; +declare var b14: new (x: { a: T; b: T }) => T; a14 = b14; // ok b14 = a14; // ok -var b15: new (x: T) => T[]; +declare var b15: new (x: T) => T[]; a15 = b15; // ok b15 = a15; // ok -var b16: new (x: T) => number[]; +declare var b16: new (x: T) => number[]; a16 = b16; // ok b16 = a16; // ok -var b17: new (x: new (a: T) => T) => T[]; // ok +declare var b17: new (x: new (a: T) => T) => T[]; // ok a17 = b17; // ok b17 = a17; // ok -var b18: new (x: new (a: T) => T) => T[]; +declare var b18: new (x: new (a: T) => T) => T[]; a18 = b18; // ok b18 = a18; // ok @@ -144,75 +144,39 @@ var OtherDerived = /** @class */ (function (_super) { } return OtherDerived; }(Base)); -var a; -var a2; -var a3; -var a4; -var a5; -var a6; -var a7; -var a8; -var a9; -var a10; -var a11; -var a12; -var a13; -var a14; -var a15; -var a16; -var a17; -var a18; -var b; a = b; // ok b = a; // ok -var b2; a2 = b2; // ok b2 = a2; // ok -var b3; a3 = b3; // ok b3 = a3; // ok -var b4; a4 = b4; // ok b4 = a4; // ok -var b5; a5 = b5; // ok b5 = a5; // ok -var b6; a6 = b6; // ok b6 = a6; // ok -var b7; a7 = b7; // ok b7 = a7; // ok -var b8; a8 = b8; // ok b8 = a8; // ok -var b9; a9 = b9; // ok b9 = a9; // ok -var b10; a10 = b10; // ok b10 = a10; // ok -var b11; a11 = b11; // ok b11 = a11; // ok -var b12; a12 = b12; // ok b12 = a12; // ok -var b13; a13 = b13; // ok b13 = a13; // ok -var b14; a14 = b14; // ok b14 = a14; // ok -var b15; a15 = b15; // ok b15 = a15; // ok -var b16; a16 = b16; // ok b16 = a16; // ok -var b17; // ok a17 = b17; // ok b17 = a17; // ok -var b18; a18 = b18; // ok b18 = a18; // ok diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.symbols b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.symbols index ce07bd3084659..df21bb936122c 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.symbols +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.symbols @@ -22,120 +22,120 @@ class OtherDerived extends Base { bing: string; } >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) >bing : Symbol(OtherDerived.bing, Decl(assignmentCompatWithConstructSignatures3.ts, 5, 33)) -var a: new (x: number) => number[]; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 7, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 7, 12)) - -var a2: new (x: number) => string[]; ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures3.ts, 8, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 8, 13)) - -var a3: new (x: number) => void; ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures3.ts, 9, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 9, 13)) - -var a4: new (x: string, y: number) => string; ->a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignatures3.ts, 10, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 10, 13)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 10, 23)) - -var a5: new (x: (arg: string) => number) => string; ->a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignatures3.ts, 11, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 11, 13)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 11, 17)) - -var a6: new (x: (arg: Base) => Derived) => Base; ->a6 : Symbol(a6, Decl(assignmentCompatWithConstructSignatures3.ts, 12, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 12, 13)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 12, 17)) +declare var a: new (x: number) => number[]; +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 7, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 7, 20)) + +declare var a2: new (x: number) => string[]; +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures3.ts, 8, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 8, 21)) + +declare var a3: new (x: number) => void; +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures3.ts, 9, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 9, 21)) + +declare var a4: new (x: string, y: number) => string; +>a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignatures3.ts, 10, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 10, 21)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 10, 31)) + +declare var a5: new (x: (arg: string) => number) => string; +>a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignatures3.ts, 11, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 11, 21)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 11, 25)) + +declare var a6: new (x: (arg: Base) => Derived) => Base; +>a6 : Symbol(a6, Decl(assignmentCompatWithConstructSignatures3.ts, 12, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 12, 21)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 12, 25)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) -var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived; ->a7 : Symbol(a7, Decl(assignmentCompatWithConstructSignatures3.ts, 13, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 13, 13)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 13, 17)) +declare var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived; +>a7 : Symbol(a7, Decl(assignmentCompatWithConstructSignatures3.ts, 13, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 13, 21)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 13, 25)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) ->r : Symbol(r, Decl(assignmentCompatWithConstructSignatures3.ts, 13, 44)) +>r : Symbol(r, Decl(assignmentCompatWithConstructSignatures3.ts, 13, 52)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) -var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a8 : Symbol(a8, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 13)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 17)) +declare var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +>a8 : Symbol(a8, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 21)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 25)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 39)) ->arg2 : Symbol(arg2, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 44)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 47)) +>arg2 : Symbol(arg2, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 52)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) ->r : Symbol(r, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 72)) +>r : Symbol(r, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 80)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) -var a9: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a9 : Symbol(a9, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 13)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 17)) +declare var a9: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +>a9 : Symbol(a9, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 21)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 25)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 39)) ->arg2 : Symbol(arg2, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 44)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 47)) +>arg2 : Symbol(arg2, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 52)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) ->r : Symbol(r, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 72)) +>r : Symbol(r, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 80)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) -var a10: new (...x: Derived[]) => Derived; ->a10 : Symbol(a10, Decl(assignmentCompatWithConstructSignatures3.ts, 16, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 16, 14)) +declare var a10: new (...x: Derived[]) => Derived; +>a10 : Symbol(a10, Decl(assignmentCompatWithConstructSignatures3.ts, 16, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 16, 22)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) -var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 14)) ->foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 18)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 33)) ->foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 38)) ->bar : Symbol(bar, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 51)) +declare var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; +>a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 22)) +>foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 26)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 41)) +>foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 46)) +>bar : Symbol(bar, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 59)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) -var a12: new (x: Array, y: Array) => Array; ->a12 : Symbol(a12, Decl(assignmentCompatWithConstructSignatures3.ts, 18, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 18, 14)) +declare var a12: new (x: Array, y: Array) => Array; +>a12 : Symbol(a12, Decl(assignmentCompatWithConstructSignatures3.ts, 18, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 18, 22)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 18, 29)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 18, 37)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithConstructSignatures3.ts, 3, 43)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) -var a13: new (x: Array, y: Array) => Array; ->a13 : Symbol(a13, Decl(assignmentCompatWithConstructSignatures3.ts, 19, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 19, 14)) +declare var a13: new (x: Array, y: Array) => Array; +>a13 : Symbol(a13, Decl(assignmentCompatWithConstructSignatures3.ts, 19, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 19, 22)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 19, 29)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 19, 37)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) -var a14: new (x: { a: string; b: number }) => Object; ->a14 : Symbol(a14, Decl(assignmentCompatWithConstructSignatures3.ts, 20, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 20, 14)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 20, 18)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures3.ts, 20, 29)) +declare var a14: new (x: { a: string; b: number }) => Object; +>a14 : Symbol(a14, Decl(assignmentCompatWithConstructSignatures3.ts, 20, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 20, 22)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 20, 26)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures3.ts, 20, 37)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) -var a15: { ->a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures3.ts, 21, 3)) +declare var a15: { +>a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures3.ts, 21, 11)) new (x: number): number[]; >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 22, 9)) @@ -143,8 +143,8 @@ var a15: { new (x: string): string[]; >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 23, 9)) } -var a16: { ->a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures3.ts, 25, 3)) +declare var a16: { +>a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures3.ts, 25, 11)) new (x: T): number[]; >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 26, 9)) @@ -158,8 +158,8 @@ var a16: { >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 27, 25)) >U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 27, 9)) } -var a17: { ->a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures3.ts, 29, 3)) +declare var a17: { +>a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures3.ts, 29, 11)) new (x: new (a: number) => number): number[]; >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 30, 9)) @@ -170,8 +170,8 @@ var a17: { >a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 31, 17)) }; -var a18: { ->a18 : Symbol(a18, Decl(assignmentCompatWithConstructSignatures3.ts, 33, 3)) +declare var a18: { +>a18 : Symbol(a18, Decl(assignmentCompatWithConstructSignatures3.ts, 33, 11)) new (x: { >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 34, 9)) @@ -197,335 +197,335 @@ var a18: { }): any[]; } -var b: new (x: T) => T[]; ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures3.ts, 44, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 44, 12)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 44, 15)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 44, 12)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 44, 12)) +declare var b: new (x: T) => T[]; +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures3.ts, 44, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 44, 20)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 44, 23)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 44, 20)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 44, 20)) a = b; // ok ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 7, 3)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures3.ts, 44, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 7, 11)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures3.ts, 44, 11)) b = a; // ok ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures3.ts, 44, 3)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 7, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures3.ts, 44, 11)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 7, 11)) -var b2: new (x: T) => string[]; ->b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures3.ts, 47, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 47, 13)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 47, 16)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 47, 13)) +declare var b2: new (x: T) => string[]; +>b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures3.ts, 47, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 47, 21)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 47, 24)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 47, 21)) a2 = b2; // ok ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures3.ts, 8, 3)) ->b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures3.ts, 47, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures3.ts, 8, 11)) +>b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures3.ts, 47, 11)) b2 = a2; // ok ->b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures3.ts, 47, 3)) ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures3.ts, 8, 3)) +>b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures3.ts, 47, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures3.ts, 8, 11)) -var b3: new (x: T) => T; ->b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures3.ts, 50, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 50, 13)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 50, 16)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 50, 13)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 50, 13)) +declare var b3: new (x: T) => T; +>b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures3.ts, 50, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 50, 21)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 50, 24)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 50, 21)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 50, 21)) a3 = b3; // ok ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures3.ts, 9, 3)) ->b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures3.ts, 50, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures3.ts, 9, 11)) +>b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures3.ts, 50, 11)) b3 = a3; // ok ->b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures3.ts, 50, 3)) ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures3.ts, 9, 3)) - -var b4: new (x: T, y: U) => T; ->b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 15)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 19)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 13)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 24)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 15)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 13)) +>b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures3.ts, 50, 11)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures3.ts, 9, 11)) + +declare var b4: new (x: T, y: U) => T; +>b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 23)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 27)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 21)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 32)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 23)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 21)) a4 = b4; // ok ->a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignatures3.ts, 10, 3)) ->b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignatures3.ts, 10, 11)) +>b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 11)) b4 = a4; // ok ->b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 3)) ->a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignatures3.ts, 10, 3)) - -var b5: new (x: (arg: T) => U) => T; ->b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 15)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 19)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 23)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 15)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 13)) +>b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures3.ts, 53, 11)) +>a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignatures3.ts, 10, 11)) + +declare var b5: new (x: (arg: T) => U) => T; +>b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 23)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 27)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 31)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 23)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 21)) a5 = b5; // ok ->a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignatures3.ts, 11, 3)) ->b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignatures3.ts, 11, 11)) +>b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 11)) b5 = a5; // ok ->b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 3)) ->a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignatures3.ts, 11, 3)) +>b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures3.ts, 56, 11)) +>a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignatures3.ts, 11, 11)) -var b6: new (x: (arg: T) => U) => T; ->b6 : Symbol(b6, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 13)) +declare var b6: new (x: (arg: T) => U) => T; +>b6 : Symbol(b6, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 21)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 28)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 36)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 48)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 52)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 28)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 13)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 56)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 60)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 36)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 21)) a6 = b6; // ok ->a6 : Symbol(a6, Decl(assignmentCompatWithConstructSignatures3.ts, 12, 3)) ->b6 : Symbol(b6, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 3)) +>a6 : Symbol(a6, Decl(assignmentCompatWithConstructSignatures3.ts, 12, 11)) +>b6 : Symbol(b6, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 11)) b6 = a6; // ok ->b6 : Symbol(b6, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 3)) ->a6 : Symbol(a6, Decl(assignmentCompatWithConstructSignatures3.ts, 12, 3)) +>b6 : Symbol(b6, Decl(assignmentCompatWithConstructSignatures3.ts, 59, 11)) +>a6 : Symbol(a6, Decl(assignmentCompatWithConstructSignatures3.ts, 12, 11)) -var b7: new (x: (arg: T) => U) => (r: T) => U; ->b7 : Symbol(b7, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 13)) +declare var b7: new (x: (arg: T) => U) => (r: T) => U; +>b7 : Symbol(b7, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 21)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 28)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 36)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 48)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 52)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 28)) ->r : Symbol(r, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 70)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 28)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 56)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 60)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 36)) +>r : Symbol(r, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 78)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 36)) a7 = b7; // ok ->a7 : Symbol(a7, Decl(assignmentCompatWithConstructSignatures3.ts, 13, 3)) ->b7 : Symbol(b7, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 3)) +>a7 : Symbol(a7, Decl(assignmentCompatWithConstructSignatures3.ts, 13, 11)) +>b7 : Symbol(b7, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 11)) b7 = a7; // ok ->b7 : Symbol(b7, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 3)) ->a7 : Symbol(a7, Decl(assignmentCompatWithConstructSignatures3.ts, 13, 3)) +>b7 : Symbol(b7, Decl(assignmentCompatWithConstructSignatures3.ts, 62, 11)) +>a7 : Symbol(a7, Decl(assignmentCompatWithConstructSignatures3.ts, 13, 11)) -var b8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; ->b8 : Symbol(b8, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 13)) +declare var b8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; +>b8 : Symbol(b8, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 21)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 28)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 36)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 48)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 52)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 28)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 65)) ->arg2 : Symbol(arg2, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 70)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 28)) ->r : Symbol(r, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 89)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 28)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 56)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 60)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 36)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 73)) +>arg2 : Symbol(arg2, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 78)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 36)) +>r : Symbol(r, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 97)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 36)) a8 = b8; // ok ->a8 : Symbol(a8, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 3)) ->b8 : Symbol(b8, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 3)) +>a8 : Symbol(a8, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 11)) +>b8 : Symbol(b8, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 11)) b8 = a8; // ok ->b8 : Symbol(b8, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 3)) ->a8 : Symbol(a8, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 3)) +>b8 : Symbol(b8, Decl(assignmentCompatWithConstructSignatures3.ts, 65, 11)) +>a8 : Symbol(a8, Decl(assignmentCompatWithConstructSignatures3.ts, 14, 11)) -var b9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; ->b9 : Symbol(b9, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 13)) +declare var b9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; +>b9 : Symbol(b9, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 21)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 28)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 36)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 48)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 52)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 28)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 65)) ->arg2 : Symbol(arg2, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 70)) ->foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 77)) ->bing : Symbol(bing, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 90)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 28)) ->r : Symbol(r, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 117)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 28)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 56)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 60)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 36)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 73)) +>arg2 : Symbol(arg2, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 78)) +>foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 85)) +>bing : Symbol(bing, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 98)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 36)) +>r : Symbol(r, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 125)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 36)) a9 = b9; // ok ->a9 : Symbol(a9, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 3)) ->b9 : Symbol(b9, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 3)) +>a9 : Symbol(a9, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 11)) +>b9 : Symbol(b9, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 11)) b9 = a9; // ok ->b9 : Symbol(b9, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 3)) ->a9 : Symbol(a9, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 3)) +>b9 : Symbol(b9, Decl(assignmentCompatWithConstructSignatures3.ts, 68, 11)) +>a9 : Symbol(a9, Decl(assignmentCompatWithConstructSignatures3.ts, 15, 11)) -var b10: new (...x: T[]) => T; ->b10 : Symbol(b10, Decl(assignmentCompatWithConstructSignatures3.ts, 71, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 71, 14)) +declare var b10: new (...x: T[]) => T; +>b10 : Symbol(b10, Decl(assignmentCompatWithConstructSignatures3.ts, 71, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 71, 22)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 71, 33)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 71, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 71, 14)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 71, 41)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 71, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 71, 22)) a10 = b10; // ok ->a10 : Symbol(a10, Decl(assignmentCompatWithConstructSignatures3.ts, 16, 3)) ->b10 : Symbol(b10, Decl(assignmentCompatWithConstructSignatures3.ts, 71, 3)) +>a10 : Symbol(a10, Decl(assignmentCompatWithConstructSignatures3.ts, 16, 11)) +>b10 : Symbol(b10, Decl(assignmentCompatWithConstructSignatures3.ts, 71, 11)) b10 = a10; // ok ->b10 : Symbol(b10, Decl(assignmentCompatWithConstructSignatures3.ts, 71, 3)) ->a10 : Symbol(a10, Decl(assignmentCompatWithConstructSignatures3.ts, 16, 3)) +>b10 : Symbol(b10, Decl(assignmentCompatWithConstructSignatures3.ts, 71, 11)) +>a10 : Symbol(a10, Decl(assignmentCompatWithConstructSignatures3.ts, 16, 11)) -var b11: new (x: T, y: T) => T; ->b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 14)) +declare var b11: new (x: T, y: T) => T; +>b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 22)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 30)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 14)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 35)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 14)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 38)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 22)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 43)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 22)) a11 = b11; // ok ->a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 3)) ->b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 3)) +>a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 11)) +>b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 11)) b11 = a11; // ok ->b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 3)) ->a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 3)) +>b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures3.ts, 74, 11)) +>a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures3.ts, 17, 11)) -var b12: new >(x: Array, y: T) => Array; ->b12 : Symbol(b12, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 14)) +declare var b12: new >(x: Array, y: T) => Array; +>b12 : Symbol(b12, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 22)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 37)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 45)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 52)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 14)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 60)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 22)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) a12 = b12; // ok ->a12 : Symbol(a12, Decl(assignmentCompatWithConstructSignatures3.ts, 18, 3)) ->b12 : Symbol(b12, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 3)) +>a12 : Symbol(a12, Decl(assignmentCompatWithConstructSignatures3.ts, 18, 11)) +>b12 : Symbol(b12, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 11)) b12 = a12; // ok ->b12 : Symbol(b12, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 3)) ->a12 : Symbol(a12, Decl(assignmentCompatWithConstructSignatures3.ts, 18, 3)) +>b12 : Symbol(b12, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 11)) +>a12 : Symbol(a12, Decl(assignmentCompatWithConstructSignatures3.ts, 18, 11)) -var b13: new >(x: Array, y: T) => T; ->b13 : Symbol(b13, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 14)) +declare var b13: new >(x: Array, y: T) => T; +>b13 : Symbol(b13, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 22)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 40)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 48)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 55)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 14)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 63)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 22)) a13 = b13; // ok ->a13 : Symbol(a13, Decl(assignmentCompatWithConstructSignatures3.ts, 19, 3)) ->b13 : Symbol(b13, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 3)) +>a13 : Symbol(a13, Decl(assignmentCompatWithConstructSignatures3.ts, 19, 11)) +>b13 : Symbol(b13, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 11)) b13 = a13; // ok ->b13 : Symbol(b13, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 3)) ->a13 : Symbol(a13, Decl(assignmentCompatWithConstructSignatures3.ts, 19, 3)) - -var b14: new (x: { a: T; b: T }) => T; ->b14 : Symbol(b14, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 14)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 17)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 21)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 14)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 27)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 14)) +>b13 : Symbol(b13, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 11)) +>a13 : Symbol(a13, Decl(assignmentCompatWithConstructSignatures3.ts, 19, 11)) + +declare var b14: new (x: { a: T; b: T }) => T; +>b14 : Symbol(b14, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 22)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 25)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 29)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 22)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 35)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 22)) a14 = b14; // ok ->a14 : Symbol(a14, Decl(assignmentCompatWithConstructSignatures3.ts, 20, 3)) ->b14 : Symbol(b14, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 3)) +>a14 : Symbol(a14, Decl(assignmentCompatWithConstructSignatures3.ts, 20, 11)) +>b14 : Symbol(b14, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 11)) b14 = a14; // ok ->b14 : Symbol(b14, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 3)) ->a14 : Symbol(a14, Decl(assignmentCompatWithConstructSignatures3.ts, 20, 3)) +>b14 : Symbol(b14, Decl(assignmentCompatWithConstructSignatures3.ts, 83, 11)) +>a14 : Symbol(a14, Decl(assignmentCompatWithConstructSignatures3.ts, 20, 11)) -var b15: new (x: T) => T[]; ->b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures3.ts, 86, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 86, 14)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 86, 17)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 86, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 86, 14)) +declare var b15: new (x: T) => T[]; +>b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures3.ts, 86, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 86, 22)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 86, 25)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 86, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 86, 22)) a15 = b15; // ok ->a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures3.ts, 21, 3)) ->b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures3.ts, 86, 3)) +>a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures3.ts, 21, 11)) +>b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures3.ts, 86, 11)) b15 = a15; // ok ->b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures3.ts, 86, 3)) ->a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures3.ts, 21, 3)) +>b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures3.ts, 86, 11)) +>a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures3.ts, 21, 11)) -var b16: new (x: T) => number[]; ->b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures3.ts, 89, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 89, 14)) +declare var b16: new (x: T) => number[]; +>b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures3.ts, 89, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 89, 22)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 89, 30)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 89, 14)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 89, 38)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 89, 22)) a16 = b16; // ok ->a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures3.ts, 25, 3)) ->b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures3.ts, 89, 3)) +>a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures3.ts, 25, 11)) +>b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures3.ts, 89, 11)) b16 = a16; // ok ->b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures3.ts, 89, 3)) ->a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures3.ts, 25, 3)) - -var b17: new (x: new (a: T) => T) => T[]; // ok ->b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 14)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 17)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 25)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 14)) +>b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures3.ts, 89, 11)) +>a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures3.ts, 25, 11)) + +declare var b17: new (x: new (a: T) => T) => T[]; // ok +>b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 22)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 25)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 33)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 22)) a17 = b17; // ok ->a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures3.ts, 29, 3)) ->b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 3)) +>a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures3.ts, 29, 11)) +>b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 11)) b17 = a17; // ok ->b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 3)) ->a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures3.ts, 29, 3)) - -var b18: new (x: new (a: T) => T) => T[]; ->b18 : Symbol(b18, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 14)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 17)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 25)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 14)) +>b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures3.ts, 92, 11)) +>a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures3.ts, 29, 11)) + +declare var b18: new (x: new (a: T) => T) => T[]; +>b18 : Symbol(b18, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 22)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 25)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 33)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 22)) a18 = b18; // ok ->a18 : Symbol(a18, Decl(assignmentCompatWithConstructSignatures3.ts, 33, 3)) ->b18 : Symbol(b18, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 3)) +>a18 : Symbol(a18, Decl(assignmentCompatWithConstructSignatures3.ts, 33, 11)) +>b18 : Symbol(b18, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 11)) b18 = a18; // ok ->b18 : Symbol(b18, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 3)) ->a18 : Symbol(a18, Decl(assignmentCompatWithConstructSignatures3.ts, 33, 3)) +>b18 : Symbol(b18, Decl(assignmentCompatWithConstructSignatures3.ts, 95, 11)) +>a18 : Symbol(a18, Decl(assignmentCompatWithConstructSignatures3.ts, 33, 11)) diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types index db13d8160940d..b5050204c327f 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types @@ -33,25 +33,25 @@ class OtherDerived extends Base { bing: string; } >bing : string > : ^^^^^^ -var a: new (x: number) => number[]; +declare var a: new (x: number) => number[]; >a : new (x: number) => number[] > : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ -var a2: new (x: number) => string[]; +declare var a2: new (x: number) => string[]; >a2 : new (x: number) => string[] > : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ -var a3: new (x: number) => void; +declare var a3: new (x: number) => void; >a3 : new (x: number) => void > : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ -var a4: new (x: string, y: number) => string; +declare var a4: new (x: string, y: number) => string; >a4 : new (x: string, y: number) => string > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : string @@ -59,7 +59,7 @@ var a4: new (x: string, y: number) => string; >y : number > : ^^^^^^ -var a5: new (x: (arg: string) => number) => string; +declare var a5: new (x: (arg: string) => number) => string; >a5 : new (x: (arg: string) => number) => string > : ^^^^^ ^^ ^^^^^ >x : (arg: string) => number @@ -67,7 +67,7 @@ var a5: new (x: (arg: string) => number) => string; >arg : string > : ^^^^^^ -var a6: new (x: (arg: Base) => Derived) => Base; +declare var a6: new (x: (arg: Base) => Derived) => Base; >a6 : new (x: (arg: Base) => Derived) => Base > : ^^^^^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -75,7 +75,7 @@ var a6: new (x: (arg: Base) => Derived) => Base; >arg : Base > : ^^^^ -var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived; +declare var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived; >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived > : ^^^^^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -85,7 +85,7 @@ var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived; >r : Base > : ^^^^ -var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +declare var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -99,7 +99,7 @@ var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) >r : Base > : ^^^^ -var a9: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +declare var a9: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a9 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -113,13 +113,13 @@ var a9: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) >r : Base > : ^^^^ -var a10: new (...x: Derived[]) => Derived; +declare var a10: new (...x: Derived[]) => Derived; >a10 : new (...x: Derived[]) => Derived > : ^^^^^^^^ ^^ ^^^^^ >x : Derived[] > : ^^^^^^^^^ -var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; +declare var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : { foo: string; } @@ -133,7 +133,7 @@ var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; >bar : string > : ^^^^^^ -var a12: new (x: Array, y: Array) => Array; +declare var a12: new (x: Array, y: Array) => Array; >a12 : new (x: Array, y: Array) => Array > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : Base[] @@ -141,7 +141,7 @@ var a12: new (x: Array, y: Array) => Array; >y : Derived2[] > : ^^^^^^^^^^ -var a13: new (x: Array, y: Array) => Array; +declare var a13: new (x: Array, y: Array) => Array; >a13 : new (x: Array, y: Array) => Array > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : Base[] @@ -149,7 +149,7 @@ var a13: new (x: Array, y: Array) => Array; >y : Derived[] > : ^^^^^^^^^ -var a14: new (x: { a: string; b: number }) => Object; +declare var a14: new (x: { a: string; b: number }) => Object; >a14 : new (x: { a: string; b: number; }) => Object > : ^^^^^ ^^ ^^^^^ >x : { a: string; b: number; } @@ -159,7 +159,7 @@ var a14: new (x: { a: string; b: number }) => Object; >b : number > : ^^^^^^ -var a15: { +declare var a15: { >a15 : { new (x: number): number[]; new (x: string): string[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -171,7 +171,7 @@ var a15: { >x : string > : ^^^^^^ } -var a16: { +declare var a16: { >a16 : { new (x: T): number[]; new (x: U): number[]; } > : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ @@ -183,7 +183,7 @@ var a16: { >x : U > : ^ } -var a17: { +declare var a17: { >a17 : { new (x: new (a: number) => number): number[]; new (x: new (a: string) => string): string[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -200,7 +200,7 @@ var a17: { > : ^^^^^^ }; -var a18: { +declare var a18: { >a18 : { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -232,7 +232,7 @@ var a18: { }): any[]; } -var b: new (x: T) => T[]; +declare var b: new (x: T) => T[]; >b : new (x: T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -254,7 +254,7 @@ b = a; // ok >a : new (x: number) => number[] > : ^^^^^ ^^ ^^^^^ -var b2: new (x: T) => string[]; +declare var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -276,7 +276,7 @@ b2 = a2; // ok >a2 : new (x: number) => string[] > : ^^^^^ ^^ ^^^^^ -var b3: new (x: T) => T; +declare var b3: new (x: T) => T; >b3 : new (x: T) => T > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -298,7 +298,7 @@ b3 = a3; // ok >a3 : new (x: number) => void > : ^^^^^ ^^ ^^^^^ -var b4: new (x: T, y: U) => T; +declare var b4: new (x: T, y: U) => T; >b4 : new (x: T, y: U) => T > : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -322,7 +322,7 @@ b4 = a4; // ok >a4 : new (x: string, y: number) => string > : ^^^^^ ^^ ^^ ^^ ^^^^^ -var b5: new (x: (arg: T) => U) => T; +declare var b5: new (x: (arg: T) => U) => T; >b5 : new (x: (arg: T) => U) => T > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -346,7 +346,7 @@ b5 = a5; // ok >a5 : new (x: (arg: string) => number) => string > : ^^^^^ ^^ ^^^^^ -var b6: new (x: (arg: T) => U) => T; +declare var b6: new (x: (arg: T) => U) => T; >b6 : new (x: (arg: T) => U) => T > : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -370,7 +370,7 @@ b6 = a6; // ok >a6 : new (x: (arg: Base) => Derived) => Base > : ^^^^^ ^^ ^^^^^ -var b7: new (x: (arg: T) => U) => (r: T) => U; +declare var b7: new (x: (arg: T) => U) => (r: T) => U; >b7 : new (x: (arg: T) => U) => (r: T) => U > : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -396,7 +396,7 @@ b7 = a7; // ok >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived > : ^^^^^ ^^ ^^^^^ -var b8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; +declare var b8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; >b8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U > : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -426,7 +426,7 @@ b8 = a8; // ok >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^^^^^ ^^ ^^ ^^ ^^^^^ -var b9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; +declare var b9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; >b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U > : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -460,7 +460,7 @@ b9 = a9; // ok >a9 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^^^^^ ^^ ^^ ^^ ^^^^^ -var b10: new (...x: T[]) => T; +declare var b10: new (...x: T[]) => T; >b10 : new (...x: T[]) => T > : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] @@ -482,7 +482,7 @@ b10 = a10; // ok >a10 : new (...x: Derived[]) => Derived > : ^^^^^^^^ ^^ ^^^^^ -var b11: new (x: T, y: T) => T; +declare var b11: new (x: T, y: T) => T; >b11 : new (x: T, y: T) => T > : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -506,7 +506,7 @@ b11 = a11; // ok >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^^^^^ ^^ ^^ ^^ ^^^^^ -var b12: new >(x: Array, y: T) => Array; +declare var b12: new >(x: Array, y: T) => Array; >b12 : new >(x: Array, y: T) => Array > : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] @@ -530,7 +530,7 @@ b12 = a12; // ok >a12 : new (x: Array, y: Array) => Array > : ^^^^^ ^^ ^^ ^^ ^^^^^ -var b13: new >(x: Array, y: T) => T; +declare var b13: new >(x: Array, y: T) => T; >b13 : new >(x: Array, y: T) => T > : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] @@ -554,7 +554,7 @@ b13 = a13; // ok >a13 : new (x: Array, y: Array) => Array > : ^^^^^ ^^ ^^ ^^ ^^^^^ -var b14: new (x: { a: T; b: T }) => T; +declare var b14: new (x: { a: T; b: T }) => T; >b14 : new (x: { a: T; b: T; }) => T > : ^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -580,7 +580,7 @@ b14 = a14; // ok >a14 : new (x: { a: string; b: number; }) => Object > : ^^^^^ ^^ ^^^^^ -var b15: new (x: T) => T[]; +declare var b15: new (x: T) => T[]; >b15 : new (x: T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -602,7 +602,7 @@ b15 = a15; // ok >a15 : { new (x: number): number[]; new (x: string): string[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ -var b16: new (x: T) => number[]; +declare var b16: new (x: T) => number[]; >b16 : new (x: T) => number[] > : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T @@ -624,7 +624,7 @@ b16 = a16; // ok >a16 : { new (x: T): number[]; new (x: U): number[]; } > : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ -var b17: new (x: new (a: T) => T) => T[]; // ok +declare var b17: new (x: new (a: T) => T) => T[]; // ok >b17 : new (x: new (a: T) => T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : new (a: T) => T @@ -648,7 +648,7 @@ b17 = a17; // ok >a17 : { new (x: new (a: number) => number): number[]; new (x: new (a: string) => string): string[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ -var b18: new (x: new (a: T) => T) => T[]; +declare var b18: new (x: new (a: T) => T) => T[]; >b18 : new (x: new (a: T) => T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : new (a: T) => T diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.errors.txt b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.errors.txt index 92b02dd683491..ed38e53db46ea 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.errors.txt @@ -90,18 +90,18 @@ assignmentCompatWithConstructSignatures4.ts(96,9): error TS2322: Type 'new (x namespace WithNonGenericSignaturesInBaseType { // target type with non-generic call signatures - var a2: new (x: number) => string[]; - var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived2; - var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; - var a10: new (...x: Base[]) => Base; - var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; - var a12: new (x: Array, y: Array) => Array; - var a14: { + declare var a2: new (x: number) => string[]; + declare var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived2; + declare var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; + declare var a10: new (...x: Base[]) => Base; + declare var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; + declare var a12: new (x: Array, y: Array) => Array; + declare var a14: { new (x: number): number[]; new (x: string): string[]; }; - var a15: new (x: { a: string; b: number }) => number; - var a16: { + declare var a15: new (x: { a: string; b: number }) => number; + declare var a16: { new (x: { new (a: number): number; new (a?: number): number; @@ -111,7 +111,7 @@ assignmentCompatWithConstructSignatures4.ts(96,9): error TS2322: Type 'new (x new (a?: boolean): boolean; }): boolean[]; }; - var a17: { + declare var a17: { new (x: { new (a: T): T; new (a: T): T; @@ -122,16 +122,16 @@ assignmentCompatWithConstructSignatures4.ts(96,9): error TS2322: Type 'new (x }): any[]; }; - var b2: new (x: T) => U[]; + declare var b2: new (x: T) => U[]; a2 = b2; // ok b2 = a2; // ok ~~ !!! error TS2322: Type 'new (x: number) => string[]' is not assignable to type 'new (x: T) => U[]'. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'number'. -!!! related TS2208 assignmentCompatWithConstructSignatures4.ts:43:22: This type parameter might need an `extends number` constraint. +!!! related TS2208 assignmentCompatWithConstructSignatures4.ts:43:30: This type parameter might need an `extends number` constraint. - var b7: new (x: (arg: T) => U) => (r: T) => V; + declare var b7: new (x: (arg: T) => U) => (r: T) => V; a7 = b7; // ok b7 = a7; // ok ~~ @@ -141,7 +141,7 @@ assignmentCompatWithConstructSignatures4.ts(96,9): error TS2322: Type 'new (x !!! error TS2322: Type 'Base' is not assignable to type 'T'. !!! error TS2322: 'Base' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Base'. - var b8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; + declare var b8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; a8 = b8; // error, type mismatch ~~ !!! error TS2322: Type 'new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U' is not assignable to type 'new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived'. @@ -159,7 +159,7 @@ assignmentCompatWithConstructSignatures4.ts(96,9): error TS2322: Type 'new (x !!! error TS2322: 'Base' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Base'. - var b10: new (...x: T[]) => T; + declare var b10: new (...x: T[]) => T; a10 = b10; // ok b10 = a10; // ok ~~~ @@ -167,7 +167,7 @@ assignmentCompatWithConstructSignatures4.ts(96,9): error TS2322: Type 'new (x !!! error TS2322: Type 'Base' is not assignable to type 'T'. !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'Base'. - var b11: new (x: T, y: T) => T; + declare var b11: new (x: T, y: T) => T; a11 = b11; // ok b11 = a11; // ok ~~~ @@ -175,7 +175,7 @@ assignmentCompatWithConstructSignatures4.ts(96,9): error TS2322: Type 'new (x !!! error TS2322: Type 'Base' is not assignable to type 'T'. !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'Base'. - var b12: new >(x: Array, y: Array) => T; + declare var b12: new >(x: Array, y: Array) => T; a12 = b12; // ok b12 = a12; // ok ~~~ @@ -183,7 +183,7 @@ assignmentCompatWithConstructSignatures4.ts(96,9): error TS2322: Type 'new (x !!! error TS2322: Type 'Derived[]' is not assignable to type 'T'. !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'Derived[]'. - var b15: new (x: { a: T; b: T }) => T; + declare var b15: new (x: { a: T; b: T }) => T; a15 = b15; // ok ~~~ !!! error TS2322: Type 'new (x: { a: T; b: T; }) => T' is not assignable to type 'new (x: { a: string; b: number; }) => number'. @@ -198,9 +198,9 @@ assignmentCompatWithConstructSignatures4.ts(96,9): error TS2322: Type 'new (x !!! error TS2322: Type '{ a: T; b: T; }' is not assignable to type '{ a: string; b: number; }'. !!! error TS2322: Types of property 'a' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'string'. -!!! related TS2208 assignmentCompatWithConstructSignatures4.ts:68:23: This type parameter might need an `extends string` constraint. +!!! related TS2208 assignmentCompatWithConstructSignatures4.ts:68:31: This type parameter might need an `extends string` constraint. - var b15a: new (x: { a: T; b: T }) => number; + declare var b15a: new (x: { a: T; b: T }) => number; a15 = b15a; // ok ~~~ !!! error TS2322: Type 'new (x: { a: T; b: T; }) => number' is not assignable to type 'new (x: { a: string; b: number; }) => number'. @@ -217,7 +217,7 @@ assignmentCompatWithConstructSignatures4.ts(96,9): error TS2322: Type 'new (x !!! error TS2322: Type 'T' is not assignable to type 'string'. !!! error TS2322: Type 'Base' is not assignable to type 'string'. - var b16: new (x: (a: T) => T) => T[]; + declare var b16: new (x: (a: T) => T) => T[]; a16 = b16; // error ~~~ !!! error TS2322: Type 'new (x: (a: T) => T) => T[]' is not assignable to type '{ new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }'. @@ -231,7 +231,7 @@ assignmentCompatWithConstructSignatures4.ts(96,9): error TS2322: Type 'new (x !!! error TS2322: Type '(a: any) => any' is not assignable to type '{ new (a: number): number; new (a?: number): number; }'. !!! error TS2322: Type '(a: any) => any' provides no match for the signature 'new (a: number): number'. - var b17: new (x: (a: T) => T) => any[]; + declare var b17: new (x: (a: T) => T) => any[]; a17 = b17; // error ~~~ !!! error TS2322: Type 'new (x: (a: T) => T) => any[]' is not assignable to type '{ new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }'. @@ -248,8 +248,8 @@ assignmentCompatWithConstructSignatures4.ts(96,9): error TS2322: Type 'new (x namespace WithGenericSignaturesInBaseType { // target type has generic call signature - var a2: new (x: T) => T[]; - var b2: new (x: T) => string[]; + declare var a2: new (x: T) => T[]; + declare var b2: new (x: T) => string[]; a2 = b2; // ok ~~ !!! error TS2322: Type 'new (x: T) => string[]' is not assignable to type 'new (x: T) => T[]'. @@ -261,17 +261,17 @@ assignmentCompatWithConstructSignatures4.ts(96,9): error TS2322: Type 'new (x !!! error TS2322: Type 'new (x: T) => T[]' is not assignable to type 'new (x: T) => string[]'. !!! error TS2322: Type 'T[]' is not assignable to type 'string[]'. !!! error TS2322: Type 'T' is not assignable to type 'string'. -!!! related TS2208 assignmentCompatWithConstructSignatures4.ts:88:22: This type parameter might need an `extends string` constraint. +!!! related TS2208 assignmentCompatWithConstructSignatures4.ts:88:30: This type parameter might need an `extends string` constraint. // target type has generic call signature - var a3: new (x: T) => string[]; - var b3: new (x: T) => T[]; + declare var a3: new (x: T) => string[]; + declare var b3: new (x: T) => T[]; a3 = b3; // ok ~~ !!! error TS2322: Type 'new (x: T) => T[]' is not assignable to type 'new (x: T) => string[]'. !!! error TS2322: Type 'T[]' is not assignable to type 'string[]'. !!! error TS2322: Type 'T' is not assignable to type 'string'. -!!! related TS2208 assignmentCompatWithConstructSignatures4.ts:93:22: This type parameter might need an `extends string` constraint. +!!! related TS2208 assignmentCompatWithConstructSignatures4.ts:93:30: This type parameter might need an `extends string` constraint. b3 = a3; // ok ~~ !!! error TS2322: Type 'new (x: T) => string[]' is not assignable to type 'new (x: T) => T[]'. diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.js b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.js index 4962d658c18ec..9e3b6c58fc9e3 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.js +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.js @@ -11,18 +11,18 @@ namespace Errors { namespace WithNonGenericSignaturesInBaseType { // target type with non-generic call signatures - var a2: new (x: number) => string[]; - var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived2; - var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; - var a10: new (...x: Base[]) => Base; - var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; - var a12: new (x: Array, y: Array) => Array; - var a14: { + declare var a2: new (x: number) => string[]; + declare var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived2; + declare var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; + declare var a10: new (...x: Base[]) => Base; + declare var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; + declare var a12: new (x: Array, y: Array) => Array; + declare var a14: { new (x: number): number[]; new (x: string): string[]; }; - var a15: new (x: { a: string; b: number }) => number; - var a16: { + declare var a15: new (x: { a: string; b: number }) => number; + declare var a16: { new (x: { new (a: number): number; new (a?: number): number; @@ -32,7 +32,7 @@ namespace Errors { new (a?: boolean): boolean; }): boolean[]; }; - var a17: { + declare var a17: { new (x: { new (a: T): T; new (a: T): T; @@ -43,58 +43,58 @@ namespace Errors { }): any[]; }; - var b2: new (x: T) => U[]; + declare var b2: new (x: T) => U[]; a2 = b2; // ok b2 = a2; // ok - var b7: new (x: (arg: T) => U) => (r: T) => V; + declare var b7: new (x: (arg: T) => U) => (r: T) => V; a7 = b7; // ok b7 = a7; // ok - var b8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; + declare var b8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; a8 = b8; // error, type mismatch b8 = a8; // error - var b10: new (...x: T[]) => T; + declare var b10: new (...x: T[]) => T; a10 = b10; // ok b10 = a10; // ok - var b11: new (x: T, y: T) => T; + declare var b11: new (x: T, y: T) => T; a11 = b11; // ok b11 = a11; // ok - var b12: new >(x: Array, y: Array) => T; + declare var b12: new >(x: Array, y: Array) => T; a12 = b12; // ok b12 = a12; // ok - var b15: new (x: { a: T; b: T }) => T; + declare var b15: new (x: { a: T; b: T }) => T; a15 = b15; // ok b15 = a15; // ok - var b15a: new (x: { a: T; b: T }) => number; + declare var b15a: new (x: { a: T; b: T }) => number; a15 = b15a; // ok b15a = a15; // ok - var b16: new (x: (a: T) => T) => T[]; + declare var b16: new (x: (a: T) => T) => T[]; a16 = b16; // error b16 = a16; // error - var b17: new (x: (a: T) => T) => any[]; + declare var b17: new (x: (a: T) => T) => any[]; a17 = b17; // error b17 = a17; // error } namespace WithGenericSignaturesInBaseType { // target type has generic call signature - var a2: new (x: T) => T[]; - var b2: new (x: T) => string[]; + declare var a2: new (x: T) => T[]; + declare var b2: new (x: T) => string[]; a2 = b2; // ok b2 = a2; // ok // target type has generic call signature - var a3: new (x: T) => string[]; - var b3: new (x: T) => T[]; + declare var a3: new (x: T) => string[]; + declare var b3: new (x: T) => T[]; a3 = b3; // ok b3 = a3; // ok } @@ -147,58 +147,31 @@ var Errors; }(Base)); var WithNonGenericSignaturesInBaseType; (function (WithNonGenericSignaturesInBaseType) { - // target type with non-generic call signatures - var a2; - var a7; - var a8; - var a10; - var a11; - var a12; - var a14; - var a15; - var a16; - var a17; - var b2; a2 = b2; // ok b2 = a2; // ok - var b7; a7 = b7; // ok b7 = a7; // ok - var b8; a8 = b8; // error, type mismatch b8 = a8; // error - var b10; a10 = b10; // ok b10 = a10; // ok - var b11; a11 = b11; // ok b11 = a11; // ok - var b12; a12 = b12; // ok b12 = a12; // ok - var b15; a15 = b15; // ok b15 = a15; // ok - var b15a; a15 = b15a; // ok b15a = a15; // ok - var b16; a16 = b16; // error b16 = a16; // error - var b17; a17 = b17; // error b17 = a17; // error })(WithNonGenericSignaturesInBaseType || (WithNonGenericSignaturesInBaseType = {})); var WithGenericSignaturesInBaseType; (function (WithGenericSignaturesInBaseType) { - // target type has generic call signature - var a2; - var b2; a2 = b2; // ok b2 = a2; // ok - // target type has generic call signature - var a3; - var b3; a3 = b3; // ok b3 = a3; // ok })(WithGenericSignaturesInBaseType || (WithGenericSignaturesInBaseType = {})); diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.symbols b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.symbols index 7e39e895ef646..8738577394051 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.symbols +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.symbols @@ -29,62 +29,62 @@ namespace Errors { >WithNonGenericSignaturesInBaseType : Symbol(WithNonGenericSignaturesInBaseType, Decl(assignmentCompatWithConstructSignatures4.ts, 6, 53)) // target type with non-generic call signatures - var a2: new (x: number) => string[]; ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures4.ts, 10, 11)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 10, 21)) - - var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived2; ->a7 : Symbol(a7, Decl(assignmentCompatWithConstructSignatures4.ts, 11, 11)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 11, 21)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures4.ts, 11, 25)) + declare var a2: new (x: number) => string[]; +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures4.ts, 10, 19)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 10, 29)) + + declare var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived2; +>a7 : Symbol(a7, Decl(assignmentCompatWithConstructSignatures4.ts, 11, 19)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 11, 29)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures4.ts, 11, 33)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 18)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures4.ts, 3, 31)) ->r : Symbol(r, Decl(assignmentCompatWithConstructSignatures4.ts, 11, 52)) +>r : Symbol(r, Decl(assignmentCompatWithConstructSignatures4.ts, 11, 60)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 18)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithConstructSignatures4.ts, 4, 47)) - var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; ->a8 : Symbol(a8, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 11)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 21)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 25)) + declare var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +>a8 : Symbol(a8, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 19)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 29)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 33)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 18)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures4.ts, 3, 31)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 47)) ->arg2 : Symbol(arg2, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 52)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 55)) +>arg2 : Symbol(arg2, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 60)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 18)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures4.ts, 3, 31)) ->r : Symbol(r, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 80)) +>r : Symbol(r, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 88)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 18)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures4.ts, 3, 31)) - var a10: new (...x: Base[]) => Base; ->a10 : Symbol(a10, Decl(assignmentCompatWithConstructSignatures4.ts, 13, 11)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 13, 22)) + declare var a10: new (...x: Base[]) => Base; +>a10 : Symbol(a10, Decl(assignmentCompatWithConstructSignatures4.ts, 13, 19)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 13, 30)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 18)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 18)) - var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 11)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 22)) ->foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 26)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 41)) ->foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 46)) ->bar : Symbol(bar, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 59)) + declare var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; +>a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 19)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 30)) +>foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 34)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 49)) +>foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 54)) +>bar : Symbol(bar, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 67)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 18)) - var a12: new (x: Array, y: Array) => Array; ->a12 : Symbol(a12, Decl(assignmentCompatWithConstructSignatures4.ts, 15, 11)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 15, 22)) + declare var a12: new (x: Array, y: Array) => Array; +>a12 : Symbol(a12, Decl(assignmentCompatWithConstructSignatures4.ts, 15, 19)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 15, 30)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 18)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures4.ts, 15, 37)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures4.ts, 15, 45)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithConstructSignatures4.ts, 4, 47)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures4.ts, 3, 31)) - var a14: { ->a14 : Symbol(a14, Decl(assignmentCompatWithConstructSignatures4.ts, 16, 11)) + declare var a14: { +>a14 : Symbol(a14, Decl(assignmentCompatWithConstructSignatures4.ts, 16, 19)) new (x: number): number[]; >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 17, 21)) @@ -93,14 +93,14 @@ namespace Errors { >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 18, 21)) }; - var a15: new (x: { a: string; b: number }) => number; ->a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 11)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 22)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 26)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 37)) + declare var a15: new (x: { a: string; b: number }) => number; +>a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 19)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 30)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 34)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 45)) - var a16: { ->a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures4.ts, 21, 11)) + declare var a16: { +>a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures4.ts, 21, 19)) new (x: { >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 22, 21)) @@ -123,8 +123,8 @@ namespace Errors { }): boolean[]; }; - var a17: { ->a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures4.ts, 31, 11)) + declare var a17: { +>a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures4.ts, 31, 19)) new (x: { >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 32, 21)) @@ -164,243 +164,243 @@ namespace Errors { }): any[]; }; - var b2: new (x: T) => U[]; ->b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 11)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 21)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 23)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 27)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 21)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 23)) + declare var b2: new (x: T) => U[]; +>b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 19)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 29)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 31)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 35)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 29)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 31)) a2 = b2; // ok ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures4.ts, 10, 11)) ->b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures4.ts, 10, 19)) +>b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 19)) b2 = a2; // ok ->b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 11)) ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures4.ts, 10, 11)) +>b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures4.ts, 42, 19)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures4.ts, 10, 19)) - var b7: new (x: (arg: T) => U) => (r: T) => V; ->b7 : Symbol(b7, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 11)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 21)) + declare var b7: new (x: (arg: T) => U) => (r: T) => V; +>b7 : Symbol(b7, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 19)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 29)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 18)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 36)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 44)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures4.ts, 3, 31)) ->V : Symbol(V, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 55)) +>V : Symbol(V, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 63)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithConstructSignatures4.ts, 4, 47)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 76)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 80)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 21)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 36)) ->r : Symbol(r, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 98)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 21)) ->V : Symbol(V, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 55)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 84)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 88)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 29)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 44)) +>r : Symbol(r, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 106)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 29)) +>V : Symbol(V, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 63)) a7 = b7; // ok ->a7 : Symbol(a7, Decl(assignmentCompatWithConstructSignatures4.ts, 11, 11)) ->b7 : Symbol(b7, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 11)) +>a7 : Symbol(a7, Decl(assignmentCompatWithConstructSignatures4.ts, 11, 19)) +>b7 : Symbol(b7, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 19)) b7 = a7; // ok ->b7 : Symbol(b7, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 11)) ->a7 : Symbol(a7, Decl(assignmentCompatWithConstructSignatures4.ts, 11, 11)) +>b7 : Symbol(b7, Decl(assignmentCompatWithConstructSignatures4.ts, 46, 19)) +>a7 : Symbol(a7, Decl(assignmentCompatWithConstructSignatures4.ts, 11, 19)) - var b8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; ->b8 : Symbol(b8, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 11)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 21)) + declare var b8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; +>b8 : Symbol(b8, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 19)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 29)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 18)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 36)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 44)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures4.ts, 3, 31)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 56)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 60)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 21)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 36)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 73)) ->arg2 : Symbol(arg2, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 78)) ->foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 85)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 36)) ->r : Symbol(r, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 112)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 21)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 36)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 64)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 68)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 29)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 44)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 81)) +>arg2 : Symbol(arg2, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 86)) +>foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 93)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 44)) +>r : Symbol(r, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 120)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 29)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 44)) a8 = b8; // error, type mismatch ->a8 : Symbol(a8, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 11)) ->b8 : Symbol(b8, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 11)) +>a8 : Symbol(a8, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 19)) +>b8 : Symbol(b8, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 19)) b8 = a8; // error ->b8 : Symbol(b8, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 11)) ->a8 : Symbol(a8, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 11)) +>b8 : Symbol(b8, Decl(assignmentCompatWithConstructSignatures4.ts, 50, 19)) +>a8 : Symbol(a8, Decl(assignmentCompatWithConstructSignatures4.ts, 12, 19)) - var b10: new (...x: T[]) => T; ->b10 : Symbol(b10, Decl(assignmentCompatWithConstructSignatures4.ts, 55, 11)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 55, 22)) + declare var b10: new (...x: T[]) => T; +>b10 : Symbol(b10, Decl(assignmentCompatWithConstructSignatures4.ts, 55, 19)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 55, 30)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures4.ts, 3, 31)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 55, 41)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 55, 22)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 55, 22)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 55, 49)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 55, 30)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 55, 30)) a10 = b10; // ok ->a10 : Symbol(a10, Decl(assignmentCompatWithConstructSignatures4.ts, 13, 11)) ->b10 : Symbol(b10, Decl(assignmentCompatWithConstructSignatures4.ts, 55, 11)) +>a10 : Symbol(a10, Decl(assignmentCompatWithConstructSignatures4.ts, 13, 19)) +>b10 : Symbol(b10, Decl(assignmentCompatWithConstructSignatures4.ts, 55, 19)) b10 = a10; // ok ->b10 : Symbol(b10, Decl(assignmentCompatWithConstructSignatures4.ts, 55, 11)) ->a10 : Symbol(a10, Decl(assignmentCompatWithConstructSignatures4.ts, 13, 11)) +>b10 : Symbol(b10, Decl(assignmentCompatWithConstructSignatures4.ts, 55, 19)) +>a10 : Symbol(a10, Decl(assignmentCompatWithConstructSignatures4.ts, 13, 19)) - var b11: new (x: T, y: T) => T; ->b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 11)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 22)) + declare var b11: new (x: T, y: T) => T; +>b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 19)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 30)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures4.ts, 3, 31)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 41)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 22)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 46)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 22)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 22)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 49)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 30)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 54)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 30)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 30)) a11 = b11; // ok ->a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 11)) ->b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 11)) +>a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 19)) +>b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 19)) b11 = a11; // ok ->b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 11)) ->a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 11)) +>b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures4.ts, 59, 19)) +>a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures4.ts, 14, 19)) - var b12: new >(x: Array, y: Array) => T; ->b12 : Symbol(b12, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 11)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 22)) + declare var b12: new >(x: Array, y: Array) => T; +>b12 : Symbol(b12, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 19)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 30)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithConstructSignatures4.ts, 4, 47)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 49)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 57)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 18)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 64)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 72)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 18)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 30)) a12 = b12; // ok ->a12 : Symbol(a12, Decl(assignmentCompatWithConstructSignatures4.ts, 15, 11)) ->b12 : Symbol(b12, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 11)) +>a12 : Symbol(a12, Decl(assignmentCompatWithConstructSignatures4.ts, 15, 19)) +>b12 : Symbol(b12, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 19)) b12 = a12; // ok ->b12 : Symbol(b12, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 11)) ->a12 : Symbol(a12, Decl(assignmentCompatWithConstructSignatures4.ts, 15, 11)) - - var b15: new (x: { a: T; b: T }) => T; ->b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 11)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 22)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 25)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 29)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 22)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 35)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 22)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 22)) +>b12 : Symbol(b12, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 19)) +>a12 : Symbol(a12, Decl(assignmentCompatWithConstructSignatures4.ts, 15, 19)) + + declare var b15: new (x: { a: T; b: T }) => T; +>b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 19)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 30)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 33)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 37)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 30)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 43)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 30)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 30)) a15 = b15; // ok ->a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 11)) ->b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 11)) +>a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 19)) +>b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 19)) b15 = a15; // ok ->b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 11)) ->a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 11)) +>b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures4.ts, 67, 19)) +>a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 19)) - var b15a: new (x: { a: T; b: T }) => number; ->b15a : Symbol(b15a, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 11)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 23)) + declare var b15a: new (x: { a: T; b: T }) => number; +>b15a : Symbol(b15a, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 19)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 31)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 18)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 39)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 43)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 23)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 49)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 23)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 47)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 51)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 31)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 57)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 31)) a15 = b15a; // ok ->a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 11)) ->b15a : Symbol(b15a, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 11)) +>a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 19)) +>b15a : Symbol(b15a, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 19)) b15a = a15; // ok ->b15a : Symbol(b15a, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 11)) ->a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 11)) - - var b16: new (x: (a: T) => T) => T[]; ->b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 11)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 22)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 25)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 29)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 22)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 22)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 22)) +>b15a : Symbol(b15a, Decl(assignmentCompatWithConstructSignatures4.ts, 71, 19)) +>a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures4.ts, 20, 19)) + + declare var b16: new (x: (a: T) => T) => T[]; +>b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 19)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 30)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 33)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 37)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 30)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 30)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 30)) a16 = b16; // error ->a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures4.ts, 21, 11)) ->b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 11)) +>a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures4.ts, 21, 19)) +>b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 19)) b16 = a16; // error ->b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 11)) ->a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures4.ts, 21, 11)) +>b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures4.ts, 75, 19)) +>a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures4.ts, 21, 19)) - var b17: new (x: (a: T) => T) => any[]; ->b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 11)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 22)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 25)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 29)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 22)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 22)) + declare var b17: new (x: (a: T) => T) => any[]; +>b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 19)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 30)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 33)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 37)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 30)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 30)) a17 = b17; // error ->a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures4.ts, 31, 11)) ->b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 11)) +>a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures4.ts, 31, 19)) +>b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 19)) b17 = a17; // error ->b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 11)) ->a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures4.ts, 31, 11)) +>b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures4.ts, 79, 19)) +>a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures4.ts, 31, 19)) } namespace WithGenericSignaturesInBaseType { >WithGenericSignaturesInBaseType : Symbol(WithGenericSignaturesInBaseType, Decl(assignmentCompatWithConstructSignatures4.ts, 82, 5)) // target type has generic call signature - var a2: new (x: T) => T[]; ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures4.ts, 86, 11)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 86, 21)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 86, 24)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 86, 21)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 86, 21)) - - var b2: new (x: T) => string[]; ->b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures4.ts, 87, 11)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 87, 21)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 87, 24)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 87, 21)) + declare var a2: new (x: T) => T[]; +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures4.ts, 86, 19)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 86, 29)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 86, 32)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 86, 29)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 86, 29)) + + declare var b2: new (x: T) => string[]; +>b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures4.ts, 87, 19)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 87, 29)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 87, 32)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 87, 29)) a2 = b2; // ok ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures4.ts, 86, 11)) ->b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures4.ts, 87, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures4.ts, 86, 19)) +>b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures4.ts, 87, 19)) b2 = a2; // ok ->b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures4.ts, 87, 11)) ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures4.ts, 86, 11)) +>b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures4.ts, 87, 19)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures4.ts, 86, 19)) // target type has generic call signature - var a3: new (x: T) => string[]; ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures4.ts, 92, 11)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 92, 21)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 92, 24)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 92, 21)) - - var b3: new (x: T) => T[]; ->b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures4.ts, 93, 11)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 93, 21)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 93, 24)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 93, 21)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 93, 21)) + declare var a3: new (x: T) => string[]; +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures4.ts, 92, 19)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 92, 29)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 92, 32)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 92, 29)) + + declare var b3: new (x: T) => T[]; +>b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures4.ts, 93, 19)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 93, 29)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 93, 32)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 93, 29)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 93, 29)) a3 = b3; // ok ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures4.ts, 92, 11)) ->b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures4.ts, 93, 11)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures4.ts, 92, 19)) +>b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures4.ts, 93, 19)) b3 = a3; // ok ->b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures4.ts, 93, 11)) ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures4.ts, 92, 11)) +>b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures4.ts, 93, 19)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures4.ts, 92, 19)) } } diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types index 965689ed74cab..8351243da4be8 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types @@ -42,13 +42,13 @@ namespace Errors { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // target type with non-generic call signatures - var a2: new (x: number) => string[]; + declare var a2: new (x: number) => string[]; >a2 : new (x: number) => string[] > : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ - var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived2; + declare var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived2; >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived2 > : ^^^^^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -58,7 +58,7 @@ namespace Errors { >r : Base > : ^^^^ - var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; + declare var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -72,13 +72,13 @@ namespace Errors { >r : Base > : ^^^^ - var a10: new (...x: Base[]) => Base; + declare var a10: new (...x: Base[]) => Base; >a10 : new (...x: Base[]) => Base > : ^^^^^^^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ - var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; + declare var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : { foo: string; } @@ -92,7 +92,7 @@ namespace Errors { >bar : string > : ^^^^^^ - var a12: new (x: Array, y: Array) => Array; + declare var a12: new (x: Array, y: Array) => Array; >a12 : new (x: Array, y: Array) => Array > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : Base[] @@ -100,7 +100,7 @@ namespace Errors { >y : Derived2[] > : ^^^^^^^^^^ - var a14: { + declare var a14: { >a14 : { new (x: number): number[]; new (x: string): string[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -113,7 +113,7 @@ namespace Errors { > : ^^^^^^ }; - var a15: new (x: { a: string; b: number }) => number; + declare var a15: new (x: { a: string; b: number }) => number; >a15 : new (x: { a: string; b: number; }) => number > : ^^^^^ ^^ ^^^^^ >x : { a: string; b: number; } @@ -123,7 +123,7 @@ namespace Errors { >b : number > : ^^^^^^ - var a16: { + declare var a16: { >a16 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -154,7 +154,7 @@ namespace Errors { }): boolean[]; }; - var a17: { + declare var a17: { >a17 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -186,7 +186,7 @@ namespace Errors { }): any[]; }; - var b2: new (x: T) => U[]; + declare var b2: new (x: T) => U[]; >b2 : new (x: T) => U[] > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -208,7 +208,7 @@ namespace Errors { >a2 : new (x: number) => string[] > : ^^^^^ ^^ ^^^^^ - var b7: new (x: (arg: T) => U) => (r: T) => V; + declare var b7: new (x: (arg: T) => U) => (r: T) => V; >b7 : new (x: (arg: T) => U) => (r: T) => V > : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -234,7 +234,7 @@ namespace Errors { >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived2 > : ^^^^^ ^^ ^^^^^ - var b8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; + declare var b8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; >b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U > : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -267,7 +267,7 @@ namespace Errors { > : ^^^^^ ^^ ^^ ^^ ^^^^^ - var b10: new (...x: T[]) => T; + declare var b10: new (...x: T[]) => T; >b10 : new (...x: T[]) => T > : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] @@ -289,7 +289,7 @@ namespace Errors { >a10 : new (...x: Base[]) => Base > : ^^^^^^^^ ^^ ^^^^^ - var b11: new (x: T, y: T) => T; + declare var b11: new (x: T, y: T) => T; >b11 : new (x: T, y: T) => T > : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -313,7 +313,7 @@ namespace Errors { >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^^^^^ ^^ ^^ ^^ ^^^^^ - var b12: new >(x: Array, y: Array) => T; + declare var b12: new >(x: Array, y: Array) => T; >b12 : new >(x: Array, y: Array) => T > : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] @@ -337,7 +337,7 @@ namespace Errors { >a12 : new (x: Array, y: Array) => Array > : ^^^^^ ^^ ^^ ^^ ^^^^^ - var b15: new (x: { a: T; b: T }) => T; + declare var b15: new (x: { a: T; b: T }) => T; >b15 : new (x: { a: T; b: T; }) => T > : ^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -363,7 +363,7 @@ namespace Errors { >a15 : new (x: { a: string; b: number; }) => number > : ^^^^^ ^^ ^^^^^ - var b15a: new (x: { a: T; b: T }) => number; + declare var b15a: new (x: { a: T; b: T }) => number; >b15a : new (x: { a: T; b: T; }) => number > : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -389,7 +389,7 @@ namespace Errors { >a15 : new (x: { a: string; b: number; }) => number > : ^^^^^ ^^ ^^^^^ - var b16: new (x: (a: T) => T) => T[]; + declare var b16: new (x: (a: T) => T) => T[]; >b16 : new (x: (a: T) => T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : (a: T) => T @@ -413,7 +413,7 @@ namespace Errors { >a16 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ - var b17: new (x: (a: T) => T) => any[]; + declare var b17: new (x: (a: T) => T) => any[]; >b17 : new (x: (a: T) => T) => any[] > : ^^^^^ ^^ ^^ ^^^^^ >x : (a: T) => T @@ -443,13 +443,13 @@ namespace Errors { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // target type has generic call signature - var a2: new (x: T) => T[]; + declare var a2: new (x: T) => T[]; >a2 : new (x: T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ - var b2: new (x: T) => string[]; + declare var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -472,13 +472,13 @@ namespace Errors { > : ^^^^^ ^^ ^^ ^^^^^ // target type has generic call signature - var a3: new (x: T) => string[]; + declare var a3: new (x: T) => string[]; >a3 : new (x: T) => string[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ - var b3: new (x: T) => T[]; + declare var b3: new (x: T) => T[]; >b3 : new (x: T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.errors.txt b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.errors.txt index adb0972082fdb..af7665124c159 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.errors.txt @@ -28,20 +28,20 @@ assignmentCompatWithConstructSignatures5.ts(58,1): error TS2322: Type 'new (x: T) => T[]; - var a2: new (x: T) => string[]; - var a3: new (x: T) => void; - var a4: new (x: T, y: U) => string; - var a5: new (x: new (arg: T) => U) => T; - var a6: new (x: new (arg: T) => Derived) => T; - var a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; - var a15: new (x: { a: T; b: T }) => T[]; - var a16: new (x: { a: T; b: T }) => T[]; - var a17: { + declare var a: new (x: T) => T[]; + declare var a2: new (x: T) => string[]; + declare var a3: new (x: T) => void; + declare var a4: new (x: T, y: U) => string; + declare var a5: new (x: new (arg: T) => U) => T; + declare var a6: new (x: new (arg: T) => Derived) => T; + declare var a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; + declare var a15: new (x: { a: T; b: T }) => T[]; + declare var a16: new (x: { a: T; b: T }) => T[]; + declare var a17: { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; }; - var a18: { + declare var a18: { new (x: { new (a: T): T; new (a: T): T; @@ -52,29 +52,29 @@ assignmentCompatWithConstructSignatures5.ts(58,1): error TS2322: Type 'new (x: T) => T[]; + declare var b: new (x: T) => T[]; a = b; // ok b = a; // ok - var b2: new (x: T) => string[]; + declare var b2: new (x: T) => string[]; a2 = b2; // ok b2 = a2; // ok - var b3: new (x: T) => T; + declare var b3: new (x: T) => T; a3 = b3; // ok b3 = a3; // ok ~~ !!! error TS2322: Type 'new (x: T) => void' is not assignable to type 'new (x: T) => T'. !!! error TS2322: Type 'void' is not assignable to type 'T'. !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'void'. - var b4: new (x: T, y: U) => string; + declare var b4: new (x: T, y: U) => string; a4 = b4; // ok b4 = a4; // ok - var b5: new (x: new (arg: T) => U) => T; + declare var b5: new (x: new (arg: T) => U) => T; a5 = b5; // ok b5 = a5; // ok - var b6: new (x: new (arg: T) => U) => T; + declare var b6: new (x: new (arg: T) => U) => T; a6 = b6; // ok b6 = a6; // ok - var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; + declare var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; a11 = b11; // ok b11 = a11; // ok ~~~ @@ -84,8 +84,8 @@ assignmentCompatWithConstructSignatures5.ts(58,1): error TS2322: Type 'new (x: { a: U; b: V; }) => U[]; +!!! related TS2208 assignmentCompatWithConstructSignatures5.ts:50:26: This type parameter might need an `extends T` constraint. + declare var b15: new (x: { a: U; b: V; }) => U[]; a15 = b15; // ok b15 = a15; // ok ~~~ @@ -95,8 +95,8 @@ assignmentCompatWithConstructSignatures5.ts(58,1): error TS2322: Type 'new (x: { a: T; b: T }) => T[]; +!!! related TS2208 assignmentCompatWithConstructSignatures5.ts:53:26: This type parameter might need an `extends U` constraint. + declare var b16: new (x: { a: T; b: T }) => T[]; a15 = b16; // ok b15 = a16; // ok ~~~ @@ -105,11 +105,11 @@ assignmentCompatWithConstructSignatures5.ts(58,1): error TS2322: Type 'new (x: new (a: T) => T) => T[]; +!!! related TS2208 assignmentCompatWithConstructSignatures5.ts:53:23: This type parameter might need an `extends Base` constraint. + declare var b17: new (x: new (a: T) => T) => T[]; a17 = b17; // ok b17 = a17; // ok - var b18: new (x: new (a: T) => T) => any[]; + declare var b18: new (x: new (a: T) => T) => any[]; a18 = b18; // ok b18 = a18; // ok \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.js b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.js index ccad983de027b..07460f736472f 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.js +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.js @@ -8,20 +8,20 @@ class Derived extends Base { bar: string; } class Derived2 extends Derived { baz: string; } class OtherDerived extends Base { bing: string; } -var a: new (x: T) => T[]; -var a2: new (x: T) => string[]; -var a3: new (x: T) => void; -var a4: new (x: T, y: U) => string; -var a5: new (x: new (arg: T) => U) => T; -var a6: new (x: new (arg: T) => Derived) => T; -var a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; -var a15: new (x: { a: T; b: T }) => T[]; -var a16: new (x: { a: T; b: T }) => T[]; -var a17: { +declare var a: new (x: T) => T[]; +declare var a2: new (x: T) => string[]; +declare var a3: new (x: T) => void; +declare var a4: new (x: T, y: U) => string; +declare var a5: new (x: new (arg: T) => U) => T; +declare var a6: new (x: new (arg: T) => Derived) => T; +declare var a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; +declare var a15: new (x: { a: T; b: T }) => T[]; +declare var a16: new (x: { a: T; b: T }) => T[]; +declare var a17: { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; }; -var a18: { +declare var a18: { new (x: { new (a: T): T; new (a: T): T; @@ -32,37 +32,37 @@ var a18: { }): any[]; }; -var b: new (x: T) => T[]; +declare var b: new (x: T) => T[]; a = b; // ok b = a; // ok -var b2: new (x: T) => string[]; +declare var b2: new (x: T) => string[]; a2 = b2; // ok b2 = a2; // ok -var b3: new (x: T) => T; +declare var b3: new (x: T) => T; a3 = b3; // ok b3 = a3; // ok -var b4: new (x: T, y: U) => string; +declare var b4: new (x: T, y: U) => string; a4 = b4; // ok b4 = a4; // ok -var b5: new (x: new (arg: T) => U) => T; +declare var b5: new (x: new (arg: T) => U) => T; a5 = b5; // ok b5 = a5; // ok -var b6: new (x: new (arg: T) => U) => T; +declare var b6: new (x: new (arg: T) => U) => T; a6 = b6; // ok b6 = a6; // ok -var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; +declare var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; a11 = b11; // ok b11 = a11; // ok -var b15: new (x: { a: U; b: V; }) => U[]; +declare var b15: new (x: { a: U; b: V; }) => U[]; a15 = b15; // ok b15 = a15; // ok -var b16: new (x: { a: T; b: T }) => T[]; +declare var b16: new (x: { a: T; b: T }) => T[]; a15 = b16; // ok b15 = a16; // ok -var b17: new (x: new (a: T) => T) => T[]; +declare var b17: new (x: new (a: T) => T) => T[]; a17 = b17; // ok b17 = a17; // ok -var b18: new (x: new (a: T) => T) => any[]; +declare var b18: new (x: new (a: T) => T) => any[]; a18 = b18; // ok b18 = a18; // ok @@ -110,47 +110,25 @@ var OtherDerived = /** @class */ (function (_super) { } return OtherDerived; }(Base)); -var a; -var a2; -var a3; -var a4; -var a5; -var a6; -var a11; -var a15; -var a16; -var a17; -var a18; -var b; a = b; // ok b = a; // ok -var b2; a2 = b2; // ok b2 = a2; // ok -var b3; a3 = b3; // ok b3 = a3; // ok -var b4; a4 = b4; // ok b4 = a4; // ok -var b5; a5 = b5; // ok b5 = a5; // ok -var b6; a6 = b6; // ok b6 = a6; // ok -var b11; a11 = b11; // ok b11 = a11; // ok -var b15; a15 = b15; // ok b15 = a15; // ok -var b16; a15 = b16; // ok b15 = a16; // ok -var b17; a17 = b17; // ok b17 = a17; // ok -var b18; a18 = b18; // ok b18 = a18; // ok diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.symbols b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.symbols index fd01679e6a986..f67a6f262820d 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.symbols +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.symbols @@ -22,90 +22,90 @@ class OtherDerived extends Base { bing: string; } >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures5.ts, 0, 0)) >bing : Symbol(OtherDerived.bing, Decl(assignmentCompatWithConstructSignatures5.ts, 5, 33)) -var a: new (x: T) => T[]; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 7, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 7, 12)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 7, 15)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 7, 12)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 7, 12)) - -var a2: new (x: T) => string[]; ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures5.ts, 8, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 8, 13)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 8, 16)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 8, 13)) - -var a3: new (x: T) => void; ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures5.ts, 9, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 9, 13)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 9, 16)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 9, 13)) - -var a4: new (x: T, y: U) => string; ->a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 15)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 19)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 13)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 24)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 15)) - -var a5: new (x: new (arg: T) => U) => T; ->a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 15)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 19)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 27)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 15)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 13)) - -var a6: new (x: new (arg: T) => Derived) => T; ->a6 : Symbol(a6, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 13)) +declare var a: new (x: T) => T[]; +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 7, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 7, 20)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 7, 23)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 7, 20)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 7, 20)) + +declare var a2: new (x: T) => string[]; +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures5.ts, 8, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 8, 21)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 8, 24)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 8, 21)) + +declare var a3: new (x: T) => void; +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures5.ts, 9, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 9, 21)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 9, 24)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 9, 21)) + +declare var a4: new (x: T, y: U) => string; +>a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 23)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 27)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 21)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 32)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 23)) + +declare var a5: new (x: new (arg: T) => U) => T; +>a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 23)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 27)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 35)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 23)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 21)) + +declare var a6: new (x: new (arg: T) => Derived) => T; +>a6 : Symbol(a6, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 21)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures5.ts, 0, 0)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 29)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 37)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 13)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 37)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 45)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 21)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures5.ts, 2, 27)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 13)) - -var a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; ->a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 14)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 17)) ->foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 21)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 14)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 31)) ->foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 36)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 14)) ->bar : Symbol(bar, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 44)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 14)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 21)) + +declare var a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; +>a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 22)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 25)) +>foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 29)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 22)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 39)) +>foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 44)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 22)) +>bar : Symbol(bar, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 52)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 22)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures5.ts, 0, 0)) -var a15: new (x: { a: T; b: T }) => T[]; ->a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 14)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 17)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 21)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 14)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 27)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 14)) - -var a16: new (x: { a: T; b: T }) => T[]; ->a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 14)) +declare var a15: new (x: { a: T; b: T }) => T[]; +>a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 22)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 25)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 29)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 22)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 35)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 22)) + +declare var a16: new (x: { a: T; b: T }) => T[]; +>a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 22)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures5.ts, 0, 0)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 30)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 34)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 14)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 40)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 14)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 38)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 42)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 22)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 48)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 22)) -var a17: { ->a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures5.ts, 16, 3)) +declare var a17: { +>a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures5.ts, 16, 11)) new (x: new (a: T) => T): T[]; >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 17, 9)) @@ -126,8 +126,8 @@ var a17: { >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 18, 9)) }; -var a18: { ->a18 : Symbol(a18, Decl(assignmentCompatWithConstructSignatures5.ts, 20, 3)) +declare var a18: { +>a18 : Symbol(a18, Decl(assignmentCompatWithConstructSignatures5.ts, 20, 11)) new (x: { >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 21, 9)) @@ -167,194 +167,194 @@ var a18: { }): any[]; }; -var b: new (x: T) => T[]; ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures5.ts, 31, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 31, 12)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 31, 15)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 31, 12)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 31, 12)) +declare var b: new (x: T) => T[]; +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures5.ts, 31, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 31, 20)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 31, 23)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 31, 20)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 31, 20)) a = b; // ok ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 7, 3)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures5.ts, 31, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 7, 11)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures5.ts, 31, 11)) b = a; // ok ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures5.ts, 31, 3)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 7, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures5.ts, 31, 11)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 7, 11)) -var b2: new (x: T) => string[]; ->b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures5.ts, 34, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 34, 13)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 34, 16)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 34, 13)) +declare var b2: new (x: T) => string[]; +>b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures5.ts, 34, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 34, 21)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 34, 24)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 34, 21)) a2 = b2; // ok ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures5.ts, 8, 3)) ->b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures5.ts, 34, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures5.ts, 8, 11)) +>b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures5.ts, 34, 11)) b2 = a2; // ok ->b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures5.ts, 34, 3)) ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures5.ts, 8, 3)) +>b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures5.ts, 34, 11)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignatures5.ts, 8, 11)) -var b3: new (x: T) => T; ->b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures5.ts, 37, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 37, 13)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 37, 16)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 37, 13)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 37, 13)) +declare var b3: new (x: T) => T; +>b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures5.ts, 37, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 37, 21)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 37, 24)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 37, 21)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 37, 21)) a3 = b3; // ok ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures5.ts, 9, 3)) ->b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures5.ts, 37, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures5.ts, 9, 11)) +>b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures5.ts, 37, 11)) b3 = a3; // ok ->b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures5.ts, 37, 3)) ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures5.ts, 9, 3)) - -var b4: new (x: T, y: U) => string; ->b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 15)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 19)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 13)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 24)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 15)) +>b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures5.ts, 37, 11)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignatures5.ts, 9, 11)) + +declare var b4: new (x: T, y: U) => string; +>b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 23)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 27)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 21)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 32)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 23)) a4 = b4; // ok ->a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 3)) ->b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 11)) +>b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 11)) b4 = a4; // ok ->b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 3)) ->a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 3)) - -var b5: new (x: new (arg: T) => U) => T; ->b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 15)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 19)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 27)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 15)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 13)) +>b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures5.ts, 40, 11)) +>a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignatures5.ts, 10, 11)) + +declare var b5: new (x: new (arg: T) => U) => T; +>b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 23)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 27)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 35)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 23)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 21)) a5 = b5; // ok ->a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 3)) ->b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 11)) +>b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 11)) b5 = a5; // ok ->b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 3)) ->a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 3)) +>b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures5.ts, 43, 11)) +>a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignatures5.ts, 11, 11)) -var b6: new (x: new (arg: T) => U) => T; ->b6 : Symbol(b6, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 13)) +declare var b6: new (x: new (arg: T) => U) => T; +>b6 : Symbol(b6, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 21)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures5.ts, 0, 0)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 28)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 36)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures5.ts, 2, 27)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 48)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 56)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 28)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 13)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 56)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 64)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 36)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 21)) a6 = b6; // ok ->a6 : Symbol(a6, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 3)) ->b6 : Symbol(b6, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 3)) +>a6 : Symbol(a6, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 11)) +>b6 : Symbol(b6, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 11)) b6 = a6; // ok ->b6 : Symbol(b6, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 3)) ->a6 : Symbol(a6, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 3)) - -var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; ->b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 14)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 16)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 20)) ->foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 24)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 14)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 34)) ->foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 39)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 16)) ->bar : Symbol(bar, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 47)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 16)) +>b6 : Symbol(b6, Decl(assignmentCompatWithConstructSignatures5.ts, 46, 11)) +>a6 : Symbol(a6, Decl(assignmentCompatWithConstructSignatures5.ts, 12, 11)) + +declare var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; +>b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 22)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 24)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 28)) +>foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 32)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 22)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 42)) +>foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 47)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 24)) +>bar : Symbol(bar, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 55)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 24)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures5.ts, 0, 0)) a11 = b11; // ok ->a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 3)) ->b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 3)) +>a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 11)) +>b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 11)) b11 = a11; // ok ->b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 3)) ->a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 3)) - -var b15: new (x: { a: U; b: V; }) => U[]; ->b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 3)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 14)) ->V : Symbol(V, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 16)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 20)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 24)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 14)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 30)) ->V : Symbol(V, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 16)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 14)) +>b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures5.ts, 49, 11)) +>a11 : Symbol(a11, Decl(assignmentCompatWithConstructSignatures5.ts, 13, 11)) + +declare var b15: new (x: { a: U; b: V; }) => U[]; +>b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 11)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 22)) +>V : Symbol(V, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 24)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 28)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 32)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 22)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 38)) +>V : Symbol(V, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 24)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 22)) a15 = b15; // ok ->a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 3)) ->b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 3)) +>a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 11)) +>b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 11)) b15 = a15; // ok ->b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 3)) ->a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 3)) - -var b16: new (x: { a: T; b: T }) => T[]; ->b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 14)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 17)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 21)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 14)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 27)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 14)) +>b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 11)) +>a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 11)) + +declare var b16: new (x: { a: T; b: T }) => T[]; +>b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 22)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 25)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 29)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 22)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 35)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 22)) a15 = b16; // ok ->a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 3)) ->b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 3)) +>a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures5.ts, 14, 11)) +>b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures5.ts, 55, 11)) b15 = a16; // ok ->b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 3)) ->a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 3)) - -var b17: new (x: new (a: T) => T) => T[]; ->b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 14)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 17)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 25)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 14)) +>b15 : Symbol(b15, Decl(assignmentCompatWithConstructSignatures5.ts, 52, 11)) +>a16 : Symbol(a16, Decl(assignmentCompatWithConstructSignatures5.ts, 15, 11)) + +declare var b17: new (x: new (a: T) => T) => T[]; +>b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 22)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 25)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 33)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 22)) a17 = b17; // ok ->a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures5.ts, 16, 3)) ->b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 3)) +>a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures5.ts, 16, 11)) +>b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 11)) b17 = a17; // ok ->b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 3)) ->a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures5.ts, 16, 3)) +>b17 : Symbol(b17, Decl(assignmentCompatWithConstructSignatures5.ts, 58, 11)) +>a17 : Symbol(a17, Decl(assignmentCompatWithConstructSignatures5.ts, 16, 11)) -var b18: new (x: new (a: T) => T) => any[]; ->b18 : Symbol(b18, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 22)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 25)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 22)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 22)) +declare var b18: new (x: new (a: T) => T) => any[]; +>b18 : Symbol(b18, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 30)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 33)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 30)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 30)) a18 = b18; // ok ->a18 : Symbol(a18, Decl(assignmentCompatWithConstructSignatures5.ts, 20, 3)) ->b18 : Symbol(b18, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 3)) +>a18 : Symbol(a18, Decl(assignmentCompatWithConstructSignatures5.ts, 20, 11)) +>b18 : Symbol(b18, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 11)) b18 = a18; // ok ->b18 : Symbol(b18, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 3)) ->a18 : Symbol(a18, Decl(assignmentCompatWithConstructSignatures5.ts, 20, 3)) +>b18 : Symbol(b18, Decl(assignmentCompatWithConstructSignatures5.ts, 61, 11)) +>a18 : Symbol(a18, Decl(assignmentCompatWithConstructSignatures5.ts, 20, 11)) diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types index 9d799dad6853c..2b0ddea033e96 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types @@ -33,25 +33,25 @@ class OtherDerived extends Base { bing: string; } >bing : string > : ^^^^^^ -var a: new (x: T) => T[]; +declare var a: new (x: T) => T[]; >a : new (x: T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ -var a2: new (x: T) => string[]; +declare var a2: new (x: T) => string[]; >a2 : new (x: T) => string[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ -var a3: new (x: T) => void; +declare var a3: new (x: T) => void; >a3 : new (x: T) => void > : ^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ -var a4: new (x: T, y: U) => string; +declare var a4: new (x: T, y: U) => string; >a4 : new (x: T, y: U) => string > : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -59,7 +59,7 @@ var a4: new (x: T, y: U) => string; >y : U > : ^ -var a5: new (x: new (arg: T) => U) => T; +declare var a5: new (x: new (arg: T) => U) => T; >a5 : new (x: new (arg: T) => U) => T > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : new (arg: T) => U @@ -67,7 +67,7 @@ var a5: new (x: new (arg: T) => U) => T; >arg : T > : ^ -var a6: new (x: new (arg: T) => Derived) => T; +declare var a6: new (x: new (arg: T) => Derived) => T; >a6 : new (x: new (arg: T) => Derived) => T > : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : new (arg: T) => Derived @@ -75,7 +75,7 @@ var a6: new (x: new (arg: T) => Derived) => T; >arg : T > : ^ -var a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; +declare var a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base > : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : { foo: T; } @@ -89,7 +89,7 @@ var a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; >bar : T > : ^ -var a15: new (x: { a: T; b: T }) => T[]; +declare var a15: new (x: { a: T; b: T }) => T[]; >a15 : new (x: { a: T; b: T; }) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -99,7 +99,7 @@ var a15: new (x: { a: T; b: T }) => T[]; >b : T > : ^ -var a16: new (x: { a: T; b: T }) => T[]; +declare var a16: new (x: { a: T; b: T }) => T[]; >a16 : new (x: { a: T; b: T; }) => T[] > : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -109,7 +109,7 @@ var a16: new (x: { a: T; b: T }) => T[]; >b : T > : ^ -var a17: { +declare var a17: { >a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } > : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ @@ -126,7 +126,7 @@ var a17: { > : ^ }; -var a18: { +declare var a18: { >a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -158,7 +158,7 @@ var a18: { }): any[]; }; -var b: new (x: T) => T[]; +declare var b: new (x: T) => T[]; >b : new (x: T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -180,7 +180,7 @@ b = a; // ok >a : new (x: T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ -var b2: new (x: T) => string[]; +declare var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -202,7 +202,7 @@ b2 = a2; // ok >a2 : new (x: T) => string[] > : ^^^^^ ^^ ^^ ^^^^^ -var b3: new (x: T) => T; +declare var b3: new (x: T) => T; >b3 : new (x: T) => T > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -224,7 +224,7 @@ b3 = a3; // ok >a3 : new (x: T) => void > : ^^^^^ ^^ ^^ ^^^^^ -var b4: new (x: T, y: U) => string; +declare var b4: new (x: T, y: U) => string; >b4 : new (x: T, y: U) => string > : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -248,7 +248,7 @@ b4 = a4; // ok >a4 : new (x: T, y: U) => string > : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ -var b5: new (x: new (arg: T) => U) => T; +declare var b5: new (x: new (arg: T) => U) => T; >b5 : new (x: new (arg: T) => U) => T > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : new (arg: T) => U @@ -272,7 +272,7 @@ b5 = a5; // ok >a5 : new (x: new (arg: T) => U) => T > : ^^^^^ ^^ ^^ ^^ ^^^^^ -var b6: new (x: new (arg: T) => U) => T; +declare var b6: new (x: new (arg: T) => U) => T; >b6 : new (x: new (arg: T) => U) => T > : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : new (arg: T) => U @@ -296,7 +296,7 @@ b6 = a6; // ok >a6 : new (x: new (arg: T) => Derived) => T > : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ -var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; +declare var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base > : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : { foo: T; } @@ -326,7 +326,7 @@ b11 = a11; // ok >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base > : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ -var b15: new (x: { a: U; b: V; }) => U[]; +declare var b15: new (x: { a: U; b: V; }) => U[]; >b15 : new (x: { a: U; b: V; }) => U[] > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : { a: U; b: V; } @@ -352,7 +352,7 @@ b15 = a15; // ok >a15 : new (x: { a: T; b: T; }) => T[] > : ^^^^^ ^^ ^^ ^^^^^ -var b16: new (x: { a: T; b: T }) => T[]; +declare var b16: new (x: { a: T; b: T }) => T[]; >b16 : new (x: { a: T; b: T; }) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -378,7 +378,7 @@ b15 = a16; // ok >a16 : new (x: { a: T; b: T; }) => T[] > : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ -var b17: new (x: new (a: T) => T) => T[]; +declare var b17: new (x: new (a: T) => T) => T[]; >b17 : new (x: new (a: T) => T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : new (a: T) => T @@ -402,7 +402,7 @@ b17 = a17; // ok >a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } > : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ -var b18: new (x: new (a: T) => T) => any[]; +declare var b18: new (x: new (a: T) => T) => any[]; >b18 : new (x: new (a: T) => T) => any[] > : ^^^^^ ^^ ^^^^^ >x : new (a: T) => T diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.errors.txt b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.errors.txt index 59034ca10b03f..15c7c64f04863 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.errors.txt @@ -34,28 +34,28 @@ assignmentCompatWithConstructSignatures6.ts(42,1): error TS2322: Type 'new (x: { a: T; b: T }) => T[]; } - var x: A; + declare var x: A; - var b: new (x: T) => T[]; + declare var b: new (x: T) => T[]; x.a = b; b = x.a; - var b2: new (x: T) => string[]; + declare var b2: new (x: T) => string[]; x.a2 = b2; b2 = x.a2; - var b3: new (x: T) => T; + declare var b3: new (x: T) => T; x.a3 = b3; b3 = x.a3; ~~ !!! error TS2322: Type 'new (x: T) => void' is not assignable to type 'new (x: T) => T'. !!! error TS2322: Type 'void' is not assignable to type 'T'. !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'void'. - var b4: new (x: T, y: U) => string; + declare var b4: new (x: T, y: U) => string; x.a4 = b4; b4 = x.a4; - var b5: new (x: (arg: T) => U) => T; + declare var b5: new (x: (arg: T) => U) => T; x.a5 = b5; b5 = x.a5; - var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; + declare var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; x.a11 = b11; b11 = x.a11; ~~~ @@ -65,8 +65,8 @@ assignmentCompatWithConstructSignatures6.ts(42,1): error TS2322: Type 'new (x: { a: T; b: T }) => T[]; +!!! related TS2208 assignmentCompatWithConstructSignatures6.ts:37:26: This type parameter might need an `extends T` constraint. + declare var b16: new (x: { a: T; b: T }) => T[]; x.a16 = b16; b16 = x.a16; ~~~ @@ -75,4 +75,4 @@ assignmentCompatWithConstructSignatures6.ts(42,1): error TS2322: Type 'new (x: { a: T; b: T }) => T[]; } -var x: A; +declare var x: A; -var b: new (x: T) => T[]; +declare var b: new (x: T) => T[]; x.a = b; b = x.a; -var b2: new (x: T) => string[]; +declare var b2: new (x: T) => string[]; x.a2 = b2; b2 = x.a2; -var b3: new (x: T) => T; +declare var b3: new (x: T) => T; x.a3 = b3; b3 = x.a3; -var b4: new (x: T, y: U) => string; +declare var b4: new (x: T, y: U) => string; x.a4 = b4; b4 = x.a4; -var b5: new (x: (arg: T) => U) => T; +declare var b5: new (x: (arg: T) => U) => T; x.a5 = b5; b5 = x.a5; -var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; +declare var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; x.a11 = b11; b11 = x.a11; -var b16: new (x: { a: T; b: T }) => T[]; +declare var b16: new (x: { a: T; b: T }) => T[]; x.a16 = b16; b16 = x.a16; @@ -87,25 +87,17 @@ var OtherDerived = /** @class */ (function (_super) { } return OtherDerived; }(Base)); -var x; -var b; x.a = b; b = x.a; -var b2; x.a2 = b2; b2 = x.a2; -var b3; x.a3 = b3; b3 = x.a3; -var b4; x.a4 = b4; b4 = x.a4; -var b5; x.a5 = b5; b5 = x.a5; -var b11; x.a11 = b11; b11 = x.a11; -var b16; x.a16 = b16; b16 = x.a16; diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.symbols b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.symbols index eaac9f33e7099..2a46dc531de2a 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.symbols +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.symbols @@ -108,154 +108,154 @@ interface A { >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 16, 14)) } -var x: A; ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 3)) +declare var x: A; +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 11)) >A : Symbol(A, Decl(assignmentCompatWithConstructSignatures6.ts, 5, 49)) -var b: new (x: T) => T[]; ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures6.ts, 21, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 21, 12)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 21, 15)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 21, 12)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 21, 12)) +declare var b: new (x: T) => T[]; +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures6.ts, 21, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 21, 20)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 21, 23)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 21, 20)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 21, 20)) x.a = b; >x.a : Symbol(A.a, Decl(assignmentCompatWithConstructSignatures6.ts, 7, 13)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 11)) >a : Symbol(A.a, Decl(assignmentCompatWithConstructSignatures6.ts, 7, 13)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures6.ts, 21, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures6.ts, 21, 11)) b = x.a; ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures6.ts, 21, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures6.ts, 21, 11)) >x.a : Symbol(A.a, Decl(assignmentCompatWithConstructSignatures6.ts, 7, 13)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 11)) >a : Symbol(A.a, Decl(assignmentCompatWithConstructSignatures6.ts, 7, 13)) -var b2: new (x: T) => string[]; ->b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures6.ts, 24, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 24, 13)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 24, 16)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 24, 13)) +declare var b2: new (x: T) => string[]; +>b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures6.ts, 24, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 24, 21)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 24, 24)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 24, 21)) x.a2 = b2; >x.a2 : Symbol(A.a2, Decl(assignmentCompatWithConstructSignatures6.ts, 8, 28)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 11)) >a2 : Symbol(A.a2, Decl(assignmentCompatWithConstructSignatures6.ts, 8, 28)) ->b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures6.ts, 24, 3)) +>b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures6.ts, 24, 11)) b2 = x.a2; ->b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures6.ts, 24, 3)) +>b2 : Symbol(b2, Decl(assignmentCompatWithConstructSignatures6.ts, 24, 11)) >x.a2 : Symbol(A.a2, Decl(assignmentCompatWithConstructSignatures6.ts, 8, 28)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 11)) >a2 : Symbol(A.a2, Decl(assignmentCompatWithConstructSignatures6.ts, 8, 28)) -var b3: new (x: T) => T; ->b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures6.ts, 27, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 27, 13)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 27, 16)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 27, 13)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 27, 13)) +declare var b3: new (x: T) => T; +>b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures6.ts, 27, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 27, 21)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 27, 24)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 27, 21)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 27, 21)) x.a3 = b3; >x.a3 : Symbol(A.a3, Decl(assignmentCompatWithConstructSignatures6.ts, 9, 34)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 11)) >a3 : Symbol(A.a3, Decl(assignmentCompatWithConstructSignatures6.ts, 9, 34)) ->b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures6.ts, 27, 3)) +>b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures6.ts, 27, 11)) b3 = x.a3; ->b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures6.ts, 27, 3)) +>b3 : Symbol(b3, Decl(assignmentCompatWithConstructSignatures6.ts, 27, 11)) >x.a3 : Symbol(A.a3, Decl(assignmentCompatWithConstructSignatures6.ts, 9, 34)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 11)) >a3 : Symbol(A.a3, Decl(assignmentCompatWithConstructSignatures6.ts, 9, 34)) -var b4: new (x: T, y: U) => string; ->b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 15)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 19)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 13)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 24)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 15)) +declare var b4: new (x: T, y: U) => string; +>b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 23)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 27)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 21)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 32)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 23)) x.a4 = b4; >x.a4 : Symbol(A.a4, Decl(assignmentCompatWithConstructSignatures6.ts, 10, 30)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 11)) >a4 : Symbol(A.a4, Decl(assignmentCompatWithConstructSignatures6.ts, 10, 30)) ->b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 3)) +>b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 11)) b4 = x.a4; ->b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 3)) +>b4 : Symbol(b4, Decl(assignmentCompatWithConstructSignatures6.ts, 30, 11)) >x.a4 : Symbol(A.a4, Decl(assignmentCompatWithConstructSignatures6.ts, 10, 30)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 11)) >a4 : Symbol(A.a4, Decl(assignmentCompatWithConstructSignatures6.ts, 10, 30)) -var b5: new (x: (arg: T) => U) => T; ->b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 15)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 19)) ->arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 23)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 13)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 15)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 13)) +declare var b5: new (x: (arg: T) => U) => T; +>b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 23)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 27)) +>arg : Symbol(arg, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 31)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 21)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 23)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 21)) x.a5 = b5; >x.a5 : Symbol(A.a5, Decl(assignmentCompatWithConstructSignatures6.ts, 11, 41)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 11)) >a5 : Symbol(A.a5, Decl(assignmentCompatWithConstructSignatures6.ts, 11, 41)) ->b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 3)) +>b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 11)) b5 = x.a5; ->b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 3)) +>b5 : Symbol(b5, Decl(assignmentCompatWithConstructSignatures6.ts, 33, 11)) >x.a5 : Symbol(A.a5, Decl(assignmentCompatWithConstructSignatures6.ts, 11, 41)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 11)) >a5 : Symbol(A.a5, Decl(assignmentCompatWithConstructSignatures6.ts, 11, 41)) -var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; ->b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 14)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 16)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 20)) ->foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 24)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 14)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 34)) ->foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 39)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 16)) ->bar : Symbol(bar, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 47)) ->U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 16)) +declare var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; +>b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 22)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 24)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 28)) +>foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 32)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 22)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 42)) +>foo : Symbol(foo, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 47)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 24)) +>bar : Symbol(bar, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 55)) +>U : Symbol(U, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 24)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures6.ts, 0, 0)) x.a11 = b11; >x.a11 : Symbol(A.a11, Decl(assignmentCompatWithConstructSignatures6.ts, 13, 58)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 11)) >a11 : Symbol(A.a11, Decl(assignmentCompatWithConstructSignatures6.ts, 13, 58)) ->b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 3)) +>b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 11)) b11 = x.a11; ->b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 3)) +>b11 : Symbol(b11, Decl(assignmentCompatWithConstructSignatures6.ts, 36, 11)) >x.a11 : Symbol(A.a11, Decl(assignmentCompatWithConstructSignatures6.ts, 13, 58)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 11)) >a11 : Symbol(A.a11, Decl(assignmentCompatWithConstructSignatures6.ts, 13, 58)) -var b16: new (x: { a: T; b: T }) => T[]; ->b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 3)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 14)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 17)) ->a : Symbol(a, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 21)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 14)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 27)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 14)) ->T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 14)) +declare var b16: new (x: { a: T; b: T }) => T[]; +>b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 11)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 22)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 25)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 29)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 22)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 35)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 22)) +>T : Symbol(T, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 22)) x.a16 = b16; >x.a16 : Symbol(A.a16, Decl(assignmentCompatWithConstructSignatures6.ts, 15, 43)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 11)) >a16 : Symbol(A.a16, Decl(assignmentCompatWithConstructSignatures6.ts, 15, 43)) ->b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 3)) +>b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 11)) b16 = x.a16; ->b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 3)) +>b16 : Symbol(b16, Decl(assignmentCompatWithConstructSignatures6.ts, 39, 11)) >x.a16 : Symbol(A.a16, Decl(assignmentCompatWithConstructSignatures6.ts, 15, 43)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 3)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignatures6.ts, 19, 11)) >a16 : Symbol(A.a16, Decl(assignmentCompatWithConstructSignatures6.ts, 15, 43)) diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types index 49e305196573a..67473dac8dcd0 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types @@ -111,11 +111,11 @@ interface A { > : ^ } -var x: A; +declare var x: A; >x : A > : ^ -var b: new (x: T) => T[]; +declare var b: new (x: T) => T[]; >b : new (x: T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -145,7 +145,7 @@ b = x.a; >a : new (x: T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ -var b2: new (x: T) => string[]; +declare var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -175,7 +175,7 @@ b2 = x.a2; >a2 : new (x: T) => string[] > : ^^^^^ ^^ ^^ ^^^^^ -var b3: new (x: T) => T; +declare var b3: new (x: T) => T; >b3 : new (x: T) => T > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -205,7 +205,7 @@ b3 = x.a3; >a3 : new (x: T) => void > : ^^^^^ ^^ ^^ ^^^^^ -var b4: new (x: T, y: U) => string; +declare var b4: new (x: T, y: U) => string; >b4 : new (x: T, y: U) => string > : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -237,7 +237,7 @@ b4 = x.a4; >a4 : new (x: T, y: U) => string > : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ -var b5: new (x: (arg: T) => U) => T; +declare var b5: new (x: (arg: T) => U) => T; >b5 : new (x: (arg: T) => U) => T > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -269,7 +269,7 @@ b5 = x.a5; >a5 : new (x: (arg: T) => U) => T > : ^^^^^ ^^ ^^ ^^ ^^^^^ -var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; +declare var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base > : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : { foo: T; } @@ -307,7 +307,7 @@ b11 = x.a11; >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base > : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ -var b16: new (x: { a: T; b: T }) => T[]; +declare var b16: new (x: { a: T; b: T }) => T[]; >b16 : new (x: { a: T; b: T; }) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.errors.txt b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.errors.txt index 61495aa38b9f2..1ce4f49f737b9 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.errors.txt @@ -21,9 +21,9 @@ assignmentCompatWithConstructSignaturesWithOptionalParameters.ts(35,5): error TS a5: new (x?: number, y?: number) => number; a6: new (x: number, y: number) => number; } - var b: Base; + declare var b: Base; - var a: new () => number; + declare var a: new () => number; a = b.a; // ok a = b.a2; // ok a = b.a3; // error @@ -40,7 +40,7 @@ assignmentCompatWithConstructSignaturesWithOptionalParameters.ts(35,5): error TS !!! error TS2322: Type 'new (x: number, y: number) => number' is not assignable to type 'new () => number'. !!! error TS2322: Target signature provides too few arguments. Expected 2 or more, but got 0. - var a2: new (x?: number) => number; + declare var a2: new (x?: number) => number; a2 = b.a; // ok a2 = b.a2; // ok a2 = b.a3; // ok @@ -51,7 +51,7 @@ assignmentCompatWithConstructSignaturesWithOptionalParameters.ts(35,5): error TS !!! error TS2322: Type 'new (x: number, y: number) => number' is not assignable to type 'new (x?: number) => number'. !!! error TS2322: Target signature provides too few arguments. Expected 2 or more, but got 1. - var a3: new (x: number) => number; + declare var a3: new (x: number) => number; a3 = b.a; // ok a3 = b.a2; // ok a3 = b.a3; // ok @@ -62,7 +62,7 @@ assignmentCompatWithConstructSignaturesWithOptionalParameters.ts(35,5): error TS !!! error TS2322: Type 'new (x: number, y: number) => number' is not assignable to type 'new (x: number) => number'. !!! error TS2322: Target signature provides too few arguments. Expected 2 or more, but got 1. - var a4: new (x: number, y?: number) => number; + declare var a4: new (x: number, y?: number) => number; a4 = b.a; // ok a4 = b.a2; // ok a4 = b.a3; // ok @@ -70,7 +70,7 @@ assignmentCompatWithConstructSignaturesWithOptionalParameters.ts(35,5): error TS a4 = b.a5; // ok a4 = b.a6; // ok - var a5: new (x?: number, y?: number) => number; + declare var a5: new (x?: number, y?: number) => number; a5 = b.a; // ok a5 = b.a2; // ok a5 = b.a3; // ok diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.js b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.js index 11b24bc4902be..c5c90eb13e1f4 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.js +++ b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.js @@ -11,9 +11,9 @@ interface Base { a5: new (x?: number, y?: number) => number; a6: new (x: number, y: number) => number; } -var b: Base; +declare var b: Base; -var a: new () => number; +declare var a: new () => number; a = b.a; // ok a = b.a2; // ok a = b.a3; // error @@ -21,7 +21,7 @@ var a: new () => number; a = b.a5; // ok a = b.a6; // error -var a2: new (x?: number) => number; +declare var a2: new (x?: number) => number; a2 = b.a; // ok a2 = b.a2; // ok a2 = b.a3; // ok @@ -29,7 +29,7 @@ var a2: new (x?: number) => number; a2 = b.a5; // ok a2 = b.a6; // error -var a3: new (x: number) => number; +declare var a3: new (x: number) => number; a3 = b.a; // ok a3 = b.a2; // ok a3 = b.a3; // ok @@ -37,7 +37,7 @@ var a3: new (x: number) => number; a3 = b.a5; // ok a3 = b.a6; // error -var a4: new (x: number, y?: number) => number; +declare var a4: new (x: number, y?: number) => number; a4 = b.a; // ok a4 = b.a2; // ok a4 = b.a3; // ok @@ -45,7 +45,7 @@ var a4: new (x: number, y?: number) => number; a4 = b.a5; // ok a4 = b.a6; // ok -var a5: new (x?: number, y?: number) => number; +declare var a5: new (x?: number, y?: number) => number; a5 = b.a; // ok a5 = b.a2; // ok a5 = b.a3; // ok @@ -56,36 +56,30 @@ 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 a = b.a2; // ok a = b.a3; // error a = b.a4; // error a = b.a5; // ok a = b.a6; // error -var a2; a2 = b.a; // ok a2 = b.a2; // ok a2 = b.a3; // ok a2 = b.a4; // ok a2 = b.a5; // ok a2 = b.a6; // error -var a3; a3 = b.a; // ok a3 = b.a2; // ok a3 = b.a3; // ok a3 = b.a4; // ok a3 = b.a5; // ok a3 = b.a6; // error -var a4; a4 = b.a; // ok a4 = b.a2; // ok a4 = b.a3; // ok a4 = b.a4; // ok a4 = b.a5; // ok a4 = b.a6; // ok -var a5; a5 = b.a; // ok a5 = b.a2; // ok a5 = b.a3; // ok diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.symbols b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.symbols index f560ccf052345..9b8508d870414 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.symbols +++ b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.symbols @@ -32,208 +32,208 @@ interface Base { >x : Symbol(x, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 8, 13)) >y : Symbol(y, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 8, 23)) } -var b: Base; ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +declare var b: Base; +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 0, 0)) -var a: new () => number; ->a : Symbol(a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 12, 3)) +declare var a: new () => number; +>a : Symbol(a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 12, 11)) a = b.a; // ok ->a : Symbol(a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 12, 11)) >b.a : Symbol(Base.a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 2, 16)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a : Symbol(Base.a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 2, 16)) a = b.a2; // ok ->a : Symbol(a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 12, 11)) >b.a2 : Symbol(Base.a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 3, 24)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a2 : Symbol(Base.a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 3, 24)) a = b.a3; // error ->a : Symbol(a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 12, 11)) >b.a3 : Symbol(Base.a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 4, 35)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a3 : Symbol(Base.a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 4, 35)) a = b.a4; // error ->a : Symbol(a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 12, 11)) >b.a4 : Symbol(Base.a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 5, 34)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a4 : Symbol(Base.a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 5, 34)) a = b.a5; // ok ->a : Symbol(a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 12, 11)) >b.a5 : Symbol(Base.a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 6, 46)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a5 : Symbol(Base.a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 6, 46)) a = b.a6; // error ->a : Symbol(a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 12, 11)) >b.a6 : Symbol(Base.a6, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 7, 47)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a6 : Symbol(Base.a6, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 7, 47)) -var a2: new (x?: number) => number; ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 13)) +declare var a2: new (x?: number) => number; +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 21)) a2 = b.a; // ok ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 11)) >b.a : Symbol(Base.a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 2, 16)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a : Symbol(Base.a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 2, 16)) a2 = b.a2; // ok ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 11)) >b.a2 : Symbol(Base.a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 3, 24)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a2 : Symbol(Base.a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 3, 24)) a2 = b.a3; // ok ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 11)) >b.a3 : Symbol(Base.a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 4, 35)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a3 : Symbol(Base.a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 4, 35)) a2 = b.a4; // ok ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 11)) >b.a4 : Symbol(Base.a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 5, 34)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a4 : Symbol(Base.a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 5, 34)) a2 = b.a5; // ok ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 11)) >b.a5 : Symbol(Base.a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 6, 46)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a5 : Symbol(Base.a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 6, 46)) a2 = b.a6; // error ->a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 3)) +>a2 : Symbol(a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 20, 11)) >b.a6 : Symbol(Base.a6, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 7, 47)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a6 : Symbol(Base.a6, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 7, 47)) -var a3: new (x: number) => number; ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 13)) +declare var a3: new (x: number) => number; +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 21)) a3 = b.a; // ok ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 11)) >b.a : Symbol(Base.a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 2, 16)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a : Symbol(Base.a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 2, 16)) a3 = b.a2; // ok ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 11)) >b.a2 : Symbol(Base.a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 3, 24)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a2 : Symbol(Base.a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 3, 24)) a3 = b.a3; // ok ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 11)) >b.a3 : Symbol(Base.a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 4, 35)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a3 : Symbol(Base.a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 4, 35)) a3 = b.a4; // ok ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 11)) >b.a4 : Symbol(Base.a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 5, 34)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a4 : Symbol(Base.a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 5, 34)) a3 = b.a5; // ok ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 11)) >b.a5 : Symbol(Base.a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 6, 46)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a5 : Symbol(Base.a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 6, 46)) a3 = b.a6; // error ->a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 3)) +>a3 : Symbol(a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 28, 11)) >b.a6 : Symbol(Base.a6, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 7, 47)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a6 : Symbol(Base.a6, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 7, 47)) -var a4: new (x: number, y?: number) => number; ->a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 13)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 23)) +declare var a4: new (x: number, y?: number) => number; +>a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 21)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 31)) a4 = b.a; // ok ->a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 11)) >b.a : Symbol(Base.a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 2, 16)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a : Symbol(Base.a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 2, 16)) a4 = b.a2; // ok ->a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 11)) >b.a2 : Symbol(Base.a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 3, 24)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a2 : Symbol(Base.a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 3, 24)) a4 = b.a3; // ok ->a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 11)) >b.a3 : Symbol(Base.a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 4, 35)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a3 : Symbol(Base.a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 4, 35)) a4 = b.a4; // ok ->a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 11)) >b.a4 : Symbol(Base.a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 5, 34)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a4 : Symbol(Base.a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 5, 34)) a4 = b.a5; // ok ->a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 11)) >b.a5 : Symbol(Base.a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 6, 46)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a5 : Symbol(Base.a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 6, 46)) a4 = b.a6; // ok ->a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 3)) +>a4 : Symbol(a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 36, 11)) >b.a6 : Symbol(Base.a6, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 7, 47)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a6 : Symbol(Base.a6, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 7, 47)) -var a5: new (x?: number, y?: number) => number; ->a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 3)) ->x : Symbol(x, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 13)) ->y : Symbol(y, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 24)) +declare var a5: new (x?: number, y?: number) => number; +>a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 11)) +>x : Symbol(x, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 21)) +>y : Symbol(y, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 32)) a5 = b.a; // ok ->a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 11)) >b.a : Symbol(Base.a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 2, 16)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a : Symbol(Base.a, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 2, 16)) a5 = b.a2; // ok ->a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 11)) >b.a2 : Symbol(Base.a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 3, 24)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a2 : Symbol(Base.a2, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 3, 24)) a5 = b.a3; // ok ->a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 11)) >b.a3 : Symbol(Base.a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 4, 35)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a3 : Symbol(Base.a3, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 4, 35)) a5 = b.a4; // ok ->a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 11)) >b.a4 : Symbol(Base.a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 5, 34)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a4 : Symbol(Base.a4, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 5, 34)) a5 = b.a5; // ok ->a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 11)) >b.a5 : Symbol(Base.a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 6, 46)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a5 : Symbol(Base.a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 6, 46)) a5 = b.a6; // ok ->a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 3)) +>a5 : Symbol(a5, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 44, 11)) >b.a6 : Symbol(Base.a6, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 7, 47)) ->b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 10, 11)) >a6 : Symbol(Base.a6, Decl(assignmentCompatWithConstructSignaturesWithOptionalParameters.ts, 7, 47)) diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types index aa239f7b8fc06..3db3af3d51d63 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types @@ -44,11 +44,11 @@ interface Base { >y : number > : ^^^^^^ } -var b: Base; +declare var b: Base; >b : Base > : ^^^^ -var a: new () => number; +declare var a: new () => number; >a : new () => number > : ^^^^^^^^^^ @@ -124,7 +124,7 @@ var a: new () => number; >a6 : new (x: number, y: number) => number > : ^^^^^ ^^ ^^ ^^ ^^^^^ -var a2: new (x?: number) => number; +declare var a2: new (x?: number) => number; >a2 : new (x?: number) => number > : ^^^^^ ^^^ ^^^^^ >x : number @@ -202,7 +202,7 @@ var a2: new (x?: number) => number; >a6 : new (x: number, y: number) => number > : ^^^^^ ^^ ^^ ^^ ^^^^^ -var a3: new (x: number) => number; +declare var a3: new (x: number) => number; >a3 : new (x: number) => number > : ^^^^^ ^^ ^^^^^ >x : number @@ -280,7 +280,7 @@ var a3: new (x: number) => number; >a6 : new (x: number, y: number) => number > : ^^^^^ ^^ ^^ ^^ ^^^^^ -var a4: new (x: number, y?: number) => number; +declare var a4: new (x: number, y?: number) => number; >a4 : new (x: number, y?: number) => number > : ^^^^^ ^^ ^^ ^^^ ^^^^^ >x : number @@ -360,7 +360,7 @@ var a4: new (x: number, y?: number) => number; >a6 : new (x: number, y: number) => number > : ^^^^^ ^^ ^^ ^^ ^^^^^ -var a5: new (x?: number, y?: number) => number; +declare var a5: new (x?: number, y?: number) => number; >a5 : new (x?: number, y?: number) => number > : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >x : number diff --git a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.errors.txt b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.errors.txt index 91f79a95e46a5..d843b963b6239 100644 --- a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.errors.txt @@ -131,7 +131,7 @@ assignmentCompatWithDiscriminatedUnion.ts(82,5): error TS2322: Type 'S' is not a } const a: Style2 = { type: "A", data: "whatevs" }; - let b: Style1; + declare let b: Style1; a.type; // "A" | "B" b.type; // "A" | "B" b = a; // should be assignable diff --git a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.js b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.js index 97fb4a9d2b1a6..5d9d2a9f8bea9 100644 --- a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.js +++ b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.js @@ -101,7 +101,7 @@ namespace GH14865 { } const a: Style2 = { type: "A", data: "whatevs" }; - let b: Style1; + declare let b: Style1; a.type; // "A" | "B" b.type; // "A" | "B" b = a; // should be assignable @@ -270,7 +270,6 @@ var Example5; var GH14865; (function (GH14865) { var a = { type: "A", data: "whatevs" }; - var b; a.type; // "A" | "B" b.type; // "A" | "B" b = a; // should be assignable diff --git a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.symbols b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.symbols index e52ea8f834394..721bba67afc5d 100644 --- a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.symbols +++ b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.symbols @@ -287,8 +287,8 @@ namespace GH14865 { >type : Symbol(type, Decl(assignmentCompatWithDiscriminatedUnion.ts, 99, 23)) >data : Symbol(data, Decl(assignmentCompatWithDiscriminatedUnion.ts, 99, 34)) - let b: Style1; ->b : Symbol(b, Decl(assignmentCompatWithDiscriminatedUnion.ts, 100, 7)) + declare let b: Style1; +>b : Symbol(b, Decl(assignmentCompatWithDiscriminatedUnion.ts, 100, 15)) >Style1 : Symbol(Style1, Decl(assignmentCompatWithDiscriminatedUnion.ts, 85, 19)) a.type; // "A" | "B" @@ -298,11 +298,11 @@ namespace GH14865 { b.type; // "A" | "B" >b.type : Symbol(type, Decl(assignmentCompatWithDiscriminatedUnion.ts, 86, 19), Decl(assignmentCompatWithDiscriminatedUnion.ts, 89, 9)) ->b : Symbol(b, Decl(assignmentCompatWithDiscriminatedUnion.ts, 100, 7)) +>b : Symbol(b, Decl(assignmentCompatWithDiscriminatedUnion.ts, 100, 15)) >type : Symbol(type, Decl(assignmentCompatWithDiscriminatedUnion.ts, 86, 19), Decl(assignmentCompatWithDiscriminatedUnion.ts, 89, 9)) b = a; // should be assignable ->b : Symbol(b, Decl(assignmentCompatWithDiscriminatedUnion.ts, 100, 7)) +>b : Symbol(b, Decl(assignmentCompatWithDiscriminatedUnion.ts, 100, 15)) >a : Symbol(a, Decl(assignmentCompatWithDiscriminatedUnion.ts, 99, 9)) } diff --git a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types index be6617683be64..4ae1e1ae3287b 100644 --- a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types +++ b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types @@ -384,7 +384,7 @@ namespace GH14865 { >"whatevs" : "whatevs" > : ^^^^^^^^^ - let b: Style1; + declare let b: Style1; >b : Style1 > : ^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.errors.txt b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.errors.txt index d58f698ce0cf5..3ae018672d280 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.errors.txt @@ -18,8 +18,8 @@ assignmentCompatWithGenericCallSignatures2.ts(16,1): error TS2322: Type 'A' is n (x: S, ...y: S[]): void } - var a: A; - var b: B; + declare var a: A; + declare var b: B; // Both errors a = b; diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.js b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.js index e93ea4401c5e3..d4481339ebd19 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.js +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.js @@ -11,8 +11,8 @@ interface B { (x: S, ...y: S[]): void } -var a: A; -var b: B; +declare var a: A; +declare var b: B; // Both errors a = b; @@ -21,8 +21,6 @@ b = a; //// [assignmentCompatWithGenericCallSignatures2.js] // some complex cases of assignment compat of generic signatures. No contextual signature instantiation -var a; -var b; // Both errors a = b; b = a; diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.symbols b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.symbols index 16fb5a70238c7..e67aebb493dbf 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.symbols +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.symbols @@ -25,20 +25,20 @@ interface B { >S : Symbol(S, Decl(assignmentCompatWithGenericCallSignatures2.ts, 7, 5)) } -var a: A; ->a : Symbol(a, Decl(assignmentCompatWithGenericCallSignatures2.ts, 10, 3)) +declare var a: A; +>a : Symbol(a, Decl(assignmentCompatWithGenericCallSignatures2.ts, 10, 11)) >A : Symbol(A, Decl(assignmentCompatWithGenericCallSignatures2.ts, 0, 0)) -var b: B; ->b : Symbol(b, Decl(assignmentCompatWithGenericCallSignatures2.ts, 11, 3)) +declare var b: B; +>b : Symbol(b, Decl(assignmentCompatWithGenericCallSignatures2.ts, 11, 11)) >B : Symbol(B, Decl(assignmentCompatWithGenericCallSignatures2.ts, 4, 1)) // Both errors a = b; ->a : Symbol(a, Decl(assignmentCompatWithGenericCallSignatures2.ts, 10, 3)) ->b : Symbol(b, Decl(assignmentCompatWithGenericCallSignatures2.ts, 11, 3)) +>a : Symbol(a, Decl(assignmentCompatWithGenericCallSignatures2.ts, 10, 11)) +>b : Symbol(b, Decl(assignmentCompatWithGenericCallSignatures2.ts, 11, 11)) b = a; ->b : Symbol(b, Decl(assignmentCompatWithGenericCallSignatures2.ts, 11, 3)) ->a : Symbol(a, Decl(assignmentCompatWithGenericCallSignatures2.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithGenericCallSignatures2.ts, 11, 11)) +>a : Symbol(a, Decl(assignmentCompatWithGenericCallSignatures2.ts, 10, 11)) diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.types index 798a261b13b87..a98a3e25b6d17 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.types @@ -19,11 +19,11 @@ interface B { > : ^^^ } -var a: A; +declare var a: A; >a : A > : ^ -var b: B; +declare var b: B; >b : B > : ^ diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.errors.txt b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.errors.txt index 2e17b5682e4ed..a7b9f446381f9 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.errors.txt @@ -13,8 +13,8 @@ assignmentCompatWithGenericCallSignatures4.ts(12,1): error TS2322: Type '>(z: T) => void - var y: >>(z: T) => void + declare var x: >(z: T) => void; + declare var y: >>(z: T) => void; // These both do not make sense as we would eventually be comparing I2 to I2>, and they are self referencing anyway x = y diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.js b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.js index 1e73ebd4aee51..f93dbf528e3fe 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.js +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.js @@ -7,8 +7,8 @@ interface I2 { p: T } -var x: >(z: T) => void -var y: >>(z: T) => void +declare var x: >(z: T) => void; +declare var y: >>(z: T) => void; // These both do not make sense as we would eventually be comparing I2 to I2>, and they are self referencing anyway x = y @@ -17,8 +17,6 @@ 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 x = y; y = x; diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.symbols b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.symbols index 73364359efb0c..18fc14a5b38b9 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.symbols +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.symbols @@ -12,29 +12,29 @@ interface I2 { >T : Symbol(T, Decl(assignmentCompatWithGenericCallSignatures4.ts, 2, 13)) } -var x: >(z: T) => void ->x : Symbol(x, Decl(assignmentCompatWithGenericCallSignatures4.ts, 6, 3)) ->T : Symbol(T, Decl(assignmentCompatWithGenericCallSignatures4.ts, 6, 8)) +declare var x: >(z: T) => void; +>x : Symbol(x, Decl(assignmentCompatWithGenericCallSignatures4.ts, 6, 11)) +>T : Symbol(T, Decl(assignmentCompatWithGenericCallSignatures4.ts, 6, 16)) >I2 : Symbol(I2, Decl(assignmentCompatWithGenericCallSignatures4.ts, 0, 0)) ->T : Symbol(T, Decl(assignmentCompatWithGenericCallSignatures4.ts, 6, 8)) ->z : Symbol(z, Decl(assignmentCompatWithGenericCallSignatures4.ts, 6, 25)) ->T : Symbol(T, Decl(assignmentCompatWithGenericCallSignatures4.ts, 6, 8)) +>T : Symbol(T, Decl(assignmentCompatWithGenericCallSignatures4.ts, 6, 16)) +>z : Symbol(z, Decl(assignmentCompatWithGenericCallSignatures4.ts, 6, 33)) +>T : Symbol(T, Decl(assignmentCompatWithGenericCallSignatures4.ts, 6, 16)) -var y: >>(z: T) => void ->y : Symbol(y, Decl(assignmentCompatWithGenericCallSignatures4.ts, 7, 3)) ->T : Symbol(T, Decl(assignmentCompatWithGenericCallSignatures4.ts, 7, 8)) +declare var y: >>(z: T) => void; +>y : Symbol(y, Decl(assignmentCompatWithGenericCallSignatures4.ts, 7, 11)) +>T : Symbol(T, Decl(assignmentCompatWithGenericCallSignatures4.ts, 7, 16)) >I2 : Symbol(I2, Decl(assignmentCompatWithGenericCallSignatures4.ts, 0, 0)) >I2 : Symbol(I2, Decl(assignmentCompatWithGenericCallSignatures4.ts, 0, 0)) ->T : Symbol(T, Decl(assignmentCompatWithGenericCallSignatures4.ts, 7, 8)) ->z : Symbol(z, Decl(assignmentCompatWithGenericCallSignatures4.ts, 7, 29)) ->T : Symbol(T, Decl(assignmentCompatWithGenericCallSignatures4.ts, 7, 8)) +>T : Symbol(T, Decl(assignmentCompatWithGenericCallSignatures4.ts, 7, 16)) +>z : Symbol(z, Decl(assignmentCompatWithGenericCallSignatures4.ts, 7, 37)) +>T : Symbol(T, Decl(assignmentCompatWithGenericCallSignatures4.ts, 7, 16)) // These both do not make sense as we would eventually be comparing I2 to I2>, and they are self referencing anyway x = y ->x : Symbol(x, Decl(assignmentCompatWithGenericCallSignatures4.ts, 6, 3)) ->y : Symbol(y, Decl(assignmentCompatWithGenericCallSignatures4.ts, 7, 3)) +>x : Symbol(x, Decl(assignmentCompatWithGenericCallSignatures4.ts, 6, 11)) +>y : Symbol(y, Decl(assignmentCompatWithGenericCallSignatures4.ts, 7, 11)) y = x ->y : Symbol(y, Decl(assignmentCompatWithGenericCallSignatures4.ts, 7, 3)) ->x : Symbol(x, Decl(assignmentCompatWithGenericCallSignatures4.ts, 6, 3)) +>y : Symbol(y, Decl(assignmentCompatWithGenericCallSignatures4.ts, 7, 11)) +>x : Symbol(x, Decl(assignmentCompatWithGenericCallSignatures4.ts, 6, 11)) diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types index c80be1723f5eb..098f6d8bca7e0 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types @@ -9,13 +9,13 @@ interface I2 { > : ^ } -var x: >(z: T) => void +declare var x: >(z: T) => void; >x : >(z: T) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >z : T > : ^ -var y: >>(z: T) => void +declare var y: >>(z: T) => void; >y : >>(z: T) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >z : T diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.errors.txt b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.errors.txt index 33405e4f8f04b..9e04f20621824 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.errors.txt @@ -162,8 +162,8 @@ assignmentCompatWithGenericCallSignaturesWithOptionalParameters.ts(116,13): erro function foo() { - var b: Base2; - var t: Target; + var b!: Base2; + var t!: Target; // all errors b.a = t.a; diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.js b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.js index 8155cc5cd1029..722711c2c93ab 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.js +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.js @@ -59,8 +59,8 @@ namespace GenericSignaturesInvalid { function foo() { - var b: Base2; - var t: Target; + var b!: Base2; + var t!: Target; // all errors b.a = t.a; diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.symbols b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.symbols index b1f7109cf3f3b..5aa099dfbd1f7 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.symbols +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.symbols @@ -261,11 +261,11 @@ namespace GenericSignaturesInvalid { >foo : Symbol(foo, Decl(assignmentCompatWithGenericCallSignaturesWithOptionalParameters.ts, 54, 5)) >T : Symbol(T, Decl(assignmentCompatWithGenericCallSignaturesWithOptionalParameters.ts, 57, 17)) - var b: Base2; + var b!: Base2; >b : Symbol(b, Decl(assignmentCompatWithGenericCallSignaturesWithOptionalParameters.ts, 58, 11)) >Base2 : Symbol(Base2, Decl(assignmentCompatWithGenericCallSignaturesWithOptionalParameters.ts, 38, 36)) - var t: Target; + var t!: Target; >t : Symbol(t, Decl(assignmentCompatWithGenericCallSignaturesWithOptionalParameters.ts, 59, 11)) >Target : Symbol(Target, Decl(assignmentCompatWithGenericCallSignaturesWithOptionalParameters.ts, 46, 5)) >T : Symbol(T, Decl(assignmentCompatWithGenericCallSignaturesWithOptionalParameters.ts, 57, 17)) diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types index ae8eec81c34a2..c786606f43846 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types @@ -388,11 +388,11 @@ namespace GenericSignaturesInvalid { >foo : () => void > : ^ ^^^^^^^^^^^ - var b: Base2; + var b!: Base2; >b : Base2 > : ^^^^^ - var t: Target; + var t!: Target; >t : Target > : ^^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer.errors.txt b/tests/baselines/reference/assignmentCompatWithNumericIndexer.errors.txt index 16dba66897213..a046f258519f6 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer.errors.txt @@ -33,8 +33,8 @@ assignmentCompatWithNumericIndexer.ts(37,9): error TS2322: Type 'A' is not as [x: number]: Base; } - var a: A; - var b: { [x: number]: Derived; } + declare var a: A; + declare var b: { [x: number]: Derived; } a = b; b = a; // error ~ @@ -43,7 +43,7 @@ assignmentCompatWithNumericIndexer.ts(37,9): error TS2322: Type 'A' is not as !!! error TS2322: Property 'bar' is missing in type 'Base' but required in type 'Derived'. !!! related TS2728 assignmentCompatWithNumericIndexer.ts:4:34: 'bar' is declared here. - var b2: { [x: number]: Derived2; } + declare var b2: { [x: number]: Derived2; } a = b2; b2 = a; // error ~~ @@ -61,8 +61,8 @@ assignmentCompatWithNumericIndexer.ts(37,9): error TS2322: Type 'A' is not as } function foo() { - var a: A; - var b: { [x: number]: Derived; } + var a!: A; + var b!: { [x: number]: Derived; } a = b; // error ~ !!! error TS2322: Type '{ [x: number]: Derived; }' is not assignable to type 'A'. @@ -77,7 +77,7 @@ assignmentCompatWithNumericIndexer.ts(37,9): error TS2322: Type 'A' is not as !!! error TS2322: Property 'bar' is missing in type 'Base' but required in type 'Derived'. !!! related TS2728 assignmentCompatWithNumericIndexer.ts:4:34: 'bar' is declared here. - var b2: { [x: number]: Derived2; } + var b2!: { [x: number]: Derived2; } a = b2; // error ~ !!! error TS2322: Type '{ [x: number]: Derived2; }' is not assignable to type 'A'. @@ -91,7 +91,7 @@ assignmentCompatWithNumericIndexer.ts(37,9): error TS2322: Type 'A' is not as !!! error TS2322: Type 'T' is not assignable to type 'Derived2'. !!! error TS2322: Type 'Base' is missing the following properties from type 'Derived2': baz, bar - var b3: { [x: number]: T; } + var b3!: { [x: number]: T; } a = b3; // ok b3 = a; // ok } diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer.js b/tests/baselines/reference/assignmentCompatWithNumericIndexer.js index fbfe1a8cfa96f..20720cf290a71 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer.js +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer.js @@ -11,12 +11,12 @@ class A { [x: number]: Base; } -var a: A; -var b: { [x: number]: Derived; } +declare var a: A; +declare var b: { [x: number]: Derived; } a = b; b = a; // error -var b2: { [x: number]: Derived2; } +declare var b2: { [x: number]: Derived2; } a = b2; b2 = a; // error @@ -30,16 +30,16 @@ namespace Generics { } function foo() { - var a: A; - var b: { [x: number]: Derived; } + var a!: A; + var b!: { [x: number]: Derived; } a = b; // error b = a; // error - var b2: { [x: number]: Derived2; } + var b2!: { [x: number]: Derived2; } a = b2; // error b2 = a; // error - var b3: { [x: number]: T; } + var b3!: { [x: number]: T; } a = b3; // ok b3 = a; // ok } @@ -67,11 +67,8 @@ var A = /** @class */ (function () { } return A; }()); -var a; -var b; a = b; b = a; // error -var b2; a = b2; b2 = a; // error var Generics; diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer.symbols b/tests/baselines/reference/assignmentCompatWithNumericIndexer.symbols index 66b8f21c07db1..1e29b814868de 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer.symbols +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer.symbols @@ -25,35 +25,35 @@ class A { >Base : Symbol(Base, Decl(assignmentCompatWithNumericIndexer.ts, 0, 0)) } -var a: A; ->a : Symbol(a, Decl(assignmentCompatWithNumericIndexer.ts, 10, 3)) +declare var a: A; +>a : Symbol(a, Decl(assignmentCompatWithNumericIndexer.ts, 10, 11)) >A : Symbol(A, Decl(assignmentCompatWithNumericIndexer.ts, 4, 51)) -var b: { [x: number]: Derived; } ->b : Symbol(b, Decl(assignmentCompatWithNumericIndexer.ts, 11, 3)) ->x : Symbol(x, Decl(assignmentCompatWithNumericIndexer.ts, 11, 10)) +declare var b: { [x: number]: Derived; } +>b : Symbol(b, Decl(assignmentCompatWithNumericIndexer.ts, 11, 11)) +>x : Symbol(x, Decl(assignmentCompatWithNumericIndexer.ts, 11, 18)) >Derived : Symbol(Derived, Decl(assignmentCompatWithNumericIndexer.ts, 2, 31)) a = b; ->a : Symbol(a, Decl(assignmentCompatWithNumericIndexer.ts, 10, 3)) ->b : Symbol(b, Decl(assignmentCompatWithNumericIndexer.ts, 11, 3)) +>a : Symbol(a, Decl(assignmentCompatWithNumericIndexer.ts, 10, 11)) +>b : Symbol(b, Decl(assignmentCompatWithNumericIndexer.ts, 11, 11)) b = a; // error ->b : Symbol(b, Decl(assignmentCompatWithNumericIndexer.ts, 11, 3)) ->a : Symbol(a, Decl(assignmentCompatWithNumericIndexer.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithNumericIndexer.ts, 11, 11)) +>a : Symbol(a, Decl(assignmentCompatWithNumericIndexer.ts, 10, 11)) -var b2: { [x: number]: Derived2; } ->b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer.ts, 15, 3)) ->x : Symbol(x, Decl(assignmentCompatWithNumericIndexer.ts, 15, 11)) +declare var b2: { [x: number]: Derived2; } +>b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer.ts, 15, 11)) +>x : Symbol(x, Decl(assignmentCompatWithNumericIndexer.ts, 15, 19)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithNumericIndexer.ts, 3, 47)) a = b2; ->a : Symbol(a, Decl(assignmentCompatWithNumericIndexer.ts, 10, 3)) ->b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer.ts, 15, 3)) +>a : Symbol(a, Decl(assignmentCompatWithNumericIndexer.ts, 10, 11)) +>b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer.ts, 15, 11)) b2 = a; // error ->b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer.ts, 15, 3)) ->a : Symbol(a, Decl(assignmentCompatWithNumericIndexer.ts, 10, 3)) +>b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer.ts, 15, 11)) +>a : Symbol(a, Decl(assignmentCompatWithNumericIndexer.ts, 10, 11)) namespace Generics { >Generics : Symbol(Generics, Decl(assignmentCompatWithNumericIndexer.ts, 17, 7)) @@ -83,14 +83,14 @@ namespace Generics { >T : Symbol(T, Decl(assignmentCompatWithNumericIndexer.ts, 28, 17)) >Base : Symbol(Base, Decl(assignmentCompatWithNumericIndexer.ts, 0, 0)) - var a: A; + var a!: A; >a : Symbol(a, Decl(assignmentCompatWithNumericIndexer.ts, 29, 11)) >A : Symbol(A, Decl(assignmentCompatWithNumericIndexer.ts, 19, 20)) >T : Symbol(T, Decl(assignmentCompatWithNumericIndexer.ts, 28, 17)) - var b: { [x: number]: Derived; } + var b!: { [x: number]: Derived; } >b : Symbol(b, Decl(assignmentCompatWithNumericIndexer.ts, 30, 11)) ->x : Symbol(x, Decl(assignmentCompatWithNumericIndexer.ts, 30, 18)) +>x : Symbol(x, Decl(assignmentCompatWithNumericIndexer.ts, 30, 19)) >Derived : Symbol(Derived, Decl(assignmentCompatWithNumericIndexer.ts, 2, 31)) a = b; // error @@ -101,9 +101,9 @@ namespace Generics { >b : Symbol(b, Decl(assignmentCompatWithNumericIndexer.ts, 30, 11)) >a : Symbol(a, Decl(assignmentCompatWithNumericIndexer.ts, 29, 11)) - var b2: { [x: number]: Derived2; } + var b2!: { [x: number]: Derived2; } >b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer.ts, 34, 11)) ->x : Symbol(x, Decl(assignmentCompatWithNumericIndexer.ts, 34, 19)) +>x : Symbol(x, Decl(assignmentCompatWithNumericIndexer.ts, 34, 20)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithNumericIndexer.ts, 3, 47)) a = b2; // error @@ -114,9 +114,9 @@ namespace Generics { >b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer.ts, 34, 11)) >a : Symbol(a, Decl(assignmentCompatWithNumericIndexer.ts, 29, 11)) - var b3: { [x: number]: T; } + var b3!: { [x: number]: T; } >b3 : Symbol(b3, Decl(assignmentCompatWithNumericIndexer.ts, 38, 11)) ->x : Symbol(x, Decl(assignmentCompatWithNumericIndexer.ts, 38, 19)) +>x : Symbol(x, Decl(assignmentCompatWithNumericIndexer.ts, 38, 20)) >T : Symbol(T, Decl(assignmentCompatWithNumericIndexer.ts, 28, 17)) a = b3; // ok diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer.types b/tests/baselines/reference/assignmentCompatWithNumericIndexer.types index 07e1dedab83de..d8aa6f99f02cf 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer.types +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer.types @@ -24,11 +24,11 @@ class A { > : ^^^^^^ } -var a: A; +declare var a: A; >a : A > : ^ -var b: { [x: number]: Derived; } +declare var b: { [x: number]: Derived; } >b : { [x: number]: Derived; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -50,7 +50,7 @@ b = a; // error >a : A > : ^ -var b2: { [x: number]: Derived2; } +declare var b2: { [x: number]: Derived2; } >b2 : { [x: number]: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -100,11 +100,11 @@ namespace Generics { >foo : () => void > : ^ ^^^^^^^^^ ^^^^^^^^^^^ - var a: A; + var a!: A; >a : A > : ^^^^ - var b: { [x: number]: Derived; } + var b!: { [x: number]: Derived; } >b : { [x: number]: Derived; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -126,7 +126,7 @@ namespace Generics { >a : A > : ^^^^ - var b2: { [x: number]: Derived2; } + var b2!: { [x: number]: Derived2; } >b2 : { [x: number]: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -148,7 +148,7 @@ namespace Generics { >a : A > : ^^^^ - var b3: { [x: number]: T; } + var b3!: { [x: number]: T; } >b3 : { [x: number]: T; } > : ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer2.errors.txt b/tests/baselines/reference/assignmentCompatWithNumericIndexer2.errors.txt index a9535962fb7d6..63ced30e797ce 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer2.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer2.errors.txt @@ -33,8 +33,8 @@ assignmentCompatWithNumericIndexer2.ts(37,9): error TS2322: Type 'A' is not a [x: number]: Base; } - var a: A; - var b: { [x: number]: Derived; } + declare var a: A; + declare var b: { [x: number]: Derived; } a = b; b = a; // error ~ @@ -43,7 +43,7 @@ assignmentCompatWithNumericIndexer2.ts(37,9): error TS2322: Type 'A' is not a !!! error TS2322: Property 'bar' is missing in type 'Base' but required in type 'Derived'. !!! related TS2728 assignmentCompatWithNumericIndexer2.ts:4:34: 'bar' is declared here. - var b2: { [x: number]: Derived2; } + declare var b2: { [x: number]: Derived2; } a = b2; b2 = a; // error ~~ @@ -61,8 +61,8 @@ assignmentCompatWithNumericIndexer2.ts(37,9): error TS2322: Type 'A' is not a } function foo() { - var a: A; - var b: { [x: number]: Derived; } + var a!: A; + var b!: { [x: number]: Derived; } a = b; // error ~ !!! error TS2322: Type '{ [x: number]: Derived; }' is not assignable to type 'A'. @@ -77,7 +77,7 @@ assignmentCompatWithNumericIndexer2.ts(37,9): error TS2322: Type 'A' is not a !!! error TS2322: Property 'bar' is missing in type 'Base' but required in type 'Derived'. !!! related TS2728 assignmentCompatWithNumericIndexer2.ts:4:34: 'bar' is declared here. - var b2: { [x: number]: Derived2; } + var b2!: { [x: number]: Derived2; } a = b2; // error ~ !!! error TS2322: Type '{ [x: number]: Derived2; }' is not assignable to type 'A'. @@ -91,7 +91,7 @@ assignmentCompatWithNumericIndexer2.ts(37,9): error TS2322: Type 'A' is not a !!! error TS2322: Type 'T' is not assignable to type 'Derived2'. !!! error TS2322: Type 'Base' is missing the following properties from type 'Derived2': baz, bar - var b3: { [x: number]: T; } + var b3!: { [x: number]: T; } a = b3; // ok b3 = a; // ok } diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer2.js b/tests/baselines/reference/assignmentCompatWithNumericIndexer2.js index 57c748ab5bd07..1e15c05187860 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer2.js +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer2.js @@ -11,12 +11,12 @@ interface A { [x: number]: Base; } -var a: A; -var b: { [x: number]: Derived; } +declare var a: A; +declare var b: { [x: number]: Derived; } a = b; b = a; // error -var b2: { [x: number]: Derived2; } +declare var b2: { [x: number]: Derived2; } a = b2; b2 = a; // error @@ -30,16 +30,16 @@ namespace Generics { } function foo() { - var a: A; - var b: { [x: number]: Derived; } + var a!: A; + var b!: { [x: number]: Derived; } a = b; // error b = a; // error - var b2: { [x: number]: Derived2; } + var b2!: { [x: number]: Derived2; } a = b2; // error b2 = a; // error - var b3: { [x: number]: T; } + var b3!: { [x: number]: T; } a = b3; // ok b3 = a; // ok } @@ -47,11 +47,8 @@ namespace Generics { //// [assignmentCompatWithNumericIndexer2.js] // Derived type indexer must be subtype of base type indexer -var a; -var b; a = b; b = a; // error -var b2; a = b2; b2 = a; // error var Generics; diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer2.symbols b/tests/baselines/reference/assignmentCompatWithNumericIndexer2.symbols index f35591fa2d37b..6d3e048b90b2e 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer2.symbols +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer2.symbols @@ -25,35 +25,35 @@ interface A { >Base : Symbol(Base, Decl(assignmentCompatWithNumericIndexer2.ts, 0, 0)) } -var a: A; ->a : Symbol(a, Decl(assignmentCompatWithNumericIndexer2.ts, 10, 3)) +declare var a: A; +>a : Symbol(a, Decl(assignmentCompatWithNumericIndexer2.ts, 10, 11)) >A : Symbol(A, Decl(assignmentCompatWithNumericIndexer2.ts, 4, 51)) -var b: { [x: number]: Derived; } ->b : Symbol(b, Decl(assignmentCompatWithNumericIndexer2.ts, 11, 3)) ->x : Symbol(x, Decl(assignmentCompatWithNumericIndexer2.ts, 11, 10)) +declare var b: { [x: number]: Derived; } +>b : Symbol(b, Decl(assignmentCompatWithNumericIndexer2.ts, 11, 11)) +>x : Symbol(x, Decl(assignmentCompatWithNumericIndexer2.ts, 11, 18)) >Derived : Symbol(Derived, Decl(assignmentCompatWithNumericIndexer2.ts, 2, 31)) a = b; ->a : Symbol(a, Decl(assignmentCompatWithNumericIndexer2.ts, 10, 3)) ->b : Symbol(b, Decl(assignmentCompatWithNumericIndexer2.ts, 11, 3)) +>a : Symbol(a, Decl(assignmentCompatWithNumericIndexer2.ts, 10, 11)) +>b : Symbol(b, Decl(assignmentCompatWithNumericIndexer2.ts, 11, 11)) b = a; // error ->b : Symbol(b, Decl(assignmentCompatWithNumericIndexer2.ts, 11, 3)) ->a : Symbol(a, Decl(assignmentCompatWithNumericIndexer2.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithNumericIndexer2.ts, 11, 11)) +>a : Symbol(a, Decl(assignmentCompatWithNumericIndexer2.ts, 10, 11)) -var b2: { [x: number]: Derived2; } ->b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer2.ts, 15, 3)) ->x : Symbol(x, Decl(assignmentCompatWithNumericIndexer2.ts, 15, 11)) +declare var b2: { [x: number]: Derived2; } +>b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer2.ts, 15, 11)) +>x : Symbol(x, Decl(assignmentCompatWithNumericIndexer2.ts, 15, 19)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithNumericIndexer2.ts, 3, 47)) a = b2; ->a : Symbol(a, Decl(assignmentCompatWithNumericIndexer2.ts, 10, 3)) ->b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer2.ts, 15, 3)) +>a : Symbol(a, Decl(assignmentCompatWithNumericIndexer2.ts, 10, 11)) +>b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer2.ts, 15, 11)) b2 = a; // error ->b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer2.ts, 15, 3)) ->a : Symbol(a, Decl(assignmentCompatWithNumericIndexer2.ts, 10, 3)) +>b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer2.ts, 15, 11)) +>a : Symbol(a, Decl(assignmentCompatWithNumericIndexer2.ts, 10, 11)) namespace Generics { >Generics : Symbol(Generics, Decl(assignmentCompatWithNumericIndexer2.ts, 17, 7)) @@ -83,14 +83,14 @@ namespace Generics { >T : Symbol(T, Decl(assignmentCompatWithNumericIndexer2.ts, 28, 17)) >Base : Symbol(Base, Decl(assignmentCompatWithNumericIndexer2.ts, 0, 0)) - var a: A; + var a!: A; >a : Symbol(a, Decl(assignmentCompatWithNumericIndexer2.ts, 29, 11)) >A : Symbol(A, Decl(assignmentCompatWithNumericIndexer2.ts, 19, 20)) >T : Symbol(T, Decl(assignmentCompatWithNumericIndexer2.ts, 28, 17)) - var b: { [x: number]: Derived; } + var b!: { [x: number]: Derived; } >b : Symbol(b, Decl(assignmentCompatWithNumericIndexer2.ts, 30, 11)) ->x : Symbol(x, Decl(assignmentCompatWithNumericIndexer2.ts, 30, 18)) +>x : Symbol(x, Decl(assignmentCompatWithNumericIndexer2.ts, 30, 19)) >Derived : Symbol(Derived, Decl(assignmentCompatWithNumericIndexer2.ts, 2, 31)) a = b; // error @@ -101,9 +101,9 @@ namespace Generics { >b : Symbol(b, Decl(assignmentCompatWithNumericIndexer2.ts, 30, 11)) >a : Symbol(a, Decl(assignmentCompatWithNumericIndexer2.ts, 29, 11)) - var b2: { [x: number]: Derived2; } + var b2!: { [x: number]: Derived2; } >b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer2.ts, 34, 11)) ->x : Symbol(x, Decl(assignmentCompatWithNumericIndexer2.ts, 34, 19)) +>x : Symbol(x, Decl(assignmentCompatWithNumericIndexer2.ts, 34, 20)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithNumericIndexer2.ts, 3, 47)) a = b2; // error @@ -114,9 +114,9 @@ namespace Generics { >b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer2.ts, 34, 11)) >a : Symbol(a, Decl(assignmentCompatWithNumericIndexer2.ts, 29, 11)) - var b3: { [x: number]: T; } + var b3!: { [x: number]: T; } >b3 : Symbol(b3, Decl(assignmentCompatWithNumericIndexer2.ts, 38, 11)) ->x : Symbol(x, Decl(assignmentCompatWithNumericIndexer2.ts, 38, 19)) +>x : Symbol(x, Decl(assignmentCompatWithNumericIndexer2.ts, 38, 20)) >T : Symbol(T, Decl(assignmentCompatWithNumericIndexer2.ts, 28, 17)) a = b3; // ok diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer2.types b/tests/baselines/reference/assignmentCompatWithNumericIndexer2.types index 0eb45b9f0e9b3..1647a77109baf 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer2.types +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer2.types @@ -21,11 +21,11 @@ interface A { > : ^^^^^^ } -var a: A; +declare var a: A; >a : A > : ^ -var b: { [x: number]: Derived; } +declare var b: { [x: number]: Derived; } >b : { [x: number]: Derived; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -47,7 +47,7 @@ b = a; // error >a : A > : ^ -var b2: { [x: number]: Derived2; } +declare var b2: { [x: number]: Derived2; } >b2 : { [x: number]: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -89,11 +89,11 @@ namespace Generics { >foo : () => void > : ^ ^^^^^^^^^ ^^^^^^^^^^^ - var a: A; + var a!: A; >a : A > : ^^^^ - var b: { [x: number]: Derived; } + var b!: { [x: number]: Derived; } >b : { [x: number]: Derived; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -115,7 +115,7 @@ namespace Generics { >a : A > : ^^^^ - var b2: { [x: number]: Derived2; } + var b2!: { [x: number]: Derived2; } >b2 : { [x: number]: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -137,7 +137,7 @@ namespace Generics { >a : A > : ^^^^ - var b3: { [x: number]: T; } + var b3!: { [x: number]: T; } >b3 : { [x: number]: T; } > : ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer3.errors.txt b/tests/baselines/reference/assignmentCompatWithNumericIndexer3.errors.txt index d2a905297d3a2..a3b667944d93f 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer3.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer3.errors.txt @@ -21,8 +21,8 @@ assignmentCompatWithNumericIndexer3.ts(33,9): error TS2322: Type '{ [x: number]: [x: number]: Derived; } - var a: A; - var b: { [x: number]: Base; }; + declare var a: A; + declare var b: { [x: number]: Base; }; a = b; // error ~ @@ -36,7 +36,7 @@ assignmentCompatWithNumericIndexer3.ts(33,9): error TS2322: Type '{ [x: number]: [x: number]: Derived2; // ok } - var b2: { [x: number]: Derived2; }; + declare var b2: { [x: number]: Derived2; }; a = b2; // ok b2 = a; // error ~~ @@ -51,8 +51,8 @@ assignmentCompatWithNumericIndexer3.ts(33,9): error TS2322: Type '{ [x: number]: } function foo() { - var a: A; - var b: { [x: number]: Derived; }; + var a!: A; + var b!: { [x: number]: Derived; }; a = b; // error ~ !!! error TS2322: Type '{ [x: number]: Derived; }' is not assignable to type 'A'. @@ -61,7 +61,7 @@ assignmentCompatWithNumericIndexer3.ts(33,9): error TS2322: Type '{ [x: number]: !!! error TS2322: 'Derived' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Derived'. b = a; // ok - var b2: { [x: number]: T; }; + var b2!: { [x: number]: T; }; a = b2; // ok b2 = a; // ok } diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer3.js b/tests/baselines/reference/assignmentCompatWithNumericIndexer3.js index c55ce7233eb31..9329efbbf3264 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer3.js +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer3.js @@ -11,8 +11,8 @@ class A { [x: number]: Derived; } -var a: A; -var b: { [x: number]: Base; }; +declare var a: A; +declare var b: { [x: number]: Base; }; a = b; // error b = a; // ok @@ -21,7 +21,7 @@ class B2 extends A { [x: number]: Derived2; // ok } -var b2: { [x: number]: Derived2; }; +declare var b2: { [x: number]: Derived2; }; a = b2; // ok b2 = a; // error @@ -31,12 +31,12 @@ namespace Generics { } function foo() { - var a: A; - var b: { [x: number]: Derived; }; + var a!: A; + var b!: { [x: number]: Derived; }; a = b; // error b = a; // ok - var b2: { [x: number]: T; }; + var b2!: { [x: number]: T; }; a = b2; // ok b2 = a; // ok } @@ -64,8 +64,6 @@ var A = /** @class */ (function () { } return A; }()); -var a; -var b; a = b; // error b = a; // ok var B2 = /** @class */ (function (_super) { @@ -75,7 +73,6 @@ var B2 = /** @class */ (function (_super) { } return B2; }(A)); -var b2; a = b2; // ok b2 = a; // error var Generics; diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer3.symbols b/tests/baselines/reference/assignmentCompatWithNumericIndexer3.symbols index 21030b89b37f5..cdff8fe8249f8 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer3.symbols +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer3.symbols @@ -25,22 +25,22 @@ class A { >Derived : Symbol(Derived, Decl(assignmentCompatWithNumericIndexer3.ts, 2, 31)) } -var a: A; ->a : Symbol(a, Decl(assignmentCompatWithNumericIndexer3.ts, 10, 3)) +declare var a: A; +>a : Symbol(a, Decl(assignmentCompatWithNumericIndexer3.ts, 10, 11)) >A : Symbol(A, Decl(assignmentCompatWithNumericIndexer3.ts, 4, 51)) -var b: { [x: number]: Base; }; ->b : Symbol(b, Decl(assignmentCompatWithNumericIndexer3.ts, 11, 3)) ->x : Symbol(x, Decl(assignmentCompatWithNumericIndexer3.ts, 11, 10)) +declare var b: { [x: number]: Base; }; +>b : Symbol(b, Decl(assignmentCompatWithNumericIndexer3.ts, 11, 11)) +>x : Symbol(x, Decl(assignmentCompatWithNumericIndexer3.ts, 11, 18)) >Base : Symbol(Base, Decl(assignmentCompatWithNumericIndexer3.ts, 0, 0)) a = b; // error ->a : Symbol(a, Decl(assignmentCompatWithNumericIndexer3.ts, 10, 3)) ->b : Symbol(b, Decl(assignmentCompatWithNumericIndexer3.ts, 11, 3)) +>a : Symbol(a, Decl(assignmentCompatWithNumericIndexer3.ts, 10, 11)) +>b : Symbol(b, Decl(assignmentCompatWithNumericIndexer3.ts, 11, 11)) b = a; // ok ->b : Symbol(b, Decl(assignmentCompatWithNumericIndexer3.ts, 11, 3)) ->a : Symbol(a, Decl(assignmentCompatWithNumericIndexer3.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithNumericIndexer3.ts, 11, 11)) +>a : Symbol(a, Decl(assignmentCompatWithNumericIndexer3.ts, 10, 11)) class B2 extends A { >B2 : Symbol(B2, Decl(assignmentCompatWithNumericIndexer3.ts, 14, 6)) @@ -51,18 +51,18 @@ class B2 extends A { >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithNumericIndexer3.ts, 3, 47)) } -var b2: { [x: number]: Derived2; }; ->b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer3.ts, 20, 3)) ->x : Symbol(x, Decl(assignmentCompatWithNumericIndexer3.ts, 20, 11)) +declare var b2: { [x: number]: Derived2; }; +>b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer3.ts, 20, 11)) +>x : Symbol(x, Decl(assignmentCompatWithNumericIndexer3.ts, 20, 19)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithNumericIndexer3.ts, 3, 47)) a = b2; // ok ->a : Symbol(a, Decl(assignmentCompatWithNumericIndexer3.ts, 10, 3)) ->b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer3.ts, 20, 3)) +>a : Symbol(a, Decl(assignmentCompatWithNumericIndexer3.ts, 10, 11)) +>b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer3.ts, 20, 11)) b2 = a; // error ->b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer3.ts, 20, 3)) ->a : Symbol(a, Decl(assignmentCompatWithNumericIndexer3.ts, 10, 3)) +>b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer3.ts, 20, 11)) +>a : Symbol(a, Decl(assignmentCompatWithNumericIndexer3.ts, 10, 11)) namespace Generics { >Generics : Symbol(Generics, Decl(assignmentCompatWithNumericIndexer3.ts, 22, 7)) @@ -82,14 +82,14 @@ namespace Generics { >T : Symbol(T, Decl(assignmentCompatWithNumericIndexer3.ts, 29, 17)) >Derived : Symbol(Derived, Decl(assignmentCompatWithNumericIndexer3.ts, 2, 31)) - var a: A; + var a!: A; >a : Symbol(a, Decl(assignmentCompatWithNumericIndexer3.ts, 30, 11)) >A : Symbol(A, Decl(assignmentCompatWithNumericIndexer3.ts, 24, 20)) >T : Symbol(T, Decl(assignmentCompatWithNumericIndexer3.ts, 29, 17)) - var b: { [x: number]: Derived; }; + var b!: { [x: number]: Derived; }; >b : Symbol(b, Decl(assignmentCompatWithNumericIndexer3.ts, 31, 11)) ->x : Symbol(x, Decl(assignmentCompatWithNumericIndexer3.ts, 31, 18)) +>x : Symbol(x, Decl(assignmentCompatWithNumericIndexer3.ts, 31, 19)) >Derived : Symbol(Derived, Decl(assignmentCompatWithNumericIndexer3.ts, 2, 31)) a = b; // error @@ -100,9 +100,9 @@ namespace Generics { >b : Symbol(b, Decl(assignmentCompatWithNumericIndexer3.ts, 31, 11)) >a : Symbol(a, Decl(assignmentCompatWithNumericIndexer3.ts, 30, 11)) - var b2: { [x: number]: T; }; + var b2!: { [x: number]: T; }; >b2 : Symbol(b2, Decl(assignmentCompatWithNumericIndexer3.ts, 35, 11)) ->x : Symbol(x, Decl(assignmentCompatWithNumericIndexer3.ts, 35, 19)) +>x : Symbol(x, Decl(assignmentCompatWithNumericIndexer3.ts, 35, 20)) >T : Symbol(T, Decl(assignmentCompatWithNumericIndexer3.ts, 29, 17)) a = b2; // ok diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer3.types b/tests/baselines/reference/assignmentCompatWithNumericIndexer3.types index 52a6ed1915bbf..ba39eb84729c3 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer3.types +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer3.types @@ -24,11 +24,11 @@ class A { > : ^^^^^^ } -var a: A; +declare var a: A; >a : A > : ^ -var b: { [x: number]: Base; }; +declare var b: { [x: number]: Base; }; >b : { [x: number]: Base; } > : ^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -61,7 +61,7 @@ class B2 extends A { > : ^^^^^^ } -var b2: { [x: number]: Derived2; }; +declare var b2: { [x: number]: Derived2; }; >b2 : { [x: number]: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -100,11 +100,11 @@ namespace Generics { >foo : () => void > : ^ ^^^^^^^^^ ^^^^^^^^^^^ - var a: A; + var a!: A; >a : A > : ^^^^ - var b: { [x: number]: Derived; }; + var b!: { [x: number]: Derived; }; >b : { [x: number]: Derived; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -126,7 +126,7 @@ namespace Generics { >a : A > : ^^^^ - var b2: { [x: number]: T; }; + var b2!: { [x: number]: T; }; >b2 : { [x: number]: T; } > : ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers4.errors.txt b/tests/baselines/reference/assignmentCompatWithObjectMembers4.errors.txt index 9d879edbec032..7c5dd3709b2e2 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers4.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers4.errors.txt @@ -61,16 +61,16 @@ assignmentCompatWithObjectMembers4.ts(87,5): error TS2322: Type '{ foo: Base; }' class S { foo: Derived; } class T { foo: Derived2; } - var s: S; - var t: T; + declare var s: S; + declare var t: T; interface S2 { foo: Derived; } interface T2 { foo: Derived2; } - var s2: S2; - var t2: T2; + declare var s2: S2; + declare var t2: T2; - var a: { foo: Derived; } - var b: { foo: Derived2; } + declare var a: { foo: Derived; } + declare var b: { foo: Derived2; } var a2 = { foo: new Derived() }; var b2 = { foo: new Derived2() }; @@ -171,16 +171,16 @@ assignmentCompatWithObjectMembers4.ts(87,5): error TS2322: Type '{ foo: Base; }' class S { foo: Base; } class T { foo: Derived2; } - var s: S; - var t: T; + declare var s: S; + declare var t: T; interface S2 { foo: Base; } interface T2 { foo: Derived2; } - var s2: S2; - var t2: T2; + declare var s2: S2; + declare var t2: T2; - var a: { foo: Base; } - var b: { foo: Derived2; } + declare var a: { foo: Base; } + declare var b: { foo: Derived2; } var a2 = { foo: new Base() }; var b2 = { foo: new Derived2() }; diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers4.js b/tests/baselines/reference/assignmentCompatWithObjectMembers4.js index 3bd797bfe5df8..93cd47af52552 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers4.js +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers4.js @@ -10,16 +10,16 @@ namespace OnlyDerived { class S { foo: Derived; } class T { foo: Derived2; } - var s: S; - var t: T; + declare var s: S; + declare var t: T; interface S2 { foo: Derived; } interface T2 { foo: Derived2; } - var s2: S2; - var t2: T2; + declare var s2: S2; + declare var t2: T2; - var a: { foo: Derived; } - var b: { foo: Derived2; } + declare var a: { foo: Derived; } + declare var b: { foo: Derived2; } var a2 = { foo: new Derived() }; var b2 = { foo: new Derived2() }; @@ -55,16 +55,16 @@ namespace WithBase { class S { foo: Base; } class T { foo: Derived2; } - var s: S; - var t: T; + declare var s: S; + declare var t: T; interface S2 { foo: Base; } interface T2 { foo: Derived2; } - var s2: S2; - var t2: T2; + declare var s2: S2; + declare var t2: T2; - var a: { foo: Base; } - var b: { foo: Derived2; } + declare var a: { foo: Base; } + declare var b: { foo: Derived2; } var a2 = { foo: new Base() }; var b2 = { foo: new Derived2() }; @@ -141,12 +141,6 @@ var OnlyDerived; } return T; }()); - var s; - var t; - var s2; - var t2; - var a; - var b; var a2 = { foo: new Derived() }; var b2 = { foo: new Derived2() }; s = t; // error @@ -200,12 +194,6 @@ var WithBase; } return T; }()); - var s; - var t; - var s2; - var t2; - var a; - var b; var a2 = { foo: new Base() }; var b2 = { foo: new Derived2() }; s = t; // ok diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers4.symbols b/tests/baselines/reference/assignmentCompatWithObjectMembers4.symbols index 0a3c66222ed2a..8eadf95d0fcc0 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers4.symbols +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers4.symbols @@ -30,16 +30,16 @@ namespace OnlyDerived { >foo : Symbol(T.foo, Decl(assignmentCompatWithObjectMembers4.ts, 8, 13)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithObjectMembers4.ts, 4, 47)) - var s: S; ->s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 9, 7)) + declare var s: S; +>s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 9, 15)) >S : Symbol(S, Decl(assignmentCompatWithObjectMembers4.ts, 5, 48)) - var t: T; ->t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 10, 7)) + declare var t: T; +>t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 10, 15)) >T : Symbol(T, Decl(assignmentCompatWithObjectMembers4.ts, 7, 29)) interface S2 { foo: Derived; } ->S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembers4.ts, 10, 13)) +>S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembers4.ts, 10, 21)) >foo : Symbol(S2.foo, Decl(assignmentCompatWithObjectMembers4.ts, 12, 18)) >Derived : Symbol(Derived, Decl(assignmentCompatWithObjectMembers4.ts, 3, 31)) @@ -48,22 +48,22 @@ namespace OnlyDerived { >foo : Symbol(T2.foo, Decl(assignmentCompatWithObjectMembers4.ts, 13, 18)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithObjectMembers4.ts, 4, 47)) - var s2: S2; ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 7)) ->S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembers4.ts, 10, 13)) + declare var s2: S2; +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 15)) +>S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembers4.ts, 10, 21)) - var t2: T2; ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 15, 7)) + declare var t2: T2; +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 15, 15)) >T2 : Symbol(T2, Decl(assignmentCompatWithObjectMembers4.ts, 12, 34)) - var a: { foo: Derived; } ->a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 17, 7)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers4.ts, 17, 12)) + declare var a: { foo: Derived; } +>a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 17, 15)) +>foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers4.ts, 17, 20)) >Derived : Symbol(Derived, Decl(assignmentCompatWithObjectMembers4.ts, 3, 31)) - var b: { foo: Derived2; } ->b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 18, 7)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers4.ts, 18, 12)) + declare var b: { foo: Derived2; } +>b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 18, 15)) +>foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers4.ts, 18, 20)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithObjectMembers4.ts, 4, 47)) var a2 = { foo: new Derived() }; @@ -77,59 +77,59 @@ namespace OnlyDerived { >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithObjectMembers4.ts, 4, 47)) s = t; // error ->s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 9, 7)) ->t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 10, 7)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 9, 15)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 10, 15)) t = s; // error ->t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 10, 7)) ->s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 9, 7)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 10, 15)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 9, 15)) s = s2; // ok ->s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 9, 7)) ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 7)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 9, 15)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 15)) s = a2; // ok ->s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 9, 7)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 9, 15)) >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembers4.ts, 20, 7)) s2 = t2; // error ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 7)) ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 15, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 15)) +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 15, 15)) t2 = s2; // error ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 15, 7)) ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 7)) +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 15, 15)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 15)) s2 = t; // error ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 7)) ->t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 10, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 15)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 10, 15)) s2 = b; // error ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 18, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 18, 15)) s2 = a2; // ok ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 15)) >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembers4.ts, 20, 7)) a = b; // error ->a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 17, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 18, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 17, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 18, 15)) b = a; // error ->b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 18, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 17, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 18, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 17, 15)) a = s; // ok ->a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 17, 7)) ->s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 9, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 17, 15)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 9, 15)) a = s2; // ok ->a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 17, 7)) ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 17, 15)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 14, 15)) a = a2; // ok ->a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 17, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 17, 15)) >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembers4.ts, 20, 7)) a2 = b2; // error @@ -142,15 +142,15 @@ namespace OnlyDerived { a2 = b; // error >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembers4.ts, 20, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 18, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 18, 15)) a2 = t2; // error >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembers4.ts, 20, 7)) ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 15, 7)) +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 15, 15)) a2 = t; // error >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembers4.ts, 20, 7)) ->t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 10, 7)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 10, 15)) } namespace WithBase { @@ -180,16 +180,16 @@ namespace WithBase { >foo : Symbol(T.foo, Decl(assignmentCompatWithObjectMembers4.ts, 53, 13)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithObjectMembers4.ts, 49, 47)) - var s: S; ->s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 54, 7)) + declare var s: S; +>s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 54, 15)) >S : Symbol(S, Decl(assignmentCompatWithObjectMembers4.ts, 50, 48)) - var t: T; ->t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 55, 7)) + declare var t: T; +>t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 55, 15)) >T : Symbol(T, Decl(assignmentCompatWithObjectMembers4.ts, 52, 26)) interface S2 { foo: Base; } ->S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembers4.ts, 55, 13)) +>S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembers4.ts, 55, 21)) >foo : Symbol(S2.foo, Decl(assignmentCompatWithObjectMembers4.ts, 57, 18)) >Base : Symbol(Base, Decl(assignmentCompatWithObjectMembers4.ts, 47, 20)) @@ -198,22 +198,22 @@ namespace WithBase { >foo : Symbol(T2.foo, Decl(assignmentCompatWithObjectMembers4.ts, 58, 18)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithObjectMembers4.ts, 49, 47)) - var s2: S2; ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 7)) ->S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembers4.ts, 55, 13)) + declare var s2: S2; +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 15)) +>S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembers4.ts, 55, 21)) - var t2: T2; ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 60, 7)) + declare var t2: T2; +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 60, 15)) >T2 : Symbol(T2, Decl(assignmentCompatWithObjectMembers4.ts, 57, 31)) - var a: { foo: Base; } ->a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 62, 7)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers4.ts, 62, 12)) + declare var a: { foo: Base; } +>a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 62, 15)) +>foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers4.ts, 62, 20)) >Base : Symbol(Base, Decl(assignmentCompatWithObjectMembers4.ts, 47, 20)) - var b: { foo: Derived2; } ->b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 63, 7)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers4.ts, 63, 12)) + declare var b: { foo: Derived2; } +>b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 63, 15)) +>foo : Symbol(foo, Decl(assignmentCompatWithObjectMembers4.ts, 63, 20)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithObjectMembers4.ts, 49, 47)) var a2 = { foo: new Base() }; @@ -227,59 +227,59 @@ namespace WithBase { >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithObjectMembers4.ts, 49, 47)) s = t; // ok ->s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 54, 7)) ->t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 55, 7)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 54, 15)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 55, 15)) t = s; // error ->t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 55, 7)) ->s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 54, 7)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 55, 15)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 54, 15)) s = s2; // ok ->s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 54, 7)) ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 7)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 54, 15)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 15)) s = a2; // ok ->s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 54, 7)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 54, 15)) >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembers4.ts, 65, 7)) s2 = t2; // ok ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 7)) ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 60, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 15)) +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 60, 15)) t2 = s2; // error ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 60, 7)) ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 7)) +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 60, 15)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 15)) s2 = t; // ok ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 7)) ->t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 55, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 15)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 55, 15)) s2 = b; // ok ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 63, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 63, 15)) s2 = a2; // ok ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 15)) >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembers4.ts, 65, 7)) a = b; // ok ->a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 62, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 63, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 62, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 63, 15)) b = a; // error ->b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 63, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 62, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 63, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 62, 15)) a = s; // ok ->a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 62, 7)) ->s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 54, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 62, 15)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembers4.ts, 54, 15)) a = s2; // ok ->a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 62, 7)) ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 62, 15)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembers4.ts, 59, 15)) a = a2; // ok ->a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 62, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembers4.ts, 62, 15)) >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembers4.ts, 65, 7)) a2 = b2; // ok @@ -292,13 +292,13 @@ namespace WithBase { a2 = b; // ok >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembers4.ts, 65, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 63, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembers4.ts, 63, 15)) a2 = t2; // ok >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembers4.ts, 65, 7)) ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 60, 7)) +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembers4.ts, 60, 15)) a2 = t; // ok >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembers4.ts, 65, 7)) ->t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 55, 7)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembers4.ts, 55, 15)) } diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers4.types b/tests/baselines/reference/assignmentCompatWithObjectMembers4.types index 941f3034a5d0e..1bdfcda3b1911 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers4.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers4.types @@ -41,11 +41,11 @@ namespace OnlyDerived { >foo : Derived2 > : ^^^^^^^^ - var s: S; + declare var s: S; >s : S > : ^ - var t: T; + declare var t: T; >t : T > : ^ @@ -57,21 +57,21 @@ namespace OnlyDerived { >foo : Derived2 > : ^^^^^^^^ - var s2: S2; + declare var s2: S2; >s2 : S2 > : ^^ - var t2: T2; + declare var t2: T2; >t2 : T2 > : ^^ - var a: { foo: Derived; } + declare var a: { foo: Derived; } >a : { foo: Derived; } > : ^^^^^^^ ^^^ >foo : Derived > : ^^^^^^^ - var b: { foo: Derived2; } + declare var b: { foo: Derived2; } >b : { foo: Derived2; } > : ^^^^^^^ ^^^ >foo : Derived2 @@ -292,11 +292,11 @@ namespace WithBase { >foo : Derived2 > : ^^^^^^^^ - var s: S; + declare var s: S; >s : S > : ^ - var t: T; + declare var t: T; >t : T > : ^ @@ -308,21 +308,21 @@ namespace WithBase { >foo : Derived2 > : ^^^^^^^^ - var s2: S2; + declare var s2: S2; >s2 : S2 > : ^^ - var t2: T2; + declare var t2: T2; >t2 : T2 > : ^^ - var a: { foo: Base; } + declare var a: { foo: Base; } >a : { foo: Base; } > : ^^^^^^^ ^^^ >foo : Base > : ^^^^ - var b: { foo: Derived2; } + declare var b: { foo: Derived2; } >b : { foo: Derived2; } > : ^^^^^^^ ^^^ >foo : Derived2 diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers5.errors.txt b/tests/baselines/reference/assignmentCompatWithObjectMembers5.errors.txt index caf8eb5695bd1..36b014dea5fb7 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers5.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers5.errors.txt @@ -7,13 +7,13 @@ assignmentCompatWithObjectMembers5.ts(14,1): error TS2741: Property 'fooo' is mi foo: string; } - var c: C; + declare var c: C; interface I { fooo: string; } - var i: I; + declare var i: I; c = i; // error ~ diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers5.js b/tests/baselines/reference/assignmentCompatWithObjectMembers5.js index cb8da85d7e859..0da7ab9d13299 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers5.js +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers5.js @@ -5,13 +5,13 @@ class C { foo: string; } -var c: C; +declare var c: C; interface I { fooo: string; } -var i: I; +declare var i: I; c = i; // error i = c; // error @@ -22,7 +22,5 @@ var C = /** @class */ (function () { } return C; }()); -var c; -var i; c = i; // error i = c; // error diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers5.symbols b/tests/baselines/reference/assignmentCompatWithObjectMembers5.symbols index fdc4e5a828ba6..1e1a597489795 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers5.symbols +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers5.symbols @@ -8,26 +8,26 @@ class C { >foo : Symbol(C.foo, Decl(assignmentCompatWithObjectMembers5.ts, 0, 9)) } -var c: C; ->c : Symbol(c, Decl(assignmentCompatWithObjectMembers5.ts, 4, 3)) +declare var c: C; +>c : Symbol(c, Decl(assignmentCompatWithObjectMembers5.ts, 4, 11)) >C : Symbol(C, Decl(assignmentCompatWithObjectMembers5.ts, 0, 0)) interface I { ->I : Symbol(I, Decl(assignmentCompatWithObjectMembers5.ts, 4, 9)) +>I : Symbol(I, Decl(assignmentCompatWithObjectMembers5.ts, 4, 17)) fooo: string; >fooo : Symbol(I.fooo, Decl(assignmentCompatWithObjectMembers5.ts, 6, 13)) } -var i: I; ->i : Symbol(i, Decl(assignmentCompatWithObjectMembers5.ts, 10, 3)) ->I : Symbol(I, Decl(assignmentCompatWithObjectMembers5.ts, 4, 9)) +declare var i: I; +>i : Symbol(i, Decl(assignmentCompatWithObjectMembers5.ts, 10, 11)) +>I : Symbol(I, Decl(assignmentCompatWithObjectMembers5.ts, 4, 17)) c = i; // error ->c : Symbol(c, Decl(assignmentCompatWithObjectMembers5.ts, 4, 3)) ->i : Symbol(i, Decl(assignmentCompatWithObjectMembers5.ts, 10, 3)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembers5.ts, 4, 11)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembers5.ts, 10, 11)) i = c; // error ->i : Symbol(i, Decl(assignmentCompatWithObjectMembers5.ts, 10, 3)) ->c : Symbol(c, Decl(assignmentCompatWithObjectMembers5.ts, 4, 3)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembers5.ts, 10, 11)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembers5.ts, 4, 11)) diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers5.types b/tests/baselines/reference/assignmentCompatWithObjectMembers5.types index 93c42f8467da5..6d1a6ccd607c7 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers5.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers5.types @@ -10,7 +10,7 @@ class C { > : ^^^^^^ } -var c: C; +declare var c: C; >c : C > : ^ @@ -20,7 +20,7 @@ interface I { > : ^^^^^^ } -var i: I; +declare var i: I; >i : I > : ^ diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.errors.txt b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.errors.txt index d9603de9fe4b6..931bc9e32919a 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.errors.txt @@ -61,9 +61,9 @@ assignmentCompatWithObjectMembersAccessibility.ts(106,5): error TS2322: Type 'D' foo: string; } - var a: { foo: string; } - var b: Base; - var i: I; + declare var a: { foo: string; }; + declare var b: Base; + declare var i: I; // sources class D { @@ -73,8 +73,8 @@ assignmentCompatWithObjectMembersAccessibility.ts(106,5): error TS2322: Type 'D' class E { private foo: string; } - var d: D; - var e: E; + declare var d: D; + declare var e: E; a = b; a = i; @@ -137,9 +137,9 @@ assignmentCompatWithObjectMembersAccessibility.ts(106,5): error TS2322: Type 'D' interface I extends Base { } - var a: { foo: string; } - var b: Base; - var i: I; + declare var a: { foo: string; }; + declare var b: Base; + declare var i: I; // sources class D { @@ -150,8 +150,8 @@ assignmentCompatWithObjectMembersAccessibility.ts(106,5): error TS2322: Type 'D' private foo: string; } - var d: D; - var e: E; + declare var d: D; + declare var e: E; a = b; // error ~ diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.js b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.js index b98662a3175aa..5a87f367adfa2 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.js +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.js @@ -13,9 +13,9 @@ namespace TargetIsPublic { foo: string; } - var a: { foo: string; } - var b: Base; - var i: I; + declare var a: { foo: string; }; + declare var b: Base; + declare var i: I; // sources class D { @@ -25,8 +25,8 @@ namespace TargetIsPublic { class E { private foo: string; } - var d: D; - var e: E; + declare var d: D; + declare var e: E; a = b; a = i; @@ -65,9 +65,9 @@ namespace TargetIsPublic { interface I extends Base { } - var a: { foo: string; } - var b: Base; - var i: I; + declare var a: { foo: string; }; + declare var b: Base; + declare var i: I; // sources class D { @@ -78,8 +78,8 @@ namespace TargetIsPublic { private foo: string; } - var d: D; - var e: E; + declare var d: D; + declare var e: E; a = b; // error a = i; // error @@ -121,9 +121,6 @@ var TargetIsPublic; } return Base; }()); - var a; - var b; - var i; // sources var D = /** @class */ (function () { function D() { @@ -135,8 +132,6 @@ var TargetIsPublic; } return E; }()); - var d; - var e; a = b; a = i; a = d; @@ -166,9 +161,6 @@ var TargetIsPublic; } return Base; }()); - var a; - var b; - var i; // sources var D = /** @class */ (function () { function D() { @@ -180,8 +172,6 @@ var TargetIsPublic; } return E; }()); - var d; - var e; a = b; // error a = i; // error a = d; diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.symbols b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.symbols index dfa2dec9c5f1c..f2372eea05d11 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.symbols +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.symbols @@ -21,21 +21,21 @@ namespace TargetIsPublic { >foo : Symbol(I.foo, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 8, 17)) } - var a: { foo: string; } ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 7)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 12)) + declare var a: { foo: string; }; +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 15)) +>foo : Symbol(foo, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 20)) - var b: Base; ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 7)) + declare var b: Base; +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 15)) >Base : Symbol(Base, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 2, 26)) - var i: I; ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 7)) + declare var i: I; +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 15)) >I : Symbol(I, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 6, 5)) // sources class D { ->D : Symbol(D, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 13)) +>D : Symbol(D, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 21)) public foo: string; >foo : Symbol(D.foo, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 17, 13)) @@ -47,97 +47,97 @@ namespace TargetIsPublic { private foo: string; >foo : Symbol(E.foo, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 21, 13)) } - var d: D; ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 7)) ->D : Symbol(D, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 13)) + declare var d: D; +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 15)) +>D : Symbol(D, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 21)) - var e: E; ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 7)) + declare var e: E; +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 15)) >E : Symbol(E, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 19, 5)) a = b; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 15)) a = i; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 7)) ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 15)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 15)) a = d; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 15)) a = e; // error ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 15)) b = a; ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 15)) b = i; ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 7)) ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 15)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 15)) b = d; ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 15)) b = e; // error ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 15)) i = a; ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 7)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 15)) i = b; ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 7)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 15)) i = d; ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 7)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 15)) i = e; // error ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 7)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 15)) d = a; ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 7)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 15)) d = b; ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 7)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 15)) d = i; ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 7)) ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 7)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 15)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 15)) d = e; // error ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 7)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 15)) e = a; // errror ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 7)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 12, 15)) e = b; // errror ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 7)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 13, 15)) e = i; // errror ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 7)) ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 7)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 15)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 14, 15)) e = d; // errror ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 7)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 24, 15)) e = e; ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 7)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 25, 15)) } @@ -157,21 +157,21 @@ namespace TargetIsPublic { >Base : Symbol(Base, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 55, 26)) } - var a: { foo: string; } ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 7)) ->foo : Symbol(foo, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 12)) + declare var a: { foo: string; }; +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 15)) +>foo : Symbol(foo, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 20)) - var b: Base; ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 7)) + declare var b: Base; +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 15)) >Base : Symbol(Base, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 55, 26)) - var i: I; ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 7)) + declare var i: I; +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 15)) >I : Symbol(I, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 59, 5)) // sources class D { ->D : Symbol(D, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 13)) +>D : Symbol(D, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 21)) public foo: string; >foo : Symbol(D.foo, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 69, 13)) @@ -184,104 +184,104 @@ namespace TargetIsPublic { >foo : Symbol(E.foo, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 73, 13)) } - var d: D; ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 7)) ->D : Symbol(D, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 13)) + declare var d: D; +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 15)) +>D : Symbol(D, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 21)) - var e: E; ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 7)) + declare var e: E; +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 15)) >E : Symbol(E, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 71, 5)) a = b; // error ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 15)) a = i; // error ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 7)) ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 15)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 15)) a = d; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 15)) a = e; // error ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 15)) b = a; // error ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 15)) b = i; ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 7)) ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 15)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 15)) b = d; // error ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 15)) b = e; // error ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 15)) b = b; ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 15)) i = a; // error ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 7)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 15)) i = b; ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 7)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 15)) i = d; // error ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 7)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 15)) i = e; // error ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 7)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 15)) i = i; ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 7)) ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 7)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 15)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 15)) d = a; ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 7)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 15)) d = b; // error ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 7)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 15)) d = i; // error ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 7)) ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 7)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 15)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 15)) d = e; // error ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 7)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 15)) e = a; // errror ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 7)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 64, 15)) e = b; // errror ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 7)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 65, 15)) e = i; // errror ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 7)) ->i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 7)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 15)) +>i : Symbol(i, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 66, 15)) e = d; // errror ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 7)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 77, 15)) e = e; ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 7)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersAccessibility.ts, 78, 15)) } diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types index bb9d29095276c..afd00c67b2dda 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types @@ -23,17 +23,17 @@ namespace TargetIsPublic { > : ^^^^^^ } - var a: { foo: string; } + declare var a: { foo: string; }; >a : { foo: string; } > : ^^^^^^^ ^^^ >foo : string > : ^^^^^^ - var b: Base; + declare var b: Base; >b : Base > : ^^^^ - var i: I; + declare var i: I; >i : I > : ^ @@ -55,11 +55,11 @@ namespace TargetIsPublic { >foo : string > : ^^^^^^ } - var d: D; + declare var d: D; >d : D > : ^ - var e: E; + declare var e: E; >e : E > : ^ @@ -250,17 +250,17 @@ namespace TargetIsPublic { interface I extends Base { } - var a: { foo: string; } + declare var a: { foo: string; }; >a : { foo: string; } > : ^^^^^^^ ^^^ >foo : string > : ^^^^^^ - var b: Base; + declare var b: Base; >b : Base > : ^^^^ - var i: I; + declare var i: I; >i : I > : ^ @@ -283,11 +283,11 @@ namespace TargetIsPublic { > : ^^^^^^ } - var d: D; + declare var d: D; >d : D > : ^ - var e: E; + declare var e: E; >e : E > : ^ diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.errors.txt b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.errors.txt index 30f75f0b2d1e8..48356967652b5 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.errors.txt @@ -24,9 +24,9 @@ assignmentCompatWithObjectMembersOptionality.ts(84,5): error TS2322: Type 'E' is interface C { opt?: Base } - var c: C; + declare var c: C; - var a: { opt?: Base; } + declare var a: { opt?: Base; }; var b: typeof a = { opt: new Base() } // sources @@ -39,9 +39,9 @@ assignmentCompatWithObjectMembersOptionality.ts(84,5): error TS2322: Type 'E' is interface F { opt?: Derived; } - var d: D; - var e: E; - var f: F; + declare var d: D; + declare var e: E; + declare var f: F; // all ok c = d; @@ -66,9 +66,9 @@ assignmentCompatWithObjectMembersOptionality.ts(84,5): error TS2322: Type 'E' is interface C { opt: Base } - var c: C; + declare var c: C; - var a: { opt: Base; } + declare var a: { opt: Base; }; var b = { opt: new Base() } // sources @@ -81,9 +81,9 @@ assignmentCompatWithObjectMembersOptionality.ts(84,5): error TS2322: Type 'E' is interface F { opt: Derived; } - var d: D; - var e: E; - var f: F; + declare var d: D; + declare var e: E; + declare var f: F; c = d; // error ~ diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.js b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.js index 2c76b037ad1a6..afd0d3f76c549 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.js +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.js @@ -12,9 +12,9 @@ namespace TargetHasOptional { interface C { opt?: Base } - var c: C; + declare var c: C; - var a: { opt?: Base; } + declare var a: { opt?: Base; }; var b: typeof a = { opt: new Base() } // sources @@ -27,9 +27,9 @@ namespace TargetHasOptional { interface F { opt?: Derived; } - var d: D; - var e: E; - var f: F; + declare var d: D; + declare var e: E; + declare var f: F; // all ok c = d; @@ -54,9 +54,9 @@ namespace SourceHasOptional { interface C { opt: Base } - var c: C; + declare var c: C; - var a: { opt: Base; } + declare var a: { opt: Base; }; var b = { opt: new Base() } // sources @@ -69,9 +69,9 @@ namespace SourceHasOptional { interface F { opt: Derived; } - var d: D; - var e: E; - var f: F; + declare var d: D; + declare var e: E; + declare var f: F; c = d; // error c = e; // error @@ -128,12 +128,7 @@ var Derived2 = /** @class */ (function (_super) { }(Derived)); var TargetHasOptional; (function (TargetHasOptional) { - var c; - var a; var b = { opt: new Base() }; - var d; - var e; - var f; // all ok c = d; c = e; @@ -151,12 +146,7 @@ var TargetHasOptional; })(TargetHasOptional || (TargetHasOptional = {})); var SourceHasOptional; (function (SourceHasOptional) { - var c; - var a; var b = { opt: new Base() }; - var d; - var e; - var f; c = d; // error c = e; // error c = f; // ok diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.symbols b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.symbols index 5972a0e8014ef..c9c1162e40232 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.symbols +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.symbols @@ -28,18 +28,18 @@ namespace TargetHasOptional { >opt : Symbol(C.opt, Decl(assignmentCompatWithObjectMembersOptionality.ts, 8, 17)) >Base : Symbol(Base, Decl(assignmentCompatWithObjectMembersOptionality.ts, 0, 0)) } - var c: C; ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 11, 7)) + declare var c: C; +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 11, 15)) >C : Symbol(C, Decl(assignmentCompatWithObjectMembersOptionality.ts, 6, 29)) - var a: { opt?: Base; } ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 7)) ->opt : Symbol(opt, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 12)) + declare var a: { opt?: Base; }; +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 15)) +>opt : Symbol(opt, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 20)) >Base : Symbol(Base, Decl(assignmentCompatWithObjectMembersOptionality.ts, 0, 0)) var b: typeof a = { opt: new Base() } >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality.ts, 14, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 15)) >opt : Symbol(opt, Decl(assignmentCompatWithObjectMembersOptionality.ts, 14, 23)) >Base : Symbol(Base, Decl(assignmentCompatWithObjectMembersOptionality.ts, 0, 0)) @@ -65,70 +65,70 @@ namespace TargetHasOptional { >opt : Symbol(F.opt, Decl(assignmentCompatWithObjectMembersOptionality.ts, 23, 17)) >Derived : Symbol(Derived, Decl(assignmentCompatWithObjectMembersOptionality.ts, 2, 27)) } - var d: D; ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 26, 7)) + declare var d: D; +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 26, 15)) >D : Symbol(D, Decl(assignmentCompatWithObjectMembersOptionality.ts, 14, 41)) - var e: E; ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 27, 7)) + declare var e: E; +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 27, 15)) >E : Symbol(E, Decl(assignmentCompatWithObjectMembersOptionality.ts, 19, 5)) - var f: F; ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 28, 7)) + declare var f: F; +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 28, 15)) >F : Symbol(F, Decl(assignmentCompatWithObjectMembersOptionality.ts, 22, 5)) // all ok c = d; ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 11, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 26, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 11, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 26, 15)) c = e; ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 11, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 27, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 11, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 27, 15)) c = f; ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 11, 7)) ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 28, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 11, 15)) +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 28, 15)) c = a; ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 11, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 11, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 15)) a = d; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 26, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 26, 15)) a = e; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 27, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 27, 15)) a = f; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 7)) ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 28, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 15)) +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 28, 15)) a = c; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 7)) ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 11, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 15)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 11, 15)) b = d; >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality.ts, 14, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 26, 7)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 26, 15)) b = e; >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality.ts, 14, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 27, 7)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 27, 15)) b = f; >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality.ts, 14, 7)) ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 28, 7)) +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 28, 15)) b = a; >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality.ts, 14, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 13, 15)) b = c; >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality.ts, 14, 7)) ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 11, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 11, 15)) } namespace SourceHasOptional { @@ -142,13 +142,13 @@ namespace SourceHasOptional { >opt : Symbol(C.opt, Decl(assignmentCompatWithObjectMembersOptionality.ts, 50, 17)) >Base : Symbol(Base, Decl(assignmentCompatWithObjectMembersOptionality.ts, 0, 0)) } - var c: C; ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 53, 7)) + declare var c: C; +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 53, 15)) >C : Symbol(C, Decl(assignmentCompatWithObjectMembersOptionality.ts, 48, 29)) - var a: { opt: Base; } ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 7)) ->opt : Symbol(opt, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 12)) + declare var a: { opt: Base; }; +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 15)) +>opt : Symbol(opt, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 20)) >Base : Symbol(Base, Decl(assignmentCompatWithObjectMembersOptionality.ts, 0, 0)) var b = { opt: new Base() } @@ -178,67 +178,67 @@ namespace SourceHasOptional { >opt : Symbol(F.opt, Decl(assignmentCompatWithObjectMembersOptionality.ts, 65, 17)) >Derived : Symbol(Derived, Decl(assignmentCompatWithObjectMembersOptionality.ts, 2, 27)) } - var d: D; ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 68, 7)) + declare var d: D; +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 68, 15)) >D : Symbol(D, Decl(assignmentCompatWithObjectMembersOptionality.ts, 56, 31)) - var e: E; ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 69, 7)) + declare var e: E; +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 69, 15)) >E : Symbol(E, Decl(assignmentCompatWithObjectMembersOptionality.ts, 61, 5)) - var f: F; ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 70, 7)) + declare var f: F; +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 70, 15)) >F : Symbol(F, Decl(assignmentCompatWithObjectMembersOptionality.ts, 64, 5)) c = d; // error ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 53, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 68, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 53, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 68, 15)) c = e; // error ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 53, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 69, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 53, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 69, 15)) c = f; // ok ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 53, 7)) ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 70, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 53, 15)) +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 70, 15)) c = a; // ok ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 53, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 53, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 15)) a = d; // error ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 68, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 68, 15)) a = e; // error ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 69, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 69, 15)) a = f; // ok ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 7)) ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 70, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 15)) +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 70, 15)) a = c; // ok ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 7)) ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 53, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 15)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 53, 15)) b = d; // error >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality.ts, 56, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 68, 7)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality.ts, 68, 15)) b = e; // error >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality.ts, 56, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 69, 7)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality.ts, 69, 15)) b = f; // ok >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality.ts, 56, 7)) ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 70, 7)) +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality.ts, 70, 15)) b = a; // ok >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality.ts, 56, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality.ts, 55, 15)) b = c; // ok >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality.ts, 56, 7)) ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 53, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality.ts, 53, 15)) } diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types index 513ba72180fd2..77454790263b3 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types @@ -35,11 +35,11 @@ namespace TargetHasOptional { >opt : Base > : ^^^^ } - var c: C; + declare var c: C; >c : C > : ^ - var a: { opt?: Base; } + declare var a: { opt?: Base; }; >a : { opt?: Base; } > : ^^^^^^^^ ^^^ >opt : Base @@ -75,15 +75,15 @@ namespace TargetHasOptional { >opt : Derived > : ^^^^^^^ } - var d: D; + declare var d: D; >d : D > : ^ - var e: E; + declare var e: E; >e : E > : ^ - var f: F; + declare var f: F; >f : F > : ^ @@ -203,11 +203,11 @@ namespace SourceHasOptional { >opt : Base > : ^^^^ } - var c: C; + declare var c: C; >c : C > : ^ - var a: { opt: Base; } + declare var a: { opt: Base; }; >a : { opt: Base; } > : ^^^^^^^ ^^^ >opt : Base @@ -241,15 +241,15 @@ namespace SourceHasOptional { >opt : Derived > : ^^^^^^^ } - var d: D; + declare var d: D; >d : D > : ^ - var e: E; + declare var e: E; >e : E > : ^ - var f: F; + declare var f: F; >f : F > : ^ diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.errors.txt b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.errors.txt index 73efbfd5551f7..98eaea88168af 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.errors.txt @@ -31,9 +31,9 @@ assignmentCompatWithObjectMembersOptionality2.ts(86,5): error TS2741: Property ' interface C { opt?: Base } - var c: C; + declare var c: C; - var a: { opt?: Base; } + declare var a: { opt?: Base; }; var b: typeof a = { opt: new Base() } // sources @@ -46,9 +46,9 @@ assignmentCompatWithObjectMembersOptionality2.ts(86,5): error TS2741: Property ' interface F { other?: Derived; } - var d: D; - var e: E; - var f: F; + declare var d: D; + declare var e: E; + declare var f: F; // disallowed by weak type checking c = d; @@ -91,9 +91,9 @@ assignmentCompatWithObjectMembersOptionality2.ts(86,5): error TS2741: Property ' interface C { opt: Base } - var c: C; + declare var c: C; - var a: { opt: Base; } + declare var a: { opt: Base; }; var b = { opt: new Base() } // sources @@ -106,9 +106,9 @@ assignmentCompatWithObjectMembersOptionality2.ts(86,5): error TS2741: Property ' interface F { other: Derived; } - var d: D; - var e: E; - var f: F; + declare var d: D; + declare var e: E; + declare var f: F; c = d; // error ~ @@ -127,15 +127,15 @@ assignmentCompatWithObjectMembersOptionality2.ts(86,5): error TS2741: Property ' a = d; // error ~ !!! error TS2741: Property 'opt' is missing in type 'D' but required in type '{ opt: Base; }'. -!!! related TS2728 assignmentCompatWithObjectMembersOptionality2.ts:57:14: 'opt' is declared here. +!!! related TS2728 assignmentCompatWithObjectMembersOptionality2.ts:57:22: 'opt' is declared here. a = e; // error ~ !!! error TS2741: Property 'opt' is missing in type 'E' but required in type '{ opt: Base; }'. -!!! related TS2728 assignmentCompatWithObjectMembersOptionality2.ts:57:14: 'opt' is declared here. +!!! related TS2728 assignmentCompatWithObjectMembersOptionality2.ts:57:22: 'opt' is declared here. a = f; // error ~ !!! error TS2741: Property 'opt' is missing in type 'F' but required in type '{ opt: Base; }'. -!!! related TS2728 assignmentCompatWithObjectMembersOptionality2.ts:57:14: 'opt' is declared here. +!!! related TS2728 assignmentCompatWithObjectMembersOptionality2.ts:57:22: 'opt' is declared here. a = c; // ok b = d; // error diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.js b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.js index 27948a4b8d238..a77437c73b151 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.js +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.js @@ -13,9 +13,9 @@ namespace TargetHasOptional { interface C { opt?: Base } - var c: C; + declare var c: C; - var a: { opt?: Base; } + declare var a: { opt?: Base; }; var b: typeof a = { opt: new Base() } // sources @@ -28,9 +28,9 @@ namespace TargetHasOptional { interface F { other?: Derived; } - var d: D; - var e: E; - var f: F; + declare var d: D; + declare var e: E; + declare var f: F; // disallowed by weak type checking c = d; @@ -55,9 +55,9 @@ namespace SourceHasOptional { interface C { opt: Base } - var c: C; + declare var c: C; - var a: { opt: Base; } + declare var a: { opt: Base; }; var b = { opt: new Base() } // sources @@ -70,9 +70,9 @@ namespace SourceHasOptional { interface F { other: Derived; } - var d: D; - var e: E; - var f: F; + declare var d: D; + declare var e: E; + declare var f: F; c = d; // error c = e; // error @@ -131,12 +131,7 @@ var Derived2 = /** @class */ (function (_super) { }(Derived)); var TargetHasOptional; (function (TargetHasOptional) { - var c; - var a; var b = { opt: new Base() }; - var d; - var e; - var f; // disallowed by weak type checking c = d; c = e; @@ -155,12 +150,7 @@ var TargetHasOptional; })(TargetHasOptional || (TargetHasOptional = {})); var SourceHasOptional; (function (SourceHasOptional) { - var c; - var a; var b = { opt: new Base() }; - var d; - var e; - var f; c = d; // error c = e; // error c = f; // error diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.symbols b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.symbols index 6346a4031e476..6cef7e0de6f15 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.symbols +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.symbols @@ -29,18 +29,18 @@ namespace TargetHasOptional { >opt : Symbol(C.opt, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 9, 17)) >Base : Symbol(Base, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 0, 0)) } - var c: C; ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 12, 7)) + declare var c: C; +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 12, 15)) >C : Symbol(C, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 7, 29)) - var a: { opt?: Base; } ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 7)) ->opt : Symbol(opt, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 12)) + declare var a: { opt?: Base; }; +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 15)) +>opt : Symbol(opt, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 20)) >Base : Symbol(Base, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 0, 0)) var b: typeof a = { opt: new Base() } >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 15, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 15)) >opt : Symbol(opt, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 15, 23)) >Base : Symbol(Base, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 0, 0)) @@ -66,71 +66,71 @@ namespace TargetHasOptional { >other : Symbol(F.other, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 24, 17)) >Derived : Symbol(Derived, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 3, 27)) } - var d: D; ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 27, 7)) + declare var d: D; +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 27, 15)) >D : Symbol(D, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 15, 41)) - var e: E; ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 28, 7)) + declare var e: E; +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 28, 15)) >E : Symbol(E, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 20, 5)) - var f: F; ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 29, 7)) + declare var f: F; +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 29, 15)) >F : Symbol(F, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 23, 5)) // disallowed by weak type checking c = d; ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 12, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 27, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 12, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 27, 15)) c = e; ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 12, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 28, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 12, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 28, 15)) c = f; ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 12, 7)) ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 29, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 12, 15)) +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 29, 15)) a = d; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 27, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 27, 15)) a = e; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 28, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 28, 15)) a = f; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 7)) ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 29, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 15)) +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 29, 15)) b = d; >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 15, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 27, 7)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 27, 15)) b = e; >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 15, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 28, 7)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 28, 15)) b = f; >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 15, 7)) ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 29, 7)) +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 29, 15)) // ok c = a; ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 12, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 12, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 15)) a = c; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 7)) ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 12, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 15)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 12, 15)) b = a; >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 15, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 14, 15)) b = c; >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 15, 7)) ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 12, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 12, 15)) } namespace SourceHasOptional { @@ -144,13 +144,13 @@ namespace SourceHasOptional { >opt : Symbol(C.opt, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 51, 17)) >Base : Symbol(Base, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 0, 0)) } - var c: C; ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 54, 7)) + declare var c: C; +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 54, 15)) >C : Symbol(C, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 49, 29)) - var a: { opt: Base; } ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 7)) ->opt : Symbol(opt, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 12)) + declare var a: { opt: Base; }; +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 15)) +>opt : Symbol(opt, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 20)) >Base : Symbol(Base, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 0, 0)) var b = { opt: new Base() } @@ -180,68 +180,68 @@ namespace SourceHasOptional { >other : Symbol(F.other, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 66, 17)) >Derived : Symbol(Derived, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 3, 27)) } - var d: D; ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 69, 7)) + declare var d: D; +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 69, 15)) >D : Symbol(D, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 57, 31)) - var e: E; ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 70, 7)) + declare var e: E; +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 70, 15)) >E : Symbol(E, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 62, 5)) - var f: F; ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 71, 7)) + declare var f: F; +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 71, 15)) >F : Symbol(F, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 65, 5)) c = d; // error ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 54, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 69, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 54, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 69, 15)) c = e; // error ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 54, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 70, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 54, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 70, 15)) c = f; // error ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 54, 7)) ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 71, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 54, 15)) +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 71, 15)) c = a; // ok ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 54, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 54, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 15)) a = d; // error ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 69, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 15)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 69, 15)) a = e; // error ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 70, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 15)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 70, 15)) a = f; // error ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 7)) ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 71, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 15)) +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 71, 15)) a = c; // ok ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 7)) ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 54, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 15)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 54, 15)) b = d; // error >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 57, 7)) ->d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 69, 7)) +>d : Symbol(d, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 69, 15)) b = e; // error >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 57, 7)) ->e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 70, 7)) +>e : Symbol(e, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 70, 15)) b = f; // error >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 57, 7)) ->f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 71, 7)) +>f : Symbol(f, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 71, 15)) b = a; // ok >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 57, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 56, 15)) b = c; // ok >b : Symbol(b, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 57, 7)) ->c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 54, 7)) +>c : Symbol(c, Decl(assignmentCompatWithObjectMembersOptionality2.ts, 54, 15)) } diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types index c637a7641c231..8b6e04d708d87 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types @@ -36,11 +36,11 @@ namespace TargetHasOptional { >opt : Base > : ^^^^ } - var c: C; + declare var c: C; >c : C > : ^ - var a: { opt?: Base; } + declare var a: { opt?: Base; }; >a : { opt?: Base; } > : ^^^^^^^^ ^^^ >opt : Base @@ -76,15 +76,15 @@ namespace TargetHasOptional { >other : Derived > : ^^^^^^^ } - var d: D; + declare var d: D; >d : D > : ^ - var e: E; + declare var e: E; >e : E > : ^ - var f: F; + declare var f: F; >f : F > : ^ @@ -205,11 +205,11 @@ namespace SourceHasOptional { >opt : Base > : ^^^^ } - var c: C; + declare var c: C; >c : C > : ^ - var a: { opt: Base; } + declare var a: { opt: Base; }; >a : { opt: Base; } > : ^^^^^^^ ^^^ >opt : Base @@ -243,15 +243,15 @@ namespace SourceHasOptional { >other : Derived > : ^^^^^^^ } - var d: D; + declare var d: D; >d : D > : ^ - var e: E; + declare var e: E; >e : E > : ^ - var f: F; + declare var f: F; >f : F > : ^ diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.errors.txt b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.errors.txt index 2c395ded5c6de..e48d9172b8958 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.errors.txt @@ -36,16 +36,16 @@ assignmentCompatWithObjectMembersStringNumericNames.ts(84,5): error TS2741: Prop namespace JustStrings { class S { '1': string; } class T { '1.': string; } - var s: S; - var t: T; + declare var s: S; + declare var t: T; interface S2 { '1': string; bar?: string } interface T2 { '1.0': string; baz?: string } - var s2: S2; - var t2: T2; + declare var s2: S2; + declare var t2: T2; - var a: { '1.': string; bar?: string } - var b: { '1.0': string; baz?: string } + declare var a: { '1.': string; bar?: string }; + declare var b: { '1.0': string; baz?: string }; var a2 = { '1.0': '' }; var b2 = { '1': '' }; @@ -88,23 +88,23 @@ assignmentCompatWithObjectMembersStringNumericNames.ts(84,5): error TS2741: Prop a = b; ~ !!! error TS2741: Property ''1.'' is missing in type '{ '1.0': string; baz?: string; }' but required in type '{ '1.': string; bar?: string; }'. -!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:15:14: ''1.'' is declared here. +!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:15:22: ''1.'' is declared here. b = a; ~ !!! error TS2741: Property ''1.0'' is missing in type '{ '1.': string; bar?: string; }' but required in type '{ '1.0': string; baz?: string; }'. -!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:16:14: ''1.0'' is declared here. +!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:16:22: ''1.0'' is declared here. a = s; ~ !!! error TS2741: Property ''1.'' is missing in type 'S' but required in type '{ '1.': string; bar?: string; }'. -!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:15:14: ''1.'' is declared here. +!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:15:22: ''1.'' is declared here. a = s2; ~ !!! error TS2741: Property ''1.'' is missing in type 'S2' but required in type '{ '1.': string; bar?: string; }'. -!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:15:14: ''1.'' is declared here. +!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:15:22: ''1.'' is declared here. a = a2; ~ !!! error TS2741: Property ''1.'' is missing in type '{ '1.0': string; }' but required in type '{ '1.': string; bar?: string; }'. -!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:15:14: ''1.'' is declared here. +!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:15:22: ''1.'' is declared here. a2 = b2; ~~ @@ -125,16 +125,16 @@ assignmentCompatWithObjectMembersStringNumericNames.ts(84,5): error TS2741: Prop namespace NumbersAndStrings { class S { '1': string; } class T { 1: string; } - var s: S; - var t: T; + declare var s: S; + declare var t: T; interface S2 { '1': string; bar?: string } interface T2 { 1.0: string; baz?: string } - var s2: S2; - var t2: T2; + declare var s2: S2; + declare var t2: T2; - var a: { '1.': string; bar?: string } - var b: { 1.0: string; baz?: string } + declare var a: { '1.': string; bar?: string }; + declare var b: { 1.0: string; baz?: string }; var a2 = { '1.0': '' }; var b2 = { 1.: '' }; @@ -159,27 +159,27 @@ assignmentCompatWithObjectMembersStringNumericNames.ts(84,5): error TS2741: Prop a = b; // error ~ !!! error TS2741: Property ''1.'' is missing in type '{ 1: string; baz?: string; }' but required in type '{ '1.': string; bar?: string; }'. -!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:56:14: ''1.'' is declared here. +!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:56:22: ''1.'' is declared here. b = a; // error ~ !!! error TS2741: Property '1.0' is missing in type '{ '1.': string; bar?: string; }' but required in type '{ 1: string; baz?: string; }'. -!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:57:14: '1.0' is declared here. +!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:57:22: '1.0' is declared here. a = s; // error ~ !!! error TS2741: Property ''1.'' is missing in type 'S' but required in type '{ '1.': string; bar?: string; }'. -!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:56:14: ''1.'' is declared here. +!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:56:22: ''1.'' is declared here. a = s2; // error ~ !!! error TS2741: Property ''1.'' is missing in type 'S2' but required in type '{ '1.': string; bar?: string; }'. -!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:56:14: ''1.'' is declared here. +!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:56:22: ''1.'' is declared here. a = a2; // error ~ !!! error TS2741: Property ''1.'' is missing in type '{ '1.0': string; }' but required in type '{ '1.': string; bar?: string; }'. -!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:56:14: ''1.'' is declared here. +!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:56:22: ''1.'' is declared here. a = b2; // error ~ !!! error TS2741: Property ''1.'' is missing in type '{ 1: string; }' but required in type '{ '1.': string; bar?: string; }'. -!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:56:14: ''1.'' is declared here. +!!! related TS2728 assignmentCompatWithObjectMembersStringNumericNames.ts:56:22: ''1.'' is declared here. a2 = b2; // error ~~ diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.js b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.js index 4d0aa624d2caa..a9fea11c20cfb 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.js +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.js @@ -7,16 +7,16 @@ namespace JustStrings { class S { '1': string; } class T { '1.': string; } - var s: S; - var t: T; + declare var s: S; + declare var t: T; interface S2 { '1': string; bar?: string } interface T2 { '1.0': string; baz?: string } - var s2: S2; - var t2: T2; + declare var s2: S2; + declare var t2: T2; - var a: { '1.': string; bar?: string } - var b: { '1.0': string; baz?: string } + declare var a: { '1.': string; bar?: string }; + declare var b: { '1.0': string; baz?: string }; var a2 = { '1.0': '' }; var b2 = { '1': '' }; @@ -48,16 +48,16 @@ namespace JustStrings { namespace NumbersAndStrings { class S { '1': string; } class T { 1: string; } - var s: S; - var t: T; + declare var s: S; + declare var t: T; interface S2 { '1': string; bar?: string } interface T2 { 1.0: string; baz?: string } - var s2: S2; - var t2: T2; + declare var s2: S2; + declare var t2: T2; - var a: { '1.': string; bar?: string } - var b: { 1.0: string; baz?: string } + declare var a: { '1.': string; bar?: string }; + declare var b: { 1.0: string; baz?: string }; var a2 = { '1.0': '' }; var b2 = { 1.: '' }; @@ -102,12 +102,6 @@ var JustStrings; } return T; }()); - var s; - var t; - var s2; - var t2; - var a; - var b; var a2 = { '1.0': '' }; var b2 = { '1': '' }; s = t; @@ -142,12 +136,6 @@ var NumbersAndStrings; } return T; }()); - var s; - var t; - var s2; - var t2; - var a; - var b; var a2 = { '1.0': '' }; var b2 = { 1.: '' }; s = t; // ok diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.symbols b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.symbols index 646e20437a410..ac70c58bcb488 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.symbols +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.symbols @@ -15,16 +15,16 @@ namespace JustStrings { >T : Symbol(T, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 4, 28)) >'1.' : Symbol(T['1.'], Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 5, 13)) - var s: S; ->s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 6, 7)) + declare var s: S; +>s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 6, 15)) >S : Symbol(S, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 3, 23)) - var t: T; ->t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 7, 7)) + declare var t: T; +>t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 7, 15)) >T : Symbol(T, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 4, 28)) interface S2 { '1': string; bar?: string } ->S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 7, 13)) +>S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 7, 21)) >'1' : Symbol(S2['1'], Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 9, 18)) >bar : Symbol(S2.bar, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 9, 31)) @@ -33,23 +33,23 @@ namespace JustStrings { >'1.0' : Symbol(T2['1.0'], Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 10, 18)) >baz : Symbol(T2.baz, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 10, 33)) - var s2: S2; ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 7)) ->S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 7, 13)) + declare var s2: S2; +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 15)) +>S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 7, 21)) - var t2: T2; ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 12, 7)) + declare var t2: T2; +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 12, 15)) >T2 : Symbol(T2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 9, 46)) - var a: { '1.': string; bar?: string } ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 7)) ->'1.' : Symbol('1.', Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 12)) ->bar : Symbol(bar, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 26)) + declare var a: { '1.': string; bar?: string }; +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 15)) +>'1.' : Symbol('1.', Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 20)) +>bar : Symbol(bar, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 34)) - var b: { '1.0': string; baz?: string } ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 15, 7)) ->'1.0' : Symbol('1.0', Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 15, 12)) ->baz : Symbol(baz, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 15, 27)) + declare var b: { '1.0': string; baz?: string }; +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 15, 15)) +>'1.0' : Symbol('1.0', Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 15, 20)) +>baz : Symbol(baz, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 15, 35)) var a2 = { '1.0': '' }; >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 17, 7)) @@ -60,59 +60,59 @@ namespace JustStrings { >'1' : Symbol('1', Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 18, 14)) s = t; ->s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 6, 7)) ->t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 7, 7)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 6, 15)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 7, 15)) t = s; ->t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 7, 7)) ->s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 6, 7)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 7, 15)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 6, 15)) s = s2; // ok ->s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 6, 7)) ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 7)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 6, 15)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 15)) s = a2; ->s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 6, 7)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 6, 15)) >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 17, 7)) s2 = t2; ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 7)) ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 12, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 15)) +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 12, 15)) t2 = s2; ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 12, 7)) ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 7)) +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 12, 15)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 15)) s2 = t; ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 7)) ->t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 7, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 15)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 7, 15)) s2 = b; ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 15, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 15, 15)) s2 = a2; ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 15)) >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 17, 7)) a = b; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 15, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 15, 15)) b = a; ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 15, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 15, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 15)) a = s; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 7)) ->s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 6, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 15)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 6, 15)) a = s2; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 7)) ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 15)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 11, 15)) a = a2; ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 14, 15)) >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 17, 7)) a2 = b2; @@ -125,15 +125,15 @@ namespace JustStrings { a2 = b; // ok >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 17, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 15, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 15, 15)) a2 = t2; // ok >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 17, 7)) ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 12, 7)) +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 12, 15)) a2 = t; >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 17, 7)) ->t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 7, 7)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 7, 15)) } namespace NumbersAndStrings { @@ -147,16 +147,16 @@ namespace NumbersAndStrings { >T : Symbol(T, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 45, 28)) >1 : Symbol(T[1], Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 46, 13)) - var s: S; ->s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 47, 7)) + declare var s: S; +>s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 47, 15)) >S : Symbol(S, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 44, 29)) - var t: T; ->t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 48, 7)) + declare var t: T; +>t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 48, 15)) >T : Symbol(T, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 45, 28)) interface S2 { '1': string; bar?: string } ->S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 48, 13)) +>S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 48, 21)) >'1' : Symbol(S2['1'], Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 50, 18)) >bar : Symbol(S2.bar, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 50, 31)) @@ -165,23 +165,23 @@ namespace NumbersAndStrings { >1.0 : Symbol(T2[1.0], Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 51, 18)) >baz : Symbol(T2.baz, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 51, 31)) - var s2: S2; ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 7)) ->S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 48, 13)) + declare var s2: S2; +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 15)) +>S2 : Symbol(S2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 48, 21)) - var t2: T2; ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 53, 7)) + declare var t2: T2; +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 53, 15)) >T2 : Symbol(T2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 50, 46)) - var a: { '1.': string; bar?: string } ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 7)) ->'1.' : Symbol('1.', Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 12)) ->bar : Symbol(bar, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 26)) + declare var a: { '1.': string; bar?: string }; +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 15)) +>'1.' : Symbol('1.', Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 20)) +>bar : Symbol(bar, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 34)) - var b: { 1.0: string; baz?: string } ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 56, 7)) ->1.0 : Symbol(1.0, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 56, 12)) ->baz : Symbol(baz, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 56, 25)) + declare var b: { 1.0: string; baz?: string }; +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 56, 15)) +>1.0 : Symbol(1.0, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 56, 20)) +>baz : Symbol(baz, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 56, 33)) var a2 = { '1.0': '' }; >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 58, 7)) @@ -192,63 +192,63 @@ namespace NumbersAndStrings { >1. : Symbol(1., Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 59, 14)) s = t; // ok ->s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 47, 7)) ->t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 48, 7)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 47, 15)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 48, 15)) t = s; // ok ->t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 48, 7)) ->s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 47, 7)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 48, 15)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 47, 15)) s = s2; // ok ->s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 47, 7)) ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 7)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 47, 15)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 15)) s = a2; // error ->s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 47, 7)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 47, 15)) >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 58, 7)) s2 = t2; // ok ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 7)) ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 53, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 15)) +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 53, 15)) t2 = s2; // ok ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 53, 7)) ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 7)) +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 53, 15)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 15)) s2 = t; // ok ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 7)) ->t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 48, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 15)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 48, 15)) s2 = b; // ok ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 56, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 56, 15)) s2 = a2; // error ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 7)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 15)) >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 58, 7)) a = b; // error ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 56, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 15)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 56, 15)) b = a; // error ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 56, 7)) ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 56, 15)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 15)) a = s; // error ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 7)) ->s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 47, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 15)) +>s : Symbol(s, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 47, 15)) a = s2; // error ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 7)) ->s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 15)) +>s2 : Symbol(s2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 52, 15)) a = a2; // error ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 15)) >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 58, 7)) a = b2; // error ->a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 7)) +>a : Symbol(a, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 55, 15)) >b2 : Symbol(b2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 59, 7)) a2 = b2; // error @@ -261,13 +261,13 @@ namespace NumbersAndStrings { a2 = b; // error >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 58, 7)) ->b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 56, 7)) +>b : Symbol(b, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 56, 15)) a2 = t2; // error >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 58, 7)) ->t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 53, 7)) +>t2 : Symbol(t2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 53, 15)) a2 = t; // error >a2 : Symbol(a2, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 58, 7)) ->t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 48, 7)) +>t : Symbol(t, Decl(assignmentCompatWithObjectMembersStringNumericNames.ts, 48, 15)) } diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types index f20ca2bebc6d2..2016d35d6fa9c 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types @@ -20,11 +20,11 @@ namespace JustStrings { >'1.' : string > : ^^^^^^ - var s: S; + declare var s: S; >s : S > : ^ - var t: T; + declare var t: T; >t : T > : ^ @@ -40,15 +40,15 @@ namespace JustStrings { >baz : string > : ^^^^^^ - var s2: S2; + declare var s2: S2; >s2 : S2 > : ^^ - var t2: T2; + declare var t2: T2; >t2 : T2 > : ^^ - var a: { '1.': string; bar?: string } + declare var a: { '1.': string; bar?: string }; >a : { '1.': string; bar?: string; } > : ^^^^^^^^ ^^^^^^^^ ^^^ >'1.' : string @@ -56,7 +56,7 @@ namespace JustStrings { >bar : string > : ^^^^^^ - var b: { '1.0': string; baz?: string } + declare var b: { '1.0': string; baz?: string }; >b : { '1.0': string; baz?: string; } > : ^^^^^^^^^ ^^^^^^^^ ^^^ >'1.0' : string @@ -253,11 +253,11 @@ namespace NumbersAndStrings { >1 : string > : ^^^^^^ - var s: S; + declare var s: S; >s : S > : ^ - var t: T; + declare var t: T; >t : T > : ^ @@ -273,15 +273,15 @@ namespace NumbersAndStrings { >baz : string > : ^^^^^^ - var s2: S2; + declare var s2: S2; >s2 : S2 > : ^^ - var t2: T2; + declare var t2: T2; >t2 : T2 > : ^^ - var a: { '1.': string; bar?: string } + declare var a: { '1.': string; bar?: string }; >a : { '1.': string; bar?: string; } > : ^^^^^^^^ ^^^^^^^^ ^^^ >'1.' : string @@ -289,7 +289,7 @@ namespace NumbersAndStrings { >bar : string > : ^^^^^^ - var b: { 1.0: string; baz?: string } + declare var b: { 1.0: string; baz?: string }; >b : { 1: string; baz?: string; } > : ^^^^^ ^^^^^^^^ ^^^ >1.0 : string diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer.errors.txt b/tests/baselines/reference/assignmentCompatWithStringIndexer.errors.txt index 33184907db2a8..fa5e764d17b2d 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer.errors.txt @@ -39,9 +39,9 @@ assignmentCompatWithStringIndexer.ts(51,9): error TS2322: Type 'A' is not ass [x: string]: Base; } - var a: A; + declare var a: A; - var b: { [x: string]: Derived; } + declare var b: { [x: string]: Derived; }; a = b; // ok b = a; // error ~ @@ -50,7 +50,7 @@ assignmentCompatWithStringIndexer.ts(51,9): error TS2322: Type 'A' is not ass !!! error TS2322: Property 'bar' is missing in type 'Base' but required in type 'Derived'. !!! related TS2728 assignmentCompatWithStringIndexer.ts:4:34: 'bar' is declared here. - var b2: { [x: string]: Derived2; } + declare var b2: { [x: string]: Derived2; }; a = b2; // ok b2 = a; // error ~~ @@ -67,8 +67,8 @@ assignmentCompatWithStringIndexer.ts(51,9): error TS2322: Type 'A' is not ass [x: string]: Derived; // ok } - var b1: { [x: string]: Derived; }; - var a1: A; + declare var b1: { [x: string]: Derived; }; + declare var a1: A; a1 = b1; // ok b1 = a1; // error ~~ @@ -81,7 +81,7 @@ assignmentCompatWithStringIndexer.ts(51,9): error TS2322: Type 'A' is not ass [x: string]: Derived2; // ok } - var b2: { [x: string]: Derived2; }; + declare var b2: { [x: string]: Derived2; }; a1 = b2; // ok b2 = a1; // error ~~ @@ -120,4 +120,5 @@ assignmentCompatWithStringIndexer.ts(51,9): error TS2322: Type 'A' is not ass !!! error TS2322: Type 'T' is not assignable to type 'Derived2'. !!! error TS2322: Type 'Base' is missing the following properties from type 'Derived2': baz, bar } - } \ No newline at end of file + } + \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer.js b/tests/baselines/reference/assignmentCompatWithStringIndexer.js index 37045f4439b33..ec0713fcc280a 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer.js +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer.js @@ -11,13 +11,13 @@ class A { [x: string]: Base; } -var a: A; +declare var a: A; -var b: { [x: string]: Derived; } +declare var b: { [x: string]: Derived; }; a = b; // ok b = a; // error -var b2: { [x: string]: Derived2; } +declare var b2: { [x: string]: Derived2; }; a = b2; // ok b2 = a; // error @@ -30,8 +30,8 @@ namespace Generics { [x: string]: Derived; // ok } - var b1: { [x: string]: Derived; }; - var a1: A; + declare var b1: { [x: string]: Derived; }; + declare var a1: A; a1 = b1; // ok b1 = a1; // error @@ -39,7 +39,7 @@ namespace Generics { [x: string]: Derived2; // ok } - var b2: { [x: string]: Derived2; }; + declare var b2: { [x: string]: Derived2; }; a1 = b2; // ok b2 = a1; // error @@ -53,7 +53,8 @@ namespace Generics { a3 = b4; // error b4 = a3; // error } -} +} + //// [assignmentCompatWithStringIndexer.js] // index signatures must be compatible in assignments @@ -77,11 +78,8 @@ var A = /** @class */ (function () { } return A; }()); -var a; -var b; a = b; // ok b = a; // error -var b2; a = b2; // ok b2 = a; // error var Generics; @@ -98,8 +96,6 @@ var Generics; } return B; }(A)); - var b1; - var a1; a1 = b1; // ok b1 = a1; // error var B2 = /** @class */ (function (_super) { @@ -109,7 +105,6 @@ var Generics; } return B2; }(A)); - var b2; a1 = b2; // ok b2 = a1; // error function foo() { diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer.symbols b/tests/baselines/reference/assignmentCompatWithStringIndexer.symbols index 473f4a7ae67e5..838cbc3452e85 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer.symbols +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer.symbols @@ -25,35 +25,35 @@ class A { >Base : Symbol(Base, Decl(assignmentCompatWithStringIndexer.ts, 0, 0)) } -var a: A; ->a : Symbol(a, Decl(assignmentCompatWithStringIndexer.ts, 10, 3)) +declare var a: A; +>a : Symbol(a, Decl(assignmentCompatWithStringIndexer.ts, 10, 11)) >A : Symbol(A, Decl(assignmentCompatWithStringIndexer.ts, 4, 51)) -var b: { [x: string]: Derived; } ->b : Symbol(b, Decl(assignmentCompatWithStringIndexer.ts, 12, 3)) ->x : Symbol(x, Decl(assignmentCompatWithStringIndexer.ts, 12, 10)) +declare var b: { [x: string]: Derived; }; +>b : Symbol(b, Decl(assignmentCompatWithStringIndexer.ts, 12, 11)) +>x : Symbol(x, Decl(assignmentCompatWithStringIndexer.ts, 12, 18)) >Derived : Symbol(Derived, Decl(assignmentCompatWithStringIndexer.ts, 2, 31)) a = b; // ok ->a : Symbol(a, Decl(assignmentCompatWithStringIndexer.ts, 10, 3)) ->b : Symbol(b, Decl(assignmentCompatWithStringIndexer.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithStringIndexer.ts, 10, 11)) +>b : Symbol(b, Decl(assignmentCompatWithStringIndexer.ts, 12, 11)) b = a; // error ->b : Symbol(b, Decl(assignmentCompatWithStringIndexer.ts, 12, 3)) ->a : Symbol(a, Decl(assignmentCompatWithStringIndexer.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithStringIndexer.ts, 12, 11)) +>a : Symbol(a, Decl(assignmentCompatWithStringIndexer.ts, 10, 11)) -var b2: { [x: string]: Derived2; } ->b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer.ts, 16, 3)) ->x : Symbol(x, Decl(assignmentCompatWithStringIndexer.ts, 16, 11)) +declare var b2: { [x: string]: Derived2; }; +>b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer.ts, 16, 11)) +>x : Symbol(x, Decl(assignmentCompatWithStringIndexer.ts, 16, 19)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithStringIndexer.ts, 3, 47)) a = b2; // ok ->a : Symbol(a, Decl(assignmentCompatWithStringIndexer.ts, 10, 3)) ->b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer.ts, 16, 3)) +>a : Symbol(a, Decl(assignmentCompatWithStringIndexer.ts, 10, 11)) +>b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer.ts, 16, 11)) b2 = a; // error ->b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer.ts, 16, 3)) ->a : Symbol(a, Decl(assignmentCompatWithStringIndexer.ts, 10, 3)) +>b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer.ts, 16, 11)) +>a : Symbol(a, Decl(assignmentCompatWithStringIndexer.ts, 10, 11)) namespace Generics { >Generics : Symbol(Generics, Decl(assignmentCompatWithStringIndexer.ts, 18, 7)) @@ -78,23 +78,23 @@ namespace Generics { >Derived : Symbol(Derived, Decl(assignmentCompatWithStringIndexer.ts, 2, 31)) } - var b1: { [x: string]: Derived; }; ->b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer.ts, 29, 7)) ->x : Symbol(x, Decl(assignmentCompatWithStringIndexer.ts, 29, 15)) + declare var b1: { [x: string]: Derived; }; +>b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer.ts, 29, 15)) +>x : Symbol(x, Decl(assignmentCompatWithStringIndexer.ts, 29, 23)) >Derived : Symbol(Derived, Decl(assignmentCompatWithStringIndexer.ts, 2, 31)) - var a1: A; ->a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer.ts, 30, 7)) + declare var a1: A; +>a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer.ts, 30, 15)) >A : Symbol(A, Decl(assignmentCompatWithStringIndexer.ts, 20, 20)) >Base : Symbol(Base, Decl(assignmentCompatWithStringIndexer.ts, 0, 0)) a1 = b1; // ok ->a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer.ts, 30, 7)) ->b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer.ts, 29, 7)) +>a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer.ts, 30, 15)) +>b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer.ts, 29, 15)) b1 = a1; // error ->b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer.ts, 29, 7)) ->a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer.ts, 30, 7)) +>b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer.ts, 29, 15)) +>a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer.ts, 30, 15)) class B2 extends A { >B2 : Symbol(B2, Decl(assignmentCompatWithStringIndexer.ts, 32, 12)) @@ -106,18 +106,18 @@ namespace Generics { >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithStringIndexer.ts, 3, 47)) } - var b2: { [x: string]: Derived2; }; ->b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer.ts, 38, 7)) ->x : Symbol(x, Decl(assignmentCompatWithStringIndexer.ts, 38, 15)) + declare var b2: { [x: string]: Derived2; }; +>b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer.ts, 38, 15)) +>x : Symbol(x, Decl(assignmentCompatWithStringIndexer.ts, 38, 23)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithStringIndexer.ts, 3, 47)) a1 = b2; // ok ->a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer.ts, 30, 7)) ->b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer.ts, 38, 7)) +>a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer.ts, 30, 15)) +>b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer.ts, 38, 15)) b2 = a1; // error ->b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer.ts, 38, 7)) ->a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer.ts, 30, 7)) +>b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer.ts, 38, 15)) +>a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer.ts, 30, 15)) function foo() { >foo : Symbol(foo, Decl(assignmentCompatWithStringIndexer.ts, 40, 12)) @@ -156,3 +156,4 @@ namespace Generics { >a3 : Symbol(a3, Decl(assignmentCompatWithStringIndexer.ts, 44, 11)) } } + diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer.types b/tests/baselines/reference/assignmentCompatWithStringIndexer.types index 73d9544240f0a..596b193a9f9d6 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer.types +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer.types @@ -24,11 +24,11 @@ class A { > : ^^^^^^ } -var a: A; +declare var a: A; >a : A > : ^ -var b: { [x: string]: Derived; } +declare var b: { [x: string]: Derived; }; >b : { [x: string]: Derived; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string @@ -50,7 +50,7 @@ b = a; // error >a : A > : ^ -var b2: { [x: string]: Derived2; } +declare var b2: { [x: string]: Derived2; }; >b2 : { [x: string]: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string @@ -96,13 +96,13 @@ namespace Generics { > : ^^^^^^ } - var b1: { [x: string]: Derived; }; + declare var b1: { [x: string]: Derived; }; >b1 : { [x: string]: Derived; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string > : ^^^^^^ - var a1: A; + declare var a1: A; >a1 : A > : ^^^^^^^ @@ -133,7 +133,7 @@ namespace Generics { > : ^^^^^^ } - var b2: { [x: string]: Derived2; }; + declare var b2: { [x: string]: Derived2; }; >b2 : { [x: string]: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string @@ -208,3 +208,4 @@ namespace Generics { > : ^^^^ } } + diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer2.errors.txt b/tests/baselines/reference/assignmentCompatWithStringIndexer2.errors.txt index c2a99920604c6..6816898284894 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer2.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer2.errors.txt @@ -39,9 +39,9 @@ assignmentCompatWithStringIndexer2.ts(51,9): error TS2322: Type 'A' is not as [x: string]: Base; } - var a: A; + declare var a: A; - var b: { [x: string]: Derived; } + declare var b: { [x: string]: Derived; }; a = b; // ok b = a; // error ~ @@ -50,7 +50,7 @@ assignmentCompatWithStringIndexer2.ts(51,9): error TS2322: Type 'A' is not as !!! error TS2322: Property 'bar' is missing in type 'Base' but required in type 'Derived'. !!! related TS2728 assignmentCompatWithStringIndexer2.ts:4:34: 'bar' is declared here. - var b2: { [x: string]: Derived2; } + declare var b2: { [x: string]: Derived2; }; a = b2; // ok b2 = a; // error ~~ @@ -67,8 +67,8 @@ assignmentCompatWithStringIndexer2.ts(51,9): error TS2322: Type 'A' is not as [x: string]: Derived; // ok } - var b1: { [x: string]: Derived; }; - var a1: A; + declare var b1: { [x: string]: Derived; }; + declare var a1: A; a1 = b1; // ok b1 = a1; // error ~~ @@ -81,7 +81,7 @@ assignmentCompatWithStringIndexer2.ts(51,9): error TS2322: Type 'A' is not as [x: string]: Derived2; // ok } - var b2: { [x: string]: Derived2; }; + declare var b2: { [x: string]: Derived2; }; a1 = b2; // ok b2 = a1; // error ~~ @@ -90,8 +90,8 @@ assignmentCompatWithStringIndexer2.ts(51,9): error TS2322: Type 'A' is not as !!! error TS2322: Type 'Base' is missing the following properties from type 'Derived2': baz, bar function foo() { - var b3: { [x: string]: Derived; }; - var a3: A; + var b3!: { [x: string]: Derived; }; + var a3!: A; a3 = b3; // error ~~ !!! error TS2322: Type '{ [x: string]: Derived; }' is not assignable to type 'A'. @@ -106,7 +106,7 @@ assignmentCompatWithStringIndexer2.ts(51,9): error TS2322: Type 'A' is not as !!! error TS2322: Property 'bar' is missing in type 'Base' but required in type 'Derived'. !!! related TS2728 assignmentCompatWithStringIndexer2.ts:4:34: 'bar' is declared here. - var b4: { [x: string]: Derived2; }; + var b4!: { [x: string]: Derived2; }; a3 = b4; // error ~~ !!! error TS2322: Type '{ [x: string]: Derived2; }' is not assignable to type 'A'. diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer2.js b/tests/baselines/reference/assignmentCompatWithStringIndexer2.js index 38bf435af0526..7f734d1629d65 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer2.js +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer2.js @@ -11,13 +11,13 @@ interface A { [x: string]: Base; } -var a: A; +declare var a: A; -var b: { [x: string]: Derived; } +declare var b: { [x: string]: Derived; }; a = b; // ok b = a; // error -var b2: { [x: string]: Derived2; } +declare var b2: { [x: string]: Derived2; }; a = b2; // ok b2 = a; // error @@ -30,8 +30,8 @@ namespace Generics { [x: string]: Derived; // ok } - var b1: { [x: string]: Derived; }; - var a1: A; + declare var b1: { [x: string]: Derived; }; + declare var a1: A; a1 = b1; // ok b1 = a1; // error @@ -39,17 +39,17 @@ namespace Generics { [x: string]: Derived2; // ok } - var b2: { [x: string]: Derived2; }; + declare var b2: { [x: string]: Derived2; }; a1 = b2; // ok b2 = a1; // error function foo() { - var b3: { [x: string]: Derived; }; - var a3: A; + var b3!: { [x: string]: Derived; }; + var a3!: A; a3 = b3; // error b3 = a3; // error - var b4: { [x: string]: Derived2; }; + var b4!: { [x: string]: Derived2; }; a3 = b4; // error b4 = a3; // error } @@ -57,20 +57,14 @@ namespace Generics { //// [assignmentCompatWithStringIndexer2.js] // index signatures must be compatible in assignments -var a; -var b; a = b; // ok b = a; // error -var b2; a = b2; // ok b2 = a; // error var Generics; (function (Generics) { - var b1; - var a1; a1 = b1; // ok b1 = a1; // error - var b2; a1 = b2; // ok b2 = a1; // error function foo() { diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer2.symbols b/tests/baselines/reference/assignmentCompatWithStringIndexer2.symbols index 6814fdcf21590..558d74b014607 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer2.symbols +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer2.symbols @@ -25,35 +25,35 @@ interface A { >Base : Symbol(Base, Decl(assignmentCompatWithStringIndexer2.ts, 0, 0)) } -var a: A; ->a : Symbol(a, Decl(assignmentCompatWithStringIndexer2.ts, 10, 3)) +declare var a: A; +>a : Symbol(a, Decl(assignmentCompatWithStringIndexer2.ts, 10, 11)) >A : Symbol(A, Decl(assignmentCompatWithStringIndexer2.ts, 4, 51)) -var b: { [x: string]: Derived; } ->b : Symbol(b, Decl(assignmentCompatWithStringIndexer2.ts, 12, 3)) ->x : Symbol(x, Decl(assignmentCompatWithStringIndexer2.ts, 12, 10)) +declare var b: { [x: string]: Derived; }; +>b : Symbol(b, Decl(assignmentCompatWithStringIndexer2.ts, 12, 11)) +>x : Symbol(x, Decl(assignmentCompatWithStringIndexer2.ts, 12, 18)) >Derived : Symbol(Derived, Decl(assignmentCompatWithStringIndexer2.ts, 2, 31)) a = b; // ok ->a : Symbol(a, Decl(assignmentCompatWithStringIndexer2.ts, 10, 3)) ->b : Symbol(b, Decl(assignmentCompatWithStringIndexer2.ts, 12, 3)) +>a : Symbol(a, Decl(assignmentCompatWithStringIndexer2.ts, 10, 11)) +>b : Symbol(b, Decl(assignmentCompatWithStringIndexer2.ts, 12, 11)) b = a; // error ->b : Symbol(b, Decl(assignmentCompatWithStringIndexer2.ts, 12, 3)) ->a : Symbol(a, Decl(assignmentCompatWithStringIndexer2.ts, 10, 3)) +>b : Symbol(b, Decl(assignmentCompatWithStringIndexer2.ts, 12, 11)) +>a : Symbol(a, Decl(assignmentCompatWithStringIndexer2.ts, 10, 11)) -var b2: { [x: string]: Derived2; } ->b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer2.ts, 16, 3)) ->x : Symbol(x, Decl(assignmentCompatWithStringIndexer2.ts, 16, 11)) +declare var b2: { [x: string]: Derived2; }; +>b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer2.ts, 16, 11)) +>x : Symbol(x, Decl(assignmentCompatWithStringIndexer2.ts, 16, 19)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithStringIndexer2.ts, 3, 47)) a = b2; // ok ->a : Symbol(a, Decl(assignmentCompatWithStringIndexer2.ts, 10, 3)) ->b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer2.ts, 16, 3)) +>a : Symbol(a, Decl(assignmentCompatWithStringIndexer2.ts, 10, 11)) +>b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer2.ts, 16, 11)) b2 = a; // error ->b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer2.ts, 16, 3)) ->a : Symbol(a, Decl(assignmentCompatWithStringIndexer2.ts, 10, 3)) +>b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer2.ts, 16, 11)) +>a : Symbol(a, Decl(assignmentCompatWithStringIndexer2.ts, 10, 11)) namespace Generics { >Generics : Symbol(Generics, Decl(assignmentCompatWithStringIndexer2.ts, 18, 7)) @@ -78,23 +78,23 @@ namespace Generics { >Derived : Symbol(Derived, Decl(assignmentCompatWithStringIndexer2.ts, 2, 31)) } - var b1: { [x: string]: Derived; }; ->b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer2.ts, 29, 7)) ->x : Symbol(x, Decl(assignmentCompatWithStringIndexer2.ts, 29, 15)) + declare var b1: { [x: string]: Derived; }; +>b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer2.ts, 29, 15)) +>x : Symbol(x, Decl(assignmentCompatWithStringIndexer2.ts, 29, 23)) >Derived : Symbol(Derived, Decl(assignmentCompatWithStringIndexer2.ts, 2, 31)) - var a1: A; ->a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer2.ts, 30, 7)) + declare var a1: A; +>a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer2.ts, 30, 15)) >A : Symbol(A, Decl(assignmentCompatWithStringIndexer2.ts, 20, 20)) >Base : Symbol(Base, Decl(assignmentCompatWithStringIndexer2.ts, 0, 0)) a1 = b1; // ok ->a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer2.ts, 30, 7)) ->b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer2.ts, 29, 7)) +>a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer2.ts, 30, 15)) +>b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer2.ts, 29, 15)) b1 = a1; // error ->b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer2.ts, 29, 7)) ->a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer2.ts, 30, 7)) +>b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer2.ts, 29, 15)) +>a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer2.ts, 30, 15)) interface B2 extends A { >B2 : Symbol(B2, Decl(assignmentCompatWithStringIndexer2.ts, 32, 12)) @@ -106,30 +106,30 @@ namespace Generics { >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithStringIndexer2.ts, 3, 47)) } - var b2: { [x: string]: Derived2; }; ->b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer2.ts, 38, 7)) ->x : Symbol(x, Decl(assignmentCompatWithStringIndexer2.ts, 38, 15)) + declare var b2: { [x: string]: Derived2; }; +>b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer2.ts, 38, 15)) +>x : Symbol(x, Decl(assignmentCompatWithStringIndexer2.ts, 38, 23)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithStringIndexer2.ts, 3, 47)) a1 = b2; // ok ->a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer2.ts, 30, 7)) ->b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer2.ts, 38, 7)) +>a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer2.ts, 30, 15)) +>b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer2.ts, 38, 15)) b2 = a1; // error ->b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer2.ts, 38, 7)) ->a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer2.ts, 30, 7)) +>b2 : Symbol(b2, Decl(assignmentCompatWithStringIndexer2.ts, 38, 15)) +>a1 : Symbol(a1, Decl(assignmentCompatWithStringIndexer2.ts, 30, 15)) function foo() { >foo : Symbol(foo, Decl(assignmentCompatWithStringIndexer2.ts, 40, 12)) >T : Symbol(T, Decl(assignmentCompatWithStringIndexer2.ts, 42, 17)) >Base : Symbol(Base, Decl(assignmentCompatWithStringIndexer2.ts, 0, 0)) - var b3: { [x: string]: Derived; }; + var b3!: { [x: string]: Derived; }; >b3 : Symbol(b3, Decl(assignmentCompatWithStringIndexer2.ts, 43, 11)) ->x : Symbol(x, Decl(assignmentCompatWithStringIndexer2.ts, 43, 19)) +>x : Symbol(x, Decl(assignmentCompatWithStringIndexer2.ts, 43, 20)) >Derived : Symbol(Derived, Decl(assignmentCompatWithStringIndexer2.ts, 2, 31)) - var a3: A; + var a3!: A; >a3 : Symbol(a3, Decl(assignmentCompatWithStringIndexer2.ts, 44, 11)) >A : Symbol(A, Decl(assignmentCompatWithStringIndexer2.ts, 20, 20)) >T : Symbol(T, Decl(assignmentCompatWithStringIndexer2.ts, 42, 17)) @@ -142,9 +142,9 @@ namespace Generics { >b3 : Symbol(b3, Decl(assignmentCompatWithStringIndexer2.ts, 43, 11)) >a3 : Symbol(a3, Decl(assignmentCompatWithStringIndexer2.ts, 44, 11)) - var b4: { [x: string]: Derived2; }; + var b4!: { [x: string]: Derived2; }; >b4 : Symbol(b4, Decl(assignmentCompatWithStringIndexer2.ts, 48, 11)) ->x : Symbol(x, Decl(assignmentCompatWithStringIndexer2.ts, 48, 19)) +>x : Symbol(x, Decl(assignmentCompatWithStringIndexer2.ts, 48, 20)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithStringIndexer2.ts, 3, 47)) a3 = b4; // error diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer2.types b/tests/baselines/reference/assignmentCompatWithStringIndexer2.types index 1d2fd6a0c1156..f387bb1d43353 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer2.types +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer2.types @@ -21,11 +21,11 @@ interface A { > : ^^^^^^ } -var a: A; +declare var a: A; >a : A > : ^ -var b: { [x: string]: Derived; } +declare var b: { [x: string]: Derived; }; >b : { [x: string]: Derived; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string @@ -47,7 +47,7 @@ b = a; // error >a : A > : ^ -var b2: { [x: string]: Derived2; } +declare var b2: { [x: string]: Derived2; }; >b2 : { [x: string]: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string @@ -85,13 +85,13 @@ namespace Generics { > : ^^^^^^ } - var b1: { [x: string]: Derived; }; + declare var b1: { [x: string]: Derived; }; >b1 : { [x: string]: Derived; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string > : ^^^^^^ - var a1: A; + declare var a1: A; >a1 : A > : ^^^^^^^ @@ -117,7 +117,7 @@ namespace Generics { > : ^^^^^^ } - var b2: { [x: string]: Derived2; }; + declare var b2: { [x: string]: Derived2; }; >b2 : { [x: string]: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string @@ -143,13 +143,13 @@ namespace Generics { >foo : () => void > : ^ ^^^^^^^^^ ^^^^^^^^^^^ - var b3: { [x: string]: Derived; }; + var b3!: { [x: string]: Derived; }; >b3 : { [x: string]: Derived; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string > : ^^^^^^ - var a3: A; + var a3!: A; >a3 : A > : ^^^^ @@ -169,7 +169,7 @@ namespace Generics { >a3 : A > : ^^^^ - var b4: { [x: string]: Derived2; }; + var b4!: { [x: string]: Derived2; }; >b4 : { [x: string]: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer3.errors.txt b/tests/baselines/reference/assignmentCompatWithStringIndexer3.errors.txt index 205371c6c6522..7f9e1f45f1bed 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer3.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer3.errors.txt @@ -1,4 +1,4 @@ -assignmentCompatWithStringIndexer3.ts(7,8): error TS2304: Cannot find name 'A'. +assignmentCompatWithStringIndexer3.ts(7,16): error TS2304: Cannot find name 'A'. assignmentCompatWithStringIndexer3.ts(20,9): error TS2322: Type '{ [x: string]: string; }' is not assignable to type 'A'. 'string' index signatures are incompatible. Type 'string' is not assignable to type 'T'. @@ -16,10 +16,10 @@ assignmentCompatWithStringIndexer3.ts(21,9): error TS2322: Type 'A' is not as interface Derived extends Base { bar: string; } interface Derived2 extends Derived { baz: string; } - var a: A; - ~ + declare var a: A; + ~ !!! error TS2304: Cannot find name 'A'. - var b1: { [x: string]: string; } + declare var b1: { [x: string]: string; }; a = b1; // error b1 = a; // error @@ -29,8 +29,8 @@ assignmentCompatWithStringIndexer3.ts(21,9): error TS2322: Type 'A' is not as } function foo() { - var a: A; - var b: { [x: string]: string; } + var a!: A; + var b!: { [x: string]: string; }; a = b; // error ~ !!! error TS2322: Type '{ [x: string]: string; }' is not assignable to type 'A'. diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer3.js b/tests/baselines/reference/assignmentCompatWithStringIndexer3.js index 0b08cbfd7d066..0abdb96a66f69 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer3.js +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer3.js @@ -7,8 +7,8 @@ interface Base { foo: string; } interface Derived extends Base { bar: string; } interface Derived2 extends Derived { baz: string; } -var a: A; -var b1: { [x: string]: string; } +declare var a: A; +declare var b1: { [x: string]: string; }; a = b1; // error b1 = a; // error @@ -18,8 +18,8 @@ namespace Generics { } function foo() { - var a: A; - var b: { [x: string]: string; } + var a!: A; + var b!: { [x: string]: string; }; a = b; // error b = a; // error } @@ -27,8 +27,6 @@ namespace Generics { //// [assignmentCompatWithStringIndexer3.js] // Derived type indexer must be subtype of base type indexer -var a; -var b1; a = b1; // error b1 = a; // error var Generics; diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer3.symbols b/tests/baselines/reference/assignmentCompatWithStringIndexer3.symbols index 074ccde38fc07..814583209a627 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer3.symbols +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer3.symbols @@ -17,21 +17,21 @@ interface Derived2 extends Derived { baz: string; } >Derived : Symbol(Derived, Decl(assignmentCompatWithStringIndexer3.ts, 2, 31)) >baz : Symbol(Derived2.baz, Decl(assignmentCompatWithStringIndexer3.ts, 4, 36)) -var a: A; ->a : Symbol(a, Decl(assignmentCompatWithStringIndexer3.ts, 6, 3)) +declare var a: A; +>a : Symbol(a, Decl(assignmentCompatWithStringIndexer3.ts, 6, 11)) >A : Symbol(A) -var b1: { [x: string]: string; } ->b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer3.ts, 7, 3)) ->x : Symbol(x, Decl(assignmentCompatWithStringIndexer3.ts, 7, 11)) +declare var b1: { [x: string]: string; }; +>b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer3.ts, 7, 11)) +>x : Symbol(x, Decl(assignmentCompatWithStringIndexer3.ts, 7, 19)) a = b1; // error ->a : Symbol(a, Decl(assignmentCompatWithStringIndexer3.ts, 6, 3)) ->b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer3.ts, 7, 3)) +>a : Symbol(a, Decl(assignmentCompatWithStringIndexer3.ts, 6, 11)) +>b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer3.ts, 7, 11)) b1 = a; // error ->b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer3.ts, 7, 3)) ->a : Symbol(a, Decl(assignmentCompatWithStringIndexer3.ts, 6, 3)) +>b1 : Symbol(b1, Decl(assignmentCompatWithStringIndexer3.ts, 7, 11)) +>a : Symbol(a, Decl(assignmentCompatWithStringIndexer3.ts, 6, 11)) namespace Generics { >Generics : Symbol(Generics, Decl(assignmentCompatWithStringIndexer3.ts, 9, 7)) @@ -51,14 +51,14 @@ namespace Generics { >T : Symbol(T, Decl(assignmentCompatWithStringIndexer3.ts, 16, 17)) >Derived : Symbol(Derived, Decl(assignmentCompatWithStringIndexer3.ts, 2, 31)) - var a: A; + var a!: A; >a : Symbol(a, Decl(assignmentCompatWithStringIndexer3.ts, 17, 11)) >A : Symbol(A, Decl(assignmentCompatWithStringIndexer3.ts, 11, 20)) >T : Symbol(T, Decl(assignmentCompatWithStringIndexer3.ts, 16, 17)) - var b: { [x: string]: string; } + var b!: { [x: string]: string; }; >b : Symbol(b, Decl(assignmentCompatWithStringIndexer3.ts, 18, 11)) ->x : Symbol(x, Decl(assignmentCompatWithStringIndexer3.ts, 18, 18)) +>x : Symbol(x, Decl(assignmentCompatWithStringIndexer3.ts, 18, 19)) a = b; // error >a : Symbol(a, Decl(assignmentCompatWithStringIndexer3.ts, 17, 11)) diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer3.types b/tests/baselines/reference/assignmentCompatWithStringIndexer3.types index ae77b10806e32..81fbe3fb33034 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer3.types +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer3.types @@ -15,11 +15,11 @@ interface Derived2 extends Derived { baz: string; } >baz : string > : ^^^^^^ -var a: A; +declare var a: A; >a : A > : ^ -var b1: { [x: string]: string; } +declare var b1: { [x: string]: string; }; >b1 : { [x: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >x : string @@ -58,11 +58,11 @@ namespace Generics { >foo : () => void > : ^ ^^^^^^^^^ ^^^^^^^^^^^ - var a: A; + var a!: A; >a : A > : ^^^^ - var b: { [x: string]: string; } + var b!: { [x: string]: string; }; >b : { [x: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatability25.errors.txt b/tests/baselines/reference/assignmentCompatability25.errors.txt index 1365d72dbe80b..23ee1d973b762 100644 --- a/tests/baselines/reference/assignmentCompatability25.errors.txt +++ b/tests/baselines/reference/assignmentCompatability25.errors.txt @@ -9,7 +9,7 @@ assignmentCompatability25.ts(9,1): error TS2322: Type 'interfaceWithPublicAndOpt export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{two:number;};; + export declare var aa:{two:number;};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability25.js b/tests/baselines/reference/assignmentCompatability25.js index ddecd417f5555..bfbd06830c24d 100644 --- a/tests/baselines/reference/assignmentCompatability25.js +++ b/tests/baselines/reference/assignmentCompatability25.js @@ -6,7 +6,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{two:number;};; + export declare var aa:{two:number;};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability25.symbols b/tests/baselines/reference/assignmentCompatability25.symbols index 3d602bb194eae..2e276e66ff6c9 100644 --- a/tests/baselines/reference/assignmentCompatability25.symbols +++ b/tests/baselines/reference/assignmentCompatability25.symbols @@ -23,13 +23,13 @@ namespace __test1__ { namespace __test2__ { >__test2__ : Symbol(__test2__, Decl(assignmentCompatability25.ts, 3, 1)) - export var aa:{two:number;};; ->aa : Symbol(aa, Decl(assignmentCompatability25.ts, 5, 14)) ->two : Symbol(two, Decl(assignmentCompatability25.ts, 5, 19)) + export declare var aa:{two:number;};; +>aa : Symbol(aa, Decl(assignmentCompatability25.ts, 5, 22)) +>two : Symbol(two, Decl(assignmentCompatability25.ts, 5, 27)) export var __val__aa = aa; >__val__aa : Symbol(__val__aa, Decl(assignmentCompatability25.ts, 6, 14)) ->aa : Symbol(aa, Decl(assignmentCompatability25.ts, 5, 14)) +>aa : Symbol(aa, Decl(assignmentCompatability25.ts, 5, 22)) } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa : Symbol(__test2__.__val__aa, Decl(assignmentCompatability25.ts, 6, 14)) diff --git a/tests/baselines/reference/assignmentCompatability25.types b/tests/baselines/reference/assignmentCompatability25.types index 1738f1953ac6b..540528ba2aada 100644 --- a/tests/baselines/reference/assignmentCompatability25.types +++ b/tests/baselines/reference/assignmentCompatability25.types @@ -29,7 +29,7 @@ namespace __test2__ { >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ - export var aa:{two:number;};; + export declare var aa:{two:number;};; >aa : { two: number; } > : ^^^^^^^ ^^^ >two : number diff --git a/tests/baselines/reference/assignmentCompatability26.errors.txt b/tests/baselines/reference/assignmentCompatability26.errors.txt index 09f22ae33cfaa..501a4d404c994 100644 --- a/tests/baselines/reference/assignmentCompatability26.errors.txt +++ b/tests/baselines/reference/assignmentCompatability26.errors.txt @@ -9,7 +9,7 @@ assignmentCompatability26.ts(9,1): error TS2322: Type 'interfaceWithPublicAndOpt export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:string;};; + export declare var aa:{one:string;};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability26.js b/tests/baselines/reference/assignmentCompatability26.js index c279c20af49e7..5dbee18d2ab8b 100644 --- a/tests/baselines/reference/assignmentCompatability26.js +++ b/tests/baselines/reference/assignmentCompatability26.js @@ -6,7 +6,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:string;};; + export declare var aa:{one:string;};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability26.symbols b/tests/baselines/reference/assignmentCompatability26.symbols index a4f22faa888bb..95114592fa7a7 100644 --- a/tests/baselines/reference/assignmentCompatability26.symbols +++ b/tests/baselines/reference/assignmentCompatability26.symbols @@ -23,13 +23,13 @@ namespace __test1__ { namespace __test2__ { >__test2__ : Symbol(__test2__, Decl(assignmentCompatability26.ts, 3, 1)) - export var aa:{one:string;};; ->aa : Symbol(aa, Decl(assignmentCompatability26.ts, 5, 14)) ->one : Symbol(one, Decl(assignmentCompatability26.ts, 5, 19)) + export declare var aa:{one:string;};; +>aa : Symbol(aa, Decl(assignmentCompatability26.ts, 5, 22)) +>one : Symbol(one, Decl(assignmentCompatability26.ts, 5, 27)) export var __val__aa = aa; >__val__aa : Symbol(__val__aa, Decl(assignmentCompatability26.ts, 6, 14)) ->aa : Symbol(aa, Decl(assignmentCompatability26.ts, 5, 14)) +>aa : Symbol(aa, Decl(assignmentCompatability26.ts, 5, 22)) } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa : Symbol(__test2__.__val__aa, Decl(assignmentCompatability26.ts, 6, 14)) diff --git a/tests/baselines/reference/assignmentCompatability26.types b/tests/baselines/reference/assignmentCompatability26.types index 0c0d7f1858a24..5cc45834ada84 100644 --- a/tests/baselines/reference/assignmentCompatability26.types +++ b/tests/baselines/reference/assignmentCompatability26.types @@ -29,7 +29,7 @@ namespace __test2__ { >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ - export var aa:{one:string;};; + export declare var aa:{one:string;};; >aa : { one: string; } > : ^^^^^^^ ^^^ >one : string diff --git a/tests/baselines/reference/assignmentCompatability27.errors.txt b/tests/baselines/reference/assignmentCompatability27.errors.txt index ec9952475f512..2d8ca9431480a 100644 --- a/tests/baselines/reference/assignmentCompatability27.errors.txt +++ b/tests/baselines/reference/assignmentCompatability27.errors.txt @@ -8,7 +8,7 @@ assignmentCompatability27.ts(9,1): error TS2322: Type 'interfaceWithPublicAndOpt export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{two:string;};; + export declare var aa:{two:string;};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability27.js b/tests/baselines/reference/assignmentCompatability27.js index 13e4ee3a25dc3..45dfd39266bb4 100644 --- a/tests/baselines/reference/assignmentCompatability27.js +++ b/tests/baselines/reference/assignmentCompatability27.js @@ -6,7 +6,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{two:string;};; + export declare var aa:{two:string;};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability27.symbols b/tests/baselines/reference/assignmentCompatability27.symbols index 3747307bc5bf4..1ba0e4ab5df0f 100644 --- a/tests/baselines/reference/assignmentCompatability27.symbols +++ b/tests/baselines/reference/assignmentCompatability27.symbols @@ -23,13 +23,13 @@ namespace __test1__ { namespace __test2__ { >__test2__ : Symbol(__test2__, Decl(assignmentCompatability27.ts, 3, 1)) - export var aa:{two:string;};; ->aa : Symbol(aa, Decl(assignmentCompatability27.ts, 5, 14)) ->two : Symbol(two, Decl(assignmentCompatability27.ts, 5, 19)) + export declare var aa:{two:string;};; +>aa : Symbol(aa, Decl(assignmentCompatability27.ts, 5, 22)) +>two : Symbol(two, Decl(assignmentCompatability27.ts, 5, 27)) export var __val__aa = aa; >__val__aa : Symbol(__val__aa, Decl(assignmentCompatability27.ts, 6, 14)) ->aa : Symbol(aa, Decl(assignmentCompatability27.ts, 5, 14)) +>aa : Symbol(aa, Decl(assignmentCompatability27.ts, 5, 22)) } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa : Symbol(__test2__.__val__aa, Decl(assignmentCompatability27.ts, 6, 14)) diff --git a/tests/baselines/reference/assignmentCompatability27.types b/tests/baselines/reference/assignmentCompatability27.types index fdc998a5a475a..d44f18c5dd679 100644 --- a/tests/baselines/reference/assignmentCompatability27.types +++ b/tests/baselines/reference/assignmentCompatability27.types @@ -29,7 +29,7 @@ namespace __test2__ { >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ - export var aa:{two:string;};; + export declare var aa:{two:string;};; >aa : { two: string; } > : ^^^^^^^ ^^^ >two : string diff --git a/tests/baselines/reference/assignmentCompatability28.errors.txt b/tests/baselines/reference/assignmentCompatability28.errors.txt index 91d0fe893a0d4..15973186ba499 100644 --- a/tests/baselines/reference/assignmentCompatability28.errors.txt +++ b/tests/baselines/reference/assignmentCompatability28.errors.txt @@ -9,7 +9,7 @@ assignmentCompatability28.ts(9,1): error TS2322: Type 'interfaceWithPublicAndOpt export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:boolean;};; + export declare var aa:{one:boolean;};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability28.js b/tests/baselines/reference/assignmentCompatability28.js index a01d47869093d..1f6d520ef9697 100644 --- a/tests/baselines/reference/assignmentCompatability28.js +++ b/tests/baselines/reference/assignmentCompatability28.js @@ -6,7 +6,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:boolean;};; + export declare var aa:{one:boolean;};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability28.symbols b/tests/baselines/reference/assignmentCompatability28.symbols index 0fff0f4be1e56..d249c04652357 100644 --- a/tests/baselines/reference/assignmentCompatability28.symbols +++ b/tests/baselines/reference/assignmentCompatability28.symbols @@ -23,13 +23,13 @@ namespace __test1__ { namespace __test2__ { >__test2__ : Symbol(__test2__, Decl(assignmentCompatability28.ts, 3, 1)) - export var aa:{one:boolean;};; ->aa : Symbol(aa, Decl(assignmentCompatability28.ts, 5, 14)) ->one : Symbol(one, Decl(assignmentCompatability28.ts, 5, 19)) + export declare var aa:{one:boolean;};; +>aa : Symbol(aa, Decl(assignmentCompatability28.ts, 5, 22)) +>one : Symbol(one, Decl(assignmentCompatability28.ts, 5, 27)) export var __val__aa = aa; >__val__aa : Symbol(__val__aa, Decl(assignmentCompatability28.ts, 6, 14)) ->aa : Symbol(aa, Decl(assignmentCompatability28.ts, 5, 14)) +>aa : Symbol(aa, Decl(assignmentCompatability28.ts, 5, 22)) } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa : Symbol(__test2__.__val__aa, Decl(assignmentCompatability28.ts, 6, 14)) diff --git a/tests/baselines/reference/assignmentCompatability28.types b/tests/baselines/reference/assignmentCompatability28.types index 796c44c03fb37..2bceac4487fa9 100644 --- a/tests/baselines/reference/assignmentCompatability28.types +++ b/tests/baselines/reference/assignmentCompatability28.types @@ -29,7 +29,7 @@ namespace __test2__ { >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ - export var aa:{one:boolean;};; + export declare var aa:{one:boolean;};; >aa : { one: boolean; } > : ^^^^^^^ ^^^ >one : boolean diff --git a/tests/baselines/reference/assignmentCompatability29.errors.txt b/tests/baselines/reference/assignmentCompatability29.errors.txt index 43bd27f8d4309..f837d015b6c98 100644 --- a/tests/baselines/reference/assignmentCompatability29.errors.txt +++ b/tests/baselines/reference/assignmentCompatability29.errors.txt @@ -9,7 +9,7 @@ assignmentCompatability29.ts(9,1): error TS2322: Type 'interfaceWithPublicAndOpt export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:any[];};; + export declare var aa:{one:any[];};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability29.js b/tests/baselines/reference/assignmentCompatability29.js index c8e322becedf9..1bf4358ba85c4 100644 --- a/tests/baselines/reference/assignmentCompatability29.js +++ b/tests/baselines/reference/assignmentCompatability29.js @@ -6,7 +6,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:any[];};; + export declare var aa:{one:any[];};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability29.symbols b/tests/baselines/reference/assignmentCompatability29.symbols index 9c17c7e4ce411..b0289e5f22eae 100644 --- a/tests/baselines/reference/assignmentCompatability29.symbols +++ b/tests/baselines/reference/assignmentCompatability29.symbols @@ -23,13 +23,13 @@ namespace __test1__ { namespace __test2__ { >__test2__ : Symbol(__test2__, Decl(assignmentCompatability29.ts, 3, 1)) - export var aa:{one:any[];};; ->aa : Symbol(aa, Decl(assignmentCompatability29.ts, 5, 14)) ->one : Symbol(one, Decl(assignmentCompatability29.ts, 5, 19)) + export declare var aa:{one:any[];};; +>aa : Symbol(aa, Decl(assignmentCompatability29.ts, 5, 22)) +>one : Symbol(one, Decl(assignmentCompatability29.ts, 5, 27)) export var __val__aa = aa; >__val__aa : Symbol(__val__aa, Decl(assignmentCompatability29.ts, 6, 14)) ->aa : Symbol(aa, Decl(assignmentCompatability29.ts, 5, 14)) +>aa : Symbol(aa, Decl(assignmentCompatability29.ts, 5, 22)) } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa : Symbol(__test2__.__val__aa, Decl(assignmentCompatability29.ts, 6, 14)) diff --git a/tests/baselines/reference/assignmentCompatability29.types b/tests/baselines/reference/assignmentCompatability29.types index d63d6f454d6d1..5bb36b7ba33b2 100644 --- a/tests/baselines/reference/assignmentCompatability29.types +++ b/tests/baselines/reference/assignmentCompatability29.types @@ -29,7 +29,7 @@ namespace __test2__ { >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ - export var aa:{one:any[];};; + export declare var aa:{one:any[];};; >aa : { one: any[]; } > : ^^^^^^^ ^^^ >one : any[] diff --git a/tests/baselines/reference/assignmentCompatability30.errors.txt b/tests/baselines/reference/assignmentCompatability30.errors.txt index f6923c3f98015..7dbcaaac1c2ce 100644 --- a/tests/baselines/reference/assignmentCompatability30.errors.txt +++ b/tests/baselines/reference/assignmentCompatability30.errors.txt @@ -9,7 +9,7 @@ assignmentCompatability30.ts(9,1): error TS2322: Type 'interfaceWithPublicAndOpt export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:number[];};; + export declare var aa:{one:number[];};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability30.js b/tests/baselines/reference/assignmentCompatability30.js index 98b626d4192c5..a1d4fe8bf8298 100644 --- a/tests/baselines/reference/assignmentCompatability30.js +++ b/tests/baselines/reference/assignmentCompatability30.js @@ -6,7 +6,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:number[];};; + export declare var aa:{one:number[];};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability30.symbols b/tests/baselines/reference/assignmentCompatability30.symbols index 7a1bc266947b1..91e1ee80d4c5e 100644 --- a/tests/baselines/reference/assignmentCompatability30.symbols +++ b/tests/baselines/reference/assignmentCompatability30.symbols @@ -23,13 +23,13 @@ namespace __test1__ { namespace __test2__ { >__test2__ : Symbol(__test2__, Decl(assignmentCompatability30.ts, 3, 1)) - export var aa:{one:number[];};; ->aa : Symbol(aa, Decl(assignmentCompatability30.ts, 5, 14)) ->one : Symbol(one, Decl(assignmentCompatability30.ts, 5, 19)) + export declare var aa:{one:number[];};; +>aa : Symbol(aa, Decl(assignmentCompatability30.ts, 5, 22)) +>one : Symbol(one, Decl(assignmentCompatability30.ts, 5, 27)) export var __val__aa = aa; >__val__aa : Symbol(__val__aa, Decl(assignmentCompatability30.ts, 6, 14)) ->aa : Symbol(aa, Decl(assignmentCompatability30.ts, 5, 14)) +>aa : Symbol(aa, Decl(assignmentCompatability30.ts, 5, 22)) } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa : Symbol(__test2__.__val__aa, Decl(assignmentCompatability30.ts, 6, 14)) diff --git a/tests/baselines/reference/assignmentCompatability30.types b/tests/baselines/reference/assignmentCompatability30.types index 764c8bf3ed1c4..6433a3e5bbf6e 100644 --- a/tests/baselines/reference/assignmentCompatability30.types +++ b/tests/baselines/reference/assignmentCompatability30.types @@ -29,7 +29,7 @@ namespace __test2__ { >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ - export var aa:{one:number[];};; + export declare var aa:{one:number[];};; >aa : { one: number[]; } > : ^^^^^^^ ^^^ >one : number[] diff --git a/tests/baselines/reference/assignmentCompatability31.errors.txt b/tests/baselines/reference/assignmentCompatability31.errors.txt index 695fbe45c99c4..a19c49b72573d 100644 --- a/tests/baselines/reference/assignmentCompatability31.errors.txt +++ b/tests/baselines/reference/assignmentCompatability31.errors.txt @@ -9,7 +9,7 @@ assignmentCompatability31.ts(9,1): error TS2322: Type 'interfaceWithPublicAndOpt export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:string[];};; + export declare var aa:{one:string[];};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability31.js b/tests/baselines/reference/assignmentCompatability31.js index 50670044f8957..b51435a5f2df6 100644 --- a/tests/baselines/reference/assignmentCompatability31.js +++ b/tests/baselines/reference/assignmentCompatability31.js @@ -6,7 +6,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:string[];};; + export declare var aa:{one:string[];};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability31.symbols b/tests/baselines/reference/assignmentCompatability31.symbols index 8c6afa9836c2e..18903e7ae4d7e 100644 --- a/tests/baselines/reference/assignmentCompatability31.symbols +++ b/tests/baselines/reference/assignmentCompatability31.symbols @@ -23,13 +23,13 @@ namespace __test1__ { namespace __test2__ { >__test2__ : Symbol(__test2__, Decl(assignmentCompatability31.ts, 3, 1)) - export var aa:{one:string[];};; ->aa : Symbol(aa, Decl(assignmentCompatability31.ts, 5, 14)) ->one : Symbol(one, Decl(assignmentCompatability31.ts, 5, 19)) + export declare var aa:{one:string[];};; +>aa : Symbol(aa, Decl(assignmentCompatability31.ts, 5, 22)) +>one : Symbol(one, Decl(assignmentCompatability31.ts, 5, 27)) export var __val__aa = aa; >__val__aa : Symbol(__val__aa, Decl(assignmentCompatability31.ts, 6, 14)) ->aa : Symbol(aa, Decl(assignmentCompatability31.ts, 5, 14)) +>aa : Symbol(aa, Decl(assignmentCompatability31.ts, 5, 22)) } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa : Symbol(__test2__.__val__aa, Decl(assignmentCompatability31.ts, 6, 14)) diff --git a/tests/baselines/reference/assignmentCompatability31.types b/tests/baselines/reference/assignmentCompatability31.types index b3930e1f337d0..6feb28f0786e7 100644 --- a/tests/baselines/reference/assignmentCompatability31.types +++ b/tests/baselines/reference/assignmentCompatability31.types @@ -29,7 +29,7 @@ namespace __test2__ { >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ - export var aa:{one:string[];};; + export declare var aa:{one:string[];};; >aa : { one: string[]; } > : ^^^^^^^ ^^^ >one : string[] diff --git a/tests/baselines/reference/assignmentCompatability32.errors.txt b/tests/baselines/reference/assignmentCompatability32.errors.txt index 3173634905e57..0400af370d7e1 100644 --- a/tests/baselines/reference/assignmentCompatability32.errors.txt +++ b/tests/baselines/reference/assignmentCompatability32.errors.txt @@ -9,7 +9,7 @@ assignmentCompatability32.ts(9,1): error TS2322: Type 'interfaceWithPublicAndOpt export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:boolean[];};; + export declare var aa:{one:boolean[];};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability32.js b/tests/baselines/reference/assignmentCompatability32.js index 1e83ba4954947..54f556ec8504f 100644 --- a/tests/baselines/reference/assignmentCompatability32.js +++ b/tests/baselines/reference/assignmentCompatability32.js @@ -6,7 +6,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:boolean[];};; + export declare var aa:{one:boolean[];};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability32.symbols b/tests/baselines/reference/assignmentCompatability32.symbols index 7198e43ed53ca..1adeaf98bc4bc 100644 --- a/tests/baselines/reference/assignmentCompatability32.symbols +++ b/tests/baselines/reference/assignmentCompatability32.symbols @@ -23,13 +23,13 @@ namespace __test1__ { namespace __test2__ { >__test2__ : Symbol(__test2__, Decl(assignmentCompatability32.ts, 3, 1)) - export var aa:{one:boolean[];};; ->aa : Symbol(aa, Decl(assignmentCompatability32.ts, 5, 14)) ->one : Symbol(one, Decl(assignmentCompatability32.ts, 5, 19)) + export declare var aa:{one:boolean[];};; +>aa : Symbol(aa, Decl(assignmentCompatability32.ts, 5, 22)) +>one : Symbol(one, Decl(assignmentCompatability32.ts, 5, 27)) export var __val__aa = aa; >__val__aa : Symbol(__val__aa, Decl(assignmentCompatability32.ts, 6, 14)) ->aa : Symbol(aa, Decl(assignmentCompatability32.ts, 5, 14)) +>aa : Symbol(aa, Decl(assignmentCompatability32.ts, 5, 22)) } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa : Symbol(__test2__.__val__aa, Decl(assignmentCompatability32.ts, 6, 14)) diff --git a/tests/baselines/reference/assignmentCompatability32.types b/tests/baselines/reference/assignmentCompatability32.types index fb0c23f3f15ed..7701d2dee3511 100644 --- a/tests/baselines/reference/assignmentCompatability32.types +++ b/tests/baselines/reference/assignmentCompatability32.types @@ -29,7 +29,7 @@ namespace __test2__ { >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ - export var aa:{one:boolean[];};; + export declare var aa:{one:boolean[];};; >aa : { one: boolean[]; } > : ^^^^^^^ ^^^ >one : boolean[] diff --git a/tests/baselines/reference/assignmentCompatability33.errors.txt b/tests/baselines/reference/assignmentCompatability33.errors.txt index ddc864025e987..0e68cf6cca45a 100644 --- a/tests/baselines/reference/assignmentCompatability33.errors.txt +++ b/tests/baselines/reference/assignmentCompatability33.errors.txt @@ -8,7 +8,7 @@ assignmentCompatability33.ts(9,1): error TS2322: Type 'interfaceWithPublicAndOpt export var __val__obj4 = obj4; } namespace __test2__ { - export var obj: { (a: Tstring): Tstring; }; + export declare var obj: { (a: Tstring): Tstring; }; export var __val__obj = obj; } __test2__.__val__obj = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability33.js b/tests/baselines/reference/assignmentCompatability33.js index d54efee1ce8ac..16212b2cf9bb5 100644 --- a/tests/baselines/reference/assignmentCompatability33.js +++ b/tests/baselines/reference/assignmentCompatability33.js @@ -6,7 +6,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var obj: { (a: Tstring): Tstring; }; + export declare var obj: { (a: Tstring): Tstring; }; export var __val__obj = obj; } __test2__.__val__obj = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability33.symbols b/tests/baselines/reference/assignmentCompatability33.symbols index 00ebf18b0c3f8..8ec1688cc2143 100644 --- a/tests/baselines/reference/assignmentCompatability33.symbols +++ b/tests/baselines/reference/assignmentCompatability33.symbols @@ -23,16 +23,16 @@ namespace __test1__ { namespace __test2__ { >__test2__ : Symbol(__test2__, Decl(assignmentCompatability33.ts, 3, 1)) - export var obj: { (a: Tstring): Tstring; }; ->obj : Symbol(obj, Decl(assignmentCompatability33.ts, 5, 14)) ->Tstring : Symbol(Tstring, Decl(assignmentCompatability33.ts, 5, 23)) ->a : Symbol(a, Decl(assignmentCompatability33.ts, 5, 32)) ->Tstring : Symbol(Tstring, Decl(assignmentCompatability33.ts, 5, 23)) ->Tstring : Symbol(Tstring, Decl(assignmentCompatability33.ts, 5, 23)) + export declare var obj: { (a: Tstring): Tstring; }; +>obj : Symbol(obj, Decl(assignmentCompatability33.ts, 5, 22)) +>Tstring : Symbol(Tstring, Decl(assignmentCompatability33.ts, 5, 31)) +>a : Symbol(a, Decl(assignmentCompatability33.ts, 5, 40)) +>Tstring : Symbol(Tstring, Decl(assignmentCompatability33.ts, 5, 31)) +>Tstring : Symbol(Tstring, Decl(assignmentCompatability33.ts, 5, 31)) export var __val__obj = obj; >__val__obj : Symbol(__val__obj, Decl(assignmentCompatability33.ts, 6, 14)) ->obj : Symbol(obj, Decl(assignmentCompatability33.ts, 5, 14)) +>obj : Symbol(obj, Decl(assignmentCompatability33.ts, 5, 22)) } __test2__.__val__obj = __test1__.__val__obj4 >__test2__.__val__obj : Symbol(__test2__.__val__obj, Decl(assignmentCompatability33.ts, 6, 14)) diff --git a/tests/baselines/reference/assignmentCompatability33.types b/tests/baselines/reference/assignmentCompatability33.types index 9ce33b0cae3fd..db71c0aa18923 100644 --- a/tests/baselines/reference/assignmentCompatability33.types +++ b/tests/baselines/reference/assignmentCompatability33.types @@ -29,7 +29,7 @@ namespace __test2__ { >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ - export var obj: { (a: Tstring): Tstring; }; + export declare var obj: { (a: Tstring): Tstring; }; >obj : (a: Tstring) => Tstring > : ^ ^^ ^^ ^^^^^ >a : Tstring diff --git a/tests/baselines/reference/assignmentCompatability34.errors.txt b/tests/baselines/reference/assignmentCompatability34.errors.txt index f04d2df6e92fd..6f4adfc867d30 100644 --- a/tests/baselines/reference/assignmentCompatability34.errors.txt +++ b/tests/baselines/reference/assignmentCompatability34.errors.txt @@ -8,7 +8,7 @@ assignmentCompatability34.ts(9,1): error TS2322: Type 'interfaceWithPublicAndOpt export var __val__obj4 = obj4; } namespace __test2__ { - export var obj: { (a:Tnumber):Tnumber;}; + export declare var obj: { (a:Tnumber):Tnumber;}; export var __val__obj = obj; } __test2__.__val__obj = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability34.js b/tests/baselines/reference/assignmentCompatability34.js index a754c725badb9..00a0e3254c3e6 100644 --- a/tests/baselines/reference/assignmentCompatability34.js +++ b/tests/baselines/reference/assignmentCompatability34.js @@ -6,7 +6,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var obj: { (a:Tnumber):Tnumber;}; + export declare var obj: { (a:Tnumber):Tnumber;}; export var __val__obj = obj; } __test2__.__val__obj = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability34.symbols b/tests/baselines/reference/assignmentCompatability34.symbols index f458b6a3fec14..5c810073e99fe 100644 --- a/tests/baselines/reference/assignmentCompatability34.symbols +++ b/tests/baselines/reference/assignmentCompatability34.symbols @@ -23,16 +23,16 @@ namespace __test1__ { namespace __test2__ { >__test2__ : Symbol(__test2__, Decl(assignmentCompatability34.ts, 3, 1)) - export var obj: { (a:Tnumber):Tnumber;}; ->obj : Symbol(obj, Decl(assignmentCompatability34.ts, 5, 14)) ->Tnumber : Symbol(Tnumber, Decl(assignmentCompatability34.ts, 5, 23)) ->a : Symbol(a, Decl(assignmentCompatability34.ts, 5, 32)) ->Tnumber : Symbol(Tnumber, Decl(assignmentCompatability34.ts, 5, 23)) ->Tnumber : Symbol(Tnumber, Decl(assignmentCompatability34.ts, 5, 23)) + export declare var obj: { (a:Tnumber):Tnumber;}; +>obj : Symbol(obj, Decl(assignmentCompatability34.ts, 5, 22)) +>Tnumber : Symbol(Tnumber, Decl(assignmentCompatability34.ts, 5, 31)) +>a : Symbol(a, Decl(assignmentCompatability34.ts, 5, 40)) +>Tnumber : Symbol(Tnumber, Decl(assignmentCompatability34.ts, 5, 31)) +>Tnumber : Symbol(Tnumber, Decl(assignmentCompatability34.ts, 5, 31)) export var __val__obj = obj; >__val__obj : Symbol(__val__obj, Decl(assignmentCompatability34.ts, 6, 14)) ->obj : Symbol(obj, Decl(assignmentCompatability34.ts, 5, 14)) +>obj : Symbol(obj, Decl(assignmentCompatability34.ts, 5, 22)) } __test2__.__val__obj = __test1__.__val__obj4 >__test2__.__val__obj : Symbol(__test2__.__val__obj, Decl(assignmentCompatability34.ts, 6, 14)) diff --git a/tests/baselines/reference/assignmentCompatability34.types b/tests/baselines/reference/assignmentCompatability34.types index 279673048a5f2..423b3fc0a2958 100644 --- a/tests/baselines/reference/assignmentCompatability34.types +++ b/tests/baselines/reference/assignmentCompatability34.types @@ -29,7 +29,7 @@ namespace __test2__ { >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ - export var obj: { (a:Tnumber):Tnumber;}; + export declare var obj: { (a:Tnumber):Tnumber;}; >obj : (a: Tnumber) => Tnumber > : ^ ^^ ^^ ^^^^^ >a : Tnumber diff --git a/tests/baselines/reference/assignmentCompatability35.errors.txt b/tests/baselines/reference/assignmentCompatability35.errors.txt index 3c6be3e35a2bf..539505540545e 100644 --- a/tests/baselines/reference/assignmentCompatability35.errors.txt +++ b/tests/baselines/reference/assignmentCompatability35.errors.txt @@ -8,7 +8,7 @@ assignmentCompatability35.ts(9,1): error TS2322: Type 'interfaceWithPublicAndOpt export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{[index:number]:number;};; + export declare var aa:{[index:number]:number;};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability35.js b/tests/baselines/reference/assignmentCompatability35.js index 6a6110fda9bb6..043b98933ed8e 100644 --- a/tests/baselines/reference/assignmentCompatability35.js +++ b/tests/baselines/reference/assignmentCompatability35.js @@ -6,7 +6,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{[index:number]:number;};; + export declare var aa:{[index:number]:number;};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability35.symbols b/tests/baselines/reference/assignmentCompatability35.symbols index bc35b795a17a4..901212a591f4a 100644 --- a/tests/baselines/reference/assignmentCompatability35.symbols +++ b/tests/baselines/reference/assignmentCompatability35.symbols @@ -23,13 +23,13 @@ namespace __test1__ { namespace __test2__ { >__test2__ : Symbol(__test2__, Decl(assignmentCompatability35.ts, 3, 1)) - export var aa:{[index:number]:number;};; ->aa : Symbol(aa, Decl(assignmentCompatability35.ts, 5, 14)) ->index : Symbol(index, Decl(assignmentCompatability35.ts, 5, 20)) + export declare var aa:{[index:number]:number;};; +>aa : Symbol(aa, Decl(assignmentCompatability35.ts, 5, 22)) +>index : Symbol(index, Decl(assignmentCompatability35.ts, 5, 28)) export var __val__aa = aa; >__val__aa : Symbol(__val__aa, Decl(assignmentCompatability35.ts, 6, 14)) ->aa : Symbol(aa, Decl(assignmentCompatability35.ts, 5, 14)) +>aa : Symbol(aa, Decl(assignmentCompatability35.ts, 5, 22)) } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa : Symbol(__test2__.__val__aa, Decl(assignmentCompatability35.ts, 6, 14)) diff --git a/tests/baselines/reference/assignmentCompatability35.types b/tests/baselines/reference/assignmentCompatability35.types index 5920d2bf1b369..dce1e8ebc614c 100644 --- a/tests/baselines/reference/assignmentCompatability35.types +++ b/tests/baselines/reference/assignmentCompatability35.types @@ -29,7 +29,7 @@ namespace __test2__ { >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ - export var aa:{[index:number]:number;};; + export declare var aa:{[index:number]:number;};; >aa : { [index: number]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >index : number diff --git a/tests/baselines/reference/assignmentCompatability37.errors.txt b/tests/baselines/reference/assignmentCompatability37.errors.txt index 2bac1c7c344bb..2dd17b6f3fd7f 100644 --- a/tests/baselines/reference/assignmentCompatability37.errors.txt +++ b/tests/baselines/reference/assignmentCompatability37.errors.txt @@ -8,7 +8,7 @@ assignmentCompatability37.ts(9,1): error TS2322: Type 'interfaceWithPublicAndOpt export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{ new (param: Tnumber); };; + export declare var aa:{ new (param: Tnumber); };; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability37.js b/tests/baselines/reference/assignmentCompatability37.js index 533f70bda2cb2..2b639372376b4 100644 --- a/tests/baselines/reference/assignmentCompatability37.js +++ b/tests/baselines/reference/assignmentCompatability37.js @@ -6,7 +6,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{ new (param: Tnumber); };; + export declare var aa:{ new (param: Tnumber); };; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability37.symbols b/tests/baselines/reference/assignmentCompatability37.symbols index b933a59cae465..7ea6732ebf45a 100644 --- a/tests/baselines/reference/assignmentCompatability37.symbols +++ b/tests/baselines/reference/assignmentCompatability37.symbols @@ -23,15 +23,15 @@ namespace __test1__ { namespace __test2__ { >__test2__ : Symbol(__test2__, Decl(assignmentCompatability37.ts, 3, 1)) - export var aa:{ new (param: Tnumber); };; ->aa : Symbol(aa, Decl(assignmentCompatability37.ts, 5, 14)) ->Tnumber : Symbol(Tnumber, Decl(assignmentCompatability37.ts, 5, 25)) ->param : Symbol(param, Decl(assignmentCompatability37.ts, 5, 34)) ->Tnumber : Symbol(Tnumber, Decl(assignmentCompatability37.ts, 5, 25)) + export declare var aa:{ new (param: Tnumber); };; +>aa : Symbol(aa, Decl(assignmentCompatability37.ts, 5, 22)) +>Tnumber : Symbol(Tnumber, Decl(assignmentCompatability37.ts, 5, 33)) +>param : Symbol(param, Decl(assignmentCompatability37.ts, 5, 42)) +>Tnumber : Symbol(Tnumber, Decl(assignmentCompatability37.ts, 5, 33)) export var __val__aa = aa; >__val__aa : Symbol(__val__aa, Decl(assignmentCompatability37.ts, 6, 14)) ->aa : Symbol(aa, Decl(assignmentCompatability37.ts, 5, 14)) +>aa : Symbol(aa, Decl(assignmentCompatability37.ts, 5, 22)) } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa : Symbol(__test2__.__val__aa, Decl(assignmentCompatability37.ts, 6, 14)) diff --git a/tests/baselines/reference/assignmentCompatability37.types b/tests/baselines/reference/assignmentCompatability37.types index 5649e14786c46..b2306e34ad03d 100644 --- a/tests/baselines/reference/assignmentCompatability37.types +++ b/tests/baselines/reference/assignmentCompatability37.types @@ -29,7 +29,7 @@ namespace __test2__ { >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ - export var aa:{ new (param: Tnumber); };; + export declare var aa:{ new (param: Tnumber); };; >aa : new (param: Tnumber) => any > : ^^^^^ ^^ ^^ ^^^^^^^^ >param : Tnumber diff --git a/tests/baselines/reference/assignmentCompatability38.errors.txt b/tests/baselines/reference/assignmentCompatability38.errors.txt index 2e6538c0e9870..04471c39ec204 100644 --- a/tests/baselines/reference/assignmentCompatability38.errors.txt +++ b/tests/baselines/reference/assignmentCompatability38.errors.txt @@ -8,7 +8,7 @@ assignmentCompatability38.ts(9,1): error TS2322: Type 'interfaceWithPublicAndOpt export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{ new (param: Tstring); };; + export declare var aa:{ new (param: Tstring); };; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability38.js b/tests/baselines/reference/assignmentCompatability38.js index 2d1a23dfa0ffe..66c46eaeeec0f 100644 --- a/tests/baselines/reference/assignmentCompatability38.js +++ b/tests/baselines/reference/assignmentCompatability38.js @@ -6,7 +6,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{ new (param: Tstring); };; + export declare var aa:{ new (param: Tstring); };; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 diff --git a/tests/baselines/reference/assignmentCompatability38.symbols b/tests/baselines/reference/assignmentCompatability38.symbols index 7d95a42b504e3..628d61e865b93 100644 --- a/tests/baselines/reference/assignmentCompatability38.symbols +++ b/tests/baselines/reference/assignmentCompatability38.symbols @@ -23,15 +23,15 @@ namespace __test1__ { namespace __test2__ { >__test2__ : Symbol(__test2__, Decl(assignmentCompatability38.ts, 3, 1)) - export var aa:{ new (param: Tstring); };; ->aa : Symbol(aa, Decl(assignmentCompatability38.ts, 5, 14)) ->Tstring : Symbol(Tstring, Decl(assignmentCompatability38.ts, 5, 25)) ->param : Symbol(param, Decl(assignmentCompatability38.ts, 5, 34)) ->Tstring : Symbol(Tstring, Decl(assignmentCompatability38.ts, 5, 25)) + export declare var aa:{ new (param: Tstring); };; +>aa : Symbol(aa, Decl(assignmentCompatability38.ts, 5, 22)) +>Tstring : Symbol(Tstring, Decl(assignmentCompatability38.ts, 5, 33)) +>param : Symbol(param, Decl(assignmentCompatability38.ts, 5, 42)) +>Tstring : Symbol(Tstring, Decl(assignmentCompatability38.ts, 5, 33)) export var __val__aa = aa; >__val__aa : Symbol(__val__aa, Decl(assignmentCompatability38.ts, 6, 14)) ->aa : Symbol(aa, Decl(assignmentCompatability38.ts, 5, 14)) +>aa : Symbol(aa, Decl(assignmentCompatability38.ts, 5, 22)) } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa : Symbol(__test2__.__val__aa, Decl(assignmentCompatability38.ts, 6, 14)) diff --git a/tests/baselines/reference/assignmentCompatability38.types b/tests/baselines/reference/assignmentCompatability38.types index daf41632e8f1f..49f1d43cdf48a 100644 --- a/tests/baselines/reference/assignmentCompatability38.types +++ b/tests/baselines/reference/assignmentCompatability38.types @@ -29,7 +29,7 @@ namespace __test2__ { >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ - export var aa:{ new (param: Tstring); };; + export declare var aa:{ new (param: Tstring); };; >aa : new (param: Tstring) => any > : ^^^^^ ^^ ^^ ^^^^^^^^ >param : Tstring diff --git a/tests/baselines/reference/bestCommonTypeOfTuple2.errors.txt b/tests/baselines/reference/bestCommonTypeOfTuple2.errors.txt index 2029d92d11f2f..c7615aea73486 100644 --- a/tests/baselines/reference/bestCommonTypeOfTuple2.errors.txt +++ b/tests/baselines/reference/bestCommonTypeOfTuple2.errors.txt @@ -16,11 +16,11 @@ bestCommonTypeOfTuple2.ts(21,14): error TS2493: Tuple type '[C1, F]' of length ' class C1 implements base1 { i = "foo"; c } class D1 extends C1 { i = "bar"; d } - var t1: [C, base]; - var t2: [C, D]; - var t3: [C1, D1]; - var t4: [base1, C1]; - var t5: [C1, F] + declare var t1: [C, base]; + declare var t2: [C, D]; + declare var t3: [C1, D1]; + declare var t4: [base1, C1]; + declare var t5: [C1, F] var e11 = t1[4]; // base ~ diff --git a/tests/baselines/reference/bestCommonTypeOfTuple2.js b/tests/baselines/reference/bestCommonTypeOfTuple2.js index 5d440c14c46f8..2c4fa73218404 100644 --- a/tests/baselines/reference/bestCommonTypeOfTuple2.js +++ b/tests/baselines/reference/bestCommonTypeOfTuple2.js @@ -11,11 +11,11 @@ class F extends C { f } class C1 implements base1 { i = "foo"; c } class D1 extends C1 { i = "bar"; d } -var t1: [C, base]; -var t2: [C, D]; -var t3: [C1, D1]; -var t4: [base1, C1]; -var t5: [C1, F] +declare var t1: [C, base]; +declare var t2: [C, D]; +declare var t3: [C1, D1]; +declare var t4: [base1, C1]; +declare var t5: [C1, F] var e11 = t1[4]; // base var e21 = t2[4]; // {} @@ -77,11 +77,6 @@ var D1 = /** @class */ (function (_super) { } return D1; }(C1)); -var t1; -var t2; -var t3; -var t4; -var t5; var e11 = t1[4]; // base var e21 = t2[4]; // {} var e31 = t3[4]; // C1 diff --git a/tests/baselines/reference/bestCommonTypeOfTuple2.symbols b/tests/baselines/reference/bestCommonTypeOfTuple2.symbols index a9ee96ecc1a61..87a5145200723 100644 --- a/tests/baselines/reference/bestCommonTypeOfTuple2.symbols +++ b/tests/baselines/reference/bestCommonTypeOfTuple2.symbols @@ -40,48 +40,48 @@ class D1 extends C1 { i = "bar"; d } >i : Symbol(D1.i, Decl(bestCommonTypeOfTuple2.ts, 8, 21)) >d : Symbol(D1.d, Decl(bestCommonTypeOfTuple2.ts, 8, 32)) -var t1: [C, base]; ->t1 : Symbol(t1, Decl(bestCommonTypeOfTuple2.ts, 10, 3)) +declare var t1: [C, base]; +>t1 : Symbol(t1, Decl(bestCommonTypeOfTuple2.ts, 10, 11)) >C : Symbol(C, Decl(bestCommonTypeOfTuple2.ts, 1, 21)) >base : Symbol(base, Decl(bestCommonTypeOfTuple2.ts, 0, 0)) -var t2: [C, D]; ->t2 : Symbol(t2, Decl(bestCommonTypeOfTuple2.ts, 11, 3)) +declare var t2: [C, D]; +>t2 : Symbol(t2, Decl(bestCommonTypeOfTuple2.ts, 11, 11)) >C : Symbol(C, Decl(bestCommonTypeOfTuple2.ts, 1, 21)) >D : Symbol(D, Decl(bestCommonTypeOfTuple2.ts, 2, 29)) -var t3: [C1, D1]; ->t3 : Symbol(t3, Decl(bestCommonTypeOfTuple2.ts, 12, 3)) +declare var t3: [C1, D1]; +>t3 : Symbol(t3, Decl(bestCommonTypeOfTuple2.ts, 12, 11)) >C1 : Symbol(C1, Decl(bestCommonTypeOfTuple2.ts, 5, 23)) >D1 : Symbol(D1, Decl(bestCommonTypeOfTuple2.ts, 7, 42)) -var t4: [base1, C1]; ->t4 : Symbol(t4, Decl(bestCommonTypeOfTuple2.ts, 13, 3)) +declare var t4: [base1, C1]; +>t4 : Symbol(t4, Decl(bestCommonTypeOfTuple2.ts, 13, 11)) >base1 : Symbol(base1, Decl(bestCommonTypeOfTuple2.ts, 0, 18)) >C1 : Symbol(C1, Decl(bestCommonTypeOfTuple2.ts, 5, 23)) -var t5: [C1, F] ->t5 : Symbol(t5, Decl(bestCommonTypeOfTuple2.ts, 14, 3)) +declare var t5: [C1, F] +>t5 : Symbol(t5, Decl(bestCommonTypeOfTuple2.ts, 14, 11)) >C1 : Symbol(C1, Decl(bestCommonTypeOfTuple2.ts, 5, 23)) >F : Symbol(F, Decl(bestCommonTypeOfTuple2.ts, 4, 29)) var e11 = t1[4]; // base >e11 : Symbol(e11, Decl(bestCommonTypeOfTuple2.ts, 16, 3)) ->t1 : Symbol(t1, Decl(bestCommonTypeOfTuple2.ts, 10, 3)) +>t1 : Symbol(t1, Decl(bestCommonTypeOfTuple2.ts, 10, 11)) var e21 = t2[4]; // {} >e21 : Symbol(e21, Decl(bestCommonTypeOfTuple2.ts, 17, 3)) ->t2 : Symbol(t2, Decl(bestCommonTypeOfTuple2.ts, 11, 3)) +>t2 : Symbol(t2, Decl(bestCommonTypeOfTuple2.ts, 11, 11)) var e31 = t3[4]; // C1 >e31 : Symbol(e31, Decl(bestCommonTypeOfTuple2.ts, 18, 3)) ->t3 : Symbol(t3, Decl(bestCommonTypeOfTuple2.ts, 12, 3)) +>t3 : Symbol(t3, Decl(bestCommonTypeOfTuple2.ts, 12, 11)) var e41 = t4[2]; // base1 >e41 : Symbol(e41, Decl(bestCommonTypeOfTuple2.ts, 19, 3)) ->t4 : Symbol(t4, Decl(bestCommonTypeOfTuple2.ts, 13, 3)) +>t4 : Symbol(t4, Decl(bestCommonTypeOfTuple2.ts, 13, 11)) var e51 = t5[2]; // {} >e51 : Symbol(e51, Decl(bestCommonTypeOfTuple2.ts, 20, 3)) ->t5 : Symbol(t5, Decl(bestCommonTypeOfTuple2.ts, 14, 3)) +>t5 : Symbol(t5, Decl(bestCommonTypeOfTuple2.ts, 14, 11)) diff --git a/tests/baselines/reference/bestCommonTypeOfTuple2.types b/tests/baselines/reference/bestCommonTypeOfTuple2.types index 55cf85d67a748..091f3c621cb40 100644 --- a/tests/baselines/reference/bestCommonTypeOfTuple2.types +++ b/tests/baselines/reference/bestCommonTypeOfTuple2.types @@ -54,23 +54,23 @@ class D1 extends C1 { i = "bar"; d } >d : any > : ^^^ -var t1: [C, base]; +declare var t1: [C, base]; >t1 : [C, base] > : ^^^^^^^^^ -var t2: [C, D]; +declare var t2: [C, D]; >t2 : [C, D] > : ^^^^^^ -var t3: [C1, D1]; +declare var t3: [C1, D1]; >t3 : [C1, D1] > : ^^^^^^^^ -var t4: [base1, C1]; +declare var t4: [base1, C1]; >t4 : [base1, C1] > : ^^^^^^^^^^^ -var t5: [C1, F] +declare var t5: [C1, F] >t5 : [C1, F] > : ^^^^^^^ diff --git a/tests/baselines/reference/bestCommonTypeWithContextualTyping.errors.txt b/tests/baselines/reference/bestCommonTypeWithContextualTyping.errors.txt index 2aafdf2154b9a..92c77bc2dfa3d 100644 --- a/tests/baselines/reference/bestCommonTypeWithContextualTyping.errors.txt +++ b/tests/baselines/reference/bestCommonTypeWithContextualTyping.errors.txt @@ -12,7 +12,7 @@ bestCommonTypeWithContextualTyping.ts(19,31): error TS2873: This kind of express p: any; } - var e: Ellement; + declare var e: Ellement; // All of these should pass. Neither type is a supertype of the other, but the RHS should // always use Ellement in these examples (not Contextual). Because Ellement is assignable diff --git a/tests/baselines/reference/bestCommonTypeWithContextualTyping.js b/tests/baselines/reference/bestCommonTypeWithContextualTyping.js index 9374f8b1505b3..4ce6071619817 100644 --- a/tests/baselines/reference/bestCommonTypeWithContextualTyping.js +++ b/tests/baselines/reference/bestCommonTypeWithContextualTyping.js @@ -11,7 +11,7 @@ interface Ellement { p: any; } -var e: Ellement; +declare var e: Ellement; // All of these should pass. Neither type is a supertype of the other, but the RHS should // always use Ellement in these examples (not Contextual). Because Ellement is assignable @@ -23,7 +23,6 @@ var conditional: Contextual = null ? e : e; // Ellement var contextualOr: Contextual = e || e; // Ellement //// [bestCommonTypeWithContextualTyping.js] -var e; // All of these should pass. Neither type is a supertype of the other, but the RHS should // always use Ellement in these examples (not Contextual). Because Ellement is assignable // to Contextual, no errors. diff --git a/tests/baselines/reference/bestCommonTypeWithContextualTyping.symbols b/tests/baselines/reference/bestCommonTypeWithContextualTyping.symbols index 38a0a2cd903f2..cd2055da1f232 100644 --- a/tests/baselines/reference/bestCommonTypeWithContextualTyping.symbols +++ b/tests/baselines/reference/bestCommonTypeWithContextualTyping.symbols @@ -21,8 +21,8 @@ interface Ellement { >p : Symbol(Ellement.p, Decl(bestCommonTypeWithContextualTyping.ts, 6, 10)) } -var e: Ellement; ->e : Symbol(e, Decl(bestCommonTypeWithContextualTyping.ts, 10, 3)) +declare var e: Ellement; +>e : Symbol(e, Decl(bestCommonTypeWithContextualTyping.ts, 10, 11)) >Ellement : Symbol(Ellement, Decl(bestCommonTypeWithContextualTyping.ts, 3, 1)) // All of these should pass. Neither type is a supertype of the other, but the RHS should @@ -31,24 +31,24 @@ var e: Ellement; var arr: Contextual[] = [e]; // Ellement[] >arr : Symbol(arr, Decl(bestCommonTypeWithContextualTyping.ts, 15, 3)) >Contextual : Symbol(Contextual, Decl(bestCommonTypeWithContextualTyping.ts, 0, 0)) ->e : Symbol(e, Decl(bestCommonTypeWithContextualTyping.ts, 10, 3)) +>e : Symbol(e, Decl(bestCommonTypeWithContextualTyping.ts, 10, 11)) var obj: { [s: string]: Contextual } = { s: e }; // { s: Ellement; [s: string]: Ellement } >obj : Symbol(obj, Decl(bestCommonTypeWithContextualTyping.ts, 16, 3)) >s : Symbol(s, Decl(bestCommonTypeWithContextualTyping.ts, 16, 12)) >Contextual : Symbol(Contextual, Decl(bestCommonTypeWithContextualTyping.ts, 0, 0)) >s : Symbol(s, Decl(bestCommonTypeWithContextualTyping.ts, 16, 40)) ->e : Symbol(e, Decl(bestCommonTypeWithContextualTyping.ts, 10, 3)) +>e : Symbol(e, Decl(bestCommonTypeWithContextualTyping.ts, 10, 11)) var conditional: Contextual = null ? e : e; // Ellement >conditional : Symbol(conditional, Decl(bestCommonTypeWithContextualTyping.ts, 18, 3)) >Contextual : Symbol(Contextual, Decl(bestCommonTypeWithContextualTyping.ts, 0, 0)) ->e : Symbol(e, Decl(bestCommonTypeWithContextualTyping.ts, 10, 3)) ->e : Symbol(e, Decl(bestCommonTypeWithContextualTyping.ts, 10, 3)) +>e : Symbol(e, Decl(bestCommonTypeWithContextualTyping.ts, 10, 11)) +>e : Symbol(e, Decl(bestCommonTypeWithContextualTyping.ts, 10, 11)) var contextualOr: Contextual = e || e; // Ellement >contextualOr : Symbol(contextualOr, Decl(bestCommonTypeWithContextualTyping.ts, 19, 3)) >Contextual : Symbol(Contextual, Decl(bestCommonTypeWithContextualTyping.ts, 0, 0)) ->e : Symbol(e, Decl(bestCommonTypeWithContextualTyping.ts, 10, 3)) ->e : Symbol(e, Decl(bestCommonTypeWithContextualTyping.ts, 10, 3)) +>e : Symbol(e, Decl(bestCommonTypeWithContextualTyping.ts, 10, 11)) +>e : Symbol(e, Decl(bestCommonTypeWithContextualTyping.ts, 10, 11)) diff --git a/tests/baselines/reference/bestCommonTypeWithContextualTyping.types b/tests/baselines/reference/bestCommonTypeWithContextualTyping.types index 735202dcd63e1..e60e4114561e8 100644 --- a/tests/baselines/reference/bestCommonTypeWithContextualTyping.types +++ b/tests/baselines/reference/bestCommonTypeWithContextualTyping.types @@ -21,7 +21,7 @@ interface Ellement { > : ^^^ } -var e: Ellement; +declare var e: Ellement; >e : Ellement > : ^^^^^^^^ diff --git a/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.errors.txt b/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.errors.txt index ce16af3eaec6e..14ac389071d4b 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.errors.txt +++ b/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.errors.txt @@ -8,11 +8,11 @@ bitwiseNotOperatorWithAnyOtherType.ts(48,26): error TS2365: Operator '+' cannot ==== bitwiseNotOperatorWithAnyOtherType.ts (5 errors) ==== // ~ operator on any type - var ANY: any; - var ANY1; - var ANY2: any[] = ["", ""]; - var obj: () => {} - var obj1 = { x:"", y: () => { }}; + declare var ANY: any; + declare var ANY1; + declare var ANY2: any[]; + declare var obj: () => {}; + declare var obj1: { x:"", y: () => { }}; function foo(): any { var a; @@ -26,9 +26,9 @@ bitwiseNotOperatorWithAnyOtherType.ts(48,26): error TS2365: Operator '+' cannot } } namespace M { - export var n: any; + export declare var n: any; } - var objA = new A(); + declare var objA: A; // any other type var var ResultIsNumber = ~ANY1; diff --git a/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.js b/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.js index fa1dbad9899b4..eb97d7dfa838a 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.js +++ b/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.js @@ -3,11 +3,11 @@ //// [bitwiseNotOperatorWithAnyOtherType.ts] // ~ operator on any type -var ANY: any; -var ANY1; -var ANY2: any[] = ["", ""]; -var obj: () => {} -var obj1 = { x:"", y: () => { }}; +declare var ANY: any; +declare var ANY1; +declare var ANY2: any[]; +declare var obj: () => {}; +declare var obj1: { x:"", y: () => { }}; function foo(): any { var a; @@ -21,9 +21,9 @@ class A { } } namespace M { - export var n: any; + export declare var n: any; } -var objA = new A(); +declare var objA: A; // any other type var var ResultIsNumber = ~ANY1; @@ -66,11 +66,6 @@ var ResultIsNumber20 = ~~~(ANY + ANY1); //// [bitwiseNotOperatorWithAnyOtherType.js] // ~ operator on any type -var ANY; -var ANY1; -var ANY2 = ["", ""]; -var obj; -var obj1 = { x: "", y: function () { } }; function foo() { var a; return a; @@ -87,7 +82,6 @@ var A = /** @class */ (function () { var M; (function (M) { })(M || (M = {})); -var objA = new A(); // any other type var var ResultIsNumber = ~ANY1; var ResultIsNumber1 = ~ANY2; diff --git a/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.symbols b/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.symbols index 1f4aae51acce2..d89bfcc9b3af7 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.symbols +++ b/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.symbols @@ -3,25 +3,25 @@ === bitwiseNotOperatorWithAnyOtherType.ts === // ~ operator on any type -var ANY: any; ->ANY : Symbol(ANY, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 2, 3)) +declare var ANY: any; +>ANY : Symbol(ANY, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 2, 11)) -var ANY1; ->ANY1 : Symbol(ANY1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 3, 3)) +declare var ANY1; +>ANY1 : Symbol(ANY1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 3, 11)) -var ANY2: any[] = ["", ""]; ->ANY2 : Symbol(ANY2, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 4, 3)) +declare var ANY2: any[]; +>ANY2 : Symbol(ANY2, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 4, 11)) -var obj: () => {} ->obj : Symbol(obj, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 5, 3)) +declare var obj: () => {}; +>obj : Symbol(obj, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 5, 11)) -var obj1 = { x:"", y: () => { }}; ->obj1 : Symbol(obj1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 3)) ->x : Symbol(x, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 12)) ->y : Symbol(y, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 18)) +declare var obj1: { x:"", y: () => { }}; +>obj1 : Symbol(obj1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 11)) +>x : Symbol(x, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 19)) +>y : Symbol(y, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 25)) function foo(): any { ->foo : Symbol(foo, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 33)) +>foo : Symbol(foo, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 40)) var a; >a : Symbol(a, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 9, 7)) @@ -48,21 +48,21 @@ class A { namespace M { >M : Symbol(M, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 18, 1)) - export var n: any; ->n : Symbol(n, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 20, 14)) + export declare var n: any; +>n : Symbol(n, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 20, 22)) } -var objA = new A(); ->objA : Symbol(objA, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 22, 3)) +declare var objA: A; +>objA : Symbol(objA, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 22, 11)) >A : Symbol(A, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 11, 1)) // any other type var var ResultIsNumber = ~ANY1; >ResultIsNumber : Symbol(ResultIsNumber, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 25, 3)) ->ANY1 : Symbol(ANY1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 3, 3)) +>ANY1 : Symbol(ANY1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 3, 11)) var ResultIsNumber1 = ~ANY2; >ResultIsNumber1 : Symbol(ResultIsNumber1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 26, 3)) ->ANY2 : Symbol(ANY2, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 4, 3)) +>ANY2 : Symbol(ANY2, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 4, 11)) var ResultIsNumber2 = ~A; >ResultIsNumber2 : Symbol(ResultIsNumber2, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 27, 3)) @@ -74,11 +74,11 @@ var ResultIsNumber3 = ~M; var ResultIsNumber4 = ~obj; >ResultIsNumber4 : Symbol(ResultIsNumber4, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 29, 3)) ->obj : Symbol(obj, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 5, 3)) +>obj : Symbol(obj, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 5, 11)) var ResultIsNumber5 = ~obj1; >ResultIsNumber5 : Symbol(ResultIsNumber5, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 30, 3)) ->obj1 : Symbol(obj1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 3)) +>obj1 : Symbol(obj1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 11)) // any type literal var ResultIsNumber6 = ~undefined; @@ -91,35 +91,35 @@ var ResultIsNumber7 = ~null; // any type expressions var ResultIsNumber8 = ~ANY2[0] >ResultIsNumber8 : Symbol(ResultIsNumber8, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 37, 3)) ->ANY2 : Symbol(ANY2, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 4, 3)) +>ANY2 : Symbol(ANY2, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 4, 11)) var ResultIsNumber9 = ~obj1.x; >ResultIsNumber9 : Symbol(ResultIsNumber9, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 38, 3)) ->obj1.x : Symbol(x, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 12)) ->obj1 : Symbol(obj1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 3)) ->x : Symbol(x, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 12)) +>obj1.x : Symbol(x, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 19)) +>obj1 : Symbol(obj1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 11)) +>x : Symbol(x, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 19)) var ResultIsNumber10 = ~obj1.y; >ResultIsNumber10 : Symbol(ResultIsNumber10, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 39, 3)) ->obj1.y : Symbol(y, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 18)) ->obj1 : Symbol(obj1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 3)) ->y : Symbol(y, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 18)) +>obj1.y : Symbol(y, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 25)) +>obj1 : Symbol(obj1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 11)) +>y : Symbol(y, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 25)) var ResultIsNumber11 = ~objA.a; >ResultIsNumber11 : Symbol(ResultIsNumber11, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 40, 3)) >objA.a : Symbol(A.a, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 12, 9)) ->objA : Symbol(objA, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 22, 3)) +>objA : Symbol(objA, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 22, 11)) >a : Symbol(A.a, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 12, 9)) var ResultIsNumber12 = ~M.n; >ResultIsNumber12 : Symbol(ResultIsNumber12, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 41, 3)) ->M.n : Symbol(M.n, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 20, 14)) +>M.n : Symbol(M.n, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 20, 22)) >M : Symbol(M, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 18, 1)) ->n : Symbol(M.n, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 20, 14)) +>n : Symbol(M.n, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 20, 22)) var ResultIsNumber13 = ~foo(); >ResultIsNumber13 : Symbol(ResultIsNumber13, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 42, 3)) ->foo : Symbol(foo, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 33)) +>foo : Symbol(foo, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 40)) var ResultIsNumber14 = ~A.foo(); >ResultIsNumber14 : Symbol(ResultIsNumber14, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 43, 3)) @@ -129,8 +129,8 @@ var ResultIsNumber14 = ~A.foo(); var ResultIsNumber15 = ~(ANY + ANY1); >ResultIsNumber15 : Symbol(ResultIsNumber15, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 44, 3)) ->ANY : Symbol(ANY, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 2, 3)) ->ANY1 : Symbol(ANY1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 3, 3)) +>ANY : Symbol(ANY, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 3, 11)) var ResultIsNumber16 = ~(null + undefined); >ResultIsNumber16 : Symbol(ResultIsNumber16, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 45, 3)) @@ -147,44 +147,44 @@ var ResultIsNumber18 = ~(undefined + undefined); // multiple ~ operators var ResultIsNumber19 = ~~ANY; >ResultIsNumber19 : Symbol(ResultIsNumber19, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 50, 3)) ->ANY : Symbol(ANY, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 2, 3)) +>ANY : Symbol(ANY, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 2, 11)) var ResultIsNumber20 = ~~~(ANY + ANY1); >ResultIsNumber20 : Symbol(ResultIsNumber20, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 51, 3)) ->ANY : Symbol(ANY, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 2, 3)) ->ANY1 : Symbol(ANY1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 3, 3)) +>ANY : Symbol(ANY, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 3, 11)) //miss assignment operators ~ANY; ->ANY : Symbol(ANY, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 2, 3)) +>ANY : Symbol(ANY, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 2, 11)) ~ANY1; ->ANY1 : Symbol(ANY1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 3, 3)) +>ANY1 : Symbol(ANY1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 3, 11)) ~ANY2[0]; ->ANY2 : Symbol(ANY2, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 4, 3)) +>ANY2 : Symbol(ANY2, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 4, 11)) ~ANY, ANY1; ->ANY : Symbol(ANY, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 2, 3)) ->ANY1 : Symbol(ANY1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 3, 3)) +>ANY : Symbol(ANY, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 3, 11)) ~obj1.y; ->obj1.y : Symbol(y, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 18)) ->obj1 : Symbol(obj1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 3)) ->y : Symbol(y, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 18)) +>obj1.y : Symbol(y, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 25)) +>obj1 : Symbol(obj1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 11)) +>y : Symbol(y, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 25)) ~objA.a; >objA.a : Symbol(A.a, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 12, 9)) ->objA : Symbol(objA, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 22, 3)) +>objA : Symbol(objA, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 22, 11)) >a : Symbol(A.a, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 12, 9)) ~M.n; ->M.n : Symbol(M.n, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 20, 14)) +>M.n : Symbol(M.n, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 20, 22)) >M : Symbol(M, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 18, 1)) ->n : Symbol(M.n, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 20, 14)) +>n : Symbol(M.n, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 20, 22)) ~~obj1.x; ->obj1.x : Symbol(x, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 12)) ->obj1 : Symbol(obj1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 3)) ->x : Symbol(x, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 12)) +>obj1.x : Symbol(x, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 19)) +>obj1 : Symbol(obj1, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 11)) +>x : Symbol(x, Decl(bitwiseNotOperatorWithAnyOtherType.ts, 6, 19)) diff --git a/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.types b/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.types index 969a31311a5cd..79a8565022332 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.types @@ -3,41 +3,29 @@ === bitwiseNotOperatorWithAnyOtherType.ts === // ~ operator on any type -var ANY: any; +declare var ANY: any; >ANY : any > : ^^^ -var ANY1; +declare var ANY1; >ANY1 : any > : ^^^ -var ANY2: any[] = ["", ""]; +declare var ANY2: any[]; >ANY2 : any[] > : ^^^^^ ->["", ""] : string[] -> : ^^^^^^^^ ->"" : "" -> : ^^ ->"" : "" -> : ^^ - -var obj: () => {} + +declare var obj: () => {}; >obj : () => {} > : ^^^^^^ -var obj1 = { x:"", y: () => { }}; ->obj1 : { x: string; y: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ x:"", y: () => { }} : { x: string; y: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : string -> : ^^^^^^ ->"" : "" -> : ^^ ->y : () => void -> : ^^^^^^^^^^ ->() => { } : () => void -> : ^^^^^^^^^^ +declare var obj1: { x:"", y: () => { }}; +>obj1 : { x: ""; y: () => {}; } +> : ^^^^^ ^^^^^ ^^^ +>x : "" +> : ^^ +>y : () => {} +> : ^^^^^^ function foo(): any { >foo : () => any @@ -76,17 +64,13 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: any; + export declare var n: any; >n : any > : ^^^ } -var objA = new A(); +declare var objA: A; >objA : A > : ^ ->new A() : A -> : ^ ->A : typeof A -> : ^^^^^^^^ // any other type var var ResultIsNumber = ~ANY1; @@ -134,8 +118,8 @@ var ResultIsNumber5 = ~obj1; > : ^^^^^^ >~obj1 : number > : ^^^^^^ ->obj1 : { x: string; y: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj1 : { x: ""; y: () => {}; } +> : ^^^^^ ^^^^^ ^^^ // any type literal var ResultIsNumber6 = ~undefined; @@ -170,24 +154,24 @@ var ResultIsNumber9 = ~obj1.x; > : ^^^^^^ >~obj1.x : number > : ^^^^^^ ->obj1.x : string -> : ^^^^^^ ->obj1 : { x: string; y: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : string -> : ^^^^^^ +>obj1.x : "" +> : ^^ +>obj1 : { x: ""; y: () => {}; } +> : ^^^^^ ^^^^^ ^^^ +>x : "" +> : ^^ var ResultIsNumber10 = ~obj1.y; >ResultIsNumber10 : number > : ^^^^^^ >~obj1.y : number > : ^^^^^^ ->obj1.y : () => void -> : ^^^^^^^^^^ ->obj1 : { x: string; y: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : () => void -> : ^^^^^^^^^^ +>obj1.y : () => {} +> : ^^^^^^ +>obj1 : { x: ""; y: () => {}; } +> : ^^^^^ ^^^^^ ^^^ +>y : () => {} +> : ^^^^^^ var ResultIsNumber11 = ~objA.a; >ResultIsNumber11 : number @@ -352,12 +336,12 @@ var ResultIsNumber20 = ~~~(ANY + ANY1); ~obj1.y; >~obj1.y : number > : ^^^^^^ ->obj1.y : () => void -> : ^^^^^^^^^^ ->obj1 : { x: string; y: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : () => void -> : ^^^^^^^^^^ +>obj1.y : () => {} +> : ^^^^^^ +>obj1 : { x: ""; y: () => {}; } +> : ^^^^^ ^^^^^ ^^^ +>y : () => {} +> : ^^^^^^ ~objA.a; >~objA.a : number @@ -384,10 +368,10 @@ var ResultIsNumber20 = ~~~(ANY + ANY1); > : ^^^^^^ >~obj1.x : number > : ^^^^^^ ->obj1.x : string -> : ^^^^^^ ->obj1 : { x: string; y: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : string -> : ^^^^^^ +>obj1.x : "" +> : ^^ +>obj1 : { x: ""; y: () => {}; } +> : ^^^^^ ^^^^^ ^^^ +>x : "" +> : ^^ diff --git a/tests/baselines/reference/bluebirdStaticThis.errors.txt b/tests/baselines/reference/bluebirdStaticThis.errors.txt index e63c4c3e3deba..316b0a02ab804 100644 --- a/tests/baselines/reference/bluebirdStaticThis.errors.txt +++ b/tests/baselines/reference/bluebirdStaticThis.errors.txt @@ -146,10 +146,10 @@ bluebirdStaticThis.ts(60,73): error TS2694: Namespace '"bluebirdStaticThis".Prom a: number; b: string; } - var x: any; - var arr: any[]; - var foo: Foo; - var fooProm: Promise; + declare var x: any; + declare var arr: any[]; + declare var foo: Foo; + declare var fooProm: Promise; fooProm = Promise.try(Promise, () => { return foo; diff --git a/tests/baselines/reference/bluebirdStaticThis.js b/tests/baselines/reference/bluebirdStaticThis.js index 56abde4064fac..4424200e47596 100644 --- a/tests/baselines/reference/bluebirdStaticThis.js +++ b/tests/baselines/reference/bluebirdStaticThis.js @@ -125,10 +125,10 @@ interface Foo { a: number; b: string; } -var x: any; -var arr: any[]; -var foo: Foo; -var fooProm: Promise; +declare var x: any; +declare var arr: any[]; +declare var foo: Foo; +declare var fooProm: Promise; fooProm = Promise.try(Promise, () => { return foo; @@ -143,10 +143,6 @@ fooProm = Promise.try(Promise, () => { //// [bluebirdStaticThis.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var x; -var arr; -var foo; -var fooProm; fooProm = Promise.try(Promise, function () { return foo; }); diff --git a/tests/baselines/reference/bluebirdStaticThis.symbols b/tests/baselines/reference/bluebirdStaticThis.symbols index 267b935f2942d..0ef48d836f475 100644 --- a/tests/baselines/reference/bluebirdStaticThis.symbols +++ b/tests/baselines/reference/bluebirdStaticThis.symbols @@ -1122,56 +1122,56 @@ interface Foo { b: string; >b : Symbol(Foo.b, Decl(bluebirdStaticThis.ts, 121, 14)) } -var x: any; ->x : Symbol(x, Decl(bluebirdStaticThis.ts, 124, 3)) +declare var x: any; +>x : Symbol(x, Decl(bluebirdStaticThis.ts, 124, 11)) -var arr: any[]; ->arr : Symbol(arr, Decl(bluebirdStaticThis.ts, 125, 3)) +declare var arr: any[]; +>arr : Symbol(arr, Decl(bluebirdStaticThis.ts, 125, 11)) -var foo: Foo; ->foo : Symbol(foo, Decl(bluebirdStaticThis.ts, 126, 3)) +declare var foo: Foo; +>foo : Symbol(foo, Decl(bluebirdStaticThis.ts, 126, 11)) >Foo : Symbol(Foo, Decl(bluebirdStaticThis.ts, 118, 1)) -var fooProm: Promise; ->fooProm : Symbol(fooProm, Decl(bluebirdStaticThis.ts, 127, 3)) +declare var fooProm: Promise; +>fooProm : Symbol(fooProm, Decl(bluebirdStaticThis.ts, 127, 11)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) >Foo : Symbol(Foo, Decl(bluebirdStaticThis.ts, 118, 1)) fooProm = Promise.try(Promise, () => { ->fooProm : Symbol(fooProm, Decl(bluebirdStaticThis.ts, 127, 3)) +>fooProm : Symbol(fooProm, Decl(bluebirdStaticThis.ts, 127, 11)) >Promise.try : Symbol(Promise.try, Decl(bluebirdStaticThis.ts, 5, 125), Decl(bluebirdStaticThis.ts, 6, 107)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) >try : Symbol(Promise.try, Decl(bluebirdStaticThis.ts, 5, 125), Decl(bluebirdStaticThis.ts, 6, 107)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) return foo; ->foo : Symbol(foo, Decl(bluebirdStaticThis.ts, 126, 3)) +>foo : Symbol(foo, Decl(bluebirdStaticThis.ts, 126, 11)) }); fooProm = Promise.try(Promise, () => { ->fooProm : Symbol(fooProm, Decl(bluebirdStaticThis.ts, 127, 3)) +>fooProm : Symbol(fooProm, Decl(bluebirdStaticThis.ts, 127, 11)) >Promise.try : Symbol(Promise.try, Decl(bluebirdStaticThis.ts, 5, 125), Decl(bluebirdStaticThis.ts, 6, 107)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) >try : Symbol(Promise.try, Decl(bluebirdStaticThis.ts, 5, 125), Decl(bluebirdStaticThis.ts, 6, 107)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) return foo; ->foo : Symbol(foo, Decl(bluebirdStaticThis.ts, 126, 3)) +>foo : Symbol(foo, Decl(bluebirdStaticThis.ts, 126, 11)) }, arr); ->arr : Symbol(arr, Decl(bluebirdStaticThis.ts, 125, 3)) +>arr : Symbol(arr, Decl(bluebirdStaticThis.ts, 125, 11)) fooProm = Promise.try(Promise, () => { ->fooProm : Symbol(fooProm, Decl(bluebirdStaticThis.ts, 127, 3)) +>fooProm : Symbol(fooProm, Decl(bluebirdStaticThis.ts, 127, 11)) >Promise.try : Symbol(Promise.try, Decl(bluebirdStaticThis.ts, 5, 125), Decl(bluebirdStaticThis.ts, 6, 107)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) >try : Symbol(Promise.try, Decl(bluebirdStaticThis.ts, 5, 125), Decl(bluebirdStaticThis.ts, 6, 107)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) return foo; ->foo : Symbol(foo, Decl(bluebirdStaticThis.ts, 126, 3)) +>foo : Symbol(foo, Decl(bluebirdStaticThis.ts, 126, 11)) }, arr, x); ->arr : Symbol(arr, Decl(bluebirdStaticThis.ts, 125, 3)) ->x : Symbol(x, Decl(bluebirdStaticThis.ts, 124, 3)) +>arr : Symbol(arr, Decl(bluebirdStaticThis.ts, 125, 11)) +>x : Symbol(x, Decl(bluebirdStaticThis.ts, 124, 11)) diff --git a/tests/baselines/reference/bluebirdStaticThis.types b/tests/baselines/reference/bluebirdStaticThis.types index d544d41396a90..5611a3a4086e7 100644 --- a/tests/baselines/reference/bluebirdStaticThis.types +++ b/tests/baselines/reference/bluebirdStaticThis.types @@ -1202,19 +1202,19 @@ interface Foo { >b : string > : ^^^^^^ } -var x: any; +declare var x: any; >x : any > : ^^^ -var arr: any[]; +declare var arr: any[]; >arr : any[] > : ^^^^^ -var foo: Foo; +declare var foo: Foo; >foo : Foo > : ^^^ -var fooProm: Promise; +declare var fooProm: Promise; >fooProm : Promise > : ^^^^^^^^^^^^ diff --git a/tests/baselines/reference/booleanAssignment.errors.txt b/tests/baselines/reference/booleanAssignment.errors.txt index a24110e7364ea..9d870eb33d857 100644 --- a/tests/baselines/reference/booleanAssignment.errors.txt +++ b/tests/baselines/reference/booleanAssignment.errors.txt @@ -24,5 +24,5 @@ booleanAssignment.ts(4,1): error TS2322: Type '{}' is not assignable to type 'Bo b = true; // OK - var b2:boolean; + declare var b2:boolean; b = b2; // OK \ No newline at end of file diff --git a/tests/baselines/reference/booleanAssignment.js b/tests/baselines/reference/booleanAssignment.js index 4f2b0917b0777..727823c4375ce 100644 --- a/tests/baselines/reference/booleanAssignment.js +++ b/tests/baselines/reference/booleanAssignment.js @@ -11,7 +11,7 @@ o = b; // OK b = true; // OK -var b2:boolean; +declare var b2:boolean; b = b2; // OK //// [booleanAssignment.js] @@ -22,5 +22,4 @@ b = {}; // Error var o = {}; o = b; // OK b = true; // OK -var b2; b = b2; // OK diff --git a/tests/baselines/reference/booleanAssignment.symbols b/tests/baselines/reference/booleanAssignment.symbols index 4dbdc3df0fbd4..ae0c80eef8f7c 100644 --- a/tests/baselines/reference/booleanAssignment.symbols +++ b/tests/baselines/reference/booleanAssignment.symbols @@ -24,10 +24,10 @@ o = b; // OK b = true; // OK >b : Symbol(b, Decl(booleanAssignment.ts, 0, 3)) -var b2:boolean; ->b2 : Symbol(b2, Decl(booleanAssignment.ts, 10, 3)) +declare var b2:boolean; +>b2 : Symbol(b2, Decl(booleanAssignment.ts, 10, 11)) b = b2; // OK >b : Symbol(b, Decl(booleanAssignment.ts, 0, 3)) ->b2 : Symbol(b2, Decl(booleanAssignment.ts, 10, 3)) +>b2 : Symbol(b2, Decl(booleanAssignment.ts, 10, 11)) diff --git a/tests/baselines/reference/booleanAssignment.types b/tests/baselines/reference/booleanAssignment.types index b5bbc571bf2df..f438aa2073f56 100644 --- a/tests/baselines/reference/booleanAssignment.types +++ b/tests/baselines/reference/booleanAssignment.types @@ -55,7 +55,7 @@ b = true; // OK >true : true > : ^^^^ -var b2:boolean; +declare var b2:boolean; >b2 : boolean > : ^^^^^^^ diff --git a/tests/baselines/reference/callConstructAssignment.errors.txt b/tests/baselines/reference/callConstructAssignment.errors.txt index b978e24c258ca..0f6742f6ace7f 100644 --- a/tests/baselines/reference/callConstructAssignment.errors.txt +++ b/tests/baselines/reference/callConstructAssignment.errors.txt @@ -5,9 +5,9 @@ callConstructAssignment.ts(6,1): error TS2322: Type '() => void' is not assignab ==== callConstructAssignment.ts (2 errors) ==== - var foo:{ ( ):void; } + declare var foo:{ ( ):void; } - var bar:{ new ( ):any; } + declare var bar:{ new ( ):any; } foo = bar; // error ~~~ diff --git a/tests/baselines/reference/callConstructAssignment.js b/tests/baselines/reference/callConstructAssignment.js index 1ecd7e794f085..2ecc4ef183923 100644 --- a/tests/baselines/reference/callConstructAssignment.js +++ b/tests/baselines/reference/callConstructAssignment.js @@ -1,15 +1,13 @@ //// [tests/cases/compiler/callConstructAssignment.ts] //// //// [callConstructAssignment.ts] -var foo:{ ( ):void; } +declare var foo:{ ( ):void; } -var bar:{ new ( ):any; } +declare var bar:{ new ( ):any; } foo = bar; // error bar = foo; // error //// [callConstructAssignment.js] -var foo; -var bar; foo = bar; // error bar = foo; // error diff --git a/tests/baselines/reference/callConstructAssignment.symbols b/tests/baselines/reference/callConstructAssignment.symbols index 8a851cde75d1c..6020819f4058f 100644 --- a/tests/baselines/reference/callConstructAssignment.symbols +++ b/tests/baselines/reference/callConstructAssignment.symbols @@ -1,17 +1,17 @@ //// [tests/cases/compiler/callConstructAssignment.ts] //// === callConstructAssignment.ts === -var foo:{ ( ):void; } ->foo : Symbol(foo, Decl(callConstructAssignment.ts, 0, 3)) +declare var foo:{ ( ):void; } +>foo : Symbol(foo, Decl(callConstructAssignment.ts, 0, 11)) -var bar:{ new ( ):any; } ->bar : Symbol(bar, Decl(callConstructAssignment.ts, 2, 3)) +declare var bar:{ new ( ):any; } +>bar : Symbol(bar, Decl(callConstructAssignment.ts, 2, 11)) foo = bar; // error ->foo : Symbol(foo, Decl(callConstructAssignment.ts, 0, 3)) ->bar : Symbol(bar, Decl(callConstructAssignment.ts, 2, 3)) +>foo : Symbol(foo, Decl(callConstructAssignment.ts, 0, 11)) +>bar : Symbol(bar, Decl(callConstructAssignment.ts, 2, 11)) bar = foo; // error ->bar : Symbol(bar, Decl(callConstructAssignment.ts, 2, 3)) ->foo : Symbol(foo, Decl(callConstructAssignment.ts, 0, 3)) +>bar : Symbol(bar, Decl(callConstructAssignment.ts, 2, 11)) +>foo : Symbol(foo, Decl(callConstructAssignment.ts, 0, 11)) diff --git a/tests/baselines/reference/callConstructAssignment.types b/tests/baselines/reference/callConstructAssignment.types index f6c70e5598efa..25e78d77ff5ea 100644 --- a/tests/baselines/reference/callConstructAssignment.types +++ b/tests/baselines/reference/callConstructAssignment.types @@ -1,11 +1,11 @@ //// [tests/cases/compiler/callConstructAssignment.ts] //// === callConstructAssignment.ts === -var foo:{ ( ):void; } +declare var foo:{ ( ):void; } >foo : () => void > : ^^^^^^ -var bar:{ new ( ):any; } +declare var bar:{ new ( ):any; } >bar : new () => any > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.errors.txt b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.errors.txt index 19ef7aa63ac19..14d0e666de94e 100644 --- a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.errors.txt +++ b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.errors.txt @@ -34,7 +34,7 @@ callGenericFunctionWithIncorrectNumberOfTypeArguments.ts(44,16): error TS2558: E ~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2558: Expected 2 type arguments, but got 3. - var f3: { (x: T, y: U): T; } + declare var f3: { (x: T, y: U): T; }; var r3 = f3(1, ''); ~~~~~~ !!! error TS2558: Expected 2 type arguments, but got 1. @@ -57,7 +57,7 @@ callGenericFunctionWithIncorrectNumberOfTypeArguments.ts(44,16): error TS2558: E interface I { f(x: T, y: U): T; } - var i: I; + declare var i: I; var r5 = i.f(1, ''); ~~~~~~ !!! error TS2558: Expected 2 type arguments, but got 1. @@ -80,7 +80,7 @@ callGenericFunctionWithIncorrectNumberOfTypeArguments.ts(44,16): error TS2558: E interface I2 { f(x: T, y: U): T; } - var i2: I2; + declare var i2: I2; var r7 = i2.f(1, ''); ~~~~~~ !!! error TS2558: Expected 0 type arguments, but got 1. diff --git a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.js b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.js index 686a578a9298e..956611581c8d2 100644 --- a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.js +++ b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.js @@ -12,7 +12,7 @@ var f2 = (x: T, y: U): T => { return null; } var r2 = f2(1, ''); var r2b = f2(1, ''); -var f3: { (x: T, y: U): T; } +declare var f3: { (x: T, y: U): T; }; var r3 = f3(1, ''); var r3b = f3(1, ''); @@ -27,7 +27,7 @@ var r4b = (new C()).f(1, ''); interface I { f(x: T, y: U): T; } -var i: I; +declare var i: I; var r5 = i.f(1, ''); var r5b = i.f(1, ''); @@ -42,7 +42,7 @@ var r6b = (new C2()).f(1, ''); interface I2 { f(x: T, y: U): T; } -var i2: I2; +declare var i2: I2; var r7 = i2.f(1, ''); var r7b = i2.f(1, ''); @@ -55,7 +55,6 @@ var r1b = f(1, ''); var f2 = function (x, y) { return null; }; var r2 = f2(1, ''); var r2b = f2(1, ''); -var f3; var r3 = f3(1, ''); var r3b = f3(1, ''); var C = /** @class */ (function () { @@ -68,7 +67,6 @@ var C = /** @class */ (function () { }()); var r4 = (new C()).f(1, ''); var r4b = (new C()).f(1, ''); -var i; var r5 = i.f(1, ''); var r5b = i.f(1, ''); var C2 = /** @class */ (function () { @@ -81,6 +79,5 @@ var C2 = /** @class */ (function () { }()); var r6 = (new C2()).f(1, ''); var r6b = (new C2()).f(1, ''); -var i2; var r7 = i2.f(1, ''); var r7b = i2.f(1, ''); diff --git a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.symbols b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.symbols index 7eec1bcb37164..9a0c83e7fd467 100644 --- a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.symbols +++ b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.symbols @@ -40,23 +40,23 @@ var r2b = f2(1, ''); >r2b : Symbol(r2b, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 9, 3)) >f2 : Symbol(f2, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 7, 3)) -var f3: { (x: T, y: U): T; } ->f3 : Symbol(f3, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 3)) ->T : Symbol(T, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 11)) ->U : Symbol(U, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 13)) ->x : Symbol(x, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 17)) ->T : Symbol(T, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 11)) ->y : Symbol(y, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 22)) ->U : Symbol(U, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 13)) ->T : Symbol(T, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 11)) +declare var f3: { (x: T, y: U): T; }; +>f3 : Symbol(f3, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 11)) +>T : Symbol(T, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 19)) +>U : Symbol(U, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 21)) +>x : Symbol(x, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 25)) +>T : Symbol(T, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 19)) +>y : Symbol(y, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 30)) +>U : Symbol(U, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 21)) +>T : Symbol(T, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 19)) var r3 = f3(1, ''); >r3 : Symbol(r3, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 12, 3)) ->f3 : Symbol(f3, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 3)) +>f3 : Symbol(f3, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 11)) var r3b = f3(1, ''); >r3b : Symbol(r3b, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 13, 3)) ->f3 : Symbol(f3, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 3)) +>f3 : Symbol(f3, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 11, 11)) class C { >C : Symbol(C, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 13, 44)) @@ -99,20 +99,20 @@ interface I { >U : Symbol(U, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 24, 8)) >T : Symbol(T, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 24, 6)) } -var i: I; ->i : Symbol(i, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 26, 3)) +declare var i: I; +>i : Symbol(i, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 26, 11)) >I : Symbol(I, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 21, 53)) var r5 = i.f(1, ''); >r5 : Symbol(r5, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 27, 3)) >i.f : Symbol(I.f, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 23, 13)) ->i : Symbol(i, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 26, 3)) +>i : Symbol(i, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 26, 11)) >f : Symbol(I.f, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 23, 13)) var r5b = i.f(1, ''); >r5b : Symbol(r5b, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 28, 3)) >i.f : Symbol(I.f, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 23, 13)) ->i : Symbol(i, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 26, 3)) +>i : Symbol(i, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 26, 11)) >f : Symbol(I.f, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 23, 13)) class C2 { @@ -156,19 +156,19 @@ interface I2 { >U : Symbol(U, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 38, 15)) >T : Symbol(T, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 38, 13)) } -var i2: I2; ->i2 : Symbol(i2, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 41, 3)) +declare var i2: I2; +>i2 : Symbol(i2, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 41, 11)) >I2 : Symbol(I2, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 36, 54)) var r7 = i2.f(1, ''); >r7 : Symbol(r7, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 42, 3)) >i2.f : Symbol(I2.f, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 38, 20)) ->i2 : Symbol(i2, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 41, 3)) +>i2 : Symbol(i2, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 41, 11)) >f : Symbol(I2.f, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 38, 20)) var r7b = i2.f(1, ''); >r7b : Symbol(r7b, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 43, 3)) >i2.f : Symbol(I2.f, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 38, 20)) ->i2 : Symbol(i2, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 41, 3)) +>i2 : Symbol(i2, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 41, 11)) >f : Symbol(I2.f, Decl(callGenericFunctionWithIncorrectNumberOfTypeArguments.ts, 38, 20)) diff --git a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types index d142977e5f21c..5fcca149b8cc1 100644 --- a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types +++ b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types @@ -70,7 +70,7 @@ var r2b = f2(1, ''); >'' : "" > : ^^ -var f3: { (x: T, y: U): T; } +declare var f3: { (x: T, y: U): T; }; >f3 : (x: T, y: U) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -166,7 +166,7 @@ interface I { >y : U > : ^ } -var i: I; +declare var i: I; >i : I > : ^ @@ -266,7 +266,7 @@ interface I2 { >y : U > : ^ } -var i2: I2; +declare var i2: I2; >i2 : I2 > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.errors.txt b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.errors.txt index 478826f64c788..e4792a3a8e28d 100644 --- a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.errors.txt +++ b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.errors.txt @@ -23,7 +23,7 @@ callNonGenericFunctionWithTypeArguments.ts(43,10): error TS2347: Untyped functio ~~~~~~ !!! error TS2558: Expected 0 type arguments, but got 1. - var f3: { (x: number): any; } + declare var f3: { (x: number): any; } var r3 = f3(1); ~~~~~~ !!! error TS2558: Expected 0 type arguments, but got 1. @@ -40,7 +40,7 @@ callNonGenericFunctionWithTypeArguments.ts(43,10): error TS2347: Untyped functio interface I { f(x: number): any; } - var i: I; + declare var i: I; var r5 = i.f(1); ~~~~~~ !!! error TS2558: Expected 0 type arguments, but got 1. @@ -57,17 +57,17 @@ callNonGenericFunctionWithTypeArguments.ts(43,10): error TS2347: Untyped functio interface I2 { f(x: number); } - var i2: I2; + declare var i2: I2; var r7 = i2.f(1); ~~~~~~ !!! error TS2558: Expected 0 type arguments, but got 1. - var a; + declare var a; var r8 = a(); ~~~~~~~~~~~ !!! error TS2347: Untyped function calls may not accept type arguments. - var a2: any; + declare var a2: any; var r8 = a2(); ~~~~~~~~~~~~ !!! error TS2347: Untyped function calls may not accept type arguments. \ No newline at end of file diff --git a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.js b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.js index 8bd2c373030cb..3ed8d92d72537 100644 --- a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.js +++ b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.js @@ -10,7 +10,7 @@ var r = f(1); var f2 = (x: number) => { return null; } var r2 = f2(1); -var f3: { (x: number): any; } +declare var f3: { (x: number): any; } var r3 = f3(1); class C { @@ -23,7 +23,7 @@ var r4 = (new C()).f(1); interface I { f(x: number): any; } -var i: I; +declare var i: I; var r5 = i.f(1); class C2 { @@ -36,13 +36,13 @@ var r6 = (new C2()).f(1); interface I2 { f(x: number); } -var i2: I2; +declare var i2: I2; var r7 = i2.f(1); -var a; +declare var a; var r8 = a(); -var a2: any; +declare var a2: any; var r8 = a2(); //// [callNonGenericFunctionWithTypeArguments.js] @@ -52,7 +52,6 @@ function f(x) { return null; } var r = f(1); var f2 = function (x) { return null; }; var r2 = f2(1); -var f3; var r3 = f3(1); var C = /** @class */ (function () { function C() { @@ -63,7 +62,6 @@ var C = /** @class */ (function () { return C; }()); var r4 = (new C()).f(1); -var i; var r5 = i.f(1); var C2 = /** @class */ (function () { function C2() { @@ -74,9 +72,6 @@ var C2 = /** @class */ (function () { return C2; }()); var r6 = (new C2()).f(1); -var i2; var r7 = i2.f(1); -var a; var r8 = a(); -var a2; var r8 = a2(); diff --git a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.symbols b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.symbols index 41d2d82216945..c22ba99044b35 100644 --- a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.symbols +++ b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.symbols @@ -20,13 +20,13 @@ var r2 = f2(1); >r2 : Symbol(r2, Decl(callNonGenericFunctionWithTypeArguments.ts, 7, 3)) >f2 : Symbol(f2, Decl(callNonGenericFunctionWithTypeArguments.ts, 6, 3)) -var f3: { (x: number): any; } ->f3 : Symbol(f3, Decl(callNonGenericFunctionWithTypeArguments.ts, 9, 3)) ->x : Symbol(x, Decl(callNonGenericFunctionWithTypeArguments.ts, 9, 11)) +declare var f3: { (x: number): any; } +>f3 : Symbol(f3, Decl(callNonGenericFunctionWithTypeArguments.ts, 9, 11)) +>x : Symbol(x, Decl(callNonGenericFunctionWithTypeArguments.ts, 9, 19)) var r3 = f3(1); >r3 : Symbol(r3, Decl(callNonGenericFunctionWithTypeArguments.ts, 10, 3)) ->f3 : Symbol(f3, Decl(callNonGenericFunctionWithTypeArguments.ts, 9, 3)) +>f3 : Symbol(f3, Decl(callNonGenericFunctionWithTypeArguments.ts, 9, 11)) class C { >C : Symbol(C, Decl(callNonGenericFunctionWithTypeArguments.ts, 10, 23)) @@ -51,14 +51,14 @@ interface I { >f : Symbol(I.f, Decl(callNonGenericFunctionWithTypeArguments.ts, 19, 13)) >x : Symbol(x, Decl(callNonGenericFunctionWithTypeArguments.ts, 20, 6)) } -var i: I; ->i : Symbol(i, Decl(callNonGenericFunctionWithTypeArguments.ts, 22, 3)) +declare var i: I; +>i : Symbol(i, Decl(callNonGenericFunctionWithTypeArguments.ts, 22, 11)) >I : Symbol(I, Decl(callNonGenericFunctionWithTypeArguments.ts, 17, 32)) var r5 = i.f(1); >r5 : Symbol(r5, Decl(callNonGenericFunctionWithTypeArguments.ts, 23, 3)) >i.f : Symbol(I.f, Decl(callNonGenericFunctionWithTypeArguments.ts, 19, 13)) ->i : Symbol(i, Decl(callNonGenericFunctionWithTypeArguments.ts, 22, 3)) +>i : Symbol(i, Decl(callNonGenericFunctionWithTypeArguments.ts, 22, 11)) >f : Symbol(I.f, Decl(callNonGenericFunctionWithTypeArguments.ts, 19, 13)) class C2 { @@ -84,27 +84,27 @@ interface I2 { >f : Symbol(I2.f, Decl(callNonGenericFunctionWithTypeArguments.ts, 32, 14)) >x : Symbol(x, Decl(callNonGenericFunctionWithTypeArguments.ts, 33, 6)) } -var i2: I2; ->i2 : Symbol(i2, Decl(callNonGenericFunctionWithTypeArguments.ts, 35, 3)) +declare var i2: I2; +>i2 : Symbol(i2, Decl(callNonGenericFunctionWithTypeArguments.ts, 35, 11)) >I2 : Symbol(I2, Decl(callNonGenericFunctionWithTypeArguments.ts, 30, 33)) var r7 = i2.f(1); >r7 : Symbol(r7, Decl(callNonGenericFunctionWithTypeArguments.ts, 36, 3)) >i2.f : Symbol(I2.f, Decl(callNonGenericFunctionWithTypeArguments.ts, 32, 14)) ->i2 : Symbol(i2, Decl(callNonGenericFunctionWithTypeArguments.ts, 35, 3)) +>i2 : Symbol(i2, Decl(callNonGenericFunctionWithTypeArguments.ts, 35, 11)) >f : Symbol(I2.f, Decl(callNonGenericFunctionWithTypeArguments.ts, 32, 14)) -var a; ->a : Symbol(a, Decl(callNonGenericFunctionWithTypeArguments.ts, 38, 3)) +declare var a; +>a : Symbol(a, Decl(callNonGenericFunctionWithTypeArguments.ts, 38, 11)) var r8 = a(); >r8 : Symbol(r8, Decl(callNonGenericFunctionWithTypeArguments.ts, 39, 3), Decl(callNonGenericFunctionWithTypeArguments.ts, 42, 3)) ->a : Symbol(a, Decl(callNonGenericFunctionWithTypeArguments.ts, 38, 3)) +>a : Symbol(a, Decl(callNonGenericFunctionWithTypeArguments.ts, 38, 11)) -var a2: any; ->a2 : Symbol(a2, Decl(callNonGenericFunctionWithTypeArguments.ts, 41, 3)) +declare var a2: any; +>a2 : Symbol(a2, Decl(callNonGenericFunctionWithTypeArguments.ts, 41, 11)) var r8 = a2(); >r8 : Symbol(r8, Decl(callNonGenericFunctionWithTypeArguments.ts, 39, 3), Decl(callNonGenericFunctionWithTypeArguments.ts, 42, 3)) ->a2 : Symbol(a2, Decl(callNonGenericFunctionWithTypeArguments.ts, 41, 3)) +>a2 : Symbol(a2, Decl(callNonGenericFunctionWithTypeArguments.ts, 41, 11)) diff --git a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types index b5bfc3d90ccee..85e56fbe6a212 100644 --- a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types +++ b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types @@ -38,7 +38,7 @@ var r2 = f2(1); >1 : 1 > : ^ -var f3: { (x: number): any; } +declare var f3: { (x: number): any; } >f3 : (x: number) => any > : ^ ^^ ^^^^^ >x : number @@ -92,7 +92,7 @@ interface I { >x : number > : ^^^^^^ } -var i: I; +declare var i: I; >i : I > : ^ @@ -148,7 +148,7 @@ interface I2 { >x : number > : ^^^^^^ } -var i2: I2; +declare var i2: I2; >i2 : I2 > : ^^ @@ -166,7 +166,7 @@ var r7 = i2.f(1); >1 : 1 > : ^ -var a; +declare var a; >a : any > : ^^^ @@ -178,7 +178,7 @@ var r8 = a(); >a : any > : ^^^ -var a2: any; +declare var a2: any; >a2 : any > : ^^^ diff --git a/tests/baselines/reference/callOverload.errors.txt b/tests/baselines/reference/callOverload.errors.txt index e10608b023b7d..2dbf56fc3daba 100644 --- a/tests/baselines/reference/callOverload.errors.txt +++ b/tests/baselines/reference/callOverload.errors.txt @@ -8,7 +8,7 @@ callOverload.ts(11,10): error TS2556: A spread argument must either have a tuple declare function fn(x: any): void; declare function takeTwo(x: any, y: any): void; declare function withRest(a: any, ...args: Array): void; - var n: number[]; + declare var n: number[]; fn(1) // no error fn(1, 2, 3, 4) diff --git a/tests/baselines/reference/callOverload.js b/tests/baselines/reference/callOverload.js index a5cb85289d81b..e1e4377119ca8 100644 --- a/tests/baselines/reference/callOverload.js +++ b/tests/baselines/reference/callOverload.js @@ -4,7 +4,7 @@ declare function fn(x: any): void; declare function takeTwo(x: any, y: any): void; declare function withRest(a: any, ...args: Array): void; -var n: number[]; +declare var n: number[]; fn(1) // no error fn(1, 2, 3, 4) @@ -23,7 +23,6 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { } return to.concat(ar || Array.prototype.slice.call(from)); }; -var n; fn(1); // no error fn(1, 2, 3, 4); takeTwo(1, 2, 3, 4); diff --git a/tests/baselines/reference/callOverload.symbols b/tests/baselines/reference/callOverload.symbols index 0dade2079092c..f29ef818a2325 100644 --- a/tests/baselines/reference/callOverload.symbols +++ b/tests/baselines/reference/callOverload.symbols @@ -16,8 +16,8 @@ declare function withRest(a: any, ...args: Array): void; >args : Symbol(args, Decl(callOverload.ts, 2, 33)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) -var n: number[]; ->n : Symbol(n, Decl(callOverload.ts, 3, 3)) +declare var n: number[]; +>n : Symbol(n, Decl(callOverload.ts, 3, 11)) fn(1) // no error >fn : Symbol(fn, Decl(callOverload.ts, 0, 0)) @@ -30,12 +30,12 @@ takeTwo(1, 2, 3, 4) withRest('a', ...n); // no error >withRest : Symbol(withRest, Decl(callOverload.ts, 1, 47)) ->n : Symbol(n, Decl(callOverload.ts, 3, 3)) +>n : Symbol(n, Decl(callOverload.ts, 3, 11)) withRest(); >withRest : Symbol(withRest, Decl(callOverload.ts, 1, 47)) withRest(...n); >withRest : Symbol(withRest, Decl(callOverload.ts, 1, 47)) ->n : Symbol(n, Decl(callOverload.ts, 3, 3)) +>n : Symbol(n, Decl(callOverload.ts, 3, 11)) diff --git a/tests/baselines/reference/callOverload.types b/tests/baselines/reference/callOverload.types index 3cfc7e27afd1d..c7434310c9316 100644 --- a/tests/baselines/reference/callOverload.types +++ b/tests/baselines/reference/callOverload.types @@ -23,7 +23,7 @@ declare function withRest(a: any, ...args: Array): void; >args : any[] > : ^^^^^ -var n: number[]; +declare var n: number[]; >n : number[] > : ^^^^^^^^ diff --git a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.errors.txt b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.errors.txt index 8b318bfd1d482..21ef72bcac439 100644 --- a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.errors.txt +++ b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.errors.txt @@ -42,7 +42,7 @@ callSignatureWithOptionalParameterAndInitializer.ts(46,9): error TS1015: Paramet !!! error TS1015: Parameter cannot have question mark and initializer. } - var c: C; + declare var c: C; c.foo(); c.foo(1); @@ -59,13 +59,13 @@ callSignatureWithOptionalParameterAndInitializer.ts(46,9): error TS1015: Paramet !!! error TS2371: A parameter initializer is only allowed in a function or constructor implementation. } - var i: I; + declare var i: I; i(); i(1); i.foo(1); i.foo(1, 2); - var a: { + declare var a: { (x?: number = 1); ~ !!! error TS1015: Parameter cannot have question mark and initializer. diff --git a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.js b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.js index 25cd2f5f1460c..e64df78dfad5f 100644 --- a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.js +++ b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.js @@ -18,7 +18,7 @@ class C { foo(x?: number = 1) { } } -var c: C; +declare var c: C; c.foo(); c.foo(1); @@ -27,13 +27,13 @@ interface I { foo(x: number, y?: number = 1); } -var i: I; +declare var i: I; i(); i(1); i.foo(1); i.foo(1, 2); -var a: { +declare var a: { (x?: number = 1); foo(x? = 1); } @@ -82,15 +82,12 @@ var C = /** @class */ (function () { }; return C; }()); -var c; c.foo(); c.foo(1); -var i; i(); i(1); i.foo(1); i.foo(1, 2); -var a; a(); a(1); a.foo(); diff --git a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.symbols b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.symbols index eb1cbf79525a0..b4e2a839fd560 100644 --- a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.symbols +++ b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.symbols @@ -43,18 +43,18 @@ class C { >x : Symbol(x, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 14, 8)) } -var c: C; ->c : Symbol(c, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 17, 3)) +declare var c: C; +>c : Symbol(c, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 17, 11)) >C : Symbol(C, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 11, 9)) c.foo(); >c.foo : Symbol(C.foo, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 13, 9)) ->c : Symbol(c, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 17, 3)) +>c : Symbol(c, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 17, 11)) >foo : Symbol(C.foo, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 13, 9)) c.foo(1); >c.foo : Symbol(C.foo, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 13, 9)) ->c : Symbol(c, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 17, 3)) +>c : Symbol(c, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 17, 11)) >foo : Symbol(C.foo, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 13, 9)) interface I { @@ -69,28 +69,28 @@ interface I { >y : Symbol(y, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 23, 18)) } -var i: I; ->i : Symbol(i, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 26, 3)) +declare var i: I; +>i : Symbol(i, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 26, 11)) >I : Symbol(I, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 19, 9)) i(); ->i : Symbol(i, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 26, 3)) +>i : Symbol(i, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 26, 11)) i(1); ->i : Symbol(i, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 26, 3)) +>i : Symbol(i, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 26, 11)) i.foo(1); >i.foo : Symbol(I.foo, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 22, 13)) ->i : Symbol(i, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 26, 3)) +>i : Symbol(i, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 26, 11)) >foo : Symbol(I.foo, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 22, 13)) i.foo(1, 2); >i.foo : Symbol(I.foo, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 22, 13)) ->i : Symbol(i, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 26, 3)) +>i : Symbol(i, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 26, 11)) >foo : Symbol(I.foo, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 22, 13)) -var a: { ->a : Symbol(a, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 32, 3)) +declare var a: { +>a : Symbol(a, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 32, 11)) (x?: number = 1); >x : Symbol(x, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 33, 5)) @@ -101,19 +101,19 @@ var a: { } a(); ->a : Symbol(a, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 32, 3)) +>a : Symbol(a, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 32, 11)) a(1); ->a : Symbol(a, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 32, 3)) +>a : Symbol(a, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 32, 11)) a.foo(); >a.foo : Symbol(foo, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 33, 21)) ->a : Symbol(a, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 32, 3)) +>a : Symbol(a, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 32, 11)) >foo : Symbol(foo, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 33, 21)) a.foo(1); >a.foo : Symbol(foo, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 33, 21)) ->a : Symbol(a, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 32, 3)) +>a : Symbol(a, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 32, 11)) >foo : Symbol(foo, Decl(callSignatureWithOptionalParameterAndInitializer.ts, 33, 21)) var b = { diff --git a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.types b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.types index ccb78e2afb728..c936953039838 100644 --- a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.types +++ b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.types @@ -94,7 +94,7 @@ class C { > : ^ } -var c: C; +declare var c: C; >c : C > : ^ @@ -138,7 +138,7 @@ interface I { > : ^ } -var i: I; +declare var i: I; >i : I > : ^ @@ -182,7 +182,7 @@ i.foo(1, 2); >2 : 2 > : ^ -var a: { +declare var a: { >a : { (x?: number): any; foo(x?: number): any; } > : ^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.errors.txt b/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.errors.txt index f4ecb661941a8..4ff3d589b4292 100644 --- a/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.errors.txt +++ b/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.errors.txt @@ -8,7 +8,7 @@ callSignaturesShouldBeResolvedBeforeSpecialization.ts(9,10): error TS2345: Argum } function foo() { - var test: I1; + var test!: I1; test("expects boolean instead of string"); // should not error - "test" should not expect a boolean test(true); // should error - string expected ~~~~ diff --git a/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.js b/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.js index 8171e03e1d044..fa6b73519fe50 100644 --- a/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.js +++ b/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.js @@ -7,7 +7,7 @@ interface I1 { } function foo() { - var test: I1; + var test!: I1; test("expects boolean instead of string"); // should not error - "test" should not expect a boolean test(true); // should error - string expected } diff --git a/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.symbols b/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.symbols index 197ab73a63171..dbf93044fb7ef 100644 --- a/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.symbols +++ b/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.symbols @@ -17,7 +17,7 @@ interface I1 { function foo() { >foo : Symbol(foo, Decl(callSignaturesShouldBeResolvedBeforeSpecialization.ts, 3, 1)) - var test: I1; + var test!: I1; >test : Symbol(test, Decl(callSignaturesShouldBeResolvedBeforeSpecialization.ts, 6, 7)) >I1 : Symbol(I1, Decl(callSignaturesShouldBeResolvedBeforeSpecialization.ts, 0, 0)) diff --git a/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.types b/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.types index 383eb966f6b7b..f0a4acf4768dc 100644 --- a/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.types +++ b/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.types @@ -15,7 +15,7 @@ function foo() { >foo : () => void > : ^^^^^^^^^^ - var test: I1; + var test!: I1; >test : I1 > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.errors.txt b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.errors.txt index 9031c99a4af12..01b2d24b55191 100644 --- a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.errors.txt +++ b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.errors.txt @@ -16,7 +16,7 @@ callSignaturesThatDifferOnlyByReturnType2.ts(13,16): error TS2345: Argument of t !!! error TS2320: Interface 'A' cannot simultaneously extend types 'I' and 'I'. !!! error TS2320: Named property 'foo' of types 'I' and 'I' are not identical. - var x: A; + declare var x: A; // BUG 822524 var r = x.foo(1); // no error var r2 = x.foo(''); // error diff --git a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.js b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.js index 28a60d2e658fb..13da70445befb 100644 --- a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.js +++ b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.js @@ -10,7 +10,7 @@ interface I { interface A extends I, I { } -var x: A; +declare var x: A; // BUG 822524 var r = x.foo(1); // no error var r2 = x.foo(''); // error @@ -19,7 +19,6 @@ 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 var r2 = x.foo(''); // error diff --git a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.symbols b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.symbols index 7d838fd71bb83..356aaa7830827 100644 --- a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.symbols +++ b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.symbols @@ -19,20 +19,20 @@ interface A extends I, I { } >I : Symbol(I, Decl(callSignaturesThatDifferOnlyByReturnType2.ts, 0, 0)) >I : Symbol(I, Decl(callSignaturesThatDifferOnlyByReturnType2.ts, 0, 0)) -var x: A; ->x : Symbol(x, Decl(callSignaturesThatDifferOnlyByReturnType2.ts, 9, 3)) +declare var x: A; +>x : Symbol(x, Decl(callSignaturesThatDifferOnlyByReturnType2.ts, 9, 11)) >A : Symbol(A, Decl(callSignaturesThatDifferOnlyByReturnType2.ts, 5, 1)) // BUG 822524 var r = x.foo(1); // no error >r : Symbol(r, Decl(callSignaturesThatDifferOnlyByReturnType2.ts, 11, 3)) >x.foo : Symbol(I.foo, Decl(callSignaturesThatDifferOnlyByReturnType2.ts, 3, 16)) ->x : Symbol(x, Decl(callSignaturesThatDifferOnlyByReturnType2.ts, 9, 3)) +>x : Symbol(x, Decl(callSignaturesThatDifferOnlyByReturnType2.ts, 9, 11)) >foo : Symbol(I.foo, Decl(callSignaturesThatDifferOnlyByReturnType2.ts, 3, 16)) var r2 = x.foo(''); // error >r2 : Symbol(r2, Decl(callSignaturesThatDifferOnlyByReturnType2.ts, 12, 3)) >x.foo : Symbol(I.foo, Decl(callSignaturesThatDifferOnlyByReturnType2.ts, 3, 16)) ->x : Symbol(x, Decl(callSignaturesThatDifferOnlyByReturnType2.ts, 9, 3)) +>x : Symbol(x, Decl(callSignaturesThatDifferOnlyByReturnType2.ts, 9, 11)) >foo : Symbol(I.foo, Decl(callSignaturesThatDifferOnlyByReturnType2.ts, 3, 16)) diff --git a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.types b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.types index 3dc65a28feda9..6014ab0a82eea 100644 --- a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.types +++ b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.types @@ -14,7 +14,7 @@ interface I { interface A extends I, I { } -var x: A; +declare var x: A; >x : A > : ^ diff --git a/tests/baselines/reference/callSignaturesWithParameterInitializers.errors.txt b/tests/baselines/reference/callSignaturesWithParameterInitializers.errors.txt index a14b0cf78e4a7..0538df9970e48 100644 --- a/tests/baselines/reference/callSignaturesWithParameterInitializers.errors.txt +++ b/tests/baselines/reference/callSignaturesWithParameterInitializers.errors.txt @@ -22,7 +22,7 @@ callSignaturesWithParameterInitializers.ts(37,9): error TS2371: A parameter init foo(x = 1) { } } - var c: C; + declare var c: C; c.foo(); c.foo(1); @@ -36,14 +36,14 @@ callSignaturesWithParameterInitializers.ts(37,9): error TS2371: A parameter init !!! error TS2371: A parameter initializer is only allowed in a function or constructor implementation. } - var i: I; + declare var i: I; i(); i(1); i.foo(1); i.foo(1, 2); // these are errors - var a: { + declare var a: { (x = 1); ~~~~~ !!! error TS2371: A parameter initializer is only allowed in a function or constructor implementation. diff --git a/tests/baselines/reference/callSignaturesWithParameterInitializers.js b/tests/baselines/reference/callSignaturesWithParameterInitializers.js index cfc9337ee7b5b..faf3182173d53 100644 --- a/tests/baselines/reference/callSignaturesWithParameterInitializers.js +++ b/tests/baselines/reference/callSignaturesWithParameterInitializers.js @@ -18,7 +18,7 @@ class C { foo(x = 1) { } } -var c: C; +declare var c: C; c.foo(); c.foo(1); @@ -28,14 +28,14 @@ interface I { foo(x: number, y = 1); } -var i: I; +declare var i: I; i(); i(1); i.foo(1); i.foo(1, 2); // these are errors -var a: { +declare var a: { (x = 1); foo(x = 1); } @@ -84,16 +84,12 @@ var C = /** @class */ (function () { }; return C; }()); -var c; c.foo(); c.foo(1); -var i; i(); i(1); i.foo(1); i.foo(1, 2); -// these are errors -var a; a(); a(1); a.foo(); diff --git a/tests/baselines/reference/callSignaturesWithParameterInitializers.symbols b/tests/baselines/reference/callSignaturesWithParameterInitializers.symbols index c806062aac81d..8bfb184c7fd9f 100644 --- a/tests/baselines/reference/callSignaturesWithParameterInitializers.symbols +++ b/tests/baselines/reference/callSignaturesWithParameterInitializers.symbols @@ -43,18 +43,18 @@ class C { >x : Symbol(x, Decl(callSignaturesWithParameterInitializers.ts, 14, 8)) } -var c: C; ->c : Symbol(c, Decl(callSignaturesWithParameterInitializers.ts, 17, 3)) +declare var c: C; +>c : Symbol(c, Decl(callSignaturesWithParameterInitializers.ts, 17, 11)) >C : Symbol(C, Decl(callSignaturesWithParameterInitializers.ts, 11, 9)) c.foo(); >c.foo : Symbol(C.foo, Decl(callSignaturesWithParameterInitializers.ts, 13, 9)) ->c : Symbol(c, Decl(callSignaturesWithParameterInitializers.ts, 17, 3)) +>c : Symbol(c, Decl(callSignaturesWithParameterInitializers.ts, 17, 11)) >foo : Symbol(C.foo, Decl(callSignaturesWithParameterInitializers.ts, 13, 9)) c.foo(1); >c.foo : Symbol(C.foo, Decl(callSignaturesWithParameterInitializers.ts, 13, 9)) ->c : Symbol(c, Decl(callSignaturesWithParameterInitializers.ts, 17, 3)) +>c : Symbol(c, Decl(callSignaturesWithParameterInitializers.ts, 17, 11)) >foo : Symbol(C.foo, Decl(callSignaturesWithParameterInitializers.ts, 13, 9)) // these are errors @@ -70,29 +70,29 @@ interface I { >y : Symbol(y, Decl(callSignaturesWithParameterInitializers.ts, 24, 18)) } -var i: I; ->i : Symbol(i, Decl(callSignaturesWithParameterInitializers.ts, 27, 3)) +declare var i: I; +>i : Symbol(i, Decl(callSignaturesWithParameterInitializers.ts, 27, 11)) >I : Symbol(I, Decl(callSignaturesWithParameterInitializers.ts, 19, 9)) i(); ->i : Symbol(i, Decl(callSignaturesWithParameterInitializers.ts, 27, 3)) +>i : Symbol(i, Decl(callSignaturesWithParameterInitializers.ts, 27, 11)) i(1); ->i : Symbol(i, Decl(callSignaturesWithParameterInitializers.ts, 27, 3)) +>i : Symbol(i, Decl(callSignaturesWithParameterInitializers.ts, 27, 11)) i.foo(1); >i.foo : Symbol(I.foo, Decl(callSignaturesWithParameterInitializers.ts, 23, 12)) ->i : Symbol(i, Decl(callSignaturesWithParameterInitializers.ts, 27, 3)) +>i : Symbol(i, Decl(callSignaturesWithParameterInitializers.ts, 27, 11)) >foo : Symbol(I.foo, Decl(callSignaturesWithParameterInitializers.ts, 23, 12)) i.foo(1, 2); >i.foo : Symbol(I.foo, Decl(callSignaturesWithParameterInitializers.ts, 23, 12)) ->i : Symbol(i, Decl(callSignaturesWithParameterInitializers.ts, 27, 3)) +>i : Symbol(i, Decl(callSignaturesWithParameterInitializers.ts, 27, 11)) >foo : Symbol(I.foo, Decl(callSignaturesWithParameterInitializers.ts, 23, 12)) // these are errors -var a: { ->a : Symbol(a, Decl(callSignaturesWithParameterInitializers.ts, 34, 3)) +declare var a: { +>a : Symbol(a, Decl(callSignaturesWithParameterInitializers.ts, 34, 11)) (x = 1); >x : Symbol(x, Decl(callSignaturesWithParameterInitializers.ts, 35, 5)) @@ -103,19 +103,19 @@ var a: { } a(); ->a : Symbol(a, Decl(callSignaturesWithParameterInitializers.ts, 34, 3)) +>a : Symbol(a, Decl(callSignaturesWithParameterInitializers.ts, 34, 11)) a(1); ->a : Symbol(a, Decl(callSignaturesWithParameterInitializers.ts, 34, 3)) +>a : Symbol(a, Decl(callSignaturesWithParameterInitializers.ts, 34, 11)) a.foo(); >a.foo : Symbol(foo, Decl(callSignaturesWithParameterInitializers.ts, 35, 12)) ->a : Symbol(a, Decl(callSignaturesWithParameterInitializers.ts, 34, 3)) +>a : Symbol(a, Decl(callSignaturesWithParameterInitializers.ts, 34, 11)) >foo : Symbol(foo, Decl(callSignaturesWithParameterInitializers.ts, 35, 12)) a.foo(1); >a.foo : Symbol(foo, Decl(callSignaturesWithParameterInitializers.ts, 35, 12)) ->a : Symbol(a, Decl(callSignaturesWithParameterInitializers.ts, 34, 3)) +>a : Symbol(a, Decl(callSignaturesWithParameterInitializers.ts, 34, 11)) >foo : Symbol(foo, Decl(callSignaturesWithParameterInitializers.ts, 35, 12)) var b = { diff --git a/tests/baselines/reference/callSignaturesWithParameterInitializers.types b/tests/baselines/reference/callSignaturesWithParameterInitializers.types index 2c5664d42aa10..add87f041420b 100644 --- a/tests/baselines/reference/callSignaturesWithParameterInitializers.types +++ b/tests/baselines/reference/callSignaturesWithParameterInitializers.types @@ -94,7 +94,7 @@ class C { > : ^ } -var c: C; +declare var c: C; >c : C > : ^ @@ -139,7 +139,7 @@ interface I { > : ^ } -var i: I; +declare var i: I; >i : I > : ^ @@ -184,7 +184,7 @@ i.foo(1, 2); > : ^ // these are errors -var a: { +declare var a: { >a : { (x?: number): any; foo(x?: number): any; } > : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/callSignaturesWithParameterInitializers2.errors.txt b/tests/baselines/reference/callSignaturesWithParameterInitializers2.errors.txt index 445717bf478c4..26bb1a183e1dc 100644 --- a/tests/baselines/reference/callSignaturesWithParameterInitializers2.errors.txt +++ b/tests/baselines/reference/callSignaturesWithParameterInitializers2.errors.txt @@ -23,7 +23,7 @@ callSignaturesWithParameterInitializers2.ts(20,15): error TS1005: '{' expected. foo(x = 1) { } } - var c: C; + declare var c: C; c.foo(); c.foo(1); diff --git a/tests/baselines/reference/callSignaturesWithParameterInitializers2.js b/tests/baselines/reference/callSignaturesWithParameterInitializers2.js index b792b96dec634..0818e4b97e0e0 100644 --- a/tests/baselines/reference/callSignaturesWithParameterInitializers2.js +++ b/tests/baselines/reference/callSignaturesWithParameterInitializers2.js @@ -15,7 +15,7 @@ class C { foo(x = 1) { } } -var c: C; +declare var c: C; c.foo(); c.foo(1); @@ -43,7 +43,6 @@ var C = /** @class */ (function () { }; return C; }()); -var c; c.foo(); c.foo(1); var b = { diff --git a/tests/baselines/reference/callSignaturesWithParameterInitializers2.symbols b/tests/baselines/reference/callSignaturesWithParameterInitializers2.symbols index 019382c597f42..4d50155c0331f 100644 --- a/tests/baselines/reference/callSignaturesWithParameterInitializers2.symbols +++ b/tests/baselines/reference/callSignaturesWithParameterInitializers2.symbols @@ -30,18 +30,18 @@ class C { >x : Symbol(x, Decl(callSignaturesWithParameterInitializers2.ts, 11, 8)) } -var c: C; ->c : Symbol(c, Decl(callSignaturesWithParameterInitializers2.ts, 14, 3)) +declare var c: C; +>c : Symbol(c, Decl(callSignaturesWithParameterInitializers2.ts, 14, 11)) >C : Symbol(C, Decl(callSignaturesWithParameterInitializers2.ts, 7, 6)) c.foo(); >c.foo : Symbol(C.foo, Decl(callSignaturesWithParameterInitializers2.ts, 9, 9), Decl(callSignaturesWithParameterInitializers2.ts, 10, 15)) ->c : Symbol(c, Decl(callSignaturesWithParameterInitializers2.ts, 14, 3)) +>c : Symbol(c, Decl(callSignaturesWithParameterInitializers2.ts, 14, 11)) >foo : Symbol(C.foo, Decl(callSignaturesWithParameterInitializers2.ts, 9, 9), Decl(callSignaturesWithParameterInitializers2.ts, 10, 15)) c.foo(1); >c.foo : Symbol(C.foo, Decl(callSignaturesWithParameterInitializers2.ts, 9, 9), Decl(callSignaturesWithParameterInitializers2.ts, 10, 15)) ->c : Symbol(c, Decl(callSignaturesWithParameterInitializers2.ts, 14, 3)) +>c : Symbol(c, Decl(callSignaturesWithParameterInitializers2.ts, 14, 11)) >foo : Symbol(C.foo, Decl(callSignaturesWithParameterInitializers2.ts, 9, 9), Decl(callSignaturesWithParameterInitializers2.ts, 10, 15)) var b = { diff --git a/tests/baselines/reference/callSignaturesWithParameterInitializers2.types b/tests/baselines/reference/callSignaturesWithParameterInitializers2.types index ae95c38495dc4..29f0b384891ee 100644 --- a/tests/baselines/reference/callSignaturesWithParameterInitializers2.types +++ b/tests/baselines/reference/callSignaturesWithParameterInitializers2.types @@ -55,7 +55,7 @@ class C { > : ^ } -var c: C; +declare var c: C; >c : C > : ^ diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.errors.txt b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.errors.txt index 321b5a897632b..8fa5634454561 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.errors.txt +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.errors.txt @@ -11,8 +11,8 @@ chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts(37,9): error TS class Chain { constructor(public value: T) { } then(cb: (x: T) => S): Chain { - var t: T; - var s: S; + var t!: T; + var s!: S; // Ok to go down the chain, but error to climb up the chain (new Chain(t)).then(tt => s).then(ss => t); ~ @@ -44,9 +44,9 @@ chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts(37,9): error TS class Chain2 { constructor(public value: T) { } then(cb: (x: T) => S): Chain2 { - var i: I; - var t: T; - var s: S; + var i!: I; + var t!: T; + var s!: S; // Ok to go down the chain, check the constraint at the end. // Should get an error that we are assigning a string to a number (new Chain2(i)).then(ii => t).then(tt => s).value.x = ""; diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.js b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.js index a4019d31a3754..ba4ad714336d8 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.js +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.js @@ -4,8 +4,8 @@ class Chain { constructor(public value: T) { } then(cb: (x: T) => S): Chain { - var t: T; - var s: S; + var t!: T; + var s!: S; // Ok to go down the chain, but error to climb up the chain (new Chain(t)).then(tt => s).then(ss => t); @@ -27,9 +27,9 @@ interface I { class Chain2 { constructor(public value: T) { } then(cb: (x: T) => S): Chain2 { - var i: I; - var t: T; - var s: S; + var i!: I; + var t!: T; + var s!: S; // Ok to go down the chain, check the constraint at the end. // Should get an error that we are assigning a string to a number (new Chain2(i)).then(ii => t).then(tt => s).value.x = ""; diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.symbols b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.symbols index 471634c5f6fe5..694f5b1d6e6ca 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.symbols +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.symbols @@ -20,11 +20,11 @@ class Chain { >Chain : Symbol(Chain, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts, 0, 0)) >S : Symbol(S, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts, 2, 9)) - var t: T; + var t!: T; >t : Symbol(t, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts, 3, 11)) >T : Symbol(T, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts, 0, 12)) - var s: S; + var s!: S; >s : Symbol(s, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts, 4, 11)) >S : Symbol(S, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts, 2, 9)) @@ -114,15 +114,15 @@ class Chain2 { >Chain2 : Symbol(Chain2, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts, 22, 1)) >S : Symbol(S, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts, 25, 9)) - var i: I; + var i!: I; >i : Symbol(i, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts, 26, 11)) >I : Symbol(I, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts, 17, 1)) - var t: T; + var t!: T; >t : Symbol(t, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts, 27, 11)) >T : Symbol(T, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts, 23, 13)) - var s: S; + var s!: S; >s : Symbol(s, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts, 28, 11)) >S : Symbol(S, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts, 25, 9)) diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types index 3408e1ee7be5e..44b969aaed74a 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types @@ -17,11 +17,11 @@ class Chain { >x : T > : ^ - var t: T; + var t!: T; >t : T > : ^ - var s: S; + var s!: S; >s : S > : ^ @@ -202,15 +202,15 @@ class Chain2 { >x : T > : ^ - var i: I; + var i!: I; >i : I > : ^ - var t: T; + var t!: T; >t : T > : ^ - var s: S; + var s!: S; >s : S > : ^ diff --git a/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.errors.txt b/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.errors.txt index 5265aceb7d291..b1cd4dd330c33 100644 --- a/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.errors.txt +++ b/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.errors.txt @@ -4,7 +4,7 @@ checkSuperCallBeforeThisAccessing5.ts(5,15): error TS17009: 'super' must be call ==== checkSuperCallBeforeThisAccessing5.ts (1 errors) ==== class Based { constructor(...arg) { } } class Derived extends Based { - public x: number; + public x!: number; constructor() { super(this.x); ~~~~ diff --git a/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.js b/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.js index 1a4e7012a0400..13d03e893457c 100644 --- a/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.js +++ b/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.js @@ -3,7 +3,7 @@ //// [checkSuperCallBeforeThisAccessing5.ts] class Based { constructor(...arg) { } } class Derived extends Based { - public x: number; + public x!: number; constructor() { super(this.x); } diff --git a/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.symbols b/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.symbols index cc343b2300035..98fa674e690a1 100644 --- a/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.symbols +++ b/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.symbols @@ -9,7 +9,7 @@ class Derived extends Based { >Derived : Symbol(Derived, Decl(checkSuperCallBeforeThisAccessing5.ts, 0, 39)) >Based : Symbol(Based, Decl(checkSuperCallBeforeThisAccessing5.ts, 0, 0)) - public x: number; + public x!: number; >x : Symbol(Derived.x, Decl(checkSuperCallBeforeThisAccessing5.ts, 1, 29)) constructor() { diff --git a/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.types b/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.types index 21ac1b801f701..c6e56764b4300 100644 --- a/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.types +++ b/tests/baselines/reference/checkSuperCallBeforeThisAccessing5.types @@ -13,7 +13,7 @@ class Derived extends Based { >Based : Based > : ^^^^^ - public x: number; + public x!: number; >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/classAbstractClinterfaceAssignability.errors.txt b/tests/baselines/reference/classAbstractClinterfaceAssignability.errors.txt index 35bf69b021206..1e20f9c1d95d1 100644 --- a/tests/baselines/reference/classAbstractClinterfaceAssignability.errors.txt +++ b/tests/baselines/reference/classAbstractClinterfaceAssignability.errors.txt @@ -14,17 +14,17 @@ classAbstractClinterfaceAssignability.ts(23,1): error TS2322: Type 'typeof A' is prototype: I; } - var I: IConstructor; + declare var I: IConstructor; abstract class A { x: number; static y: number; } - var AA: typeof A; + declare var AA: typeof A; AA = I; - var AAA: typeof I; + declare var AAA: typeof I; AAA = A; ~~~ !!! error TS2322: Type 'typeof A' is not assignable to type 'IConstructor'. diff --git a/tests/baselines/reference/classAbstractClinterfaceAssignability.js b/tests/baselines/reference/classAbstractClinterfaceAssignability.js index 864dfb47fc636..bb912dba49016 100644 --- a/tests/baselines/reference/classAbstractClinterfaceAssignability.js +++ b/tests/baselines/reference/classAbstractClinterfaceAssignability.js @@ -12,27 +12,24 @@ interface IConstructor { prototype: I; } -var I: IConstructor; +declare var I: IConstructor; abstract class A { x: number; static y: number; } -var AA: typeof A; +declare var AA: typeof A; AA = I; -var AAA: typeof I; +declare var AAA: typeof I; AAA = A; //// [classAbstractClinterfaceAssignability.js] -var I; var A = /** @class */ (function () { function A() { } return A; }()); -var AA; AA = I; -var AAA; AAA = A; diff --git a/tests/baselines/reference/classAbstractClinterfaceAssignability.symbols b/tests/baselines/reference/classAbstractClinterfaceAssignability.symbols index 2b9bc29f4d59e..2ab01c870c2e5 100644 --- a/tests/baselines/reference/classAbstractClinterfaceAssignability.symbols +++ b/tests/baselines/reference/classAbstractClinterfaceAssignability.symbols @@ -2,7 +2,7 @@ === classAbstractClinterfaceAssignability.ts === interface I { ->I : Symbol(I, Decl(classAbstractClinterfaceAssignability.ts, 0, 0), Decl(classAbstractClinterfaceAssignability.ts, 11, 3)) +>I : Symbol(I, Decl(classAbstractClinterfaceAssignability.ts, 0, 0), Decl(classAbstractClinterfaceAssignability.ts, 11, 11)) x: number; >x : Symbol(I.x, Decl(classAbstractClinterfaceAssignability.ts, 0, 13)) @@ -12,22 +12,22 @@ interface IConstructor { >IConstructor : Symbol(IConstructor, Decl(classAbstractClinterfaceAssignability.ts, 2, 1)) new (): I; ->I : Symbol(I, Decl(classAbstractClinterfaceAssignability.ts, 0, 0), Decl(classAbstractClinterfaceAssignability.ts, 11, 3)) +>I : Symbol(I, Decl(classAbstractClinterfaceAssignability.ts, 0, 0), Decl(classAbstractClinterfaceAssignability.ts, 11, 11)) y: number; >y : Symbol(IConstructor.y, Decl(classAbstractClinterfaceAssignability.ts, 5, 14)) prototype: I; >prototype : Symbol(IConstructor.prototype, Decl(classAbstractClinterfaceAssignability.ts, 7, 14)) ->I : Symbol(I, Decl(classAbstractClinterfaceAssignability.ts, 0, 0), Decl(classAbstractClinterfaceAssignability.ts, 11, 3)) +>I : Symbol(I, Decl(classAbstractClinterfaceAssignability.ts, 0, 0), Decl(classAbstractClinterfaceAssignability.ts, 11, 11)) } -var I: IConstructor; ->I : Symbol(I, Decl(classAbstractClinterfaceAssignability.ts, 0, 0), Decl(classAbstractClinterfaceAssignability.ts, 11, 3)) +declare var I: IConstructor; +>I : Symbol(I, Decl(classAbstractClinterfaceAssignability.ts, 0, 0), Decl(classAbstractClinterfaceAssignability.ts, 11, 11)) >IConstructor : Symbol(IConstructor, Decl(classAbstractClinterfaceAssignability.ts, 2, 1)) abstract class A { ->A : Symbol(A, Decl(classAbstractClinterfaceAssignability.ts, 11, 20)) +>A : Symbol(A, Decl(classAbstractClinterfaceAssignability.ts, 11, 28)) x: number; >x : Symbol(A.x, Decl(classAbstractClinterfaceAssignability.ts, 13, 18)) @@ -36,19 +36,19 @@ abstract class A { >y : Symbol(A.y, Decl(classAbstractClinterfaceAssignability.ts, 14, 14)) } -var AA: typeof A; ->AA : Symbol(AA, Decl(classAbstractClinterfaceAssignability.ts, 18, 3)) ->A : Symbol(A, Decl(classAbstractClinterfaceAssignability.ts, 11, 20)) +declare var AA: typeof A; +>AA : Symbol(AA, Decl(classAbstractClinterfaceAssignability.ts, 18, 11)) +>A : Symbol(A, Decl(classAbstractClinterfaceAssignability.ts, 11, 28)) AA = I; ->AA : Symbol(AA, Decl(classAbstractClinterfaceAssignability.ts, 18, 3)) ->I : Symbol(I, Decl(classAbstractClinterfaceAssignability.ts, 0, 0), Decl(classAbstractClinterfaceAssignability.ts, 11, 3)) +>AA : Symbol(AA, Decl(classAbstractClinterfaceAssignability.ts, 18, 11)) +>I : Symbol(I, Decl(classAbstractClinterfaceAssignability.ts, 0, 0), Decl(classAbstractClinterfaceAssignability.ts, 11, 11)) -var AAA: typeof I; ->AAA : Symbol(AAA, Decl(classAbstractClinterfaceAssignability.ts, 21, 3)) ->I : Symbol(I, Decl(classAbstractClinterfaceAssignability.ts, 0, 0), Decl(classAbstractClinterfaceAssignability.ts, 11, 3)) +declare var AAA: typeof I; +>AAA : Symbol(AAA, Decl(classAbstractClinterfaceAssignability.ts, 21, 11)) +>I : Symbol(I, Decl(classAbstractClinterfaceAssignability.ts, 0, 0), Decl(classAbstractClinterfaceAssignability.ts, 11, 11)) AAA = A; ->AAA : Symbol(AAA, Decl(classAbstractClinterfaceAssignability.ts, 21, 3)) ->A : Symbol(A, Decl(classAbstractClinterfaceAssignability.ts, 11, 20)) +>AAA : Symbol(AAA, Decl(classAbstractClinterfaceAssignability.ts, 21, 11)) +>A : Symbol(A, Decl(classAbstractClinterfaceAssignability.ts, 11, 28)) diff --git a/tests/baselines/reference/classAbstractClinterfaceAssignability.types b/tests/baselines/reference/classAbstractClinterfaceAssignability.types index c14591cc734cb..dc44f307185b3 100644 --- a/tests/baselines/reference/classAbstractClinterfaceAssignability.types +++ b/tests/baselines/reference/classAbstractClinterfaceAssignability.types @@ -19,7 +19,7 @@ interface IConstructor { > : ^ } -var I: IConstructor; +declare var I: IConstructor; >I : IConstructor > : ^^^^^^^^^^^^ @@ -36,7 +36,7 @@ abstract class A { > : ^^^^^^ } -var AA: typeof A; +declare var AA: typeof A; >AA : typeof A > : ^^^^^^^^ >A : typeof A @@ -50,7 +50,7 @@ AA = I; >I : IConstructor > : ^^^^^^^^^^^^ -var AAA: typeof I; +declare var AAA: typeof I; >AAA : IConstructor > : ^^^^^^^^^^^^ >I : IConstructor diff --git a/tests/baselines/reference/classConstructorParametersAccessibility.errors.txt b/tests/baselines/reference/classConstructorParametersAccessibility.errors.txt index a0072427f16b4..8ac6be4db3a9d 100644 --- a/tests/baselines/reference/classConstructorParametersAccessibility.errors.txt +++ b/tests/baselines/reference/classConstructorParametersAccessibility.errors.txt @@ -6,14 +6,14 @@ classConstructorParametersAccessibility.ts(19,4): error TS2445: Property 'p' is class C1 { constructor(public x: number) { } } - var c1: C1; + declare var c1: C1; c1.x // OK class C2 { constructor(private p: number) { } } - var c2: C2; + declare var c2: C2; c2.p // private, error ~ !!! error TS2341: Property 'p' is private and only accessible within class 'C2'. @@ -22,7 +22,7 @@ classConstructorParametersAccessibility.ts(19,4): error TS2445: Property 'p' is class C3 { constructor(protected p: number) { } } - var c3: C3; + declare var c3: C3; c3.p // protected, error ~ !!! error TS2445: Property 'p' is protected and only accessible within class 'C3' and its subclasses. diff --git a/tests/baselines/reference/classConstructorParametersAccessibility.js b/tests/baselines/reference/classConstructorParametersAccessibility.js index 886607eb45d90..a3508edaa72f6 100644 --- a/tests/baselines/reference/classConstructorParametersAccessibility.js +++ b/tests/baselines/reference/classConstructorParametersAccessibility.js @@ -4,21 +4,21 @@ class C1 { constructor(public x: number) { } } -var c1: C1; +declare var c1: C1; c1.x // OK class C2 { constructor(private p: number) { } } -var c2: C2; +declare var c2: C2; c2.p // private, error class C3 { constructor(protected p: number) { } } -var c3: C3; +declare var c3: C3; c3.p // protected, error class Derived extends C3 { constructor(p: number) { @@ -50,7 +50,6 @@ var C1 = /** @class */ (function () { } return C1; }()); -var c1; c1.x; // OK var C2 = /** @class */ (function () { function C2(p) { @@ -58,7 +57,6 @@ var C2 = /** @class */ (function () { } return C2; }()); -var c2; c2.p; // private, error var C3 = /** @class */ (function () { function C3(p) { @@ -66,7 +64,6 @@ var C3 = /** @class */ (function () { } return C3; }()); -var c3; c3.p; // protected, error var Derived = /** @class */ (function (_super) { __extends(Derived, _super); diff --git a/tests/baselines/reference/classConstructorParametersAccessibility.symbols b/tests/baselines/reference/classConstructorParametersAccessibility.symbols index c0628f929fa5c..98ecf6c942b3d 100644 --- a/tests/baselines/reference/classConstructorParametersAccessibility.symbols +++ b/tests/baselines/reference/classConstructorParametersAccessibility.symbols @@ -7,13 +7,13 @@ class C1 { constructor(public x: number) { } >x : Symbol(C1.x, Decl(classConstructorParametersAccessibility.ts, 1, 16)) } -var c1: C1; ->c1 : Symbol(c1, Decl(classConstructorParametersAccessibility.ts, 3, 3)) +declare var c1: C1; +>c1 : Symbol(c1, Decl(classConstructorParametersAccessibility.ts, 3, 11)) >C1 : Symbol(C1, Decl(classConstructorParametersAccessibility.ts, 0, 0)) c1.x // OK >c1.x : Symbol(C1.x, Decl(classConstructorParametersAccessibility.ts, 1, 16)) ->c1 : Symbol(c1, Decl(classConstructorParametersAccessibility.ts, 3, 3)) +>c1 : Symbol(c1, Decl(classConstructorParametersAccessibility.ts, 3, 11)) >x : Symbol(C1.x, Decl(classConstructorParametersAccessibility.ts, 1, 16)) @@ -23,13 +23,13 @@ class C2 { constructor(private p: number) { } >p : Symbol(C2.p, Decl(classConstructorParametersAccessibility.ts, 8, 16)) } -var c2: C2; ->c2 : Symbol(c2, Decl(classConstructorParametersAccessibility.ts, 10, 3)) +declare var c2: C2; +>c2 : Symbol(c2, Decl(classConstructorParametersAccessibility.ts, 10, 11)) >C2 : Symbol(C2, Decl(classConstructorParametersAccessibility.ts, 4, 4)) c2.p // private, error >c2.p : Symbol(C2.p, Decl(classConstructorParametersAccessibility.ts, 8, 16)) ->c2 : Symbol(c2, Decl(classConstructorParametersAccessibility.ts, 10, 3)) +>c2 : Symbol(c2, Decl(classConstructorParametersAccessibility.ts, 10, 11)) >p : Symbol(C2.p, Decl(classConstructorParametersAccessibility.ts, 8, 16)) @@ -39,13 +39,13 @@ class C3 { constructor(protected p: number) { } >p : Symbol(C3.p, Decl(classConstructorParametersAccessibility.ts, 15, 16)) } -var c3: C3; ->c3 : Symbol(c3, Decl(classConstructorParametersAccessibility.ts, 17, 3)) +declare var c3: C3; +>c3 : Symbol(c3, Decl(classConstructorParametersAccessibility.ts, 17, 11)) >C3 : Symbol(C3, Decl(classConstructorParametersAccessibility.ts, 11, 4)) c3.p // protected, error >c3.p : Symbol(C3.p, Decl(classConstructorParametersAccessibility.ts, 15, 16)) ->c3 : Symbol(c3, Decl(classConstructorParametersAccessibility.ts, 17, 3)) +>c3 : Symbol(c3, Decl(classConstructorParametersAccessibility.ts, 17, 11)) >p : Symbol(C3.p, Decl(classConstructorParametersAccessibility.ts, 15, 16)) class Derived extends C3 { diff --git a/tests/baselines/reference/classConstructorParametersAccessibility.types b/tests/baselines/reference/classConstructorParametersAccessibility.types index 4530948353e8a..d7388895761f9 100644 --- a/tests/baselines/reference/classConstructorParametersAccessibility.types +++ b/tests/baselines/reference/classConstructorParametersAccessibility.types @@ -9,7 +9,7 @@ class C1 { >x : number > : ^^^^^^ } -var c1: C1; +declare var c1: C1; >c1 : C1 > : ^^ @@ -30,7 +30,7 @@ class C2 { >p : number > : ^^^^^^ } -var c2: C2; +declare var c2: C2; >c2 : C2 > : ^^ @@ -51,7 +51,7 @@ class C3 { >p : number > : ^^^^^^ } -var c3: C3; +declare var c3: C3; >c3 : C3 > : ^^ diff --git a/tests/baselines/reference/classConstructorParametersAccessibility2.errors.txt b/tests/baselines/reference/classConstructorParametersAccessibility2.errors.txt index 8e73a9fdade93..813c9ea6e2b33 100644 --- a/tests/baselines/reference/classConstructorParametersAccessibility2.errors.txt +++ b/tests/baselines/reference/classConstructorParametersAccessibility2.errors.txt @@ -6,14 +6,14 @@ classConstructorParametersAccessibility2.ts(19,4): error TS2445: Property 'p' is class C1 { constructor(public x?: number) { } } - var c1: C1; + declare var c1: C1; c1.x // OK class C2 { constructor(private p?: number) { } } - var c2: C2; + declare var c2: C2; c2.p // private, error ~ !!! error TS2341: Property 'p' is private and only accessible within class 'C2'. @@ -22,7 +22,7 @@ classConstructorParametersAccessibility2.ts(19,4): error TS2445: Property 'p' is class C3 { constructor(protected p?: number) { } } - var c3: C3; + declare var c3: C3; c3.p // protected, error ~ !!! error TS2445: Property 'p' is protected and only accessible within class 'C3' and its subclasses. diff --git a/tests/baselines/reference/classConstructorParametersAccessibility2.js b/tests/baselines/reference/classConstructorParametersAccessibility2.js index 466cba7785667..705364412cd77 100644 --- a/tests/baselines/reference/classConstructorParametersAccessibility2.js +++ b/tests/baselines/reference/classConstructorParametersAccessibility2.js @@ -4,21 +4,21 @@ class C1 { constructor(public x?: number) { } } -var c1: C1; +declare var c1: C1; c1.x // OK class C2 { constructor(private p?: number) { } } -var c2: C2; +declare var c2: C2; c2.p // private, error class C3 { constructor(protected p?: number) { } } -var c3: C3; +declare var c3: C3; c3.p // protected, error class Derived extends C3 { constructor(p: number) { @@ -50,7 +50,6 @@ var C1 = /** @class */ (function () { } return C1; }()); -var c1; c1.x; // OK var C2 = /** @class */ (function () { function C2(p) { @@ -58,7 +57,6 @@ var C2 = /** @class */ (function () { } return C2; }()); -var c2; c2.p; // private, error var C3 = /** @class */ (function () { function C3(p) { @@ -66,7 +64,6 @@ var C3 = /** @class */ (function () { } return C3; }()); -var c3; c3.p; // protected, error var Derived = /** @class */ (function (_super) { __extends(Derived, _super); diff --git a/tests/baselines/reference/classConstructorParametersAccessibility2.symbols b/tests/baselines/reference/classConstructorParametersAccessibility2.symbols index 6d715827159b2..a236a94585305 100644 --- a/tests/baselines/reference/classConstructorParametersAccessibility2.symbols +++ b/tests/baselines/reference/classConstructorParametersAccessibility2.symbols @@ -7,13 +7,13 @@ class C1 { constructor(public x?: number) { } >x : Symbol(C1.x, Decl(classConstructorParametersAccessibility2.ts, 1, 16)) } -var c1: C1; ->c1 : Symbol(c1, Decl(classConstructorParametersAccessibility2.ts, 3, 3)) +declare var c1: C1; +>c1 : Symbol(c1, Decl(classConstructorParametersAccessibility2.ts, 3, 11)) >C1 : Symbol(C1, Decl(classConstructorParametersAccessibility2.ts, 0, 0)) c1.x // OK >c1.x : Symbol(C1.x, Decl(classConstructorParametersAccessibility2.ts, 1, 16)) ->c1 : Symbol(c1, Decl(classConstructorParametersAccessibility2.ts, 3, 3)) +>c1 : Symbol(c1, Decl(classConstructorParametersAccessibility2.ts, 3, 11)) >x : Symbol(C1.x, Decl(classConstructorParametersAccessibility2.ts, 1, 16)) @@ -23,13 +23,13 @@ class C2 { constructor(private p?: number) { } >p : Symbol(C2.p, Decl(classConstructorParametersAccessibility2.ts, 8, 16)) } -var c2: C2; ->c2 : Symbol(c2, Decl(classConstructorParametersAccessibility2.ts, 10, 3)) +declare var c2: C2; +>c2 : Symbol(c2, Decl(classConstructorParametersAccessibility2.ts, 10, 11)) >C2 : Symbol(C2, Decl(classConstructorParametersAccessibility2.ts, 4, 4)) c2.p // private, error >c2.p : Symbol(C2.p, Decl(classConstructorParametersAccessibility2.ts, 8, 16)) ->c2 : Symbol(c2, Decl(classConstructorParametersAccessibility2.ts, 10, 3)) +>c2 : Symbol(c2, Decl(classConstructorParametersAccessibility2.ts, 10, 11)) >p : Symbol(C2.p, Decl(classConstructorParametersAccessibility2.ts, 8, 16)) @@ -39,13 +39,13 @@ class C3 { constructor(protected p?: number) { } >p : Symbol(C3.p, Decl(classConstructorParametersAccessibility2.ts, 15, 16)) } -var c3: C3; ->c3 : Symbol(c3, Decl(classConstructorParametersAccessibility2.ts, 17, 3)) +declare var c3: C3; +>c3 : Symbol(c3, Decl(classConstructorParametersAccessibility2.ts, 17, 11)) >C3 : Symbol(C3, Decl(classConstructorParametersAccessibility2.ts, 11, 4)) c3.p // protected, error >c3.p : Symbol(C3.p, Decl(classConstructorParametersAccessibility2.ts, 15, 16)) ->c3 : Symbol(c3, Decl(classConstructorParametersAccessibility2.ts, 17, 3)) +>c3 : Symbol(c3, Decl(classConstructorParametersAccessibility2.ts, 17, 11)) >p : Symbol(C3.p, Decl(classConstructorParametersAccessibility2.ts, 15, 16)) class Derived extends C3 { diff --git a/tests/baselines/reference/classConstructorParametersAccessibility2.types b/tests/baselines/reference/classConstructorParametersAccessibility2.types index 6189d536db030..88f388992d967 100644 --- a/tests/baselines/reference/classConstructorParametersAccessibility2.types +++ b/tests/baselines/reference/classConstructorParametersAccessibility2.types @@ -9,7 +9,7 @@ class C1 { >x : number > : ^^^^^^ } -var c1: C1; +declare var c1: C1; >c1 : C1 > : ^^ @@ -30,7 +30,7 @@ class C2 { >p : number > : ^^^^^^ } -var c2: C2; +declare var c2: C2; >c2 : C2 > : ^^ @@ -51,7 +51,7 @@ class C3 { >p : number > : ^^^^^^ } -var c3: C3; +declare var c3: C3; >c3 : C3 > : ^^ diff --git a/tests/baselines/reference/classExtendsEveryObjectType.errors.txt b/tests/baselines/reference/classExtendsEveryObjectType.errors.txt index 060ad3b74a36c..f983e46d8d66d 100644 --- a/tests/baselines/reference/classExtendsEveryObjectType.errors.txt +++ b/tests/baselines/reference/classExtendsEveryObjectType.errors.txt @@ -23,7 +23,7 @@ classExtendsEveryObjectType.ts(16,18): error TS2507: Type 'undefined[]' is not a !!! error TS2693: 'string' only refers to a type, but is being used as a value here. ~ !!! error TS1005: ',' expected. - var x: { foo: string; } + declare var x: { foo: string; } class C3 extends x { } // error ~ !!! error TS2507: Type '{ foo: string; }' is not a constructor function type. diff --git a/tests/baselines/reference/classExtendsEveryObjectType.js b/tests/baselines/reference/classExtendsEveryObjectType.js index 7f76b3afc4f39..8db327f2f3fe4 100644 --- a/tests/baselines/reference/classExtendsEveryObjectType.js +++ b/tests/baselines/reference/classExtendsEveryObjectType.js @@ -7,7 +7,7 @@ interface I { class C extends I { } // error class C2 extends { foo: string; } { } // error -var x: { foo: string; } +declare var x: { foo: string; } class C3 extends x { } // error namespace M { export var x = 1; } @@ -48,7 +48,6 @@ var C2 = /** @class */ (function (_super) { } return C2; }({ foo: string })); // error -var x; var C3 = /** @class */ (function (_super) { __extends(C3, _super); function C3() { diff --git a/tests/baselines/reference/classExtendsEveryObjectType.symbols b/tests/baselines/reference/classExtendsEveryObjectType.symbols index 09ee8629e16e3..b913d9e475580 100644 --- a/tests/baselines/reference/classExtendsEveryObjectType.symbols +++ b/tests/baselines/reference/classExtendsEveryObjectType.symbols @@ -14,13 +14,13 @@ class C2 extends { foo: string; } { } // error >C2 : Symbol(C2, Decl(classExtendsEveryObjectType.ts, 3, 21)) >foo : Symbol(foo, Decl(classExtendsEveryObjectType.ts, 5, 18)) -var x: { foo: string; } ->x : Symbol(x, Decl(classExtendsEveryObjectType.ts, 6, 3)) ->foo : Symbol(foo, Decl(classExtendsEveryObjectType.ts, 6, 8)) +declare var x: { foo: string; } +>x : Symbol(x, Decl(classExtendsEveryObjectType.ts, 6, 11)) +>foo : Symbol(foo, Decl(classExtendsEveryObjectType.ts, 6, 16)) class C3 extends x { } // error ->C3 : Symbol(C3, Decl(classExtendsEveryObjectType.ts, 6, 23)) ->x : Symbol(x, Decl(classExtendsEveryObjectType.ts, 6, 3)) +>C3 : Symbol(C3, Decl(classExtendsEveryObjectType.ts, 6, 31)) +>x : Symbol(x, Decl(classExtendsEveryObjectType.ts, 6, 11)) namespace M { export var x = 1; } >M : Symbol(M, Decl(classExtendsEveryObjectType.ts, 7, 22)) diff --git a/tests/baselines/reference/classExtendsEveryObjectType.types b/tests/baselines/reference/classExtendsEveryObjectType.types index 8c85bcab25a01..9c5622ab92741 100644 --- a/tests/baselines/reference/classExtendsEveryObjectType.types +++ b/tests/baselines/reference/classExtendsEveryObjectType.types @@ -22,7 +22,7 @@ class C2 extends { foo: string; } { } // error >string : any > : ^^^ -var x: { foo: string; } +declare var x: { foo: string; } >x : { foo: string; } > : ^^^^^^^ ^^^ >foo : string diff --git a/tests/baselines/reference/classImplementsClass2.errors.txt b/tests/baselines/reference/classImplementsClass2.errors.txt index 7684b9b5f3d51..9f525ce6cf238 100644 --- a/tests/baselines/reference/classImplementsClass2.errors.txt +++ b/tests/baselines/reference/classImplementsClass2.errors.txt @@ -17,8 +17,8 @@ classImplementsClass2.ts(13,1): error TS2741: Property 'foo' is missing in type } } - var c: C; - var c2: C2; + declare var c: C; + declare var c2: C2; c = c2; c2 = c; ~~ diff --git a/tests/baselines/reference/classImplementsClass2.js b/tests/baselines/reference/classImplementsClass2.js index 508fe307a34d2..442e986d42629 100644 --- a/tests/baselines/reference/classImplementsClass2.js +++ b/tests/baselines/reference/classImplementsClass2.js @@ -10,8 +10,8 @@ class C2 extends A { } } -var c: C; -var c2: C2; +declare var c: C; +declare var c2: C2; c = c2; c2 = c; @@ -52,7 +52,5 @@ var C2 = /** @class */ (function (_super) { }; return C2; }(A)); -var c; -var c2; c = c2; c2 = c; diff --git a/tests/baselines/reference/classImplementsClass2.symbols b/tests/baselines/reference/classImplementsClass2.symbols index 787ddcb26ae12..534d721eac786 100644 --- a/tests/baselines/reference/classImplementsClass2.symbols +++ b/tests/baselines/reference/classImplementsClass2.symbols @@ -20,19 +20,19 @@ class C2 extends A { } } -var c: C; ->c : Symbol(c, Decl(classImplementsClass2.ts, 9, 3)) +declare var c: C; +>c : Symbol(c, Decl(classImplementsClass2.ts, 9, 11)) >C : Symbol(C, Decl(classImplementsClass2.ts, 0, 39)) -var c2: C2; ->c2 : Symbol(c2, Decl(classImplementsClass2.ts, 10, 3)) +declare var c2: C2; +>c2 : Symbol(c2, Decl(classImplementsClass2.ts, 10, 11)) >C2 : Symbol(C2, Decl(classImplementsClass2.ts, 1, 23)) c = c2; ->c : Symbol(c, Decl(classImplementsClass2.ts, 9, 3)) ->c2 : Symbol(c2, Decl(classImplementsClass2.ts, 10, 3)) +>c : Symbol(c, Decl(classImplementsClass2.ts, 9, 11)) +>c2 : Symbol(c2, Decl(classImplementsClass2.ts, 10, 11)) c2 = c; ->c2 : Symbol(c2, Decl(classImplementsClass2.ts, 10, 3)) ->c : Symbol(c, Decl(classImplementsClass2.ts, 9, 3)) +>c2 : Symbol(c2, Decl(classImplementsClass2.ts, 10, 11)) +>c : Symbol(c, Decl(classImplementsClass2.ts, 9, 11)) diff --git a/tests/baselines/reference/classImplementsClass2.types b/tests/baselines/reference/classImplementsClass2.types index 1652941bea05a..2c02e9316eb89 100644 --- a/tests/baselines/reference/classImplementsClass2.types +++ b/tests/baselines/reference/classImplementsClass2.types @@ -29,11 +29,11 @@ class C2 extends A { } } -var c: C; +declare var c: C; >c : C > : ^ -var c2: C2; +declare var c2: C2; >c2 : C2 > : ^^ diff --git a/tests/baselines/reference/classImplementsClass4.errors.txt b/tests/baselines/reference/classImplementsClass4.errors.txt index f53d3dc8835e8..ca6cc78bd1539 100644 --- a/tests/baselines/reference/classImplementsClass4.errors.txt +++ b/tests/baselines/reference/classImplementsClass4.errors.txt @@ -20,8 +20,8 @@ classImplementsClass4.ts(16,1): error TS2741: Property 'x' is missing in type 'C class C2 extends A {} - var c: C; - var c2: C2; + declare var c: C; + declare var c2: C2; c = c2; c2 = c; ~~ diff --git a/tests/baselines/reference/classImplementsClass4.js b/tests/baselines/reference/classImplementsClass4.js index 31b9029a1ad58..2df2a438d0632 100644 --- a/tests/baselines/reference/classImplementsClass4.js +++ b/tests/baselines/reference/classImplementsClass4.js @@ -13,8 +13,8 @@ class C implements A { class C2 extends A {} -var c: C; -var c2: C2; +declare var c: C; +declare var c2: C2; c = c2; c2 = c; @@ -56,7 +56,5 @@ var C2 = /** @class */ (function (_super) { } return C2; }(A)); -var c; -var c2; c = c2; c2 = c; diff --git a/tests/baselines/reference/classImplementsClass4.symbols b/tests/baselines/reference/classImplementsClass4.symbols index 4abd841f1e268..66386fc99fda6 100644 --- a/tests/baselines/reference/classImplementsClass4.symbols +++ b/tests/baselines/reference/classImplementsClass4.symbols @@ -25,19 +25,19 @@ class C2 extends A {} >C2 : Symbol(C2, Decl(classImplementsClass4.ts, 8, 1)) >A : Symbol(A, Decl(classImplementsClass4.ts, 0, 0)) -var c: C; ->c : Symbol(c, Decl(classImplementsClass4.ts, 12, 3)) +declare var c: C; +>c : Symbol(c, Decl(classImplementsClass4.ts, 12, 11)) >C : Symbol(C, Decl(classImplementsClass4.ts, 3, 1)) -var c2: C2; ->c2 : Symbol(c2, Decl(classImplementsClass4.ts, 13, 3)) +declare var c2: C2; +>c2 : Symbol(c2, Decl(classImplementsClass4.ts, 13, 11)) >C2 : Symbol(C2, Decl(classImplementsClass4.ts, 8, 1)) c = c2; ->c : Symbol(c, Decl(classImplementsClass4.ts, 12, 3)) ->c2 : Symbol(c2, Decl(classImplementsClass4.ts, 13, 3)) +>c : Symbol(c, Decl(classImplementsClass4.ts, 12, 11)) +>c2 : Symbol(c2, Decl(classImplementsClass4.ts, 13, 11)) c2 = c; ->c2 : Symbol(c2, Decl(classImplementsClass4.ts, 13, 3)) ->c : Symbol(c, Decl(classImplementsClass4.ts, 12, 3)) +>c2 : Symbol(c2, Decl(classImplementsClass4.ts, 13, 11)) +>c : Symbol(c, Decl(classImplementsClass4.ts, 12, 11)) diff --git a/tests/baselines/reference/classImplementsClass4.types b/tests/baselines/reference/classImplementsClass4.types index 7e12aac17ac05..dae7fe6c83615 100644 --- a/tests/baselines/reference/classImplementsClass4.types +++ b/tests/baselines/reference/classImplementsClass4.types @@ -37,11 +37,11 @@ class C2 extends A {} >A : A > : ^ -var c: C; +declare var c: C; >c : C > : ^ -var c2: C2; +declare var c2: C2; >c2 : C2 > : ^^ diff --git a/tests/baselines/reference/classImplementsClass5.errors.txt b/tests/baselines/reference/classImplementsClass5.errors.txt index e177c13d75509..ffd66b8c111c7 100644 --- a/tests/baselines/reference/classImplementsClass5.errors.txt +++ b/tests/baselines/reference/classImplementsClass5.errors.txt @@ -23,8 +23,8 @@ classImplementsClass5.ts(17,1): error TS2322: Type 'C' is not assignable to type class C2 extends A {} - var c: C; - var c2: C2; + declare var c: C; + declare var c2: C2; c = c2; ~ !!! error TS2322: Type 'C2' is not assignable to type 'C'. diff --git a/tests/baselines/reference/classImplementsClass5.js b/tests/baselines/reference/classImplementsClass5.js index b50df57dfd866..e7c35a3f2dbd2 100644 --- a/tests/baselines/reference/classImplementsClass5.js +++ b/tests/baselines/reference/classImplementsClass5.js @@ -14,8 +14,8 @@ class C implements A { class C2 extends A {} -var c: C; -var c2: C2; +declare var c: C; +declare var c2: C2; c = c2; c2 = c; @@ -58,7 +58,5 @@ var C2 = /** @class */ (function (_super) { } return C2; }(A)); -var c; -var c2; c = c2; c2 = c; diff --git a/tests/baselines/reference/classImplementsClass5.symbols b/tests/baselines/reference/classImplementsClass5.symbols index 1e7d4421d33e9..1804211608dbf 100644 --- a/tests/baselines/reference/classImplementsClass5.symbols +++ b/tests/baselines/reference/classImplementsClass5.symbols @@ -28,19 +28,19 @@ class C2 extends A {} >C2 : Symbol(C2, Decl(classImplementsClass5.ts, 9, 1)) >A : Symbol(A, Decl(classImplementsClass5.ts, 0, 0)) -var c: C; ->c : Symbol(c, Decl(classImplementsClass5.ts, 13, 3)) +declare var c: C; +>c : Symbol(c, Decl(classImplementsClass5.ts, 13, 11)) >C : Symbol(C, Decl(classImplementsClass5.ts, 3, 1)) -var c2: C2; ->c2 : Symbol(c2, Decl(classImplementsClass5.ts, 14, 3)) +declare var c2: C2; +>c2 : Symbol(c2, Decl(classImplementsClass5.ts, 14, 11)) >C2 : Symbol(C2, Decl(classImplementsClass5.ts, 9, 1)) c = c2; ->c : Symbol(c, Decl(classImplementsClass5.ts, 13, 3)) ->c2 : Symbol(c2, Decl(classImplementsClass5.ts, 14, 3)) +>c : Symbol(c, Decl(classImplementsClass5.ts, 13, 11)) +>c2 : Symbol(c2, Decl(classImplementsClass5.ts, 14, 11)) c2 = c; ->c2 : Symbol(c2, Decl(classImplementsClass5.ts, 14, 3)) ->c : Symbol(c, Decl(classImplementsClass5.ts, 13, 3)) +>c2 : Symbol(c2, Decl(classImplementsClass5.ts, 14, 11)) +>c : Symbol(c, Decl(classImplementsClass5.ts, 13, 11)) diff --git a/tests/baselines/reference/classImplementsClass5.types b/tests/baselines/reference/classImplementsClass5.types index 43990431980ae..c40597b61de8e 100644 --- a/tests/baselines/reference/classImplementsClass5.types +++ b/tests/baselines/reference/classImplementsClass5.types @@ -43,11 +43,11 @@ class C2 extends A {} >A : A > : ^ -var c: C; +declare var c: C; >c : C > : ^ -var c2: C2; +declare var c2: C2; >c2 : C2 > : ^^ diff --git a/tests/baselines/reference/classImplementsClass6.errors.txt b/tests/baselines/reference/classImplementsClass6.errors.txt index a4fb28355a8d8..e251dbd75adfe 100644 --- a/tests/baselines/reference/classImplementsClass6.errors.txt +++ b/tests/baselines/reference/classImplementsClass6.errors.txt @@ -18,8 +18,8 @@ classImplementsClass6.ts(21,4): error TS2576: Property 'bar' does not exist on t class C2 extends A {} - var c: C; - var c2: C2; + declare var c: C; + declare var c2: C2; c = c2; c2 = c; c.bar(); // error diff --git a/tests/baselines/reference/classImplementsClass6.js b/tests/baselines/reference/classImplementsClass6.js index 56783140c6218..91e93e2e1c141 100644 --- a/tests/baselines/reference/classImplementsClass6.js +++ b/tests/baselines/reference/classImplementsClass6.js @@ -16,8 +16,8 @@ class C implements A { class C2 extends A {} -var c: C; -var c2: C2; +declare var c: C; +declare var c2: C2; c = c2; c2 = c; c.bar(); // error @@ -63,8 +63,6 @@ var C2 = /** @class */ (function (_super) { } return C2; }(A)); -var c; -var c2; c = c2; c2 = c; c.bar(); // error diff --git a/tests/baselines/reference/classImplementsClass6.symbols b/tests/baselines/reference/classImplementsClass6.symbols index 0e50315fe258b..ad2fd693df44c 100644 --- a/tests/baselines/reference/classImplementsClass6.symbols +++ b/tests/baselines/reference/classImplementsClass6.symbols @@ -27,25 +27,25 @@ class C2 extends A {} >C2 : Symbol(C2, Decl(classImplementsClass6.ts, 11, 1)) >A : Symbol(A, Decl(classImplementsClass6.ts, 0, 0)) -var c: C; ->c : Symbol(c, Decl(classImplementsClass6.ts, 15, 3)) +declare var c: C; +>c : Symbol(c, Decl(classImplementsClass6.ts, 15, 11)) >C : Symbol(C, Decl(classImplementsClass6.ts, 5, 1)) -var c2: C2; ->c2 : Symbol(c2, Decl(classImplementsClass6.ts, 16, 3)) +declare var c2: C2; +>c2 : Symbol(c2, Decl(classImplementsClass6.ts, 16, 11)) >C2 : Symbol(C2, Decl(classImplementsClass6.ts, 11, 1)) c = c2; ->c : Symbol(c, Decl(classImplementsClass6.ts, 15, 3)) ->c2 : Symbol(c2, Decl(classImplementsClass6.ts, 16, 3)) +>c : Symbol(c, Decl(classImplementsClass6.ts, 15, 11)) +>c2 : Symbol(c2, Decl(classImplementsClass6.ts, 16, 11)) c2 = c; ->c2 : Symbol(c2, Decl(classImplementsClass6.ts, 16, 3)) ->c : Symbol(c, Decl(classImplementsClass6.ts, 15, 3)) +>c2 : Symbol(c2, Decl(classImplementsClass6.ts, 16, 11)) +>c : Symbol(c, Decl(classImplementsClass6.ts, 15, 11)) c.bar(); // error ->c : Symbol(c, Decl(classImplementsClass6.ts, 15, 3)) +>c : Symbol(c, Decl(classImplementsClass6.ts, 15, 11)) c2.bar(); // should error ->c2 : Symbol(c2, Decl(classImplementsClass6.ts, 16, 3)) +>c2 : Symbol(c2, Decl(classImplementsClass6.ts, 16, 11)) diff --git a/tests/baselines/reference/classImplementsClass6.types b/tests/baselines/reference/classImplementsClass6.types index 3d01e91a477a0..f02250ff5e4de 100644 --- a/tests/baselines/reference/classImplementsClass6.types +++ b/tests/baselines/reference/classImplementsClass6.types @@ -39,11 +39,11 @@ class C2 extends A {} >A : A > : ^ -var c: C; +declare var c: C; >c : C > : ^ -var c2: C2; +declare var c2: C2; >c2 : C2 > : ^^ diff --git a/tests/baselines/reference/classPropertyAsPrivate.errors.txt b/tests/baselines/reference/classPropertyAsPrivate.errors.txt index dafef95cc0590..fc9bbd6f05a8f 100644 --- a/tests/baselines/reference/classPropertyAsPrivate.errors.txt +++ b/tests/baselines/reference/classPropertyAsPrivate.errors.txt @@ -21,7 +21,7 @@ classPropertyAsPrivate.ts(23,3): error TS2341: Property 'foo' is private and onl private static foo() { } } - var c: C; + declare var c: C; // all errors c.x; ~ diff --git a/tests/baselines/reference/classPropertyAsPrivate.js b/tests/baselines/reference/classPropertyAsPrivate.js index f21fcd07ba219..530ab59bc19bb 100644 --- a/tests/baselines/reference/classPropertyAsPrivate.js +++ b/tests/baselines/reference/classPropertyAsPrivate.js @@ -13,7 +13,7 @@ class C { private static foo() { } } -var c: C; +declare var c: C; // all errors c.x; c.y; @@ -45,7 +45,6 @@ var C = /** @class */ (function () { C.foo = function () { }; return C; }()); -var c; // all errors c.x; c.y; diff --git a/tests/baselines/reference/classPropertyAsPrivate.symbols b/tests/baselines/reference/classPropertyAsPrivate.symbols index 6d9852f9d318b..d6144651bbe9c 100644 --- a/tests/baselines/reference/classPropertyAsPrivate.symbols +++ b/tests/baselines/reference/classPropertyAsPrivate.symbols @@ -31,29 +31,29 @@ class C { >foo : Symbol(C.foo, Decl(classPropertyAsPrivate.ts, 8, 31)) } -var c: C; ->c : Symbol(c, Decl(classPropertyAsPrivate.ts, 12, 3)) +declare var c: C; +>c : Symbol(c, Decl(classPropertyAsPrivate.ts, 12, 11)) >C : Symbol(C, Decl(classPropertyAsPrivate.ts, 0, 0)) // all errors c.x; >c.x : Symbol(C.x, Decl(classPropertyAsPrivate.ts, 0, 9)) ->c : Symbol(c, Decl(classPropertyAsPrivate.ts, 12, 3)) +>c : Symbol(c, Decl(classPropertyAsPrivate.ts, 12, 11)) >x : Symbol(C.x, Decl(classPropertyAsPrivate.ts, 0, 9)) c.y; >c.y : Symbol(C.y, Decl(classPropertyAsPrivate.ts, 1, 22), Decl(classPropertyAsPrivate.ts, 2, 36)) ->c : Symbol(c, Decl(classPropertyAsPrivate.ts, 12, 3)) +>c : Symbol(c, Decl(classPropertyAsPrivate.ts, 12, 11)) >y : Symbol(C.y, Decl(classPropertyAsPrivate.ts, 1, 22), Decl(classPropertyAsPrivate.ts, 2, 36)) c.y = 1; >c.y : Symbol(C.y, Decl(classPropertyAsPrivate.ts, 1, 22), Decl(classPropertyAsPrivate.ts, 2, 36)) ->c : Symbol(c, Decl(classPropertyAsPrivate.ts, 12, 3)) +>c : Symbol(c, Decl(classPropertyAsPrivate.ts, 12, 11)) >y : Symbol(C.y, Decl(classPropertyAsPrivate.ts, 1, 22), Decl(classPropertyAsPrivate.ts, 2, 36)) c.foo(); >c.foo : Symbol(C.foo, Decl(classPropertyAsPrivate.ts, 3, 24)) ->c : Symbol(c, Decl(classPropertyAsPrivate.ts, 12, 3)) +>c : Symbol(c, Decl(classPropertyAsPrivate.ts, 12, 11)) >foo : Symbol(C.foo, Decl(classPropertyAsPrivate.ts, 3, 24)) C.a; diff --git a/tests/baselines/reference/classPropertyAsPrivate.types b/tests/baselines/reference/classPropertyAsPrivate.types index 79302076e6b82..608b76dfef312 100644 --- a/tests/baselines/reference/classPropertyAsPrivate.types +++ b/tests/baselines/reference/classPropertyAsPrivate.types @@ -42,7 +42,7 @@ class C { > : ^^^^^^^^^^ } -var c: C; +declare var c: C; >c : C > : ^ diff --git a/tests/baselines/reference/classPropertyAsProtected.errors.txt b/tests/baselines/reference/classPropertyAsProtected.errors.txt index e37070f4eb407..766e8af1b39f4 100644 --- a/tests/baselines/reference/classPropertyAsProtected.errors.txt +++ b/tests/baselines/reference/classPropertyAsProtected.errors.txt @@ -21,7 +21,7 @@ classPropertyAsProtected.ts(23,3): error TS2445: Property 'foo' is protected and protected static foo() { } } - var c: C; + declare var c: C; // all errors c.x; ~ diff --git a/tests/baselines/reference/classPropertyAsProtected.js b/tests/baselines/reference/classPropertyAsProtected.js index 6d6b47da58255..81750e1e43034 100644 --- a/tests/baselines/reference/classPropertyAsProtected.js +++ b/tests/baselines/reference/classPropertyAsProtected.js @@ -13,7 +13,7 @@ class C { protected static foo() { } } -var c: C; +declare var c: C; // all errors c.x; c.y; @@ -45,7 +45,6 @@ var C = /** @class */ (function () { C.foo = function () { }; return C; }()); -var c; // all errors c.x; c.y; diff --git a/tests/baselines/reference/classPropertyAsProtected.symbols b/tests/baselines/reference/classPropertyAsProtected.symbols index e37f5318b5638..386541fd463a8 100644 --- a/tests/baselines/reference/classPropertyAsProtected.symbols +++ b/tests/baselines/reference/classPropertyAsProtected.symbols @@ -31,29 +31,29 @@ class C { >foo : Symbol(C.foo, Decl(classPropertyAsProtected.ts, 8, 33)) } -var c: C; ->c : Symbol(c, Decl(classPropertyAsProtected.ts, 12, 3)) +declare var c: C; +>c : Symbol(c, Decl(classPropertyAsProtected.ts, 12, 11)) >C : Symbol(C, Decl(classPropertyAsProtected.ts, 0, 0)) // all errors c.x; >c.x : Symbol(C.x, Decl(classPropertyAsProtected.ts, 0, 9)) ->c : Symbol(c, Decl(classPropertyAsProtected.ts, 12, 3)) +>c : Symbol(c, Decl(classPropertyAsProtected.ts, 12, 11)) >x : Symbol(C.x, Decl(classPropertyAsProtected.ts, 0, 9)) c.y; >c.y : Symbol(C.y, Decl(classPropertyAsProtected.ts, 1, 24), Decl(classPropertyAsProtected.ts, 2, 38)) ->c : Symbol(c, Decl(classPropertyAsProtected.ts, 12, 3)) +>c : Symbol(c, Decl(classPropertyAsProtected.ts, 12, 11)) >y : Symbol(C.y, Decl(classPropertyAsProtected.ts, 1, 24), Decl(classPropertyAsProtected.ts, 2, 38)) c.y = 1; >c.y : Symbol(C.y, Decl(classPropertyAsProtected.ts, 1, 24), Decl(classPropertyAsProtected.ts, 2, 38)) ->c : Symbol(c, Decl(classPropertyAsProtected.ts, 12, 3)) +>c : Symbol(c, Decl(classPropertyAsProtected.ts, 12, 11)) >y : Symbol(C.y, Decl(classPropertyAsProtected.ts, 1, 24), Decl(classPropertyAsProtected.ts, 2, 38)) c.foo(); >c.foo : Symbol(C.foo, Decl(classPropertyAsProtected.ts, 3, 26)) ->c : Symbol(c, Decl(classPropertyAsProtected.ts, 12, 3)) +>c : Symbol(c, Decl(classPropertyAsProtected.ts, 12, 11)) >foo : Symbol(C.foo, Decl(classPropertyAsProtected.ts, 3, 26)) C.a; diff --git a/tests/baselines/reference/classPropertyAsProtected.types b/tests/baselines/reference/classPropertyAsProtected.types index bb4418b9af552..c2159d97da73d 100644 --- a/tests/baselines/reference/classPropertyAsProtected.types +++ b/tests/baselines/reference/classPropertyAsProtected.types @@ -42,7 +42,7 @@ class C { > : ^^^^^^^^^^ } -var c: C; +declare var c: C; >c : C > : ^ diff --git a/tests/baselines/reference/classSideInheritance1.errors.txt b/tests/baselines/reference/classSideInheritance1.errors.txt index 9958d9b48601f..d27b5c6275a01 100644 --- a/tests/baselines/reference/classSideInheritance1.errors.txt +++ b/tests/baselines/reference/classSideInheritance1.errors.txt @@ -12,8 +12,8 @@ classSideInheritance1.ts(13,3): error TS2576: Property 'bar' does not exist on t class C2 extends A {} - var a: A; - var c: C2; + declare var a: A; + declare var c: C2; a.bar(); // static off an instance - should be an error ~~~ !!! error TS2576: Property 'bar' does not exist on type 'A'. Did you mean to access the static member 'A.bar' instead? diff --git a/tests/baselines/reference/classSideInheritance1.js b/tests/baselines/reference/classSideInheritance1.js index dd70b044e1849..97f0be7ac6eb4 100644 --- a/tests/baselines/reference/classSideInheritance1.js +++ b/tests/baselines/reference/classSideInheritance1.js @@ -10,8 +10,8 @@ class A { class C2 extends A {} -var a: A; -var c: C2; +declare var a: A; +declare var c: C2; a.bar(); // static off an instance - should be an error c.bar(); // static off an instance - should be an error A.bar(); // valid @@ -49,8 +49,6 @@ var C2 = /** @class */ (function (_super) { } return C2; }(A)); -var a; -var c; a.bar(); // static off an instance - should be an error c.bar(); // static off an instance - should be an error A.bar(); // valid diff --git a/tests/baselines/reference/classSideInheritance1.symbols b/tests/baselines/reference/classSideInheritance1.symbols index 51b485d6a4be8..803054d2c936b 100644 --- a/tests/baselines/reference/classSideInheritance1.symbols +++ b/tests/baselines/reference/classSideInheritance1.symbols @@ -17,19 +17,19 @@ class C2 extends A {} >C2 : Symbol(C2, Decl(classSideInheritance1.ts, 5, 1)) >A : Symbol(A, Decl(classSideInheritance1.ts, 0, 0)) -var a: A; ->a : Symbol(a, Decl(classSideInheritance1.ts, 9, 3)) +declare var a: A; +>a : Symbol(a, Decl(classSideInheritance1.ts, 9, 11)) >A : Symbol(A, Decl(classSideInheritance1.ts, 0, 0)) -var c: C2; ->c : Symbol(c, Decl(classSideInheritance1.ts, 10, 3)) +declare var c: C2; +>c : Symbol(c, Decl(classSideInheritance1.ts, 10, 11)) >C2 : Symbol(C2, Decl(classSideInheritance1.ts, 5, 1)) a.bar(); // static off an instance - should be an error ->a : Symbol(a, Decl(classSideInheritance1.ts, 9, 3)) +>a : Symbol(a, Decl(classSideInheritance1.ts, 9, 11)) c.bar(); // static off an instance - should be an error ->c : Symbol(c, Decl(classSideInheritance1.ts, 10, 3)) +>c : Symbol(c, Decl(classSideInheritance1.ts, 10, 11)) A.bar(); // valid >A.bar : Symbol(A.bar, Decl(classSideInheritance1.ts, 0, 9)) diff --git a/tests/baselines/reference/classSideInheritance1.types b/tests/baselines/reference/classSideInheritance1.types index 4366adf8ec96e..6cf415f1acc16 100644 --- a/tests/baselines/reference/classSideInheritance1.types +++ b/tests/baselines/reference/classSideInheritance1.types @@ -26,11 +26,11 @@ class C2 extends A {} >A : A > : ^ -var a: A; +declare var a: A; >a : A > : ^ -var c: C2; +declare var c: C2; >c : C2 > : ^^ diff --git a/tests/baselines/reference/commaOperatorInvalidAssignmentType.errors.txt b/tests/baselines/reference/commaOperatorInvalidAssignmentType.errors.txt index cb73286f8e83e..1ffe6ab9dfafa 100644 --- a/tests/baselines/reference/commaOperatorInvalidAssignmentType.errors.txt +++ b/tests/baselines/reference/commaOperatorInvalidAssignmentType.errors.txt @@ -7,13 +7,13 @@ commaOperatorInvalidAssignmentType.ts(17,1): error TS2322: Type 'number' is not ==== commaOperatorInvalidAssignmentType.ts (6 errors) ==== - var BOOLEAN: boolean; - var NUMBER: number; - var STRING: string; + declare var BOOLEAN: boolean; + declare var NUMBER: number; + declare var STRING: string; - var resultIsBoolean: boolean - var resultIsNumber: number - var resultIsString: string + declare var resultIsBoolean: boolean + declare var resultIsNumber: number + declare var resultIsString: string //Expect errors when the results type is different form the second operand resultIsBoolean = (BOOLEAN, STRING); diff --git a/tests/baselines/reference/commaOperatorInvalidAssignmentType.js b/tests/baselines/reference/commaOperatorInvalidAssignmentType.js index bdb01cae1038a..c89be5e429951 100644 --- a/tests/baselines/reference/commaOperatorInvalidAssignmentType.js +++ b/tests/baselines/reference/commaOperatorInvalidAssignmentType.js @@ -1,13 +1,13 @@ //// [tests/cases/conformance/expressions/commaOperator/commaOperatorInvalidAssignmentType.ts] //// //// [commaOperatorInvalidAssignmentType.ts] -var BOOLEAN: boolean; -var NUMBER: number; -var STRING: string; +declare var BOOLEAN: boolean; +declare var NUMBER: number; +declare var STRING: string; -var resultIsBoolean: boolean -var resultIsNumber: number -var resultIsString: string +declare var resultIsBoolean: boolean +declare var resultIsNumber: number +declare var resultIsString: string //Expect errors when the results type is different form the second operand resultIsBoolean = (BOOLEAN, STRING); @@ -21,12 +21,6 @@ resultIsString = (STRING, NUMBER); //// [commaOperatorInvalidAssignmentType.js] -var BOOLEAN; -var NUMBER; -var STRING; -var resultIsBoolean; -var resultIsNumber; -var resultIsString; //Expect errors when the results type is different form the second operand resultIsBoolean = (BOOLEAN, STRING); resultIsBoolean = (BOOLEAN, NUMBER); diff --git a/tests/baselines/reference/commaOperatorInvalidAssignmentType.symbols b/tests/baselines/reference/commaOperatorInvalidAssignmentType.symbols index 888827cce3496..0d6cfdacc99a1 100644 --- a/tests/baselines/reference/commaOperatorInvalidAssignmentType.symbols +++ b/tests/baselines/reference/commaOperatorInvalidAssignmentType.symbols @@ -1,52 +1,52 @@ //// [tests/cases/conformance/expressions/commaOperator/commaOperatorInvalidAssignmentType.ts] //// === commaOperatorInvalidAssignmentType.ts === -var BOOLEAN: boolean; ->BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorInvalidAssignmentType.ts, 0, 3)) +declare var BOOLEAN: boolean; +>BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorInvalidAssignmentType.ts, 0, 11)) -var NUMBER: number; ->NUMBER : Symbol(NUMBER, Decl(commaOperatorInvalidAssignmentType.ts, 1, 3)) +declare var NUMBER: number; +>NUMBER : Symbol(NUMBER, Decl(commaOperatorInvalidAssignmentType.ts, 1, 11)) -var STRING: string; ->STRING : Symbol(STRING, Decl(commaOperatorInvalidAssignmentType.ts, 2, 3)) +declare var STRING: string; +>STRING : Symbol(STRING, Decl(commaOperatorInvalidAssignmentType.ts, 2, 11)) -var resultIsBoolean: boolean ->resultIsBoolean : Symbol(resultIsBoolean, Decl(commaOperatorInvalidAssignmentType.ts, 4, 3)) +declare var resultIsBoolean: boolean +>resultIsBoolean : Symbol(resultIsBoolean, Decl(commaOperatorInvalidAssignmentType.ts, 4, 11)) -var resultIsNumber: number ->resultIsNumber : Symbol(resultIsNumber, Decl(commaOperatorInvalidAssignmentType.ts, 5, 3)) +declare var resultIsNumber: number +>resultIsNumber : Symbol(resultIsNumber, Decl(commaOperatorInvalidAssignmentType.ts, 5, 11)) -var resultIsString: string ->resultIsString : Symbol(resultIsString, Decl(commaOperatorInvalidAssignmentType.ts, 6, 3)) +declare var resultIsString: string +>resultIsString : Symbol(resultIsString, Decl(commaOperatorInvalidAssignmentType.ts, 6, 11)) //Expect errors when the results type is different form the second operand resultIsBoolean = (BOOLEAN, STRING); ->resultIsBoolean : Symbol(resultIsBoolean, Decl(commaOperatorInvalidAssignmentType.ts, 4, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorInvalidAssignmentType.ts, 0, 3)) ->STRING : Symbol(STRING, Decl(commaOperatorInvalidAssignmentType.ts, 2, 3)) +>resultIsBoolean : Symbol(resultIsBoolean, Decl(commaOperatorInvalidAssignmentType.ts, 4, 11)) +>BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorInvalidAssignmentType.ts, 0, 11)) +>STRING : Symbol(STRING, Decl(commaOperatorInvalidAssignmentType.ts, 2, 11)) resultIsBoolean = (BOOLEAN, NUMBER); ->resultIsBoolean : Symbol(resultIsBoolean, Decl(commaOperatorInvalidAssignmentType.ts, 4, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorInvalidAssignmentType.ts, 0, 3)) ->NUMBER : Symbol(NUMBER, Decl(commaOperatorInvalidAssignmentType.ts, 1, 3)) +>resultIsBoolean : Symbol(resultIsBoolean, Decl(commaOperatorInvalidAssignmentType.ts, 4, 11)) +>BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorInvalidAssignmentType.ts, 0, 11)) +>NUMBER : Symbol(NUMBER, Decl(commaOperatorInvalidAssignmentType.ts, 1, 11)) resultIsNumber = (NUMBER, BOOLEAN); ->resultIsNumber : Symbol(resultIsNumber, Decl(commaOperatorInvalidAssignmentType.ts, 5, 3)) ->NUMBER : Symbol(NUMBER, Decl(commaOperatorInvalidAssignmentType.ts, 1, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorInvalidAssignmentType.ts, 0, 3)) +>resultIsNumber : Symbol(resultIsNumber, Decl(commaOperatorInvalidAssignmentType.ts, 5, 11)) +>NUMBER : Symbol(NUMBER, Decl(commaOperatorInvalidAssignmentType.ts, 1, 11)) +>BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorInvalidAssignmentType.ts, 0, 11)) resultIsNumber = (NUMBER, STRING); ->resultIsNumber : Symbol(resultIsNumber, Decl(commaOperatorInvalidAssignmentType.ts, 5, 3)) ->NUMBER : Symbol(NUMBER, Decl(commaOperatorInvalidAssignmentType.ts, 1, 3)) ->STRING : Symbol(STRING, Decl(commaOperatorInvalidAssignmentType.ts, 2, 3)) +>resultIsNumber : Symbol(resultIsNumber, Decl(commaOperatorInvalidAssignmentType.ts, 5, 11)) +>NUMBER : Symbol(NUMBER, Decl(commaOperatorInvalidAssignmentType.ts, 1, 11)) +>STRING : Symbol(STRING, Decl(commaOperatorInvalidAssignmentType.ts, 2, 11)) resultIsString = (STRING, BOOLEAN); ->resultIsString : Symbol(resultIsString, Decl(commaOperatorInvalidAssignmentType.ts, 6, 3)) ->STRING : Symbol(STRING, Decl(commaOperatorInvalidAssignmentType.ts, 2, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorInvalidAssignmentType.ts, 0, 3)) +>resultIsString : Symbol(resultIsString, Decl(commaOperatorInvalidAssignmentType.ts, 6, 11)) +>STRING : Symbol(STRING, Decl(commaOperatorInvalidAssignmentType.ts, 2, 11)) +>BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorInvalidAssignmentType.ts, 0, 11)) resultIsString = (STRING, NUMBER); ->resultIsString : Symbol(resultIsString, Decl(commaOperatorInvalidAssignmentType.ts, 6, 3)) ->STRING : Symbol(STRING, Decl(commaOperatorInvalidAssignmentType.ts, 2, 3)) ->NUMBER : Symbol(NUMBER, Decl(commaOperatorInvalidAssignmentType.ts, 1, 3)) +>resultIsString : Symbol(resultIsString, Decl(commaOperatorInvalidAssignmentType.ts, 6, 11)) +>STRING : Symbol(STRING, Decl(commaOperatorInvalidAssignmentType.ts, 2, 11)) +>NUMBER : Symbol(NUMBER, Decl(commaOperatorInvalidAssignmentType.ts, 1, 11)) diff --git a/tests/baselines/reference/commaOperatorInvalidAssignmentType.types b/tests/baselines/reference/commaOperatorInvalidAssignmentType.types index 3bae8bc3e6154..9c2eff9fca89a 100644 --- a/tests/baselines/reference/commaOperatorInvalidAssignmentType.types +++ b/tests/baselines/reference/commaOperatorInvalidAssignmentType.types @@ -1,27 +1,27 @@ //// [tests/cases/conformance/expressions/commaOperator/commaOperatorInvalidAssignmentType.ts] //// === commaOperatorInvalidAssignmentType.ts === -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; >BOOLEAN : boolean > : ^^^^^^^ -var NUMBER: number; +declare var NUMBER: number; >NUMBER : number > : ^^^^^^ -var STRING: string; +declare var STRING: string; >STRING : string > : ^^^^^^ -var resultIsBoolean: boolean +declare var resultIsBoolean: boolean >resultIsBoolean : boolean > : ^^^^^^^ -var resultIsNumber: number +declare var resultIsNumber: number >resultIsNumber : number > : ^^^^^^ -var resultIsString: string +declare var resultIsString: string >resultIsString : string > : ^^^^^^ diff --git a/tests/baselines/reference/commaOperatorWithoutOperand.errors.txt b/tests/baselines/reference/commaOperatorWithoutOperand.errors.txt index ca9992c160b49..73de55ba333cf 100644 --- a/tests/baselines/reference/commaOperatorWithoutOperand.errors.txt +++ b/tests/baselines/reference/commaOperatorWithoutOperand.errors.txt @@ -24,11 +24,11 @@ commaOperatorWithoutOperand.ts(23,5): error TS1109: Expression expected. ==== commaOperatorWithoutOperand.ts (23 errors) ==== - var ANY: any; - var BOOLEAN: boolean; - var NUMBER: number; - var STRING: string; - var OBJECT: Object; + declare var ANY: any; + declare var BOOLEAN: boolean; + declare var NUMBER: number; + declare var STRING: string; + declare var OBJECT: Object; // Expect to have compiler errors // Missing the second operand diff --git a/tests/baselines/reference/commaOperatorWithoutOperand.js b/tests/baselines/reference/commaOperatorWithoutOperand.js index 84c06d5d2ed15..a90217ff2a70c 100644 --- a/tests/baselines/reference/commaOperatorWithoutOperand.js +++ b/tests/baselines/reference/commaOperatorWithoutOperand.js @@ -1,11 +1,11 @@ //// [tests/cases/conformance/expressions/commaOperator/commaOperatorWithoutOperand.ts] //// //// [commaOperatorWithoutOperand.ts] -var ANY: any; -var BOOLEAN: boolean; -var NUMBER: number; -var STRING: string; -var OBJECT: Object; +declare var ANY: any; +declare var BOOLEAN: boolean; +declare var NUMBER: number; +declare var STRING: string; +declare var OBJECT: Object; // Expect to have compiler errors // Missing the second operand @@ -26,11 +26,6 @@ var OBJECT: Object; ( , ); //// [commaOperatorWithoutOperand.js] -var ANY; -var BOOLEAN; -var NUMBER; -var STRING; -var OBJECT; // Expect to have compiler errors // Missing the second operand (ANY, ); diff --git a/tests/baselines/reference/commaOperatorWithoutOperand.symbols b/tests/baselines/reference/commaOperatorWithoutOperand.symbols index 2a9483d5e1353..f2fa92ca7ba9d 100644 --- a/tests/baselines/reference/commaOperatorWithoutOperand.symbols +++ b/tests/baselines/reference/commaOperatorWithoutOperand.symbols @@ -1,54 +1,54 @@ //// [tests/cases/conformance/expressions/commaOperator/commaOperatorWithoutOperand.ts] //// === commaOperatorWithoutOperand.ts === -var ANY: any; ->ANY : Symbol(ANY, Decl(commaOperatorWithoutOperand.ts, 0, 3)) +declare var ANY: any; +>ANY : Symbol(ANY, Decl(commaOperatorWithoutOperand.ts, 0, 11)) -var BOOLEAN: boolean; ->BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorWithoutOperand.ts, 1, 3)) +declare var BOOLEAN: boolean; +>BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorWithoutOperand.ts, 1, 11)) -var NUMBER: number; ->NUMBER : Symbol(NUMBER, Decl(commaOperatorWithoutOperand.ts, 2, 3)) +declare var NUMBER: number; +>NUMBER : Symbol(NUMBER, Decl(commaOperatorWithoutOperand.ts, 2, 11)) -var STRING: string; ->STRING : Symbol(STRING, Decl(commaOperatorWithoutOperand.ts, 3, 3)) +declare var STRING: string; +>STRING : Symbol(STRING, Decl(commaOperatorWithoutOperand.ts, 3, 11)) -var OBJECT: Object; ->OBJECT : Symbol(OBJECT, Decl(commaOperatorWithoutOperand.ts, 4, 3)) +declare var OBJECT: Object; +>OBJECT : Symbol(OBJECT, Decl(commaOperatorWithoutOperand.ts, 4, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // Expect to have compiler errors // Missing the second operand (ANY, ); ->ANY : Symbol(ANY, Decl(commaOperatorWithoutOperand.ts, 0, 3)) +>ANY : Symbol(ANY, Decl(commaOperatorWithoutOperand.ts, 0, 11)) (BOOLEAN, ); ->BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorWithoutOperand.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorWithoutOperand.ts, 1, 11)) (NUMBER, ); ->NUMBER : Symbol(NUMBER, Decl(commaOperatorWithoutOperand.ts, 2, 3)) +>NUMBER : Symbol(NUMBER, Decl(commaOperatorWithoutOperand.ts, 2, 11)) (STRING, ); ->STRING : Symbol(STRING, Decl(commaOperatorWithoutOperand.ts, 3, 3)) +>STRING : Symbol(STRING, Decl(commaOperatorWithoutOperand.ts, 3, 11)) (OBJECT, ); ->OBJECT : Symbol(OBJECT, Decl(commaOperatorWithoutOperand.ts, 4, 3)) +>OBJECT : Symbol(OBJECT, Decl(commaOperatorWithoutOperand.ts, 4, 11)) // Missing the first operand (, ANY); ->ANY : Symbol(ANY, Decl(commaOperatorWithoutOperand.ts, 0, 3)) +>ANY : Symbol(ANY, Decl(commaOperatorWithoutOperand.ts, 0, 11)) (, BOOLEAN); ->BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorWithoutOperand.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorWithoutOperand.ts, 1, 11)) (, NUMBER); ->NUMBER : Symbol(NUMBER, Decl(commaOperatorWithoutOperand.ts, 2, 3)) +>NUMBER : Symbol(NUMBER, Decl(commaOperatorWithoutOperand.ts, 2, 11)) (, STRING); ->STRING : Symbol(STRING, Decl(commaOperatorWithoutOperand.ts, 3, 3)) +>STRING : Symbol(STRING, Decl(commaOperatorWithoutOperand.ts, 3, 11)) (, OBJECT); ->OBJECT : Symbol(OBJECT, Decl(commaOperatorWithoutOperand.ts, 4, 3)) +>OBJECT : Symbol(OBJECT, Decl(commaOperatorWithoutOperand.ts, 4, 11)) // Missing all operands ( , ); diff --git a/tests/baselines/reference/commaOperatorWithoutOperand.types b/tests/baselines/reference/commaOperatorWithoutOperand.types index 36a10cc936174..c191b69851207 100644 --- a/tests/baselines/reference/commaOperatorWithoutOperand.types +++ b/tests/baselines/reference/commaOperatorWithoutOperand.types @@ -1,23 +1,23 @@ //// [tests/cases/conformance/expressions/commaOperator/commaOperatorWithoutOperand.ts] //// === commaOperatorWithoutOperand.ts === -var ANY: any; +declare var ANY: any; >ANY : any > : ^^^ -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; >BOOLEAN : boolean > : ^^^^^^^ -var NUMBER: number; +declare var NUMBER: number; >NUMBER : number > : ^^^^^^ -var STRING: string; +declare var STRING: string; >STRING : string > : ^^^^^^ -var OBJECT: Object; +declare var OBJECT: Object; >OBJECT : Object > : ^^^^^^ diff --git a/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.errors.txt b/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.errors.txt index b35444962ebcd..46e42062bbdd2 100644 --- a/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.errors.txt +++ b/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.errors.txt @@ -19,11 +19,11 @@ comparisonOperatorWithIdenticalPrimitiveType.ts(43,24): error TS18050: The value ==== comparisonOperatorWithIdenticalPrimitiveType.ts (16 errors) ==== enum E { a, b, c } - var a: number; - var b: boolean; - var c: string; - var d: void; - var e: E; + declare var a: number; + declare var b: boolean; + declare var c: string; + declare var d: void; + declare var e: E; // operator < var ra1 = a < a; diff --git a/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.js b/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.js index 1a5c69bf2c444..52bf9ad1d3246 100644 --- a/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.js +++ b/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.js @@ -3,11 +3,11 @@ //// [comparisonOperatorWithIdenticalPrimitiveType.ts] enum E { a, b, c } -var a: number; -var b: boolean; -var c: string; -var d: void; -var e: E; +declare var a: number; +declare var b: boolean; +declare var c: string; +declare var d: void; +declare var e: E; // operator < var ra1 = a < a; @@ -88,11 +88,6 @@ var E; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; })(E || (E = {})); -var a; -var b; -var c; -var d; -var e; // operator < var ra1 = a < a; var ra2 = b < b; diff --git a/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.symbols b/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.symbols index 6b27681f7a296..41a9c54f55856 100644 --- a/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.symbols +++ b/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.symbols @@ -7,47 +7,47 @@ enum E { a, b, c } >b : Symbol(E.b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 0, 11)) >c : Symbol(E.c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 0, 14)) -var a: number; ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) +declare var a: number; +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) -var b: boolean; ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) +declare var b: boolean; +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) -var c: string; ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) +declare var c: string; +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) -var d: void; ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) +declare var d: void; +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) -var e: E; ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) +declare var e: E; +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) >E : Symbol(E, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 0, 0)) // operator < var ra1 = a < a; >ra1 : Symbol(ra1, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 9, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) var ra2 = b < b; >ra2 : Symbol(ra2, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 10, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) var ra3 = c < c; >ra3 : Symbol(ra3, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 11, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) var ra4 = d < d; >ra4 : Symbol(ra4, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 12, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) var ra5 = e < e; >ra5 : Symbol(ra5, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 13, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) var ra6 = null < null; >ra6 : Symbol(ra6, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 14, 3)) @@ -60,28 +60,28 @@ var ra7 = undefined < undefined; // operator > var rb1 = a > a; >rb1 : Symbol(rb1, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 18, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) var rb2 = b > b; >rb2 : Symbol(rb2, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 19, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) var rb3 = c > c; >rb3 : Symbol(rb3, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 20, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) var rb4 = d > d; >rb4 : Symbol(rb4, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 21, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) var rb5 = e > e; >rb5 : Symbol(rb5, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 22, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) var rb6 = null > null; >rb6 : Symbol(rb6, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 23, 3)) @@ -94,28 +94,28 @@ var rb7 = undefined > undefined; // operator <= var rc1 = a <= a; >rc1 : Symbol(rc1, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 27, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) var rc2 = b <= b; >rc2 : Symbol(rc2, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 28, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) var rc3 = c <= c; >rc3 : Symbol(rc3, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 29, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) var rc4 = d <= d; >rc4 : Symbol(rc4, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 30, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) var rc5 = e <= e; >rc5 : Symbol(rc5, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 31, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) var rc6 = null <= null; >rc6 : Symbol(rc6, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 32, 3)) @@ -128,28 +128,28 @@ var rc7 = undefined <= undefined; // operator >= var rd1 = a >= a; >rd1 : Symbol(rd1, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 36, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) var rd2 = b >= b; >rd2 : Symbol(rd2, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 37, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) var rd3 = c >= c; >rd3 : Symbol(rd3, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 38, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) var rd4 = d >= d; >rd4 : Symbol(rd4, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 39, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) var rd5 = e >= e; >rd5 : Symbol(rd5, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 40, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) var rd6 = null >= null; >rd6 : Symbol(rd6, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 41, 3)) @@ -162,28 +162,28 @@ var rd7 = undefined >= undefined; // operator == var re1 = a == a; >re1 : Symbol(re1, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 45, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) var re2 = b == b; >re2 : Symbol(re2, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 46, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) var re3 = c == c; >re3 : Symbol(re3, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 47, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) var re4 = d == d; >re4 : Symbol(re4, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 48, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) var re5 = e == e; >re5 : Symbol(re5, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 49, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) var re6 = null == null; >re6 : Symbol(re6, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 50, 3)) @@ -196,28 +196,28 @@ var re7 = undefined == undefined; // operator != var rf1 = a != a; >rf1 : Symbol(rf1, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 54, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) var rf2 = b != b; >rf2 : Symbol(rf2, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 55, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) var rf3 = c != c; >rf3 : Symbol(rf3, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 56, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) var rf4 = d != d; >rf4 : Symbol(rf4, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 57, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) var rf5 = e != e; >rf5 : Symbol(rf5, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 58, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) var rf6 = null != null; >rf6 : Symbol(rf6, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 59, 3)) @@ -230,28 +230,28 @@ var rf7 = undefined != undefined; // operator === var rg1 = a === a; >rg1 : Symbol(rg1, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 63, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) var rg2 = b === b; >rg2 : Symbol(rg2, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 64, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) var rg3 = c === c; >rg3 : Symbol(rg3, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 65, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) var rg4 = d === d; >rg4 : Symbol(rg4, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 66, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) var rg5 = e === e; >rg5 : Symbol(rg5, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 67, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) var rg6 = null === null; >rg6 : Symbol(rg6, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 68, 3)) @@ -264,28 +264,28 @@ var rg7 = undefined === undefined; // operator !== var rh1 = a !== a; >rh1 : Symbol(rh1, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 72, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 2, 11)) var rh2 = b !== b; >rh2 : Symbol(rh2, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 73, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 3, 11)) var rh3 = c !== c; >rh3 : Symbol(rh3, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 74, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 4, 11)) var rh4 = d !== d; >rh4 : Symbol(rh4, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 75, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 5, 11)) var rh5 = e !== e; >rh5 : Symbol(rh5, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 76, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 6, 11)) var rh6 = null !== null; >rh6 : Symbol(rh6, Decl(comparisonOperatorWithIdenticalPrimitiveType.ts, 77, 3)) diff --git a/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.types b/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.types index e5be9f3a34bd4..32fe0af5f34c2 100644 --- a/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.types +++ b/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.types @@ -11,23 +11,23 @@ enum E { a, b, c } >c : E.c > : ^^^ -var a: number; +declare var a: number; >a : number > : ^^^^^^ -var b: boolean; +declare var b: boolean; >b : boolean > : ^^^^^^^ -var c: string; +declare var c: string; >c : string > : ^^^^^^ -var d: void; +declare var d: void; >d : void > : ^^^^ -var e: E; +declare var e: E; >e : E > : ^ diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.errors.txt b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.errors.txt index 2ae865e44e663..9272b7b0c4479 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.errors.txt +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.errors.txt @@ -109,26 +109,26 @@ comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts(167,12): error TS2 public c: string; } - var a1: { fn(): Base }; - var b1: { new (): Base }; + declare var a1: { fn(): Base }; + declare var b1: { new (): Base }; - var a2: { fn(a: number, b: string): void }; - var b2: { fn(a: string): void }; + declare var a2: { fn(a: number, b: string): void }; + declare var b2: { fn(a: string): void }; - var a3: { fn(a: Base, b: string): void }; - var b3: { fn(a: Derived, b: Base): void }; + declare var a3: { fn(a: Base, b: string): void }; + declare var b3: { fn(a: Derived, b: Base): void }; - var a4: { fn(): Base }; - var b4: { fn(): C }; + declare var a4: { fn(): Base }; + declare var b4: { fn(): C }; - var a5: { fn(a?: Base): void }; - var b5: { fn(a?: C): void }; + declare var a5: { fn(a?: Base): void }; + declare var b5: { fn(a?: C): void }; - var a6: { fn(...a: Base[]): void }; - var b6: { fn(...a: C[]): void }; + declare var a6: { fn(...a: Base[]): void }; + declare var b6: { fn(...a: C[]): void }; - var a7: { fn(t: T): T }; - var b7: { fn(t: T[]): T }; + declare var a7: { fn(t: T): T }; + declare var b7: { fn(t: T[]): T }; // operator < var r1a1 = a1 < b1; diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.js b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.js index c7cdb12670cb7..d762a210b3e38 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.js +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.js @@ -13,26 +13,26 @@ class C { public c: string; } -var a1: { fn(): Base }; -var b1: { new (): Base }; +declare var a1: { fn(): Base }; +declare var b1: { new (): Base }; -var a2: { fn(a: number, b: string): void }; -var b2: { fn(a: string): void }; +declare var a2: { fn(a: number, b: string): void }; +declare var b2: { fn(a: string): void }; -var a3: { fn(a: Base, b: string): void }; -var b3: { fn(a: Derived, b: Base): void }; +declare var a3: { fn(a: Base, b: string): void }; +declare var b3: { fn(a: Derived, b: Base): void }; -var a4: { fn(): Base }; -var b4: { fn(): C }; +declare var a4: { fn(): Base }; +declare var b4: { fn(): C }; -var a5: { fn(a?: Base): void }; -var b5: { fn(a?: C): void }; +declare var a5: { fn(a?: Base): void }; +declare var b5: { fn(a?: C): void }; -var a6: { fn(...a: Base[]): void }; -var b6: { fn(...a: C[]): void }; +declare var a6: { fn(...a: Base[]): void }; +declare var b6: { fn(...a: C[]): void }; -var a7: { fn(t: T): T }; -var b7: { fn(t: T[]): T }; +declare var a7: { fn(t: T): T }; +declare var b7: { fn(t: T[]): T }; // operator < var r1a1 = a1 < b1; @@ -203,20 +203,6 @@ var C = /** @class */ (function () { } return C; }()); -var a1; -var b1; -var a2; -var b2; -var a3; -var b3; -var a4; -var b4; -var a5; -var b5; -var a6; -var b6; -var a7; -var b7; // operator < var r1a1 = a1 < b1; var r1a2 = a2 < b2; diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.symbols b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.symbols index 32fc3abaef171..82a466aab04be 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.symbols +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.symbols @@ -23,656 +23,656 @@ class C { >c : Symbol(C.c, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 8, 9)) } -var a1: { fn(): Base }; ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) ->fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 9)) +declare var a1: { fn(): Base }; +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) +>fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 17)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 0, 0)) -var b1: { new (): Base }; ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) +declare var b1: { new (): Base }; +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 0, 0)) -var a2: { fn(a: number, b: string): void }; ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) ->fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 9)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 13)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 23)) - -var b2: { fn(a: string): void }; ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) ->fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 9)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 13)) - -var a3: { fn(a: Base, b: string): void }; ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) ->fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 9)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 13)) +declare var a2: { fn(a: number, b: string): void }; +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) +>fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 17)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 21)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 31)) + +declare var b2: { fn(a: string): void }; +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) +>fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 17)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 21)) + +declare var a3: { fn(a: Base, b: string): void }; +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) +>fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 17)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 21)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 0, 0)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 21)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 29)) -var b3: { fn(a: Derived, b: Base): void }; ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) ->fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 9)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 13)) +declare var b3: { fn(a: Derived, b: Base): void }; +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) +>fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 17)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 21)) >Derived : Symbol(Derived, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 2, 1)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 24)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 32)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 0, 0)) -var a4: { fn(): Base }; ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) ->fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 9)) +declare var a4: { fn(): Base }; +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) +>fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 17)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 0, 0)) -var b4: { fn(): C }; ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) ->fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 9)) +declare var b4: { fn(): C }; +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) +>fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 17)) >C : Symbol(C, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 6, 1)) -var a5: { fn(a?: Base): void }; ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) ->fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 9)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 13)) +declare var a5: { fn(a?: Base): void }; +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) +>fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 17)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 21)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 0, 0)) -var b5: { fn(a?: C): void }; ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) ->fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 9)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 13)) +declare var b5: { fn(a?: C): void }; +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) +>fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 17)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 21)) >C : Symbol(C, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 6, 1)) -var a6: { fn(...a: Base[]): void }; ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) ->fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 9)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 13)) +declare var a6: { fn(...a: Base[]): void }; +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) +>fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 17)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 21)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 0, 0)) -var b6: { fn(...a: C[]): void }; ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) ->fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 9)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 13)) +declare var b6: { fn(...a: C[]): void }; +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) +>fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 17)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 21)) >C : Symbol(C, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 6, 1)) -var a7: { fn(t: T): T }; ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) ->fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 9)) ->T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 13)) ->t : Symbol(t, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 16)) ->T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 13)) ->T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 13)) - -var b7: { fn(t: T[]): T }; ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) ->fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 9)) ->T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 13)) ->t : Symbol(t, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 16)) ->T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 13)) ->T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 13)) +declare var a7: { fn(t: T): T }; +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) +>fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 17)) +>T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 21)) +>t : Symbol(t, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 24)) +>T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 21)) +>T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 21)) + +declare var b7: { fn(t: T[]): T }; +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) +>fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 17)) +>T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 21)) +>t : Symbol(t, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 24)) +>T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 21)) +>T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 21)) // operator < var r1a1 = a1 < b1; >r1a1 : Symbol(r1a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 34, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) var r1a2 = a2 < b2; >r1a2 : Symbol(r1a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 35, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) var r1a3 = a3 < b3; >r1a3 : Symbol(r1a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 36, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) var r1a4 = a4 < b4; >r1a4 : Symbol(r1a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 37, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) var r1a5 = a5 < b5; >r1a5 : Symbol(r1a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 38, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) var r1a6 = a6 < b6; >r1a6 : Symbol(r1a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 39, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) var r1a7 = a7 < b7; >r1a7 : Symbol(r1a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 40, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) var r1b1 = b1 < a1; >r1b1 : Symbol(r1b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 42, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) var r1b2 = b2 < a2; >r1b2 : Symbol(r1b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 43, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) var r1b3 = b3 < a3; >r1b3 : Symbol(r1b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 44, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) var r1b4 = b4 < a4; >r1b4 : Symbol(r1b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 45, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) var r1b5 = b5 < a5; >r1b5 : Symbol(r1b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 46, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) var r1b6 = b6 < a6; >r1b6 : Symbol(r1b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 47, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) var r1b7 = b7 < a7; >r1b7 : Symbol(r1b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 48, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) // operator > var r2a1 = a1 > b1; >r2a1 : Symbol(r2a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 51, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) var r2a2 = a2 > b2; >r2a2 : Symbol(r2a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 52, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) var r2a3 = a3 > b3; >r2a3 : Symbol(r2a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 53, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) var r2a4 = a4 > b4; >r2a4 : Symbol(r2a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 54, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) var r2a5 = a5 > b5; >r2a5 : Symbol(r2a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 55, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) var r2a6 = a6 > b6; >r2a6 : Symbol(r2a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 56, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) var r2a7 = a7 > b7; >r2a7 : Symbol(r2a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 57, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) var r2b1 = b1 > a1; >r2b1 : Symbol(r2b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 59, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) var r2b2 = b2 > a2; >r2b2 : Symbol(r2b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 60, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) var r2b3 = b3 > a3; >r2b3 : Symbol(r2b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 61, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) var r2b4 = b4 > a4; >r2b4 : Symbol(r2b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 62, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) var r2b5 = b5 > a5; >r2b5 : Symbol(r2b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 63, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) var r2b6 = b6 > a6; >r2b6 : Symbol(r2b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 64, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) var r2b7 = b7 > a7; >r2b7 : Symbol(r2b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 65, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) // operator <= var r3a1 = a1 <= b1; >r3a1 : Symbol(r3a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 68, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) var r3a2 = a2 <= b2; >r3a2 : Symbol(r3a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 69, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) var r3a3 = a3 <= b3; >r3a3 : Symbol(r3a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 70, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) var r3a4 = a4 <= b4; >r3a4 : Symbol(r3a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 71, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) var r3a5 = a5 <= b5; >r3a5 : Symbol(r3a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 72, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) var r3a6 = a6 <= b6; >r3a6 : Symbol(r3a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 73, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) var r3a7 = a7 <= b7; >r3a7 : Symbol(r3a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 74, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) var r3b1 = b1 <= a1; >r3b1 : Symbol(r3b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 76, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) var r3b2 = b2 <= a2; >r3b2 : Symbol(r3b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 77, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) var r3b3 = b3 <= a3; >r3b3 : Symbol(r3b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 78, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) var r3b4 = b4 <= a4; >r3b4 : Symbol(r3b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 79, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) var r3b5 = b5 <= a5; >r3b5 : Symbol(r3b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 80, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) var r3b6 = b6 <= a6; >r3b6 : Symbol(r3b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 81, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) var r3b7 = b7 <= a7; >r3b7 : Symbol(r3b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 82, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) // operator >= var r4a1 = a1 >= b1; >r4a1 : Symbol(r4a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 85, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) var r4a2 = a2 >= b2; >r4a2 : Symbol(r4a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 86, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) var r4a3 = a3 >= b3; >r4a3 : Symbol(r4a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 87, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) var r4a4 = a4 >= b4; >r4a4 : Symbol(r4a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 88, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) var r4a5 = a5 >= b5; >r4a5 : Symbol(r4a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 89, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) var r4a6 = a6 >= b6; >r4a6 : Symbol(r4a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 90, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) var r4a7 = a7 >= b7; >r4a7 : Symbol(r4a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 91, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) var r4b1 = b1 >= a1; >r4b1 : Symbol(r4b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 93, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) var r4b2 = b2 >= a2; >r4b2 : Symbol(r4b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 94, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) var r4b3 = b3 >= a3; >r4b3 : Symbol(r4b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 95, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) var r4b4 = b4 >= a4; >r4b4 : Symbol(r4b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 96, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) var r4b5 = b5 >= a5; >r4b5 : Symbol(r4b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 97, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) var r4b6 = b6 >= a6; >r4b6 : Symbol(r4b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 98, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) var r4b7 = b7 >= a7; >r4b7 : Symbol(r4b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 99, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) // operator == var r5a1 = a1 == b1; >r5a1 : Symbol(r5a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 102, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) var r5a2 = a2 == b2; >r5a2 : Symbol(r5a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 103, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) var r5a3 = a3 == b3; >r5a3 : Symbol(r5a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 104, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) var r5a4 = a4 == b4; >r5a4 : Symbol(r5a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 105, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) var r5a5 = a5 == b5; >r5a5 : Symbol(r5a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 106, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) var r5a6 = a6 == b6; >r5a6 : Symbol(r5a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 107, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) var r5a7 = a7 == b7; >r5a7 : Symbol(r5a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 108, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) var r5b1 = b1 == a1; >r5b1 : Symbol(r5b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 110, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) var r5b2 = b2 == a2; >r5b2 : Symbol(r5b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 111, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) var r5b3 = b3 == a3; >r5b3 : Symbol(r5b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 112, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) var r5b4 = b4 == a4; >r5b4 : Symbol(r5b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 113, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) var r5b5 = b5 == a5; >r5b5 : Symbol(r5b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 114, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) var r5b6 = b6 == a6; >r5b6 : Symbol(r5b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 115, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) var r5b7 = b7 == a7; >r5b7 : Symbol(r5b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 116, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) // operator != var r6a1 = a1 != b1; >r6a1 : Symbol(r6a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 119, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) var r6a2 = a2 != b2; >r6a2 : Symbol(r6a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 120, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) var r6a3 = a3 != b3; >r6a3 : Symbol(r6a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 121, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) var r6a4 = a4 != b4; >r6a4 : Symbol(r6a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 122, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) var r6a5 = a5 != b5; >r6a5 : Symbol(r6a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 123, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) var r6a6 = a6 != b6; >r6a6 : Symbol(r6a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 124, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) var r6a7 = a7 != b7; >r6a7 : Symbol(r6a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 125, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) var r6b1 = b1 != a1; >r6b1 : Symbol(r6b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 127, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) var r6b2 = b2 != a2; >r6b2 : Symbol(r6b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 128, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) var r6b3 = b3 != a3; >r6b3 : Symbol(r6b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 129, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) var r6b4 = b4 != a4; >r6b4 : Symbol(r6b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 130, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) var r6b5 = b5 != a5; >r6b5 : Symbol(r6b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 131, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) var r6b6 = b6 != a6; >r6b6 : Symbol(r6b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 132, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) var r6b7 = b7 != a7; >r6b7 : Symbol(r6b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 133, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) // operator === var r7a1 = a1 === b1; >r7a1 : Symbol(r7a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 136, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) var r7a2 = a2 === b2; >r7a2 : Symbol(r7a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 137, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) var r7a3 = a3 === b3; >r7a3 : Symbol(r7a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 138, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) var r7a4 = a4 === b4; >r7a4 : Symbol(r7a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 139, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) var r7a5 = a5 === b5; >r7a5 : Symbol(r7a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 140, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) var r7a6 = a6 === b6; >r7a6 : Symbol(r7a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 141, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) var r7a7 = a7 === b7; >r7a7 : Symbol(r7a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 142, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) var r7b1 = b1 === a1; >r7b1 : Symbol(r7b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 144, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) var r7b2 = b2 === a2; >r7b2 : Symbol(r7b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 145, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) var r7b3 = b3 === a3; >r7b3 : Symbol(r7b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 146, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) var r7b4 = b4 === a4; >r7b4 : Symbol(r7b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 147, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) var r7b5 = b5 === a5; >r7b5 : Symbol(r7b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 148, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) var r7b6 = b6 === a6; >r7b6 : Symbol(r7b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 149, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) var r7b7 = b7 === a7; >r7b7 : Symbol(r7b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 150, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) // operator !== var r8a1 = a1 !== b1; >r8a1 : Symbol(r8a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 153, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) var r8a2 = a2 !== b2; >r8a2 : Symbol(r8a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 154, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) var r8a3 = a3 !== b3; >r8a3 : Symbol(r8a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 155, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) var r8a4 = a4 !== b4; >r8a4 : Symbol(r8a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 156, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) var r8a5 = a5 !== b5; >r8a5 : Symbol(r8a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 157, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) var r8a6 = a6 !== b6; >r8a6 : Symbol(r8a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 158, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) var r8a7 = a7 !== b7; >r8a7 : Symbol(r8a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 159, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) var r8b1 = b1 !== a1; >r8b1 : Symbol(r8b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 161, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 12, 11)) var r8b2 = b2 !== a2; >r8b2 : Symbol(r8b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 162, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 15, 11)) var r8b3 = b3 !== a3; >r8b3 : Symbol(r8b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 163, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 18, 11)) var r8b4 = b4 !== a4; >r8b4 : Symbol(r8b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 164, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 21, 11)) var r8b5 = b5 !== a5; >r8b5 : Symbol(r8b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 165, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 24, 11)) var r8b6 = b6 !== a6; >r8b6 : Symbol(r8b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 166, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 27, 11)) var r8b7 = b7 !== a7; >r8b7 : Symbol(r8b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 167, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts, 30, 11)) diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.types index e67a171f1a013..1832aa944e855 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.types @@ -30,17 +30,17 @@ class C { > : ^^^^^^ } -var a1: { fn(): Base }; +declare var a1: { fn(): Base }; >a1 : { fn(): Base; } > : ^^^^^^^^ ^^^ >fn : () => Base > : ^^^^^^ -var b1: { new (): Base }; +declare var b1: { new (): Base }; >b1 : new () => Base > : ^^^^^^^^^^ -var a2: { fn(a: number, b: string): void }; +declare var a2: { fn(a: number, b: string): void }; >a2 : { fn(a: number, b: string): void; } > : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (a: number, b: string) => void @@ -50,7 +50,7 @@ var a2: { fn(a: number, b: string): void }; >b : string > : ^^^^^^ -var b2: { fn(a: string): void }; +declare var b2: { fn(a: string): void }; >b2 : { fn(a: string): void; } > : ^^^^^ ^^ ^^^ ^^^ >fn : (a: string) => void @@ -58,7 +58,7 @@ var b2: { fn(a: string): void }; >a : string > : ^^^^^^ -var a3: { fn(a: Base, b: string): void }; +declare var a3: { fn(a: Base, b: string): void }; >a3 : { fn(a: Base, b: string): void; } > : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (a: Base, b: string) => void @@ -68,7 +68,7 @@ var a3: { fn(a: Base, b: string): void }; >b : string > : ^^^^^^ -var b3: { fn(a: Derived, b: Base): void }; +declare var b3: { fn(a: Derived, b: Base): void }; >b3 : { fn(a: Derived, b: Base): void; } > : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (a: Derived, b: Base) => void @@ -78,19 +78,19 @@ var b3: { fn(a: Derived, b: Base): void }; >b : Base > : ^^^^ -var a4: { fn(): Base }; +declare var a4: { fn(): Base }; >a4 : { fn(): Base; } > : ^^^^^^^^ ^^^ >fn : () => Base > : ^^^^^^ -var b4: { fn(): C }; +declare var b4: { fn(): C }; >b4 : { fn(): C; } > : ^^^^^^^^ ^^^ >fn : () => C > : ^^^^^^ -var a5: { fn(a?: Base): void }; +declare var a5: { fn(a?: Base): void }; >a5 : { fn(a?: Base): void; } > : ^^^^^ ^^^ ^^^ ^^^ >fn : (a?: Base) => void @@ -98,7 +98,7 @@ var a5: { fn(a?: Base): void }; >a : Base > : ^^^^ -var b5: { fn(a?: C): void }; +declare var b5: { fn(a?: C): void }; >b5 : { fn(a?: C): void; } > : ^^^^^ ^^^ ^^^ ^^^ >fn : (a?: C) => void @@ -106,7 +106,7 @@ var b5: { fn(a?: C): void }; >a : C > : ^ -var a6: { fn(...a: Base[]): void }; +declare var a6: { fn(...a: Base[]): void }; >a6 : { fn(...a: Base[]): void; } > : ^^^^^^^^ ^^ ^^^ ^^^ >fn : (...a: Base[]) => void @@ -114,7 +114,7 @@ var a6: { fn(...a: Base[]): void }; >a : Base[] > : ^^^^^^ -var b6: { fn(...a: C[]): void }; +declare var b6: { fn(...a: C[]): void }; >b6 : { fn(...a: C[]): void; } > : ^^^^^^^^ ^^ ^^^ ^^^ >fn : (...a: C[]) => void @@ -122,7 +122,7 @@ var b6: { fn(...a: C[]): void }; >a : C[] > : ^^^ -var a7: { fn(t: T): T }; +declare var a7: { fn(t: T): T }; >a7 : { fn(t: T): T; } > : ^^^^^ ^^ ^^ ^^^ ^^^ >fn : (t: T) => T @@ -130,7 +130,7 @@ var a7: { fn(t: T): T }; >t : T > : ^ -var b7: { fn(t: T[]): T }; +declare var b7: { fn(t: T[]): T }; >b7 : { fn(t: T[]): T; } > : ^^^^^ ^^ ^^ ^^^ ^^^ >fn : (t: T[]) => T diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.errors.txt b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.errors.txt index 0d6521637159c..36ec7d62a7303 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.errors.txt +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.errors.txt @@ -109,26 +109,26 @@ comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts(167,12): er public c: string; } - var a1: { fn(): Base }; - var b1: { new (): Base }; + declare var a1: { fn(): Base }; + declare var b1: { new (): Base }; - var a2: { new (a: number, b: string): Base }; - var b2: { new (a: string): Base }; + declare var a2: { new (a: number, b: string): Base }; + declare var b2: { new (a: string): Base }; - var a3: { new (a: Base, b: string): Base }; - var b3: { new (a: Derived, b: Base): Base }; + declare var a3: { new (a: Base, b: string): Base }; + declare var b3: { new (a: Derived, b: Base): Base }; - var a4: { new (): Base }; - var b4: { new (): C }; + declare var a4: { new (): Base }; + declare var b4: { new (): C }; - var a5: { new (a?: Base): Base }; - var b5: { new (a?: C): Base }; + declare var a5: { new (a?: Base): Base }; + declare var b5: { new (a?: C): Base }; - var a6: { new (...a: Base[]): Base }; - var b6: { new (...a: C[]): Base }; + declare var a6: { new (...a: Base[]): Base }; + declare var b6: { new (...a: C[]): Base }; - var a7: { new (t: T): T }; - var b7: { new (t: T[]): T }; + declare var a7: { new (t: T): T }; + declare var b7: { new (t: T[]): T }; // operator < var r1a1 = a1 < b1; diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.js b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.js index 26e89ce584d01..3fab5be8010d6 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.js +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.js @@ -13,26 +13,26 @@ class C { public c: string; } -var a1: { fn(): Base }; -var b1: { new (): Base }; +declare var a1: { fn(): Base }; +declare var b1: { new (): Base }; -var a2: { new (a: number, b: string): Base }; -var b2: { new (a: string): Base }; +declare var a2: { new (a: number, b: string): Base }; +declare var b2: { new (a: string): Base }; -var a3: { new (a: Base, b: string): Base }; -var b3: { new (a: Derived, b: Base): Base }; +declare var a3: { new (a: Base, b: string): Base }; +declare var b3: { new (a: Derived, b: Base): Base }; -var a4: { new (): Base }; -var b4: { new (): C }; +declare var a4: { new (): Base }; +declare var b4: { new (): C }; -var a5: { new (a?: Base): Base }; -var b5: { new (a?: C): Base }; +declare var a5: { new (a?: Base): Base }; +declare var b5: { new (a?: C): Base }; -var a6: { new (...a: Base[]): Base }; -var b6: { new (...a: C[]): Base }; +declare var a6: { new (...a: Base[]): Base }; +declare var b6: { new (...a: C[]): Base }; -var a7: { new (t: T): T }; -var b7: { new (t: T[]): T }; +declare var a7: { new (t: T): T }; +declare var b7: { new (t: T[]): T }; // operator < var r1a1 = a1 < b1; @@ -203,20 +203,6 @@ var C = /** @class */ (function () { } return C; }()); -var a1; -var b1; -var a2; -var b2; -var a3; -var b3; -var a4; -var b4; -var a5; -var b5; -var a6; -var b6; -var a7; -var b7; // operator < var r1a1 = a1 < b1; var r1a2 = a2 < b2; diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.symbols b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.symbols index 430fc33ec7259..99bdb54619b5e 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.symbols +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.symbols @@ -23,652 +23,652 @@ class C { >c : Symbol(C.c, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 8, 9)) } -var a1: { fn(): Base }; ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) ->fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 9)) +declare var a1: { fn(): Base }; +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) +>fn : Symbol(fn, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 17)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 0, 0)) -var b1: { new (): Base }; ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) +declare var b1: { new (): Base }; +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 0, 0)) -var a2: { new (a: number, b: string): Base }; ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 15)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 25)) +declare var a2: { new (a: number, b: string): Base }; +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 23)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 33)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 0, 0)) -var b2: { new (a: string): Base }; ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 15)) +declare var b2: { new (a: string): Base }; +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 23)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 0, 0)) -var a3: { new (a: Base, b: string): Base }; ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 15)) +declare var a3: { new (a: Base, b: string): Base }; +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 23)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 0, 0)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 23)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 31)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 0, 0)) -var b3: { new (a: Derived, b: Base): Base }; ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 15)) +declare var b3: { new (a: Derived, b: Base): Base }; +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 23)) >Derived : Symbol(Derived, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 2, 1)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 26)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 34)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 0, 0)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 0, 0)) -var a4: { new (): Base }; ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) +declare var a4: { new (): Base }; +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 0, 0)) -var b4: { new (): C }; ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) +declare var b4: { new (): C }; +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) >C : Symbol(C, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 6, 1)) -var a5: { new (a?: Base): Base }; ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 15)) +declare var a5: { new (a?: Base): Base }; +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 23)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 0, 0)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 0, 0)) -var b5: { new (a?: C): Base }; ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 15)) +declare var b5: { new (a?: C): Base }; +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 23)) >C : Symbol(C, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 6, 1)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 0, 0)) -var a6: { new (...a: Base[]): Base }; ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 15)) +declare var a6: { new (...a: Base[]): Base }; +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 23)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 0, 0)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 0, 0)) -var b6: { new (...a: C[]): Base }; ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 15)) +declare var b6: { new (...a: C[]): Base }; +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 23)) >C : Symbol(C, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 6, 1)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 0, 0)) -var a7: { new (t: T): T }; ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) ->T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 15)) ->t : Symbol(t, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 18)) ->T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 15)) ->T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 15)) +declare var a7: { new (t: T): T }; +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) +>T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 23)) +>t : Symbol(t, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 26)) +>T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 23)) +>T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 23)) -var b7: { new (t: T[]): T }; ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) ->T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 15)) ->t : Symbol(t, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 18)) ->T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 15)) ->T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 15)) +declare var b7: { new (t: T[]): T }; +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) +>T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 23)) +>t : Symbol(t, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 26)) +>T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 23)) +>T : Symbol(T, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 23)) // operator < var r1a1 = a1 < b1; >r1a1 : Symbol(r1a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 34, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) var r1a2 = a2 < b2; >r1a2 : Symbol(r1a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 35, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) var r1a3 = a3 < b3; >r1a3 : Symbol(r1a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 36, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) var r1a4 = a4 < b4; >r1a4 : Symbol(r1a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 37, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) var r1a5 = a5 < b5; >r1a5 : Symbol(r1a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 38, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) var r1a6 = a6 < b6; >r1a6 : Symbol(r1a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 39, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) var r1a7 = a7 < b7; >r1a7 : Symbol(r1a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 40, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) var r1b1 = b1 < a1; >r1b1 : Symbol(r1b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 42, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) var r1b2 = b2 < a2; >r1b2 : Symbol(r1b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 43, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) var r1b3 = b3 < a3; >r1b3 : Symbol(r1b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 44, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) var r1b4 = b4 < a4; >r1b4 : Symbol(r1b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 45, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) var r1b5 = b5 < a5; >r1b5 : Symbol(r1b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 46, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) var r1b6 = b6 < a6; >r1b6 : Symbol(r1b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 47, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) var r1b7 = b7 < a7; >r1b7 : Symbol(r1b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 48, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) // operator > var r2a1 = a1 > b1; >r2a1 : Symbol(r2a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 51, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) var r2a2 = a2 > b2; >r2a2 : Symbol(r2a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 52, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) var r2a3 = a3 > b3; >r2a3 : Symbol(r2a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 53, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) var r2a4 = a4 > b4; >r2a4 : Symbol(r2a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 54, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) var r2a5 = a5 > b5; >r2a5 : Symbol(r2a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 55, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) var r2a6 = a6 > b6; >r2a6 : Symbol(r2a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 56, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) var r2a7 = a7 > b7; >r2a7 : Symbol(r2a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 57, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) var r2b1 = b1 > a1; >r2b1 : Symbol(r2b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 59, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) var r2b2 = b2 > a2; >r2b2 : Symbol(r2b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 60, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) var r2b3 = b3 > a3; >r2b3 : Symbol(r2b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 61, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) var r2b4 = b4 > a4; >r2b4 : Symbol(r2b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 62, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) var r2b5 = b5 > a5; >r2b5 : Symbol(r2b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 63, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) var r2b6 = b6 > a6; >r2b6 : Symbol(r2b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 64, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) var r2b7 = b7 > a7; >r2b7 : Symbol(r2b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 65, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) // operator <= var r3a1 = a1 <= b1; >r3a1 : Symbol(r3a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 68, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) var r3a2 = a2 <= b2; >r3a2 : Symbol(r3a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 69, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) var r3a3 = a3 <= b3; >r3a3 : Symbol(r3a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 70, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) var r3a4 = a4 <= b4; >r3a4 : Symbol(r3a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 71, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) var r3a5 = a5 <= b5; >r3a5 : Symbol(r3a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 72, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) var r3a6 = a6 <= b6; >r3a6 : Symbol(r3a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 73, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) var r3a7 = a7 <= b7; >r3a7 : Symbol(r3a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 74, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) var r3b1 = b1 <= a1; >r3b1 : Symbol(r3b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 76, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) var r3b2 = b2 <= a2; >r3b2 : Symbol(r3b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 77, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) var r3b3 = b3 <= a3; >r3b3 : Symbol(r3b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 78, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) var r3b4 = b4 <= a4; >r3b4 : Symbol(r3b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 79, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) var r3b5 = b5 <= a5; >r3b5 : Symbol(r3b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 80, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) var r3b6 = b6 <= a6; >r3b6 : Symbol(r3b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 81, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) var r3b7 = b7 <= a7; >r3b7 : Symbol(r3b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 82, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) // operator >= var r4a1 = a1 >= b1; >r4a1 : Symbol(r4a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 85, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) var r4a2 = a2 >= b2; >r4a2 : Symbol(r4a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 86, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) var r4a3 = a3 >= b3; >r4a3 : Symbol(r4a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 87, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) var r4a4 = a4 >= b4; >r4a4 : Symbol(r4a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 88, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) var r4a5 = a5 >= b5; >r4a5 : Symbol(r4a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 89, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) var r4a6 = a6 >= b6; >r4a6 : Symbol(r4a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 90, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) var r4a7 = a7 >= b7; >r4a7 : Symbol(r4a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 91, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) var r4b1 = b1 >= a1; >r4b1 : Symbol(r4b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 93, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) var r4b2 = b2 >= a2; >r4b2 : Symbol(r4b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 94, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) var r4b3 = b3 >= a3; >r4b3 : Symbol(r4b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 95, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) var r4b4 = b4 >= a4; >r4b4 : Symbol(r4b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 96, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) var r4b5 = b5 >= a5; >r4b5 : Symbol(r4b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 97, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) var r4b6 = b6 >= a6; >r4b6 : Symbol(r4b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 98, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) var r4b7 = b7 >= a7; >r4b7 : Symbol(r4b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 99, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) // operator == var r5a1 = a1 == b1; >r5a1 : Symbol(r5a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 102, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) var r5a2 = a2 == b2; >r5a2 : Symbol(r5a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 103, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) var r5a3 = a3 == b3; >r5a3 : Symbol(r5a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 104, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) var r5a4 = a4 == b4; >r5a4 : Symbol(r5a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 105, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) var r5a5 = a5 == b5; >r5a5 : Symbol(r5a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 106, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) var r5a6 = a6 == b6; >r5a6 : Symbol(r5a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 107, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) var r5a7 = a7 == b7; >r5a7 : Symbol(r5a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 108, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) var r5b1 = b1 == a1; >r5b1 : Symbol(r5b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 110, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) var r5b2 = b2 == a2; >r5b2 : Symbol(r5b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 111, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) var r5b3 = b3 == a3; >r5b3 : Symbol(r5b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 112, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) var r5b4 = b4 == a4; >r5b4 : Symbol(r5b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 113, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) var r5b5 = b5 == a5; >r5b5 : Symbol(r5b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 114, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) var r5b6 = b6 == a6; >r5b6 : Symbol(r5b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 115, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) var r5b7 = b7 == a7; >r5b7 : Symbol(r5b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 116, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) // operator != var r6a1 = a1 != b1; >r6a1 : Symbol(r6a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 119, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) var r6a2 = a2 != b2; >r6a2 : Symbol(r6a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 120, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) var r6a3 = a3 != b3; >r6a3 : Symbol(r6a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 121, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) var r6a4 = a4 != b4; >r6a4 : Symbol(r6a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 122, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) var r6a5 = a5 != b5; >r6a5 : Symbol(r6a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 123, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) var r6a6 = a6 != b6; >r6a6 : Symbol(r6a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 124, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) var r6a7 = a7 != b7; >r6a7 : Symbol(r6a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 125, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) var r6b1 = b1 != a1; >r6b1 : Symbol(r6b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 127, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) var r6b2 = b2 != a2; >r6b2 : Symbol(r6b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 128, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) var r6b3 = b3 != a3; >r6b3 : Symbol(r6b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 129, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) var r6b4 = b4 != a4; >r6b4 : Symbol(r6b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 130, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) var r6b5 = b5 != a5; >r6b5 : Symbol(r6b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 131, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) var r6b6 = b6 != a6; >r6b6 : Symbol(r6b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 132, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) var r6b7 = b7 != a7; >r6b7 : Symbol(r6b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 133, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) // operator === var r7a1 = a1 === b1; >r7a1 : Symbol(r7a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 136, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) var r7a2 = a2 === b2; >r7a2 : Symbol(r7a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 137, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) var r7a3 = a3 === b3; >r7a3 : Symbol(r7a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 138, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) var r7a4 = a4 === b4; >r7a4 : Symbol(r7a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 139, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) var r7a5 = a5 === b5; >r7a5 : Symbol(r7a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 140, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) var r7a6 = a6 === b6; >r7a6 : Symbol(r7a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 141, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) var r7a7 = a7 === b7; >r7a7 : Symbol(r7a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 142, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) var r7b1 = b1 === a1; >r7b1 : Symbol(r7b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 144, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) var r7b2 = b2 === a2; >r7b2 : Symbol(r7b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 145, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) var r7b3 = b3 === a3; >r7b3 : Symbol(r7b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 146, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) var r7b4 = b4 === a4; >r7b4 : Symbol(r7b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 147, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) var r7b5 = b5 === a5; >r7b5 : Symbol(r7b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 148, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) var r7b6 = b6 === a6; >r7b6 : Symbol(r7b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 149, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) var r7b7 = b7 === a7; >r7b7 : Symbol(r7b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 150, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) // operator !== var r8a1 = a1 !== b1; >r8a1 : Symbol(r8a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 153, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) var r8a2 = a2 !== b2; >r8a2 : Symbol(r8a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 154, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) var r8a3 = a3 !== b3; >r8a3 : Symbol(r8a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 155, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) var r8a4 = a4 !== b4; >r8a4 : Symbol(r8a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 156, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) var r8a5 = a5 !== b5; >r8a5 : Symbol(r8a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 157, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) var r8a6 = a6 !== b6; >r8a6 : Symbol(r8a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 158, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) var r8a7 = a7 !== b7; >r8a7 : Symbol(r8a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 159, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) var r8b1 = b1 !== a1; >r8b1 : Symbol(r8b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 161, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 12, 11)) var r8b2 = b2 !== a2; >r8b2 : Symbol(r8b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 162, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 15, 11)) var r8b3 = b3 !== a3; >r8b3 : Symbol(r8b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 163, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 18, 11)) var r8b4 = b4 !== a4; >r8b4 : Symbol(r8b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 164, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 21, 11)) var r8b5 = b5 !== a5; >r8b5 : Symbol(r8b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 165, 3)) ->b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 3)) ->a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 3)) +>b5 : Symbol(b5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 25, 11)) +>a5 : Symbol(a5, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 24, 11)) var r8b6 = b6 !== a6; >r8b6 : Symbol(r8b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 166, 3)) ->b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 3)) ->a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 3)) +>b6 : Symbol(b6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 28, 11)) +>a6 : Symbol(a6, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 27, 11)) var r8b7 = b7 !== a7; >r8b7 : Symbol(r8b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 167, 3)) ->b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 3)) ->a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 3)) +>b7 : Symbol(b7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 31, 11)) +>a7 : Symbol(a7, Decl(comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts, 30, 11)) diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.types index b35a0ae8a9cd2..23d4b6486291a 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.types @@ -30,17 +30,17 @@ class C { > : ^^^^^^ } -var a1: { fn(): Base }; +declare var a1: { fn(): Base }; >a1 : { fn(): Base; } > : ^^^^^^^^ ^^^ >fn : () => Base > : ^^^^^^ -var b1: { new (): Base }; +declare var b1: { new (): Base }; >b1 : new () => Base > : ^^^^^^^^^^ -var a2: { new (a: number, b: string): Base }; +declare var a2: { new (a: number, b: string): Base }; >a2 : new (a: number, b: string) => Base > : ^^^^^ ^^ ^^ ^^ ^^^^^ >a : number @@ -48,13 +48,13 @@ var a2: { new (a: number, b: string): Base }; >b : string > : ^^^^^^ -var b2: { new (a: string): Base }; +declare var b2: { new (a: string): Base }; >b2 : new (a: string) => Base > : ^^^^^ ^^ ^^^^^ >a : string > : ^^^^^^ -var a3: { new (a: Base, b: string): Base }; +declare var a3: { new (a: Base, b: string): Base }; >a3 : new (a: Base, b: string) => Base > : ^^^^^ ^^ ^^ ^^ ^^^^^ >a : Base @@ -62,7 +62,7 @@ var a3: { new (a: Base, b: string): Base }; >b : string > : ^^^^^^ -var b3: { new (a: Derived, b: Base): Base }; +declare var b3: { new (a: Derived, b: Base): Base }; >b3 : new (a: Derived, b: Base) => Base > : ^^^^^ ^^ ^^ ^^ ^^^^^ >a : Derived @@ -70,45 +70,45 @@ var b3: { new (a: Derived, b: Base): Base }; >b : Base > : ^^^^ -var a4: { new (): Base }; +declare var a4: { new (): Base }; >a4 : new () => Base > : ^^^^^^^^^^ -var b4: { new (): C }; +declare var b4: { new (): C }; >b4 : new () => C > : ^^^^^^^^^^ -var a5: { new (a?: Base): Base }; +declare var a5: { new (a?: Base): Base }; >a5 : new (a?: Base) => Base > : ^^^^^ ^^^ ^^^^^ >a : Base > : ^^^^ -var b5: { new (a?: C): Base }; +declare var b5: { new (a?: C): Base }; >b5 : new (a?: C) => Base > : ^^^^^ ^^^ ^^^^^ >a : C > : ^ -var a6: { new (...a: Base[]): Base }; +declare var a6: { new (...a: Base[]): Base }; >a6 : new (...a: Base[]) => Base > : ^^^^^^^^ ^^ ^^^^^ >a : Base[] > : ^^^^^^ -var b6: { new (...a: C[]): Base }; +declare var b6: { new (...a: C[]): Base }; >b6 : new (...a: C[]) => Base > : ^^^^^^^^ ^^ ^^^^^ >a : C[] > : ^^^ -var a7: { new (t: T): T }; +declare var a7: { new (t: T): T }; >a7 : new (t: T) => T > : ^^^^^ ^^ ^^ ^^^^^ >t : T > : ^ -var b7: { new (t: T[]): T }; +declare var b7: { new (t: T[]): T }; >b7 : new (t: T[]) => T > : ^^^^^ ^^ ^^ ^^^^^ >t : T[] diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.errors.txt b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.errors.txt index 7f8cea13aca43..a55feb832c171 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.errors.txt +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.errors.txt @@ -61,17 +61,17 @@ comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts(110,12): error TS public c: string; } - var a1: { [a: string]: string }; - var b1: { [b: string]: number }; + declare var a1: { [a: string]: string }; + declare var b1: { [b: string]: number }; - var a2: { [index: string]: Base }; - var b2: { [index: string]: C }; + declare var a2: { [index: string]: Base }; + declare var b2: { [index: string]: C }; - var a3: { [index: number]: Base }; - var b3: { [index: number]: C }; + declare var a3: { [index: number]: Base }; + declare var b3: { [index: number]: C }; - var a4: { [index: number]: Derived }; - var b4: { [index: string]: Base }; + declare var a4: { [index: number]: Derived }; + declare var b4: { [index: string]: Base }; // operator < var r1a1 = a1 < b1; diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.js b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.js index b4f3679bc2230..6ca70c1dd443b 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.js +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.js @@ -13,17 +13,17 @@ class C { public c: string; } -var a1: { [a: string]: string }; -var b1: { [b: string]: number }; +declare var a1: { [a: string]: string }; +declare var b1: { [b: string]: number }; -var a2: { [index: string]: Base }; -var b2: { [index: string]: C }; +declare var a2: { [index: string]: Base }; +declare var b2: { [index: string]: C }; -var a3: { [index: number]: Base }; -var b3: { [index: number]: C }; +declare var a3: { [index: number]: Base }; +declare var b3: { [index: number]: C }; -var a4: { [index: number]: Derived }; -var b4: { [index: string]: Base }; +declare var a4: { [index: number]: Derived }; +declare var b4: { [index: string]: Base }; // operator < var r1a1 = a1 < b1; @@ -146,14 +146,6 @@ var C = /** @class */ (function () { } return C; }()); -var a1; -var b1; -var a2; -var b2; -var a3; -var b3; -var a4; -var b4; // operator < var r1a1 = a1 < b1; var r1a2 = a2 < b2; diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.symbols b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.symbols index e05bd3eb74015..faa71eeb8ef29 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.symbols +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.symbols @@ -23,369 +23,369 @@ class C { >c : Symbol(C.c, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 8, 9)) } -var a1: { [a: string]: string }; ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) +declare var a1: { [a: string]: string }; +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 19)) -var b1: { [b: string]: number }; ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) +declare var b1: { [b: string]: number }; +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 19)) -var a2: { [index: string]: Base }; ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) ->index : Symbol(index, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) +declare var a2: { [index: string]: Base }; +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) +>index : Symbol(index, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 19)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 0, 0)) -var b2: { [index: string]: C }; ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) ->index : Symbol(index, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) +declare var b2: { [index: string]: C }; +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) +>index : Symbol(index, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 19)) >C : Symbol(C, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 6, 1)) -var a3: { [index: number]: Base }; ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) ->index : Symbol(index, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) +declare var a3: { [index: number]: Base }; +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) +>index : Symbol(index, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 19)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 0, 0)) -var b3: { [index: number]: C }; ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) ->index : Symbol(index, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) +declare var b3: { [index: number]: C }; +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) +>index : Symbol(index, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 19)) >C : Symbol(C, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 6, 1)) -var a4: { [index: number]: Derived }; ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) ->index : Symbol(index, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) +declare var a4: { [index: number]: Derived }; +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) +>index : Symbol(index, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 19)) >Derived : Symbol(Derived, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 2, 1)) -var b4: { [index: string]: Base }; ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) ->index : Symbol(index, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) +declare var b4: { [index: string]: Base }; +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) +>index : Symbol(index, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 19)) >Base : Symbol(Base, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 0, 0)) // operator < var r1a1 = a1 < b1; >r1a1 : Symbol(r1a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 25, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) var r1a2 = a2 < b2; >r1a2 : Symbol(r1a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 26, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) var r1a3 = a3 < b3; >r1a3 : Symbol(r1a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 27, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) var r1a4 = a4 < b4; >r1a4 : Symbol(r1a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 28, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) var r1b1 = b1 < a1; >r1b1 : Symbol(r1b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 30, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) var r1b2 = b2 < a2; >r1b2 : Symbol(r1b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 31, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) var r1b3 = b3 < a3; >r1b3 : Symbol(r1b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 32, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) var r1b4 = b4 < a4; >r1b4 : Symbol(r1b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 33, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) // operator > var r2a1 = a1 > b1; >r2a1 : Symbol(r2a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 36, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) var r2a2 = a2 > b2; >r2a2 : Symbol(r2a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 37, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) var r2a3 = a3 > b3; >r2a3 : Symbol(r2a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 38, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) var r2a4 = a4 > b4; >r2a4 : Symbol(r2a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 39, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) var r2b1 = b1 > a1; >r2b1 : Symbol(r2b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 41, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) var r2b2 = b2 > a2; >r2b2 : Symbol(r2b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 42, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) var r2b3 = b3 > a3; >r2b3 : Symbol(r2b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 43, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) var r2b4 = b4 > a4; >r2b4 : Symbol(r2b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 44, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) // operator <= var r3a1 = a1 <= b1; >r3a1 : Symbol(r3a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 47, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) var r3a2 = a2 <= b2; >r3a2 : Symbol(r3a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 48, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) var r3a3 = a3 <= b3; >r3a3 : Symbol(r3a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 49, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) var r3a4 = a4 <= b4; >r3a4 : Symbol(r3a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 50, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) var r3b1 = b1 <= a1; >r3b1 : Symbol(r3b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 52, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) var r3b2 = b2 <= a2; >r3b2 : Symbol(r3b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 53, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) var r3b3 = b3 <= a3; >r3b3 : Symbol(r3b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 54, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) var r3b4 = b4 <= a4; >r3b4 : Symbol(r3b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 55, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) // operator >= var r4a1 = a1 >= b1; >r4a1 : Symbol(r4a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 58, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) var r4a2 = a2 >= b2; >r4a2 : Symbol(r4a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 59, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) var r4a3 = a3 >= b3; >r4a3 : Symbol(r4a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 60, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) var r4a4 = a4 >= b4; >r4a4 : Symbol(r4a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 61, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) var r4b1 = b1 >= a1; >r4b1 : Symbol(r4b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 63, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) var r4b2 = b2 >= a2; >r4b2 : Symbol(r4b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 64, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) var r4b3 = b3 >= a3; >r4b3 : Symbol(r4b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 65, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) var r4b4 = b4 >= a4; >r4b4 : Symbol(r4b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 66, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) // operator == var r5a1 = a1 == b1; >r5a1 : Symbol(r5a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 69, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) var r5a2 = a2 == b2; >r5a2 : Symbol(r5a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 70, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) var r5a3 = a3 == b3; >r5a3 : Symbol(r5a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 71, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) var r5a4 = a4 == b4; >r5a4 : Symbol(r5a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 72, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) var r5b1 = b1 == a1; >r5b1 : Symbol(r5b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 74, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) var r5b2 = b2 == a2; >r5b2 : Symbol(r5b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 75, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) var r5b3 = b3 == a3; >r5b3 : Symbol(r5b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 76, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) var r5b4 = b4 == a4; >r5b4 : Symbol(r5b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 77, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) // operator != var r6a1 = a1 != b1; >r6a1 : Symbol(r6a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 80, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) var r6a2 = a2 != b2; >r6a2 : Symbol(r6a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 81, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) var r6a3 = a3 != b3; >r6a3 : Symbol(r6a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 82, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) var r6a4 = a4 != b4; >r6a4 : Symbol(r6a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 83, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) var r6b1 = b1 != a1; >r6b1 : Symbol(r6b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 85, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) var r6b2 = b2 != a2; >r6b2 : Symbol(r6b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 86, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) var r6b3 = b3 != a3; >r6b3 : Symbol(r6b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 87, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) var r6b4 = b4 != a4; >r6b4 : Symbol(r6b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 88, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) // operator === var r7a1 = a1 === b1; >r7a1 : Symbol(r7a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 91, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) var r7a2 = a2 === b2; >r7a2 : Symbol(r7a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 92, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) var r7a3 = a3 === b3; >r7a3 : Symbol(r7a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 93, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) var r7a4 = a4 === b4; >r7a4 : Symbol(r7a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 94, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) var r7b1 = b1 === a1; >r7b1 : Symbol(r7b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 96, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) var r7b2 = b2 === a2; >r7b2 : Symbol(r7b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 97, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) var r7b3 = b3 === a3; >r7b3 : Symbol(r7b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 98, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) var r7b4 = b4 === a4; >r7b4 : Symbol(r7b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 99, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) // operator !== var r8a1 = a1 !== b1; >r8a1 : Symbol(r8a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 102, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) var r8a2 = a2 !== b2; >r8a2 : Symbol(r8a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 103, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) var r8a3 = a3 !== b3; >r8a3 : Symbol(r8a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 104, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) var r8a4 = a4 !== b4; >r8a4 : Symbol(r8a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 105, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) var r8b1 = b1 !== a1; >r8b1 : Symbol(r8b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 107, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 13, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 12, 11)) var r8b2 = b2 !== a2; >r8b2 : Symbol(r8b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 108, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 16, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 15, 11)) var r8b3 = b3 !== a3; >r8b3 : Symbol(r8b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 109, 3)) ->b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 3)) ->a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 3)) +>b3 : Symbol(b3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 19, 11)) +>a3 : Symbol(a3, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 18, 11)) var r8b4 = b4 !== a4; >r8b4 : Symbol(r8b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 110, 3)) ->b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 3)) ->a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 3)) +>b4 : Symbol(b4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 22, 11)) +>a4 : Symbol(a4, Decl(comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts, 21, 11)) diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.types index be028cdce328a..e092c708aee6b 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.types @@ -30,49 +30,49 @@ class C { > : ^^^^^^ } -var a1: { [a: string]: string }; +declare var a1: { [a: string]: string }; >a1 : { [a: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >a : string > : ^^^^^^ -var b1: { [b: string]: number }; +declare var b1: { [b: string]: number }; >b1 : { [b: string]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >b : string > : ^^^^^^ -var a2: { [index: string]: Base }; +declare var a2: { [index: string]: Base }; >a2 : { [index: string]: Base; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >index : string > : ^^^^^^ -var b2: { [index: string]: C }; +declare var b2: { [index: string]: C }; >b2 : { [index: string]: C; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >index : string > : ^^^^^^ -var a3: { [index: number]: Base }; +declare var a3: { [index: number]: Base }; >a3 : { [index: number]: Base; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >index : number > : ^^^^^^ -var b3: { [index: number]: C }; +declare var b3: { [index: number]: C }; >b3 : { [index: number]: C; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >index : number > : ^^^^^^ -var a4: { [index: number]: Derived }; +declare var a4: { [index: number]: Derived }; >a4 : { [index: number]: Derived; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >index : number > : ^^^^^^ -var b4: { [index: string]: Base }; +declare var b4: { [index: string]: Base }; >b4 : { [index: string]: Base; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >index : string diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.errors.txt b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.errors.txt index 79717fe17c42c..00be665a576ec 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.errors.txt +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.errors.txt @@ -25,8 +25,8 @@ comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts(42,11): error T b?: string; } - var a: A1; - var b: B1; + declare var a: A1; + declare var b: B1; // operator < var ra1 = a < b; diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.js b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.js index 2145c296fb317..da3905dd60007 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.js +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.js @@ -9,8 +9,8 @@ interface B1 { b?: string; } -var a: A1; -var b: B1; +declare var a: A1; +declare var b: B1; // operator < var ra1 = a < b; @@ -45,8 +45,6 @@ var rh1 = a !== b; var rh2 = b !== a; //// [comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.js] -var a; -var b; // operator < var ra1 = a < b; var ra2 = b < a; diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.symbols b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.symbols index 5f23a3d6f76f1..dbfc0ad03ff00 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.symbols +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.symbols @@ -15,99 +15,99 @@ interface B1 { >b : Symbol(B1.b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 4, 14)) } -var a: A1; ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) +declare var a: A1; +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) >A1 : Symbol(A1, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 0, 0)) -var b: B1; ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) +declare var b: B1; +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) >B1 : Symbol(B1, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 2, 1)) // operator < var ra1 = a < b; >ra1 : Symbol(ra1, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 12, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) var ra2 = b < a; >ra2 : Symbol(ra2, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 13, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) // operator > var rb1 = a > b; >rb1 : Symbol(rb1, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 16, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) var rb2 = b > a; >rb2 : Symbol(rb2, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 17, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) // operator <= var rc1 = a <= b; >rc1 : Symbol(rc1, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 20, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) var rc2 = b <= a; >rc2 : Symbol(rc2, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 21, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) // operator >= var rd1 = a >= b; >rd1 : Symbol(rd1, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 24, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) var rd2 = b >= a; >rd2 : Symbol(rd2, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 25, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) // operator == var re1 = a == b; >re1 : Symbol(re1, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 28, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) var re2 = b == a; >re2 : Symbol(re2, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 29, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) // operator != var rf1 = a != b; >rf1 : Symbol(rf1, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 32, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) var rf2 = b != a; >rf2 : Symbol(rf2, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 33, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) // operator === var rg1 = a === b; >rg1 : Symbol(rg1, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 36, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) var rg2 = b === a; >rg2 : Symbol(rg2, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 37, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) // operator !== var rh1 = a !== b; >rh1 : Symbol(rh1, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 40, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) var rh2 = b !== a; >rh2 : Symbol(rh2, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 41, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 9, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts, 8, 11)) diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.types index 3627c761c1c7b..3949c55076f07 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.types @@ -13,11 +13,11 @@ interface B1 { > : ^^^^^^ } -var a: A1; +declare var a: A1; >a : A1 > : ^^ -var b: B1; +declare var b: B1; >b : B1 > : ^^ diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.errors.txt b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.errors.txt index 7e4cfa71ce8f1..82527c181aabf 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.errors.txt +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.errors.txt @@ -49,10 +49,10 @@ comparisonOperatorWithNoRelationshipObjectsOnProperty.ts(76,12): error TS2367: T private a: string; } - var a1: A1; - var b1: B1; - var a2: A2; - var b2: B2; + declare var a1: A1; + declare var b1: B1; + declare var a2: A2; + declare var b2: B2; // operator < var r1a1 = a1 < b1; diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.js b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.js index e8a50d849c4d6..663c06d6a6ec3 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.js +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.js @@ -17,10 +17,10 @@ class B2 { private a: string; } -var a1: A1; -var b1: B1; -var a2: A2; -var b2: B2; +declare var a1: A1; +declare var b1: B1; +declare var a2: A2; +declare var b2: B2; // operator < var r1a1 = a1 < b1; @@ -99,10 +99,6 @@ var B2 = /** @class */ (function () { } return B2; }()); -var a1; -var b1; -var a2; -var b2; // operator < var r1a1 = a1 < b1; var r1a2 = a2 < b2; diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.symbols b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.symbols index 0c4eb50be9d5f..b909757fa508c 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.symbols +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.symbols @@ -29,187 +29,187 @@ class B2 { >a : Symbol(B2.a, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 12, 10)) } -var a1: A1; ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) +declare var a1: A1; +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) >A1 : Symbol(A1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 0, 0)) -var b1: B1; ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) +declare var b1: B1; +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) >B1 : Symbol(B1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 2, 1)) -var a2: A2; ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) +declare var a2: A2; +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) >A2 : Symbol(A2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 6, 1)) -var b2: B2; ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) +declare var b2: B2; +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) >B2 : Symbol(B2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 10, 1)) // operator < var r1a1 = a1 < b1; >r1a1 : Symbol(r1a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 22, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) var r1a2 = a2 < b2; >r1a2 : Symbol(r1a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 23, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) var r1b1 = b1 < a1; >r1b1 : Symbol(r1b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 25, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) var r1b2 = b2 < a2; >r1b2 : Symbol(r1b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 26, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) // operator > var r2a1 = a1 > b1; >r2a1 : Symbol(r2a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 29, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) var r2a2 = a2 > b2; >r2a2 : Symbol(r2a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 30, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) var r2b1 = b1 > a1; >r2b1 : Symbol(r2b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 32, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) var r2b2 = b2 > a2; >r2b2 : Symbol(r2b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 33, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) // operator <= var r3a1 = a1 <= b1; >r3a1 : Symbol(r3a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 36, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) var r3a2 = a2 <= b2; >r3a2 : Symbol(r3a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 37, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) var r3b1 = b1 <= a1; >r3b1 : Symbol(r3b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 39, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) var r3b2 = b2 <= a2; >r3b2 : Symbol(r3b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 40, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) // operator >= var r4a1 = a1 >= b1; >r4a1 : Symbol(r4a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 43, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) var r4a2 = a2 >= b2; >r4a2 : Symbol(r4a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 44, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) var r4b1 = b1 >= a1; >r4b1 : Symbol(r4b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 46, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) var r4b2 = b2 >= a2; >r4b2 : Symbol(r4b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 47, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) // operator == var r5a1 = a1 == b1; >r5a1 : Symbol(r5a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 50, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) var r5a2 = a2 == b2; >r5a2 : Symbol(r5a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 51, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) var r5b1 = b1 == a1; >r5b1 : Symbol(r5b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 53, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) var r5b2 = b2 == a2; >r5b2 : Symbol(r5b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 54, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) // operator != var r6a1 = a1 != b1; >r6a1 : Symbol(r6a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 57, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) var r6a2 = a2 != b2; >r6a2 : Symbol(r6a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 58, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) var r6b1 = b1 != a1; >r6b1 : Symbol(r6b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 60, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) var r6b2 = b2 != a2; >r6b2 : Symbol(r6b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 61, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) // operator === var r7a1 = a1 === b1; >r7a1 : Symbol(r7a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 64, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) var r7a2 = a2 === b2; >r7a2 : Symbol(r7a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 65, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) var r7b1 = b1 === a1; >r7b1 : Symbol(r7b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 67, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) var r7b2 = b2 === a2; >r7b2 : Symbol(r7b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 68, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) // operator !== var r8a1 = a1 !== b1; >r8a1 : Symbol(r8a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 71, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) var r8a2 = a2 !== b2; >r8a2 : Symbol(r8a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 72, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) var r8b1 = b1 !== a1; >r8b1 : Symbol(r8b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 74, 3)) ->b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 3)) ->a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 3)) +>b1 : Symbol(b1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 17, 11)) +>a1 : Symbol(a1, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 16, 11)) var r8b2 = b2 !== a2; >r8b2 : Symbol(r8b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 75, 3)) ->b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 3)) ->a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 3)) +>b2 : Symbol(b2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 19, 11)) +>a2 : Symbol(a2, Decl(comparisonOperatorWithNoRelationshipObjectsOnProperty.ts, 18, 11)) diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.types index ae7f3019d61ac..8e69be17248df 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.types @@ -37,19 +37,19 @@ class B2 { > : ^^^^^^ } -var a1: A1; +declare var a1: A1; >a1 : A1 > : ^^ -var b1: B1; +declare var b1: B1; >b1 : B1 > : ^^ -var a2: A2; +declare var a2: A2; >a2 : A2 > : ^^ -var b2: B2; +declare var b2: B2; >b2 : B2 > : ^^ diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.errors.txt b/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.errors.txt index 3b237f17327ec..72a901c841157 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.errors.txt +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.errors.txt @@ -147,11 +147,11 @@ comparisonOperatorWithNoRelationshipPrimitiveType.ts(215,12): error TS2367: This ==== comparisonOperatorWithNoRelationshipPrimitiveType.ts (144 errors) ==== enum E { a, b, c } - var a: number; - var b: boolean; - var c: string; - var d: void; - var e: E; + declare var a: number; + declare var b: boolean; + declare var c: string; + declare var d: void; + declare var e: E; // operator < var r1a1 = a < b; diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.js b/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.js index 68cc3b9fa9ce0..75660f874eb49 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.js +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.js @@ -3,11 +3,11 @@ //// [comparisonOperatorWithNoRelationshipPrimitiveType.ts] enum E { a, b, c } -var a: number; -var b: boolean; -var c: string; -var d: void; -var e: E; +declare var a: number; +declare var b: boolean; +declare var c: string; +declare var d: void; +declare var e: E; // operator < var r1a1 = a < b; @@ -224,11 +224,6 @@ var E; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; })(E || (E = {})); -var a; -var b; -var c; -var d; -var e; // operator < var r1a1 = a < b; var r1a1 = a < c; diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.symbols b/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.symbols index 4734c00e42045..04d09886202c4 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.symbols +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.symbols @@ -7,827 +7,827 @@ enum E { a, b, c } >b : Symbol(E.b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 0, 11)) >c : Symbol(E.c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 0, 14)) -var a: number; ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +declare var a: number; +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) -var b: boolean; ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +declare var b: boolean; +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) -var c: string; ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +declare var c: string; +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) -var d: void; ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +declare var d: void; +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) -var e: E; ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +declare var e: E; +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) >E : Symbol(E, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 0, 0)) // operator < var r1a1 = a < b; >r1a1 : Symbol(r1a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 9, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 10, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 11, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 12, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r1a1 = a < c; >r1a1 : Symbol(r1a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 9, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 10, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 11, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 12, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r1a1 = a < d; >r1a1 : Symbol(r1a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 9, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 10, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 11, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 12, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r1a1 = a < e; // no error, expected >r1a1 : Symbol(r1a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 9, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 10, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 11, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 12, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r1b1 = b < a; >r1b1 : Symbol(r1b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 14, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 15, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 16, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 17, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r1b1 = b < c; >r1b1 : Symbol(r1b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 14, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 15, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 16, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 17, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r1b1 = b < d; >r1b1 : Symbol(r1b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 14, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 15, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 16, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 17, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r1b1 = b < e; >r1b1 : Symbol(r1b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 14, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 15, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 16, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 17, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r1c1 = c < a; >r1c1 : Symbol(r1c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 19, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 20, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 21, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 22, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r1c1 = c < b; >r1c1 : Symbol(r1c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 19, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 20, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 21, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 22, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r1c1 = c < d; >r1c1 : Symbol(r1c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 19, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 20, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 21, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 22, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r1c1 = c < e; >r1c1 : Symbol(r1c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 19, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 20, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 21, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 22, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r1d1 = d < a; >r1d1 : Symbol(r1d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 24, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 25, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 26, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 27, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r1d1 = d < b; >r1d1 : Symbol(r1d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 24, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 25, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 26, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 27, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r1d1 = d < c; >r1d1 : Symbol(r1d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 24, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 25, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 26, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 27, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r1d1 = d < e; >r1d1 : Symbol(r1d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 24, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 25, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 26, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 27, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r1e1 = e < a; // no error, expected >r1e1 : Symbol(r1e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 29, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 30, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 31, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 32, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r1e1 = e < b; >r1e1 : Symbol(r1e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 29, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 30, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 31, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 32, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r1e1 = e < c; >r1e1 : Symbol(r1e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 29, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 30, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 31, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 32, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r1e1 = e < d; >r1e1 : Symbol(r1e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 29, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 30, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 31, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 32, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) // operator > var r2a1 = a > b; >r2a1 : Symbol(r2a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 35, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 36, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 37, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 38, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r2a1 = a > c; >r2a1 : Symbol(r2a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 35, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 36, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 37, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 38, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r2a1 = a > d; >r2a1 : Symbol(r2a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 35, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 36, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 37, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 38, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r2a1 = a > e; // no error, expected >r2a1 : Symbol(r2a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 35, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 36, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 37, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 38, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r2b1 = b > a; >r2b1 : Symbol(r2b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 40, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 41, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 42, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 43, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r2b1 = b > c; >r2b1 : Symbol(r2b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 40, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 41, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 42, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 43, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r2b1 = b > d; >r2b1 : Symbol(r2b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 40, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 41, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 42, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 43, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r2b1 = b > e; >r2b1 : Symbol(r2b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 40, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 41, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 42, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 43, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r2c1 = c > a; >r2c1 : Symbol(r2c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 45, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 46, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 47, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 48, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r2c1 = c > b; >r2c1 : Symbol(r2c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 45, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 46, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 47, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 48, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r2c1 = c > d; >r2c1 : Symbol(r2c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 45, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 46, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 47, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 48, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r2c1 = c > e; >r2c1 : Symbol(r2c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 45, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 46, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 47, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 48, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r2d1 = d > a; >r2d1 : Symbol(r2d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 50, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 51, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 52, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 53, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r2d1 = d > b; >r2d1 : Symbol(r2d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 50, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 51, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 52, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 53, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r2d1 = d > c; >r2d1 : Symbol(r2d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 50, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 51, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 52, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 53, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r2d1 = d > e; >r2d1 : Symbol(r2d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 50, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 51, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 52, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 53, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r2e1 = e > a; // no error, expected >r2e1 : Symbol(r2e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 55, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 56, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 57, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 58, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r2e1 = e > b; >r2e1 : Symbol(r2e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 55, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 56, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 57, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 58, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r2e1 = e > c; >r2e1 : Symbol(r2e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 55, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 56, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 57, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 58, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r2e1 = e > d; >r2e1 : Symbol(r2e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 55, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 56, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 57, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 58, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) // operator <= var r3a1 = a <= b; >r3a1 : Symbol(r3a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 61, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 62, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 63, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 64, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r3a1 = a <= c; >r3a1 : Symbol(r3a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 61, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 62, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 63, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 64, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r3a1 = a <= d; >r3a1 : Symbol(r3a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 61, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 62, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 63, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 64, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r3a1 = a <= e; // no error, expected >r3a1 : Symbol(r3a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 61, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 62, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 63, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 64, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r3b1 = b <= a; >r3b1 : Symbol(r3b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 66, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 67, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 68, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 69, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r3b1 = b <= c; >r3b1 : Symbol(r3b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 66, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 67, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 68, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 69, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r3b1 = b <= d; >r3b1 : Symbol(r3b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 66, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 67, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 68, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 69, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r3b1 = b <= e; >r3b1 : Symbol(r3b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 66, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 67, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 68, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 69, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r3c1 = c <= a; >r3c1 : Symbol(r3c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 71, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 72, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 73, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 74, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r3c1 = c <= b; >r3c1 : Symbol(r3c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 71, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 72, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 73, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 74, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r3c1 = c <= d; >r3c1 : Symbol(r3c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 71, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 72, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 73, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 74, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r3c1 = c <= e; >r3c1 : Symbol(r3c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 71, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 72, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 73, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 74, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r3d1 = d <= a; >r3d1 : Symbol(r3d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 76, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 77, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 78, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 79, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r3d1 = d <= b; >r3d1 : Symbol(r3d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 76, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 77, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 78, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 79, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r3d1 = d <= c; >r3d1 : Symbol(r3d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 76, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 77, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 78, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 79, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r3d1 = d <= e; >r3d1 : Symbol(r3d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 76, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 77, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 78, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 79, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r3e1 = e <= a; // no error, expected >r3e1 : Symbol(r3e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 81, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 82, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 83, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 84, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r3e1 = e <= b; >r3e1 : Symbol(r3e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 81, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 82, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 83, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 84, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r3e1 = e <= c; >r3e1 : Symbol(r3e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 81, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 82, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 83, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 84, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r3e1 = e <= d; >r3e1 : Symbol(r3e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 81, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 82, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 83, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 84, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) // operator >= var r4a1 = a >= b; >r4a1 : Symbol(r4a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 87, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 88, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 89, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 90, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r4a1 = a >= c; >r4a1 : Symbol(r4a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 87, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 88, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 89, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 90, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r4a1 = a >= d; >r4a1 : Symbol(r4a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 87, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 88, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 89, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 90, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r4a1 = a >= e; // no error, expected >r4a1 : Symbol(r4a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 87, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 88, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 89, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 90, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r4b1 = b >= a; >r4b1 : Symbol(r4b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 92, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 93, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 94, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 95, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r4b1 = b >= c; >r4b1 : Symbol(r4b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 92, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 93, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 94, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 95, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r4b1 = b >= d; >r4b1 : Symbol(r4b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 92, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 93, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 94, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 95, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r4b1 = b >= e; >r4b1 : Symbol(r4b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 92, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 93, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 94, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 95, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r4c1 = c >= a; >r4c1 : Symbol(r4c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 97, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 98, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 99, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 100, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r4c1 = c >= b; >r4c1 : Symbol(r4c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 97, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 98, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 99, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 100, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r4c1 = c >= d; >r4c1 : Symbol(r4c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 97, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 98, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 99, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 100, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r4c1 = c >= e; >r4c1 : Symbol(r4c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 97, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 98, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 99, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 100, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r4d1 = d >= a; >r4d1 : Symbol(r4d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 102, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 103, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 104, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 105, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r4d1 = d >= b; >r4d1 : Symbol(r4d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 102, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 103, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 104, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 105, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r4d1 = d >= c; >r4d1 : Symbol(r4d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 102, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 103, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 104, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 105, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r4d1 = d >= e; >r4d1 : Symbol(r4d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 102, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 103, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 104, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 105, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r4e1 = e >= a; // no error, expected >r4e1 : Symbol(r4e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 107, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 108, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 109, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 110, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r4e1 = e >= b; >r4e1 : Symbol(r4e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 107, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 108, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 109, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 110, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r4e1 = e >= c; >r4e1 : Symbol(r4e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 107, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 108, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 109, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 110, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r4e1 = e >= d; >r4e1 : Symbol(r4e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 107, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 108, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 109, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 110, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) // operator == var r5a1 = a == b; >r5a1 : Symbol(r5a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 113, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 114, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 115, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 116, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r5a1 = a == c; >r5a1 : Symbol(r5a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 113, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 114, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 115, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 116, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r5a1 = a == d; >r5a1 : Symbol(r5a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 113, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 114, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 115, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 116, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r5a1 = a == e; // no error, expected >r5a1 : Symbol(r5a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 113, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 114, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 115, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 116, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r5b1 = b == a; >r5b1 : Symbol(r5b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 118, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 119, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 120, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 121, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r5b1 = b == c; >r5b1 : Symbol(r5b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 118, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 119, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 120, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 121, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r5b1 = b == d; >r5b1 : Symbol(r5b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 118, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 119, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 120, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 121, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r5b1 = b == e; >r5b1 : Symbol(r5b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 118, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 119, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 120, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 121, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r5c1 = c == a; >r5c1 : Symbol(r5c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 123, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 124, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 125, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 126, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r5c1 = c == b; >r5c1 : Symbol(r5c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 123, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 124, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 125, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 126, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r5c1 = c == d; >r5c1 : Symbol(r5c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 123, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 124, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 125, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 126, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r5c1 = c == e; >r5c1 : Symbol(r5c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 123, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 124, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 125, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 126, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r5d1 = d == a; >r5d1 : Symbol(r5d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 128, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 129, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 130, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 131, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r5d1 = d == b; >r5d1 : Symbol(r5d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 128, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 129, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 130, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 131, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r5d1 = d == c; >r5d1 : Symbol(r5d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 128, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 129, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 130, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 131, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r5d1 = d == e; >r5d1 : Symbol(r5d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 128, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 129, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 130, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 131, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r5e1 = e == a; // no error, expected >r5e1 : Symbol(r5e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 133, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 134, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 135, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 136, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r5e1 = e == b; >r5e1 : Symbol(r5e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 133, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 134, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 135, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 136, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r5e1 = e == c; >r5e1 : Symbol(r5e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 133, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 134, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 135, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 136, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r5e1 = e == d; >r5e1 : Symbol(r5e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 133, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 134, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 135, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 136, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) // operator != var r6a1 = a != b; >r6a1 : Symbol(r6a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 139, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 140, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 141, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 142, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r6a1 = a != c; >r6a1 : Symbol(r6a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 139, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 140, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 141, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 142, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r6a1 = a != d; >r6a1 : Symbol(r6a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 139, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 140, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 141, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 142, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r6a1 = a != e; // no error, expected >r6a1 : Symbol(r6a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 139, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 140, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 141, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 142, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r6b1 = b != a; >r6b1 : Symbol(r6b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 144, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 145, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 146, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 147, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r6b1 = b != c; >r6b1 : Symbol(r6b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 144, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 145, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 146, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 147, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r6b1 = b != d; >r6b1 : Symbol(r6b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 144, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 145, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 146, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 147, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r6b1 = b != e; >r6b1 : Symbol(r6b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 144, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 145, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 146, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 147, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r6c1 = c != a; >r6c1 : Symbol(r6c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 149, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 150, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 151, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 152, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r6c1 = c != b; >r6c1 : Symbol(r6c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 149, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 150, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 151, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 152, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r6c1 = c != d; >r6c1 : Symbol(r6c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 149, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 150, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 151, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 152, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r6c1 = c != e; >r6c1 : Symbol(r6c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 149, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 150, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 151, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 152, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r6d1 = d != a; >r6d1 : Symbol(r6d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 154, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 155, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 156, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 157, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r6d1 = d != b; >r6d1 : Symbol(r6d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 154, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 155, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 156, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 157, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r6d1 = d != c; >r6d1 : Symbol(r6d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 154, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 155, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 156, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 157, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r6d1 = d != e; >r6d1 : Symbol(r6d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 154, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 155, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 156, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 157, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r6e1 = e != a; // no error, expected >r6e1 : Symbol(r6e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 159, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 160, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 161, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 162, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r6e1 = e != b; >r6e1 : Symbol(r6e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 159, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 160, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 161, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 162, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r6e1 = e != c; >r6e1 : Symbol(r6e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 159, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 160, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 161, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 162, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r6e1 = e != d; >r6e1 : Symbol(r6e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 159, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 160, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 161, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 162, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) // operator === var r7a1 = a === b; >r7a1 : Symbol(r7a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 165, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 166, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 167, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 168, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r7a1 = a === c; >r7a1 : Symbol(r7a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 165, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 166, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 167, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 168, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r7a1 = a === d; >r7a1 : Symbol(r7a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 165, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 166, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 167, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 168, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r7a1 = a === e; // no error, expected >r7a1 : Symbol(r7a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 165, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 166, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 167, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 168, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r7b1 = b === a; >r7b1 : Symbol(r7b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 170, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 171, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 172, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 173, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r7b1 = b === c; >r7b1 : Symbol(r7b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 170, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 171, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 172, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 173, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r7b1 = b === d; >r7b1 : Symbol(r7b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 170, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 171, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 172, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 173, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r7b1 = b === e; >r7b1 : Symbol(r7b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 170, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 171, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 172, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 173, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r7c1 = c === a; >r7c1 : Symbol(r7c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 175, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 176, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 177, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 178, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r7c1 = c === b; >r7c1 : Symbol(r7c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 175, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 176, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 177, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 178, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r7c1 = c === d; >r7c1 : Symbol(r7c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 175, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 176, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 177, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 178, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r7c1 = c === e; >r7c1 : Symbol(r7c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 175, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 176, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 177, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 178, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r7d1 = d === a; >r7d1 : Symbol(r7d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 180, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 181, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 182, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 183, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r7d1 = d === b; >r7d1 : Symbol(r7d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 180, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 181, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 182, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 183, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r7d1 = d === c; >r7d1 : Symbol(r7d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 180, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 181, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 182, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 183, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r7d1 = d === e; >r7d1 : Symbol(r7d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 180, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 181, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 182, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 183, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r7e1 = e === a; // no error, expected >r7e1 : Symbol(r7e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 185, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 186, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 187, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 188, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r7e1 = e === b; >r7e1 : Symbol(r7e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 185, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 186, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 187, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 188, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r7e1 = e === c; >r7e1 : Symbol(r7e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 185, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 186, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 187, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 188, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r7e1 = e === d; >r7e1 : Symbol(r7e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 185, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 186, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 187, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 188, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) // operator !== var r8a1 = a !== b; >r8a1 : Symbol(r8a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 191, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 192, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 193, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 194, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r8a1 = a !== c; >r8a1 : Symbol(r8a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 191, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 192, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 193, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 194, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r8a1 = a !== d; >r8a1 : Symbol(r8a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 191, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 192, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 193, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 194, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r8a1 = a !== e; // no error, expected >r8a1 : Symbol(r8a1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 191, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 192, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 193, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 194, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r8b1 = b !== a; >r8b1 : Symbol(r8b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 196, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 197, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 198, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 199, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r8b1 = b !== c; >r8b1 : Symbol(r8b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 196, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 197, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 198, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 199, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r8b1 = b !== d; >r8b1 : Symbol(r8b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 196, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 197, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 198, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 199, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r8b1 = b !== e; >r8b1 : Symbol(r8b1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 196, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 197, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 198, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 199, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r8c1 = c !== a; >r8c1 : Symbol(r8c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 201, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 202, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 203, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 204, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r8c1 = c !== b; >r8c1 : Symbol(r8c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 201, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 202, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 203, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 204, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r8c1 = c !== d; >r8c1 : Symbol(r8c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 201, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 202, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 203, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 204, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) var r8c1 = c !== e; >r8c1 : Symbol(r8c1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 201, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 202, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 203, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 204, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r8d1 = d !== a; >r8d1 : Symbol(r8d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 206, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 207, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 208, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 209, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r8d1 = d !== b; >r8d1 : Symbol(r8d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 206, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 207, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 208, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 209, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r8d1 = d !== c; >r8d1 : Symbol(r8d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 206, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 207, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 208, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 209, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r8d1 = d !== e; >r8d1 : Symbol(r8d1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 206, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 207, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 208, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 209, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) var r8e1 = e !== a; // no error, expected >r8e1 : Symbol(r8e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 211, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 212, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 213, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 214, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>a : Symbol(a, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 2, 11)) var r8e1 = e !== b; >r8e1 : Symbol(r8e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 211, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 212, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 213, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 214, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>b : Symbol(b, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 3, 11)) var r8e1 = e !== c; >r8e1 : Symbol(r8e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 211, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 212, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 213, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 214, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>c : Symbol(c, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 4, 11)) var r8e1 = e !== d; >r8e1 : Symbol(r8e1, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 211, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 212, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 213, 3), Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 214, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 6, 11)) +>d : Symbol(d, Decl(comparisonOperatorWithNoRelationshipPrimitiveType.ts, 5, 11)) diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.types index f6221230ef2b7..6bc8f9c8f34aa 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.types @@ -11,23 +11,23 @@ enum E { a, b, c } >c : E.c > : ^^^ -var a: number; +declare var a: number; >a : number > : ^^^^^^ -var b: boolean; +declare var b: boolean; >b : boolean > : ^^^^^^^ -var c: string; +declare var c: string; >c : string > : ^^^^^^ -var d: void; +declare var d: void; >d : void > : ^^^^ -var e: E; +declare var e: E; >e : E > : ^ diff --git a/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.errors.txt b/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.errors.txt index 41744a63d80c4..722c8cb357405 100644 --- a/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.errors.txt +++ b/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.errors.txt @@ -103,13 +103,13 @@ comparisonOperatorWithOneOperandIsNull.ts(97,17): error TS18050: The value 'null var foo_r8 = null !== t; } - var a: boolean; - var b: number; - var c: string; - var d: void; - var e: E; - var f: {}; - var g: string[]; + declare var a: boolean; + declare var b: number; + declare var c: string; + declare var d: void; + declare var e: E; + declare var f: {}; + declare var g: string[]; // operator < var r1a1 = null < a; diff --git a/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.js b/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.js index 090a93d43fea3..7ca172c4cd1eb 100644 --- a/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.js +++ b/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.js @@ -23,13 +23,13 @@ function foo(t: T) { var foo_r8 = null !== t; } -var a: boolean; -var b: number; -var c: string; -var d: void; -var e: E; -var f: {}; -var g: string[]; +declare var a: boolean; +declare var b: number; +declare var c: string; +declare var d: void; +declare var e: E; +declare var f: {}; +declare var g: string[]; // operator < var r1a1 = null < a; @@ -192,13 +192,6 @@ function foo(t) { var foo_r7 = null === t; var foo_r8 = null !== t; } -var a; -var b; -var c; -var d; -var e; -var f; -var g; // operator < var r1a1 = null < a; var r1a2 = null < b; diff --git a/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.symbols b/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.symbols index 26a00173a28e3..da7901474d2dc 100644 --- a/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.symbols +++ b/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.symbols @@ -78,481 +78,481 @@ function foo(t: T) { >t : Symbol(t, Decl(comparisonOperatorWithOneOperandIsNull.ts, 2, 16)) } -var a: boolean; ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +declare var a: boolean; +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) -var b: number; ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +declare var b: number; +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) -var c: string; ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +declare var c: string; +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) -var d: void; ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +declare var d: void; +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) -var e: E; ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +declare var e: E; +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) >E : Symbol(E, Decl(comparisonOperatorWithOneOperandIsNull.ts, 0, 0)) -var f: {}; ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +declare var f: {}; +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) -var g: string[]; ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +declare var g: string[]; +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) // operator < var r1a1 = null < a; >r1a1 : Symbol(r1a1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 31, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r1a2 = null < b; >r1a2 : Symbol(r1a2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 32, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r1a3 = null < c; >r1a3 : Symbol(r1a3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 33, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r1a4 = null < d; >r1a4 : Symbol(r1a4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 34, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r1a5 = null < e; >r1a5 : Symbol(r1a5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 35, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r1a6 = null < f; >r1a6 : Symbol(r1a6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 36, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r1a7 = null < g; >r1a7 : Symbol(r1a7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 37, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) var r1b1 = a < null; >r1b1 : Symbol(r1b1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 39, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r1b2 = b < null; >r1b2 : Symbol(r1b2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 40, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r1b3 = c < null; >r1b3 : Symbol(r1b3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 41, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r1b4 = d < null; >r1b4 : Symbol(r1b4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 42, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r1b5 = e < null; >r1b5 : Symbol(r1b5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 43, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r1b6 = f < null; >r1b6 : Symbol(r1b6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 44, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r1b7 = g < null; >r1b7 : Symbol(r1b7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 45, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) // operator > var r2a1 = null > a; >r2a1 : Symbol(r2a1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 48, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r2a2 = null > b; >r2a2 : Symbol(r2a2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 49, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r2a3 = null > c; >r2a3 : Symbol(r2a3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 50, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r2a4 = null > d; >r2a4 : Symbol(r2a4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 51, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r2a5 = null > e; >r2a5 : Symbol(r2a5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 52, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r2a6 = null > f; >r2a6 : Symbol(r2a6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 53, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r2a7 = null > g; >r2a7 : Symbol(r2a7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 54, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) var r2b1 = a > null; >r2b1 : Symbol(r2b1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 56, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r2b2 = b > null; >r2b2 : Symbol(r2b2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 57, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r2b3 = c > null; >r2b3 : Symbol(r2b3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 58, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r2b4 = d > null; >r2b4 : Symbol(r2b4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 59, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r2b5 = e > null; >r2b5 : Symbol(r2b5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 60, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r2b6 = f > null; >r2b6 : Symbol(r2b6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 61, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r2b7 = g > null; >r2b7 : Symbol(r2b7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 62, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) // operator <= var r3a1 = null <= a; >r3a1 : Symbol(r3a1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 65, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r3a2 = null <= b; >r3a2 : Symbol(r3a2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 66, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r3a3 = null <= c; >r3a3 : Symbol(r3a3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 67, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r3a4 = null <= d; >r3a4 : Symbol(r3a4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 68, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r3a5 = null <= e; >r3a5 : Symbol(r3a5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 69, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r3a6 = null <= f; >r3a6 : Symbol(r3a6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 70, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r3a7 = null <= g; >r3a7 : Symbol(r3a7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 71, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) var r3b1 = a <= null; >r3b1 : Symbol(r3b1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 73, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r3b2 = b <= null; >r3b2 : Symbol(r3b2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 74, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r3b3 = c <= null; >r3b3 : Symbol(r3b3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 75, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r3b4 = d <= null; >r3b4 : Symbol(r3b4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 76, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r3b5 = e <= null; >r3b5 : Symbol(r3b5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 77, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r3b6 = f <= null; >r3b6 : Symbol(r3b6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 78, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r3b7 = g <= null; >r3b7 : Symbol(r3b7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 79, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) // operator >= var r4a1 = null >= a; >r4a1 : Symbol(r4a1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 82, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r4a2 = null >= b; >r4a2 : Symbol(r4a2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 83, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r4a3 = null >= c; >r4a3 : Symbol(r4a3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 84, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r4a4 = null >= d; >r4a4 : Symbol(r4a4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 85, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r4a5 = null >= e; >r4a5 : Symbol(r4a5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 86, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r4a6 = null >= f; >r4a6 : Symbol(r4a6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 87, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r4a7 = null >= g; >r4a7 : Symbol(r4a7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 88, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) var r4b1 = a >= null; >r4b1 : Symbol(r4b1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 90, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r4b2 = b >= null; >r4b2 : Symbol(r4b2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 91, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r4b3 = c >= null; >r4b3 : Symbol(r4b3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 92, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r4b4 = d >= null; >r4b4 : Symbol(r4b4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 93, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r4b5 = e >= null; >r4b5 : Symbol(r4b5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 94, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r4b6 = f >= null; >r4b6 : Symbol(r4b6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 95, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r4b7 = g >= null; >r4b7 : Symbol(r4b7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 96, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) // operator == var r5a1 = null == a; >r5a1 : Symbol(r5a1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 99, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r5a2 = null == b; >r5a2 : Symbol(r5a2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 100, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r5a3 = null == c; >r5a3 : Symbol(r5a3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 101, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r5a4 = null == d; >r5a4 : Symbol(r5a4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 102, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r5a5 = null == e; >r5a5 : Symbol(r5a5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 103, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r5a6 = null == f; >r5a6 : Symbol(r5a6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 104, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r5a7 = null == g; >r5a7 : Symbol(r5a7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 105, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) var r5b1 = a == null; >r5b1 : Symbol(r5b1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 107, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r5b2 = b == null; >r5b2 : Symbol(r5b2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 108, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r5b3 = c == null; >r5b3 : Symbol(r5b3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 109, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r5b4 = d == null; >r5b4 : Symbol(r5b4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 110, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r5b5 = e == null; >r5b5 : Symbol(r5b5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 111, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r5b6 = f == null; >r5b6 : Symbol(r5b6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 112, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r5b7 = g == null; >r5b7 : Symbol(r5b7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 113, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) // operator != var r6a1 = null != a; >r6a1 : Symbol(r6a1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 116, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r6a2 = null != b; >r6a2 : Symbol(r6a2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 117, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r6a3 = null != c; >r6a3 : Symbol(r6a3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 118, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r6a4 = null != d; >r6a4 : Symbol(r6a4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 119, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r6a5 = null != e; >r6a5 : Symbol(r6a5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 120, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r6a6 = null != f; >r6a6 : Symbol(r6a6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 121, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r6a7 = null != g; >r6a7 : Symbol(r6a7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 122, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) var r6b1 = a != null; >r6b1 : Symbol(r6b1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 124, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r6b2 = b != null; >r6b2 : Symbol(r6b2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 125, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r6b3 = c != null; >r6b3 : Symbol(r6b3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 126, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r6b4 = d != null; >r6b4 : Symbol(r6b4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 127, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r6b5 = e != null; >r6b5 : Symbol(r6b5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 128, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r6b6 = f != null; >r6b6 : Symbol(r6b6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 129, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r6b7 = g != null; >r6b7 : Symbol(r6b7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 130, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) // operator === var r7a1 = null === a; >r7a1 : Symbol(r7a1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 133, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r7a2 = null === b; >r7a2 : Symbol(r7a2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 134, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r7a3 = null === c; >r7a3 : Symbol(r7a3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 135, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r7a4 = null === d; >r7a4 : Symbol(r7a4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 136, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r7a5 = null === e; >r7a5 : Symbol(r7a5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 137, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r7a6 = null === f; >r7a6 : Symbol(r7a6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 138, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r7a7 = null === g; >r7a7 : Symbol(r7a7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 139, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) var r7b1 = a === null; >r7b1 : Symbol(r7b1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 141, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r7b2 = b === null; >r7b2 : Symbol(r7b2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 142, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r7b3 = c === null; >r7b3 : Symbol(r7b3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 143, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r7b4 = d === null; >r7b4 : Symbol(r7b4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 144, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r7b5 = e === null; >r7b5 : Symbol(r7b5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 145, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r7b6 = f === null; >r7b6 : Symbol(r7b6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 146, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r7b7 = g === null; >r7b7 : Symbol(r7b7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 147, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) // operator !== var r8a1 = null !== a; >r8a1 : Symbol(r8a1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 150, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r8a2 = null !== b; >r8a2 : Symbol(r8a2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 151, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r8a3 = null !== c; >r8a3 : Symbol(r8a3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 152, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r8a4 = null !== d; >r8a4 : Symbol(r8a4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 153, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r8a5 = null !== e; >r8a5 : Symbol(r8a5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 154, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r8a6 = null !== f; >r8a6 : Symbol(r8a6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 155, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r8a7 = null !== g; >r8a7 : Symbol(r8a7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 156, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) var r8b1 = a !== null; >r8b1 : Symbol(r8b1, Decl(comparisonOperatorWithOneOperandIsNull.ts, 158, 3)) ->a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 3)) +>a : Symbol(a, Decl(comparisonOperatorWithOneOperandIsNull.ts, 22, 11)) var r8b2 = b !== null; >r8b2 : Symbol(r8b2, Decl(comparisonOperatorWithOneOperandIsNull.ts, 159, 3)) ->b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 3)) +>b : Symbol(b, Decl(comparisonOperatorWithOneOperandIsNull.ts, 23, 11)) var r8b3 = c !== null; >r8b3 : Symbol(r8b3, Decl(comparisonOperatorWithOneOperandIsNull.ts, 160, 3)) ->c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 3)) +>c : Symbol(c, Decl(comparisonOperatorWithOneOperandIsNull.ts, 24, 11)) var r8b4 = d !== null; >r8b4 : Symbol(r8b4, Decl(comparisonOperatorWithOneOperandIsNull.ts, 161, 3)) ->d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 3)) +>d : Symbol(d, Decl(comparisonOperatorWithOneOperandIsNull.ts, 25, 11)) var r8b5 = e !== null; >r8b5 : Symbol(r8b5, Decl(comparisonOperatorWithOneOperandIsNull.ts, 162, 3)) ->e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 3)) +>e : Symbol(e, Decl(comparisonOperatorWithOneOperandIsNull.ts, 26, 11)) var r8b6 = f !== null; >r8b6 : Symbol(r8b6, Decl(comparisonOperatorWithOneOperandIsNull.ts, 163, 3)) ->f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 3)) +>f : Symbol(f, Decl(comparisonOperatorWithOneOperandIsNull.ts, 27, 11)) var r8b7 = g !== null; >r8b7 : Symbol(r8b7, Decl(comparisonOperatorWithOneOperandIsNull.ts, 164, 3)) ->g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 3)) +>g : Symbol(g, Decl(comparisonOperatorWithOneOperandIsNull.ts, 28, 11)) diff --git a/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.types b/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.types index 64f1f9d69b7cc..530262ffbf081 100644 --- a/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.types +++ b/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.types @@ -146,31 +146,31 @@ function foo(t: T) { > : ^ } -var a: boolean; +declare var a: boolean; >a : boolean > : ^^^^^^^ -var b: number; +declare var b: number; >b : number > : ^^^^^^ -var c: string; +declare var c: string; >c : string > : ^^^^^^ -var d: void; +declare var d: void; >d : void > : ^^^^ -var e: E; +declare var e: E; >e : E > : ^ -var f: {}; +declare var f: {}; >f : {} > : ^^ -var g: string[]; +declare var g: string[]; >g : string[] > : ^^^^^^^^ diff --git a/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.errors.txt b/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.errors.txt index 88fc3332812ff..38ebd30e53539 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.errors.txt +++ b/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.errors.txt @@ -7,10 +7,10 @@ compoundAdditionAssignmentLHSCanBeAssigned.ts(40,1): error TS2365: Operator '+=' ==== compoundAdditionAssignmentLHSCanBeAssigned.ts (4 errors) ==== enum E { a, b } - var a: any; - var b: void; + declare var a: any; + declare var b: void; - var x1: any; + declare var x1: any; x1 += a; x1 += b; x1 += true; @@ -21,7 +21,7 @@ compoundAdditionAssignmentLHSCanBeAssigned.ts(40,1): error TS2365: Operator '+=' x1 += null; x1 += undefined; - var x2: string; + declare var x2: string; x2 += a; x2 += b; x2 += true; @@ -32,7 +32,7 @@ compoundAdditionAssignmentLHSCanBeAssigned.ts(40,1): error TS2365: Operator '+=' x2 += null; x2 += undefined; - var x3: number; + declare var x3: number; x3 += a; x3 += 0; x3 += E.a; @@ -43,7 +43,7 @@ compoundAdditionAssignmentLHSCanBeAssigned.ts(40,1): error TS2365: Operator '+=' ~~~~~~~~~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types 'number' and 'undefined'. - var x4: E; + declare var x4: E; x4 += a; x4 += 0; x4 += E.a; @@ -54,12 +54,12 @@ compoundAdditionAssignmentLHSCanBeAssigned.ts(40,1): error TS2365: Operator '+=' ~~~~~~~~~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types 'E' and 'undefined'. - var x5: boolean; + declare var x5: boolean; x5 += a; - var x6: {}; + declare var x6: {}; x6 += a; x6 += ''; - var x7: void; + declare var x7: void; x7 += a; \ No newline at end of file diff --git a/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.js b/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.js index c9364268cd5f1..6e1cdb2348145 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.js +++ b/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.js @@ -3,10 +3,10 @@ //// [compoundAdditionAssignmentLHSCanBeAssigned.ts] enum E { a, b } -var a: any; -var b: void; +declare var a: any; +declare var b: void; -var x1: any; +declare var x1: any; x1 += a; x1 += b; x1 += true; @@ -17,7 +17,7 @@ x1 += {}; x1 += null; x1 += undefined; -var x2: string; +declare var x2: string; x2 += a; x2 += b; x2 += true; @@ -28,28 +28,28 @@ x2 += {}; x2 += null; x2 += undefined; -var x3: number; +declare var x3: number; x3 += a; x3 += 0; x3 += E.a; x3 += null; x3 += undefined; -var x4: E; +declare var x4: E; x4 += a; x4 += 0; x4 += E.a; x4 += null; x4 += undefined; -var x5: boolean; +declare var x5: boolean; x5 += a; -var x6: {}; +declare var x6: {}; x6 += a; x6 += ''; -var x7: void; +declare var x7: void; x7 += a; //// [compoundAdditionAssignmentLHSCanBeAssigned.js] @@ -58,9 +58,6 @@ var E; E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; })(E || (E = {})); -var a; -var b; -var x1; x1 += a; x1 += b; x1 += true; @@ -70,7 +67,6 @@ x1 += E.a; x1 += {}; x1 += null; x1 += undefined; -var x2; x2 += a; x2 += b; x2 += true; @@ -80,22 +76,17 @@ x2 += E.a; x2 += {}; x2 += null; x2 += undefined; -var x3; x3 += a; x3 += 0; x3 += E.a; x3 += null; x3 += undefined; -var x4; x4 += a; x4 += 0; x4 += E.a; x4 += null; x4 += undefined; -var x5; x5 += a; -var x6; x6 += a; x6 += ''; -var x7; x7 += a; diff --git a/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.symbols b/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.symbols index 340c20b0b6a58..686f8072cdfbd 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.symbols +++ b/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.symbols @@ -6,152 +6,152 @@ enum E { a, b } >a : Symbol(E.a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 0, 8)) >b : Symbol(E.b, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 0, 11)) -var a: any; ->a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 3)) +declare var a: any; +>a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 11)) -var b: void; ->b : Symbol(b, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 3, 3)) +declare var b: void; +>b : Symbol(b, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 3, 11)) -var x1: any; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 3)) +declare var x1: any; +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 11)) x1 += a; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 3)) ->a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 11)) +>a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 11)) x1 += b; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 3)) ->b : Symbol(b, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 3, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 11)) +>b : Symbol(b, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 3, 11)) x1 += true; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 11)) x1 += 0; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 11)) x1 += ''; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 11)) x1 += E.a; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 11)) >E.a : Symbol(E.a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 0, 8)) >E : Symbol(E, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 0, 0)) >a : Symbol(E.a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 0, 8)) x1 += {}; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 11)) x1 += null; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 11)) x1 += undefined; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 5, 11)) >undefined : Symbol(undefined) -var x2: string; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 3)) +declare var x2: string; +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 11)) x2 += a; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 3)) ->a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 11)) +>a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 11)) x2 += b; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 3)) ->b : Symbol(b, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 3, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 11)) +>b : Symbol(b, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 3, 11)) x2 += true; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 11)) x2 += 0; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 11)) x2 += ''; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 11)) x2 += E.a; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 11)) >E.a : Symbol(E.a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 0, 8)) >E : Symbol(E, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 0, 0)) >a : Symbol(E.a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 0, 8)) x2 += {}; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 11)) x2 += null; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 11)) x2 += undefined; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 16, 11)) >undefined : Symbol(undefined) -var x3: number; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 27, 3)) +declare var x3: number; +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 27, 11)) x3 += a; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 27, 3)) ->a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 3)) +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 27, 11)) +>a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 11)) x3 += 0; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 27, 11)) x3 += E.a; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 27, 11)) >E.a : Symbol(E.a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 0, 8)) >E : Symbol(E, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 0, 0)) >a : Symbol(E.a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 0, 8)) x3 += null; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 27, 11)) x3 += undefined; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 27, 11)) >undefined : Symbol(undefined) -var x4: E; ->x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 34, 3)) +declare var x4: E; +>x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 34, 11)) >E : Symbol(E, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 0, 0)) x4 += a; ->x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 34, 3)) ->a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 3)) +>x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 34, 11)) +>a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 11)) x4 += 0; ->x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 34, 3)) +>x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 34, 11)) x4 += E.a; ->x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 34, 3)) +>x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 34, 11)) >E.a : Symbol(E.a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 0, 8)) >E : Symbol(E, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 0, 0)) >a : Symbol(E.a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 0, 8)) x4 += null; ->x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 34, 3)) +>x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 34, 11)) x4 += undefined; ->x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 34, 3)) +>x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 34, 11)) >undefined : Symbol(undefined) -var x5: boolean; ->x5 : Symbol(x5, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 41, 3)) +declare var x5: boolean; +>x5 : Symbol(x5, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 41, 11)) x5 += a; ->x5 : Symbol(x5, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 41, 3)) ->a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 3)) +>x5 : Symbol(x5, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 41, 11)) +>a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 11)) -var x6: {}; ->x6 : Symbol(x6, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 44, 3)) +declare var x6: {}; +>x6 : Symbol(x6, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 44, 11)) x6 += a; ->x6 : Symbol(x6, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 44, 3)) ->a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 3)) +>x6 : Symbol(x6, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 44, 11)) +>a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 11)) x6 += ''; ->x6 : Symbol(x6, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 44, 3)) +>x6 : Symbol(x6, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 44, 11)) -var x7: void; ->x7 : Symbol(x7, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 48, 3)) +declare var x7: void; +>x7 : Symbol(x7, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 48, 11)) x7 += a; ->x7 : Symbol(x7, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 48, 3)) ->a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 3)) +>x7 : Symbol(x7, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 48, 11)) +>a : Symbol(a, Decl(compoundAdditionAssignmentLHSCanBeAssigned.ts, 2, 11)) diff --git a/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.types b/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.types index 78b248167deb5..9d3be502a2c52 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.types +++ b/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.types @@ -9,15 +9,15 @@ enum E { a, b } >b : E.b > : ^^^ -var a: any; +declare var a: any; >a : any > : ^^^ -var b: void; +declare var b: void; >b : void > : ^^^^ -var x1: any; +declare var x1: any; >x1 : any > : ^^^ @@ -95,7 +95,7 @@ x1 += undefined; >undefined : undefined > : ^^^^^^^^^ -var x2: string; +declare var x2: string; >x2 : string > : ^^^^^^ @@ -173,7 +173,7 @@ x2 += undefined; >undefined : undefined > : ^^^^^^^^^ -var x3: number; +declare var x3: number; >x3 : number > : ^^^^^^ @@ -219,7 +219,7 @@ x3 += undefined; >undefined : undefined > : ^^^^^^^^^ -var x4: E; +declare var x4: E; >x4 : E > : ^ @@ -265,7 +265,7 @@ x4 += undefined; >undefined : undefined > : ^^^^^^^^^ -var x5: boolean; +declare var x5: boolean; >x5 : boolean > : ^^^^^^^ @@ -277,7 +277,7 @@ x5 += a; >a : any > : ^^^ -var x6: {}; +declare var x6: {}; >x6 : {} > : ^^ @@ -297,7 +297,7 @@ x6 += ''; >'' : "" > : ^^ -var x7: void; +declare var x7: void; >x7 : void > : ^^^^ diff --git a/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.errors.txt b/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.errors.txt index 98d788843874c..232100cc49eb6 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.errors.txt +++ b/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.errors.txt @@ -9,27 +9,27 @@ compoundAdditionAssignmentLHSCannotBeAssigned.ts(17,1): error TS2322: Type 'stri // string can add every type, and result string cannot be assigned to below types enum E { a, b, c } - var x1: boolean; + declare var x1: boolean; x1 += ''; ~~ !!! error TS2322: Type 'string' is not assignable to type 'boolean'. - var x2: number; + declare var x2: number; x2 += ''; ~~ !!! error TS2322: Type 'string' is not assignable to type 'number'. - var x3: E; + declare var x3: E; x3 += ''; ~~ !!! error TS2322: Type 'string' is not assignable to type 'E'. - var x4: {a: string}; + declare var x4: {a: string}; x4 += ''; ~~ !!! error TS2322: Type 'string' is not assignable to type '{ a: string; }'. - var x5: void; + declare var x5: void; x5 += ''; ~~ !!! error TS2322: Type 'string' is not assignable to type 'void'. \ No newline at end of file diff --git a/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.js b/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.js index 9b6aa2d2afb53..4cb2a4fd99579 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.js +++ b/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.js @@ -4,19 +4,19 @@ // string can add every type, and result string cannot be assigned to below types enum E { a, b, c } -var x1: boolean; +declare var x1: boolean; x1 += ''; -var x2: number; +declare var x2: number; x2 += ''; -var x3: E; +declare var x3: E; x3 += ''; -var x4: {a: string}; +declare var x4: {a: string}; x4 += ''; -var x5: void; +declare var x5: void; x5 += ''; //// [compoundAdditionAssignmentLHSCannotBeAssigned.js] @@ -27,13 +27,8 @@ var E; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; })(E || (E = {})); -var x1; x1 += ''; -var x2; x2 += ''; -var x3; x3 += ''; -var x4; x4 += ''; -var x5; x5 += ''; diff --git a/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.symbols b/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.symbols index 4960f57d8ddbe..7815ca6986da0 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.symbols +++ b/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.symbols @@ -8,35 +8,35 @@ enum E { a, b, c } >b : Symbol(E.b, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 1, 11)) >c : Symbol(E.c, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 1, 14)) -var x1: boolean; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 3, 3)) +declare var x1: boolean; +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 3, 11)) x1 += ''; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 3, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 3, 11)) -var x2: number; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 6, 3)) +declare var x2: number; +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 6, 11)) x2 += ''; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 6, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 6, 11)) -var x3: E; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 9, 3)) +declare var x3: E; +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 9, 11)) >E : Symbol(E, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 0, 0)) x3 += ''; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 9, 3)) +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 9, 11)) -var x4: {a: string}; ->x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 12, 3)) ->a : Symbol(a, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 12, 9)) +declare var x4: {a: string}; +>x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 12, 11)) +>a : Symbol(a, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 12, 17)) x4 += ''; ->x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 12, 3)) +>x4 : Symbol(x4, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 12, 11)) -var x5: void; ->x5 : Symbol(x5, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 15, 3)) +declare var x5: void; +>x5 : Symbol(x5, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 15, 11)) x5 += ''; ->x5 : Symbol(x5, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 15, 3)) +>x5 : Symbol(x5, Decl(compoundAdditionAssignmentLHSCannotBeAssigned.ts, 15, 11)) diff --git a/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.types b/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.types index 75206941990c4..cc538c9c64cc2 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.types +++ b/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.types @@ -12,7 +12,7 @@ enum E { a, b, c } >c : E.c > : ^^^ -var x1: boolean; +declare var x1: boolean; >x1 : boolean > : ^^^^^^^ @@ -24,7 +24,7 @@ x1 += ''; >'' : "" > : ^^ -var x2: number; +declare var x2: number; >x2 : number > : ^^^^^^ @@ -36,7 +36,7 @@ x2 += ''; >'' : "" > : ^^ -var x3: E; +declare var x3: E; >x3 : E > : ^ @@ -48,7 +48,7 @@ x3 += ''; >'' : "" > : ^^ -var x4: {a: string}; +declare var x4: {a: string}; >x4 : { a: string; } > : ^^^^^ ^^^ >a : string @@ -62,7 +62,7 @@ x4 += ''; >'' : "" > : ^^ -var x5: void; +declare var x5: void; >x5 : void > : ^^^^ diff --git a/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.errors.txt b/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.errors.txt index b7251a5563792..50ca18d2c1184 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.errors.txt +++ b/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.errors.txt @@ -30,9 +30,9 @@ compoundAdditionAssignmentWithInvalidOperands.ts(40,1): error TS2365: Operator ' ==== compoundAdditionAssignmentWithInvalidOperands.ts (27 errors) ==== enum E { a, b } - var a: void; + declare var a: void; - var x1: boolean; + declare var x1: boolean; x1 += a; ~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'void'. @@ -55,7 +55,7 @@ compoundAdditionAssignmentWithInvalidOperands.ts(40,1): error TS2365: Operator ' ~~~~~~~~~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'undefined'. - var x2: {}; + declare var x2: {}; x2 += a; ~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types '{}' and 'void'. @@ -78,7 +78,7 @@ compoundAdditionAssignmentWithInvalidOperands.ts(40,1): error TS2365: Operator ' ~~~~~~~~~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types '{}' and 'undefined'. - var x3: void; + declare var x3: void; x3 += a; ~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types 'void' and 'void'. @@ -101,7 +101,7 @@ compoundAdditionAssignmentWithInvalidOperands.ts(40,1): error TS2365: Operator ' ~~~~~~~~~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types 'void' and 'undefined'. - var x4: number; + declare var x4: number; x4 += a; ~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types 'number' and 'void'. @@ -112,7 +112,7 @@ compoundAdditionAssignmentWithInvalidOperands.ts(40,1): error TS2365: Operator ' ~~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types 'number' and '{}'. - var x5: E; + declare var x5: E; x5 += a; ~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types 'E' and 'void'. diff --git a/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.js b/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.js index 018505f533d33..4227fc1bd64f3 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.js +++ b/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.js @@ -3,9 +3,9 @@ //// [compoundAdditionAssignmentWithInvalidOperands.ts] enum E { a, b } -var a: void; +declare var a: void; -var x1: boolean; +declare var x1: boolean; x1 += a; x1 += true; x1 += 0; @@ -14,7 +14,7 @@ x1 += {}; x1 += null; x1 += undefined; -var x2: {}; +declare var x2: {}; x2 += a; x2 += true; x2 += 0; @@ -23,7 +23,7 @@ x2 += {}; x2 += null; x2 += undefined; -var x3: void; +declare var x3: void; x3 += a; x3 += true; x3 += 0; @@ -32,12 +32,12 @@ x3 += {}; x3 += null; x3 += undefined; -var x4: number; +declare var x4: number; x4 += a; x4 += true; x4 += {}; -var x5: E; +declare var x5: E; x5 += a; x5 += true; x5 += {}; @@ -48,8 +48,6 @@ var E; E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; })(E || (E = {})); -var a; -var x1; x1 += a; x1 += true; x1 += 0; @@ -57,7 +55,6 @@ x1 += E.a; x1 += {}; x1 += null; x1 += undefined; -var x2; x2 += a; x2 += true; x2 += 0; @@ -65,7 +62,6 @@ x2 += E.a; x2 += {}; x2 += null; x2 += undefined; -var x3; x3 += a; x3 += true; x3 += 0; @@ -73,11 +69,9 @@ x3 += E.a; x3 += {}; x3 += null; x3 += undefined; -var x4; x4 += a; x4 += true; x4 += {}; -var x5; x5 += a; x5 += true; x5 += {}; diff --git a/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.symbols b/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.symbols index 7e5e40b805566..4f1f05c368e39 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.symbols +++ b/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.symbols @@ -6,120 +6,120 @@ enum E { a, b } >a : Symbol(E.a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 0, 8)) >b : Symbol(E.b, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 0, 11)) -var a: void; ->a : Symbol(a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 2, 3)) +declare var a: void; +>a : Symbol(a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 2, 11)) -var x1: boolean; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 3)) +declare var x1: boolean; +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 11)) x1 += a; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 3)) ->a : Symbol(a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 2, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 11)) +>a : Symbol(a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 2, 11)) x1 += true; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 11)) x1 += 0; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 11)) x1 += E.a; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 11)) >E.a : Symbol(E.a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 0, 8)) >E : Symbol(E, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 0, 8)) x1 += {}; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 11)) x1 += null; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 11)) x1 += undefined; ->x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 3)) +>x1 : Symbol(x1, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 4, 11)) >undefined : Symbol(undefined) -var x2: {}; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 3)) +declare var x2: {}; +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 11)) x2 += a; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 3)) ->a : Symbol(a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 2, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 11)) +>a : Symbol(a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 2, 11)) x2 += true; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 11)) x2 += 0; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 11)) x2 += E.a; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 11)) >E.a : Symbol(E.a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 0, 8)) >E : Symbol(E, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 0, 8)) x2 += {}; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 11)) x2 += null; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 11)) x2 += undefined; ->x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 3)) +>x2 : Symbol(x2, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 13, 11)) >undefined : Symbol(undefined) -var x3: void; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 3)) +declare var x3: void; +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 11)) x3 += a; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 3)) ->a : Symbol(a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 2, 3)) +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 11)) +>a : Symbol(a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 2, 11)) x3 += true; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 3)) +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 11)) x3 += 0; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 3)) +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 11)) x3 += E.a; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 3)) +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 11)) >E.a : Symbol(E.a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 0, 8)) >E : Symbol(E, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 0, 8)) x3 += {}; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 3)) +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 11)) x3 += null; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 3)) +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 11)) x3 += undefined; ->x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 3)) +>x3 : Symbol(x3, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 22, 11)) >undefined : Symbol(undefined) -var x4: number; ->x4 : Symbol(x4, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 31, 3)) +declare var x4: number; +>x4 : Symbol(x4, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 31, 11)) x4 += a; ->x4 : Symbol(x4, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 31, 3)) ->a : Symbol(a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 2, 3)) +>x4 : Symbol(x4, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 31, 11)) +>a : Symbol(a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 2, 11)) x4 += true; ->x4 : Symbol(x4, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 31, 3)) +>x4 : Symbol(x4, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 31, 11)) x4 += {}; ->x4 : Symbol(x4, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 31, 3)) +>x4 : Symbol(x4, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 31, 11)) -var x5: E; ->x5 : Symbol(x5, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 36, 3)) +declare var x5: E; +>x5 : Symbol(x5, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 36, 11)) >E : Symbol(E, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 0, 0)) x5 += a; ->x5 : Symbol(x5, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 36, 3)) ->a : Symbol(a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 2, 3)) +>x5 : Symbol(x5, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 36, 11)) +>a : Symbol(a, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 2, 11)) x5 += true; ->x5 : Symbol(x5, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 36, 3)) +>x5 : Symbol(x5, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 36, 11)) x5 += {}; ->x5 : Symbol(x5, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 36, 3)) +>x5 : Symbol(x5, Decl(compoundAdditionAssignmentWithInvalidOperands.ts, 36, 11)) diff --git a/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.types b/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.types index dc8d0de5b7d6c..6a24495e697e1 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.types +++ b/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.types @@ -9,11 +9,11 @@ enum E { a, b } >b : E.b > : ^^^ -var a: void; +declare var a: void; >a : void > : ^^^^ -var x1: boolean; +declare var x1: boolean; >x1 : boolean > : ^^^^^^^ @@ -75,7 +75,7 @@ x1 += undefined; >undefined : undefined > : ^^^^^^^^^ -var x2: {}; +declare var x2: {}; >x2 : {} > : ^^ @@ -137,7 +137,7 @@ x2 += undefined; >undefined : undefined > : ^^^^^^^^^ -var x3: void; +declare var x3: void; >x3 : void > : ^^^^ @@ -199,7 +199,7 @@ x3 += undefined; >undefined : undefined > : ^^^^^^^^^ -var x4: number; +declare var x4: number; >x4 : number > : ^^^^^^ @@ -227,7 +227,7 @@ x4 += {}; >{} : {} > : ^^ -var x5: E; +declare var x5: E; >x5 : E > : ^ diff --git a/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.errors.txt b/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.errors.txt index 9fd7e4521d14f..95560b14d1572 100644 --- a/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.errors.txt +++ b/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.errors.txt @@ -9,11 +9,11 @@ compoundArithmeticAssignmentLHSCanBeAssigned.ts(26,7): error TS18050: The value ==== compoundArithmeticAssignmentLHSCanBeAssigned.ts (6 errors) ==== enum E { a, b, c } - var a: any; - var b: number; - var c: E; + declare var a: any; + declare var b: number; + declare var c: E; - var x1: any; + declare var x1: any; x1 *= a; x1 *= b; x1 *= c; @@ -24,7 +24,7 @@ compoundArithmeticAssignmentLHSCanBeAssigned.ts(26,7): error TS18050: The value ~~~~~~~~~ !!! error TS18050: The value 'undefined' cannot be used here. - var x2: number; + declare var x2: number; x2 *= a; x2 *= b; x2 *= c; @@ -35,7 +35,7 @@ compoundArithmeticAssignmentLHSCanBeAssigned.ts(26,7): error TS18050: The value ~~~~~~~~~ !!! error TS18050: The value 'undefined' cannot be used here. - var x3: E; + declare var x3: E; x3 *= a; x3 *= b; x3 *= c; diff --git a/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.js b/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.js index c452637cbad4d..0d234db3d1166 100644 --- a/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.js +++ b/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.js @@ -3,25 +3,25 @@ //// [compoundArithmeticAssignmentLHSCanBeAssigned.ts] enum E { a, b, c } -var a: any; -var b: number; -var c: E; +declare var a: any; +declare var b: number; +declare var c: E; -var x1: any; +declare var x1: any; x1 *= a; x1 *= b; x1 *= c; x1 *= null; x1 *= undefined; -var x2: number; +declare var x2: number; x2 *= a; x2 *= b; x2 *= c; x2 *= null; x2 *= undefined; -var x3: E; +declare var x3: E; x3 *= a; x3 *= b; x3 *= c; @@ -35,22 +35,16 @@ var E; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; })(E || (E = {})); -var a; -var b; -var c; -var x1; x1 *= a; x1 *= b; x1 *= c; x1 *= null; x1 *= undefined; -var x2; x2 *= a; x2 *= b; x2 *= c; x2 *= null; x2 *= undefined; -var x3; x3 *= a; x3 *= b; x3 *= c; diff --git a/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.symbols b/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.symbols index a873cdd3c5a3a..990a63e7b928e 100644 --- a/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.symbols +++ b/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.symbols @@ -7,80 +7,80 @@ enum E { a, b, c } >b : Symbol(E.b, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 0, 11)) >c : Symbol(E.c, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 0, 14)) -var a: any; ->a : Symbol(a, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 2, 3)) +declare var a: any; +>a : Symbol(a, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 2, 11)) -var b: number; ->b : Symbol(b, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 3, 3)) +declare var b: number; +>b : Symbol(b, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 3, 11)) -var c: E; ->c : Symbol(c, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 4, 3)) +declare var c: E; +>c : Symbol(c, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 4, 11)) >E : Symbol(E, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 0, 0)) -var x1: any; ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 6, 3)) +declare var x1: any; +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 6, 11)) x1 *= a; ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 6, 3)) ->a : Symbol(a, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 2, 3)) +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 6, 11)) +>a : Symbol(a, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 2, 11)) x1 *= b; ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 6, 3)) ->b : Symbol(b, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 3, 3)) +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 6, 11)) +>b : Symbol(b, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 3, 11)) x1 *= c; ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 6, 3)) ->c : Symbol(c, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 4, 3)) +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 6, 11)) +>c : Symbol(c, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 4, 11)) x1 *= null; ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 6, 3)) +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 6, 11)) x1 *= undefined; ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 6, 3)) +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 6, 11)) >undefined : Symbol(undefined) -var x2: number; ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 13, 3)) +declare var x2: number; +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 13, 11)) x2 *= a; ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 13, 3)) ->a : Symbol(a, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 2, 3)) +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 13, 11)) +>a : Symbol(a, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 2, 11)) x2 *= b; ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 13, 3)) ->b : Symbol(b, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 3, 3)) +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 13, 11)) +>b : Symbol(b, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 3, 11)) x2 *= c; ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 13, 3)) ->c : Symbol(c, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 4, 3)) +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 13, 11)) +>c : Symbol(c, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 4, 11)) x2 *= null; ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 13, 3)) +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 13, 11)) x2 *= undefined; ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 13, 3)) +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 13, 11)) >undefined : Symbol(undefined) -var x3: E; ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 20, 3)) +declare var x3: E; +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 20, 11)) >E : Symbol(E, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 0, 0)) x3 *= a; ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 20, 3)) ->a : Symbol(a, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 2, 3)) +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 20, 11)) +>a : Symbol(a, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 2, 11)) x3 *= b; ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 20, 3)) ->b : Symbol(b, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 3, 3)) +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 20, 11)) +>b : Symbol(b, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 3, 11)) x3 *= c; ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 20, 3)) ->c : Symbol(c, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 4, 3)) +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 20, 11)) +>c : Symbol(c, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 4, 11)) x3 *= null; ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 20, 3)) +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 20, 11)) x3 *= undefined; ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 20, 3)) +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentLHSCanBeAssigned.ts, 20, 11)) >undefined : Symbol(undefined) diff --git a/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.types b/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.types index f15df72fc1a44..f5065f5b4a52c 100644 --- a/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.types +++ b/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.types @@ -11,19 +11,19 @@ enum E { a, b, c } >c : E.c > : ^^^ -var a: any; +declare var a: any; >a : any > : ^^^ -var b: number; +declare var b: number; >b : number > : ^^^^^^ -var c: E; +declare var c: E; >c : E > : ^ -var x1: any; +declare var x1: any; >x1 : any > : ^^^ @@ -65,7 +65,7 @@ x1 *= undefined; >undefined : undefined > : ^^^^^^^^^ -var x2: number; +declare var x2: number; >x2 : number > : ^^^^^^ @@ -107,7 +107,7 @@ x2 *= undefined; >undefined : undefined > : ^^^^^^^^^ -var x3: E; +declare var x3: E; >x3 : E > : ^ diff --git a/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.errors.txt b/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.errors.txt index f62aacce5461e..8c4943586beb5 100644 --- a/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.errors.txt +++ b/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.errors.txt @@ -71,10 +71,10 @@ compoundArithmeticAssignmentWithInvalidOperands.ts(60,7): error TS2363: The righ ==== compoundArithmeticAssignmentWithInvalidOperands.ts (68 errors) ==== enum E { a, b } - var a: any; - var b: void; + declare var a: any; + declare var b: void; - var x1: boolean; + declare var x1: boolean; x1 *= a; ~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. @@ -115,7 +115,7 @@ compoundArithmeticAssignmentWithInvalidOperands.ts(60,7): error TS2363: The righ ~~~~~~~~~ !!! error TS18050: The value 'undefined' cannot be used here. - var x2: string; + declare var x2: string; x2 *= a; ~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. @@ -156,7 +156,7 @@ compoundArithmeticAssignmentWithInvalidOperands.ts(60,7): error TS2363: The righ ~~~~~~~~~ !!! error TS18050: The value 'undefined' cannot be used here. - var x3: {}; + declare var x3: {}; x3 *= a; ~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. @@ -197,7 +197,7 @@ compoundArithmeticAssignmentWithInvalidOperands.ts(60,7): error TS2363: The righ ~~~~~~~~~ !!! error TS18050: The value 'undefined' cannot be used here. - var x4: void; + declare var x4: void; x4 *= a; ~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. @@ -238,7 +238,7 @@ compoundArithmeticAssignmentWithInvalidOperands.ts(60,7): error TS2363: The righ ~~~~~~~~~ !!! error TS18050: The value 'undefined' cannot be used here. - var x5: number; + declare var x5: number; x5 *= b; ~ !!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. @@ -252,7 +252,7 @@ compoundArithmeticAssignmentWithInvalidOperands.ts(60,7): error TS2363: The righ ~~ !!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. - var x6: E; + declare var x6: E; x6 *= b; ~ !!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. diff --git a/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.js b/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.js index 3246df78f5c7e..f63a4ecd520f4 100644 --- a/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.js +++ b/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.js @@ -3,10 +3,10 @@ //// [compoundArithmeticAssignmentWithInvalidOperands.ts] enum E { a, b } -var a: any; -var b: void; +declare var a: any; +declare var b: void; -var x1: boolean; +declare var x1: boolean; x1 *= a; x1 *= b; x1 *= true; @@ -17,7 +17,7 @@ x1 *= {}; x1 *= null; x1 *= undefined; -var x2: string; +declare var x2: string; x2 *= a; x2 *= b; x2 *= true; @@ -28,7 +28,7 @@ x2 *= {}; x2 *= null; x2 *= undefined; -var x3: {}; +declare var x3: {}; x3 *= a; x3 *= b; x3 *= true; @@ -39,7 +39,7 @@ x3 *= {}; x3 *= null; x3 *= undefined; -var x4: void; +declare var x4: void; x4 *= a; x4 *= b; x4 *= true; @@ -50,13 +50,13 @@ x4 *= {}; x4 *= null; x4 *= undefined; -var x5: number; +declare var x5: number; x5 *= b; x5 *= true; x5 *= '' x5 *= {}; -var x6: E; +declare var x6: E; x6 *= b; x6 *= true; x6 *= '' @@ -68,9 +68,6 @@ var E; E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; })(E || (E = {})); -var a; -var b; -var x1; x1 *= a; x1 *= b; x1 *= true; @@ -80,7 +77,6 @@ x1 *= E.a; x1 *= {}; x1 *= null; x1 *= undefined; -var x2; x2 *= a; x2 *= b; x2 *= true; @@ -90,7 +86,6 @@ x2 *= E.a; x2 *= {}; x2 *= null; x2 *= undefined; -var x3; x3 *= a; x3 *= b; x3 *= true; @@ -100,7 +95,6 @@ x3 *= E.a; x3 *= {}; x3 *= null; x3 *= undefined; -var x4; x4 *= a; x4 *= b; x4 *= true; @@ -110,12 +104,10 @@ x4 *= E.a; x4 *= {}; x4 *= null; x4 *= undefined; -var x5; x5 *= b; x5 *= true; x5 *= ''; x5 *= {}; -var x6; x6 *= b; x6 *= true; x6 *= ''; diff --git a/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.symbols b/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.symbols index 11ef0d0eb31c2..bc303ca1056b7 100644 --- a/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.symbols +++ b/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.symbols @@ -6,186 +6,186 @@ enum E { a, b } >a : Symbol(E.a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 0, 8)) >b : Symbol(E.b, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 0, 11)) -var a: any; ->a : Symbol(a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 2, 3)) +declare var a: any; +>a : Symbol(a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 2, 11)) -var b: void; ->b : Symbol(b, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 3, 3)) +declare var b: void; +>b : Symbol(b, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 3, 11)) -var x1: boolean; ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 3)) +declare var x1: boolean; +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 11)) x1 *= a; ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 3)) ->a : Symbol(a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 2, 3)) +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 11)) +>a : Symbol(a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 2, 11)) x1 *= b; ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 3)) ->b : Symbol(b, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 3, 3)) +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 11)) +>b : Symbol(b, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 3, 11)) x1 *= true; ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 11)) x1 *= 0; ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 11)) x1 *= '' ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 11)) x1 *= E.a; ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 11)) >E.a : Symbol(E.a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 0, 8)) >E : Symbol(E, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 0, 8)) x1 *= {}; ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 11)) x1 *= null; ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 11)) x1 *= undefined; ->x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 5, 11)) >undefined : Symbol(undefined) -var x2: string; ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 3)) +declare var x2: string; +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 11)) x2 *= a; ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 3)) ->a : Symbol(a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 2, 3)) +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 11)) +>a : Symbol(a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 2, 11)) x2 *= b; ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 3)) ->b : Symbol(b, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 3, 3)) +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 11)) +>b : Symbol(b, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 3, 11)) x2 *= true; ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 11)) x2 *= 0; ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 11)) x2 *= '' ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 11)) x2 *= E.a; ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 11)) >E.a : Symbol(E.a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 0, 8)) >E : Symbol(E, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 0, 8)) x2 *= {}; ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 11)) x2 *= null; ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 11)) x2 *= undefined; ->x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 16, 11)) >undefined : Symbol(undefined) -var x3: {}; ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 3)) +declare var x3: {}; +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 11)) x3 *= a; ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 3)) ->a : Symbol(a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 2, 3)) +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 11)) +>a : Symbol(a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 2, 11)) x3 *= b; ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 3)) ->b : Symbol(b, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 3, 3)) +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 11)) +>b : Symbol(b, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 3, 11)) x3 *= true; ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 11)) x3 *= 0; ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 11)) x3 *= '' ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 11)) x3 *= E.a; ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 11)) >E.a : Symbol(E.a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 0, 8)) >E : Symbol(E, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 0, 8)) x3 *= {}; ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 11)) x3 *= null; ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 11)) x3 *= undefined; ->x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 27, 11)) >undefined : Symbol(undefined) -var x4: void; ->x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 3)) +declare var x4: void; +>x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 11)) x4 *= a; ->x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 3)) ->a : Symbol(a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 2, 3)) +>x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 11)) +>a : Symbol(a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 2, 11)) x4 *= b; ->x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 3)) ->b : Symbol(b, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 3, 3)) +>x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 11)) +>b : Symbol(b, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 3, 11)) x4 *= true; ->x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 3)) +>x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 11)) x4 *= 0; ->x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 3)) +>x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 11)) x4 *= '' ->x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 3)) +>x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 11)) x4 *= E.a; ->x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 3)) +>x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 11)) >E.a : Symbol(E.a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 0, 8)) >E : Symbol(E, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 0, 8)) x4 *= {}; ->x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 3)) +>x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 11)) x4 *= null; ->x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 3)) +>x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 11)) x4 *= undefined; ->x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 3)) +>x4 : Symbol(x4, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 38, 11)) >undefined : Symbol(undefined) -var x5: number; ->x5 : Symbol(x5, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 49, 3)) +declare var x5: number; +>x5 : Symbol(x5, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 49, 11)) x5 *= b; ->x5 : Symbol(x5, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 49, 3)) ->b : Symbol(b, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 3, 3)) +>x5 : Symbol(x5, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 49, 11)) +>b : Symbol(b, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 3, 11)) x5 *= true; ->x5 : Symbol(x5, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 49, 3)) +>x5 : Symbol(x5, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 49, 11)) x5 *= '' ->x5 : Symbol(x5, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 49, 3)) +>x5 : Symbol(x5, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 49, 11)) x5 *= {}; ->x5 : Symbol(x5, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 49, 3)) +>x5 : Symbol(x5, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 49, 11)) -var x6: E; ->x6 : Symbol(x6, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 55, 3)) +declare var x6: E; +>x6 : Symbol(x6, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 55, 11)) >E : Symbol(E, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 0, 0)) x6 *= b; ->x6 : Symbol(x6, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 55, 3)) ->b : Symbol(b, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 3, 3)) +>x6 : Symbol(x6, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 55, 11)) +>b : Symbol(b, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 3, 11)) x6 *= true; ->x6 : Symbol(x6, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 55, 3)) +>x6 : Symbol(x6, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 55, 11)) x6 *= '' ->x6 : Symbol(x6, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 55, 3)) +>x6 : Symbol(x6, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 55, 11)) x6 *= {}; ->x6 : Symbol(x6, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 55, 3)) +>x6 : Symbol(x6, Decl(compoundArithmeticAssignmentWithInvalidOperands.ts, 55, 11)) diff --git a/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.types b/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.types index 07cd4d9055482..359f7acb7b9c1 100644 --- a/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.types +++ b/tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.types @@ -9,15 +9,15 @@ enum E { a, b } >b : E.b > : ^^^ -var a: any; +declare var a: any; >a : any > : ^^^ -var b: void; +declare var b: void; >b : void > : ^^^^ -var x1: boolean; +declare var x1: boolean; >x1 : boolean > : ^^^^^^^ @@ -95,7 +95,7 @@ x1 *= undefined; >undefined : undefined > : ^^^^^^^^^ -var x2: string; +declare var x2: string; >x2 : string > : ^^^^^^ @@ -173,7 +173,7 @@ x2 *= undefined; >undefined : undefined > : ^^^^^^^^^ -var x3: {}; +declare var x3: {}; >x3 : {} > : ^^ @@ -251,7 +251,7 @@ x3 *= undefined; >undefined : undefined > : ^^^^^^^^^ -var x4: void; +declare var x4: void; >x4 : void > : ^^^^ @@ -329,7 +329,7 @@ x4 *= undefined; >undefined : undefined > : ^^^^^^^^^ -var x5: number; +declare var x5: number; >x5 : number > : ^^^^^^ @@ -365,7 +365,7 @@ x5 *= {}; >{} : {} > : ^^ -var x6: E; +declare var x6: E; >x6 : E > : ^ diff --git a/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.errors.txt b/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.errors.txt index 9d99d92a9081c..ff6f94f8f0138 100644 --- a/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.errors.txt +++ b/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.errors.txt @@ -9,11 +9,11 @@ compoundExponentiationAssignmentLHSCanBeAssigned1.ts(26,8): error TS18050: The v ==== compoundExponentiationAssignmentLHSCanBeAssigned1.ts (6 errors) ==== enum E { a, b, c } - var a: any; - var b: number; - var c: E; + declare var a: any; + declare var b: number; + declare var c: E; - var x1: any; + declare var x1: any; x1 **= a; x1 **= b; x1 **= c; @@ -24,7 +24,7 @@ compoundExponentiationAssignmentLHSCanBeAssigned1.ts(26,8): error TS18050: The v ~~~~~~~~~ !!! error TS18050: The value 'undefined' cannot be used here. - var x2: number; + declare var x2: number; x2 **= a; x2 **= b; x2 **= c; @@ -35,7 +35,7 @@ compoundExponentiationAssignmentLHSCanBeAssigned1.ts(26,8): error TS18050: The v ~~~~~~~~~ !!! error TS18050: The value 'undefined' cannot be used here. - var x3: E; + declare var x3: E; x3 **= a; x3 **= b; x3 **= c; diff --git a/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.js b/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.js index 1de8afa2947e2..aacdc430b452d 100644 --- a/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.js +++ b/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.js @@ -3,25 +3,25 @@ //// [compoundExponentiationAssignmentLHSCanBeAssigned1.ts] enum E { a, b, c } -var a: any; -var b: number; -var c: E; +declare var a: any; +declare var b: number; +declare var c: E; -var x1: any; +declare var x1: any; x1 **= a; x1 **= b; x1 **= c; x1 **= null; x1 **= undefined; -var x2: number; +declare var x2: number; x2 **= a; x2 **= b; x2 **= c; x2 **= null; x2 **= undefined; -var x3: E; +declare var x3: E; x3 **= a; x3 **= b; x3 **= c; @@ -35,22 +35,16 @@ var E; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; })(E || (E = {})); -var a; -var b; -var c; -var x1; x1 = Math.pow(x1, a); x1 = Math.pow(x1, b); x1 = Math.pow(x1, c); x1 = Math.pow(x1, null); x1 = Math.pow(x1, undefined); -var x2; x2 = Math.pow(x2, a); x2 = Math.pow(x2, b); x2 = Math.pow(x2, c); x2 = Math.pow(x2, null); x2 = Math.pow(x2, undefined); -var x3; x3 = Math.pow(x3, a); x3 = Math.pow(x3, b); x3 = Math.pow(x3, c); diff --git a/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.symbols b/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.symbols index 40429b761e5aa..f5069a7b238f2 100644 --- a/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.symbols +++ b/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.symbols @@ -7,80 +7,80 @@ enum E { a, b, c } >b : Symbol(E.b, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 0, 11)) >c : Symbol(E.c, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 0, 14)) -var a: any; ->a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 2, 3)) +declare var a: any; +>a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 2, 11)) -var b: number; ->b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 3, 3)) +declare var b: number; +>b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 3, 11)) -var c: E; ->c : Symbol(c, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 4, 3)) +declare var c: E; +>c : Symbol(c, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 4, 11)) >E : Symbol(E, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 0, 0)) -var x1: any; ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 6, 3)) +declare var x1: any; +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 6, 11)) x1 **= a; ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 6, 3)) ->a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 2, 3)) +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 6, 11)) +>a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 2, 11)) x1 **= b; ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 6, 3)) ->b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 3, 3)) +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 6, 11)) +>b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 3, 11)) x1 **= c; ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 6, 3)) ->c : Symbol(c, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 4, 3)) +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 6, 11)) +>c : Symbol(c, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 4, 11)) x1 **= null; ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 6, 3)) +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 6, 11)) x1 **= undefined; ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 6, 3)) +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 6, 11)) >undefined : Symbol(undefined) -var x2: number; ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 13, 3)) +declare var x2: number; +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 13, 11)) x2 **= a; ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 13, 3)) ->a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 2, 3)) +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 13, 11)) +>a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 2, 11)) x2 **= b; ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 13, 3)) ->b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 3, 3)) +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 13, 11)) +>b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 3, 11)) x2 **= c; ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 13, 3)) ->c : Symbol(c, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 4, 3)) +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 13, 11)) +>c : Symbol(c, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 4, 11)) x2 **= null; ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 13, 3)) +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 13, 11)) x2 **= undefined; ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 13, 3)) +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 13, 11)) >undefined : Symbol(undefined) -var x3: E; ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 20, 3)) +declare var x3: E; +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 20, 11)) >E : Symbol(E, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 0, 0)) x3 **= a; ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 20, 3)) ->a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 2, 3)) +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 20, 11)) +>a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 2, 11)) x3 **= b; ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 20, 3)) ->b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 3, 3)) +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 20, 11)) +>b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 3, 11)) x3 **= c; ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 20, 3)) ->c : Symbol(c, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 4, 3)) +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 20, 11)) +>c : Symbol(c, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 4, 11)) x3 **= null; ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 20, 3)) +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 20, 11)) x3 **= undefined; ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 20, 3)) +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCanBeAssigned1.ts, 20, 11)) >undefined : Symbol(undefined) diff --git a/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.types b/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.types index 4de2b2866f211..d5d63c97a2d79 100644 --- a/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.types +++ b/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.types @@ -11,19 +11,19 @@ enum E { a, b, c } >c : E.c > : ^^^ -var a: any; +declare var a: any; >a : any > : ^^^ -var b: number; +declare var b: number; >b : number > : ^^^^^^ -var c: E; +declare var c: E; >c : E > : ^ -var x1: any; +declare var x1: any; >x1 : any > : ^^^ @@ -65,7 +65,7 @@ x1 **= undefined; >undefined : undefined > : ^^^^^^^^^ -var x2: number; +declare var x2: number; >x2 : number > : ^^^^^^ @@ -107,7 +107,7 @@ x2 **= undefined; >undefined : undefined > : ^^^^^^^^^ -var x3: E; +declare var x3: E; >x3 : E > : ^ diff --git a/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.errors.txt b/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.errors.txt index 6d4c601967ae9..b67dc8f5f525a 100644 --- a/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.errors.txt +++ b/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.errors.txt @@ -71,10 +71,10 @@ compoundExponentiationAssignmentLHSCannotBeAssigned.ts(60,8): error TS2363: The ==== compoundExponentiationAssignmentLHSCannotBeAssigned.ts (68 errors) ==== enum E { a, b } - var a: any; - var b: void; + declare var a: any; + declare var b: void; - var x1: boolean; + declare var x1: boolean; x1 **= a; ~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. @@ -115,7 +115,7 @@ compoundExponentiationAssignmentLHSCannotBeAssigned.ts(60,8): error TS2363: The ~~~~~~~~~ !!! error TS18050: The value 'undefined' cannot be used here. - var x2: string; + declare var x2: string; x2 **= a; ~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. @@ -156,7 +156,7 @@ compoundExponentiationAssignmentLHSCannotBeAssigned.ts(60,8): error TS2363: The ~~~~~~~~~ !!! error TS18050: The value 'undefined' cannot be used here. - var x3: {}; + declare var x3: {}; x3 **= a; ~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. @@ -197,7 +197,7 @@ compoundExponentiationAssignmentLHSCannotBeAssigned.ts(60,8): error TS2363: The ~~~~~~~~~ !!! error TS18050: The value 'undefined' cannot be used here. - var x4: void; + declare var x4: void; x4 **= a; ~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. @@ -238,7 +238,7 @@ compoundExponentiationAssignmentLHSCannotBeAssigned.ts(60,8): error TS2363: The ~~~~~~~~~ !!! error TS18050: The value 'undefined' cannot be used here. - var x5: number; + declare var x5: number; x5 **= b; ~ !!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. @@ -252,7 +252,7 @@ compoundExponentiationAssignmentLHSCannotBeAssigned.ts(60,8): error TS2363: The ~~ !!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. - var x6: E; + declare var x6: E; x6 **= b; ~ !!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. diff --git a/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.js b/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.js index 4b17ee7684f79..ffbe6ed056dc3 100644 --- a/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.js +++ b/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.js @@ -3,10 +3,10 @@ //// [compoundExponentiationAssignmentLHSCannotBeAssigned.ts] enum E { a, b } -var a: any; -var b: void; +declare var a: any; +declare var b: void; -var x1: boolean; +declare var x1: boolean; x1 **= a; x1 **= b; x1 **= true; @@ -17,7 +17,7 @@ x1 **= {}; x1 **= null; x1 **= undefined; -var x2: string; +declare var x2: string; x2 **= a; x2 **= b; x2 **= true; @@ -28,7 +28,7 @@ x2 **= {}; x2 **= null; x2 **= undefined; -var x3: {}; +declare var x3: {}; x3 **= a; x3 **= b; x3 **= true; @@ -39,7 +39,7 @@ x3 **= {}; x3 **= null; x3 **= undefined; -var x4: void; +declare var x4: void; x4 **= a; x4 **= b; x4 **= true; @@ -50,13 +50,13 @@ x4 **= {}; x4 **= null; x4 **= undefined; -var x5: number; +declare var x5: number; x5 **= b; x5 **= true; x5 **= '' x5 **= {}; -var x6: E; +declare var x6: E; x6 **= b; x6 **= true; x6 **= '' @@ -68,9 +68,6 @@ var E; E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; })(E || (E = {})); -var a; -var b; -var x1; x1 = Math.pow(x1, a); x1 = Math.pow(x1, b); x1 = Math.pow(x1, true); @@ -80,7 +77,6 @@ x1 = Math.pow(x1, E.a); x1 = Math.pow(x1, {}); x1 = Math.pow(x1, null); x1 = Math.pow(x1, undefined); -var x2; x2 = Math.pow(x2, a); x2 = Math.pow(x2, b); x2 = Math.pow(x2, true); @@ -90,7 +86,6 @@ x2 = Math.pow(x2, E.a); x2 = Math.pow(x2, {}); x2 = Math.pow(x2, null); x2 = Math.pow(x2, undefined); -var x3; x3 = Math.pow(x3, a); x3 = Math.pow(x3, b); x3 = Math.pow(x3, true); @@ -100,7 +95,6 @@ x3 = Math.pow(x3, E.a); x3 = Math.pow(x3, {}); x3 = Math.pow(x3, null); x3 = Math.pow(x3, undefined); -var x4; x4 = Math.pow(x4, a); x4 = Math.pow(x4, b); x4 = Math.pow(x4, true); @@ -110,12 +104,10 @@ x4 = Math.pow(x4, E.a); x4 = Math.pow(x4, {}); x4 = Math.pow(x4, null); x4 = Math.pow(x4, undefined); -var x5; x5 = Math.pow(x5, b); x5 = Math.pow(x5, true); x5 = Math.pow(x5, ''); x5 = Math.pow(x5, {}); -var x6; x6 = Math.pow(x6, b); x6 = Math.pow(x6, true); x6 = Math.pow(x6, ''); diff --git a/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.symbols b/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.symbols index 49b726673c7f1..992e2b90bab6a 100644 --- a/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.symbols +++ b/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.symbols @@ -6,186 +6,186 @@ enum E { a, b } >a : Symbol(E.a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 0, 8)) >b : Symbol(E.b, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 0, 11)) -var a: any; ->a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 2, 3)) +declare var a: any; +>a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 2, 11)) -var b: void; ->b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 3, 3)) +declare var b: void; +>b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 3, 11)) -var x1: boolean; ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 3)) +declare var x1: boolean; +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 11)) x1 **= a; ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 3)) ->a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 2, 3)) +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 11)) +>a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 2, 11)) x1 **= b; ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 3)) ->b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 3, 3)) +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 11)) +>b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 3, 11)) x1 **= true; ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 11)) x1 **= 0; ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 11)) x1 **= '' ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 11)) x1 **= E.a; ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 11)) >E.a : Symbol(E.a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 0, 8)) >E : Symbol(E, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 0, 0)) >a : Symbol(E.a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 0, 8)) x1 **= {}; ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 11)) x1 **= null; ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 11)) x1 **= undefined; ->x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 3)) +>x1 : Symbol(x1, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 5, 11)) >undefined : Symbol(undefined) -var x2: string; ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 3)) +declare var x2: string; +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 11)) x2 **= a; ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 3)) ->a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 2, 3)) +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 11)) +>a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 2, 11)) x2 **= b; ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 3)) ->b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 3, 3)) +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 11)) +>b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 3, 11)) x2 **= true; ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 11)) x2 **= 0; ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 11)) x2 **= '' ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 11)) x2 **= E.a; ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 11)) >E.a : Symbol(E.a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 0, 8)) >E : Symbol(E, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 0, 0)) >a : Symbol(E.a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 0, 8)) x2 **= {}; ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 11)) x2 **= null; ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 11)) x2 **= undefined; ->x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 3)) +>x2 : Symbol(x2, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 16, 11)) >undefined : Symbol(undefined) -var x3: {}; ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 3)) +declare var x3: {}; +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 11)) x3 **= a; ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 3)) ->a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 2, 3)) +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 11)) +>a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 2, 11)) x3 **= b; ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 3)) ->b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 3, 3)) +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 11)) +>b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 3, 11)) x3 **= true; ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 11)) x3 **= 0; ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 11)) x3 **= '' ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 11)) x3 **= E.a; ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 11)) >E.a : Symbol(E.a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 0, 8)) >E : Symbol(E, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 0, 0)) >a : Symbol(E.a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 0, 8)) x3 **= {}; ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 11)) x3 **= null; ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 11)) x3 **= undefined; ->x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 3)) +>x3 : Symbol(x3, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 27, 11)) >undefined : Symbol(undefined) -var x4: void; ->x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 3)) +declare var x4: void; +>x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 11)) x4 **= a; ->x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 3)) ->a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 2, 3)) +>x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 11)) +>a : Symbol(a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 2, 11)) x4 **= b; ->x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 3)) ->b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 3, 3)) +>x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 11)) +>b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 3, 11)) x4 **= true; ->x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 3)) +>x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 11)) x4 **= 0; ->x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 3)) +>x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 11)) x4 **= '' ->x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 3)) +>x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 11)) x4 **= E.a; ->x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 3)) +>x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 11)) >E.a : Symbol(E.a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 0, 8)) >E : Symbol(E, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 0, 0)) >a : Symbol(E.a, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 0, 8)) x4 **= {}; ->x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 3)) +>x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 11)) x4 **= null; ->x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 3)) +>x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 11)) x4 **= undefined; ->x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 3)) +>x4 : Symbol(x4, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 38, 11)) >undefined : Symbol(undefined) -var x5: number; ->x5 : Symbol(x5, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 49, 3)) +declare var x5: number; +>x5 : Symbol(x5, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 49, 11)) x5 **= b; ->x5 : Symbol(x5, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 49, 3)) ->b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 3, 3)) +>x5 : Symbol(x5, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 49, 11)) +>b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 3, 11)) x5 **= true; ->x5 : Symbol(x5, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 49, 3)) +>x5 : Symbol(x5, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 49, 11)) x5 **= '' ->x5 : Symbol(x5, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 49, 3)) +>x5 : Symbol(x5, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 49, 11)) x5 **= {}; ->x5 : Symbol(x5, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 49, 3)) +>x5 : Symbol(x5, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 49, 11)) -var x6: E; ->x6 : Symbol(x6, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 55, 3)) +declare var x6: E; +>x6 : Symbol(x6, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 55, 11)) >E : Symbol(E, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 0, 0)) x6 **= b; ->x6 : Symbol(x6, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 55, 3)) ->b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 3, 3)) +>x6 : Symbol(x6, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 55, 11)) +>b : Symbol(b, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 3, 11)) x6 **= true; ->x6 : Symbol(x6, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 55, 3)) +>x6 : Symbol(x6, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 55, 11)) x6 **= '' ->x6 : Symbol(x6, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 55, 3)) +>x6 : Symbol(x6, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 55, 11)) x6 **= {}; ->x6 : Symbol(x6, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 55, 3)) +>x6 : Symbol(x6, Decl(compoundExponentiationAssignmentLHSCannotBeAssigned.ts, 55, 11)) diff --git a/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.types b/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.types index 83afe08a63f95..c09de0f22bc52 100644 --- a/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.types +++ b/tests/baselines/reference/compoundExponentiationAssignmentLHSCannotBeAssigned.types @@ -9,15 +9,15 @@ enum E { a, b } >b : E.b > : ^^^ -var a: any; +declare var a: any; >a : any > : ^^^ -var b: void; +declare var b: void; >b : void > : ^^^^ -var x1: boolean; +declare var x1: boolean; >x1 : boolean > : ^^^^^^^ @@ -95,7 +95,7 @@ x1 **= undefined; >undefined : undefined > : ^^^^^^^^^ -var x2: string; +declare var x2: string; >x2 : string > : ^^^^^^ @@ -173,7 +173,7 @@ x2 **= undefined; >undefined : undefined > : ^^^^^^^^^ -var x3: {}; +declare var x3: {}; >x3 : {} > : ^^ @@ -251,7 +251,7 @@ x3 **= undefined; >undefined : undefined > : ^^^^^^^^^ -var x4: void; +declare var x4: void; >x4 : void > : ^^^^ @@ -329,7 +329,7 @@ x4 **= undefined; >undefined : undefined > : ^^^^^^^^^ -var x5: number; +declare var x5: number; >x5 : number > : ^^^^^^ @@ -365,7 +365,7 @@ x5 **= {}; >{} : {} > : ^^ -var x6: E; +declare var x6: E; >x6 : E > : ^ diff --git a/tests/baselines/reference/computedPropertyNames51_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames51_ES5.errors.txt index 7cd91e44469a4..c85b1d2d0ee48 100644 --- a/tests/baselines/reference/computedPropertyNames51_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames51_ES5.errors.txt @@ -3,8 +3,8 @@ computedPropertyNames51_ES5.ts(5,9): error TS2464: A computed property name must ==== computedPropertyNames51_ES5.ts (1 errors) ==== function f() { - var t: T; - var k: K; + var t!: T; + var k!: K; var v = { [t]: 0, ~~~ diff --git a/tests/baselines/reference/computedPropertyNames51_ES5.js b/tests/baselines/reference/computedPropertyNames51_ES5.js index 8f59e10ace2cc..d784efd2e3fb5 100644 --- a/tests/baselines/reference/computedPropertyNames51_ES5.js +++ b/tests/baselines/reference/computedPropertyNames51_ES5.js @@ -2,8 +2,8 @@ //// [computedPropertyNames51_ES5.ts] function f() { - var t: T; - var k: K; + var t!: T; + var k!: K; var v = { [t]: 0, [k]: 1 diff --git a/tests/baselines/reference/computedPropertyNames51_ES5.symbols b/tests/baselines/reference/computedPropertyNames51_ES5.symbols index 8b030fb190d5d..3b1c0d19fc611 100644 --- a/tests/baselines/reference/computedPropertyNames51_ES5.symbols +++ b/tests/baselines/reference/computedPropertyNames51_ES5.symbols @@ -7,11 +7,11 @@ function f() { >K : Symbol(K, Decl(computedPropertyNames51_ES5.ts, 0, 13)) >T : Symbol(T, Decl(computedPropertyNames51_ES5.ts, 0, 11)) - var t: T; + var t!: T; >t : Symbol(t, Decl(computedPropertyNames51_ES5.ts, 1, 7)) >T : Symbol(T, Decl(computedPropertyNames51_ES5.ts, 0, 11)) - var k: K; + var k!: K; >k : Symbol(k, Decl(computedPropertyNames51_ES5.ts, 2, 7)) >K : Symbol(K, Decl(computedPropertyNames51_ES5.ts, 0, 13)) diff --git a/tests/baselines/reference/computedPropertyNames51_ES5.types b/tests/baselines/reference/computedPropertyNames51_ES5.types index c139cf77343d1..33190f25460c5 100644 --- a/tests/baselines/reference/computedPropertyNames51_ES5.types +++ b/tests/baselines/reference/computedPropertyNames51_ES5.types @@ -5,11 +5,11 @@ function f() { >f : () => void > : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^ - var t: T; + var t!: T; >t : T > : ^ - var k: K; + var k!: K; >k : K > : ^ diff --git a/tests/baselines/reference/computedPropertyNames51_ES6.errors.txt b/tests/baselines/reference/computedPropertyNames51_ES6.errors.txt index 0a54117c6982f..9b0eccf13da0a 100644 --- a/tests/baselines/reference/computedPropertyNames51_ES6.errors.txt +++ b/tests/baselines/reference/computedPropertyNames51_ES6.errors.txt @@ -3,8 +3,8 @@ computedPropertyNames51_ES6.ts(5,9): error TS2464: A computed property name must ==== computedPropertyNames51_ES6.ts (1 errors) ==== function f() { - var t: T; - var k: K; + var t!: T; + var k!: K; var v = { [t]: 0, ~~~ diff --git a/tests/baselines/reference/computedPropertyNames51_ES6.js b/tests/baselines/reference/computedPropertyNames51_ES6.js index 1473964dfcbd2..c01180775aadb 100644 --- a/tests/baselines/reference/computedPropertyNames51_ES6.js +++ b/tests/baselines/reference/computedPropertyNames51_ES6.js @@ -2,8 +2,8 @@ //// [computedPropertyNames51_ES6.ts] function f() { - var t: T; - var k: K; + var t!: T; + var k!: K; var v = { [t]: 0, [k]: 1 diff --git a/tests/baselines/reference/computedPropertyNames51_ES6.symbols b/tests/baselines/reference/computedPropertyNames51_ES6.symbols index 612941b024d25..eea607c932177 100644 --- a/tests/baselines/reference/computedPropertyNames51_ES6.symbols +++ b/tests/baselines/reference/computedPropertyNames51_ES6.symbols @@ -7,11 +7,11 @@ function f() { >K : Symbol(K, Decl(computedPropertyNames51_ES6.ts, 0, 13)) >T : Symbol(T, Decl(computedPropertyNames51_ES6.ts, 0, 11)) - var t: T; + var t!: T; >t : Symbol(t, Decl(computedPropertyNames51_ES6.ts, 1, 7)) >T : Symbol(T, Decl(computedPropertyNames51_ES6.ts, 0, 11)) - var k: K; + var k!: K; >k : Symbol(k, Decl(computedPropertyNames51_ES6.ts, 2, 7)) >K : Symbol(K, Decl(computedPropertyNames51_ES6.ts, 0, 13)) diff --git a/tests/baselines/reference/computedPropertyNames51_ES6.types b/tests/baselines/reference/computedPropertyNames51_ES6.types index 3b4865b6608fe..e618baebe4678 100644 --- a/tests/baselines/reference/computedPropertyNames51_ES6.types +++ b/tests/baselines/reference/computedPropertyNames51_ES6.types @@ -5,11 +5,11 @@ function f() { >f : () => void > : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^ - var t: T; + var t!: T; >t : T > : ^ - var k: K; + var k!: K; >k : K > : ^ diff --git a/tests/baselines/reference/computedPropertyNames5_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames5_ES5.errors.txt index 8f88e3427af05..ea3d175e86770 100644 --- a/tests/baselines/reference/computedPropertyNames5_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames5_ES5.errors.txt @@ -7,7 +7,7 @@ computedPropertyNames5_ES5.ts(8,5): error TS2464: A computed property name must ==== computedPropertyNames5_ES5.ts (6 errors) ==== - var b: boolean; + declare var b: boolean; var v = { [b]: 0, ~~~ diff --git a/tests/baselines/reference/computedPropertyNames5_ES5.js b/tests/baselines/reference/computedPropertyNames5_ES5.js index 5822708c34745..c39dc301a05eb 100644 --- a/tests/baselines/reference/computedPropertyNames5_ES5.js +++ b/tests/baselines/reference/computedPropertyNames5_ES5.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts] //// //// [computedPropertyNames5_ES5.ts] -var b: boolean; +declare var b: boolean; var v = { [b]: 0, [true]: 1, @@ -13,7 +13,6 @@ var v = { //// [computedPropertyNames5_ES5.js] var _a; -var b; var v = (_a = {}, _a[b] = 0, _a[true] = 1, diff --git a/tests/baselines/reference/computedPropertyNames5_ES5.symbols b/tests/baselines/reference/computedPropertyNames5_ES5.symbols index da2984c837a5c..b8ba63d6a8b26 100644 --- a/tests/baselines/reference/computedPropertyNames5_ES5.symbols +++ b/tests/baselines/reference/computedPropertyNames5_ES5.symbols @@ -1,15 +1,15 @@ //// [tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts] //// === computedPropertyNames5_ES5.ts === -var b: boolean; ->b : Symbol(b, Decl(computedPropertyNames5_ES5.ts, 0, 3)) +declare var b: boolean; +>b : Symbol(b, Decl(computedPropertyNames5_ES5.ts, 0, 11)) var v = { >v : Symbol(v, Decl(computedPropertyNames5_ES5.ts, 1, 3)) [b]: 0, >[b] : Symbol([b], Decl(computedPropertyNames5_ES5.ts, 1, 9)) ->b : Symbol(b, Decl(computedPropertyNames5_ES5.ts, 0, 3)) +>b : Symbol(b, Decl(computedPropertyNames5_ES5.ts, 0, 11)) [true]: 1, >[true] : Symbol([true], Decl(computedPropertyNames5_ES5.ts, 2, 11)) diff --git a/tests/baselines/reference/computedPropertyNames5_ES5.types b/tests/baselines/reference/computedPropertyNames5_ES5.types index d1648117a130a..d6f17696be667 100644 --- a/tests/baselines/reference/computedPropertyNames5_ES5.types +++ b/tests/baselines/reference/computedPropertyNames5_ES5.types @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts] //// === computedPropertyNames5_ES5.ts === -var b: boolean; +declare var b: boolean; >b : boolean > : ^^^^^^^ diff --git a/tests/baselines/reference/computedPropertyNames5_ES6.errors.txt b/tests/baselines/reference/computedPropertyNames5_ES6.errors.txt index 51cd1a410ca5f..7ab817a414c17 100644 --- a/tests/baselines/reference/computedPropertyNames5_ES6.errors.txt +++ b/tests/baselines/reference/computedPropertyNames5_ES6.errors.txt @@ -7,7 +7,7 @@ computedPropertyNames5_ES6.ts(8,5): error TS2464: A computed property name must ==== computedPropertyNames5_ES6.ts (6 errors) ==== - var b: boolean; + declare var b: boolean; var v = { [b]: 0, ~~~ diff --git a/tests/baselines/reference/computedPropertyNames5_ES6.js b/tests/baselines/reference/computedPropertyNames5_ES6.js index 3a82d263c8bb4..97b0076dc43cd 100644 --- a/tests/baselines/reference/computedPropertyNames5_ES6.js +++ b/tests/baselines/reference/computedPropertyNames5_ES6.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts] //// //// [computedPropertyNames5_ES6.ts] -var b: boolean; +declare var b: boolean; var v = { [b]: 0, [true]: 1, @@ -12,7 +12,6 @@ var v = { } //// [computedPropertyNames5_ES6.js] -var b; var v = { [b]: 0, [true]: 1, diff --git a/tests/baselines/reference/computedPropertyNames5_ES6.symbols b/tests/baselines/reference/computedPropertyNames5_ES6.symbols index e90793d047ba1..f3d7b67c42821 100644 --- a/tests/baselines/reference/computedPropertyNames5_ES6.symbols +++ b/tests/baselines/reference/computedPropertyNames5_ES6.symbols @@ -1,15 +1,15 @@ //// [tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts] //// === computedPropertyNames5_ES6.ts === -var b: boolean; ->b : Symbol(b, Decl(computedPropertyNames5_ES6.ts, 0, 3)) +declare var b: boolean; +>b : Symbol(b, Decl(computedPropertyNames5_ES6.ts, 0, 11)) var v = { >v : Symbol(v, Decl(computedPropertyNames5_ES6.ts, 1, 3)) [b]: 0, >[b] : Symbol([b], Decl(computedPropertyNames5_ES6.ts, 1, 9)) ->b : Symbol(b, Decl(computedPropertyNames5_ES6.ts, 0, 3)) +>b : Symbol(b, Decl(computedPropertyNames5_ES6.ts, 0, 11)) [true]: 1, >[true] : Symbol([true], Decl(computedPropertyNames5_ES6.ts, 2, 11)) diff --git a/tests/baselines/reference/computedPropertyNames5_ES6.types b/tests/baselines/reference/computedPropertyNames5_ES6.types index d70b053884281..376bf09d67578 100644 --- a/tests/baselines/reference/computedPropertyNames5_ES6.types +++ b/tests/baselines/reference/computedPropertyNames5_ES6.types @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts] //// === computedPropertyNames5_ES6.ts === -var b: boolean; +declare var b: boolean; >b : boolean > : ^^^^^^^ diff --git a/tests/baselines/reference/computedPropertyNames6_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames6_ES5.errors.txt index 2ea2bcb35de38..3cea957bee81d 100644 --- a/tests/baselines/reference/computedPropertyNames6_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames6_ES5.errors.txt @@ -3,9 +3,9 @@ computedPropertyNames6_ES5.ts(7,5): error TS2464: A computed property name must ==== computedPropertyNames6_ES5.ts (2 errors) ==== - var p1: number | string; - var p2: number | number[]; - var p3: string | boolean; + declare var p1: number | string; + declare var p2: number | number[]; + declare var p3: string | boolean; var v = { [p1]: 0, [p2]: 1, diff --git a/tests/baselines/reference/computedPropertyNames6_ES5.js b/tests/baselines/reference/computedPropertyNames6_ES5.js index fc1abd17f9b88..63193cbe7fe00 100644 --- a/tests/baselines/reference/computedPropertyNames6_ES5.js +++ b/tests/baselines/reference/computedPropertyNames6_ES5.js @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts] //// //// [computedPropertyNames6_ES5.ts] -var p1: number | string; -var p2: number | number[]; -var p3: string | boolean; +declare var p1: number | string; +declare var p2: number | number[]; +declare var p3: string | boolean; var v = { [p1]: 0, [p2]: 1, @@ -12,9 +12,6 @@ var v = { //// [computedPropertyNames6_ES5.js] var _a; -var p1; -var p2; -var p3; var v = (_a = {}, _a[p1] = 0, _a[p2] = 1, diff --git a/tests/baselines/reference/computedPropertyNames6_ES5.symbols b/tests/baselines/reference/computedPropertyNames6_ES5.symbols index 8d910158e3061..0293bec66339b 100644 --- a/tests/baselines/reference/computedPropertyNames6_ES5.symbols +++ b/tests/baselines/reference/computedPropertyNames6_ES5.symbols @@ -1,27 +1,27 @@ //// [tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts] //// === computedPropertyNames6_ES5.ts === -var p1: number | string; ->p1 : Symbol(p1, Decl(computedPropertyNames6_ES5.ts, 0, 3)) +declare var p1: number | string; +>p1 : Symbol(p1, Decl(computedPropertyNames6_ES5.ts, 0, 11)) -var p2: number | number[]; ->p2 : Symbol(p2, Decl(computedPropertyNames6_ES5.ts, 1, 3)) +declare var p2: number | number[]; +>p2 : Symbol(p2, Decl(computedPropertyNames6_ES5.ts, 1, 11)) -var p3: string | boolean; ->p3 : Symbol(p3, Decl(computedPropertyNames6_ES5.ts, 2, 3)) +declare var p3: string | boolean; +>p3 : Symbol(p3, Decl(computedPropertyNames6_ES5.ts, 2, 11)) var v = { >v : Symbol(v, Decl(computedPropertyNames6_ES5.ts, 3, 3)) [p1]: 0, >[p1] : Symbol([p1], Decl(computedPropertyNames6_ES5.ts, 3, 9)) ->p1 : Symbol(p1, Decl(computedPropertyNames6_ES5.ts, 0, 3)) +>p1 : Symbol(p1, Decl(computedPropertyNames6_ES5.ts, 0, 11)) [p2]: 1, >[p2] : Symbol([p2], Decl(computedPropertyNames6_ES5.ts, 4, 12)) ->p2 : Symbol(p2, Decl(computedPropertyNames6_ES5.ts, 1, 3)) +>p2 : Symbol(p2, Decl(computedPropertyNames6_ES5.ts, 1, 11)) [p3]: 2 >[p3] : Symbol([p3], Decl(computedPropertyNames6_ES5.ts, 5, 12)) ->p3 : Symbol(p3, Decl(computedPropertyNames6_ES5.ts, 2, 3)) +>p3 : Symbol(p3, Decl(computedPropertyNames6_ES5.ts, 2, 11)) } diff --git a/tests/baselines/reference/computedPropertyNames6_ES5.types b/tests/baselines/reference/computedPropertyNames6_ES5.types index 9008b073a471a..b99f392cb9054 100644 --- a/tests/baselines/reference/computedPropertyNames6_ES5.types +++ b/tests/baselines/reference/computedPropertyNames6_ES5.types @@ -1,15 +1,15 @@ //// [tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts] //// === computedPropertyNames6_ES5.ts === -var p1: number | string; +declare var p1: number | string; >p1 : string | number > : ^^^^^^^^^^^^^^^ -var p2: number | number[]; +declare var p2: number | number[]; >p2 : number | number[] > : ^^^^^^^^^^^^^^^^^ -var p3: string | boolean; +declare var p3: string | boolean; >p3 : string | boolean > : ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/computedPropertyNames6_ES6.errors.txt b/tests/baselines/reference/computedPropertyNames6_ES6.errors.txt index 5034f36388d2d..88fcaf53dd522 100644 --- a/tests/baselines/reference/computedPropertyNames6_ES6.errors.txt +++ b/tests/baselines/reference/computedPropertyNames6_ES6.errors.txt @@ -3,9 +3,9 @@ computedPropertyNames6_ES6.ts(7,5): error TS2464: A computed property name must ==== computedPropertyNames6_ES6.ts (2 errors) ==== - var p1: number | string; - var p2: number | number[]; - var p3: string | boolean; + declare var p1: number | string; + declare var p2: number | number[]; + declare var p3: string | boolean; var v = { [p1]: 0, [p2]: 1, diff --git a/tests/baselines/reference/computedPropertyNames6_ES6.js b/tests/baselines/reference/computedPropertyNames6_ES6.js index 6cb8298def46c..74c13b0c5eeaa 100644 --- a/tests/baselines/reference/computedPropertyNames6_ES6.js +++ b/tests/baselines/reference/computedPropertyNames6_ES6.js @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES6.ts] //// //// [computedPropertyNames6_ES6.ts] -var p1: number | string; -var p2: number | number[]; -var p3: string | boolean; +declare var p1: number | string; +declare var p2: number | number[]; +declare var p3: string | boolean; var v = { [p1]: 0, [p2]: 1, @@ -11,9 +11,6 @@ var v = { } //// [computedPropertyNames6_ES6.js] -var p1; -var p2; -var p3; var v = { [p1]: 0, [p2]: 1, diff --git a/tests/baselines/reference/computedPropertyNames6_ES6.symbols b/tests/baselines/reference/computedPropertyNames6_ES6.symbols index f40cc75dd979e..414c5829a6636 100644 --- a/tests/baselines/reference/computedPropertyNames6_ES6.symbols +++ b/tests/baselines/reference/computedPropertyNames6_ES6.symbols @@ -1,27 +1,27 @@ //// [tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES6.ts] //// === computedPropertyNames6_ES6.ts === -var p1: number | string; ->p1 : Symbol(p1, Decl(computedPropertyNames6_ES6.ts, 0, 3)) +declare var p1: number | string; +>p1 : Symbol(p1, Decl(computedPropertyNames6_ES6.ts, 0, 11)) -var p2: number | number[]; ->p2 : Symbol(p2, Decl(computedPropertyNames6_ES6.ts, 1, 3)) +declare var p2: number | number[]; +>p2 : Symbol(p2, Decl(computedPropertyNames6_ES6.ts, 1, 11)) -var p3: string | boolean; ->p3 : Symbol(p3, Decl(computedPropertyNames6_ES6.ts, 2, 3)) +declare var p3: string | boolean; +>p3 : Symbol(p3, Decl(computedPropertyNames6_ES6.ts, 2, 11)) var v = { >v : Symbol(v, Decl(computedPropertyNames6_ES6.ts, 3, 3)) [p1]: 0, >[p1] : Symbol([p1], Decl(computedPropertyNames6_ES6.ts, 3, 9)) ->p1 : Symbol(p1, Decl(computedPropertyNames6_ES6.ts, 0, 3)) +>p1 : Symbol(p1, Decl(computedPropertyNames6_ES6.ts, 0, 11)) [p2]: 1, >[p2] : Symbol([p2], Decl(computedPropertyNames6_ES6.ts, 4, 12)) ->p2 : Symbol(p2, Decl(computedPropertyNames6_ES6.ts, 1, 3)) +>p2 : Symbol(p2, Decl(computedPropertyNames6_ES6.ts, 1, 11)) [p3]: 2 >[p3] : Symbol([p3], Decl(computedPropertyNames6_ES6.ts, 5, 12)) ->p3 : Symbol(p3, Decl(computedPropertyNames6_ES6.ts, 2, 3)) +>p3 : Symbol(p3, Decl(computedPropertyNames6_ES6.ts, 2, 11)) } diff --git a/tests/baselines/reference/computedPropertyNames6_ES6.types b/tests/baselines/reference/computedPropertyNames6_ES6.types index aaf0013097b9e..a6c89473ba6d7 100644 --- a/tests/baselines/reference/computedPropertyNames6_ES6.types +++ b/tests/baselines/reference/computedPropertyNames6_ES6.types @@ -1,15 +1,15 @@ //// [tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES6.ts] //// === computedPropertyNames6_ES6.ts === -var p1: number | string; +declare var p1: number | string; >p1 : string | number > : ^^^^^^^^^^^^^^^ -var p2: number | number[]; +declare var p2: number | number[]; >p2 : number | number[] > : ^^^^^^^^^^^^^^^^^ -var p3: string | boolean; +declare var p3: string | boolean; >p3 : string | boolean > : ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/computedPropertyNames8_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames8_ES5.errors.txt index 2a7c1dde2d8d0..a0e2cb036051a 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames8_ES5.errors.txt @@ -3,8 +3,8 @@ computedPropertyNames8_ES5.ts(5,9): error TS2464: A computed property name must ==== computedPropertyNames8_ES5.ts (1 errors) ==== function f() { - var t: T; - var u: U; + var t!: T; + var u!: U; var v = { [t]: 0, ~~~ diff --git a/tests/baselines/reference/computedPropertyNames8_ES5.js b/tests/baselines/reference/computedPropertyNames8_ES5.js index 8ce287735e590..cb9359fba6d28 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES5.js +++ b/tests/baselines/reference/computedPropertyNames8_ES5.js @@ -2,8 +2,8 @@ //// [computedPropertyNames8_ES5.ts] function f() { - var t: T; - var u: U; + var t!: T; + var u!: U; var v = { [t]: 0, [u]: 1 diff --git a/tests/baselines/reference/computedPropertyNames8_ES5.symbols b/tests/baselines/reference/computedPropertyNames8_ES5.symbols index 5cd2b32bf90d8..ebe17ea9a5801 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES5.symbols +++ b/tests/baselines/reference/computedPropertyNames8_ES5.symbols @@ -6,11 +6,11 @@ function f() { >T : Symbol(T, Decl(computedPropertyNames8_ES5.ts, 0, 11)) >U : Symbol(U, Decl(computedPropertyNames8_ES5.ts, 0, 13)) - var t: T; + var t!: T; >t : Symbol(t, Decl(computedPropertyNames8_ES5.ts, 1, 7)) >T : Symbol(T, Decl(computedPropertyNames8_ES5.ts, 0, 11)) - var u: U; + var u!: U; >u : Symbol(u, Decl(computedPropertyNames8_ES5.ts, 2, 7)) >U : Symbol(U, Decl(computedPropertyNames8_ES5.ts, 0, 13)) diff --git a/tests/baselines/reference/computedPropertyNames8_ES5.types b/tests/baselines/reference/computedPropertyNames8_ES5.types index 7cdc03cf6167d..3ed0395ef2657 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES5.types +++ b/tests/baselines/reference/computedPropertyNames8_ES5.types @@ -5,11 +5,11 @@ function f() { >f : () => void > : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^ - var t: T; + var t!: T; >t : T > : ^ - var u: U; + var u!: U; >u : U > : ^ diff --git a/tests/baselines/reference/computedPropertyNames8_ES6.errors.txt b/tests/baselines/reference/computedPropertyNames8_ES6.errors.txt index d35c2c9c9abab..2a59b61d7bba0 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES6.errors.txt +++ b/tests/baselines/reference/computedPropertyNames8_ES6.errors.txt @@ -3,8 +3,8 @@ computedPropertyNames8_ES6.ts(5,9): error TS2464: A computed property name must ==== computedPropertyNames8_ES6.ts (1 errors) ==== function f() { - var t: T; - var u: U; + var t!: T; + var u!: U; var v = { [t]: 0, ~~~ diff --git a/tests/baselines/reference/computedPropertyNames8_ES6.js b/tests/baselines/reference/computedPropertyNames8_ES6.js index bce786005134c..02c894eedf2e7 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES6.js +++ b/tests/baselines/reference/computedPropertyNames8_ES6.js @@ -2,8 +2,8 @@ //// [computedPropertyNames8_ES6.ts] function f() { - var t: T; - var u: U; + var t!: T; + var u!: U; var v = { [t]: 0, [u]: 1 diff --git a/tests/baselines/reference/computedPropertyNames8_ES6.symbols b/tests/baselines/reference/computedPropertyNames8_ES6.symbols index 327a6eac8bed8..cdca55a3021d8 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES6.symbols +++ b/tests/baselines/reference/computedPropertyNames8_ES6.symbols @@ -6,11 +6,11 @@ function f() { >T : Symbol(T, Decl(computedPropertyNames8_ES6.ts, 0, 11)) >U : Symbol(U, Decl(computedPropertyNames8_ES6.ts, 0, 13)) - var t: T; + var t!: T; >t : Symbol(t, Decl(computedPropertyNames8_ES6.ts, 1, 7)) >T : Symbol(T, Decl(computedPropertyNames8_ES6.ts, 0, 11)) - var u: U; + var u!: U; >u : Symbol(u, Decl(computedPropertyNames8_ES6.ts, 2, 7)) >U : Symbol(U, Decl(computedPropertyNames8_ES6.ts, 0, 13)) diff --git a/tests/baselines/reference/computedPropertyNames8_ES6.types b/tests/baselines/reference/computedPropertyNames8_ES6.types index 11427d48dd2ee..6f20bdb427d9d 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES6.types +++ b/tests/baselines/reference/computedPropertyNames8_ES6.types @@ -5,11 +5,11 @@ function f() { >f : () => void > : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^ - var t: T; + var t!: T; >t : T > : ^ - var u: U; + var u!: U; >u : U > : ^ diff --git a/tests/baselines/reference/conditionalOperatorConditionIsNumberType.errors.txt b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.errors.txt index dfc26d8324850..8d09a80a995e5 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsNumberType.errors.txt +++ b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.errors.txt @@ -8,19 +8,19 @@ conditionalOperatorConditionIsNumberType.ts(56,32): error TS2872: This kind of e ==== conditionalOperatorConditionIsNumberType.ts (6 errors) ==== //Cond ? Expr1 : Expr2, Cond is of number type, Expr1 and Expr2 have the same type - var condNumber: number; + declare var condNumber: number; - var exprAny1: any; - var exprBoolean1: boolean; - var exprNumber1: number; - var exprString1: string; - var exprIsObject1: Object; + declare var exprAny1: any; + declare var exprBoolean1: boolean; + declare var exprNumber1: number; + declare var exprString1: string; + declare var exprIsObject1: Object; - var exprAny2: any; - var exprBoolean2: boolean; - var exprNumber2: number; - var exprString2: string; - var exprIsObject2: Object; + declare var exprAny2: any; + declare var exprBoolean2: boolean; + declare var exprNumber2: number; + declare var exprString2: string; + declare var exprIsObject2: Object; //Cond is a number type variable condNumber ? exprAny1 : exprAny2; diff --git a/tests/baselines/reference/conditionalOperatorConditionIsNumberType.js b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.js index 0a529636d63c8..49d2a4d2b3975 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsNumberType.js +++ b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.js @@ -2,19 +2,19 @@ //// [conditionalOperatorConditionIsNumberType.ts] //Cond ? Expr1 : Expr2, Cond is of number type, Expr1 and Expr2 have the same type -var condNumber: number; +declare var condNumber: number; -var exprAny1: any; -var exprBoolean1: boolean; -var exprNumber1: number; -var exprString1: string; -var exprIsObject1: Object; +declare var exprAny1: any; +declare var exprBoolean1: boolean; +declare var exprNumber1: number; +declare var exprString1: string; +declare var exprIsObject1: Object; -var exprAny2: any; -var exprBoolean2: boolean; -var exprNumber2: number; -var exprString2: string; -var exprIsObject2: Object; +declare var exprAny2: any; +declare var exprBoolean2: boolean; +declare var exprNumber2: number; +declare var exprString2: string; +declare var exprIsObject2: Object; //Cond is a number type variable condNumber ? exprAny1 : exprAny2; @@ -66,18 +66,6 @@ var resultIsObject3 = foo() / array[1] ? exprIsObject1 : exprIsObject2; var resultIsStringOrBoolean3 = foo() / array[1] ? exprString1 : exprBoolean1; // Union //// [conditionalOperatorConditionIsNumberType.js] -//Cond ? Expr1 : Expr2, Cond is of number type, Expr1 and Expr2 have the same type -var condNumber; -var exprAny1; -var exprBoolean1; -var exprNumber1; -var exprString1; -var exprIsObject1; -var exprAny2; -var exprBoolean2; -var exprNumber2; -var exprString2; -var exprIsObject2; //Cond is a number type variable condNumber ? exprAny1 : exprAny2; condNumber ? exprBoolean1 : exprBoolean2; diff --git a/tests/baselines/reference/conditionalOperatorConditionIsNumberType.symbols b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.symbols index f7414e85595e5..54fe3d4cf5c4c 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsNumberType.symbols +++ b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.symbols @@ -2,96 +2,96 @@ === conditionalOperatorConditionIsNumberType.ts === //Cond ? Expr1 : Expr2, Cond is of number type, Expr1 and Expr2 have the same type -var condNumber: number; ->condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 3)) +declare var condNumber: number; +>condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 11)) -var exprAny1: any; ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsNumberType.ts, 3, 3)) +declare var exprAny1: any; +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsNumberType.ts, 3, 11)) -var exprBoolean1: boolean; ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 3)) +declare var exprBoolean1: boolean; +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 11)) -var exprNumber1: number; ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 3)) +declare var exprNumber1: number; +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 11)) -var exprString1: string; ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 3)) +declare var exprString1: string; +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 11)) -var exprIsObject1: Object; ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 7, 3)) +declare var exprIsObject1: Object; +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 7, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) -var exprAny2: any; ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 9, 3)) +declare var exprAny2: any; +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 9, 11)) -var exprBoolean2: boolean; ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 10, 3)) +declare var exprBoolean2: boolean; +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 10, 11)) -var exprNumber2: number; ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 3)) +declare var exprNumber2: number; +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 11)) -var exprString2: string; ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsNumberType.ts, 12, 3)) +declare var exprString2: string; +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsNumberType.ts, 12, 11)) -var exprIsObject2: Object; ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 13, 3)) +declare var exprIsObject2: Object; +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 13, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) //Cond is a number type variable condNumber ? exprAny1 : exprAny2; ->condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsNumberType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 9, 3)) +>condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 11)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsNumberType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 9, 11)) condNumber ? exprBoolean1 : exprBoolean2; ->condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 10, 3)) +>condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 10, 11)) condNumber ? exprNumber1 : exprNumber2; ->condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 3)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 3)) +>condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 11)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 11)) condNumber ? exprString1 : exprString2; ->condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsNumberType.ts, 12, 3)) +>condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsNumberType.ts, 12, 11)) condNumber ? exprIsObject1 : exprIsObject2; ->condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 13, 3)) +>condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 11)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 13, 11)) condNumber ? exprString1 : exprBoolean1; // Union ->condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 3)) +>condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 11)) //Cond is a number type literal 1 ? exprAny1 : exprAny2; ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsNumberType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 9, 3)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsNumberType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 9, 11)) 0 ? exprBoolean1 : exprBoolean2; ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 10, 3)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 10, 11)) 0.123456789 ? exprNumber1 : exprNumber2; ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 3)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 11)) - 10000000000000 ? exprString1 : exprString2; ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsNumberType.ts, 12, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsNumberType.ts, 12, 11)) 1000000000000 ? exprIsObject1 : exprIsObject2; ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 13, 3)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 13, 11)) 10000 ? exprString1 : exprBoolean1; // Union ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 11)) //Cond is a number type expression function foo() { return 1 }; @@ -101,136 +101,136 @@ var array = [1, 2, 3]; >array : Symbol(array, Decl(conditionalOperatorConditionIsNumberType.ts, 33, 3)) 1 * 0 ? exprAny1 : exprAny2; ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsNumberType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 9, 3)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsNumberType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 9, 11)) 1 + 1 ? exprBoolean1 : exprBoolean2; ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 10, 3)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 10, 11)) "string".length ? exprNumber1 : exprNumber2; >"string".length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 3)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 11)) foo() ? exprString1 : exprString2; >foo : Symbol(foo, Decl(conditionalOperatorConditionIsNumberType.ts, 29, 35)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsNumberType.ts, 12, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsNumberType.ts, 12, 11)) foo() / array[1] ? exprIsObject1 : exprIsObject2; >foo : Symbol(foo, Decl(conditionalOperatorConditionIsNumberType.ts, 29, 35)) >array : Symbol(array, Decl(conditionalOperatorConditionIsNumberType.ts, 33, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 13, 3)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 13, 11)) foo() ? exprString1 : exprBoolean1; // Union >foo : Symbol(foo, Decl(conditionalOperatorConditionIsNumberType.ts, 29, 35)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 11)) //Results shoud be same as Expr1 and Expr2 var resultIsAny1 = condNumber ? exprAny1 : exprAny2; >resultIsAny1 : Symbol(resultIsAny1, Decl(conditionalOperatorConditionIsNumberType.ts, 43, 3)) ->condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsNumberType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 9, 3)) +>condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 11)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsNumberType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 9, 11)) var resultIsBoolean1 = condNumber ? exprBoolean1 : exprBoolean2; >resultIsBoolean1 : Symbol(resultIsBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 44, 3)) ->condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 10, 3)) +>condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 10, 11)) var resultIsNumber1 = condNumber ? exprNumber1 : exprNumber2; >resultIsNumber1 : Symbol(resultIsNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 45, 3)) ->condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 3)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 3)) +>condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 11)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 11)) var resultIsString1 = condNumber ? exprString1 : exprString2; >resultIsString1 : Symbol(resultIsString1, Decl(conditionalOperatorConditionIsNumberType.ts, 46, 3)) ->condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsNumberType.ts, 12, 3)) +>condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsNumberType.ts, 12, 11)) var resultIsObject1 = condNumber ? exprIsObject1 : exprIsObject2; >resultIsObject1 : Symbol(resultIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 47, 3)) ->condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 13, 3)) +>condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 11)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 13, 11)) var resultIsStringOrBoolean1 = condNumber ? exprString1 : exprBoolean1; // Union >resultIsStringOrBoolean1 : Symbol(resultIsStringOrBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 48, 3)) ->condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 3)) +>condNumber : Symbol(condNumber, Decl(conditionalOperatorConditionIsNumberType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 11)) var resultIsAny2 = 1 ? exprAny1 : exprAny2; >resultIsAny2 : Symbol(resultIsAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 50, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsNumberType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 9, 3)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsNumberType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 9, 11)) var resultIsBoolean2 = 0 ? exprBoolean1 : exprBoolean2; >resultIsBoolean2 : Symbol(resultIsBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 51, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 10, 3)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 10, 11)) var resultIsNumber2 = 0.123456789 ? exprNumber1 : exprNumber2; >resultIsNumber2 : Symbol(resultIsNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 52, 3)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 3)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 11)) var resultIsString2 = - 10000000000000 ? exprString1 : exprString2; >resultIsString2 : Symbol(resultIsString2, Decl(conditionalOperatorConditionIsNumberType.ts, 53, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsNumberType.ts, 12, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsNumberType.ts, 12, 11)) var resultIsObject2 = 1000000000000 ? exprIsObject1 : exprIsObject2; >resultIsObject2 : Symbol(resultIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 54, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 13, 3)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 13, 11)) var resultIsStringOrBoolean2 = 10000 ? exprString1 : exprBoolean1; // Union >resultIsStringOrBoolean2 : Symbol(resultIsStringOrBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 55, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 11)) var resultIsAny3 = 1 * 0 ? exprAny1 : exprAny2; >resultIsAny3 : Symbol(resultIsAny3, Decl(conditionalOperatorConditionIsNumberType.ts, 57, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsNumberType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 9, 3)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsNumberType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 9, 11)) var resultIsBoolean3 = 1 + 1 ? exprBoolean1 : exprBoolean2; >resultIsBoolean3 : Symbol(resultIsBoolean3, Decl(conditionalOperatorConditionIsNumberType.ts, 58, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 10, 3)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 10, 11)) var resultIsNumber3 = "string".length ? exprNumber1 : exprNumber2; >resultIsNumber3 : Symbol(resultIsNumber3, Decl(conditionalOperatorConditionIsNumberType.ts, 59, 3)) >"string".length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 3)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 11)) var resultIsString3 = foo() ? exprString1 : exprString2; >resultIsString3 : Symbol(resultIsString3, Decl(conditionalOperatorConditionIsNumberType.ts, 60, 3)) >foo : Symbol(foo, Decl(conditionalOperatorConditionIsNumberType.ts, 29, 35)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsNumberType.ts, 12, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsNumberType.ts, 12, 11)) var resultIsObject3 = foo() / array[1] ? exprIsObject1 : exprIsObject2; >resultIsObject3 : Symbol(resultIsObject3, Decl(conditionalOperatorConditionIsNumberType.ts, 61, 3)) >foo : Symbol(foo, Decl(conditionalOperatorConditionIsNumberType.ts, 29, 35)) >array : Symbol(array, Decl(conditionalOperatorConditionIsNumberType.ts, 33, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 13, 3)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 13, 11)) var resultIsStringOrBoolean3 = foo() / array[1] ? exprString1 : exprBoolean1; // Union >resultIsStringOrBoolean3 : Symbol(resultIsStringOrBoolean3, Decl(conditionalOperatorConditionIsNumberType.ts, 62, 3)) >foo : Symbol(foo, Decl(conditionalOperatorConditionIsNumberType.ts, 29, 35)) >array : Symbol(array, Decl(conditionalOperatorConditionIsNumberType.ts, 33, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsNumberType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsNumberType.ts, 4, 11)) diff --git a/tests/baselines/reference/conditionalOperatorConditionIsNumberType.types b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.types index 86fcebd2a4e87..96abc8f7047ff 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsNumberType.types +++ b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.types @@ -2,47 +2,47 @@ === conditionalOperatorConditionIsNumberType.ts === //Cond ? Expr1 : Expr2, Cond is of number type, Expr1 and Expr2 have the same type -var condNumber: number; +declare var condNumber: number; >condNumber : number > : ^^^^^^ -var exprAny1: any; +declare var exprAny1: any; >exprAny1 : any > : ^^^ -var exprBoolean1: boolean; +declare var exprBoolean1: boolean; >exprBoolean1 : boolean > : ^^^^^^^ -var exprNumber1: number; +declare var exprNumber1: number; >exprNumber1 : number > : ^^^^^^ -var exprString1: string; +declare var exprString1: string; >exprString1 : string > : ^^^^^^ -var exprIsObject1: Object; +declare var exprIsObject1: Object; >exprIsObject1 : Object > : ^^^^^^ -var exprAny2: any; +declare var exprAny2: any; >exprAny2 : any > : ^^^ -var exprBoolean2: boolean; +declare var exprBoolean2: boolean; >exprBoolean2 : boolean > : ^^^^^^^ -var exprNumber2: number; +declare var exprNumber2: number; >exprNumber2 : number > : ^^^^^^ -var exprString2: string; +declare var exprString2: string; >exprString2 : string > : ^^^^^^ -var exprIsObject2: Object; +declare var exprIsObject2: Object; >exprIsObject2 : Object > : ^^^^^^ diff --git a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.errors.txt b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.errors.txt index d5388838074c9..df84078324dc3 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.errors.txt +++ b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.errors.txt @@ -19,19 +19,19 @@ conditionalOperatorConditionIsObjectType.ts(63,32): error TS1345: An expression ==== conditionalOperatorConditionIsObjectType.ts (17 errors) ==== //Cond ? Expr1 : Expr2, Cond is of object type, Expr1 and Expr2 have the same type - var condObject: Object; + declare var condObject: Object; - var exprAny1: any; - var exprBoolean1: boolean; - var exprNumber1: number; - var exprString1: string; - var exprIsObject1: Object; + declare var exprAny1: any; + declare var exprBoolean1: boolean; + declare var exprNumber1: number; + declare var exprString1: string; + declare var exprIsObject1: Object; - var exprAny2: any; - var exprBoolean2: boolean; - var exprNumber2: number; - var exprString2: string; - var exprIsObject2: Object; + declare var exprAny2: any; + declare var exprBoolean2: boolean; + declare var exprNumber2: number; + declare var exprString2: string; + declare var exprIsObject2: Object; function foo() { }; class C { static doIt: () => void }; diff --git a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.js b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.js index e9f5eee2e5538..dd8a5c26dc179 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.js +++ b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.js @@ -2,19 +2,19 @@ //// [conditionalOperatorConditionIsObjectType.ts] //Cond ? Expr1 : Expr2, Cond is of object type, Expr1 and Expr2 have the same type -var condObject: Object; +declare var condObject: Object; -var exprAny1: any; -var exprBoolean1: boolean; -var exprNumber1: number; -var exprString1: string; -var exprIsObject1: Object; +declare var exprAny1: any; +declare var exprBoolean1: boolean; +declare var exprNumber1: number; +declare var exprString1: string; +declare var exprIsObject1: Object; -var exprAny2: any; -var exprBoolean2: boolean; -var exprNumber2: number; -var exprString2: string; -var exprIsObject2: Object; +declare var exprAny2: any; +declare var exprBoolean2: boolean; +declare var exprNumber2: number; +declare var exprString2: string; +declare var exprIsObject2: Object; function foo() { }; class C { static doIt: () => void }; @@ -67,18 +67,6 @@ var resultIsStringOrBoolean3 = C.doIt() ? exprString1 : exprBoolean1; // union //// [conditionalOperatorConditionIsObjectType.js] -//Cond ? Expr1 : Expr2, Cond is of object type, Expr1 and Expr2 have the same type -var condObject; -var exprAny1; -var exprBoolean1; -var exprNumber1; -var exprString1; -var exprIsObject1; -var exprAny2; -var exprBoolean2; -var exprNumber2; -var exprString2; -var exprIsObject2; function foo() { } ; var C = /** @class */ (function () { diff --git a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.symbols b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.symbols index e38d04e2f8596..50085adc0c151 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.symbols +++ b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.symbols @@ -2,44 +2,44 @@ === conditionalOperatorConditionIsObjectType.ts === //Cond ? Expr1 : Expr2, Cond is of object type, Expr1 and Expr2 have the same type -var condObject: Object; ->condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) +declare var condObject: Object; +>condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) -var exprAny1: any; ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 3)) +declare var exprAny1: any; +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 11)) -var exprBoolean1: boolean; ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) +declare var exprBoolean1: boolean; +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 11)) -var exprNumber1: number; ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsObjectType.ts, 5, 3)) +declare var exprNumber1: number; +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsObjectType.ts, 5, 11)) -var exprString1: string; ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 3)) +declare var exprString1: string; +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 11)) -var exprIsObject1: Object; ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 3)) +declare var exprIsObject1: Object; +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) -var exprAny2: any; ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 3)) +declare var exprAny2: any; +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 11)) -var exprBoolean2: boolean; ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 3)) +declare var exprBoolean2: boolean; +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 11)) -var exprNumber2: number; ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsObjectType.ts, 11, 3)) +declare var exprNumber2: number; +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsObjectType.ts, 11, 11)) -var exprString2: string; ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsObjectType.ts, 12, 3)) +declare var exprString2: string; +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsObjectType.ts, 12, 11)) -var exprIsObject2: Object; ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 3)) +declare var exprIsObject2: Object; +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo() { }; ->foo : Symbol(foo, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 26)) +>foo : Symbol(foo, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 34)) class C { static doIt: () => void }; >C : Symbol(C, Decl(conditionalOperatorConditionIsObjectType.ts, 15, 19)) @@ -47,34 +47,34 @@ class C { static doIt: () => void }; //Cond is an object type variable condObject ? exprAny1 : exprAny2; ->condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 3)) +>condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 11)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 11)) condObject ? exprBoolean1 : exprBoolean2; ->condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 3)) +>condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 11)) condObject ? exprNumber1 : exprNumber2; ->condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsObjectType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsObjectType.ts, 11, 3)) +>condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 11)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsObjectType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsObjectType.ts, 11, 11)) condObject ? exprString1 : exprString2; ->condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsObjectType.ts, 12, 3)) +>condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsObjectType.ts, 12, 11)) condObject ? exprIsObject1 : exprIsObject2; ->condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 3)) +>condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 11)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 11)) condObject ? exprString1 : exprBoolean1; // union ->condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) +>condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 11)) //Cond is an object type literal ((a: string) => a.length) ? exprAny1 : exprAny2; @@ -82,110 +82,110 @@ condObject ? exprString1 : exprBoolean1; // union >a.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 27, 2)) >length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 3)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 11)) ((a: string) => a.length) ? exprBoolean1 : exprBoolean2; >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 28, 2)) >a.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 28, 2)) >length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 3)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 11)) ({}) ? exprNumber1 : exprNumber2; ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsObjectType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsObjectType.ts, 11, 3)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsObjectType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsObjectType.ts, 11, 11)) ({ a: 1, b: "s" }) ? exprString1 : exprString2; >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 30, 2)) >b : Symbol(b, Decl(conditionalOperatorConditionIsObjectType.ts, 30, 8)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsObjectType.ts, 12, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsObjectType.ts, 12, 11)) ({ a: 1, b: "s" }) ? exprIsObject1 : exprIsObject2; >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 31, 2)) >b : Symbol(b, Decl(conditionalOperatorConditionIsObjectType.ts, 31, 8)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 3)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 11)) ({ a: 1, b: "s" }) ? exprString1: exprBoolean1; // union >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 32, 2)) >b : Symbol(b, Decl(conditionalOperatorConditionIsObjectType.ts, 32, 8)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 11)) //Cond is an object type expression foo() ? exprAny1 : exprAny2; ->foo : Symbol(foo, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 26)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 3)) +>foo : Symbol(foo, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 34)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 11)) new Date() ? exprBoolean1 : exprBoolean2; >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 3)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 11)) new C() ? exprNumber1 : exprNumber2; >C : Symbol(C, Decl(conditionalOperatorConditionIsObjectType.ts, 15, 19)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsObjectType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsObjectType.ts, 11, 3)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsObjectType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsObjectType.ts, 11, 11)) C.doIt() ? exprString1 : exprString2; >C.doIt : Symbol(C.doIt, Decl(conditionalOperatorConditionIsObjectType.ts, 16, 9)) >C : Symbol(C, Decl(conditionalOperatorConditionIsObjectType.ts, 15, 19)) >doIt : Symbol(C.doIt, Decl(conditionalOperatorConditionIsObjectType.ts, 16, 9)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsObjectType.ts, 12, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsObjectType.ts, 12, 11)) condObject.valueOf() ? exprIsObject1 : exprIsObject2; >condObject.valueOf : Symbol(Object.valueOf, Decl(lib.es5.d.ts, --, --)) ->condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) +>condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 11)) >valueOf : Symbol(Object.valueOf, Decl(lib.es5.d.ts, --, --)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 3)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 11)) new Date() ? exprString1 : exprBoolean1; // union >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 11)) //Results shoud be same as Expr1 and Expr2 var resultIsAny1 = condObject ? exprAny1 : exprAny2; >resultIsAny1 : Symbol(resultIsAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 43, 3)) ->condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 3)) +>condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 11)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 11)) var resultIsBoolean1 = condObject ? exprBoolean1 : exprBoolean2; >resultIsBoolean1 : Symbol(resultIsBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 44, 3)) ->condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 3)) +>condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 11)) var resultIsNumber1 = condObject ? exprNumber1 : exprNumber2; >resultIsNumber1 : Symbol(resultIsNumber1, Decl(conditionalOperatorConditionIsObjectType.ts, 45, 3)) ->condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsObjectType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsObjectType.ts, 11, 3)) +>condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 11)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsObjectType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsObjectType.ts, 11, 11)) var resultIsString1 = condObject ? exprString1 : exprString2; >resultIsString1 : Symbol(resultIsString1, Decl(conditionalOperatorConditionIsObjectType.ts, 46, 3)) ->condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsObjectType.ts, 12, 3)) +>condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsObjectType.ts, 12, 11)) var resultIsObject1 = condObject ? exprIsObject1 : exprIsObject2; >resultIsObject1 : Symbol(resultIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 47, 3)) ->condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 3)) +>condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 11)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 11)) var resultIsStringOrBoolean1 = condObject ? exprString1 : exprBoolean1; // union >resultIsStringOrBoolean1 : Symbol(resultIsStringOrBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 48, 3)) ->condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) +>condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 11)) var resultIsAny2 = ((a: string) => a.length) ? exprAny1 : exprAny2; >resultIsAny2 : Symbol(resultIsAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 50, 3)) @@ -193,8 +193,8 @@ var resultIsAny2 = ((a: string) => a.length) ? exprAny1 : exprAny2; >a.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 50, 21)) >length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 3)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 11)) var resultIsBoolean2 = ((a: string) => a.length) ? exprBoolean1 : exprBoolean2; >resultIsBoolean2 : Symbol(resultIsBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 51, 3)) @@ -202,74 +202,74 @@ var resultIsBoolean2 = ((a: string) => a.length) ? exprBoolean1 : exprBoolean2; >a.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 51, 25)) >length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 3)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 11)) var resultIsNumber2 = ({}) ? exprNumber1 : exprNumber2; >resultIsNumber2 : Symbol(resultIsNumber2, Decl(conditionalOperatorConditionIsObjectType.ts, 52, 3)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsObjectType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsObjectType.ts, 11, 3)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsObjectType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsObjectType.ts, 11, 11)) var resultIsString2 = ({ a: 1, b: "s" }) ? exprString1 : exprString2; >resultIsString2 : Symbol(resultIsString2, Decl(conditionalOperatorConditionIsObjectType.ts, 53, 3)) >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 53, 24)) >b : Symbol(b, Decl(conditionalOperatorConditionIsObjectType.ts, 53, 30)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsObjectType.ts, 12, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsObjectType.ts, 12, 11)) var resultIsObject2 = ({ a: 1, b: "s" }) ? exprIsObject1 : exprIsObject2; >resultIsObject2 : Symbol(resultIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 54, 3)) >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 54, 24)) >b : Symbol(b, Decl(conditionalOperatorConditionIsObjectType.ts, 54, 30)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 3)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 11)) var resultIsStringOrBoolean2 = ({ a: 1, b: "s" }) ? exprString1 : exprBoolean1; // union >resultIsStringOrBoolean2 : Symbol(resultIsStringOrBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 55, 3)) >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 55, 33)) >b : Symbol(b, Decl(conditionalOperatorConditionIsObjectType.ts, 55, 39)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 11)) var resultIsAny3 = foo() ? exprAny1 : exprAny2; >resultIsAny3 : Symbol(resultIsAny3, Decl(conditionalOperatorConditionIsObjectType.ts, 57, 3)) ->foo : Symbol(foo, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 26)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 3)) +>foo : Symbol(foo, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 34)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 11)) var resultIsBoolean3 = new Date() ? exprBoolean1 : exprBoolean2; >resultIsBoolean3 : Symbol(resultIsBoolean3, Decl(conditionalOperatorConditionIsObjectType.ts, 58, 3)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 3)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 11)) var resultIsNumber3 = new C() ? exprNumber1 : exprNumber2; >resultIsNumber3 : Symbol(resultIsNumber3, Decl(conditionalOperatorConditionIsObjectType.ts, 59, 3)) >C : Symbol(C, Decl(conditionalOperatorConditionIsObjectType.ts, 15, 19)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsObjectType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsObjectType.ts, 11, 3)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsObjectType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsObjectType.ts, 11, 11)) var resultIsString3 = C.doIt() ? exprString1 : exprString2; >resultIsString3 : Symbol(resultIsString3, Decl(conditionalOperatorConditionIsObjectType.ts, 60, 3)) >C.doIt : Symbol(C.doIt, Decl(conditionalOperatorConditionIsObjectType.ts, 16, 9)) >C : Symbol(C, Decl(conditionalOperatorConditionIsObjectType.ts, 15, 19)) >doIt : Symbol(C.doIt, Decl(conditionalOperatorConditionIsObjectType.ts, 16, 9)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsObjectType.ts, 12, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsObjectType.ts, 12, 11)) var resultIsObject3 = condObject.valueOf() ? exprIsObject1 : exprIsObject2; >resultIsObject3 : Symbol(resultIsObject3, Decl(conditionalOperatorConditionIsObjectType.ts, 61, 3)) >condObject.valueOf : Symbol(Object.valueOf, Decl(lib.es5.d.ts, --, --)) ->condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) +>condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 11)) >valueOf : Symbol(Object.valueOf, Decl(lib.es5.d.ts, --, --)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 3)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 11)) var resultIsStringOrBoolean3 = C.doIt() ? exprString1 : exprBoolean1; // union >resultIsStringOrBoolean3 : Symbol(resultIsStringOrBoolean3, Decl(conditionalOperatorConditionIsObjectType.ts, 62, 3)) >C.doIt : Symbol(C.doIt, Decl(conditionalOperatorConditionIsObjectType.ts, 16, 9)) >C : Symbol(C, Decl(conditionalOperatorConditionIsObjectType.ts, 15, 19)) >doIt : Symbol(C.doIt, Decl(conditionalOperatorConditionIsObjectType.ts, 16, 9)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 11)) diff --git a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types index 74c0f7412c6ed..f801ed9ac81fe 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types +++ b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types @@ -2,47 +2,47 @@ === conditionalOperatorConditionIsObjectType.ts === //Cond ? Expr1 : Expr2, Cond is of object type, Expr1 and Expr2 have the same type -var condObject: Object; +declare var condObject: Object; >condObject : Object > : ^^^^^^ -var exprAny1: any; +declare var exprAny1: any; >exprAny1 : any > : ^^^ -var exprBoolean1: boolean; +declare var exprBoolean1: boolean; >exprBoolean1 : boolean > : ^^^^^^^ -var exprNumber1: number; +declare var exprNumber1: number; >exprNumber1 : number > : ^^^^^^ -var exprString1: string; +declare var exprString1: string; >exprString1 : string > : ^^^^^^ -var exprIsObject1: Object; +declare var exprIsObject1: Object; >exprIsObject1 : Object > : ^^^^^^ -var exprAny2: any; +declare var exprAny2: any; >exprAny2 : any > : ^^^ -var exprBoolean2: boolean; +declare var exprBoolean2: boolean; >exprBoolean2 : boolean > : ^^^^^^^ -var exprNumber2: number; +declare var exprNumber2: number; >exprNumber2 : number > : ^^^^^^ -var exprString2: string; +declare var exprString2: string; >exprString2 : string > : ^^^^^^ -var exprIsObject2: Object; +declare var exprIsObject2: Object; >exprIsObject2 : Object > : ^^^^^^ diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.errors.txt b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.errors.txt index bd7989896dfb1..5d2a019dabfa3 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.errors.txt +++ b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.errors.txt @@ -16,20 +16,20 @@ conditionalOperatorConditoinIsAnyType.ts(56,32): error TS2872: This kind of expr ==== conditionalOperatorConditoinIsAnyType.ts (14 errors) ==== //Cond ? Expr1 : Expr2, Cond is of any type, Expr1 and Expr2 have the same type - var condAny: any; - var x: any; + declare var condAny: any; + declare var x: any; - var exprAny1: any; - var exprBoolean1: boolean; - var exprNumber1: number; - var exprString1: string; - var exprIsObject1: Object; + declare var exprAny1: any; + declare var exprBoolean1: boolean; + declare var exprNumber1: number; + declare var exprString1: string; + declare var exprIsObject1: Object; - var exprAny2: any; - var exprBoolean2: boolean; - var exprNumber2: number; - var exprString2: string; - var exprIsObject2: Object; + declare var exprAny2: any; + declare var exprBoolean2: boolean; + declare var exprNumber2: number; + declare var exprString2: string; + declare var exprIsObject2: Object; //Cond is an any type variable condAny ? exprAny1 : exprAny2; diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.js b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.js index 5b11e5af3a60e..767338af18bd2 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.js +++ b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.js @@ -2,20 +2,20 @@ //// [conditionalOperatorConditoinIsAnyType.ts] //Cond ? Expr1 : Expr2, Cond is of any type, Expr1 and Expr2 have the same type -var condAny: any; -var x: any; +declare var condAny: any; +declare var x: any; -var exprAny1: any; -var exprBoolean1: boolean; -var exprNumber1: number; -var exprString1: string; -var exprIsObject1: Object; +declare var exprAny1: any; +declare var exprBoolean1: boolean; +declare var exprNumber1: number; +declare var exprString1: string; +declare var exprIsObject1: Object; -var exprAny2: any; -var exprBoolean2: boolean; -var exprNumber2: number; -var exprString2: string; -var exprIsObject2: Object; +declare var exprAny2: any; +declare var exprBoolean2: boolean; +declare var exprNumber2: number; +declare var exprString2: string; +declare var exprIsObject2: Object; //Cond is an any type variable condAny ? exprAny1 : exprAny2; @@ -66,19 +66,6 @@ var resultIsObject3 = x.doSomeThing() ? exprIsObject1 : exprIsObject2; var resultIsStringOrBoolean5 = x.doSomeThing() ? exprString1 : exprBoolean1; // union //// [conditionalOperatorConditoinIsAnyType.js] -//Cond ? Expr1 : Expr2, Cond is of any type, Expr1 and Expr2 have the same type -var condAny; -var x; -var exprAny1; -var exprBoolean1; -var exprNumber1; -var exprString1; -var exprIsObject1; -var exprAny2; -var exprBoolean2; -var exprNumber2; -var exprString2; -var exprIsObject2; //Cond is an any type variable condAny ? exprAny1 : exprAny2; condAny ? exprBoolean1 : exprBoolean2; diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.symbols b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.symbols index 8e27ca540e86a..97503b778ed31 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.symbols +++ b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.symbols @@ -2,252 +2,252 @@ === conditionalOperatorConditoinIsAnyType.ts === //Cond ? Expr1 : Expr2, Cond is of any type, Expr1 and Expr2 have the same type -var condAny: any; ->condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 3)) +declare var condAny: any; +>condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 11)) -var x: any; ->x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 3)) +declare var x: any; +>x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 11)) -var exprAny1: any; ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsAnyType.ts, 4, 3)) +declare var exprAny1: any; +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsAnyType.ts, 4, 11)) -var exprBoolean1: boolean; ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 3)) +declare var exprBoolean1: boolean; +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 11)) -var exprNumber1: number; ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsAnyType.ts, 6, 3)) +declare var exprNumber1: number; +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsAnyType.ts, 6, 11)) -var exprString1: string; ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 3)) +declare var exprString1: string; +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 11)) -var exprIsObject1: Object; ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 8, 3)) +declare var exprIsObject1: Object; +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 8, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) -var exprAny2: any; ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 10, 3)) +declare var exprAny2: any; +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 10, 11)) -var exprBoolean2: boolean; ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 11, 3)) +declare var exprBoolean2: boolean; +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 11, 11)) -var exprNumber2: number; ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsAnyType.ts, 12, 3)) +declare var exprNumber2: number; +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsAnyType.ts, 12, 11)) -var exprString2: string; ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsAnyType.ts, 13, 3)) +declare var exprString2: string; +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsAnyType.ts, 13, 11)) -var exprIsObject2: Object; ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 14, 3)) +declare var exprIsObject2: Object; +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 14, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) //Cond is an any type variable condAny ? exprAny1 : exprAny2; ->condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsAnyType.ts, 4, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 10, 3)) +>condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 11)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsAnyType.ts, 4, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 10, 11)) condAny ? exprBoolean1 : exprBoolean2; ->condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 11, 3)) +>condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 11, 11)) condAny ? exprNumber1 : exprNumber2; ->condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 3)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsAnyType.ts, 6, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsAnyType.ts, 12, 3)) +>condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 11)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsAnyType.ts, 6, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsAnyType.ts, 12, 11)) condAny ? exprString1 : exprString2; ->condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsAnyType.ts, 13, 3)) +>condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsAnyType.ts, 13, 11)) condAny ? exprIsObject1 : exprIsObject2; ->condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 8, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 14, 3)) +>condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 11)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 8, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 14, 11)) condAny ? exprString1 : exprBoolean1; // union ->condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 3)) +>condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 11)) //Cond is an any type literal null ? exprAny1 : exprAny2; ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsAnyType.ts, 4, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 10, 3)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsAnyType.ts, 4, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 10, 11)) null ? exprBoolean1 : exprBoolean2; ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 11, 3)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 11, 11)) undefined ? exprNumber1 : exprNumber2; >undefined : Symbol(undefined) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsAnyType.ts, 6, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsAnyType.ts, 12, 3)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsAnyType.ts, 6, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsAnyType.ts, 12, 11)) [null, undefined] ? exprString1 : exprString2; >undefined : Symbol(undefined) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsAnyType.ts, 13, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsAnyType.ts, 13, 11)) [null, undefined] ? exprIsObject1 : exprIsObject2; >undefined : Symbol(undefined) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 8, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 14, 3)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 8, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 14, 11)) undefined ? exprString1 : exprBoolean1; // union >undefined : Symbol(undefined) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 11)) //Cond is an any type expression x.doSomeThing() ? exprAny1 : exprAny2; ->x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsAnyType.ts, 4, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 10, 3)) +>x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 11)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsAnyType.ts, 4, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 10, 11)) x("x") ? exprBoolean1 : exprBoolean2; ->x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 11, 3)) +>x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 11, 11)) x(x) ? exprNumber1 : exprNumber2; ->x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 3)) ->x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 3)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsAnyType.ts, 6, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsAnyType.ts, 12, 3)) +>x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 11)) +>x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 11)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsAnyType.ts, 6, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsAnyType.ts, 12, 11)) x("x") ? exprString1 : exprString2; ->x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsAnyType.ts, 13, 3)) +>x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsAnyType.ts, 13, 11)) x.doSomeThing() ? exprIsObject1 : exprIsObject2; ->x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 8, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 14, 3)) +>x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 11)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 8, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 14, 11)) x.doSomeThing() ? exprString1 : exprBoolean1; // union ->x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 3)) +>x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 11)) //Results shoud be same as Expr1 and Expr2 var resultIsAny1 = condAny ? exprAny1 : exprAny2; >resultIsAny1 : Symbol(resultIsAny1, Decl(conditionalOperatorConditoinIsAnyType.ts, 41, 3)) ->condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsAnyType.ts, 4, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 10, 3)) +>condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 11)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsAnyType.ts, 4, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 10, 11)) var resultIsBoolean1 = condAny ? exprBoolean1 : exprBoolean2; >resultIsBoolean1 : Symbol(resultIsBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 42, 3)) ->condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 11, 3)) +>condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 11, 11)) var resultIsNumber1 = condAny ? exprNumber1 : exprNumber2; >resultIsNumber1 : Symbol(resultIsNumber1, Decl(conditionalOperatorConditoinIsAnyType.ts, 43, 3)) ->condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 3)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsAnyType.ts, 6, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsAnyType.ts, 12, 3)) +>condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 11)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsAnyType.ts, 6, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsAnyType.ts, 12, 11)) var resultIsString1 = condAny ? exprString1 : exprString2; >resultIsString1 : Symbol(resultIsString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 44, 3)) ->condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsAnyType.ts, 13, 3)) +>condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsAnyType.ts, 13, 11)) var resultIsObject1 = condAny ? exprIsObject1 : exprIsObject2; >resultIsObject1 : Symbol(resultIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 45, 3)) ->condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 8, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 14, 3)) +>condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 11)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 8, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 14, 11)) var resultIsStringOrBoolean1 = condAny ? exprString1 : exprBoolean1; // union >resultIsStringOrBoolean1 : Symbol(resultIsStringOrBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 46, 3)) ->condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 3)) +>condAny : Symbol(condAny, Decl(conditionalOperatorConditoinIsAnyType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 11)) var resultIsAny2 = null ? exprAny1 : exprAny2; >resultIsAny2 : Symbol(resultIsAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 48, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsAnyType.ts, 4, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 10, 3)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsAnyType.ts, 4, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 10, 11)) var resultIsBoolean2 = null ? exprBoolean1 : exprBoolean2; >resultIsBoolean2 : Symbol(resultIsBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 49, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 11, 3)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 11, 11)) var resultIsNumber2 = undefined ? exprNumber1 : exprNumber2; >resultIsNumber2 : Symbol(resultIsNumber2, Decl(conditionalOperatorConditoinIsAnyType.ts, 50, 3)) >undefined : Symbol(undefined) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsAnyType.ts, 6, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsAnyType.ts, 12, 3)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsAnyType.ts, 6, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsAnyType.ts, 12, 11)) var resultIsString2 = [null, undefined] ? exprString1 : exprString2; >resultIsString2 : Symbol(resultIsString2, Decl(conditionalOperatorConditoinIsAnyType.ts, 51, 3)) >undefined : Symbol(undefined) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsAnyType.ts, 13, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsAnyType.ts, 13, 11)) var resultIsObject2 = [null, undefined] ? exprIsObject1 : exprIsObject2; >resultIsObject2 : Symbol(resultIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 52, 3)) >undefined : Symbol(undefined) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 8, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 14, 3)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 8, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 14, 11)) var resultIsStringOrBoolean2 = null ? exprString1 : exprBoolean1; // union >resultIsStringOrBoolean2 : Symbol(resultIsStringOrBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 53, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 11)) var resultIsStringOrBoolean3 = undefined ? exprString1 : exprBoolean1; // union >resultIsStringOrBoolean3 : Symbol(resultIsStringOrBoolean3, Decl(conditionalOperatorConditoinIsAnyType.ts, 54, 3)) >undefined : Symbol(undefined) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 11)) var resultIsStringOrBoolean4 = [null, undefined] ? exprString1 : exprBoolean1; // union >resultIsStringOrBoolean4 : Symbol(resultIsStringOrBoolean4, Decl(conditionalOperatorConditoinIsAnyType.ts, 55, 3)) >undefined : Symbol(undefined) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 11)) var resultIsAny3 = x.doSomeThing() ? exprAny1 : exprAny2; >resultIsAny3 : Symbol(resultIsAny3, Decl(conditionalOperatorConditoinIsAnyType.ts, 57, 3)) ->x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsAnyType.ts, 4, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 10, 3)) +>x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 11)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsAnyType.ts, 4, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 10, 11)) var resultIsBoolean3 = x("x") ? exprBoolean1 : exprBoolean2; >resultIsBoolean3 : Symbol(resultIsBoolean3, Decl(conditionalOperatorConditoinIsAnyType.ts, 58, 3)) ->x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 11, 3)) +>x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsAnyType.ts, 11, 11)) var resultIsNumber3 = x(x) ? exprNumber1 : exprNumber2; >resultIsNumber3 : Symbol(resultIsNumber3, Decl(conditionalOperatorConditoinIsAnyType.ts, 59, 3)) ->x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 3)) ->x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 3)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsAnyType.ts, 6, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsAnyType.ts, 12, 3)) +>x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 11)) +>x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 11)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsAnyType.ts, 6, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsAnyType.ts, 12, 11)) var resultIsString3 = x("x") ? exprString1 : exprString2; >resultIsString3 : Symbol(resultIsString3, Decl(conditionalOperatorConditoinIsAnyType.ts, 60, 3)) ->x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsAnyType.ts, 13, 3)) +>x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsAnyType.ts, 13, 11)) var resultIsObject3 = x.doSomeThing() ? exprIsObject1 : exprIsObject2; >resultIsObject3 : Symbol(resultIsObject3, Decl(conditionalOperatorConditoinIsAnyType.ts, 61, 3)) ->x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 8, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 14, 3)) +>x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 11)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 8, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 14, 11)) var resultIsStringOrBoolean5 = x.doSomeThing() ? exprString1 : exprBoolean1; // union >resultIsStringOrBoolean5 : Symbol(resultIsStringOrBoolean5, Decl(conditionalOperatorConditoinIsAnyType.ts, 62, 3)) ->x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 3)) +>x : Symbol(x, Decl(conditionalOperatorConditoinIsAnyType.ts, 2, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsAnyType.ts, 7, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsAnyType.ts, 5, 11)) diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.types b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.types index d26cb2b476158..29030999e606a 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.types +++ b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.types @@ -2,51 +2,51 @@ === conditionalOperatorConditoinIsAnyType.ts === //Cond ? Expr1 : Expr2, Cond is of any type, Expr1 and Expr2 have the same type -var condAny: any; +declare var condAny: any; >condAny : any > : ^^^ -var x: any; +declare var x: any; >x : any > : ^^^ -var exprAny1: any; +declare var exprAny1: any; >exprAny1 : any > : ^^^ -var exprBoolean1: boolean; +declare var exprBoolean1: boolean; >exprBoolean1 : boolean > : ^^^^^^^ -var exprNumber1: number; +declare var exprNumber1: number; >exprNumber1 : number > : ^^^^^^ -var exprString1: string; +declare var exprString1: string; >exprString1 : string > : ^^^^^^ -var exprIsObject1: Object; +declare var exprIsObject1: Object; >exprIsObject1 : Object > : ^^^^^^ -var exprAny2: any; +declare var exprAny2: any; >exprAny2 : any > : ^^^ -var exprBoolean2: boolean; +declare var exprBoolean2: boolean; >exprBoolean2 : boolean > : ^^^^^^^ -var exprNumber2: number; +declare var exprNumber2: number; >exprNumber2 : number > : ^^^^^^ -var exprString2: string; +declare var exprString2: string; >exprString2 : string > : ^^^^^^ -var exprIsObject2: Object; +declare var exprIsObject2: Object; >exprIsObject2 : Object > : ^^^^^^ diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.errors.txt b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.errors.txt index efccbc8e2d291..a57557d34395b 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.errors.txt +++ b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.errors.txt @@ -14,19 +14,19 @@ conditionalOperatorConditoinIsStringType.ts(56,32): error TS2872: This kind of e ==== conditionalOperatorConditoinIsStringType.ts (12 errors) ==== //Cond ? Expr1 : Expr2, Cond is of string type, Expr1 and Expr2 have the same type - var condString: string; + declare var condString: string; - var exprAny1: any; - var exprBoolean1: boolean; - var exprNumber1: number; - var exprString1: string; - var exprIsObject1: Object; + declare var exprAny1: any; + declare var exprBoolean1: boolean; + declare var exprNumber1: number; + declare var exprString1: string; + declare var exprIsObject1: Object; - var exprAny2: any; - var exprBoolean2: boolean; - var exprNumber2: number; - var exprString2: string; - var exprIsObject2: Object; + declare var exprAny2: any; + declare var exprBoolean2: boolean; + declare var exprNumber2: number; + declare var exprString2: string; + declare var exprIsObject2: Object; //Cond is a string type variable condString ? exprAny1 : exprAny2; diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.js b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.js index 9d724d6cc5a14..6d4c04abf537d 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.js +++ b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.js @@ -2,19 +2,19 @@ //// [conditionalOperatorConditoinIsStringType.ts] //Cond ? Expr1 : Expr2, Cond is of string type, Expr1 and Expr2 have the same type -var condString: string; +declare var condString: string; -var exprAny1: any; -var exprBoolean1: boolean; -var exprNumber1: number; -var exprString1: string; -var exprIsObject1: Object; +declare var exprAny1: any; +declare var exprBoolean1: boolean; +declare var exprNumber1: number; +declare var exprString1: string; +declare var exprIsObject1: Object; -var exprAny2: any; -var exprBoolean2: boolean; -var exprNumber2: number; -var exprString2: string; -var exprIsObject2: Object; +declare var exprAny2: any; +declare var exprBoolean2: boolean; +declare var exprNumber2: number; +declare var exprString2: string; +declare var exprIsObject2: Object; //Cond is a string type variable condString ? exprAny1 : exprAny2; @@ -67,18 +67,6 @@ var resultIsStringOrBoolean3 = typeof condString ? exprString1 : exprBoolean1; / var resultIsStringOrBoolean4 = condString.toUpperCase ? exprString1 : exprBoolean1; // union //// [conditionalOperatorConditoinIsStringType.js] -//Cond ? Expr1 : Expr2, Cond is of string type, Expr1 and Expr2 have the same type -var condString; -var exprAny1; -var exprBoolean1; -var exprNumber1; -var exprString1; -var exprIsObject1; -var exprAny2; -var exprBoolean2; -var exprNumber2; -var exprString2; -var exprIsObject2; //Cond is a string type variable condString ? exprAny1 : exprAny2; condString ? exprBoolean1 : exprBoolean2; diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.symbols b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.symbols index 5eccab3d7f57f..dd18ada4b14d1 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.symbols +++ b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.symbols @@ -2,96 +2,96 @@ === conditionalOperatorConditoinIsStringType.ts === //Cond ? Expr1 : Expr2, Cond is of string type, Expr1 and Expr2 have the same type -var condString: string; ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) +declare var condString: string; +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) -var exprAny1: any; ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsStringType.ts, 3, 3)) +declare var exprAny1: any; +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsStringType.ts, 3, 11)) -var exprBoolean1: boolean; ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) +declare var exprBoolean1: boolean; +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 11)) -var exprNumber1: number; ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsStringType.ts, 5, 3)) +declare var exprNumber1: number; +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsStringType.ts, 5, 11)) -var exprString1: string; ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 3)) +declare var exprString1: string; +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 11)) -var exprIsObject1: Object; ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 7, 3)) +declare var exprIsObject1: Object; +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 7, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) -var exprAny2: any; ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 3)) +declare var exprAny2: any; +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 11)) -var exprBoolean2: boolean; ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 3)) +declare var exprBoolean2: boolean; +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 11)) -var exprNumber2: number; ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsStringType.ts, 11, 3)) +declare var exprNumber2: number; +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsStringType.ts, 11, 11)) -var exprString2: string; ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsStringType.ts, 12, 3)) +declare var exprString2: string; +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsStringType.ts, 12, 11)) -var exprIsObject2: Object; ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 13, 3)) +declare var exprIsObject2: Object; +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 13, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) //Cond is a string type variable condString ? exprAny1 : exprAny2; ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsStringType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsStringType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 11)) condString ? exprBoolean1 : exprBoolean2; ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 11)) condString ? exprNumber1 : exprNumber2; ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsStringType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsStringType.ts, 11, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsStringType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsStringType.ts, 11, 11)) condString ? exprString1 : exprString2; ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsStringType.ts, 12, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsStringType.ts, 12, 11)) condString ? exprIsObject1 : exprIsObject2; ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 13, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 13, 11)) condString ? exprString1 : exprBoolean1; // union ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 11)) //Cond is a string type literal "" ? exprAny1 : exprAny2; ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsStringType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 3)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsStringType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 11)) "string" ? exprBoolean1 : exprBoolean2; ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 3)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 11)) 'c' ? exprNumber1 : exprNumber2; ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsStringType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsStringType.ts, 11, 3)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsStringType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsStringType.ts, 11, 11)) 'string' ? exprString1 : exprString2; ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsStringType.ts, 12, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsStringType.ts, 12, 11)) " " ? exprIsObject1 : exprIsObject2; ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 13, 3)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 13, 11)) "hello " ? exprString1 : exprBoolean1; // union ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 11)) //Cond is a string type expression function foo() { return "string" }; @@ -101,147 +101,147 @@ var array = ["1", "2", "3"]; >array : Symbol(array, Decl(conditionalOperatorConditoinIsStringType.ts, 33, 3)) typeof condString ? exprAny1 : exprAny2; ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsStringType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsStringType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 11)) condString.toUpperCase ? exprBoolean1 : exprBoolean2; >condString.toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) >toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 3)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 11)) condString + "string" ? exprNumber1 : exprNumber2; ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsStringType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsStringType.ts, 11, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsStringType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsStringType.ts, 11, 11)) foo() ? exprString1 : exprString2; >foo : Symbol(foo, Decl(conditionalOperatorConditoinIsStringType.ts, 29, 38)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsStringType.ts, 12, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsStringType.ts, 12, 11)) array[1] ? exprIsObject1 : exprIsObject2; >array : Symbol(array, Decl(conditionalOperatorConditoinIsStringType.ts, 33, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 13, 3)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 13, 11)) foo() ? exprString1 : exprBoolean1; // union >foo : Symbol(foo, Decl(conditionalOperatorConditoinIsStringType.ts, 29, 38)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 11)) //Results shoud be same as Expr1 and Expr2 var resultIsAny1 = condString ? exprAny1 : exprAny2; >resultIsAny1 : Symbol(resultIsAny1, Decl(conditionalOperatorConditoinIsStringType.ts, 43, 3)) ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsStringType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsStringType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 11)) var resultIsBoolean1 = condString ? exprBoolean1 : exprBoolean2; >resultIsBoolean1 : Symbol(resultIsBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 44, 3)) ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 11)) var resultIsNumber1 = condString ? exprNumber1 : exprNumber2; >resultIsNumber1 : Symbol(resultIsNumber1, Decl(conditionalOperatorConditoinIsStringType.ts, 45, 3)) ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsStringType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsStringType.ts, 11, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsStringType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsStringType.ts, 11, 11)) var resultIsString1 = condString ? exprString1 : exprString2; >resultIsString1 : Symbol(resultIsString1, Decl(conditionalOperatorConditoinIsStringType.ts, 46, 3)) ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsStringType.ts, 12, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsStringType.ts, 12, 11)) var resultIsObject1 = condString ? exprIsObject1 : exprIsObject2; >resultIsObject1 : Symbol(resultIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 47, 3)) ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 13, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 13, 11)) var resultIsStringOrBoolean1 = condString ? exprString1 : exprBoolean1; // union >resultIsStringOrBoolean1 : Symbol(resultIsStringOrBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 48, 3)) ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 11)) var resultIsAny2 = "" ? exprAny1 : exprAny2; >resultIsAny2 : Symbol(resultIsAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 50, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsStringType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 3)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsStringType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 11)) var resultIsBoolean2 = "string" ? exprBoolean1 : exprBoolean2; >resultIsBoolean2 : Symbol(resultIsBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 51, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 3)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 11)) var resultIsNumber2 = 'c' ? exprNumber1 : exprNumber2; >resultIsNumber2 : Symbol(resultIsNumber2, Decl(conditionalOperatorConditoinIsStringType.ts, 52, 3)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsStringType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsStringType.ts, 11, 3)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsStringType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsStringType.ts, 11, 11)) var resultIsString2 = 'string' ? exprString1 : exprString2; >resultIsString2 : Symbol(resultIsString2, Decl(conditionalOperatorConditoinIsStringType.ts, 53, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsStringType.ts, 12, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsStringType.ts, 12, 11)) var resultIsObject2 = " " ? exprIsObject1 : exprIsObject2; >resultIsObject2 : Symbol(resultIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 54, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 13, 3)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 13, 11)) var resultIsStringOrBoolean2 = "hello" ? exprString1 : exprBoolean1; // union >resultIsStringOrBoolean2 : Symbol(resultIsStringOrBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 55, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 11)) var resultIsAny3 = typeof condString ? exprAny1 : exprAny2; >resultIsAny3 : Symbol(resultIsAny3, Decl(conditionalOperatorConditoinIsStringType.ts, 57, 3)) ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsStringType.ts, 3, 3)) ->exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditoinIsStringType.ts, 3, 11)) +>exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 11)) var resultIsBoolean3 = condString.toUpperCase ? exprBoolean1 : exprBoolean2; >resultIsBoolean3 : Symbol(resultIsBoolean3, Decl(conditionalOperatorConditoinIsStringType.ts, 58, 3)) >condString.toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) >toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) ->exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 3)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 11)) +>exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 11)) var resultIsNumber3 = condString + "string" ? exprNumber1 : exprNumber2; >resultIsNumber3 : Symbol(resultIsNumber3, Decl(conditionalOperatorConditoinIsStringType.ts, 59, 3)) ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsStringType.ts, 5, 3)) ->exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsStringType.ts, 11, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditoinIsStringType.ts, 5, 11)) +>exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditoinIsStringType.ts, 11, 11)) var resultIsString3 = foo() ? exprString1 : exprString2; >resultIsString3 : Symbol(resultIsString3, Decl(conditionalOperatorConditoinIsStringType.ts, 60, 3)) >foo : Symbol(foo, Decl(conditionalOperatorConditoinIsStringType.ts, 29, 38)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 3)) ->exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsStringType.ts, 12, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 11)) +>exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditoinIsStringType.ts, 12, 11)) var resultIsObject3 = array[1] ? exprIsObject1 : exprIsObject2; >resultIsObject3 : Symbol(resultIsObject3, Decl(conditionalOperatorConditoinIsStringType.ts, 61, 3)) >array : Symbol(array, Decl(conditionalOperatorConditoinIsStringType.ts, 33, 3)) ->exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 7, 3)) ->exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 13, 3)) +>exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 7, 11)) +>exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 13, 11)) var resultIsStringOrBoolean3 = typeof condString ? exprString1 : exprBoolean1; // union >resultIsStringOrBoolean3 : Symbol(resultIsStringOrBoolean3, Decl(conditionalOperatorConditoinIsStringType.ts, 62, 3)) ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 11)) var resultIsStringOrBoolean4 = condString.toUpperCase ? exprString1 : exprBoolean1; // union >resultIsStringOrBoolean4 : Symbol(resultIsStringOrBoolean4, Decl(conditionalOperatorConditoinIsStringType.ts, 63, 3)) >condString.toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) ->condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) +>condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 11)) >toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) ->exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 3)) ->exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) +>exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 11)) +>exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 11)) diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types index b3f211f4e959e..cd21e822bb8bd 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types +++ b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types @@ -2,47 +2,47 @@ === conditionalOperatorConditoinIsStringType.ts === //Cond ? Expr1 : Expr2, Cond is of string type, Expr1 and Expr2 have the same type -var condString: string; +declare var condString: string; >condString : string > : ^^^^^^ -var exprAny1: any; +declare var exprAny1: any; >exprAny1 : any > : ^^^ -var exprBoolean1: boolean; +declare var exprBoolean1: boolean; >exprBoolean1 : boolean > : ^^^^^^^ -var exprNumber1: number; +declare var exprNumber1: number; >exprNumber1 : number > : ^^^^^^ -var exprString1: string; +declare var exprString1: string; >exprString1 : string > : ^^^^^^ -var exprIsObject1: Object; +declare var exprIsObject1: Object; >exprIsObject1 : Object > : ^^^^^^ -var exprAny2: any; +declare var exprAny2: any; >exprAny2 : any > : ^^^ -var exprBoolean2: boolean; +declare var exprBoolean2: boolean; >exprBoolean2 : boolean > : ^^^^^^^ -var exprNumber2: number; +declare var exprNumber2: number; >exprNumber2 : number > : ^^^^^^ -var exprString2: string; +declare var exprString2: string; >exprString2 : string > : ^^^^^^ -var exprIsObject2: Object; +declare var exprIsObject2: Object; >exprIsObject2 : Object > : ^^^^^^ diff --git a/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.errors.txt b/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.errors.txt index 07951773c545f..2aa9526ecc629 100644 --- a/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.errors.txt +++ b/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.errors.txt @@ -19,9 +19,9 @@ conditionalOperatorWithoutIdenticalBCT.ts(21,5): error TS2322: Type '((m: X) => class A extends X { propertyA: number }; class B extends X { propertyB: string }; - var x: X; - var a: A; - var b: B; + declare var x: X; + declare var a: A; + declare var b: B; // No errors anymore, uses union types true ? a : b; diff --git a/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.js b/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.js index 4f4e4a0795f9f..156102b6673fd 100644 --- a/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.js +++ b/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.js @@ -6,9 +6,9 @@ class X { propertyX: any; propertyX1: number; propertyX2: string }; class A extends X { propertyA: number }; class B extends X { propertyB: string }; -var x: X; -var a: A; -var b: B; +declare var x: X; +declare var a: A; +declare var b: B; // No errors anymore, uses union types true ? a : b; @@ -64,9 +64,6 @@ var B = /** @class */ (function (_super) { return B; }(X)); ; -var x; -var a; -var b; // No errors anymore, uses union types true ? a : b; var result1 = true ? a : b; diff --git a/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.symbols b/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.symbols index 78ce6f0b66240..0676698cb8344 100644 --- a/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.symbols +++ b/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.symbols @@ -18,47 +18,47 @@ class B extends X { propertyB: string }; >X : Symbol(X, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 0, 0)) >propertyB : Symbol(B.propertyB, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 3, 19)) -var x: X; ->x : Symbol(x, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 5, 3)) +declare var x: X; +>x : Symbol(x, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 5, 11)) >X : Symbol(X, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 0, 0)) -var a: A; ->a : Symbol(a, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 6, 3)) +declare var a: A; +>a : Symbol(a, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 6, 11)) >A : Symbol(A, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 1, 67)) -var b: B; ->b : Symbol(b, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 7, 3)) +declare var b: B; +>b : Symbol(b, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 7, 11)) >B : Symbol(B, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 2, 40)) // No errors anymore, uses union types true ? a : b; ->a : Symbol(a, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 6, 3)) ->b : Symbol(b, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 7, 3)) +>a : Symbol(a, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 6, 11)) +>b : Symbol(b, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 7, 11)) var result1 = true ? a : b; >result1 : Symbol(result1, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 11, 3)) ->a : Symbol(a, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 6, 3)) ->b : Symbol(b, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 7, 3)) +>a : Symbol(a, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 6, 11)) +>b : Symbol(b, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 7, 11)) //Be contextually typed and and bct is not identical, results in errors that union type is not assignable to target var result2: A = true ? a : b; >result2 : Symbol(result2, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 14, 3)) >A : Symbol(A, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 1, 67)) ->a : Symbol(a, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 6, 3)) ->b : Symbol(b, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 7, 3)) +>a : Symbol(a, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 6, 11)) +>b : Symbol(b, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 7, 11)) var result3: B = true ? a : b; >result3 : Symbol(result3, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 15, 3)) >B : Symbol(B, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 2, 40)) ->a : Symbol(a, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 6, 3)) ->b : Symbol(b, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 7, 3)) +>a : Symbol(a, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 6, 11)) +>b : Symbol(b, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 7, 11)) var result31: A | B = true ? a : b; >result31 : Symbol(result31, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 16, 3)) >A : Symbol(A, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 1, 67)) >B : Symbol(B, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 2, 40)) ->a : Symbol(a, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 6, 3)) ->b : Symbol(b, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 7, 3)) +>a : Symbol(a, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 6, 11)) +>b : Symbol(b, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 7, 11)) var result4: (t: X) => number = true ? (m) => m.propertyX1 : (n) => n.propertyX2; >result4 : Symbol(result4, Decl(conditionalOperatorWithoutIdenticalBCT.ts, 18, 3)) diff --git a/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.types b/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.types index 66db969c09e64..a3c497d771ae9 100644 --- a/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.types +++ b/tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.types @@ -28,15 +28,15 @@ class B extends X { propertyB: string }; >propertyB : string > : ^^^^^^ -var x: X; +declare var x: X; >x : X > : ^ -var a: A; +declare var a: A; >a : A > : ^ -var b: B; +declare var b: B; >b : B > : ^ diff --git a/tests/baselines/reference/constraints0.errors.txt b/tests/baselines/reference/constraints0.errors.txt index 788aa95e62066..a06cc6494351f 100644 --- a/tests/baselines/reference/constraints0.errors.txt +++ b/tests/baselines/reference/constraints0.errors.txt @@ -1,4 +1,4 @@ -constraints0.ts(14,11): error TS2344: Type 'B' does not satisfy the constraint 'A'. +constraints0.ts(14,19): error TS2344: Type 'B' does not satisfy the constraint 'A'. Property 'a' is missing in type 'B' but required in type 'A'. @@ -15,9 +15,9 @@ constraints0.ts(14,11): error TS2344: Type 'B' does not satisfy the constraint ' x: T; } - var v1: C; // should work - var v2: C; // should not work - ~ + declare var v1: C; // should work + declare var v2: C; // should not work + ~ !!! error TS2344: Type 'B' does not satisfy the constraint 'A'. !!! error TS2344: Property 'a' is missing in type 'B' but required in type 'A'. !!! related TS2728 constraints0.ts:2:2: 'a' is declared here. diff --git a/tests/baselines/reference/constraints0.js b/tests/baselines/reference/constraints0.js index 7eeb867fc5603..be31d52823fd3 100644 --- a/tests/baselines/reference/constraints0.js +++ b/tests/baselines/reference/constraints0.js @@ -13,12 +13,10 @@ interface C { x: T; } -var v1: C; // should work -var v2: C; // should not work +declare var v1: C; // should work +declare var v2: C; // should not work var y = v1.x.a; // 'a' should be of type 'number' //// [constraints0.js] -var v1; // should work -var v2; // should not work var y = v1.x.a; // 'a' should be of type 'number' diff --git a/tests/baselines/reference/constraints0.symbols b/tests/baselines/reference/constraints0.symbols index 66c4ff86f78b0..596d6b2041244 100644 --- a/tests/baselines/reference/constraints0.symbols +++ b/tests/baselines/reference/constraints0.symbols @@ -25,13 +25,13 @@ interface C { >T : Symbol(T, Decl(constraints0.ts, 8, 12)) } -var v1: C; // should work ->v1 : Symbol(v1, Decl(constraints0.ts, 12, 3)) +declare var v1: C; // should work +>v1 : Symbol(v1, Decl(constraints0.ts, 12, 11)) >C : Symbol(C, Decl(constraints0.ts, 6, 1)) >A : Symbol(A, Decl(constraints0.ts, 0, 0)) -var v2: C; // should not work ->v2 : Symbol(v2, Decl(constraints0.ts, 13, 3)) +declare var v2: C; // should not work +>v2 : Symbol(v2, Decl(constraints0.ts, 13, 11)) >C : Symbol(C, Decl(constraints0.ts, 6, 1)) >B : Symbol(B, Decl(constraints0.ts, 2, 1)) @@ -39,7 +39,7 @@ var y = v1.x.a; // 'a' should be of type 'number' >y : Symbol(y, Decl(constraints0.ts, 15, 3)) >v1.x.a : Symbol(A.a, Decl(constraints0.ts, 0, 13)) >v1.x : Symbol(C.x, Decl(constraints0.ts, 8, 26)) ->v1 : Symbol(v1, Decl(constraints0.ts, 12, 3)) +>v1 : Symbol(v1, Decl(constraints0.ts, 12, 11)) >x : Symbol(C.x, Decl(constraints0.ts, 8, 26)) >a : Symbol(A.a, Decl(constraints0.ts, 0, 13)) diff --git a/tests/baselines/reference/constraints0.types b/tests/baselines/reference/constraints0.types index b96409ad5a612..7df5a9ebc4c4c 100644 --- a/tests/baselines/reference/constraints0.types +++ b/tests/baselines/reference/constraints0.types @@ -19,11 +19,11 @@ interface C { > : ^ } -var v1: C; // should work +declare var v1: C; // should work >v1 : C > : ^^^^ -var v2: C; // should not work +declare var v2: C; // should not work >v2 : C > : ^^^^ diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance.errors.txt b/tests/baselines/reference/constructSignatureAssignabilityInInheritance.errors.txt index 929adc55baac9..02b64db999322 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance.errors.txt +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance.errors.txt @@ -50,7 +50,7 @@ constructSignatureAssignabilityInInheritance.ts(67,15): error TS2430: Interface a3: new (x: T) => void; } - var b: Base; + declare var b: Base; var r = new b.a(1); // S's diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance.js b/tests/baselines/reference/constructSignatureAssignabilityInInheritance.js index eb4f2ab2aab45..47dfc0185f722 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance.js +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance.js @@ -43,7 +43,7 @@ namespace MemberWithConstructSignature { a3: new (x: T) => void; } - var b: Base; + declare var b: Base; var r = new b.a(1); // S's @@ -77,6 +77,5 @@ namespace MemberWithConstructSignature { // Checking basic subtype relations with construct signatures var MemberWithConstructSignature; (function (MemberWithConstructSignature) { - var b; var r = new b.a(1); })(MemberWithConstructSignature || (MemberWithConstructSignature = {})); diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance.symbols b/tests/baselines/reference/constructSignatureAssignabilityInInheritance.symbols index 6776bdb83484f..05f32b5f94c1e 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance.symbols +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance.symbols @@ -86,14 +86,14 @@ namespace MemberWithConstructSignature { >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance.ts, 39, 17)) } - var b: Base; ->b : Symbol(b, Decl(constructSignatureAssignabilityInInheritance.ts, 42, 7)) + declare var b: Base; +>b : Symbol(b, Decl(constructSignatureAssignabilityInInheritance.ts, 42, 15)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance.ts, 34, 40)) var r = new b.a(1); >r : Symbol(r, Decl(constructSignatureAssignabilityInInheritance.ts, 43, 7)) >b.a : Symbol(Base.a, Decl(constructSignatureAssignabilityInInheritance.ts, 35, 20)) ->b : Symbol(b, Decl(constructSignatureAssignabilityInInheritance.ts, 42, 7)) +>b : Symbol(b, Decl(constructSignatureAssignabilityInInheritance.ts, 42, 15)) >a : Symbol(Base.a, Decl(constructSignatureAssignabilityInInheritance.ts, 35, 20)) // S's diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance.types b/tests/baselines/reference/constructSignatureAssignabilityInInheritance.types index 9406d70954a36..5961ee7a5b9ae 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance.types +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance.types @@ -82,7 +82,7 @@ namespace MemberWithConstructSignature { > : ^ } - var b: Base; + declare var b: Base; >b : Base > : ^^^^ diff --git a/tests/baselines/reference/constructSignaturesWithOverloads2.errors.txt b/tests/baselines/reference/constructSignaturesWithOverloads2.errors.txt index e53b92bb3a79a..ff4230bda1100 100644 --- a/tests/baselines/reference/constructSignaturesWithOverloads2.errors.txt +++ b/tests/baselines/reference/constructSignaturesWithOverloads2.errors.txt @@ -43,6 +43,6 @@ constructSignaturesWithOverloads2.ts(32,11): error TS2428: All declarations of ' new (x: T, y: number): C2; } - var i2: I; + declare var i2: I; var r4 = new i2(1, ''); var r5 = new i2(1, 1); \ No newline at end of file diff --git a/tests/baselines/reference/constructSignaturesWithOverloads2.js b/tests/baselines/reference/constructSignaturesWithOverloads2.js index df1db0bea05d3..ed925a093c131 100644 --- a/tests/baselines/reference/constructSignaturesWithOverloads2.js +++ b/tests/baselines/reference/constructSignaturesWithOverloads2.js @@ -37,7 +37,7 @@ interface I { new (x: T, y: number): C2; } -var i2: I; +declare var i2: I; var r4 = new i2(1, ''); var r5 = new i2(1, 1); @@ -62,6 +62,5 @@ var C2 = /** @class */ (function () { C2.x = 1; })(C2 || (C2 = {})); var r2 = new C2(1, ''); -var i2; var r4 = new i2(1, ''); var r5 = new i2(1, 1); diff --git a/tests/baselines/reference/constructSignaturesWithOverloads2.symbols b/tests/baselines/reference/constructSignaturesWithOverloads2.symbols index a2f7de61c93c9..5b25c97b8fd12 100644 --- a/tests/baselines/reference/constructSignaturesWithOverloads2.symbols +++ b/tests/baselines/reference/constructSignaturesWithOverloads2.symbols @@ -92,15 +92,15 @@ interface I { >T : Symbol(T, Decl(constructSignaturesWithOverloads2.ts, 31, 12)) } -var i2: I; ->i2 : Symbol(i2, Decl(constructSignaturesWithOverloads2.ts, 36, 3)) +declare var i2: I; +>i2 : Symbol(i2, Decl(constructSignaturesWithOverloads2.ts, 36, 11)) >I : Symbol(I, Decl(constructSignaturesWithOverloads2.ts, 23, 23), Decl(constructSignaturesWithOverloads2.ts, 29, 1)) var r4 = new i2(1, ''); >r4 : Symbol(r4, Decl(constructSignaturesWithOverloads2.ts, 37, 3)) ->i2 : Symbol(i2, Decl(constructSignaturesWithOverloads2.ts, 36, 3)) +>i2 : Symbol(i2, Decl(constructSignaturesWithOverloads2.ts, 36, 11)) var r5 = new i2(1, 1); >r5 : Symbol(r5, Decl(constructSignaturesWithOverloads2.ts, 38, 3)) ->i2 : Symbol(i2, Decl(constructSignaturesWithOverloads2.ts, 36, 3)) +>i2 : Symbol(i2, Decl(constructSignaturesWithOverloads2.ts, 36, 11)) diff --git a/tests/baselines/reference/constructSignaturesWithOverloads2.types b/tests/baselines/reference/constructSignaturesWithOverloads2.types index 2bbd9aae8b858..d576846093f79 100644 --- a/tests/baselines/reference/constructSignaturesWithOverloads2.types +++ b/tests/baselines/reference/constructSignaturesWithOverloads2.types @@ -119,7 +119,7 @@ interface I { > : ^^^^^^ } -var i2: I; +declare var i2: I; >i2 : I > : ^^^^^^^^^ diff --git a/tests/baselines/reference/constructorAsType.errors.txt b/tests/baselines/reference/constructorAsType.errors.txt index f48fa929cb2f2..12a7ac765976c 100644 --- a/tests/baselines/reference/constructorAsType.errors.txt +++ b/tests/baselines/reference/constructorAsType.errors.txt @@ -8,6 +8,6 @@ constructorAsType.ts(1,5): error TS2322: Type '() => { name: string; }' is not a !!! error TS2322: Type '() => { name: string; }' is not assignable to type 'new () => { name: string; }'. !!! error TS2322: Type '() => { name: string; }' provides no match for the signature 'new (): { name: string; }'. - var Person2:{new() : {name:string;};}; + declare var Person2:{new() : {name:string;};}; Person = Person2; \ No newline at end of file diff --git a/tests/baselines/reference/constructorAsType.js b/tests/baselines/reference/constructorAsType.js index 92ebd0a938395..d512a58c24fab 100644 --- a/tests/baselines/reference/constructorAsType.js +++ b/tests/baselines/reference/constructorAsType.js @@ -3,11 +3,10 @@ //// [constructorAsType.ts] var Person:new () => {name: string;} = function () {return {name:"joe"};}; -var Person2:{new() : {name:string;};}; +declare var Person2:{new() : {name:string;};}; Person = Person2; //// [constructorAsType.js] var Person = function () { return { name: "joe" }; }; -var Person2; Person = Person2; diff --git a/tests/baselines/reference/constructorAsType.symbols b/tests/baselines/reference/constructorAsType.symbols index 8681831bb4dce..3867c1ccd616a 100644 --- a/tests/baselines/reference/constructorAsType.symbols +++ b/tests/baselines/reference/constructorAsType.symbols @@ -6,11 +6,11 @@ var Person:new () => {name: string;} = function () {return {name:"joe"};}; >name : Symbol(name, Decl(constructorAsType.ts, 0, 22)) >name : Symbol(name, Decl(constructorAsType.ts, 0, 60)) -var Person2:{new() : {name:string;};}; ->Person2 : Symbol(Person2, Decl(constructorAsType.ts, 2, 3)) ->name : Symbol(name, Decl(constructorAsType.ts, 2, 22)) +declare var Person2:{new() : {name:string;};}; +>Person2 : Symbol(Person2, Decl(constructorAsType.ts, 2, 11)) +>name : Symbol(name, Decl(constructorAsType.ts, 2, 30)) Person = Person2; >Person : Symbol(Person, Decl(constructorAsType.ts, 0, 3)) ->Person2 : Symbol(Person2, Decl(constructorAsType.ts, 2, 3)) +>Person2 : Symbol(Person2, Decl(constructorAsType.ts, 2, 11)) diff --git a/tests/baselines/reference/constructorAsType.types b/tests/baselines/reference/constructorAsType.types index 878f3266b0ece..38c825db0442b 100644 --- a/tests/baselines/reference/constructorAsType.types +++ b/tests/baselines/reference/constructorAsType.types @@ -15,7 +15,7 @@ var Person:new () => {name: string;} = function () {return {name:"joe"};}; >"joe" : "joe" > : ^^^^^ -var Person2:{new() : {name:string;};}; +declare var Person2:{new() : {name:string;};}; >Person2 : new () => { name: string; } > : ^^^^^^^^^^ >name : string diff --git a/tests/baselines/reference/constructorParameterProperties.errors.txt b/tests/baselines/reference/constructorParameterProperties.errors.txt index 37a842b4df3c3..b76eb9c6988c6 100644 --- a/tests/baselines/reference/constructorParameterProperties.errors.txt +++ b/tests/baselines/reference/constructorParameterProperties.errors.txt @@ -11,7 +11,7 @@ constructorParameterProperties.ts(20,12): error TS2445: Property 'z' is protecte constructor(private x: string, protected z: string) { } } - var c: C; + declare var c: C; var r = c.y; var r2 = c.x; // error ~ @@ -25,7 +25,7 @@ constructorParameterProperties.ts(20,12): error TS2445: Property 'z' is protecte constructor(a: T, private x: T, protected z: T) { } } - var d: D; + declare var d: D; var r = d.y; var r2 = d.x; // error ~ diff --git a/tests/baselines/reference/constructorParameterProperties.js b/tests/baselines/reference/constructorParameterProperties.js index e5ea759e975eb..a15933052ad84 100644 --- a/tests/baselines/reference/constructorParameterProperties.js +++ b/tests/baselines/reference/constructorParameterProperties.js @@ -6,7 +6,7 @@ class C { constructor(private x: string, protected z: string) { } } -var c: C; +declare var c: C; var r = c.y; var r2 = c.x; // error var r3 = c.z; // error @@ -16,7 +16,7 @@ class D { constructor(a: T, private x: T, protected z: T) { } } -var d: D; +declare var d: D; var r = d.y; var r2 = d.x; // error var r3 = d.a; // error @@ -31,7 +31,6 @@ var C = /** @class */ (function () { } return C; }()); -var c; var r = c.y; var r2 = c.x; // error var r3 = c.z; // error @@ -42,7 +41,6 @@ var D = /** @class */ (function () { } return D; }()); -var d; var r = d.y; var r2 = d.x; // error var r3 = d.a; // error diff --git a/tests/baselines/reference/constructorParameterProperties.symbols b/tests/baselines/reference/constructorParameterProperties.symbols index faa0af35fd850..ab2d5b10f333a 100644 --- a/tests/baselines/reference/constructorParameterProperties.symbols +++ b/tests/baselines/reference/constructorParameterProperties.symbols @@ -12,26 +12,26 @@ class C { >z : Symbol(C.z, Decl(constructorParameterProperties.ts, 2, 34)) } -var c: C; ->c : Symbol(c, Decl(constructorParameterProperties.ts, 5, 3)) +declare var c: C; +>c : Symbol(c, Decl(constructorParameterProperties.ts, 5, 11)) >C : Symbol(C, Decl(constructorParameterProperties.ts, 0, 0)) var r = c.y; >r : Symbol(r, Decl(constructorParameterProperties.ts, 6, 3), Decl(constructorParameterProperties.ts, 16, 3)) >c.y : Symbol(C.y, Decl(constructorParameterProperties.ts, 0, 9)) ->c : Symbol(c, Decl(constructorParameterProperties.ts, 5, 3)) +>c : Symbol(c, Decl(constructorParameterProperties.ts, 5, 11)) >y : Symbol(C.y, Decl(constructorParameterProperties.ts, 0, 9)) var r2 = c.x; // error >r2 : Symbol(r2, Decl(constructorParameterProperties.ts, 7, 3), Decl(constructorParameterProperties.ts, 17, 3)) >c.x : Symbol(C.x, Decl(constructorParameterProperties.ts, 2, 16)) ->c : Symbol(c, Decl(constructorParameterProperties.ts, 5, 3)) +>c : Symbol(c, Decl(constructorParameterProperties.ts, 5, 11)) >x : Symbol(C.x, Decl(constructorParameterProperties.ts, 2, 16)) var r3 = c.z; // error >r3 : Symbol(r3, Decl(constructorParameterProperties.ts, 8, 3), Decl(constructorParameterProperties.ts, 18, 3)) >c.z : Symbol(C.z, Decl(constructorParameterProperties.ts, 2, 34)) ->c : Symbol(c, Decl(constructorParameterProperties.ts, 5, 3)) +>c : Symbol(c, Decl(constructorParameterProperties.ts, 5, 11)) >z : Symbol(C.z, Decl(constructorParameterProperties.ts, 2, 34)) class D { @@ -51,29 +51,29 @@ class D { >T : Symbol(T, Decl(constructorParameterProperties.ts, 10, 8)) } -var d: D; ->d : Symbol(d, Decl(constructorParameterProperties.ts, 15, 3)) +declare var d: D; +>d : Symbol(d, Decl(constructorParameterProperties.ts, 15, 11)) >D : Symbol(D, Decl(constructorParameterProperties.ts, 8, 13)) var r = d.y; >r : Symbol(r, Decl(constructorParameterProperties.ts, 6, 3), Decl(constructorParameterProperties.ts, 16, 3)) >d.y : Symbol(D.y, Decl(constructorParameterProperties.ts, 10, 12)) ->d : Symbol(d, Decl(constructorParameterProperties.ts, 15, 3)) +>d : Symbol(d, Decl(constructorParameterProperties.ts, 15, 11)) >y : Symbol(D.y, Decl(constructorParameterProperties.ts, 10, 12)) var r2 = d.x; // error >r2 : Symbol(r2, Decl(constructorParameterProperties.ts, 7, 3), Decl(constructorParameterProperties.ts, 17, 3)) >d.x : Symbol(D.x, Decl(constructorParameterProperties.ts, 12, 21)) ->d : Symbol(d, Decl(constructorParameterProperties.ts, 15, 3)) +>d : Symbol(d, Decl(constructorParameterProperties.ts, 15, 11)) >x : Symbol(D.x, Decl(constructorParameterProperties.ts, 12, 21)) var r3 = d.a; // error >r3 : Symbol(r3, Decl(constructorParameterProperties.ts, 8, 3), Decl(constructorParameterProperties.ts, 18, 3)) ->d : Symbol(d, Decl(constructorParameterProperties.ts, 15, 3)) +>d : Symbol(d, Decl(constructorParameterProperties.ts, 15, 11)) var r4 = d.z; // error >r4 : Symbol(r4, Decl(constructorParameterProperties.ts, 19, 3)) >d.z : Symbol(D.z, Decl(constructorParameterProperties.ts, 12, 35)) ->d : Symbol(d, Decl(constructorParameterProperties.ts, 15, 3)) +>d : Symbol(d, Decl(constructorParameterProperties.ts, 15, 11)) >z : Symbol(D.z, Decl(constructorParameterProperties.ts, 12, 35)) diff --git a/tests/baselines/reference/constructorParameterProperties.types b/tests/baselines/reference/constructorParameterProperties.types index 82d71c5d4c8d8..8473a961cad0a 100644 --- a/tests/baselines/reference/constructorParameterProperties.types +++ b/tests/baselines/reference/constructorParameterProperties.types @@ -16,7 +16,7 @@ class C { > : ^^^^^^ } -var c: C; +declare var c: C; >c : C > : ^ @@ -67,7 +67,7 @@ class D { > : ^ } -var d: D; +declare var d: D; >d : D > : ^^^^^^^^^ diff --git a/tests/baselines/reference/constructorParameterProperties2.errors.txt b/tests/baselines/reference/constructorParameterProperties2.errors.txt index 36cc1942b95d2..91c54823d681b 100644 --- a/tests/baselines/reference/constructorParameterProperties2.errors.txt +++ b/tests/baselines/reference/constructorParameterProperties2.errors.txt @@ -13,7 +13,7 @@ constructorParameterProperties2.ts(27,27): error TS2687: All declarations of 'y' constructor(y: number) { } // ok } - var c: C; + declare var c: C; var r = c.y; class D { @@ -23,7 +23,7 @@ constructorParameterProperties2.ts(27,27): error TS2687: All declarations of 'y' !!! error TS2300: Duplicate identifier 'y'. } - var d: D; + declare var d: D; var r2 = d.y; class E { @@ -37,7 +37,7 @@ constructorParameterProperties2.ts(27,27): error TS2687: All declarations of 'y' !!! error TS2687: All declarations of 'y' must have identical modifiers. } - var e: E; + declare var e: E; var r3 = e.y; // error class F { @@ -51,6 +51,6 @@ constructorParameterProperties2.ts(27,27): error TS2687: All declarations of 'y' !!! error TS2687: All declarations of 'y' must have identical modifiers. } - var f: F; + declare var f: F; var r4 = f.y; // error \ No newline at end of file diff --git a/tests/baselines/reference/constructorParameterProperties2.js b/tests/baselines/reference/constructorParameterProperties2.js index 04ef2d354cada..bc5333cc91368 100644 --- a/tests/baselines/reference/constructorParameterProperties2.js +++ b/tests/baselines/reference/constructorParameterProperties2.js @@ -6,7 +6,7 @@ class C { constructor(y: number) { } // ok } -var c: C; +declare var c: C; var r = c.y; class D { @@ -14,7 +14,7 @@ class D { constructor(public y: number) { } // error } -var d: D; +declare var d: D; var r2 = d.y; class E { @@ -22,7 +22,7 @@ class E { constructor(private y: number) { } // error } -var e: E; +declare var e: E; var r3 = e.y; // error class F { @@ -30,7 +30,7 @@ class F { constructor(protected y: number) { } // error } -var f: F; +declare var f: F; var r4 = f.y; // error @@ -40,7 +40,6 @@ var C = /** @class */ (function () { } // ok return C; }()); -var c; var r = c.y; var D = /** @class */ (function () { function D(y) { @@ -48,7 +47,6 @@ var D = /** @class */ (function () { } // error return D; }()); -var d; var r2 = d.y; var E = /** @class */ (function () { function E(y) { @@ -56,7 +54,6 @@ var E = /** @class */ (function () { } // error return E; }()); -var e; var r3 = e.y; // error var F = /** @class */ (function () { function F(y) { @@ -64,5 +61,4 @@ var F = /** @class */ (function () { } // error return F; }()); -var f; var r4 = f.y; // error diff --git a/tests/baselines/reference/constructorParameterProperties2.symbols b/tests/baselines/reference/constructorParameterProperties2.symbols index b066029f6db8e..4cb517cf14ee4 100644 --- a/tests/baselines/reference/constructorParameterProperties2.symbols +++ b/tests/baselines/reference/constructorParameterProperties2.symbols @@ -11,14 +11,14 @@ class C { >y : Symbol(y, Decl(constructorParameterProperties2.ts, 2, 16)) } -var c: C; ->c : Symbol(c, Decl(constructorParameterProperties2.ts, 5, 3)) +declare var c: C; +>c : Symbol(c, Decl(constructorParameterProperties2.ts, 5, 11)) >C : Symbol(C, Decl(constructorParameterProperties2.ts, 0, 0)) var r = c.y; >r : Symbol(r, Decl(constructorParameterProperties2.ts, 6, 3)) >c.y : Symbol(C.y, Decl(constructorParameterProperties2.ts, 0, 9)) ->c : Symbol(c, Decl(constructorParameterProperties2.ts, 5, 3)) +>c : Symbol(c, Decl(constructorParameterProperties2.ts, 5, 11)) >y : Symbol(C.y, Decl(constructorParameterProperties2.ts, 0, 9)) class D { @@ -31,14 +31,14 @@ class D { >y : Symbol(D.y, Decl(constructorParameterProperties2.ts, 8, 9), Decl(constructorParameterProperties2.ts, 10, 16)) } -var d: D; ->d : Symbol(d, Decl(constructorParameterProperties2.ts, 13, 3)) +declare var d: D; +>d : Symbol(d, Decl(constructorParameterProperties2.ts, 13, 11)) >D : Symbol(D, Decl(constructorParameterProperties2.ts, 6, 12)) var r2 = d.y; >r2 : Symbol(r2, Decl(constructorParameterProperties2.ts, 14, 3)) >d.y : Symbol(D.y, Decl(constructorParameterProperties2.ts, 8, 9), Decl(constructorParameterProperties2.ts, 10, 16)) ->d : Symbol(d, Decl(constructorParameterProperties2.ts, 13, 3)) +>d : Symbol(d, Decl(constructorParameterProperties2.ts, 13, 11)) >y : Symbol(D.y, Decl(constructorParameterProperties2.ts, 8, 9), Decl(constructorParameterProperties2.ts, 10, 16)) class E { @@ -51,14 +51,14 @@ class E { >y : Symbol(E.y, Decl(constructorParameterProperties2.ts, 16, 9), Decl(constructorParameterProperties2.ts, 18, 16)) } -var e: E; ->e : Symbol(e, Decl(constructorParameterProperties2.ts, 21, 3)) +declare var e: E; +>e : Symbol(e, Decl(constructorParameterProperties2.ts, 21, 11)) >E : Symbol(E, Decl(constructorParameterProperties2.ts, 14, 13)) var r3 = e.y; // error >r3 : Symbol(r3, Decl(constructorParameterProperties2.ts, 22, 3)) >e.y : Symbol(E.y, Decl(constructorParameterProperties2.ts, 16, 9), Decl(constructorParameterProperties2.ts, 18, 16)) ->e : Symbol(e, Decl(constructorParameterProperties2.ts, 21, 3)) +>e : Symbol(e, Decl(constructorParameterProperties2.ts, 21, 11)) >y : Symbol(E.y, Decl(constructorParameterProperties2.ts, 16, 9), Decl(constructorParameterProperties2.ts, 18, 16)) class F { @@ -71,13 +71,13 @@ class F { >y : Symbol(F.y, Decl(constructorParameterProperties2.ts, 24, 9), Decl(constructorParameterProperties2.ts, 26, 16)) } -var f: F; ->f : Symbol(f, Decl(constructorParameterProperties2.ts, 29, 3)) +declare var f: F; +>f : Symbol(f, Decl(constructorParameterProperties2.ts, 29, 11)) >F : Symbol(F, Decl(constructorParameterProperties2.ts, 22, 13)) var r4 = f.y; // error >r4 : Symbol(r4, Decl(constructorParameterProperties2.ts, 30, 3)) >f.y : Symbol(F.y, Decl(constructorParameterProperties2.ts, 24, 9), Decl(constructorParameterProperties2.ts, 26, 16)) ->f : Symbol(f, Decl(constructorParameterProperties2.ts, 29, 3)) +>f : Symbol(f, Decl(constructorParameterProperties2.ts, 29, 11)) >y : Symbol(F.y, Decl(constructorParameterProperties2.ts, 24, 9), Decl(constructorParameterProperties2.ts, 26, 16)) diff --git a/tests/baselines/reference/constructorParameterProperties2.types b/tests/baselines/reference/constructorParameterProperties2.types index d33d78bda9ce9..1200f75bc07a9 100644 --- a/tests/baselines/reference/constructorParameterProperties2.types +++ b/tests/baselines/reference/constructorParameterProperties2.types @@ -14,7 +14,7 @@ class C { > : ^^^^^^ } -var c: C; +declare var c: C; >c : C > : ^ @@ -41,7 +41,7 @@ class D { > : ^^^^^^ } -var d: D; +declare var d: D; >d : D > : ^ @@ -68,7 +68,7 @@ class E { > : ^^^^^^ } -var e: E; +declare var e: E; >e : E > : ^ @@ -95,7 +95,7 @@ class F { > : ^^^^^^ } -var f: F; +declare var f: F; >f : F > : ^ diff --git a/tests/baselines/reference/contextualSignatureInstatiationContravariance.errors.txt b/tests/baselines/reference/contextualSignatureInstatiationContravariance.errors.txt index de50337a73ec5..6e49ea2bad965 100644 --- a/tests/baselines/reference/contextualSignatureInstatiationContravariance.errors.txt +++ b/tests/baselines/reference/contextualSignatureInstatiationContravariance.errors.txt @@ -8,9 +8,9 @@ contextualSignatureInstatiationContravariance.ts(8,1): error TS2322: Type '(x: T, y: T) => void; + declare var f2: (x: T, y: T) => void; - var g2: (g: Giraffe, e: Elephant) => void; + declare var g2: (g: Giraffe, e: Elephant) => void; g2 = f2; // error because Giraffe and Elephant are disjoint types ~~ !!! error TS2322: Type '(x: T, y: T) => void' is not assignable to type '(g: Giraffe, e: Elephant) => void'. @@ -18,5 +18,5 @@ contextualSignatureInstatiationContravariance.ts(8,1): error TS2322: Type ' void; + declare var h2: (g1: Giraffe, g2: Giraffe) => void; h2 = f2; // valid because Giraffe satisfies the constraint. It is safe in the traditional contravariant fashion. \ No newline at end of file diff --git a/tests/baselines/reference/contextualSignatureInstatiationContravariance.js b/tests/baselines/reference/contextualSignatureInstatiationContravariance.js index 17969fc9cd531..271c9c7aaa79d 100644 --- a/tests/baselines/reference/contextualSignatureInstatiationContravariance.js +++ b/tests/baselines/reference/contextualSignatureInstatiationContravariance.js @@ -5,17 +5,14 @@ interface Animal { x } interface Giraffe extends Animal { y } interface Elephant extends Animal { y2 } -var f2: (x: T, y: T) => void; +declare var f2: (x: T, y: T) => void; -var g2: (g: Giraffe, e: Elephant) => void; +declare var g2: (g: Giraffe, e: Elephant) => void; g2 = f2; // error because Giraffe and Elephant are disjoint types -var h2: (g1: Giraffe, g2: Giraffe) => void; +declare var h2: (g1: Giraffe, g2: Giraffe) => void; h2 = f2; // valid because Giraffe satisfies the constraint. It is safe in the traditional contravariant fashion. //// [contextualSignatureInstatiationContravariance.js] -var f2; -var g2; g2 = f2; // error because Giraffe and Elephant are disjoint types -var h2; h2 = f2; // valid because Giraffe satisfies the constraint. It is safe in the traditional contravariant fashion. diff --git a/tests/baselines/reference/contextualSignatureInstatiationContravariance.symbols b/tests/baselines/reference/contextualSignatureInstatiationContravariance.symbols index 823ae90b6a5d2..a836c3fd6532b 100644 --- a/tests/baselines/reference/contextualSignatureInstatiationContravariance.symbols +++ b/tests/baselines/reference/contextualSignatureInstatiationContravariance.symbols @@ -15,34 +15,34 @@ interface Elephant extends Animal { y2 } >Animal : Symbol(Animal, Decl(contextualSignatureInstatiationContravariance.ts, 0, 0)) >y2 : Symbol(Elephant.y2, Decl(contextualSignatureInstatiationContravariance.ts, 2, 35)) -var f2: (x: T, y: T) => void; ->f2 : Symbol(f2, Decl(contextualSignatureInstatiationContravariance.ts, 4, 3)) ->T : Symbol(T, Decl(contextualSignatureInstatiationContravariance.ts, 4, 9)) +declare var f2: (x: T, y: T) => void; +>f2 : Symbol(f2, Decl(contextualSignatureInstatiationContravariance.ts, 4, 11)) +>T : Symbol(T, Decl(contextualSignatureInstatiationContravariance.ts, 4, 17)) >Animal : Symbol(Animal, Decl(contextualSignatureInstatiationContravariance.ts, 0, 0)) ->x : Symbol(x, Decl(contextualSignatureInstatiationContravariance.ts, 4, 27)) ->T : Symbol(T, Decl(contextualSignatureInstatiationContravariance.ts, 4, 9)) ->y : Symbol(y, Decl(contextualSignatureInstatiationContravariance.ts, 4, 32)) ->T : Symbol(T, Decl(contextualSignatureInstatiationContravariance.ts, 4, 9)) - -var g2: (g: Giraffe, e: Elephant) => void; ->g2 : Symbol(g2, Decl(contextualSignatureInstatiationContravariance.ts, 6, 3)) ->g : Symbol(g, Decl(contextualSignatureInstatiationContravariance.ts, 6, 9)) +>x : Symbol(x, Decl(contextualSignatureInstatiationContravariance.ts, 4, 35)) +>T : Symbol(T, Decl(contextualSignatureInstatiationContravariance.ts, 4, 17)) +>y : Symbol(y, Decl(contextualSignatureInstatiationContravariance.ts, 4, 40)) +>T : Symbol(T, Decl(contextualSignatureInstatiationContravariance.ts, 4, 17)) + +declare var g2: (g: Giraffe, e: Elephant) => void; +>g2 : Symbol(g2, Decl(contextualSignatureInstatiationContravariance.ts, 6, 11)) +>g : Symbol(g, Decl(contextualSignatureInstatiationContravariance.ts, 6, 17)) >Giraffe : Symbol(Giraffe, Decl(contextualSignatureInstatiationContravariance.ts, 0, 22)) ->e : Symbol(e, Decl(contextualSignatureInstatiationContravariance.ts, 6, 20)) +>e : Symbol(e, Decl(contextualSignatureInstatiationContravariance.ts, 6, 28)) >Elephant : Symbol(Elephant, Decl(contextualSignatureInstatiationContravariance.ts, 1, 38)) g2 = f2; // error because Giraffe and Elephant are disjoint types ->g2 : Symbol(g2, Decl(contextualSignatureInstatiationContravariance.ts, 6, 3)) ->f2 : Symbol(f2, Decl(contextualSignatureInstatiationContravariance.ts, 4, 3)) +>g2 : Symbol(g2, Decl(contextualSignatureInstatiationContravariance.ts, 6, 11)) +>f2 : Symbol(f2, Decl(contextualSignatureInstatiationContravariance.ts, 4, 11)) -var h2: (g1: Giraffe, g2: Giraffe) => void; ->h2 : Symbol(h2, Decl(contextualSignatureInstatiationContravariance.ts, 9, 3)) ->g1 : Symbol(g1, Decl(contextualSignatureInstatiationContravariance.ts, 9, 9)) +declare var h2: (g1: Giraffe, g2: Giraffe) => void; +>h2 : Symbol(h2, Decl(contextualSignatureInstatiationContravariance.ts, 9, 11)) +>g1 : Symbol(g1, Decl(contextualSignatureInstatiationContravariance.ts, 9, 17)) >Giraffe : Symbol(Giraffe, Decl(contextualSignatureInstatiationContravariance.ts, 0, 22)) ->g2 : Symbol(g2, Decl(contextualSignatureInstatiationContravariance.ts, 9, 21)) +>g2 : Symbol(g2, Decl(contextualSignatureInstatiationContravariance.ts, 9, 29)) >Giraffe : Symbol(Giraffe, Decl(contextualSignatureInstatiationContravariance.ts, 0, 22)) h2 = f2; // valid because Giraffe satisfies the constraint. It is safe in the traditional contravariant fashion. ->h2 : Symbol(h2, Decl(contextualSignatureInstatiationContravariance.ts, 9, 3)) ->f2 : Symbol(f2, Decl(contextualSignatureInstatiationContravariance.ts, 4, 3)) +>h2 : Symbol(h2, Decl(contextualSignatureInstatiationContravariance.ts, 9, 11)) +>f2 : Symbol(f2, Decl(contextualSignatureInstatiationContravariance.ts, 4, 11)) diff --git a/tests/baselines/reference/contextualSignatureInstatiationContravariance.types b/tests/baselines/reference/contextualSignatureInstatiationContravariance.types index b8639428a0a55..0da33fed2f294 100644 --- a/tests/baselines/reference/contextualSignatureInstatiationContravariance.types +++ b/tests/baselines/reference/contextualSignatureInstatiationContravariance.types @@ -13,7 +13,7 @@ interface Elephant extends Animal { y2 } >y2 : any > : ^^^ -var f2: (x: T, y: T) => void; +declare var f2: (x: T, y: T) => void; >f2 : (x: T, y: T) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -21,7 +21,7 @@ var f2: (x: T, y: T) => void; >y : T > : ^ -var g2: (g: Giraffe, e: Elephant) => void; +declare var g2: (g: Giraffe, e: Elephant) => void; >g2 : (g: Giraffe, e: Elephant) => void > : ^ ^^ ^^ ^^ ^^^^^ >g : Giraffe @@ -37,7 +37,7 @@ g2 = f2; // error because Giraffe and Elephant are disjoint types >f2 : (x: T, y: T) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ -var h2: (g1: Giraffe, g2: Giraffe) => void; +declare var h2: (g1: Giraffe, g2: Giraffe) => void; >h2 : (g1: Giraffe, g2: Giraffe) => void > : ^ ^^ ^^ ^^ ^^^^^ >g1 : Giraffe diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.errors.txt b/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.errors.txt index 7d5047598b56a..da5529ef91a81 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.errors.txt +++ b/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.errors.txt @@ -30,11 +30,11 @@ contextualTypeWithUnionTypeObjectLiteral.ts(58,5): error TS2322: Type '(a: strin ==== contextualTypeWithUnionTypeObjectLiteral.ts (6 errors) ==== - var str: string; - var num: number; + declare var str: string; + declare var num: number; var strOrNumber: string | number = str || num; - var objStr: { prop: string }; - var objNum: { prop: number }; + declare var objStr: { prop: string }; + declare var objNum: { prop: number }; var objStrOrNum1: { prop: string } | { prop: number } = objStr || objNum; var objStrOrNum2: { prop: string | number } = objStr || objNum; // Below is error because : @@ -99,8 +99,8 @@ contextualTypeWithUnionTypeObjectLiteral.ts(58,5): error TS2322: Type '(a: strin interface I21 { commonMethodDifferentReturnType(a: string, b: number): number; } - var i11: I11; - var i21: I21; + declare var i11: I11; + declare var i21: I21; var i11Ori21: I11 | I21 = i11; var i11Ori21: I11 | I21 = i21; var i11Ori21: I11 | I21 = { // Like i1 @@ -115,7 +115,7 @@ contextualTypeWithUnionTypeObjectLiteral.ts(58,5): error TS2322: Type '(a: strin return z; }, }; - var strOrNumber: string | number; + declare var strOrNumber: string | number; var i11Ori21: I11 | I21 = { // Like i1 and i2 both commonMethodDifferentReturnType: (a, b) => strOrNumber, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.js b/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.js index d09b362186d58..ed07f67f5b79d 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.js +++ b/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.js @@ -1,11 +1,11 @@ //// [tests/cases/conformance/types/union/contextualTypeWithUnionTypeObjectLiteral.ts] //// //// [contextualTypeWithUnionTypeObjectLiteral.ts] -var str: string; -var num: number; +declare var str: string; +declare var num: number; var strOrNumber: string | number = str || num; -var objStr: { prop: string }; -var objNum: { prop: number }; +declare var objStr: { prop: string }; +declare var objNum: { prop: number }; var objStrOrNum1: { prop: string } | { prop: number } = objStr || objNum; var objStrOrNum2: { prop: string | number } = objStr || objNum; // Below is error because : @@ -40,8 +40,8 @@ interface I11 { interface I21 { commonMethodDifferentReturnType(a: string, b: number): number; } -var i11: I11; -var i21: I21; +declare var i11: I11; +declare var i21: I21; var i11Ori21: I11 | I21 = i11; var i11Ori21: I11 | I21 = i21; var i11Ori21: I11 | I21 = { // Like i1 @@ -56,17 +56,13 @@ var i11Ori21: I11 | I21 = { // Like i2 return z; }, }; -var strOrNumber: string | number; +declare var strOrNumber: string | number; var i11Ori21: I11 | I21 = { // Like i1 and i2 both commonMethodDifferentReturnType: (a, b) => strOrNumber, }; //// [contextualTypeWithUnionTypeObjectLiteral.js] -var str; -var num; var strOrNumber = str || num; -var objStr; -var objNum; var objStrOrNum1 = objStr || objNum; var objStrOrNum2 = objStr || objNum; // Below is error because : @@ -95,8 +91,6 @@ var objStrOrNum8 = { anotherP: str, anotherP1: num }; -var i11; -var i21; var i11Ori21 = i11; var i11Ori21 = i21; var i11Ori21 = { @@ -111,7 +105,6 @@ var i11Ori21 = { return z; }, }; -var strOrNumber; var i11Ori21 = { commonMethodDifferentReturnType: function (a, b) { return strOrNumber; }, }; diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.symbols b/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.symbols index 8a4484ebb3607..6991c3f9afc71 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.symbols +++ b/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.symbols @@ -1,37 +1,37 @@ //// [tests/cases/conformance/types/union/contextualTypeWithUnionTypeObjectLiteral.ts] //// === contextualTypeWithUnionTypeObjectLiteral.ts === -var str: string; ->str : Symbol(str, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 0, 3)) +declare var str: string; +>str : Symbol(str, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 0, 11)) -var num: number; ->num : Symbol(num, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 1, 3)) +declare var num: number; +>num : Symbol(num, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 1, 11)) var strOrNumber: string | number = str || num; ->strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 3)) ->str : Symbol(str, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 0, 3)) ->num : Symbol(num, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 1, 3)) +>strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 11)) +>str : Symbol(str, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 0, 11)) +>num : Symbol(num, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 1, 11)) -var objStr: { prop: string }; ->objStr : Symbol(objStr, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 3, 3)) ->prop : Symbol(prop, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 3, 13)) +declare var objStr: { prop: string }; +>objStr : Symbol(objStr, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 3, 11)) +>prop : Symbol(prop, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 3, 21)) -var objNum: { prop: number }; ->objNum : Symbol(objNum, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 4, 3)) ->prop : Symbol(prop, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 4, 13)) +declare var objNum: { prop: number }; +>objNum : Symbol(objNum, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 4, 11)) +>prop : Symbol(prop, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 4, 21)) var objStrOrNum1: { prop: string } | { prop: number } = objStr || objNum; >objStrOrNum1 : Symbol(objStrOrNum1, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 5, 3)) >prop : Symbol(prop, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 5, 19)) >prop : Symbol(prop, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 5, 38)) ->objStr : Symbol(objStr, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 3, 3)) ->objNum : Symbol(objNum, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 4, 3)) +>objStr : Symbol(objStr, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 3, 11)) +>objNum : Symbol(objNum, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 4, 11)) var objStrOrNum2: { prop: string | number } = objStr || objNum; >objStrOrNum2 : Symbol(objStrOrNum2, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 6, 3)) >prop : Symbol(prop, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 6, 19)) ->objStr : Symbol(objStr, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 3, 3)) ->objNum : Symbol(objNum, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 4, 3)) +>objStr : Symbol(objStr, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 3, 11)) +>objNum : Symbol(objNum, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 4, 11)) // Below is error because : // Spec says: @@ -46,7 +46,7 @@ var objStrOrNum3: { prop: string } | { prop: number } = { prop: strOrNumber >prop : Symbol(prop, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 13, 57)) ->strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 3)) +>strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 11)) }; var objStrOrNum4: { prop: string | number } = { @@ -55,7 +55,7 @@ var objStrOrNum4: { prop: string | number } = { prop: strOrNumber >prop : Symbol(prop, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 16, 47)) ->strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 3)) +>strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 11)) }; var objStrOrNum5: { prop: string; anotherP: string; } | { prop: number } = { prop: strOrNumber }; @@ -64,7 +64,7 @@ var objStrOrNum5: { prop: string; anotherP: string; } | { prop: number } = { pro >anotherP : Symbol(anotherP, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 19, 33)) >prop : Symbol(prop, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 19, 57)) >prop : Symbol(prop, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 19, 76)) ->strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 3)) +>strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 11)) var objStrOrNum6: { prop: string; anotherP: string; } | { prop: number } = { >objStrOrNum6 : Symbol(objStrOrNum6, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 20, 3)) @@ -74,11 +74,11 @@ var objStrOrNum6: { prop: string; anotherP: string; } | { prop: number } = { prop: strOrNumber, >prop : Symbol(prop, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 20, 76)) ->strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 3)) +>strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 11)) anotherP: str >anotherP : Symbol(anotherP, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 21, 22)) ->str : Symbol(str, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 0, 3)) +>str : Symbol(str, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 0, 11)) }; var objStrOrNum7: { prop: string; anotherP: string; } | { prop: number; anotherP1: number } = { @@ -90,11 +90,11 @@ var objStrOrNum7: { prop: string; anotherP: string; } | { prop: number; anotherP prop: strOrNumber, >prop : Symbol(prop, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 24, 95)) ->strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 3)) +>strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 11)) anotherP: str >anotherP : Symbol(anotherP, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 25, 22)) ->str : Symbol(str, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 0, 3)) +>str : Symbol(str, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 0, 11)) }; var objStrOrNum8: { prop: string; anotherP: string; } | { prop: number; anotherP1: number } = { @@ -106,15 +106,15 @@ var objStrOrNum8: { prop: string; anotherP: string; } | { prop: number; anotherP prop: strOrNumber, >prop : Symbol(prop, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 28, 95)) ->strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 3)) +>strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 11)) anotherP: str, >anotherP : Symbol(anotherP, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 29, 22)) ->str : Symbol(str, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 0, 3)) +>str : Symbol(str, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 0, 11)) anotherP1: num >anotherP1 : Symbol(anotherP1, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 30, 18)) ->num : Symbol(num, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 1, 3)) +>num : Symbol(num, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 1, 11)) }; interface I11 { @@ -133,25 +133,25 @@ interface I21 { >a : Symbol(a, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 37, 36)) >b : Symbol(b, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 37, 46)) } -var i11: I11; ->i11 : Symbol(i11, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 39, 3)) +declare var i11: I11; +>i11 : Symbol(i11, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 39, 11)) >I11 : Symbol(I11, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 32, 2)) -var i21: I21; ->i21 : Symbol(i21, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 40, 3)) +declare var i21: I21; +>i21 : Symbol(i21, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 40, 11)) >I21 : Symbol(I21, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 35, 1)) var i11Ori21: I11 | I21 = i11; >i11Ori21 : Symbol(i11Ori21, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 41, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 42, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 43, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 49, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 56, 3)) >I11 : Symbol(I11, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 32, 2)) >I21 : Symbol(I21, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 35, 1)) ->i11 : Symbol(i11, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 39, 3)) +>i11 : Symbol(i11, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 39, 11)) var i11Ori21: I11 | I21 = i21; >i11Ori21 : Symbol(i11Ori21, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 41, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 42, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 43, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 49, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 56, 3)) >I11 : Symbol(I11, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 32, 2)) >I21 : Symbol(I21, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 35, 1)) ->i21 : Symbol(i21, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 40, 3)) +>i21 : Symbol(i21, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 40, 11)) var i11Ori21: I11 | I21 = { // Like i1 >i11Ori21 : Symbol(i11Ori21, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 41, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 42, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 43, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 49, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 56, 3)) @@ -197,8 +197,8 @@ var i11Ori21: I11 | I21 = { // Like i2 }, }; -var strOrNumber: string | number; ->strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 3)) +declare var strOrNumber: string | number; +>strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 11)) var i11Ori21: I11 | I21 = { // Like i1 and i2 both >i11Ori21 : Symbol(i11Ori21, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 41, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 42, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 43, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 49, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 56, 3)) @@ -209,6 +209,6 @@ var i11Ori21: I11 | I21 = { // Like i1 and i2 both >commonMethodDifferentReturnType : Symbol(commonMethodDifferentReturnType, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 56, 27)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 57, 38)) >b : Symbol(b, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 57, 40)) ->strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 3)) +>strOrNumber : Symbol(strOrNumber, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 2, 3), Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 55, 11)) }; diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.types b/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.types index e0b7462a267d4..2079eaad23453 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.types +++ b/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.types @@ -1,11 +1,11 @@ //// [tests/cases/conformance/types/union/contextualTypeWithUnionTypeObjectLiteral.ts] //// === contextualTypeWithUnionTypeObjectLiteral.ts === -var str: string; +declare var str: string; >str : string > : ^^^^^^ -var num: number; +declare var num: number; >num : number > : ^^^^^^ @@ -19,13 +19,13 @@ var strOrNumber: string | number = str || num; >num : number > : ^^^^^^ -var objStr: { prop: string }; +declare var objStr: { prop: string }; >objStr : { prop: string; } > : ^^^^^^^^ ^^^ >prop : string > : ^^^^^^ -var objNum: { prop: number }; +declare var objNum: { prop: number }; >objNum : { prop: number; } > : ^^^^^^^^ ^^^ >prop : number @@ -214,11 +214,11 @@ interface I21 { >b : number > : ^^^^^^ } -var i11: I11; +declare var i11: I11; >i11 : I11 > : ^^^ -var i21: I21; +declare var i21: I21; >i21 : I21 > : ^^^ @@ -306,7 +306,7 @@ var i11Ori21: I11 | I21 = { // Like i2 }, }; -var strOrNumber: string | number; +declare var strOrNumber: string | number; >strOrNumber : string | number > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualTyping.errors.txt b/tests/baselines/reference/contextualTyping.errors.txt index 664d9780d6393..a973e3b6d3f73 100644 --- a/tests/baselines/reference/contextualTyping.errors.txt +++ b/tests/baselines/reference/contextualTyping.errors.txt @@ -22,7 +22,7 @@ contextualTyping.ts(223,5): error TS2741: Property 'x' is missing in type '{}' b } } - // CONTEXT: Module property declaration + // CONTEXT: Namespace property declaration namespace C2T5 { export var foo: (i: number, s: string) => number = function(i) { return i; @@ -67,7 +67,7 @@ contextualTyping.ts(223,5): error TS2741: Property 'x' is missing in type '{}' b } } - // CONTEXT: Module property assignment + // CONTEXT: Namespace property assignment namespace C5T5 { export var foo: (i: number, s: string) => string; foo = function(i, s) { @@ -80,7 +80,7 @@ contextualTyping.ts(223,5): error TS2741: Property 'x' is missing in type '{}' b c6t5 = <(n: number) => IFoo>function(n) { return ({}) }; // CONTEXT: Array index assignment - var c7t2: IFoo[]; + var c7t2: IFoo[] = []; c7t2[0] = ({n: 1}); // CONTEXT: Object property assignment diff --git a/tests/baselines/reference/contextualTyping.js b/tests/baselines/reference/contextualTyping.js index 78fe56d48446b..a19268d4576e7 100644 --- a/tests/baselines/reference/contextualTyping.js +++ b/tests/baselines/reference/contextualTyping.js @@ -20,7 +20,7 @@ class C1T5 { } } -// CONTEXT: Module property declaration +// CONTEXT: Namespace property declaration namespace C2T5 { export var foo: (i: number, s: string) => number = function(i) { return i; @@ -65,7 +65,7 @@ class C4T5 { } } -// CONTEXT: Module property assignment +// CONTEXT: Namespace property assignment namespace C5T5 { export var foo: (i: number, s: string) => string; foo = function(i, s) { @@ -78,7 +78,7 @@ var c6t5: (n: number) => IFoo; c6t5 = <(n: number) => IFoo>function(n) { return ({}) }; // CONTEXT: Array index assignment -var c7t2: IFoo[]; +var c7t2: IFoo[] = []; c7t2[0] = ({n: 1}); // CONTEXT: Object property assignment @@ -236,7 +236,7 @@ var C1T5 = /** @class */ (function () { } return C1T5; }()); -// CONTEXT: Module property declaration +// CONTEXT: Namespace property declaration var C2T5; (function (C2T5) { C2T5.foo = function (i) { @@ -275,7 +275,7 @@ var C4T5 = /** @class */ (function () { } return C4T5; }()); -// CONTEXT: Module property assignment +// CONTEXT: Namespace property assignment var C5T5; (function (C5T5) { C5T5.foo = function (i, s) { @@ -286,7 +286,7 @@ var C5T5; var c6t5; c6t5 = function (n) { return ({}); }; // CONTEXT: Array index assignment -var c7t2; +var c7t2 = []; c7t2[0] = ({ n: 1 }); var objc8 = ({}); objc8.t1 = (function (s) { return s; }); diff --git a/tests/baselines/reference/contextualTyping.js.map b/tests/baselines/reference/contextualTyping.js.map index 3f5b41d1da3e8..be9a7dbcd3b5a 100644 --- a/tests/baselines/reference/contextualTyping.js.map +++ b/tests/baselines/reference/contextualTyping.js.map @@ -1,3 +1,3 @@ //// [contextualTyping.js.map] -{"version":3,"file":"contextualTyping.js","sourceRoot":"","sources":["contextualTyping.ts"],"names":[],"mappings":"AAYA,sCAAsC;AACtC;IAAA;QACI,QAAG,GAAqC,UAAS,CAAC;YAC9C,OAAO,CAAC,CAAC;QACb,CAAC,CAAA;IACL,CAAC;IAAD,WAAC;AAAD,CAAC,AAJD,IAIC;AAED,uCAAuC;AACvC,IAAU,IAAI,CAIb;AAJD,WAAU,IAAI;IACC,QAAG,GAAqC,UAAS,CAAC;QACzD,OAAO,CAAC,CAAC;IACb,CAAC,CAAA;AACL,CAAC,EAJS,IAAI,KAAJ,IAAI,QAIb;AAED,gCAAgC;AAChC,IAAI,IAAI,GAA0B,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAC7D,IAAI,IAAI,GAAS,CAAC;IACd,CAAC,EAAE,CAAC;CACP,CAAC,CAAA;AACF,IAAI,IAAI,GAAa,EAAE,CAAC;AACxB,IAAI,IAAI,GAAe,cAAa,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AACxD,IAAI,IAAI,GAAwB,UAAS,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAClE,IAAI,IAAI,GAAmC,UAAS,CAAC,EAAE,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAChF,IAAI,IAAI,GAGJ,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9B,IAAI,IAAI,GAAqC,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,IAAI,IAAI,GAAe,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AAC/B,IAAI,KAAK,GAAW,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,IAAI,KAAK,GAAwC,CAAC,UAAS,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,IAAI,KAAK,GAAS;IACd,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,IAAI,KAAK,GAAS,CAAC;IACf,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC,CAAA;AACF,IAAI,KAAK,GAAS,CAAC;IACf,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AAEF,qCAAqC;AACrC;IAEI;QACI,IAAI,CAAC,GAAG,GAAG,UAAS,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,CAAC;QACb,CAAC,CAAA;IACL,CAAC;IACL,WAAC;AAAD,CAAC,AAPD,IAOC;AAED,sCAAsC;AACtC,IAAU,IAAI,CAKb;AALD,WAAU,IAAI;IAEV,KAAA,GAAG,GAAG,UAAS,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACb,CAAC,CAAA;AACL,CAAC,EALS,IAAI,KAAJ,IAAI,QAKb;AAED,+BAA+B;AAC/B,IAAI,IAAyB,CAAC;AAC9B,IAAI,GAAwB,UAAS,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAE9D,kCAAkC;AAClC,IAAI,IAAY,CAAC;AACjB,IAAI,CAAC,CAAC,CAAC,GAAS,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;AAuBzB,IAAI,KAAK,GAkBS,CAAC,EAAE,CAAC,CAAC;AAEvB,KAAK,CAAC,EAAE,GAAG,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AACtC,KAAK,CAAC,EAAE,GAAS,CAAC;IACd,CAAC,EAAE,CAAC;CACP,CAAC,CAAC;AACH,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;AACd,KAAK,CAAC,EAAE,GAAG,cAAa,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAC5C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAC7C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC,EAAE,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAChD,KAAK,CAAC,EAAE,GAAG,UAAS,CAAS,IAAI,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC;AAE5C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AACnB,KAAK,CAAC,GAAG,GAAG,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,KAAK,CAAC,GAAG,GAAG,CAAC,UAAS,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,CAAC,GAAG,GAAG;IACR,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,KAAK,CAAC,GAAG,GAAS,CAAC;IACf,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC,CAAA;AACF,KAAK,CAAC,GAAG,GAAS,CAAC;IACf,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AACF,yBAAyB;AACzB,SAAS,IAAI,CAAC,CAAsB,IAAG,CAAC;AAAA,CAAC;AACzC,IAAI,CAAC,UAAS,CAAC;IACX,OAAa,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEH,4BAA4B;AAC5B,IAAI,KAAK,GAA8B,cAAa,OAAO,UAAS,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;AAE/F,0BAA0B;AAC1B;IAAc,eAAY,CAAsB;IAAI,CAAC;IAAC,YAAC;AAAD,CAAC,AAAvD,IAAuD;AAAA,CAAC;AACxD,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,UAAS,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAErD,qCAAqC;AACrC,IAAI,KAAK,GAA2B,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAC/D,IAAI,KAAK,GAAU,CAAC;IAChB,CAAC,EAAE,CAAC;CACP,CAAC,CAAC;AACH,IAAI,KAAK,GAAc,EAAE,CAAC;AAC1B,IAAI,KAAK,GAAgB,cAAa,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAC1D,IAAI,KAAK,GAAyB,UAAS,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AACpE,IAAI,KAAK,GAAoC,UAAS,CAAC,EAAE,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAClF,IAAI,KAAK,GAGN,UAAS,CAAQ,IAAI,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC;AAEnC,IAAI,KAAK,GAAsC,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,IAAI,KAAK,GAAgB,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AACjC,IAAI,MAAM,GAAY,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9C,IAAI,MAAM,GAAyC,CAAC,UAAS,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,IAAI,MAAM,GAAU;IAChB,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,IAAI,MAAM,GAAU,CAAC;IACjB,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC,CAAA;AACF,IAAI,MAAM,GAAU,CAAC;IACjB,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AAOF,SAAS,GAAG,CAAC,CAAC,EAAC,CAAC,IAAI,OAAO,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;AAEjC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;AAcnB,KAAK,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/B,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,UAAS,EAAE,EAAE,EAAE;IACjC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,GAAG;IACd,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,GAAG,EAAE,UAAS,EAAE,EAAE,EAAE;QAChB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;CACJ,CAAC;AAIF,IAAI,CAAC,GAAM,EAAG,CAAC"} -//// https://sokra.github.io/source-map-visualization#base64,Ly8gQ09OVEVYVDogQ2xhc3MgcHJvcGVydHkgZGVjbGFyYXRpb24NCnZhciBDMVQ1ID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIEMxVDUoKSB7DQogICAgICAgIHRoaXMuZm9vID0gZnVuY3Rpb24gKGkpIHsNCiAgICAgICAgICAgIHJldHVybiBpOw0KICAgICAgICB9Ow0KICAgIH0NCiAgICByZXR1cm4gQzFUNTsNCn0oKSk7DQovLyBDT05URVhUOiBNb2R1bGUgcHJvcGVydHkgZGVjbGFyYXRpb24NCnZhciBDMlQ1Ow0KKGZ1bmN0aW9uIChDMlQ1KSB7DQogICAgQzJUNS5mb28gPSBmdW5jdGlvbiAoaSkgew0KICAgICAgICByZXR1cm4gaTsNCiAgICB9Ow0KfSkoQzJUNSB8fCAoQzJUNSA9IHt9KSk7DQovLyBDT05URVhUOiBWYXJpYWJsZSBkZWNsYXJhdGlvbg0KdmFyIGMzdDEgPSAoZnVuY3Rpb24gKHMpIHsgcmV0dXJuIHM7IH0pOw0KdmFyIGMzdDIgPSAoew0KICAgIG46IDENCn0pOw0KdmFyIGMzdDMgPSBbXTsNCnZhciBjM3Q0ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gKHt9KTsgfTsNCnZhciBjM3Q1ID0gZnVuY3Rpb24gKG4pIHsgcmV0dXJuICh7fSk7IH07DQp2YXIgYzN0NiA9IGZ1bmN0aW9uIChuLCBzKSB7IHJldHVybiAoe30pOyB9Ow0KdmFyIGMzdDcgPSBmdW5jdGlvbiAobikgeyByZXR1cm4gbjsgfTsNCnZhciBjM3Q4ID0gZnVuY3Rpb24gKG4pIHsgcmV0dXJuIG47IH07DQp2YXIgYzN0OSA9IFtbXSwgW11dOw0KdmFyIGMzdDEwID0gWyh7fSksICh7fSldOw0KdmFyIGMzdDExID0gW2Z1bmN0aW9uIChuLCBzKSB7IHJldHVybiBzOyB9XTsNCnZhciBjM3QxMiA9IHsNCiAgICBmb286ICh7fSkNCn07DQp2YXIgYzN0MTMgPSAoew0KICAgIGY6IGZ1bmN0aW9uIChpLCBzKSB7IHJldHVybiBzOyB9DQp9KTsNCnZhciBjM3QxNCA9ICh7DQogICAgYTogW10NCn0pOw0KLy8gQ09OVEVYVDogQ2xhc3MgcHJvcGVydHkgYXNzaWdubWVudA0KdmFyIEM0VDUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7DQogICAgZnVuY3Rpb24gQzRUNSgpIHsNCiAgICAgICAgdGhpcy5mb28gPSBmdW5jdGlvbiAoaSwgcykgew0KICAgICAgICAgICAgcmV0dXJuIHM7DQogICAgICAgIH07DQogICAgfQ0KICAgIHJldHVybiBDNFQ1Ow0KfSgpKTsNCi8vIENPTlRFWFQ6IE1vZHVsZSBwcm9wZXJ0eSBhc3NpZ25tZW50DQp2YXIgQzVUNTsNCihmdW5jdGlvbiAoQzVUNSkgew0KICAgIEM1VDUuZm9vID0gZnVuY3Rpb24gKGksIHMpIHsNCiAgICAgICAgcmV0dXJuIHM7DQogICAgfTsNCn0pKEM1VDUgfHwgKEM1VDUgPSB7fSkpOw0KLy8gQ09OVEVYVDogVmFyaWFibGUgYXNzaWdubWVudA0KdmFyIGM2dDU7DQpjNnQ1ID0gZnVuY3Rpb24gKG4pIHsgcmV0dXJuICh7fSk7IH07DQovLyBDT05URVhUOiBBcnJheSBpbmRleCBhc3NpZ25tZW50DQp2YXIgYzd0MjsNCmM3dDJbMF0gPSAoeyBuOiAxIH0pOw0KdmFyIG9iamM4ID0gKHt9KTsNCm9iamM4LnQxID0gKGZ1bmN0aW9uIChzKSB7IHJldHVybiBzOyB9KTsNCm9iamM4LnQyID0gKHsNCiAgICBuOiAxDQp9KTsNCm9iamM4LnQzID0gW107DQpvYmpjOC50NCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuICh7fSk7IH07DQpvYmpjOC50NSA9IGZ1bmN0aW9uIChuKSB7IHJldHVybiAoe30pOyB9Ow0Kb2JqYzgudDYgPSBmdW5jdGlvbiAobiwgcykgeyByZXR1cm4gKHt9KTsgfTsNCm9iamM4LnQ3ID0gZnVuY3Rpb24gKG4pIHsgcmV0dXJuIG47IH07DQpvYmpjOC50OCA9IGZ1bmN0aW9uIChuKSB7IHJldHVybiBuOyB9Ow0Kb2JqYzgudDkgPSBbW10sIFtdXTsNCm9iamM4LnQxMCA9IFsoe30pLCAoe30pXTsNCm9iamM4LnQxMSA9IFtmdW5jdGlvbiAobiwgcykgeyByZXR1cm4gczsgfV07DQpvYmpjOC50MTIgPSB7DQogICAgZm9vOiAoe30pDQp9Ow0Kb2JqYzgudDEzID0gKHsNCiAgICBmOiBmdW5jdGlvbiAoaSwgcykgeyByZXR1cm4gczsgfQ0KfSk7DQpvYmpjOC50MTQgPSAoew0KICAgIGE6IFtdDQp9KTsNCi8vIENPTlRFWFQ6IEZ1bmN0aW9uIGNhbGwNCmZ1bmN0aW9uIGM5dDUoZikgeyB9DQo7DQpjOXQ1KGZ1bmN0aW9uIChuKSB7DQogICAgcmV0dXJuICh7fSk7DQp9KTsNCi8vIENPTlRFWFQ6IFJldHVybiBzdGF0ZW1lbnQNCnZhciBjMTB0NSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZ1bmN0aW9uIChuKSB7IHJldHVybiAoe30pOyB9OyB9Ow0KLy8gQ09OVEVYVDogTmV3aW5nIGEgY2xhc3MNCnZhciBDMTF0NSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHsNCiAgICBmdW5jdGlvbiBDMTF0NShmKSB7DQogICAgfQ0KICAgIHJldHVybiBDMTF0NTsNCn0oKSk7DQo7DQp2YXIgaSA9IG5ldyBDMTF0NShmdW5jdGlvbiAobikgeyByZXR1cm4gKHt9KTsgfSk7DQovLyBDT05URVhUOiBUeXBlIGFubm90YXRlZCBleHByZXNzaW9uDQp2YXIgYzEydDEgPSAoZnVuY3Rpb24gKHMpIHsgcmV0dXJuIHM7IH0pOw0KdmFyIGMxMnQyID0gKHsNCiAgICBuOiAxDQp9KTsNCnZhciBjMTJ0MyA9IFtdOw0KdmFyIGMxMnQ0ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gKHt9KTsgfTsNCnZhciBjMTJ0NSA9IGZ1bmN0aW9uIChuKSB7IHJldHVybiAoe30pOyB9Ow0KdmFyIGMxMnQ2ID0gZnVuY3Rpb24gKG4sIHMpIHsgcmV0dXJuICh7fSk7IH07DQp2YXIgYzEydDcgPSBmdW5jdGlvbiAobikgeyByZXR1cm4gbjsgfTsNCnZhciBjMTJ0OCA9IGZ1bmN0aW9uIChuKSB7IHJldHVybiBuOyB9Ow0KdmFyIGMxMnQ5ID0gW1tdLCBbXV07DQp2YXIgYzEydDEwID0gWyh7fSksICh7fSldOw0KdmFyIGMxMnQxMSA9IFtmdW5jdGlvbiAobiwgcykgeyByZXR1cm4gczsgfV07DQp2YXIgYzEydDEyID0gew0KICAgIGZvbzogKHt9KQ0KfTsNCnZhciBjMTJ0MTMgPSAoew0KICAgIGY6IGZ1bmN0aW9uIChpLCBzKSB7IHJldHVybiBzOyB9DQp9KTsNCnZhciBjMTJ0MTQgPSAoew0KICAgIGE6IFtdDQp9KTsNCmZ1bmN0aW9uIEVGMShhLCBiKSB7IHJldHVybiBhICsgYjsgfQ0KdmFyIGVmdiA9IEVGMSgxLCAyKTsNClBvaW50Lm9yaWdpbiA9IG5ldyBQb2ludCgwLCAwKTsNClBvaW50LnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAoZHgsIGR5KSB7DQogICAgcmV0dXJuIG5ldyBQb2ludCh0aGlzLnggKyBkeCwgdGhpcy55ICsgZHkpOw0KfTsNClBvaW50LnByb3RvdHlwZSA9IHsNCiAgICB4OiAwLA0KICAgIHk6IDAsDQogICAgYWRkOiBmdW5jdGlvbiAoZHgsIGR5KSB7DQogICAgICAgIHJldHVybiBuZXcgUG9pbnQodGhpcy54ICsgZHgsIHRoaXMueSArIGR5KTsNCiAgICB9DQp9Ow0KdmFyIHggPSB7fTsNCi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnRleHR1YWxUeXBpbmcuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dHVhbFR5cGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnRleHR1YWxUeXBpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWUEsc0NBQXNDO0FBQ3RDO0lBQUE7UUFDSSxRQUFHLEdBQXFDLFVBQVMsQ0FBQztZQUM5QyxPQUFPLENBQUMsQ0FBQztRQUNiLENBQUMsQ0FBQTtJQUNMLENBQUM7SUFBRCxXQUFDO0FBQUQsQ0FBQyxBQUpELElBSUM7QUFFRCx1Q0FBdUM7QUFDdkMsSUFBVSxJQUFJLENBSWI7QUFKRCxXQUFVLElBQUk7SUFDQyxRQUFHLEdBQXFDLFVBQVMsQ0FBQztRQUN6RCxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUMsQ0FBQTtBQUNMLENBQUMsRUFKUyxJQUFJLEtBQUosSUFBSSxRQUliO0FBRUQsZ0NBQWdDO0FBQ2hDLElBQUksSUFBSSxHQUEwQixDQUFDLFVBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0QsSUFBSSxJQUFJLEdBQVMsQ0FBQztJQUNkLENBQUMsRUFBRSxDQUFDO0NBQ1AsQ0FBQyxDQUFBO0FBQ0YsSUFBSSxJQUFJLEdBQWEsRUFBRSxDQUFDO0FBQ3hCLElBQUksSUFBSSxHQUFlLGNBQWEsT0FBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO0FBQ3hELElBQUksSUFBSSxHQUF3QixVQUFTLENBQUMsSUFBSSxPQUFhLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7QUFDbEUsSUFBSSxJQUFJLEdBQW1DLFVBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFhLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7QUFDaEYsSUFBSSxJQUFJLEdBR0osVUFBUyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFOUIsSUFBSSxJQUFJLEdBQXFDLFVBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZFLElBQUksSUFBSSxHQUFlLENBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQy9CLElBQUksS0FBSyxHQUFXLENBQU8sQ0FBQyxFQUFFLENBQUMsRUFBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUMsSUFBSSxLQUFLLEdBQXdDLENBQUMsVUFBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEYsSUFBSSxLQUFLLEdBQVM7SUFDZCxHQUFHLEVBQVEsQ0FBQyxFQUFFLENBQUM7Q0FDbEIsQ0FBQTtBQUNELElBQUksS0FBSyxHQUFTLENBQUM7SUFDZixDQUFDLEVBQUUsVUFBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUNsQyxDQUFDLENBQUE7QUFDRixJQUFJLEtBQUssR0FBUyxDQUFDO0lBQ2YsQ0FBQyxFQUFFLEVBQUU7Q0FDUixDQUFDLENBQUE7QUFFRixxQ0FBcUM7QUFDckM7SUFFSTtRQUNJLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBUyxDQUFDLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsQ0FBQztRQUNiLENBQUMsQ0FBQTtJQUNMLENBQUM7SUFDTCxXQUFDO0FBQUQsQ0FBQyxBQVBELElBT0M7QUFFRCxzQ0FBc0M7QUFDdEMsSUFBVSxJQUFJLENBS2I7QUFMRCxXQUFVLElBQUk7SUFFVixLQUFBLEdBQUcsR0FBRyxVQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDLENBQUE7QUFDTCxDQUFDLEVBTFMsSUFBSSxLQUFKLElBQUksUUFLYjtBQUVELCtCQUErQjtBQUMvQixJQUFJLElBQXlCLENBQUM7QUFDOUIsSUFBSSxHQUF3QixVQUFTLENBQUMsSUFBSSxPQUFhLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7QUFFOUQsa0NBQWtDO0FBQ2xDLElBQUksSUFBWSxDQUFDO0FBQ2pCLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBUyxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7QUF1QnpCLElBQUksS0FBSyxHQWtCUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRXZCLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxVQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RDLEtBQUssQ0FBQyxFQUFFLEdBQVMsQ0FBQztJQUNkLENBQUMsRUFBRSxDQUFDO0NBQ1AsQ0FBQyxDQUFDO0FBQ0gsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDZCxLQUFLLENBQUMsRUFBRSxHQUFHLGNBQWEsT0FBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO0FBQzVDLEtBQUssQ0FBQyxFQUFFLEdBQUcsVUFBUyxDQUFDLElBQUksT0FBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO0FBQzdDLEtBQUssQ0FBQyxFQUFFLEdBQUcsVUFBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztBQUNoRCxLQUFLLENBQUMsRUFBRSxHQUFHLFVBQVMsQ0FBUyxJQUFJLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO0FBRTVDLEtBQUssQ0FBQyxFQUFFLEdBQUcsVUFBUyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckMsS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBQyxFQUFFLENBQUMsQ0FBQztBQUNuQixLQUFLLENBQUMsR0FBRyxHQUFHLENBQU8sQ0FBQyxFQUFFLENBQUMsRUFBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDcEMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLEtBQUssQ0FBQyxHQUFHLEdBQUc7SUFDUixHQUFHLEVBQVEsQ0FBQyxFQUFFLENBQUM7Q0FDbEIsQ0FBQTtBQUNELEtBQUssQ0FBQyxHQUFHLEdBQVMsQ0FBQztJQUNmLENBQUMsRUFBRSxVQUFTLENBQUMsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ2xDLENBQUMsQ0FBQTtBQUNGLEtBQUssQ0FBQyxHQUFHLEdBQVMsQ0FBQztJQUNmLENBQUMsRUFBRSxFQUFFO0NBQ1IsQ0FBQyxDQUFBO0FBQ0YseUJBQXlCO0FBQ3pCLFNBQVMsSUFBSSxDQUFDLENBQXNCLElBQUcsQ0FBQztBQUFBLENBQUM7QUFDekMsSUFBSSxDQUFDLFVBQVMsQ0FBQztJQUNYLE9BQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQztBQUVILDRCQUE0QjtBQUM1QixJQUFJLEtBQUssR0FBOEIsY0FBYSxPQUFPLFVBQVMsQ0FBQyxJQUFJLE9BQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztBQUUvRiwwQkFBMEI7QUFDMUI7SUFBYyxlQUFZLENBQXNCO0lBQUksQ0FBQztJQUFDLFlBQUM7QUFBRCxDQUFDLEFBQXZELElBQXVEO0FBQUEsQ0FBQztBQUN4RCxJQUFJLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxVQUFTLENBQUMsSUFBSSxPQUFhLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVyRCxxQ0FBcUM7QUFDckMsSUFBSSxLQUFLLEdBQTJCLENBQUMsVUFBUyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRCxJQUFJLEtBQUssR0FBVSxDQUFDO0lBQ2hCLENBQUMsRUFBRSxDQUFDO0NBQ1AsQ0FBQyxDQUFDO0FBQ0gsSUFBSSxLQUFLLEdBQWMsRUFBRSxDQUFDO0FBQzFCLElBQUksS0FBSyxHQUFnQixjQUFhLE9BQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztBQUMxRCxJQUFJLEtBQUssR0FBeUIsVUFBUyxDQUFDLElBQUksT0FBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO0FBQ3BFLElBQUksS0FBSyxHQUFvQyxVQUFTLENBQUMsRUFBRSxDQUFDLElBQUksT0FBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO0FBQ2xGLElBQUksS0FBSyxHQUdOLFVBQVMsQ0FBUSxJQUFJLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO0FBRW5DLElBQUksS0FBSyxHQUFzQyxVQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RSxJQUFJLEtBQUssR0FBZ0IsQ0FBQyxFQUFFLEVBQUMsRUFBRSxDQUFDLENBQUM7QUFDakMsSUFBSSxNQUFNLEdBQVksQ0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QyxJQUFJLE1BQU0sR0FBeUMsQ0FBQyxVQUFTLENBQUMsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRixJQUFJLE1BQU0sR0FBVTtJQUNoQixHQUFHLEVBQVEsQ0FBQyxFQUFFLENBQUM7Q0FDbEIsQ0FBQTtBQUNELElBQUksTUFBTSxHQUFVLENBQUM7SUFDakIsQ0FBQyxFQUFFLFVBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDbEMsQ0FBQyxDQUFBO0FBQ0YsSUFBSSxNQUFNLEdBQVUsQ0FBQztJQUNqQixDQUFDLEVBQUUsRUFBRTtDQUNSLENBQUMsQ0FBQTtBQU9GLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksT0FBTyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVqQyxJQUFJLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO0FBY25CLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRS9CLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLFVBQVMsRUFBRSxFQUFFLEVBQUU7SUFDakMsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQUVGLEtBQUssQ0FBQyxTQUFTLEdBQUc7SUFDZCxDQUFDLEVBQUUsQ0FBQztJQUNKLENBQUMsRUFBRSxDQUFDO0lBQ0osR0FBRyxFQUFFLFVBQVMsRUFBRSxFQUFFLEVBQUU7UUFDaEIsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDSixDQUFDO0FBSUYsSUFBSSxDQUFDLEdBQU0sRUFBRyxDQUFDIn0=,Ly8gREVGQVVMVCBJTlRFUkZBQ0VTCmludGVyZmFjZSBJRm9vIHsKICAgIG46IG51bWJlcjsKICAgIHM6IHN0cmluZzsKICAgIGYoaTogbnVtYmVyLCBzOiBzdHJpbmcpOiBzdHJpbmc7CiAgICBhOiBudW1iZXJbXTsKfQoKaW50ZXJmYWNlIElCYXIgewogICAgZm9vOiBJRm9vOwp9CgovLyBDT05URVhUOiBDbGFzcyBwcm9wZXJ0eSBkZWNsYXJhdGlvbgpjbGFzcyBDMVQ1IHsKICAgIGZvbzogKGk6IG51bWJlciwgczogc3RyaW5nKSA9PiBudW1iZXIgPSBmdW5jdGlvbihpKSB7CiAgICAgICAgcmV0dXJuIGk7CiAgICB9Cn0KCi8vIENPTlRFWFQ6IE1vZHVsZSBwcm9wZXJ0eSBkZWNsYXJhdGlvbgpuYW1lc3BhY2UgQzJUNSB7CiAgICBleHBvcnQgdmFyIGZvbzogKGk6IG51bWJlciwgczogc3RyaW5nKSA9PiBudW1iZXIgPSBmdW5jdGlvbihpKSB7CiAgICAgICAgcmV0dXJuIGk7CiAgICB9Cn0KCi8vIENPTlRFWFQ6IFZhcmlhYmxlIGRlY2xhcmF0aW9uCnZhciBjM3QxOiAoczogc3RyaW5nKSA9PiBzdHJpbmcgPSAoZnVuY3Rpb24ocykgeyByZXR1cm4gcyB9KTsKdmFyIGMzdDIgPSA8SUZvbz4oewogICAgbjogMQp9KQp2YXIgYzN0MzogbnVtYmVyW10gPSBbXTsKdmFyIGMzdDQ6ICgpID0+IElGb28gPSBmdW5jdGlvbigpIHsgcmV0dXJuIDxJRm9vPih7fSkgfTsKdmFyIGMzdDU6IChuOiBudW1iZXIpID0+IElGb28gPSBmdW5jdGlvbihuKSB7IHJldHVybiA8SUZvbz4oe30pIH07CnZhciBjM3Q2OiAobjogbnVtYmVyLCBzOiBzdHJpbmcpID0+IElGb28gPSBmdW5jdGlvbihuLCBzKSB7IHJldHVybiA8SUZvbz4oe30pIH07CnZhciBjM3Q3OiB7CiAgICAobjogbnVtYmVyKTogbnVtYmVyOyAgICAKICAgIChzMTogc3RyaW5nKTogbnVtYmVyOwp9ID0gZnVuY3Rpb24obikgeyByZXR1cm4gbjsgfTsKCnZhciBjM3Q4OiAobjogbnVtYmVyLCBzOiBzdHJpbmcpID0+IG51bWJlciA9IGZ1bmN0aW9uKG4pIHsgcmV0dXJuIG47IH07CnZhciBjM3Q5OiBudW1iZXJbXVtdID0gW1tdLFtdXTsKdmFyIGMzdDEwOiBJRm9vW10gPSBbPElGb28+KHt9KSw8SUZvbz4oe30pXTsKdmFyIGMzdDExOiB7KG46IG51bWJlciwgczogc3RyaW5nKTogc3RyaW5nO31bXSA9IFtmdW5jdGlvbihuLCBzKSB7IHJldHVybiBzOyB9XTsKdmFyIGMzdDEyOiBJQmFyID0gewogICAgZm9vOiA8SUZvbz4oe30pCn0KdmFyIGMzdDEzID0gPElGb28+KHsKICAgIGY6IGZ1bmN0aW9uKGksIHMpIHsgcmV0dXJuIHM7IH0KfSkKdmFyIGMzdDE0ID0gPElGb28+KHsKICAgIGE6IFtdCn0pCgovLyBDT05URVhUOiBDbGFzcyBwcm9wZXJ0eSBhc3NpZ25tZW50CmNsYXNzIEM0VDUgewogICAgZm9vOiAoaTogbnVtYmVyLCBzOiBzdHJpbmcpID0+IHN0cmluZzsKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHRoaXMuZm9vID0gZnVuY3Rpb24oaSwgcykgewogICAgICAgICAgICByZXR1cm4gczsKICAgICAgICB9CiAgICB9Cn0KCi8vIENPTlRFWFQ6IE1vZHVsZSBwcm9wZXJ0eSBhc3NpZ25tZW50Cm5hbWVzcGFjZSBDNVQ1IHsKICAgIGV4cG9ydCB2YXIgZm9vOiAoaTogbnVtYmVyLCBzOiBzdHJpbmcpID0+IHN0cmluZzsKICAgIGZvbyA9IGZ1bmN0aW9uKGksIHMpIHsKICAgICAgICByZXR1cm4gczsKICAgIH0KfQoKLy8gQ09OVEVYVDogVmFyaWFibGUgYXNzaWdubWVudAp2YXIgYzZ0NTogKG46IG51bWJlcikgPT4gSUZvbzsKYzZ0NSA9IDwobjogbnVtYmVyKSA9PiBJRm9vPmZ1bmN0aW9uKG4pIHsgcmV0dXJuIDxJRm9vPih7fSkgfTsKCi8vIENPTlRFWFQ6IEFycmF5IGluZGV4IGFzc2lnbm1lbnQKdmFyIGM3dDI6IElGb29bXTsKYzd0MlswXSA9IDxJRm9vPih7bjogMX0pOwoKLy8gQ09OVEVYVDogT2JqZWN0IHByb3BlcnR5IGFzc2lnbm1lbnQKaW50ZXJmYWNlIElQbGFjZUhvbGRlciB7CiAgICB0MTogKHM6IHN0cmluZykgPT4gc3RyaW5nOwogICAgdDI6IElGb287CiAgICB0MzogbnVtYmVyW107CiAgICB0NDogKCkgPT4gSUZvbzsKICAgIHQ1OiAobjogbnVtYmVyKSA9PiBJRm9vOwogICAgdDY6IChuOiBudW1iZXIsIHM6IHN0cmluZykgPT4gSUZvbzsKICAgIHQ3OiB7CiAgICAgICAgICAgIChuOiBudW1iZXIsIHM6IHN0cmluZyk6IG51bWJlcjsgICAgCiAgICAgICAgICAgIC8vKHMxOiBzdHJpbmcsIHMyOiBzdHJpbmcpOiBudW1iZXI7CiAgICAgICAgfTsKICAgIHQ4OiAobjogbnVtYmVyLCBzOiBzdHJpbmcpID0+IG51bWJlcjsKICAgIHQ5OiBudW1iZXJbXVtdOwogICAgdDEwOiBJRm9vW107CiAgICB0MTE6IHsobjogbnVtYmVyLCBzOiBzdHJpbmcpOiBzdHJpbmc7fVtdOwogICAgdDEyOiBJQmFyOwogICAgdDEzOiBJRm9vOwogICAgdDE0OiBJRm9vOwogICAgfQoKdmFyIG9iamM4OiB7CiAgICB0MTogKHM6IHN0cmluZykgPT4gc3RyaW5nOwogICAgdDI6IElGb287CiAgICB0MzogbnVtYmVyW107CiAgICB0NDogKCkgPT4gSUZvbzsKICAgIHQ1OiAobjogbnVtYmVyKSA9PiBJRm9vOwogICAgdDY6IChuOiBudW1iZXIsIHM6IHN0cmluZykgPT4gSUZvbzsKICAgIHQ3OiB7CiAgICAgICAgICAgIChuOiBudW1iZXIsIHM6IHN0cmluZyk6IG51bWJlcjsgICAgCiAgICAgICAgICAgIC8vKHMxOiBzdHJpbmcsIHMyOiBzdHJpbmcpOiBudW1iZXI7CiAgICAgICAgfTsKICAgIHQ4OiAobjogbnVtYmVyLCBzOiBzdHJpbmcpID0+IG51bWJlcjsKICAgIHQ5OiBudW1iZXJbXVtdOwogICAgdDEwOiBJRm9vW107CiAgICB0MTE6IHsobjogbnVtYmVyLCBzOiBzdHJpbmcpOiBzdHJpbmc7fVtdOwogICAgdDEyOiBJQmFyOwogICAgdDEzOiBJRm9vOwogICAgdDE0OiBJRm9vOwp9ID0gPElQbGFjZUhvbGRlcj4oe30pOwoKb2JqYzgudDEgPSAoZnVuY3Rpb24ocykgeyByZXR1cm4gcyB9KTsKb2JqYzgudDIgPSA8SUZvbz4oewogICAgbjogMQp9KTsKb2JqYzgudDMgPSBbXTsKb2JqYzgudDQgPSBmdW5jdGlvbigpIHsgcmV0dXJuIDxJRm9vPih7fSkgfTsKb2JqYzgudDUgPSBmdW5jdGlvbihuKSB7IHJldHVybiA8SUZvbz4oe30pIH07Cm9iamM4LnQ2ID0gZnVuY3Rpb24obiwgcykgeyByZXR1cm4gPElGb28+KHt9KSB9OwpvYmpjOC50NyA9IGZ1bmN0aW9uKG46IG51bWJlcikgeyByZXR1cm4gbiB9OwoKb2JqYzgudDggPSBmdW5jdGlvbihuKSB7IHJldHVybiBuOyB9OwpvYmpjOC50OSA9IFtbXSxbXV07Cm9iamM4LnQxMCA9IFs8SUZvbz4oe30pLDxJRm9vPih7fSldOwpvYmpjOC50MTEgPSBbZnVuY3Rpb24obiwgcykgeyByZXR1cm4gczsgfV07Cm9iamM4LnQxMiA9IHsKICAgIGZvbzogPElGb28+KHt9KQp9Cm9iamM4LnQxMyA9IDxJRm9vPih7CiAgICBmOiBmdW5jdGlvbihpLCBzKSB7IHJldHVybiBzOyB9Cn0pCm9iamM4LnQxNCA9IDxJRm9vPih7CiAgICBhOiBbXQp9KQovLyBDT05URVhUOiBGdW5jdGlvbiBjYWxsCmZ1bmN0aW9uIGM5dDUoZjogKG46IG51bWJlcikgPT4gSUZvbykge307CmM5dDUoZnVuY3Rpb24obikgewogICAgcmV0dXJuIDxJRm9vPih7fSk7Cn0pOwoKLy8gQ09OVEVYVDogUmV0dXJuIHN0YXRlbWVudAp2YXIgYzEwdDU6ICgpID0+IChuOiBudW1iZXIpID0+IElGb28gPSBmdW5jdGlvbigpIHsgcmV0dXJuIGZ1bmN0aW9uKG4pIHsgcmV0dXJuIDxJRm9vPih7fSkgfSB9OwoKLy8gQ09OVEVYVDogTmV3aW5nIGEgY2xhc3MKY2xhc3MgQzExdDUgeyBjb25zdHJ1Y3RvcihmOiAobjogbnVtYmVyKSA9PiBJRm9vKSB7IH0gfTsKdmFyIGkgPSBuZXcgQzExdDUoZnVuY3Rpb24obikgeyByZXR1cm4gPElGb28+KHt9KSB9KTsKCi8vIENPTlRFWFQ6IFR5cGUgYW5ub3RhdGVkIGV4cHJlc3Npb24KdmFyIGMxMnQxID0gPChzOiBzdHJpbmcpID0+IHN0cmluZz4gKGZ1bmN0aW9uKHMpIHsgcmV0dXJuIHMgfSk7CnZhciBjMTJ0MiA9IDxJRm9vPiAoewogICAgbjogMQp9KTsKdmFyIGMxMnQzID0gPG51bWJlcltdPiBbXTsKdmFyIGMxMnQ0ID0gPCgpID0+IElGb28+IGZ1bmN0aW9uKCkgeyByZXR1cm4gPElGb28+KHt9KSB9Owp2YXIgYzEydDUgPSA8KG46IG51bWJlcikgPT4gSUZvbz4gZnVuY3Rpb24obikgeyByZXR1cm4gPElGb28+KHt9KSB9Owp2YXIgYzEydDYgPSA8KG46IG51bWJlciwgczogc3RyaW5nKSA9PiBJRm9vPiBmdW5jdGlvbihuLCBzKSB7IHJldHVybiA8SUZvbz4oe30pIH07CnZhciBjMTJ0NyA9IDx7CiAgICAobjogbnVtYmVyLCBzOiBzdHJpbmcpOiBudW1iZXI7ICAgIAogICAgLy8oczE6IHN0cmluZywgczI6IHN0cmluZyk6IG51bWJlcjsKfT4gZnVuY3Rpb24objpudW1iZXIpIHsgcmV0dXJuIG4gfTsKCnZhciBjMTJ0OCA9IDwobjogbnVtYmVyLCBzOiBzdHJpbmcpID0+IG51bWJlcj4gZnVuY3Rpb24obikgeyByZXR1cm4gbjsgfTsKdmFyIGMxMnQ5ID0gPG51bWJlcltdW10+IFtbXSxbXV07CnZhciBjMTJ0MTAgPSA8SUZvb1tdPiBbPElGb28+KHt9KSw8SUZvbz4oe30pXTsKdmFyIGMxMnQxMSA9IDx7KG46IG51bWJlciwgczogc3RyaW5nKTogc3RyaW5nO31bXT4gW2Z1bmN0aW9uKG4sIHMpIHsgcmV0dXJuIHM7IH1dOwp2YXIgYzEydDEyID0gPElCYXI+IHsKICAgIGZvbzogPElGb28+KHt9KQp9CnZhciBjMTJ0MTMgPSA8SUZvbz4gKHsKICAgIGY6IGZ1bmN0aW9uKGksIHMpIHsgcmV0dXJuIHM7IH0KfSkKdmFyIGMxMnQxNCA9IDxJRm9vPiAoewogICAgYTogW10KfSkKCi8vIENPTlRFWFQ6IENvbnRleHR1YWwgdHlwaW5nIGRlY2xhcmF0aW9ucwoKLy8gY29udGV4dHVhbGx5IHR5cGluZyBmdW5jdGlvbiBkZWNsYXJhdGlvbnMKZGVjbGFyZSBmdW5jdGlvbiBFRjEoYTpudW1iZXIsIGI6bnVtYmVyKTpudW1iZXI7CgpmdW5jdGlvbiBFRjEoYSxiKSB7IHJldHVybiBhK2I7IH0KCnZhciBlZnYgPSBFRjEoMSwyKTsKCgovLyBjb250ZXh0dWFsbHkgdHlwaW5nIGZyb20gYW1iaWVudCBjbGFzcyBkZWNsYXJhdGlvbnMKZGVjbGFyZSBjbGFzcyBQb2ludAp7CiAgICAgIGNvbnN0cnVjdG9yKHg6IG51bWJlciwgeTogbnVtYmVyKTsKICAgICAgeDogbnVtYmVyOwogICAgICB5OiBudW1iZXI7CiAgICAgIGFkZChkeDogbnVtYmVyLCBkeTogbnVtYmVyKTogUG9pbnQ7CiAgICAgIHN0YXRpYyBvcmlnaW46IFBvaW50OwoKfQoKUG9pbnQub3JpZ2luID0gbmV3IFBvaW50KDAsIDApOwoKUG9pbnQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uKGR4LCBkeSkgewogICAgcmV0dXJuIG5ldyBQb2ludCh0aGlzLnggKyBkeCwgdGhpcy55ICsgZHkpOwp9OwoKUG9pbnQucHJvdG90eXBlID0gewogICAgeDogMCwKICAgIHk6IDAsCiAgICBhZGQ6IGZ1bmN0aW9uKGR4LCBkeSkgewogICAgICAgIHJldHVybiBuZXcgUG9pbnQodGhpcy54ICsgZHgsIHRoaXMueSArIGR5KTsKICAgIH0KfTsKCmludGVyZmFjZSBBIHsgeDogc3RyaW5nOyB9CmludGVyZmFjZSBCIGV4dGVuZHMgQSB7IH0KdmFyIHg6IEIgPSB7IH07Cg== +{"version":3,"file":"contextualTyping.js","sourceRoot":"","sources":["contextualTyping.ts"],"names":[],"mappings":"AAYA,sCAAsC;AACtC;IAAA;QACI,QAAG,GAAqC,UAAS,CAAC;YAC9C,OAAO,CAAC,CAAC;QACb,CAAC,CAAA;IACL,CAAC;IAAD,WAAC;AAAD,CAAC,AAJD,IAIC;AAED,0CAA0C;AAC1C,IAAU,IAAI,CAIb;AAJD,WAAU,IAAI;IACC,QAAG,GAAqC,UAAS,CAAC;QACzD,OAAO,CAAC,CAAC;IACb,CAAC,CAAA;AACL,CAAC,EAJS,IAAI,KAAJ,IAAI,QAIb;AAED,gCAAgC;AAChC,IAAI,IAAI,GAA0B,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAC7D,IAAI,IAAI,GAAS,CAAC;IACd,CAAC,EAAE,CAAC;CACP,CAAC,CAAA;AACF,IAAI,IAAI,GAAa,EAAE,CAAC;AACxB,IAAI,IAAI,GAAe,cAAa,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AACxD,IAAI,IAAI,GAAwB,UAAS,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAClE,IAAI,IAAI,GAAmC,UAAS,CAAC,EAAE,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAChF,IAAI,IAAI,GAGJ,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9B,IAAI,IAAI,GAAqC,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,IAAI,IAAI,GAAe,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AAC/B,IAAI,KAAK,GAAW,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,IAAI,KAAK,GAAwC,CAAC,UAAS,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,IAAI,KAAK,GAAS;IACd,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,IAAI,KAAK,GAAS,CAAC;IACf,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC,CAAA;AACF,IAAI,KAAK,GAAS,CAAC;IACf,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AAEF,qCAAqC;AACrC;IAEI;QACI,IAAI,CAAC,GAAG,GAAG,UAAS,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,CAAC;QACb,CAAC,CAAA;IACL,CAAC;IACL,WAAC;AAAD,CAAC,AAPD,IAOC;AAED,yCAAyC;AACzC,IAAU,IAAI,CAKb;AALD,WAAU,IAAI;IAEV,KAAA,GAAG,GAAG,UAAS,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACb,CAAC,CAAA;AACL,CAAC,EALS,IAAI,KAAJ,IAAI,QAKb;AAED,+BAA+B;AAC/B,IAAI,IAAyB,CAAC;AAC9B,IAAI,GAAwB,UAAS,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAE9D,kCAAkC;AAClC,IAAI,IAAI,GAAW,EAAE,CAAC;AACtB,IAAI,CAAC,CAAC,CAAC,GAAS,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;AAuBzB,IAAI,KAAK,GAkBS,CAAC,EAAE,CAAC,CAAC;AAEvB,KAAK,CAAC,EAAE,GAAG,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AACtC,KAAK,CAAC,EAAE,GAAS,CAAC;IACd,CAAC,EAAE,CAAC;CACP,CAAC,CAAC;AACH,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;AACd,KAAK,CAAC,EAAE,GAAG,cAAa,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAC5C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAC7C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC,EAAE,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAChD,KAAK,CAAC,EAAE,GAAG,UAAS,CAAS,IAAI,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC;AAE5C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AACnB,KAAK,CAAC,GAAG,GAAG,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,KAAK,CAAC,GAAG,GAAG,CAAC,UAAS,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,CAAC,GAAG,GAAG;IACR,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,KAAK,CAAC,GAAG,GAAS,CAAC;IACf,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC,CAAA;AACF,KAAK,CAAC,GAAG,GAAS,CAAC;IACf,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AACF,yBAAyB;AACzB,SAAS,IAAI,CAAC,CAAsB,IAAG,CAAC;AAAA,CAAC;AACzC,IAAI,CAAC,UAAS,CAAC;IACX,OAAa,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEH,4BAA4B;AAC5B,IAAI,KAAK,GAA8B,cAAa,OAAO,UAAS,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;AAE/F,0BAA0B;AAC1B;IAAc,eAAY,CAAsB;IAAI,CAAC;IAAC,YAAC;AAAD,CAAC,AAAvD,IAAuD;AAAA,CAAC;AACxD,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,UAAS,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAErD,qCAAqC;AACrC,IAAI,KAAK,GAA2B,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAC/D,IAAI,KAAK,GAAU,CAAC;IAChB,CAAC,EAAE,CAAC;CACP,CAAC,CAAC;AACH,IAAI,KAAK,GAAc,EAAE,CAAC;AAC1B,IAAI,KAAK,GAAgB,cAAa,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAC1D,IAAI,KAAK,GAAyB,UAAS,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AACpE,IAAI,KAAK,GAAoC,UAAS,CAAC,EAAE,CAAC,IAAI,OAAa,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAClF,IAAI,KAAK,GAGN,UAAS,CAAQ,IAAI,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC;AAEnC,IAAI,KAAK,GAAsC,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,IAAI,KAAK,GAAgB,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AACjC,IAAI,MAAM,GAAY,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9C,IAAI,MAAM,GAAyC,CAAC,UAAS,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,IAAI,MAAM,GAAU;IAChB,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,IAAI,MAAM,GAAU,CAAC;IACjB,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC,CAAA;AACF,IAAI,MAAM,GAAU,CAAC;IACjB,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AAOF,SAAS,GAAG,CAAC,CAAC,EAAC,CAAC,IAAI,OAAO,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;AAEjC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;AAcnB,KAAK,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/B,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,UAAS,EAAE,EAAE,EAAE;IACjC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,GAAG;IACd,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,GAAG,EAAE,UAAS,EAAE,EAAE,EAAE;QAChB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;CACJ,CAAC;AAIF,IAAI,CAAC,GAAM,EAAG,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,Ly8gQ09OVEVYVDogQ2xhc3MgcHJvcGVydHkgZGVjbGFyYXRpb24NCnZhciBDMVQ1ID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIEMxVDUoKSB7DQogICAgICAgIHRoaXMuZm9vID0gZnVuY3Rpb24gKGkpIHsNCiAgICAgICAgICAgIHJldHVybiBpOw0KICAgICAgICB9Ow0KICAgIH0NCiAgICByZXR1cm4gQzFUNTsNCn0oKSk7DQovLyBDT05URVhUOiBOYW1lc3BhY2UgcHJvcGVydHkgZGVjbGFyYXRpb24NCnZhciBDMlQ1Ow0KKGZ1bmN0aW9uIChDMlQ1KSB7DQogICAgQzJUNS5mb28gPSBmdW5jdGlvbiAoaSkgew0KICAgICAgICByZXR1cm4gaTsNCiAgICB9Ow0KfSkoQzJUNSB8fCAoQzJUNSA9IHt9KSk7DQovLyBDT05URVhUOiBWYXJpYWJsZSBkZWNsYXJhdGlvbg0KdmFyIGMzdDEgPSAoZnVuY3Rpb24gKHMpIHsgcmV0dXJuIHM7IH0pOw0KdmFyIGMzdDIgPSAoew0KICAgIG46IDENCn0pOw0KdmFyIGMzdDMgPSBbXTsNCnZhciBjM3Q0ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gKHt9KTsgfTsNCnZhciBjM3Q1ID0gZnVuY3Rpb24gKG4pIHsgcmV0dXJuICh7fSk7IH07DQp2YXIgYzN0NiA9IGZ1bmN0aW9uIChuLCBzKSB7IHJldHVybiAoe30pOyB9Ow0KdmFyIGMzdDcgPSBmdW5jdGlvbiAobikgeyByZXR1cm4gbjsgfTsNCnZhciBjM3Q4ID0gZnVuY3Rpb24gKG4pIHsgcmV0dXJuIG47IH07DQp2YXIgYzN0OSA9IFtbXSwgW11dOw0KdmFyIGMzdDEwID0gWyh7fSksICh7fSldOw0KdmFyIGMzdDExID0gW2Z1bmN0aW9uIChuLCBzKSB7IHJldHVybiBzOyB9XTsNCnZhciBjM3QxMiA9IHsNCiAgICBmb286ICh7fSkNCn07DQp2YXIgYzN0MTMgPSAoew0KICAgIGY6IGZ1bmN0aW9uIChpLCBzKSB7IHJldHVybiBzOyB9DQp9KTsNCnZhciBjM3QxNCA9ICh7DQogICAgYTogW10NCn0pOw0KLy8gQ09OVEVYVDogQ2xhc3MgcHJvcGVydHkgYXNzaWdubWVudA0KdmFyIEM0VDUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7DQogICAgZnVuY3Rpb24gQzRUNSgpIHsNCiAgICAgICAgdGhpcy5mb28gPSBmdW5jdGlvbiAoaSwgcykgew0KICAgICAgICAgICAgcmV0dXJuIHM7DQogICAgICAgIH07DQogICAgfQ0KICAgIHJldHVybiBDNFQ1Ow0KfSgpKTsNCi8vIENPTlRFWFQ6IE5hbWVzcGFjZSBwcm9wZXJ0eSBhc3NpZ25tZW50DQp2YXIgQzVUNTsNCihmdW5jdGlvbiAoQzVUNSkgew0KICAgIEM1VDUuZm9vID0gZnVuY3Rpb24gKGksIHMpIHsNCiAgICAgICAgcmV0dXJuIHM7DQogICAgfTsNCn0pKEM1VDUgfHwgKEM1VDUgPSB7fSkpOw0KLy8gQ09OVEVYVDogVmFyaWFibGUgYXNzaWdubWVudA0KdmFyIGM2dDU7DQpjNnQ1ID0gZnVuY3Rpb24gKG4pIHsgcmV0dXJuICh7fSk7IH07DQovLyBDT05URVhUOiBBcnJheSBpbmRleCBhc3NpZ25tZW50DQp2YXIgYzd0MiA9IFtdOw0KYzd0MlswXSA9ICh7IG46IDEgfSk7DQp2YXIgb2JqYzggPSAoe30pOw0Kb2JqYzgudDEgPSAoZnVuY3Rpb24gKHMpIHsgcmV0dXJuIHM7IH0pOw0Kb2JqYzgudDIgPSAoew0KICAgIG46IDENCn0pOw0Kb2JqYzgudDMgPSBbXTsNCm9iamM4LnQ0ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gKHt9KTsgfTsNCm9iamM4LnQ1ID0gZnVuY3Rpb24gKG4pIHsgcmV0dXJuICh7fSk7IH07DQpvYmpjOC50NiA9IGZ1bmN0aW9uIChuLCBzKSB7IHJldHVybiAoe30pOyB9Ow0Kb2JqYzgudDcgPSBmdW5jdGlvbiAobikgeyByZXR1cm4gbjsgfTsNCm9iamM4LnQ4ID0gZnVuY3Rpb24gKG4pIHsgcmV0dXJuIG47IH07DQpvYmpjOC50OSA9IFtbXSwgW11dOw0Kb2JqYzgudDEwID0gWyh7fSksICh7fSldOw0Kb2JqYzgudDExID0gW2Z1bmN0aW9uIChuLCBzKSB7IHJldHVybiBzOyB9XTsNCm9iamM4LnQxMiA9IHsNCiAgICBmb286ICh7fSkNCn07DQpvYmpjOC50MTMgPSAoew0KICAgIGY6IGZ1bmN0aW9uIChpLCBzKSB7IHJldHVybiBzOyB9DQp9KTsNCm9iamM4LnQxNCA9ICh7DQogICAgYTogW10NCn0pOw0KLy8gQ09OVEVYVDogRnVuY3Rpb24gY2FsbA0KZnVuY3Rpb24gYzl0NShmKSB7IH0NCjsNCmM5dDUoZnVuY3Rpb24gKG4pIHsNCiAgICByZXR1cm4gKHt9KTsNCn0pOw0KLy8gQ09OVEVYVDogUmV0dXJuIHN0YXRlbWVudA0KdmFyIGMxMHQ1ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gZnVuY3Rpb24gKG4pIHsgcmV0dXJuICh7fSk7IH07IH07DQovLyBDT05URVhUOiBOZXdpbmcgYSBjbGFzcw0KdmFyIEMxMXQ1ID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIEMxMXQ1KGYpIHsNCiAgICB9DQogICAgcmV0dXJuIEMxMXQ1Ow0KfSgpKTsNCjsNCnZhciBpID0gbmV3IEMxMXQ1KGZ1bmN0aW9uIChuKSB7IHJldHVybiAoe30pOyB9KTsNCi8vIENPTlRFWFQ6IFR5cGUgYW5ub3RhdGVkIGV4cHJlc3Npb24NCnZhciBjMTJ0MSA9IChmdW5jdGlvbiAocykgeyByZXR1cm4gczsgfSk7DQp2YXIgYzEydDIgPSAoew0KICAgIG46IDENCn0pOw0KdmFyIGMxMnQzID0gW107DQp2YXIgYzEydDQgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAoe30pOyB9Ow0KdmFyIGMxMnQ1ID0gZnVuY3Rpb24gKG4pIHsgcmV0dXJuICh7fSk7IH07DQp2YXIgYzEydDYgPSBmdW5jdGlvbiAobiwgcykgeyByZXR1cm4gKHt9KTsgfTsNCnZhciBjMTJ0NyA9IGZ1bmN0aW9uIChuKSB7IHJldHVybiBuOyB9Ow0KdmFyIGMxMnQ4ID0gZnVuY3Rpb24gKG4pIHsgcmV0dXJuIG47IH07DQp2YXIgYzEydDkgPSBbW10sIFtdXTsNCnZhciBjMTJ0MTAgPSBbKHt9KSwgKHt9KV07DQp2YXIgYzEydDExID0gW2Z1bmN0aW9uIChuLCBzKSB7IHJldHVybiBzOyB9XTsNCnZhciBjMTJ0MTIgPSB7DQogICAgZm9vOiAoe30pDQp9Ow0KdmFyIGMxMnQxMyA9ICh7DQogICAgZjogZnVuY3Rpb24gKGksIHMpIHsgcmV0dXJuIHM7IH0NCn0pOw0KdmFyIGMxMnQxNCA9ICh7DQogICAgYTogW10NCn0pOw0KZnVuY3Rpb24gRUYxKGEsIGIpIHsgcmV0dXJuIGEgKyBiOyB9DQp2YXIgZWZ2ID0gRUYxKDEsIDIpOw0KUG9pbnQub3JpZ2luID0gbmV3IFBvaW50KDAsIDApOw0KUG9pbnQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIChkeCwgZHkpIHsNCiAgICByZXR1cm4gbmV3IFBvaW50KHRoaXMueCArIGR4LCB0aGlzLnkgKyBkeSk7DQp9Ow0KUG9pbnQucHJvdG90eXBlID0gew0KICAgIHg6IDAsDQogICAgeTogMCwNCiAgICBhZGQ6IGZ1bmN0aW9uIChkeCwgZHkpIHsNCiAgICAgICAgcmV0dXJuIG5ldyBQb2ludCh0aGlzLnggKyBkeCwgdGhpcy55ICsgZHkpOw0KICAgIH0NCn07DQp2YXIgeCA9IHt9Ow0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29udGV4dHVhbFR5cGluZy5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dHVhbFR5cGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnRleHR1YWxUeXBpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWUEsc0NBQXNDO0FBQ3RDO0lBQUE7UUFDSSxRQUFHLEdBQXFDLFVBQVMsQ0FBQztZQUM5QyxPQUFPLENBQUMsQ0FBQztRQUNiLENBQUMsQ0FBQTtJQUNMLENBQUM7SUFBRCxXQUFDO0FBQUQsQ0FBQyxBQUpELElBSUM7QUFFRCwwQ0FBMEM7QUFDMUMsSUFBVSxJQUFJLENBSWI7QUFKRCxXQUFVLElBQUk7SUFDQyxRQUFHLEdBQXFDLFVBQVMsQ0FBQztRQUN6RCxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUMsQ0FBQTtBQUNMLENBQUMsRUFKUyxJQUFJLEtBQUosSUFBSSxRQUliO0FBRUQsZ0NBQWdDO0FBQ2hDLElBQUksSUFBSSxHQUEwQixDQUFDLFVBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0QsSUFBSSxJQUFJLEdBQVMsQ0FBQztJQUNkLENBQUMsRUFBRSxDQUFDO0NBQ1AsQ0FBQyxDQUFBO0FBQ0YsSUFBSSxJQUFJLEdBQWEsRUFBRSxDQUFDO0FBQ3hCLElBQUksSUFBSSxHQUFlLGNBQWEsT0FBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO0FBQ3hELElBQUksSUFBSSxHQUF3QixVQUFTLENBQUMsSUFBSSxPQUFhLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7QUFDbEUsSUFBSSxJQUFJLEdBQW1DLFVBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFhLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7QUFDaEYsSUFBSSxJQUFJLEdBR0osVUFBUyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFOUIsSUFBSSxJQUFJLEdBQXFDLFVBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZFLElBQUksSUFBSSxHQUFlLENBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQy9CLElBQUksS0FBSyxHQUFXLENBQU8sQ0FBQyxFQUFFLENBQUMsRUFBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUMsSUFBSSxLQUFLLEdBQXdDLENBQUMsVUFBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEYsSUFBSSxLQUFLLEdBQVM7SUFDZCxHQUFHLEVBQVEsQ0FBQyxFQUFFLENBQUM7Q0FDbEIsQ0FBQTtBQUNELElBQUksS0FBSyxHQUFTLENBQUM7SUFDZixDQUFDLEVBQUUsVUFBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUNsQyxDQUFDLENBQUE7QUFDRixJQUFJLEtBQUssR0FBUyxDQUFDO0lBQ2YsQ0FBQyxFQUFFLEVBQUU7Q0FDUixDQUFDLENBQUE7QUFFRixxQ0FBcUM7QUFDckM7SUFFSTtRQUNJLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBUyxDQUFDLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsQ0FBQztRQUNiLENBQUMsQ0FBQTtJQUNMLENBQUM7SUFDTCxXQUFDO0FBQUQsQ0FBQyxBQVBELElBT0M7QUFFRCx5Q0FBeUM7QUFDekMsSUFBVSxJQUFJLENBS2I7QUFMRCxXQUFVLElBQUk7SUFFVixLQUFBLEdBQUcsR0FBRyxVQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDLENBQUE7QUFDTCxDQUFDLEVBTFMsSUFBSSxLQUFKLElBQUksUUFLYjtBQUVELCtCQUErQjtBQUMvQixJQUFJLElBQXlCLENBQUM7QUFDOUIsSUFBSSxHQUF3QixVQUFTLENBQUMsSUFBSSxPQUFhLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7QUFFOUQsa0NBQWtDO0FBQ2xDLElBQUksSUFBSSxHQUFXLEVBQUUsQ0FBQztBQUN0QixJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQVMsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0FBdUJ6QixJQUFJLEtBQUssR0FrQlMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUV2QixLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsVUFBUyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxLQUFLLENBQUMsRUFBRSxHQUFTLENBQUM7SUFDZCxDQUFDLEVBQUUsQ0FBQztDQUNQLENBQUMsQ0FBQztBQUNILEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ2QsS0FBSyxDQUFDLEVBQUUsR0FBRyxjQUFhLE9BQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztBQUM1QyxLQUFLLENBQUMsRUFBRSxHQUFHLFVBQVMsQ0FBQyxJQUFJLE9BQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztBQUM3QyxLQUFLLENBQUMsRUFBRSxHQUFHLFVBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFhLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7QUFDaEQsS0FBSyxDQUFDLEVBQUUsR0FBRyxVQUFTLENBQVMsSUFBSSxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztBQUU1QyxLQUFLLENBQUMsRUFBRSxHQUFHLFVBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUMsRUFBRSxDQUFDLENBQUM7QUFDbkIsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFPLENBQUMsRUFBRSxDQUFDLEVBQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxVQUFTLENBQUMsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQyxLQUFLLENBQUMsR0FBRyxHQUFHO0lBQ1IsR0FBRyxFQUFRLENBQUMsRUFBRSxDQUFDO0NBQ2xCLENBQUE7QUFDRCxLQUFLLENBQUMsR0FBRyxHQUFTLENBQUM7SUFDZixDQUFDLEVBQUUsVUFBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUNsQyxDQUFDLENBQUE7QUFDRixLQUFLLENBQUMsR0FBRyxHQUFTLENBQUM7SUFDZixDQUFDLEVBQUUsRUFBRTtDQUNSLENBQUMsQ0FBQTtBQUNGLHlCQUF5QjtBQUN6QixTQUFTLElBQUksQ0FBQyxDQUFzQixJQUFHLENBQUM7QUFBQSxDQUFDO0FBQ3pDLElBQUksQ0FBQyxVQUFTLENBQUM7SUFDWCxPQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUM7QUFFSCw0QkFBNEI7QUFDNUIsSUFBSSxLQUFLLEdBQThCLGNBQWEsT0FBTyxVQUFTLENBQUMsSUFBSSxPQUFhLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7QUFFL0YsMEJBQTBCO0FBQzFCO0lBQWMsZUFBWSxDQUFzQjtJQUFJLENBQUM7SUFBQyxZQUFDO0FBQUQsQ0FBQyxBQUF2RCxJQUF1RDtBQUFBLENBQUM7QUFDeEQsSUFBSSxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBUyxDQUFDLElBQUksT0FBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFckQscUNBQXFDO0FBQ3JDLElBQUksS0FBSyxHQUEyQixDQUFDLFVBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0QsSUFBSSxLQUFLLEdBQVUsQ0FBQztJQUNoQixDQUFDLEVBQUUsQ0FBQztDQUNQLENBQUMsQ0FBQztBQUNILElBQUksS0FBSyxHQUFjLEVBQUUsQ0FBQztBQUMxQixJQUFJLEtBQUssR0FBZ0IsY0FBYSxPQUFhLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7QUFDMUQsSUFBSSxLQUFLLEdBQXlCLFVBQVMsQ0FBQyxJQUFJLE9BQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztBQUNwRSxJQUFJLEtBQUssR0FBb0MsVUFBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztBQUNsRixJQUFJLEtBQUssR0FHTixVQUFTLENBQVEsSUFBSSxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztBQUVuQyxJQUFJLEtBQUssR0FBc0MsVUFBUyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekUsSUFBSSxLQUFLLEdBQWdCLENBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2pDLElBQUksTUFBTSxHQUFZLENBQU8sQ0FBQyxFQUFFLENBQUMsRUFBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDOUMsSUFBSSxNQUFNLEdBQXlDLENBQUMsVUFBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEYsSUFBSSxNQUFNLEdBQVU7SUFDaEIsR0FBRyxFQUFRLENBQUMsRUFBRSxDQUFDO0NBQ2xCLENBQUE7QUFDRCxJQUFJLE1BQU0sR0FBVSxDQUFDO0lBQ2pCLENBQUMsRUFBRSxVQUFTLENBQUMsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ2xDLENBQUMsQ0FBQTtBQUNGLElBQUksTUFBTSxHQUFVLENBQUM7SUFDakIsQ0FBQyxFQUFFLEVBQUU7Q0FDUixDQUFDLENBQUE7QUFPRixTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFakMsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztBQWNuQixLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUUvQixLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxVQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2pDLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUMvQyxDQUFDLENBQUM7QUFFRixLQUFLLENBQUMsU0FBUyxHQUFHO0lBQ2QsQ0FBQyxFQUFFLENBQUM7SUFDSixDQUFDLEVBQUUsQ0FBQztJQUNKLEdBQUcsRUFBRSxVQUFTLEVBQUUsRUFBRSxFQUFFO1FBQ2hCLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0NBQ0osQ0FBQztBQUlGLElBQUksQ0FBQyxHQUFNLEVBQUcsQ0FBQyJ9,Ly8gREVGQVVMVCBJTlRFUkZBQ0VTCmludGVyZmFjZSBJRm9vIHsKICAgIG46IG51bWJlcjsKICAgIHM6IHN0cmluZzsKICAgIGYoaTogbnVtYmVyLCBzOiBzdHJpbmcpOiBzdHJpbmc7CiAgICBhOiBudW1iZXJbXTsKfQoKaW50ZXJmYWNlIElCYXIgewogICAgZm9vOiBJRm9vOwp9CgovLyBDT05URVhUOiBDbGFzcyBwcm9wZXJ0eSBkZWNsYXJhdGlvbgpjbGFzcyBDMVQ1IHsKICAgIGZvbzogKGk6IG51bWJlciwgczogc3RyaW5nKSA9PiBudW1iZXIgPSBmdW5jdGlvbihpKSB7CiAgICAgICAgcmV0dXJuIGk7CiAgICB9Cn0KCi8vIENPTlRFWFQ6IE5hbWVzcGFjZSBwcm9wZXJ0eSBkZWNsYXJhdGlvbgpuYW1lc3BhY2UgQzJUNSB7CiAgICBleHBvcnQgdmFyIGZvbzogKGk6IG51bWJlciwgczogc3RyaW5nKSA9PiBudW1iZXIgPSBmdW5jdGlvbihpKSB7CiAgICAgICAgcmV0dXJuIGk7CiAgICB9Cn0KCi8vIENPTlRFWFQ6IFZhcmlhYmxlIGRlY2xhcmF0aW9uCnZhciBjM3QxOiAoczogc3RyaW5nKSA9PiBzdHJpbmcgPSAoZnVuY3Rpb24ocykgeyByZXR1cm4gcyB9KTsKdmFyIGMzdDIgPSA8SUZvbz4oewogICAgbjogMQp9KQp2YXIgYzN0MzogbnVtYmVyW10gPSBbXTsKdmFyIGMzdDQ6ICgpID0+IElGb28gPSBmdW5jdGlvbigpIHsgcmV0dXJuIDxJRm9vPih7fSkgfTsKdmFyIGMzdDU6IChuOiBudW1iZXIpID0+IElGb28gPSBmdW5jdGlvbihuKSB7IHJldHVybiA8SUZvbz4oe30pIH07CnZhciBjM3Q2OiAobjogbnVtYmVyLCBzOiBzdHJpbmcpID0+IElGb28gPSBmdW5jdGlvbihuLCBzKSB7IHJldHVybiA8SUZvbz4oe30pIH07CnZhciBjM3Q3OiB7CiAgICAobjogbnVtYmVyKTogbnVtYmVyOyAgICAKICAgIChzMTogc3RyaW5nKTogbnVtYmVyOwp9ID0gZnVuY3Rpb24obikgeyByZXR1cm4gbjsgfTsKCnZhciBjM3Q4OiAobjogbnVtYmVyLCBzOiBzdHJpbmcpID0+IG51bWJlciA9IGZ1bmN0aW9uKG4pIHsgcmV0dXJuIG47IH07CnZhciBjM3Q5OiBudW1iZXJbXVtdID0gW1tdLFtdXTsKdmFyIGMzdDEwOiBJRm9vW10gPSBbPElGb28+KHt9KSw8SUZvbz4oe30pXTsKdmFyIGMzdDExOiB7KG46IG51bWJlciwgczogc3RyaW5nKTogc3RyaW5nO31bXSA9IFtmdW5jdGlvbihuLCBzKSB7IHJldHVybiBzOyB9XTsKdmFyIGMzdDEyOiBJQmFyID0gewogICAgZm9vOiA8SUZvbz4oe30pCn0KdmFyIGMzdDEzID0gPElGb28+KHsKICAgIGY6IGZ1bmN0aW9uKGksIHMpIHsgcmV0dXJuIHM7IH0KfSkKdmFyIGMzdDE0ID0gPElGb28+KHsKICAgIGE6IFtdCn0pCgovLyBDT05URVhUOiBDbGFzcyBwcm9wZXJ0eSBhc3NpZ25tZW50CmNsYXNzIEM0VDUgewogICAgZm9vOiAoaTogbnVtYmVyLCBzOiBzdHJpbmcpID0+IHN0cmluZzsKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHRoaXMuZm9vID0gZnVuY3Rpb24oaSwgcykgewogICAgICAgICAgICByZXR1cm4gczsKICAgICAgICB9CiAgICB9Cn0KCi8vIENPTlRFWFQ6IE5hbWVzcGFjZSBwcm9wZXJ0eSBhc3NpZ25tZW50Cm5hbWVzcGFjZSBDNVQ1IHsKICAgIGV4cG9ydCB2YXIgZm9vOiAoaTogbnVtYmVyLCBzOiBzdHJpbmcpID0+IHN0cmluZzsKICAgIGZvbyA9IGZ1bmN0aW9uKGksIHMpIHsKICAgICAgICByZXR1cm4gczsKICAgIH0KfQoKLy8gQ09OVEVYVDogVmFyaWFibGUgYXNzaWdubWVudAp2YXIgYzZ0NTogKG46IG51bWJlcikgPT4gSUZvbzsKYzZ0NSA9IDwobjogbnVtYmVyKSA9PiBJRm9vPmZ1bmN0aW9uKG4pIHsgcmV0dXJuIDxJRm9vPih7fSkgfTsKCi8vIENPTlRFWFQ6IEFycmF5IGluZGV4IGFzc2lnbm1lbnQKdmFyIGM3dDI6IElGb29bXSA9IFtdOwpjN3QyWzBdID0gPElGb28+KHtuOiAxfSk7CgovLyBDT05URVhUOiBPYmplY3QgcHJvcGVydHkgYXNzaWdubWVudAppbnRlcmZhY2UgSVBsYWNlSG9sZGVyIHsKICAgIHQxOiAoczogc3RyaW5nKSA9PiBzdHJpbmc7CiAgICB0MjogSUZvbzsKICAgIHQzOiBudW1iZXJbXTsKICAgIHQ0OiAoKSA9PiBJRm9vOwogICAgdDU6IChuOiBudW1iZXIpID0+IElGb287CiAgICB0NjogKG46IG51bWJlciwgczogc3RyaW5nKSA9PiBJRm9vOwogICAgdDc6IHsKICAgICAgICAgICAgKG46IG51bWJlciwgczogc3RyaW5nKTogbnVtYmVyOyAgICAKICAgICAgICAgICAgLy8oczE6IHN0cmluZywgczI6IHN0cmluZyk6IG51bWJlcjsKICAgICAgICB9OwogICAgdDg6IChuOiBudW1iZXIsIHM6IHN0cmluZykgPT4gbnVtYmVyOwogICAgdDk6IG51bWJlcltdW107CiAgICB0MTA6IElGb29bXTsKICAgIHQxMTogeyhuOiBudW1iZXIsIHM6IHN0cmluZyk6IHN0cmluZzt9W107CiAgICB0MTI6IElCYXI7CiAgICB0MTM6IElGb287CiAgICB0MTQ6IElGb287CiAgICB9Cgp2YXIgb2JqYzg6IHsKICAgIHQxOiAoczogc3RyaW5nKSA9PiBzdHJpbmc7CiAgICB0MjogSUZvbzsKICAgIHQzOiBudW1iZXJbXTsKICAgIHQ0OiAoKSA9PiBJRm9vOwogICAgdDU6IChuOiBudW1iZXIpID0+IElGb287CiAgICB0NjogKG46IG51bWJlciwgczogc3RyaW5nKSA9PiBJRm9vOwogICAgdDc6IHsKICAgICAgICAgICAgKG46IG51bWJlciwgczogc3RyaW5nKTogbnVtYmVyOyAgICAKICAgICAgICAgICAgLy8oczE6IHN0cmluZywgczI6IHN0cmluZyk6IG51bWJlcjsKICAgICAgICB9OwogICAgdDg6IChuOiBudW1iZXIsIHM6IHN0cmluZykgPT4gbnVtYmVyOwogICAgdDk6IG51bWJlcltdW107CiAgICB0MTA6IElGb29bXTsKICAgIHQxMTogeyhuOiBudW1iZXIsIHM6IHN0cmluZyk6IHN0cmluZzt9W107CiAgICB0MTI6IElCYXI7CiAgICB0MTM6IElGb287CiAgICB0MTQ6IElGb287Cn0gPSA8SVBsYWNlSG9sZGVyPih7fSk7CgpvYmpjOC50MSA9IChmdW5jdGlvbihzKSB7IHJldHVybiBzIH0pOwpvYmpjOC50MiA9IDxJRm9vPih7CiAgICBuOiAxCn0pOwpvYmpjOC50MyA9IFtdOwpvYmpjOC50NCA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gPElGb28+KHt9KSB9OwpvYmpjOC50NSA9IGZ1bmN0aW9uKG4pIHsgcmV0dXJuIDxJRm9vPih7fSkgfTsKb2JqYzgudDYgPSBmdW5jdGlvbihuLCBzKSB7IHJldHVybiA8SUZvbz4oe30pIH07Cm9iamM4LnQ3ID0gZnVuY3Rpb24objogbnVtYmVyKSB7IHJldHVybiBuIH07CgpvYmpjOC50OCA9IGZ1bmN0aW9uKG4pIHsgcmV0dXJuIG47IH07Cm9iamM4LnQ5ID0gW1tdLFtdXTsKb2JqYzgudDEwID0gWzxJRm9vPih7fSksPElGb28+KHt9KV07Cm9iamM4LnQxMSA9IFtmdW5jdGlvbihuLCBzKSB7IHJldHVybiBzOyB9XTsKb2JqYzgudDEyID0gewogICAgZm9vOiA8SUZvbz4oe30pCn0Kb2JqYzgudDEzID0gPElGb28+KHsKICAgIGY6IGZ1bmN0aW9uKGksIHMpIHsgcmV0dXJuIHM7IH0KfSkKb2JqYzgudDE0ID0gPElGb28+KHsKICAgIGE6IFtdCn0pCi8vIENPTlRFWFQ6IEZ1bmN0aW9uIGNhbGwKZnVuY3Rpb24gYzl0NShmOiAobjogbnVtYmVyKSA9PiBJRm9vKSB7fTsKYzl0NShmdW5jdGlvbihuKSB7CiAgICByZXR1cm4gPElGb28+KHt9KTsKfSk7CgovLyBDT05URVhUOiBSZXR1cm4gc3RhdGVtZW50CnZhciBjMTB0NTogKCkgPT4gKG46IG51bWJlcikgPT4gSUZvbyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gZnVuY3Rpb24obikgeyByZXR1cm4gPElGb28+KHt9KSB9IH07CgovLyBDT05URVhUOiBOZXdpbmcgYSBjbGFzcwpjbGFzcyBDMTF0NSB7IGNvbnN0cnVjdG9yKGY6IChuOiBudW1iZXIpID0+IElGb28pIHsgfSB9Owp2YXIgaSA9IG5ldyBDMTF0NShmdW5jdGlvbihuKSB7IHJldHVybiA8SUZvbz4oe30pIH0pOwoKLy8gQ09OVEVYVDogVHlwZSBhbm5vdGF0ZWQgZXhwcmVzc2lvbgp2YXIgYzEydDEgPSA8KHM6IHN0cmluZykgPT4gc3RyaW5nPiAoZnVuY3Rpb24ocykgeyByZXR1cm4gcyB9KTsKdmFyIGMxMnQyID0gPElGb28+ICh7CiAgICBuOiAxCn0pOwp2YXIgYzEydDMgPSA8bnVtYmVyW10+IFtdOwp2YXIgYzEydDQgPSA8KCkgPT4gSUZvbz4gZnVuY3Rpb24oKSB7IHJldHVybiA8SUZvbz4oe30pIH07CnZhciBjMTJ0NSA9IDwobjogbnVtYmVyKSA9PiBJRm9vPiBmdW5jdGlvbihuKSB7IHJldHVybiA8SUZvbz4oe30pIH07CnZhciBjMTJ0NiA9IDwobjogbnVtYmVyLCBzOiBzdHJpbmcpID0+IElGb28+IGZ1bmN0aW9uKG4sIHMpIHsgcmV0dXJuIDxJRm9vPih7fSkgfTsKdmFyIGMxMnQ3ID0gPHsKICAgIChuOiBudW1iZXIsIHM6IHN0cmluZyk6IG51bWJlcjsgICAgCiAgICAvLyhzMTogc3RyaW5nLCBzMjogc3RyaW5nKTogbnVtYmVyOwp9PiBmdW5jdGlvbihuOm51bWJlcikgeyByZXR1cm4gbiB9OwoKdmFyIGMxMnQ4ID0gPChuOiBudW1iZXIsIHM6IHN0cmluZykgPT4gbnVtYmVyPiBmdW5jdGlvbihuKSB7IHJldHVybiBuOyB9Owp2YXIgYzEydDkgPSA8bnVtYmVyW11bXT4gW1tdLFtdXTsKdmFyIGMxMnQxMCA9IDxJRm9vW10+IFs8SUZvbz4oe30pLDxJRm9vPih7fSldOwp2YXIgYzEydDExID0gPHsobjogbnVtYmVyLCBzOiBzdHJpbmcpOiBzdHJpbmc7fVtdPiBbZnVuY3Rpb24obiwgcykgeyByZXR1cm4gczsgfV07CnZhciBjMTJ0MTIgPSA8SUJhcj4gewogICAgZm9vOiA8SUZvbz4oe30pCn0KdmFyIGMxMnQxMyA9IDxJRm9vPiAoewogICAgZjogZnVuY3Rpb24oaSwgcykgeyByZXR1cm4gczsgfQp9KQp2YXIgYzEydDE0ID0gPElGb28+ICh7CiAgICBhOiBbXQp9KQoKLy8gQ09OVEVYVDogQ29udGV4dHVhbCB0eXBpbmcgZGVjbGFyYXRpb25zCgovLyBjb250ZXh0dWFsbHkgdHlwaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwpkZWNsYXJlIGZ1bmN0aW9uIEVGMShhOm51bWJlciwgYjpudW1iZXIpOm51bWJlcjsKCmZ1bmN0aW9uIEVGMShhLGIpIHsgcmV0dXJuIGErYjsgfQoKdmFyIGVmdiA9IEVGMSgxLDIpOwoKCi8vIGNvbnRleHR1YWxseSB0eXBpbmcgZnJvbSBhbWJpZW50IGNsYXNzIGRlY2xhcmF0aW9ucwpkZWNsYXJlIGNsYXNzIFBvaW50CnsKICAgICAgY29uc3RydWN0b3IoeDogbnVtYmVyLCB5OiBudW1iZXIpOwogICAgICB4OiBudW1iZXI7CiAgICAgIHk6IG51bWJlcjsKICAgICAgYWRkKGR4OiBudW1iZXIsIGR5OiBudW1iZXIpOiBQb2ludDsKICAgICAgc3RhdGljIG9yaWdpbjogUG9pbnQ7Cgp9CgpQb2ludC5vcmlnaW4gPSBuZXcgUG9pbnQoMCwgMCk7CgpQb2ludC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24oZHgsIGR5KSB7CiAgICByZXR1cm4gbmV3IFBvaW50KHRoaXMueCArIGR4LCB0aGlzLnkgKyBkeSk7Cn07CgpQb2ludC5wcm90b3R5cGUgPSB7CiAgICB4OiAwLAogICAgeTogMCwKICAgIGFkZDogZnVuY3Rpb24oZHgsIGR5KSB7CiAgICAgICAgcmV0dXJuIG5ldyBQb2ludCh0aGlzLnggKyBkeCwgdGhpcy55ICsgZHkpOwogICAgfQp9OwoKaW50ZXJmYWNlIEEgeyB4OiBzdHJpbmc7IH0KaW50ZXJmYWNlIEIgZXh0ZW5kcyBBIHsgfQp2YXIgeDogQiA9IHsgfTsK diff --git a/tests/baselines/reference/contextualTyping.sourcemap.txt b/tests/baselines/reference/contextualTyping.sourcemap.txt index 88a9b9d71668f..c68b3d3394e89 100644 --- a/tests/baselines/reference/contextualTyping.sourcemap.txt +++ b/tests/baselines/reference/contextualTyping.sourcemap.txt @@ -110,7 +110,7 @@ sourceFile:contextualTyping.ts 2 >^ 3 > 4 > ^^^^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > 2 >} 3 > @@ -124,15 +124,15 @@ sourceFile:contextualTyping.ts 3 >Emitted(9, 2) Source(14, 1) + SourceIndex(0) 4 >Emitted(9, 6) Source(18, 2) + SourceIndex(0) --- ->>>// CONTEXT: Module property declaration +>>>// CONTEXT: Namespace property declaration 1-> -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> > > -2 >// CONTEXT: Module property declaration +2 >// CONTEXT: Namespace property declaration 1->Emitted(10, 1) Source(20, 1) + SourceIndex(0) -2 >Emitted(10, 40) Source(20, 40) + SourceIndex(0) +2 >Emitted(10, 43) Source(20, 43) + SourceIndex(0) --- >>>var C2T5; 1 > @@ -1011,7 +1011,7 @@ sourceFile:contextualTyping.ts 2 >^ 3 > 4 > ^^^^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > 2 >} 3 > @@ -1028,15 +1028,15 @@ sourceFile:contextualTyping.ts 3 >Emitted(48, 2) Source(56, 1) + SourceIndex(0) 4 >Emitted(48, 6) Source(63, 2) + SourceIndex(0) --- ->>>// CONTEXT: Module property assignment +>>>// CONTEXT: Namespace property assignment 1-> -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> > > -2 >// CONTEXT: Module property assignment +2 >// CONTEXT: Namespace property assignment 1->Emitted(49, 1) Source(65, 1) + SourceIndex(0) -2 >Emitted(49, 39) Source(65, 39) + SourceIndex(0) +2 >Emitted(49, 42) Source(65, 42) + SourceIndex(0) --- >>>var C5T5; 1 > @@ -1238,21 +1238,27 @@ sourceFile:contextualTyping.ts 1 >Emitted(59, 1) Source(77, 1) + SourceIndex(0) 2 >Emitted(59, 35) Source(77, 35) + SourceIndex(0) --- ->>>var c7t2; +>>>var c7t2 = []; 1 > 2 >^^^^ 3 > ^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^-> +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 > > 2 >var -3 > c7t2: IFoo[] -4 > ; +3 > c7t2 +4 > : IFoo[] = +5 > [] +6 > ; 1 >Emitted(60, 1) Source(78, 1) + SourceIndex(0) 2 >Emitted(60, 5) Source(78, 5) + SourceIndex(0) -3 >Emitted(60, 9) Source(78, 17) + SourceIndex(0) -4 >Emitted(60, 10) Source(78, 18) + SourceIndex(0) +3 >Emitted(60, 9) Source(78, 9) + SourceIndex(0) +4 >Emitted(60, 12) Source(78, 20) + SourceIndex(0) +5 >Emitted(60, 14) Source(78, 22) + SourceIndex(0) +6 >Emitted(60, 15) Source(78, 23) + SourceIndex(0) --- >>>c7t2[0] = ({ n: 1 }); 1-> diff --git a/tests/baselines/reference/contextualTyping.symbols b/tests/baselines/reference/contextualTyping.symbols index 225a450bcd6b7..97b18f5b6a44d 100644 --- a/tests/baselines/reference/contextualTyping.symbols +++ b/tests/baselines/reference/contextualTyping.symbols @@ -43,7 +43,7 @@ class C1T5 { } } -// CONTEXT: Module property declaration +// CONTEXT: Namespace property declaration namespace C2T5 { >C2T5 : Symbol(C2T5, Decl(contextualTyping.ts, 17, 1)) @@ -185,7 +185,7 @@ class C4T5 { } } -// CONTEXT: Module property assignment +// CONTEXT: Namespace property assignment namespace C5T5 { >C5T5 : Symbol(C5T5, Decl(contextualTyping.ts, 62, 1)) @@ -218,7 +218,7 @@ c6t5 = <(n: number) => IFoo>function(n) { return ({}) }; >IFoo : Symbol(IFoo, Decl(contextualTyping.ts, 0, 0)) // CONTEXT: Array index assignment -var c7t2: IFoo[]; +var c7t2: IFoo[] = []; >c7t2 : Symbol(c7t2, Decl(contextualTyping.ts, 77, 3)) >IFoo : Symbol(IFoo, Decl(contextualTyping.ts, 0, 0)) diff --git a/tests/baselines/reference/contextualTyping.types b/tests/baselines/reference/contextualTyping.types index b3613681d08ad..26446ec8ff75f 100644 --- a/tests/baselines/reference/contextualTyping.types +++ b/tests/baselines/reference/contextualTyping.types @@ -53,7 +53,7 @@ class C1T5 { } } -// CONTEXT: Module property declaration +// CONTEXT: Namespace property declaration namespace C2T5 { >C2T5 : typeof C2T5 > : ^^^^^^^^^^^ @@ -336,7 +336,7 @@ class C4T5 { } } -// CONTEXT: Module property assignment +// CONTEXT: Namespace property assignment namespace C5T5 { >C5T5 : typeof C5T5 > : ^^^^^^^^^^^ @@ -395,9 +395,11 @@ c6t5 = <(n: number) => IFoo>function(n) { return ({}) }; > : ^^ // CONTEXT: Array index assignment -var c7t2: IFoo[]; +var c7t2: IFoo[] = []; >c7t2 : IFoo[] > : ^^^^^^ +>[] : undefined[] +> : ^^^^^^^^^^^ c7t2[0] = ({n: 1}); >c7t2[0] = ({n: 1}) : IFoo diff --git a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.errors.txt b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.errors.txt index 1003ddbdb7678..561aba38135a5 100644 --- a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.errors.txt +++ b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.errors.txt @@ -15,8 +15,8 @@ contextualTypingOfGenericFunctionTypedArguments1.ts(17,32): error TS2345: Argume forEach(c: Collection, f: (x: T) => Date): void; } - var c2: Collection; - var _: Combinators; + declare var c2: Collection; + declare var _: Combinators; // errors on all 3 lines, bug was that r5 was the only line with errors var f = (x: number) => { return x.toFixed() }; diff --git a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.js b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.js index 78f650c512feb..3bca6ffd0e537 100644 --- a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.js +++ b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.js @@ -11,8 +11,8 @@ interface Combinators { forEach(c: Collection, f: (x: T) => Date): void; } -var c2: Collection; -var _: Combinators; +declare var c2: Collection; +declare var _: Combinators; // errors on all 3 lines, bug was that r5 was the only line with errors var f = (x: number) => { return x.toFixed() }; @@ -21,8 +21,6 @@ var r6 = _.forEach(c2, (x) => { return x.toFixed() }); //// [contextualTypingOfGenericFunctionTypedArguments1.js] -var c2; -var _; // errors on all 3 lines, bug was that r5 was the only line with errors var f = function (x) { return x.toFixed(); }; var r5 = _.forEach(c2, f); diff --git a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.symbols b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.symbols index 5045b62e7e260..f9483c7b9d4be 100644 --- a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.symbols +++ b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.symbols @@ -34,12 +34,12 @@ interface Combinators { >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } -var c2: Collection; ->c2 : Symbol(c2, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 10, 3)) +declare var c2: Collection; +>c2 : Symbol(c2, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 10, 11)) >Collection : Symbol(Collection, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 0, 0)) -var _: Combinators; ->_ : Symbol(_, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 11, 3)) +declare var _: Combinators; +>_ : Symbol(_, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 11, 11)) >Combinators : Symbol(Combinators, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 4, 1)) // errors on all 3 lines, bug was that r5 was the only line with errors @@ -53,17 +53,17 @@ var f = (x: number) => { return x.toFixed() }; var r5 = _.forEach(c2, f); >r5 : Symbol(r5, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 15, 3)) >_.forEach : Symbol(Combinators.forEach, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 6, 23)) ->_ : Symbol(_, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 11, 3)) +>_ : Symbol(_, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 11, 11)) >forEach : Symbol(Combinators.forEach, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 6, 23)) ->c2 : Symbol(c2, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 10, 3)) +>c2 : Symbol(c2, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 10, 11)) >f : Symbol(f, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 14, 3)) var r6 = _.forEach(c2, (x) => { return x.toFixed() }); >r6 : Symbol(r6, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 16, 3)) >_.forEach : Symbol(Combinators.forEach, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 6, 23)) ->_ : Symbol(_, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 11, 3)) +>_ : Symbol(_, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 11, 11)) >forEach : Symbol(Combinators.forEach, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 6, 23)) ->c2 : Symbol(c2, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 10, 3)) +>c2 : Symbol(c2, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 10, 11)) >x : Symbol(x, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 16, 32)) >x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 16, 32)) diff --git a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types index 075082acb4cd7..07d73b81a28e0 100644 --- a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types +++ b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types @@ -31,11 +31,11 @@ interface Combinators { > : ^ } -var c2: Collection; +declare var c2: Collection; >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ -var _: Combinators; +declare var _: Combinators; >_ : Combinators > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.errors.txt b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.errors.txt index 411a6b9079b81..dc2673e1b1175 100644 --- a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.errors.txt +++ b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.errors.txt @@ -4,7 +4,7 @@ contextualTypingWithFixedTypeParameters1.ts(3,38): error TS2345: Argument of typ ==== contextualTypingWithFixedTypeParameters1.ts (3 errors) ==== - var f10: (x: T, b: () => (a: T) => void, y: T) => T; + declare var f10: (x: T, b: () => (a: T) => void, y: T) => T; f10('', () => a => a.foo, ''); // a is "" ~~~ !!! error TS2339: Property 'foo' does not exist on type 'string'. diff --git a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.js b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.js index c5ed72aa8d02c..d05fd49e73bde 100644 --- a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.js +++ b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.js @@ -1,11 +1,10 @@ //// [tests/cases/compiler/contextualTypingWithFixedTypeParameters1.ts] //// //// [contextualTypingWithFixedTypeParameters1.ts] -var f10: (x: T, b: () => (a: T) => void, y: T) => T; +declare var f10: (x: T, b: () => (a: T) => void, y: T) => T; f10('', () => a => a.foo, ''); // a is "" var r9 = f10('', () => (a => a.foo), 1); // error //// [contextualTypingWithFixedTypeParameters1.js] -var f10; f10('', function () { return function (a) { return a.foo; }; }, ''); // a is "" var r9 = f10('', function () { return (function (a) { return a.foo; }); }, 1); // error diff --git a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.symbols b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.symbols index 1205638262f78..22fcf9cfe7686 100644 --- a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.symbols +++ b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.symbols @@ -1,26 +1,26 @@ //// [tests/cases/compiler/contextualTypingWithFixedTypeParameters1.ts] //// === contextualTypingWithFixedTypeParameters1.ts === -var f10: (x: T, b: () => (a: T) => void, y: T) => T; ->f10 : Symbol(f10, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 3)) ->T : Symbol(T, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 10)) ->x : Symbol(x, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 13)) ->T : Symbol(T, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 10)) ->b : Symbol(b, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 18)) ->a : Symbol(a, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 29)) ->T : Symbol(T, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 10)) ->y : Symbol(y, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 43)) ->T : Symbol(T, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 10)) ->T : Symbol(T, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 10)) +declare var f10: (x: T, b: () => (a: T) => void, y: T) => T; +>f10 : Symbol(f10, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 11)) +>T : Symbol(T, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 18)) +>x : Symbol(x, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 21)) +>T : Symbol(T, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 18)) +>b : Symbol(b, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 26)) +>a : Symbol(a, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 37)) +>T : Symbol(T, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 18)) +>y : Symbol(y, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 51)) +>T : Symbol(T, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 18)) +>T : Symbol(T, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 18)) f10('', () => a => a.foo, ''); // a is "" ->f10 : Symbol(f10, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 3)) +>f10 : Symbol(f10, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 11)) >a : Symbol(a, Decl(contextualTypingWithFixedTypeParameters1.ts, 1, 13)) >a : Symbol(a, Decl(contextualTypingWithFixedTypeParameters1.ts, 1, 13)) var r9 = f10('', () => (a => a.foo), 1); // error >r9 : Symbol(r9, Decl(contextualTypingWithFixedTypeParameters1.ts, 2, 3)) ->f10 : Symbol(f10, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 3)) +>f10 : Symbol(f10, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 11)) >a : Symbol(a, Decl(contextualTypingWithFixedTypeParameters1.ts, 2, 24)) >a : Symbol(a, Decl(contextualTypingWithFixedTypeParameters1.ts, 2, 24)) diff --git a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types index 14075af84d112..8cf50dbe0abb2 100644 --- a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types +++ b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/contextualTypingWithFixedTypeParameters1.ts] //// === contextualTypingWithFixedTypeParameters1.ts === -var f10: (x: T, b: () => (a: T) => void, y: T) => T; +declare var f10: (x: T, b: () => (a: T) => void, y: T) => T; >f10 : (x: T, b: () => (a: T) => void, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T diff --git a/tests/baselines/reference/controlFlowForStatement.errors.txt b/tests/baselines/reference/controlFlowForStatement.errors.txt index b45976464a3bd..35f0c92c9b24f 100644 --- a/tests/baselines/reference/controlFlowForStatement.errors.txt +++ b/tests/baselines/reference/controlFlowForStatement.errors.txt @@ -3,7 +3,7 @@ controlFlowForStatement.ts(29,50): error TS2873: This kind of expression is alwa ==== controlFlowForStatement.ts (2 errors) ==== - let cond: boolean; + declare let cond: boolean; function a() { let x: string | number | boolean; for (x = ""; cond; x = 5) { diff --git a/tests/baselines/reference/controlFlowForStatement.js b/tests/baselines/reference/controlFlowForStatement.js index 18873a6ccea8c..1a8b15b17dd7f 100644 --- a/tests/baselines/reference/controlFlowForStatement.js +++ b/tests/baselines/reference/controlFlowForStatement.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/controlFlow/controlFlowForStatement.ts] //// //// [controlFlowForStatement.ts] -let cond: boolean; +declare let cond: boolean; function a() { let x: string | number | boolean; for (x = ""; cond; x = 5) { @@ -45,7 +45,6 @@ function f() { //// [controlFlowForStatement.js] -var cond; function a() { var x; for (x = ""; cond; x = 5) { diff --git a/tests/baselines/reference/controlFlowForStatement.symbols b/tests/baselines/reference/controlFlowForStatement.symbols index 1699aa9dda444..cb48704300cce 100644 --- a/tests/baselines/reference/controlFlowForStatement.symbols +++ b/tests/baselines/reference/controlFlowForStatement.symbols @@ -1,18 +1,18 @@ //// [tests/cases/conformance/controlFlow/controlFlowForStatement.ts] //// === controlFlowForStatement.ts === -let cond: boolean; ->cond : Symbol(cond, Decl(controlFlowForStatement.ts, 0, 3)) +declare let cond: boolean; +>cond : Symbol(cond, Decl(controlFlowForStatement.ts, 0, 11)) function a() { ->a : Symbol(a, Decl(controlFlowForStatement.ts, 0, 18)) +>a : Symbol(a, Decl(controlFlowForStatement.ts, 0, 26)) let x: string | number | boolean; >x : Symbol(x, Decl(controlFlowForStatement.ts, 2, 7)) for (x = ""; cond; x = 5) { >x : Symbol(x, Decl(controlFlowForStatement.ts, 2, 7)) ->cond : Symbol(cond, Decl(controlFlowForStatement.ts, 0, 3)) +>cond : Symbol(cond, Decl(controlFlowForStatement.ts, 0, 11)) >x : Symbol(x, Decl(controlFlowForStatement.ts, 2, 7)) x; // string | number @@ -27,7 +27,7 @@ function b() { for (x = 5; cond; x = x.length) { >x : Symbol(x, Decl(controlFlowForStatement.ts, 8, 7)) ->cond : Symbol(cond, Decl(controlFlowForStatement.ts, 0, 3)) +>cond : Symbol(cond, Decl(controlFlowForStatement.ts, 0, 11)) >x : Symbol(x, Decl(controlFlowForStatement.ts, 8, 7)) >x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowForStatement.ts, 8, 7)) diff --git a/tests/baselines/reference/controlFlowForStatement.types b/tests/baselines/reference/controlFlowForStatement.types index e7c7ce4f36c71..1bf8358a4a5cd 100644 --- a/tests/baselines/reference/controlFlowForStatement.types +++ b/tests/baselines/reference/controlFlowForStatement.types @@ -1,7 +1,7 @@ //// [tests/cases/conformance/controlFlow/controlFlowForStatement.ts] //// === controlFlowForStatement.ts === -let cond: boolean; +declare let cond: boolean; >cond : boolean > : ^^^^^^^ diff --git a/tests/baselines/reference/declarationMapsWithoutDeclaration.errors.txt b/tests/baselines/reference/declarationMapsWithoutDeclaration.errors.txt index b254f30cc92d8..f7b37d4ed4b74 100644 --- a/tests/baselines/reference/declarationMapsWithoutDeclaration.errors.txt +++ b/tests/baselines/reference/declarationMapsWithoutDeclaration.errors.txt @@ -14,7 +14,7 @@ error TS5069: Option 'declarationMap' cannot be specified without specifying opt } - var m2: { + declare var m2: { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; diff --git a/tests/baselines/reference/declarationMapsWithoutDeclaration.js b/tests/baselines/reference/declarationMapsWithoutDeclaration.js index adf5c0ccaf21a..137473a886603 100644 --- a/tests/baselines/reference/declarationMapsWithoutDeclaration.js +++ b/tests/baselines/reference/declarationMapsWithoutDeclaration.js @@ -12,7 +12,7 @@ namespace m2 { } -var m2: { +declare var m2: { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; @@ -22,5 +22,4 @@ export = m2; //// [declarationMapsWithoutDeclaration.js] "use strict"; -var m2; module.exports = m2; diff --git a/tests/baselines/reference/declarationMapsWithoutDeclaration.symbols b/tests/baselines/reference/declarationMapsWithoutDeclaration.symbols index f8e0849051b58..d3295aa65f46e 100644 --- a/tests/baselines/reference/declarationMapsWithoutDeclaration.symbols +++ b/tests/baselines/reference/declarationMapsWithoutDeclaration.symbols @@ -2,7 +2,7 @@ === declarationMapsWithoutDeclaration.ts === namespace m2 { ->m2 : Symbol(m2, Decl(declarationMapsWithoutDeclaration.ts, 0, 0), Decl(declarationMapsWithoutDeclaration.ts, 11, 3)) +>m2 : Symbol(m2, Decl(declarationMapsWithoutDeclaration.ts, 0, 0), Decl(declarationMapsWithoutDeclaration.ts, 11, 11)) export interface connectModule { >connectModule : Symbol(connectModule, Decl(declarationMapsWithoutDeclaration.ts, 0, 14)) @@ -28,25 +28,25 @@ namespace m2 { } -var m2: { ->m2 : Symbol(m2, Decl(declarationMapsWithoutDeclaration.ts, 0, 0), Decl(declarationMapsWithoutDeclaration.ts, 11, 3)) +declare var m2: { +>m2 : Symbol(m2, Decl(declarationMapsWithoutDeclaration.ts, 0, 0), Decl(declarationMapsWithoutDeclaration.ts, 11, 11)) (): m2.connectExport; ->m2 : Symbol(m2, Decl(declarationMapsWithoutDeclaration.ts, 0, 0), Decl(declarationMapsWithoutDeclaration.ts, 11, 3)) +>m2 : Symbol(m2, Decl(declarationMapsWithoutDeclaration.ts, 0, 0), Decl(declarationMapsWithoutDeclaration.ts, 11, 11)) >connectExport : Symbol(m2.connectExport, Decl(declarationMapsWithoutDeclaration.ts, 3, 5)) test1: m2.connectModule; >test1 : Symbol(test1, Decl(declarationMapsWithoutDeclaration.ts, 12, 25)) ->m2 : Symbol(m2, Decl(declarationMapsWithoutDeclaration.ts, 0, 0), Decl(declarationMapsWithoutDeclaration.ts, 11, 3)) +>m2 : Symbol(m2, Decl(declarationMapsWithoutDeclaration.ts, 0, 0), Decl(declarationMapsWithoutDeclaration.ts, 11, 11)) >connectModule : Symbol(m2.connectModule, Decl(declarationMapsWithoutDeclaration.ts, 0, 14)) test2(): m2.connectModule; >test2 : Symbol(test2, Decl(declarationMapsWithoutDeclaration.ts, 13, 28)) ->m2 : Symbol(m2, Decl(declarationMapsWithoutDeclaration.ts, 0, 0), Decl(declarationMapsWithoutDeclaration.ts, 11, 3)) +>m2 : Symbol(m2, Decl(declarationMapsWithoutDeclaration.ts, 0, 0), Decl(declarationMapsWithoutDeclaration.ts, 11, 11)) >connectModule : Symbol(m2.connectModule, Decl(declarationMapsWithoutDeclaration.ts, 0, 14)) }; export = m2; ->m2 : Symbol(m2, Decl(declarationMapsWithoutDeclaration.ts, 0, 0), Decl(declarationMapsWithoutDeclaration.ts, 11, 3)) +>m2 : Symbol(m2, Decl(declarationMapsWithoutDeclaration.ts, 0, 0), Decl(declarationMapsWithoutDeclaration.ts, 11, 11)) diff --git a/tests/baselines/reference/declarationMapsWithoutDeclaration.types b/tests/baselines/reference/declarationMapsWithoutDeclaration.types index 5aaaf4f706f7a..3572972cd2fb8 100644 --- a/tests/baselines/reference/declarationMapsWithoutDeclaration.types +++ b/tests/baselines/reference/declarationMapsWithoutDeclaration.types @@ -27,7 +27,7 @@ namespace m2 { } -var m2: { +declare var m2: { >m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } > : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/declarationsAndAssignments.errors.txt b/tests/baselines/reference/declarationsAndAssignments.errors.txt index bf2f168a34955..07a55bb59d92f 100644 --- a/tests/baselines/reference/declarationsAndAssignments.errors.txt +++ b/tests/baselines/reference/declarationsAndAssignments.errors.txt @@ -29,8 +29,8 @@ declarationsAndAssignments.ts(138,9): error TS2322: Type 'number' is not assigna ~ !!! error TS2493: Tuple type '[number, string]' of length '2' has no element at index '2'. var [,, x] = [0, 1, 2]; - var x: number; - var y: string; + var x!: number; + var y!: string; } function f1() { @@ -38,9 +38,9 @@ declarationsAndAssignments.ts(138,9): error TS2322: Type 'number' is not assigna var [x] = a; var [x, y] = a; var [x, y, z] = a; - var x: number | string; - var y: number | string; - var z: number | string; + var x!: number | string; + var y!: number | string; + var z!: number | string; } function f2() { @@ -52,8 +52,8 @@ declarationsAndAssignments.ts(138,9): error TS2322: Type 'number' is not assigna ~ !!! error TS2353: Object literal may only specify known properties, and 'x' does not exist in type '{ y: any; }'. var { x, y } = { x: 5, y: "hello" }; - var x: number; - var y: string; + var x!: number; + var y!: string; var { x: a } = { x: 5, y: "hello" }; // Error, no y in target ~ !!! error TS2353: Object literal may only specify known properties, and 'y' does not exist in type '{ x: any; }'. @@ -61,34 +61,34 @@ declarationsAndAssignments.ts(138,9): error TS2322: Type 'number' is not assigna ~ !!! error TS2353: Object literal may only specify known properties, and 'x' does not exist in type '{ y: any; }'. var { x: a, y: b } = { x: 5, y: "hello" }; - var a: number; - var b: string; + var a!: number; + var b!: string; } function f3() { var [x, [y, [z]]] = [1, ["hello", [true]]]; - var x: number; - var y: string; - var z: boolean; + var x!: number; + var y!: string; + var z!: boolean; } function f4() { var { a: x, b: { a: y, b: { a: z }}} = { a: 1, b: { a: "hello", b: { a: true } } }; - var x: number; - var y: string; - var z: boolean; + var x!: number; + var y!: string; + var z!: boolean; } function f6() { var [x = 0, y = ""] = [1, "hello"]; - var x: number; - var y: string; + var x!: number; + var y!: string; } function f7() { var [x = 0, y = 1] = [1, "hello"]; // Error, initializer for y must be string - var x: number; - var y: string; + var x!: number; + var y!: string; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'string | number', but here has type 'string'. !!! related TS6203 declarationsAndAssignments.ts:56:17: 'y' was also declared here. @@ -137,16 +137,16 @@ declarationsAndAssignments.ts(138,9): error TS2322: Type 'number' is not assigna var { 0: a, 1: b } = { 0: 10, 1: "hello" }; var { "<": a, ">": b } = { "<": 10, ">": "hello" }; var { 0: a, 1: b } = [10, "hello"]; - var a: number; - var b: string; + var a!: number; + var b!: string; } function f12() { var [a, [b, { x, y: c }] = ["abc", { x: 10, y: false }]] = [1, ["hello", { x: 5, y: true }]]; - var a: number; - var b: string; - var x: number; - var c: boolean; + var a!: number; + var b!: string; + var x!: number; + var c!: boolean; } function f13() { @@ -155,9 +155,9 @@ declarationsAndAssignments.ts(138,9): error TS2322: Type 'number' is not assigna } function f14([a = 1, [b = "hello", { x, y: c = false }]]) { - var a: number; - var b: string; - var c: boolean; + var a!: number; + var b!: string; + var c!: boolean; } f14([2, ["abc", { x: 0, y: true }]]); f14([2, ["abc", { x: 0 }]]); @@ -189,9 +189,9 @@ declarationsAndAssignments.ts(138,9): error TS2322: Type 'number' is not assigna f17(f15()); function f18() { - var a: number; - var b: string; - var aa: number[]; + var a!: number; + var b!: string; + var aa!: number[]; ({ a, b } = { a, b }); ({ a, b } = { b, a }); [aa[0], b] = [a, b]; @@ -213,13 +213,13 @@ declarationsAndAssignments.ts(138,9): error TS2322: Type 'number' is not assigna } function f20(v: [number, number, number]) { - var x: number; - var y: number; - var z: number; - var a0: []; - var a1: [number]; - var a2: [number, number]; - var a3: [number, number, number]; + var x!: number; + var y!: number; + var z!: number; + var a0!: []; + var a1!: [number]; + var a2!: [number, number]; + var a3!: [number, number, number]; var [...a3] = v; var [x, ...a2] = v; var [x, y, ...a1] = v; @@ -231,13 +231,13 @@ declarationsAndAssignments.ts(138,9): error TS2322: Type 'number' is not assigna } function f21(v: [number, string, boolean]) { - var x: number; - var y: string; - var z: boolean; - var a0: [number, string, boolean]; - var a1: [string, boolean]; - var a2: [boolean]; - var a3: []; + var x!: number; + var y!: string; + var z!: boolean; + var a0!: [number, string, boolean]; + var a1!: [string, boolean]; + var a2!: [boolean]; + var a3!: []; var [...a0] = v; var [x, ...a1] = v; var [x, y, ...a2] = v; diff --git a/tests/baselines/reference/declarationsAndAssignments.js b/tests/baselines/reference/declarationsAndAssignments.js index 7821ad1d77ee6..e74b1769ef2b4 100644 --- a/tests/baselines/reference/declarationsAndAssignments.js +++ b/tests/baselines/reference/declarationsAndAssignments.js @@ -7,8 +7,8 @@ function f0() { var [x, y] = [1, "hello"]; var [x, y, z] = [1, "hello"]; var [,, x] = [0, 1, 2]; - var x: number; - var y: string; + var x!: number; + var y!: string; } function f1() { @@ -16,9 +16,9 @@ function f1() { var [x] = a; var [x, y] = a; var [x, y, z] = a; - var x: number | string; - var y: number | string; - var z: number | string; + var x!: number | string; + var y!: number | string; + var z!: number | string; } function f2() { @@ -26,39 +26,39 @@ function f2() { var { x } = { x: 5, y: "hello" }; // Error, no y in target var { y } = { x: 5, y: "hello" }; // Error, no x in target var { x, y } = { x: 5, y: "hello" }; - var x: number; - var y: string; + var x!: number; + var y!: string; var { x: a } = { x: 5, y: "hello" }; // Error, no y in target var { y: b } = { x: 5, y: "hello" }; // Error, no x in target var { x: a, y: b } = { x: 5, y: "hello" }; - var a: number; - var b: string; + var a!: number; + var b!: string; } function f3() { var [x, [y, [z]]] = [1, ["hello", [true]]]; - var x: number; - var y: string; - var z: boolean; + var x!: number; + var y!: string; + var z!: boolean; } function f4() { var { a: x, b: { a: y, b: { a: z }}} = { a: 1, b: { a: "hello", b: { a: true } } }; - var x: number; - var y: string; - var z: boolean; + var x!: number; + var y!: string; + var z!: boolean; } function f6() { var [x = 0, y = ""] = [1, "hello"]; - var x: number; - var y: string; + var x!: number; + var y!: string; } function f7() { var [x = 0, y = 1] = [1, "hello"]; // Error, initializer for y must be string - var x: number; - var y: string; + var x!: number; + var y!: string; } function f8() { @@ -82,16 +82,16 @@ function f11() { var { 0: a, 1: b } = { 0: 10, 1: "hello" }; var { "<": a, ">": b } = { "<": 10, ">": "hello" }; var { 0: a, 1: b } = [10, "hello"]; - var a: number; - var b: string; + var a!: number; + var b!: string; } function f12() { var [a, [b, { x, y: c }] = ["abc", { x: 10, y: false }]] = [1, ["hello", { x: 5, y: true }]]; - var a: number; - var b: string; - var x: number; - var c: boolean; + var a!: number; + var b!: string; + var x!: number; + var c!: boolean; } function f13() { @@ -100,9 +100,9 @@ function f13() { } function f14([a = 1, [b = "hello", { x, y: c = false }]]) { - var a: number; - var b: string; - var c: boolean; + var a!: number; + var b!: string; + var c!: boolean; } f14([2, ["abc", { x: 0, y: true }]]); f14([2, ["abc", { x: 0 }]]); @@ -132,9 +132,9 @@ f17({ c: true }); f17(f15()); function f18() { - var a: number; - var b: string; - var aa: number[]; + var a!: number; + var b!: string; + var aa!: number[]; ({ a, b } = { a, b }); ({ a, b } = { b, a }); [aa[0], b] = [a, b]; @@ -152,13 +152,13 @@ function f19() { } function f20(v: [number, number, number]) { - var x: number; - var y: number; - var z: number; - var a0: []; - var a1: [number]; - var a2: [number, number]; - var a3: [number, number, number]; + var x!: number; + var y!: number; + var z!: number; + var a0!: []; + var a1!: [number]; + var a2!: [number, number]; + var a3!: [number, number, number]; var [...a3] = v; var [x, ...a2] = v; var [x, y, ...a1] = v; @@ -170,13 +170,13 @@ function f20(v: [number, number, number]) { } function f21(v: [number, string, boolean]) { - var x: number; - var y: string; - var z: boolean; - var a0: [number, string, boolean]; - var a1: [string, boolean]; - var a2: [boolean]; - var a3: []; + var x!: number; + var y!: string; + var z!: boolean; + var a0!: [number, string, boolean]; + var a1!: [string, boolean]; + var a2!: [boolean]; + var a3!: []; var [...a0] = v; var [x, ...a1] = v; var [x, y, ...a2] = v; diff --git a/tests/baselines/reference/declarationsAndAssignments.symbols b/tests/baselines/reference/declarationsAndAssignments.symbols index 81e98b6bc9f8a..fa26e4590fa9c 100644 --- a/tests/baselines/reference/declarationsAndAssignments.symbols +++ b/tests/baselines/reference/declarationsAndAssignments.symbols @@ -20,10 +20,10 @@ function f0() { var [,, x] = [0, 1, 2]; >x : Symbol(x, Decl(declarationsAndAssignments.ts, 2, 9), Decl(declarationsAndAssignments.ts, 3, 9), Decl(declarationsAndAssignments.ts, 4, 9), Decl(declarationsAndAssignments.ts, 5, 11), Decl(declarationsAndAssignments.ts, 6, 7)) - var x: number; + var x!: number; >x : Symbol(x, Decl(declarationsAndAssignments.ts, 2, 9), Decl(declarationsAndAssignments.ts, 3, 9), Decl(declarationsAndAssignments.ts, 4, 9), Decl(declarationsAndAssignments.ts, 5, 11), Decl(declarationsAndAssignments.ts, 6, 7)) - var y: string; + var y!: string; >y : Symbol(y, Decl(declarationsAndAssignments.ts, 3, 11), Decl(declarationsAndAssignments.ts, 4, 11), Decl(declarationsAndAssignments.ts, 7, 7)) } @@ -48,13 +48,13 @@ function f1() { >z : Symbol(z, Decl(declarationsAndAssignments.ts, 14, 14), Decl(declarationsAndAssignments.ts, 17, 7)) >a : Symbol(a, Decl(declarationsAndAssignments.ts, 11, 7)) - var x: number | string; + var x!: number | string; >x : Symbol(x, Decl(declarationsAndAssignments.ts, 12, 9), Decl(declarationsAndAssignments.ts, 13, 9), Decl(declarationsAndAssignments.ts, 14, 9), Decl(declarationsAndAssignments.ts, 15, 7)) - var y: number | string; + var y!: number | string; >y : Symbol(y, Decl(declarationsAndAssignments.ts, 13, 11), Decl(declarationsAndAssignments.ts, 14, 11), Decl(declarationsAndAssignments.ts, 16, 7)) - var z: number | string; + var z!: number | string; >z : Symbol(z, Decl(declarationsAndAssignments.ts, 14, 14), Decl(declarationsAndAssignments.ts, 17, 7)) } @@ -81,10 +81,10 @@ function f2() { >x : Symbol(x, Decl(declarationsAndAssignments.ts, 24, 20)) >y : Symbol(y, Decl(declarationsAndAssignments.ts, 24, 26)) - var x: number; + var x!: number; >x : Symbol(x, Decl(declarationsAndAssignments.ts, 22, 9), Decl(declarationsAndAssignments.ts, 24, 9), Decl(declarationsAndAssignments.ts, 25, 7)) - var y: string; + var y!: string; >y : Symbol(y, Decl(declarationsAndAssignments.ts, 23, 9), Decl(declarationsAndAssignments.ts, 24, 12), Decl(declarationsAndAssignments.ts, 26, 7)) var { x: a } = { x: 5, y: "hello" }; // Error, no y in target @@ -107,10 +107,10 @@ function f2() { >x : Symbol(x, Decl(declarationsAndAssignments.ts, 29, 26)) >y : Symbol(y, Decl(declarationsAndAssignments.ts, 29, 32)) - var a: number; + var a!: number; >a : Symbol(a, Decl(declarationsAndAssignments.ts, 27, 9), Decl(declarationsAndAssignments.ts, 29, 9), Decl(declarationsAndAssignments.ts, 30, 7)) - var b: string; + var b!: string; >b : Symbol(b, Decl(declarationsAndAssignments.ts, 28, 9), Decl(declarationsAndAssignments.ts, 29, 15), Decl(declarationsAndAssignments.ts, 31, 7)) } @@ -122,13 +122,13 @@ function f3() { >y : Symbol(y, Decl(declarationsAndAssignments.ts, 35, 13), Decl(declarationsAndAssignments.ts, 37, 7)) >z : Symbol(z, Decl(declarationsAndAssignments.ts, 35, 17), Decl(declarationsAndAssignments.ts, 38, 7)) - var x: number; + var x!: number; >x : Symbol(x, Decl(declarationsAndAssignments.ts, 35, 9), Decl(declarationsAndAssignments.ts, 36, 7)) - var y: string; + var y!: string; >y : Symbol(y, Decl(declarationsAndAssignments.ts, 35, 13), Decl(declarationsAndAssignments.ts, 37, 7)) - var z: boolean; + var z!: boolean; >z : Symbol(z, Decl(declarationsAndAssignments.ts, 35, 17), Decl(declarationsAndAssignments.ts, 38, 7)) } @@ -150,13 +150,13 @@ function f4() { >b : Symbol(b, Decl(declarationsAndAssignments.ts, 42, 67)) >a : Symbol(a, Decl(declarationsAndAssignments.ts, 42, 72)) - var x: number; + var x!: number; >x : Symbol(x, Decl(declarationsAndAssignments.ts, 42, 9), Decl(declarationsAndAssignments.ts, 43, 7)) - var y: string; + var y!: string; >y : Symbol(y, Decl(declarationsAndAssignments.ts, 42, 20), Decl(declarationsAndAssignments.ts, 44, 7)) - var z: boolean; + var z!: boolean; >z : Symbol(z, Decl(declarationsAndAssignments.ts, 42, 31), Decl(declarationsAndAssignments.ts, 45, 7)) } @@ -167,10 +167,10 @@ function f6() { >x : Symbol(x, Decl(declarationsAndAssignments.ts, 49, 9), Decl(declarationsAndAssignments.ts, 50, 7)) >y : Symbol(y, Decl(declarationsAndAssignments.ts, 49, 15), Decl(declarationsAndAssignments.ts, 51, 7)) - var x: number; + var x!: number; >x : Symbol(x, Decl(declarationsAndAssignments.ts, 49, 9), Decl(declarationsAndAssignments.ts, 50, 7)) - var y: string; + var y!: string; >y : Symbol(y, Decl(declarationsAndAssignments.ts, 49, 15), Decl(declarationsAndAssignments.ts, 51, 7)) } @@ -181,10 +181,10 @@ function f7() { >x : Symbol(x, Decl(declarationsAndAssignments.ts, 55, 9), Decl(declarationsAndAssignments.ts, 56, 7)) >y : Symbol(y, Decl(declarationsAndAssignments.ts, 55, 15), Decl(declarationsAndAssignments.ts, 57, 7)) - var x: number; + var x!: number; >x : Symbol(x, Decl(declarationsAndAssignments.ts, 55, 9), Decl(declarationsAndAssignments.ts, 56, 7)) - var y: string; + var y!: string; >y : Symbol(y, Decl(declarationsAndAssignments.ts, 55, 15), Decl(declarationsAndAssignments.ts, 57, 7)) } @@ -259,10 +259,10 @@ function f11() { >a : Symbol(a, Decl(declarationsAndAssignments.ts, 77, 9), Decl(declarationsAndAssignments.ts, 78, 9), Decl(declarationsAndAssignments.ts, 79, 9), Decl(declarationsAndAssignments.ts, 80, 9), Decl(declarationsAndAssignments.ts, 81, 7)) >b : Symbol(b, Decl(declarationsAndAssignments.ts, 77, 15), Decl(declarationsAndAssignments.ts, 78, 15), Decl(declarationsAndAssignments.ts, 79, 17), Decl(declarationsAndAssignments.ts, 80, 15), Decl(declarationsAndAssignments.ts, 82, 7)) - var a: number; + var a!: number; >a : Symbol(a, Decl(declarationsAndAssignments.ts, 77, 9), Decl(declarationsAndAssignments.ts, 78, 9), Decl(declarationsAndAssignments.ts, 79, 9), Decl(declarationsAndAssignments.ts, 80, 9), Decl(declarationsAndAssignments.ts, 81, 7)) - var b: string; + var b!: string; >b : Symbol(b, Decl(declarationsAndAssignments.ts, 77, 15), Decl(declarationsAndAssignments.ts, 78, 15), Decl(declarationsAndAssignments.ts, 79, 17), Decl(declarationsAndAssignments.ts, 80, 15), Decl(declarationsAndAssignments.ts, 82, 7)) } @@ -280,16 +280,16 @@ function f12() { >x : Symbol(x, Decl(declarationsAndAssignments.ts, 86, 78)) >y : Symbol(y, Decl(declarationsAndAssignments.ts, 86, 84)) - var a: number; + var a!: number; >a : Symbol(a, Decl(declarationsAndAssignments.ts, 86, 9), Decl(declarationsAndAssignments.ts, 87, 7)) - var b: string; + var b!: string; >b : Symbol(b, Decl(declarationsAndAssignments.ts, 86, 13), Decl(declarationsAndAssignments.ts, 88, 7)) - var x: number; + var x!: number; >x : Symbol(x, Decl(declarationsAndAssignments.ts, 86, 17), Decl(declarationsAndAssignments.ts, 89, 7)) - var c: boolean; + var c!: boolean; >c : Symbol(c, Decl(declarationsAndAssignments.ts, 86, 20), Decl(declarationsAndAssignments.ts, 90, 7)) } @@ -319,13 +319,13 @@ function f14([a = 1, [b = "hello", { x, y: c = false }]]) { >y : Symbol(y) >c : Symbol(c, Decl(declarationsAndAssignments.ts, 98, 39), Decl(declarationsAndAssignments.ts, 101, 7)) - var a: number; + var a!: number; >a : Symbol(a, Decl(declarationsAndAssignments.ts, 98, 14), Decl(declarationsAndAssignments.ts, 99, 7)) - var b: string; + var b!: string; >b : Symbol(b, Decl(declarationsAndAssignments.ts, 98, 22), Decl(declarationsAndAssignments.ts, 100, 7)) - var c: boolean; + var c!: boolean; >c : Symbol(c, Decl(declarationsAndAssignments.ts, 98, 39), Decl(declarationsAndAssignments.ts, 101, 7)) } f14([2, ["abc", { x: 0, y: true }]]); @@ -402,13 +402,13 @@ f17(f15()); function f18() { >f18 : Symbol(f18, Decl(declarationsAndAssignments.ts, 128, 11)) - var a: number; + var a!: number; >a : Symbol(a, Decl(declarationsAndAssignments.ts, 131, 7)) - var b: string; + var b!: string; >b : Symbol(b, Decl(declarationsAndAssignments.ts, 132, 7)) - var aa: number[]; + var aa!: number[]; >aa : Symbol(aa, Decl(declarationsAndAssignments.ts, 133, 7)) ({ a, b } = { a, b }); @@ -477,25 +477,25 @@ function f20(v: [number, number, number]) { >f20 : Symbol(f20, Decl(declarationsAndAssignments.ts, 148, 1)) >v : Symbol(v, Decl(declarationsAndAssignments.ts, 150, 13)) - var x: number; + var x!: number; >x : Symbol(x, Decl(declarationsAndAssignments.ts, 151, 7), Decl(declarationsAndAssignments.ts, 159, 9), Decl(declarationsAndAssignments.ts, 160, 9), Decl(declarationsAndAssignments.ts, 161, 9)) - var y: number; + var y!: number; >y : Symbol(y, Decl(declarationsAndAssignments.ts, 152, 7), Decl(declarationsAndAssignments.ts, 160, 11), Decl(declarationsAndAssignments.ts, 161, 11)) - var z: number; + var z!: number; >z : Symbol(z, Decl(declarationsAndAssignments.ts, 153, 7), Decl(declarationsAndAssignments.ts, 161, 14)) - var a0: []; + var a0!: []; >a0 : Symbol(a0, Decl(declarationsAndAssignments.ts, 154, 7), Decl(declarationsAndAssignments.ts, 161, 17)) - var a1: [number]; + var a1!: [number]; >a1 : Symbol(a1, Decl(declarationsAndAssignments.ts, 155, 7), Decl(declarationsAndAssignments.ts, 160, 14)) - var a2: [number, number]; + var a2!: [number, number]; >a2 : Symbol(a2, Decl(declarationsAndAssignments.ts, 156, 7), Decl(declarationsAndAssignments.ts, 159, 11)) - var a3: [number, number, number]; + var a3!: [number, number, number]; >a3 : Symbol(a3, Decl(declarationsAndAssignments.ts, 157, 7), Decl(declarationsAndAssignments.ts, 158, 9)) var [...a3] = v; @@ -547,25 +547,25 @@ function f21(v: [number, string, boolean]) { >f21 : Symbol(f21, Decl(declarationsAndAssignments.ts, 166, 1)) >v : Symbol(v, Decl(declarationsAndAssignments.ts, 168, 13)) - var x: number; + var x!: number; >x : Symbol(x, Decl(declarationsAndAssignments.ts, 169, 7), Decl(declarationsAndAssignments.ts, 177, 9), Decl(declarationsAndAssignments.ts, 178, 9), Decl(declarationsAndAssignments.ts, 179, 9)) - var y: string; + var y!: string; >y : Symbol(y, Decl(declarationsAndAssignments.ts, 170, 7), Decl(declarationsAndAssignments.ts, 178, 11), Decl(declarationsAndAssignments.ts, 179, 11)) - var z: boolean; + var z!: boolean; >z : Symbol(z, Decl(declarationsAndAssignments.ts, 171, 7), Decl(declarationsAndAssignments.ts, 179, 14)) - var a0: [number, string, boolean]; + var a0!: [number, string, boolean]; >a0 : Symbol(a0, Decl(declarationsAndAssignments.ts, 172, 7), Decl(declarationsAndAssignments.ts, 176, 9)) - var a1: [string, boolean]; + var a1!: [string, boolean]; >a1 : Symbol(a1, Decl(declarationsAndAssignments.ts, 173, 7), Decl(declarationsAndAssignments.ts, 177, 11)) - var a2: [boolean]; + var a2!: [boolean]; >a2 : Symbol(a2, Decl(declarationsAndAssignments.ts, 174, 7), Decl(declarationsAndAssignments.ts, 178, 14)) - var a3: []; + var a3!: []; >a3 : Symbol(a3, Decl(declarationsAndAssignments.ts, 175, 7), Decl(declarationsAndAssignments.ts, 179, 17)) var [...a0] = v; diff --git a/tests/baselines/reference/declarationsAndAssignments.types b/tests/baselines/reference/declarationsAndAssignments.types index 11b4ce7c39580..c9c8a339e0f7a 100644 --- a/tests/baselines/reference/declarationsAndAssignments.types +++ b/tests/baselines/reference/declarationsAndAssignments.types @@ -68,11 +68,11 @@ function f0() { >2 : 2 > : ^ - var x: number; + var x!: number; >x : number > : ^^^^^^ - var y: string; + var y!: string; >y : string > : ^^^^^^ } @@ -115,15 +115,15 @@ function f1() { >a : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ - var x: number | string; + var x!: number | string; >x : string | number > : ^^^^^^^^^^^^^^^ - var y: number | string; + var y!: number | string; >y : string | number > : ^^^^^^^^^^^^^^^ - var z: number | string; + var z!: number | string; >z : string | number > : ^^^^^^^^^^^^^^^ } @@ -188,11 +188,11 @@ function f2() { >"hello" : "hello" > : ^^^^^^^ - var x: number; + var x!: number; >x : number > : ^^^^^^ - var y: string; + var y!: string; >y : string > : ^^^^^^ @@ -248,11 +248,11 @@ function f2() { >"hello" : "hello" > : ^^^^^^^ - var a: number; + var a!: number; >a : number > : ^^^^^^ - var b: string; + var b!: string; >b : string > : ^^^^^^ } @@ -281,15 +281,15 @@ function f3() { >true : true > : ^^^^ - var x: number; + var x!: number; >x : number > : ^^^^^^ - var y: string; + var y!: string; >y : string > : ^^^^^^ - var z: boolean; + var z!: boolean; >z : boolean > : ^^^^^^^ } @@ -338,15 +338,15 @@ function f4() { >true : true > : ^^^^ - var x: number; + var x!: number; >x : number > : ^^^^^^ - var y: string; + var y!: string; >y : string > : ^^^^^^ - var z: boolean; + var z!: boolean; >z : boolean > : ^^^^^^^ } @@ -371,11 +371,11 @@ function f6() { >"hello" : "hello" > : ^^^^^^^ - var x: number; + var x!: number; >x : number > : ^^^^^^ - var y: string; + var y!: string; >y : string > : ^^^^^^ } @@ -400,11 +400,11 @@ function f7() { >"hello" : "hello" > : ^^^^^^^ - var x: number; + var x!: number; >x : number > : ^^^^^^ - var y: string; + var y!: string; >y : string | number > : ^^^^^^^^^^^^^^^ } @@ -566,11 +566,11 @@ function f11() { >"hello" : "hello" > : ^^^^^^^ - var a: number; + var a!: number; >a : number > : ^^^^^^ - var b: string; + var b!: string; >b : string > : ^^^^^^ } @@ -623,19 +623,19 @@ function f12() { >true : true > : ^^^^ - var a: number; + var a!: number; >a : number > : ^^^^^^ - var b: string; + var b!: string; >b : string > : ^^^^^^ - var x: number; + var x!: number; >x : number > : ^^^^^^ - var c: boolean; + var c!: boolean; >c : boolean > : ^^^^^^^ } @@ -701,15 +701,15 @@ function f14([a = 1, [b = "hello", { x, y: c = false }]]) { >false : false > : ^^^^^ - var a: number; + var a!: number; >a : number > : ^^^^^^ - var b: string; + var b!: string; >b : string > : ^^^^^^ - var c: boolean; + var c!: boolean; >c : boolean > : ^^^^^^^ } @@ -907,15 +907,15 @@ function f18() { >f18 : () => void > : ^^^^^^^^^^ - var a: number; + var a!: number; >a : number > : ^^^^^^ - var b: string; + var b!: string; >b : string > : ^^^^^^ - var aa: number[]; + var aa!: number[]; >aa : number[] > : ^^^^^^^^ @@ -1131,31 +1131,31 @@ function f20(v: [number, number, number]) { >v : [number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^ - var x: number; + var x!: number; >x : number > : ^^^^^^ - var y: number; + var y!: number; >y : number > : ^^^^^^ - var z: number; + var z!: number; >z : number > : ^^^^^^ - var a0: []; + var a0!: []; >a0 : [] > : ^^ - var a1: [number]; + var a1!: [number]; >a1 : [number] > : ^^^^^^^^ - var a2: [number, number]; + var a2!: [number, number]; >a2 : [number, number] > : ^^^^^^^^^^^^^^^^ - var a3: [number, number, number]; + var a3!: [number, number, number]; >a3 : [number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1262,31 +1262,31 @@ function f21(v: [number, string, boolean]) { >v : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ - var x: number; + var x!: number; >x : number > : ^^^^^^ - var y: string; + var y!: string; >y : string > : ^^^^^^ - var z: boolean; + var z!: boolean; >z : boolean > : ^^^^^^^ - var a0: [number, string, boolean]; + var a0!: [number, string, boolean]; >a0 : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ - var a1: [string, boolean]; + var a1!: [string, boolean]; >a1 : [string, boolean] > : ^^^^^^^^^^^^^^^^^ - var a2: [boolean]; + var a2!: [boolean]; >a2 : [boolean] > : ^^^^^^^^^ - var a3: []; + var a3!: []; >a3 : [] > : ^^ diff --git a/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.errors.txt b/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.errors.txt index dac2aad2c92fb..d7bcd6f3b03ad 100644 --- a/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.errors.txt +++ b/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.errors.txt @@ -54,10 +54,10 @@ decrementOperatorWithAnyOtherTypeInvalidOperations.ts(72,12): error TS1109: Expr ==== decrementOperatorWithAnyOtherTypeInvalidOperations.ts (52 errors) ==== // -- operator on any type - var ANY1: any; + declare var ANY1: any; var ANY2: any[] = ["", ""]; - var obj: () => {} + declare var obj: () => {} var obj1 = { x: "", y: () => { } }; function foo(): any { var a; diff --git a/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.js b/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.js index 15e149c778387..ad74954fd365f 100644 --- a/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.js +++ b/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.js @@ -2,10 +2,10 @@ //// [decrementOperatorWithAnyOtherTypeInvalidOperations.ts] // -- operator on any type -var ANY1: any; +declare var ANY1: any; var ANY2: any[] = ["", ""]; -var obj: () => {} +declare var obj: () => {} var obj1 = { x: "", y: () => { } }; function foo(): any { var a; @@ -75,10 +75,7 @@ ANY2--; ++ANY2[0]--; //// [decrementOperatorWithAnyOtherTypeInvalidOperations.js] -// -- operator on any type -var ANY1; var ANY2 = ["", ""]; -var obj; var obj1 = { x: "", y: function () { } }; function foo() { var a; diff --git a/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.symbols b/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.symbols index 4315ba14cfa22..3351e6b8d4b43 100644 --- a/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.symbols +++ b/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.symbols @@ -2,14 +2,14 @@ === decrementOperatorWithAnyOtherTypeInvalidOperations.ts === // -- operator on any type -var ANY1: any; ->ANY1 : Symbol(ANY1, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 1, 3)) +declare var ANY1: any; +>ANY1 : Symbol(ANY1, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 1, 11)) var ANY2: any[] = ["", ""]; >ANY2 : Symbol(ANY2, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 2, 3)) -var obj: () => {} ->obj : Symbol(obj, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 4, 3)) +declare var obj: () => {} +>obj : Symbol(obj, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 4, 11)) var obj1 = { x: "", y: () => { } }; >obj1 : Symbol(obj1, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 5, 3)) @@ -66,7 +66,7 @@ var ResultIsNumber3 = --M; var ResultIsNumber4 = --obj; >ResultIsNumber4 : Symbol(ResultIsNumber4, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 26, 3)) ->obj : Symbol(obj, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 4, 3)) +>obj : Symbol(obj, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 4, 11)) var ResultIsNumber5 = --obj1; >ResultIsNumber5 : Symbol(ResultIsNumber5, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 27, 3)) @@ -86,7 +86,7 @@ var ResultIsNumber8 = M--; var ResultIsNumber9 = obj--; >ResultIsNumber9 : Symbol(ResultIsNumber9, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 32, 3)) ->obj : Symbol(obj, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 4, 3)) +>obj : Symbol(obj, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 4, 11)) var ResultIsNumber10 = obj1--; >ResultIsNumber10 : Symbol(ResultIsNumber10, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 33, 3)) @@ -190,13 +190,13 @@ ANY2--; >ANY2 : Symbol(ANY2, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 2, 3)) --ANY1--; ->ANY1 : Symbol(ANY1, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 1, 3)) +>ANY1 : Symbol(ANY1, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 1, 11)) --ANY1++; ->ANY1 : Symbol(ANY1, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 1, 3)) +>ANY1 : Symbol(ANY1, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 1, 11)) ++ANY1--; ->ANY1 : Symbol(ANY1, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 1, 3)) +>ANY1 : Symbol(ANY1, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 1, 11)) --ANY2[0]--; >ANY2 : Symbol(ANY2, Decl(decrementOperatorWithAnyOtherTypeInvalidOperations.ts, 2, 3)) diff --git a/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.types b/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.types index c46452ebe4c16..513a9f14e5e23 100644 --- a/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.types +++ b/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.types @@ -2,7 +2,7 @@ === decrementOperatorWithAnyOtherTypeInvalidOperations.ts === // -- operator on any type -var ANY1: any; +declare var ANY1: any; >ANY1 : any > : ^^^ @@ -16,7 +16,7 @@ var ANY2: any[] = ["", ""]; >"" : "" > : ^^ -var obj: () => {} +declare var obj: () => {} >obj : () => {} > : ^^^^^^ diff --git a/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.errors.txt b/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.errors.txt index 212bcd2a5c2df..3b999eab6d79f 100644 --- a/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.errors.txt +++ b/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.errors.txt @@ -22,7 +22,7 @@ decrementOperatorWithNumberTypeInvalidOperations.ts(46,1): error TS2357: The ope ==== decrementOperatorWithNumberTypeInvalidOperations.ts (20 errors) ==== // -- operator on number type - var NUMBER: number; + declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } diff --git a/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.js b/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.js index ed1a9c60e8128..ea5ed5708c1b9 100644 --- a/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.js +++ b/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.js @@ -2,7 +2,7 @@ //// [decrementOperatorWithNumberTypeInvalidOperations.ts] // -- operator on number type -var NUMBER: number; +declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } @@ -49,8 +49,6 @@ NUMBER1--; foo()--; //// [decrementOperatorWithNumberTypeInvalidOperations.js] -// -- operator on number type -var NUMBER; var NUMBER1 = [1, 2]; function foo() { return 1; } var A = /** @class */ (function () { diff --git a/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.symbols b/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.symbols index bf6b7d623a648..46ea9283d6322 100644 --- a/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.symbols +++ b/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.symbols @@ -2,8 +2,8 @@ === decrementOperatorWithNumberTypeInvalidOperations.ts === // -- operator on number type -var NUMBER: number; ->NUMBER : Symbol(NUMBER, Decl(decrementOperatorWithNumberTypeInvalidOperations.ts, 1, 3)) +declare var NUMBER: number; +>NUMBER : Symbol(NUMBER, Decl(decrementOperatorWithNumberTypeInvalidOperations.ts, 1, 11)) var NUMBER1: number[] = [1, 2]; >NUMBER1 : Symbol(NUMBER1, Decl(decrementOperatorWithNumberTypeInvalidOperations.ts, 2, 3)) @@ -84,8 +84,8 @@ var ResultIsNumber10 = --A.foo(); var ResultIsNumber11 = --(NUMBER + NUMBER); >ResultIsNumber11 : Symbol(ResultIsNumber11, Decl(decrementOperatorWithNumberTypeInvalidOperations.ts, 32, 3)) ->NUMBER : Symbol(NUMBER, Decl(decrementOperatorWithNumberTypeInvalidOperations.ts, 1, 3)) ->NUMBER : Symbol(NUMBER, Decl(decrementOperatorWithNumberTypeInvalidOperations.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(decrementOperatorWithNumberTypeInvalidOperations.ts, 1, 11)) +>NUMBER : Symbol(NUMBER, Decl(decrementOperatorWithNumberTypeInvalidOperations.ts, 1, 11)) var ResultIsNumber12 = foo()--; >ResultIsNumber12 : Symbol(ResultIsNumber12, Decl(decrementOperatorWithNumberTypeInvalidOperations.ts, 34, 3)) @@ -99,8 +99,8 @@ var ResultIsNumber13 = A.foo()--; var ResultIsNumber14 = (NUMBER + NUMBER)--; >ResultIsNumber14 : Symbol(ResultIsNumber14, Decl(decrementOperatorWithNumberTypeInvalidOperations.ts, 36, 3)) ->NUMBER : Symbol(NUMBER, Decl(decrementOperatorWithNumberTypeInvalidOperations.ts, 1, 3)) ->NUMBER : Symbol(NUMBER, Decl(decrementOperatorWithNumberTypeInvalidOperations.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(decrementOperatorWithNumberTypeInvalidOperations.ts, 1, 11)) +>NUMBER : Symbol(NUMBER, Decl(decrementOperatorWithNumberTypeInvalidOperations.ts, 1, 11)) // miss assignment operator --1; diff --git a/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.types b/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.types index dda36256f07f4..4fa7180037715 100644 --- a/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.types +++ b/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.types @@ -2,7 +2,7 @@ === decrementOperatorWithNumberTypeInvalidOperations.ts === // -- operator on number type -var NUMBER: number; +declare var NUMBER: number; >NUMBER : number > : ^^^^^^ diff --git a/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.errors.txt b/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.errors.txt index b4ef56d81e586..17d55c780f0ef 100644 --- a/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.errors.txt +++ b/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.errors.txt @@ -31,7 +31,7 @@ decrementOperatorWithUnsupportedBooleanType.ts(54,11): error TS2356: An arithmet ==== decrementOperatorWithUnsupportedBooleanType.ts (29 errors) ==== // -- operator on boolean type - var BOOLEAN: boolean; + declare var BOOLEAN: boolean; function foo(): boolean { return true; } diff --git a/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.js b/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.js index 5e1d1cdf55bc7..170be44722104 100644 --- a/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.js +++ b/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.js @@ -2,7 +2,7 @@ //// [decrementOperatorWithUnsupportedBooleanType.ts] // -- operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; function foo(): boolean { return true; } @@ -57,8 +57,6 @@ M.n--; objA.a--, M.n--; //// [decrementOperatorWithUnsupportedBooleanType.js] -// -- operator on boolean type -var BOOLEAN; function foo() { return true; } var A = /** @class */ (function () { function A() { diff --git a/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.symbols b/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.symbols index cd777f813b651..99436bdbc8b3a 100644 --- a/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.symbols +++ b/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.symbols @@ -2,11 +2,11 @@ === decrementOperatorWithUnsupportedBooleanType.ts === // -- operator on boolean type -var BOOLEAN: boolean; ->BOOLEAN : Symbol(BOOLEAN, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 3)) +declare var BOOLEAN: boolean; +>BOOLEAN : Symbol(BOOLEAN, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 11)) function foo(): boolean { return true; } ->foo : Symbol(foo, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 29)) class A { >A : Symbol(A, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 3, 40)) @@ -31,11 +31,11 @@ var objA = new A(); // boolean type var var ResultIsNumber1 = --BOOLEAN; >ResultIsNumber1 : Symbol(ResultIsNumber1, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 16, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 11)) var ResultIsNumber2 = BOOLEAN--; >ResultIsNumber2 : Symbol(ResultIsNumber2, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 18, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 11)) // boolean type literal var ResultIsNumber3 = --true; @@ -83,7 +83,7 @@ var ResultIsNumber10 = --M.n; var ResultIsNumber11 = --foo(); >ResultIsNumber11 : Symbol(ResultIsNumber11, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 32, 3)) ->foo : Symbol(foo, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 29)) var ResultIsNumber12 = --A.foo(); >ResultIsNumber12 : Symbol(ResultIsNumber12, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 33, 3)) @@ -93,7 +93,7 @@ var ResultIsNumber12 = --A.foo(); var ResultIsNumber13 = foo()--; >ResultIsNumber13 : Symbol(ResultIsNumber13, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 35, 3)) ->foo : Symbol(foo, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 29)) var ResultIsNumber14 = A.foo()--; >ResultIsNumber14 : Symbol(ResultIsNumber14, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 36, 3)) @@ -116,10 +116,10 @@ var ResultIsNumber16 = M.n--; // miss assignment operators --true; --BOOLEAN; ->BOOLEAN : Symbol(BOOLEAN, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 11)) --foo(); ->foo : Symbol(foo, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 29)) --objA.a; >objA.a : Symbol(A.a, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 5, 9)) @@ -141,10 +141,10 @@ var ResultIsNumber16 = M.n--; true--; BOOLEAN--; ->BOOLEAN : Symbol(BOOLEAN, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 11)) foo()--; ->foo : Symbol(foo, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 1, 29)) objA.a--; >objA.a : Symbol(A.a, Decl(decrementOperatorWithUnsupportedBooleanType.ts, 5, 9)) diff --git a/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.types b/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.types index bc878233a3f37..06997f86a9699 100644 --- a/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.types +++ b/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.types @@ -2,7 +2,7 @@ === decrementOperatorWithUnsupportedBooleanType.ts === // -- operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; >BOOLEAN : boolean > : ^^^^^^^ diff --git a/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.errors.txt b/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.errors.txt index 4af5b2599b8b4..938fd490568a5 100644 --- a/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.errors.txt +++ b/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.errors.txt @@ -41,7 +41,7 @@ decrementOperatorWithUnsupportedStringType.ts(65,11): error TS2356: An arithmeti ==== decrementOperatorWithUnsupportedStringType.ts (39 errors) ==== // -- operator on string type - var STRING: string; + declare var STRING: string; var STRING1: string[] = ["", ""]; function foo(): string { return ""; } diff --git a/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.js b/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.js index 7f56d22342f74..7464e7761d8ed 100644 --- a/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.js +++ b/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.js @@ -2,7 +2,7 @@ //// [decrementOperatorWithUnsupportedStringType.ts] // -- operator on string type -var STRING: string; +declare var STRING: string; var STRING1: string[] = ["", ""]; function foo(): string { return ""; } @@ -68,8 +68,6 @@ M.n--; objA.a--, M.n--; //// [decrementOperatorWithUnsupportedStringType.js] -// -- operator on string type -var STRING; var STRING1 = ["", ""]; function foo() { return ""; } var A = /** @class */ (function () { diff --git a/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.symbols b/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.symbols index 5ece05a621a89..d4377bf9fb7c3 100644 --- a/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.symbols +++ b/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.symbols @@ -2,8 +2,8 @@ === decrementOperatorWithUnsupportedStringType.ts === // -- operator on string type -var STRING: string; ->STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 3)) +declare var STRING: string; +>STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 11)) var STRING1: string[] = ["", ""]; >STRING1 : Symbol(STRING1, Decl(decrementOperatorWithUnsupportedStringType.ts, 2, 3)) @@ -34,7 +34,7 @@ var objA = new A(); // string type var var ResultIsNumber1 = --STRING; >ResultIsNumber1 : Symbol(ResultIsNumber1, Decl(decrementOperatorWithUnsupportedStringType.ts, 17, 3)) ->STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 11)) var ResultIsNumber2 = --STRING1; >ResultIsNumber2 : Symbol(ResultIsNumber2, Decl(decrementOperatorWithUnsupportedStringType.ts, 18, 3)) @@ -42,7 +42,7 @@ var ResultIsNumber2 = --STRING1; var ResultIsNumber3 = STRING--; >ResultIsNumber3 : Symbol(ResultIsNumber3, Decl(decrementOperatorWithUnsupportedStringType.ts, 20, 3)) ->STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 11)) var ResultIsNumber4 = STRING1--; >ResultIsNumber4 : Symbol(ResultIsNumber4, Decl(decrementOperatorWithUnsupportedStringType.ts, 21, 3)) @@ -108,8 +108,8 @@ var ResultIsNumber15 = --A.foo(); var ResultIsNumber16 = --(STRING + STRING); >ResultIsNumber16 : Symbol(ResultIsNumber16, Decl(decrementOperatorWithUnsupportedStringType.ts, 38, 3)) ->STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 3)) ->STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 11)) +>STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 11)) var ResultIsNumber17 = objA.a--; >ResultIsNumber17 : Symbol(ResultIsNumber17, Decl(decrementOperatorWithUnsupportedStringType.ts, 40, 3)) @@ -139,13 +139,13 @@ var ResultIsNumber21 = A.foo()--; var ResultIsNumber22 = (STRING + STRING)--; >ResultIsNumber22 : Symbol(ResultIsNumber22, Decl(decrementOperatorWithUnsupportedStringType.ts, 45, 3)) ->STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 3)) ->STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 11)) +>STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 11)) // miss assignment operators --""; --STRING; ->STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 11)) --STRING1; >STRING1 : Symbol(STRING1, Decl(decrementOperatorWithUnsupportedStringType.ts, 2, 3)) @@ -176,7 +176,7 @@ var ResultIsNumber22 = (STRING + STRING)--; ""--; STRING--; ->STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(decrementOperatorWithUnsupportedStringType.ts, 1, 11)) STRING1--; >STRING1 : Symbol(STRING1, Decl(decrementOperatorWithUnsupportedStringType.ts, 2, 3)) diff --git a/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.types b/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.types index feeea54376ef6..9d636a28d9279 100644 --- a/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.types +++ b/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.types @@ -2,7 +2,7 @@ === decrementOperatorWithUnsupportedStringType.ts === // -- operator on string type -var STRING: string; +declare var STRING: string; >STRING : string > : ^^^^^^ diff --git a/tests/baselines/reference/deleteOperatorWithAnyOtherType.errors.txt b/tests/baselines/reference/deleteOperatorWithAnyOtherType.errors.txt index 2bfa9fb37ce6f..82266312f7190 100644 --- a/tests/baselines/reference/deleteOperatorWithAnyOtherType.errors.txt +++ b/tests/baselines/reference/deleteOperatorWithAnyOtherType.errors.txt @@ -28,10 +28,10 @@ deleteOperatorWithAnyOtherType.ts(57,8): error TS2703: The operand of a 'delete' ==== deleteOperatorWithAnyOtherType.ts (25 errors) ==== // delete operator on any type - var ANY: any; - var ANY1; + declare var ANY: any; + declare var ANY1; var ANY2: any[] = ["", ""]; - var obj: () => {}; + declare var obj: () => {}; var obj1 = { x: "", y: () => { }}; function foo(): any { var a; diff --git a/tests/baselines/reference/deleteOperatorWithAnyOtherType.js b/tests/baselines/reference/deleteOperatorWithAnyOtherType.js index 558121f113dc8..96c6a1e9532ee 100644 --- a/tests/baselines/reference/deleteOperatorWithAnyOtherType.js +++ b/tests/baselines/reference/deleteOperatorWithAnyOtherType.js @@ -3,10 +3,10 @@ //// [deleteOperatorWithAnyOtherType.ts] // delete operator on any type -var ANY: any; -var ANY1; +declare var ANY: any; +declare var ANY1; var ANY2: any[] = ["", ""]; -var obj: () => {}; +declare var obj: () => {}; var obj1 = { x: "", y: () => { }}; function foo(): any { var a; @@ -65,10 +65,7 @@ delete M.n; //// [deleteOperatorWithAnyOtherType.js] // delete operator on any type -var ANY; -var ANY1; var ANY2 = ["", ""]; -var obj; var obj1 = { x: "", y: function () { } }; function foo() { var a; diff --git a/tests/baselines/reference/deleteOperatorWithAnyOtherType.symbols b/tests/baselines/reference/deleteOperatorWithAnyOtherType.symbols index d76ad90cadfa9..e307ee95891ed 100644 --- a/tests/baselines/reference/deleteOperatorWithAnyOtherType.symbols +++ b/tests/baselines/reference/deleteOperatorWithAnyOtherType.symbols @@ -3,17 +3,17 @@ === deleteOperatorWithAnyOtherType.ts === // delete operator on any type -var ANY: any; ->ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 3)) +declare var ANY: any; +>ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) -var ANY1; ->ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 3)) +declare var ANY1; +>ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) var ANY2: any[] = ["", ""]; >ANY2 : Symbol(ANY2, Decl(deleteOperatorWithAnyOtherType.ts, 4, 3)) -var obj: () => {}; ->obj : Symbol(obj, Decl(deleteOperatorWithAnyOtherType.ts, 5, 3)) +declare var obj: () => {}; +>obj : Symbol(obj, Decl(deleteOperatorWithAnyOtherType.ts, 5, 11)) var obj1 = { x: "", y: () => { }}; >obj1 : Symbol(obj1, Decl(deleteOperatorWithAnyOtherType.ts, 6, 3)) @@ -58,7 +58,7 @@ var objA = new A(); // any type var var ResultIsBoolean1 = delete ANY1; >ResultIsBoolean1 : Symbol(ResultIsBoolean1, Decl(deleteOperatorWithAnyOtherType.ts, 24, 3)) ->ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 3)) +>ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) var ResultIsBoolean2 = delete ANY2; >ResultIsBoolean2 : Symbol(ResultIsBoolean2, Decl(deleteOperatorWithAnyOtherType.ts, 25, 3)) @@ -74,7 +74,7 @@ var ResultIsBoolean4 = delete M; var ResultIsBoolean5 = delete obj; >ResultIsBoolean5 : Symbol(ResultIsBoolean5, Decl(deleteOperatorWithAnyOtherType.ts, 28, 3)) ->obj : Symbol(obj, Decl(deleteOperatorWithAnyOtherType.ts, 5, 3)) +>obj : Symbol(obj, Decl(deleteOperatorWithAnyOtherType.ts, 5, 11)) var ResultIsBoolean6 = delete obj1; >ResultIsBoolean6 : Symbol(ResultIsBoolean6, Decl(deleteOperatorWithAnyOtherType.ts, 29, 3)) @@ -129,8 +129,8 @@ var ResultIsBoolean15 = delete A.foo(); var ResultIsBoolean16 = delete (ANY + ANY1); >ResultIsBoolean16 : Symbol(ResultIsBoolean16, Decl(deleteOperatorWithAnyOtherType.ts, 43, 3)) ->ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 3)) ->ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 3)) +>ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) var ResultIsBoolean17 = delete (null + undefined); >ResultIsBoolean17 : Symbol(ResultIsBoolean17, Decl(deleteOperatorWithAnyOtherType.ts, 44, 3)) @@ -147,26 +147,26 @@ var ResultIsBoolean19 = delete (undefined + undefined); // multiple delete operators var ResultIsBoolean20 = delete delete ANY; >ResultIsBoolean20 : Symbol(ResultIsBoolean20, Decl(deleteOperatorWithAnyOtherType.ts, 49, 3)) ->ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 3)) +>ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) var ResultIsBoolean21 = delete delete delete (ANY + ANY1); >ResultIsBoolean21 : Symbol(ResultIsBoolean21, Decl(deleteOperatorWithAnyOtherType.ts, 50, 3)) ->ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 3)) ->ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 3)) +>ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) // miss assignment operators delete ANY; ->ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 3)) +>ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) delete ANY1; ->ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 3)) +>ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) delete ANY2[0]; >ANY2 : Symbol(ANY2, Decl(deleteOperatorWithAnyOtherType.ts, 4, 3)) delete ANY, ANY1; ->ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 3)) ->ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 3)) +>ANY : Symbol(ANY, Decl(deleteOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(deleteOperatorWithAnyOtherType.ts, 3, 11)) delete obj1.x; >obj1.x : Symbol(x, Decl(deleteOperatorWithAnyOtherType.ts, 6, 12)) diff --git a/tests/baselines/reference/deleteOperatorWithAnyOtherType.types b/tests/baselines/reference/deleteOperatorWithAnyOtherType.types index aa521d6c4c79d..f86f73f992e5d 100644 --- a/tests/baselines/reference/deleteOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/deleteOperatorWithAnyOtherType.types @@ -3,11 +3,11 @@ === deleteOperatorWithAnyOtherType.ts === // delete operator on any type -var ANY: any; +declare var ANY: any; >ANY : any > : ^^^ -var ANY1; +declare var ANY1; >ANY1 : any > : ^^^ @@ -21,7 +21,7 @@ var ANY2: any[] = ["", ""]; >"" : "" > : ^^ -var obj: () => {}; +declare var obj: () => {}; >obj : () => {} > : ^^^^^^ diff --git a/tests/baselines/reference/deleteOperatorWithBooleanType.errors.txt b/tests/baselines/reference/deleteOperatorWithBooleanType.errors.txt index f46de29b79ebf..57563e975fbf2 100644 --- a/tests/baselines/reference/deleteOperatorWithBooleanType.errors.txt +++ b/tests/baselines/reference/deleteOperatorWithBooleanType.errors.txt @@ -13,7 +13,7 @@ deleteOperatorWithBooleanType.ts(36,8): error TS2703: The operand of a 'delete' ==== deleteOperatorWithBooleanType.ts (11 errors) ==== // delete operator on boolean type - var BOOLEAN: boolean; + declare var BOOLEAN: boolean; function foo(): boolean { return true; } diff --git a/tests/baselines/reference/deleteOperatorWithBooleanType.js b/tests/baselines/reference/deleteOperatorWithBooleanType.js index dc38d82c5d198..b9041dc353ed3 100644 --- a/tests/baselines/reference/deleteOperatorWithBooleanType.js +++ b/tests/baselines/reference/deleteOperatorWithBooleanType.js @@ -2,7 +2,7 @@ //// [deleteOperatorWithBooleanType.ts] // delete operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; function foo(): boolean { return true; } @@ -41,8 +41,6 @@ delete objA.a; delete M.n; //// [deleteOperatorWithBooleanType.js] -// delete operator on boolean type -var BOOLEAN; function foo() { return true; } var A = /** @class */ (function () { function A() { diff --git a/tests/baselines/reference/deleteOperatorWithBooleanType.symbols b/tests/baselines/reference/deleteOperatorWithBooleanType.symbols index 2e32bf4a01c60..21d58783f26e3 100644 --- a/tests/baselines/reference/deleteOperatorWithBooleanType.symbols +++ b/tests/baselines/reference/deleteOperatorWithBooleanType.symbols @@ -2,11 +2,11 @@ === deleteOperatorWithBooleanType.ts === // delete operator on boolean type -var BOOLEAN: boolean; ->BOOLEAN : Symbol(BOOLEAN, Decl(deleteOperatorWithBooleanType.ts, 1, 3)) +declare var BOOLEAN: boolean; +>BOOLEAN : Symbol(BOOLEAN, Decl(deleteOperatorWithBooleanType.ts, 1, 11)) function foo(): boolean { return true; } ->foo : Symbol(foo, Decl(deleteOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(deleteOperatorWithBooleanType.ts, 1, 29)) class A { >A : Symbol(A, Decl(deleteOperatorWithBooleanType.ts, 3, 40)) @@ -31,7 +31,7 @@ var objA = new A(); // boolean type var var ResultIsBoolean1 = delete BOOLEAN; >ResultIsBoolean1 : Symbol(ResultIsBoolean1, Decl(deleteOperatorWithBooleanType.ts, 16, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(deleteOperatorWithBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(deleteOperatorWithBooleanType.ts, 1, 11)) // boolean type literal var ResultIsBoolean2 = delete true; @@ -57,7 +57,7 @@ var ResultIsBoolean5 = delete M.n; var ResultIsBoolean6 = delete foo(); >ResultIsBoolean6 : Symbol(ResultIsBoolean6, Decl(deleteOperatorWithBooleanType.ts, 25, 3)) ->foo : Symbol(foo, Decl(deleteOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(deleteOperatorWithBooleanType.ts, 1, 29)) var ResultIsBoolean7 = delete A.foo(); >ResultIsBoolean7 : Symbol(ResultIsBoolean7, Decl(deleteOperatorWithBooleanType.ts, 26, 3)) @@ -68,15 +68,15 @@ var ResultIsBoolean7 = delete A.foo(); // multiple delete operator var ResultIsBoolean8 = delete delete BOOLEAN; >ResultIsBoolean8 : Symbol(ResultIsBoolean8, Decl(deleteOperatorWithBooleanType.ts, 29, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(deleteOperatorWithBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(deleteOperatorWithBooleanType.ts, 1, 11)) // miss assignment operators delete true; delete BOOLEAN; ->BOOLEAN : Symbol(BOOLEAN, Decl(deleteOperatorWithBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(deleteOperatorWithBooleanType.ts, 1, 11)) delete foo(); ->foo : Symbol(foo, Decl(deleteOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(deleteOperatorWithBooleanType.ts, 1, 29)) delete true, false; delete objA.a; diff --git a/tests/baselines/reference/deleteOperatorWithBooleanType.types b/tests/baselines/reference/deleteOperatorWithBooleanType.types index 76a02dd23bf0b..e3a5fb5e544c2 100644 --- a/tests/baselines/reference/deleteOperatorWithBooleanType.types +++ b/tests/baselines/reference/deleteOperatorWithBooleanType.types @@ -2,7 +2,7 @@ === deleteOperatorWithBooleanType.ts === // delete operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; >BOOLEAN : boolean > : ^^^^^^^ diff --git a/tests/baselines/reference/deleteOperatorWithNumberType.errors.txt b/tests/baselines/reference/deleteOperatorWithNumberType.errors.txt index 204d920a189fd..86d0813cfc9dc 100644 --- a/tests/baselines/reference/deleteOperatorWithNumberType.errors.txt +++ b/tests/baselines/reference/deleteOperatorWithNumberType.errors.txt @@ -19,7 +19,7 @@ deleteOperatorWithNumberType.ts(42,8): error TS2703: The operand of a 'delete' o ==== deleteOperatorWithNumberType.ts (17 errors) ==== // delete operator on number type - var NUMBER: number; + declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } diff --git a/tests/baselines/reference/deleteOperatorWithNumberType.js b/tests/baselines/reference/deleteOperatorWithNumberType.js index 7968bf2208e89..e86c940f50d1c 100644 --- a/tests/baselines/reference/deleteOperatorWithNumberType.js +++ b/tests/baselines/reference/deleteOperatorWithNumberType.js @@ -2,7 +2,7 @@ //// [deleteOperatorWithNumberType.ts] // delete operator on number type -var NUMBER: number; +declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } @@ -48,8 +48,6 @@ delete M.n; delete objA.a, M.n; //// [deleteOperatorWithNumberType.js] -// delete operator on number type -var NUMBER; var NUMBER1 = [1, 2]; function foo() { return 1; } var A = /** @class */ (function () { diff --git a/tests/baselines/reference/deleteOperatorWithNumberType.symbols b/tests/baselines/reference/deleteOperatorWithNumberType.symbols index 9445b513fd68a..92d0109390253 100644 --- a/tests/baselines/reference/deleteOperatorWithNumberType.symbols +++ b/tests/baselines/reference/deleteOperatorWithNumberType.symbols @@ -2,8 +2,8 @@ === deleteOperatorWithNumberType.ts === // delete operator on number type -var NUMBER: number; ->NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 3)) +declare var NUMBER: number; +>NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 11)) var NUMBER1: number[] = [1, 2]; >NUMBER1 : Symbol(NUMBER1, Decl(deleteOperatorWithNumberType.ts, 2, 3)) @@ -34,7 +34,7 @@ var objA = new A(); // number type var var ResultIsBoolean1 = delete NUMBER; >ResultIsBoolean1 : Symbol(ResultIsBoolean1, Decl(deleteOperatorWithNumberType.ts, 17, 3)) ->NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 11)) var ResultIsBoolean2 = delete NUMBER1; >ResultIsBoolean2 : Symbol(ResultIsBoolean2, Decl(deleteOperatorWithNumberType.ts, 18, 3)) @@ -85,23 +85,23 @@ var ResultIsBoolean10 = delete A.foo(); var ResultIsBoolean11 = delete (NUMBER + NUMBER); >ResultIsBoolean11 : Symbol(ResultIsBoolean11, Decl(deleteOperatorWithNumberType.ts, 31, 3)) ->NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 3)) ->NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 11)) +>NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 11)) // multiple delete operator var ResultIsBoolean12 = delete delete NUMBER; >ResultIsBoolean12 : Symbol(ResultIsBoolean12, Decl(deleteOperatorWithNumberType.ts, 34, 3)) ->NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 11)) var ResultIsBoolean13 = delete delete delete (NUMBER + NUMBER); >ResultIsBoolean13 : Symbol(ResultIsBoolean13, Decl(deleteOperatorWithNumberType.ts, 35, 3)) ->NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 3)) ->NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 11)) +>NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 11)) // miss assignment operators delete 1; delete NUMBER; ->NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(deleteOperatorWithNumberType.ts, 1, 11)) delete NUMBER1; >NUMBER1 : Symbol(NUMBER1, Decl(deleteOperatorWithNumberType.ts, 2, 3)) diff --git a/tests/baselines/reference/deleteOperatorWithNumberType.types b/tests/baselines/reference/deleteOperatorWithNumberType.types index 4832c43be4713..a0ff1e842aec4 100644 --- a/tests/baselines/reference/deleteOperatorWithNumberType.types +++ b/tests/baselines/reference/deleteOperatorWithNumberType.types @@ -2,7 +2,7 @@ === deleteOperatorWithNumberType.ts === // delete operator on number type -var NUMBER: number; +declare var NUMBER: number; >NUMBER : number > : ^^^^^^ diff --git a/tests/baselines/reference/deleteOperatorWithStringType.errors.txt b/tests/baselines/reference/deleteOperatorWithStringType.errors.txt index 02a6dee07181e..346ea15e1e077 100644 --- a/tests/baselines/reference/deleteOperatorWithStringType.errors.txt +++ b/tests/baselines/reference/deleteOperatorWithStringType.errors.txt @@ -20,7 +20,7 @@ deleteOperatorWithStringType.ts(43,8): error TS2703: The operand of a 'delete' o ==== deleteOperatorWithStringType.ts (18 errors) ==== // delete operator on string type - var STRING: string; + declare var STRING: string; var STRING1: string[] = ["", "abc"]; function foo(): string { return "abc"; } diff --git a/tests/baselines/reference/deleteOperatorWithStringType.js b/tests/baselines/reference/deleteOperatorWithStringType.js index b77be424eb784..60e7ecd779ac9 100644 --- a/tests/baselines/reference/deleteOperatorWithStringType.js +++ b/tests/baselines/reference/deleteOperatorWithStringType.js @@ -2,7 +2,7 @@ //// [deleteOperatorWithStringType.ts] // delete operator on string type -var STRING: string; +declare var STRING: string; var STRING1: string[] = ["", "abc"]; function foo(): string { return "abc"; } @@ -47,8 +47,6 @@ delete foo(); delete objA.a,M.n; //// [deleteOperatorWithStringType.js] -// delete operator on string type -var STRING; var STRING1 = ["", "abc"]; function foo() { return "abc"; } var A = /** @class */ (function () { diff --git a/tests/baselines/reference/deleteOperatorWithStringType.symbols b/tests/baselines/reference/deleteOperatorWithStringType.symbols index 5740ae6f151e6..f6a631c298ecc 100644 --- a/tests/baselines/reference/deleteOperatorWithStringType.symbols +++ b/tests/baselines/reference/deleteOperatorWithStringType.symbols @@ -2,8 +2,8 @@ === deleteOperatorWithStringType.ts === // delete operator on string type -var STRING: string; ->STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 3)) +declare var STRING: string; +>STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 11)) var STRING1: string[] = ["", "abc"]; >STRING1 : Symbol(STRING1, Decl(deleteOperatorWithStringType.ts, 2, 3)) @@ -34,7 +34,7 @@ var objA = new A(); // string type var var ResultIsBoolean1 = delete STRING; >ResultIsBoolean1 : Symbol(ResultIsBoolean1, Decl(deleteOperatorWithStringType.ts, 17, 3)) ->STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 11)) var ResultIsBoolean2 = delete STRING1; >ResultIsBoolean2 : Symbol(ResultIsBoolean2, Decl(deleteOperatorWithStringType.ts, 18, 3)) @@ -85,29 +85,29 @@ var ResultIsBoolean10 = delete A.foo(); var ResultIsBoolean11 = delete (STRING + STRING); >ResultIsBoolean11 : Symbol(ResultIsBoolean11, Decl(deleteOperatorWithStringType.ts, 31, 3)) ->STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 3)) ->STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 11)) +>STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 11)) var ResultIsBoolean12 = delete STRING.charAt(0); >ResultIsBoolean12 : Symbol(ResultIsBoolean12, Decl(deleteOperatorWithStringType.ts, 32, 3)) >STRING.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) ->STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 11)) >charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) // multiple delete operator var ResultIsBoolean13 = delete delete STRING; >ResultIsBoolean13 : Symbol(ResultIsBoolean13, Decl(deleteOperatorWithStringType.ts, 35, 3)) ->STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 11)) var ResultIsBoolean14 = delete delete delete (STRING + STRING); >ResultIsBoolean14 : Symbol(ResultIsBoolean14, Decl(deleteOperatorWithStringType.ts, 36, 3)) ->STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 3)) ->STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 11)) +>STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 11)) // miss assignment operators delete ""; delete STRING; ->STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 11)) delete STRING1; >STRING1 : Symbol(STRING1, Decl(deleteOperatorWithStringType.ts, 2, 3)) diff --git a/tests/baselines/reference/deleteOperatorWithStringType.types b/tests/baselines/reference/deleteOperatorWithStringType.types index b8eae1af69595..1eb97b3b1296b 100644 --- a/tests/baselines/reference/deleteOperatorWithStringType.types +++ b/tests/baselines/reference/deleteOperatorWithStringType.types @@ -2,7 +2,7 @@ === deleteOperatorWithStringType.ts === // delete operator on string type -var STRING: string; +declare var STRING: string; >STRING : string > : ^^^^^^ diff --git a/tests/baselines/reference/derivedClassTransitivity.errors.txt b/tests/baselines/reference/derivedClassTransitivity.errors.txt index 35884f41f5bf8..a486c4bcca21d 100644 --- a/tests/baselines/reference/derivedClassTransitivity.errors.txt +++ b/tests/baselines/reference/derivedClassTransitivity.errors.txt @@ -20,9 +20,9 @@ derivedClassTransitivity.ts(18,1): error TS2322: Type 'E' is not assignable to t foo(x?: string) { } // ok to add optional parameters } - var c: C; - var d: D; - var e: E; + declare var c: C; + declare var d: D; + declare var e: E; c = e; ~ !!! error TS2322: Type 'E' is not assignable to type 'C'. diff --git a/tests/baselines/reference/derivedClassTransitivity.js b/tests/baselines/reference/derivedClassTransitivity.js index d2de43fd1912b..931afb99a96f3 100644 --- a/tests/baselines/reference/derivedClassTransitivity.js +++ b/tests/baselines/reference/derivedClassTransitivity.js @@ -15,9 +15,9 @@ class E extends D { foo(x?: string) { } // ok to add optional parameters } -var c: C; -var d: D; -var e: E; +declare var c: C; +declare var d: D; +declare var e: E; c = e; var r = c.foo(1); var r2 = e.foo(''); @@ -61,9 +61,6 @@ var E = /** @class */ (function (_super) { E.prototype.foo = function (x) { }; // ok to add optional parameters return E; }(D)); -var c; -var d; -var e; c = e; var r = c.foo(1); var r2 = e.foo(''); diff --git a/tests/baselines/reference/derivedClassTransitivity.symbols b/tests/baselines/reference/derivedClassTransitivity.symbols index f1b9953ecfc57..d56bee96dcc2b 100644 --- a/tests/baselines/reference/derivedClassTransitivity.symbols +++ b/tests/baselines/reference/derivedClassTransitivity.symbols @@ -28,31 +28,31 @@ class E extends D { >x : Symbol(x, Decl(derivedClassTransitivity.ts, 11, 8)) } -var c: C; ->c : Symbol(c, Decl(derivedClassTransitivity.ts, 14, 3)) +declare var c: C; +>c : Symbol(c, Decl(derivedClassTransitivity.ts, 14, 11)) >C : Symbol(C, Decl(derivedClassTransitivity.ts, 0, 0)) -var d: D; ->d : Symbol(d, Decl(derivedClassTransitivity.ts, 15, 3)) +declare var d: D; +>d : Symbol(d, Decl(derivedClassTransitivity.ts, 15, 11)) >D : Symbol(D, Decl(derivedClassTransitivity.ts, 4, 1)) -var e: E; ->e : Symbol(e, Decl(derivedClassTransitivity.ts, 16, 3)) +declare var e: E; +>e : Symbol(e, Decl(derivedClassTransitivity.ts, 16, 11)) >E : Symbol(E, Decl(derivedClassTransitivity.ts, 8, 1)) c = e; ->c : Symbol(c, Decl(derivedClassTransitivity.ts, 14, 3)) ->e : Symbol(e, Decl(derivedClassTransitivity.ts, 16, 3)) +>c : Symbol(c, Decl(derivedClassTransitivity.ts, 14, 11)) +>e : Symbol(e, Decl(derivedClassTransitivity.ts, 16, 11)) var r = c.foo(1); >r : Symbol(r, Decl(derivedClassTransitivity.ts, 18, 3)) >c.foo : Symbol(C.foo, Decl(derivedClassTransitivity.ts, 2, 9)) ->c : Symbol(c, Decl(derivedClassTransitivity.ts, 14, 3)) +>c : Symbol(c, Decl(derivedClassTransitivity.ts, 14, 11)) >foo : Symbol(C.foo, Decl(derivedClassTransitivity.ts, 2, 9)) var r2 = e.foo(''); >r2 : Symbol(r2, Decl(derivedClassTransitivity.ts, 19, 3)) >e.foo : Symbol(E.foo, Decl(derivedClassTransitivity.ts, 10, 19)) ->e : Symbol(e, Decl(derivedClassTransitivity.ts, 16, 3)) +>e : Symbol(e, Decl(derivedClassTransitivity.ts, 16, 11)) >foo : Symbol(E.foo, Decl(derivedClassTransitivity.ts, 10, 19)) diff --git a/tests/baselines/reference/derivedClassTransitivity.types b/tests/baselines/reference/derivedClassTransitivity.types index b3547691f4681..92b7ad8cb7bc0 100644 --- a/tests/baselines/reference/derivedClassTransitivity.types +++ b/tests/baselines/reference/derivedClassTransitivity.types @@ -38,15 +38,15 @@ class E extends D { > : ^^^^^^ } -var c: C; +declare var c: C; >c : C > : ^ -var d: D; +declare var d: D; >d : D > : ^ -var e: E; +declare var e: E; >e : E > : ^ diff --git a/tests/baselines/reference/derivedClassTransitivity2.errors.txt b/tests/baselines/reference/derivedClassTransitivity2.errors.txt index 00f73edd9a5c1..836c261ade739 100644 --- a/tests/baselines/reference/derivedClassTransitivity2.errors.txt +++ b/tests/baselines/reference/derivedClassTransitivity2.errors.txt @@ -20,9 +20,9 @@ derivedClassTransitivity2.ts(18,1): error TS2322: Type 'E' is not assignable to foo(x: number, y?: string) { } // ok to add optional parameters } - var c: C; - var d: D; - var e: E; + declare var c: C; + declare var d: D; + declare var e: E; c = e; ~ !!! error TS2322: Type 'E' is not assignable to type 'C'. diff --git a/tests/baselines/reference/derivedClassTransitivity2.js b/tests/baselines/reference/derivedClassTransitivity2.js index 2ccba211a6748..558dd41264f36 100644 --- a/tests/baselines/reference/derivedClassTransitivity2.js +++ b/tests/baselines/reference/derivedClassTransitivity2.js @@ -15,9 +15,9 @@ class E extends D { foo(x: number, y?: string) { } // ok to add optional parameters } -var c: C; -var d: D; -var e: E; +declare var c: C; +declare var d: D; +declare var e: E; c = e; var r = c.foo(1, 1); var r2 = e.foo(1, ''); @@ -61,9 +61,6 @@ var E = /** @class */ (function (_super) { E.prototype.foo = function (x, y) { }; // ok to add optional parameters return E; }(D)); -var c; -var d; -var e; c = e; var r = c.foo(1, 1); var r2 = e.foo(1, ''); diff --git a/tests/baselines/reference/derivedClassTransitivity2.symbols b/tests/baselines/reference/derivedClassTransitivity2.symbols index 4543595bae6dd..d4028ef2afd94 100644 --- a/tests/baselines/reference/derivedClassTransitivity2.symbols +++ b/tests/baselines/reference/derivedClassTransitivity2.symbols @@ -31,31 +31,31 @@ class E extends D { >y : Symbol(y, Decl(derivedClassTransitivity2.ts, 11, 18)) } -var c: C; ->c : Symbol(c, Decl(derivedClassTransitivity2.ts, 14, 3)) +declare var c: C; +>c : Symbol(c, Decl(derivedClassTransitivity2.ts, 14, 11)) >C : Symbol(C, Decl(derivedClassTransitivity2.ts, 0, 0)) -var d: D; ->d : Symbol(d, Decl(derivedClassTransitivity2.ts, 15, 3)) +declare var d: D; +>d : Symbol(d, Decl(derivedClassTransitivity2.ts, 15, 11)) >D : Symbol(D, Decl(derivedClassTransitivity2.ts, 4, 1)) -var e: E; ->e : Symbol(e, Decl(derivedClassTransitivity2.ts, 16, 3)) +declare var e: E; +>e : Symbol(e, Decl(derivedClassTransitivity2.ts, 16, 11)) >E : Symbol(E, Decl(derivedClassTransitivity2.ts, 8, 1)) c = e; ->c : Symbol(c, Decl(derivedClassTransitivity2.ts, 14, 3)) ->e : Symbol(e, Decl(derivedClassTransitivity2.ts, 16, 3)) +>c : Symbol(c, Decl(derivedClassTransitivity2.ts, 14, 11)) +>e : Symbol(e, Decl(derivedClassTransitivity2.ts, 16, 11)) var r = c.foo(1, 1); >r : Symbol(r, Decl(derivedClassTransitivity2.ts, 18, 3)) >c.foo : Symbol(C.foo, Decl(derivedClassTransitivity2.ts, 2, 9)) ->c : Symbol(c, Decl(derivedClassTransitivity2.ts, 14, 3)) +>c : Symbol(c, Decl(derivedClassTransitivity2.ts, 14, 11)) >foo : Symbol(C.foo, Decl(derivedClassTransitivity2.ts, 2, 9)) var r2 = e.foo(1, ''); >r2 : Symbol(r2, Decl(derivedClassTransitivity2.ts, 19, 3)) >e.foo : Symbol(E.foo, Decl(derivedClassTransitivity2.ts, 10, 19)) ->e : Symbol(e, Decl(derivedClassTransitivity2.ts, 16, 3)) +>e : Symbol(e, Decl(derivedClassTransitivity2.ts, 16, 11)) >foo : Symbol(E.foo, Decl(derivedClassTransitivity2.ts, 10, 19)) diff --git a/tests/baselines/reference/derivedClassTransitivity2.types b/tests/baselines/reference/derivedClassTransitivity2.types index 7dfd5821fd070..5776ac416941f 100644 --- a/tests/baselines/reference/derivedClassTransitivity2.types +++ b/tests/baselines/reference/derivedClassTransitivity2.types @@ -44,15 +44,15 @@ class E extends D { > : ^^^^^^ } -var c: C; +declare var c: C; >c : C > : ^ -var d: D; +declare var d: D; >d : D > : ^ -var e: E; +declare var e: E; >e : E > : ^ diff --git a/tests/baselines/reference/derivedClassTransitivity3.errors.txt b/tests/baselines/reference/derivedClassTransitivity3.errors.txt index e2b20403d2200..b4f48ad37d574 100644 --- a/tests/baselines/reference/derivedClassTransitivity3.errors.txt +++ b/tests/baselines/reference/derivedClassTransitivity3.errors.txt @@ -20,9 +20,9 @@ derivedClassTransitivity3.ts(18,1): error TS2322: Type 'E' is not assign foo(x: T, y?: number) { } // ok to add optional parameters } - var c: C; - var d: D; - var e: E; + declare var c: C; + declare var d: D; + declare var e: E; c = e; ~ !!! error TS2322: Type 'E' is not assignable to type 'C'. diff --git a/tests/baselines/reference/derivedClassTransitivity3.js b/tests/baselines/reference/derivedClassTransitivity3.js index cd6f21e786426..5c05cec05b87e 100644 --- a/tests/baselines/reference/derivedClassTransitivity3.js +++ b/tests/baselines/reference/derivedClassTransitivity3.js @@ -15,9 +15,9 @@ class E extends D { foo(x: T, y?: number) { } // ok to add optional parameters } -var c: C; -var d: D; -var e: E; +declare var c: C; +declare var d: D; +declare var e: E; c = e; var r = c.foo('', ''); var r2 = e.foo('', 1); @@ -61,9 +61,6 @@ var E = /** @class */ (function (_super) { E.prototype.foo = function (x, y) { }; // ok to add optional parameters return E; }(D)); -var c; -var d; -var e; c = e; var r = c.foo('', ''); var r2 = e.foo('', 1); diff --git a/tests/baselines/reference/derivedClassTransitivity3.symbols b/tests/baselines/reference/derivedClassTransitivity3.symbols index 57d6682082498..35f1fee7a6a67 100644 --- a/tests/baselines/reference/derivedClassTransitivity3.symbols +++ b/tests/baselines/reference/derivedClassTransitivity3.symbols @@ -40,31 +40,31 @@ class E extends D { >y : Symbol(y, Decl(derivedClassTransitivity3.ts, 11, 13)) } -var c: C; ->c : Symbol(c, Decl(derivedClassTransitivity3.ts, 14, 3)) +declare var c: C; +>c : Symbol(c, Decl(derivedClassTransitivity3.ts, 14, 11)) >C : Symbol(C, Decl(derivedClassTransitivity3.ts, 0, 0)) -var d: D; ->d : Symbol(d, Decl(derivedClassTransitivity3.ts, 15, 3)) +declare var d: D; +>d : Symbol(d, Decl(derivedClassTransitivity3.ts, 15, 11)) >D : Symbol(D, Decl(derivedClassTransitivity3.ts, 4, 1)) -var e: E; ->e : Symbol(e, Decl(derivedClassTransitivity3.ts, 16, 3)) +declare var e: E; +>e : Symbol(e, Decl(derivedClassTransitivity3.ts, 16, 11)) >E : Symbol(E, Decl(derivedClassTransitivity3.ts, 8, 1)) c = e; ->c : Symbol(c, Decl(derivedClassTransitivity3.ts, 14, 3)) ->e : Symbol(e, Decl(derivedClassTransitivity3.ts, 16, 3)) +>c : Symbol(c, Decl(derivedClassTransitivity3.ts, 14, 11)) +>e : Symbol(e, Decl(derivedClassTransitivity3.ts, 16, 11)) var r = c.foo('', ''); >r : Symbol(r, Decl(derivedClassTransitivity3.ts, 18, 3)) >c.foo : Symbol(C.foo, Decl(derivedClassTransitivity3.ts, 2, 12)) ->c : Symbol(c, Decl(derivedClassTransitivity3.ts, 14, 3)) +>c : Symbol(c, Decl(derivedClassTransitivity3.ts, 14, 11)) >foo : Symbol(C.foo, Decl(derivedClassTransitivity3.ts, 2, 12)) var r2 = e.foo('', 1); >r2 : Symbol(r2, Decl(derivedClassTransitivity3.ts, 19, 3)) >e.foo : Symbol(E.foo, Decl(derivedClassTransitivity3.ts, 10, 25)) ->e : Symbol(e, Decl(derivedClassTransitivity3.ts, 16, 3)) +>e : Symbol(e, Decl(derivedClassTransitivity3.ts, 16, 11)) >foo : Symbol(E.foo, Decl(derivedClassTransitivity3.ts, 10, 25)) diff --git a/tests/baselines/reference/derivedClassTransitivity3.types b/tests/baselines/reference/derivedClassTransitivity3.types index 9ed86c2517ef2..036a73f03dd74 100644 --- a/tests/baselines/reference/derivedClassTransitivity3.types +++ b/tests/baselines/reference/derivedClassTransitivity3.types @@ -44,15 +44,15 @@ class E extends D { > : ^^^^^^ } -var c: C; +declare var c: C; >c : C > : ^^^^^^^^^ -var d: D; +declare var d: D; >d : D > : ^^^^^^^^^ -var e: E; +declare var e: E; >e : E > : ^^^^^^^^^ diff --git a/tests/baselines/reference/derivedClassTransitivity4.errors.txt b/tests/baselines/reference/derivedClassTransitivity4.errors.txt index 639725f27605c..bfe3dbbfbc48a 100644 --- a/tests/baselines/reference/derivedClassTransitivity4.errors.txt +++ b/tests/baselines/reference/derivedClassTransitivity4.errors.txt @@ -21,9 +21,9 @@ derivedClassTransitivity4.ts(19,11): error TS2445: Property 'foo' is protected a public foo(x?: string) { } // ok to add optional parameters } - var c: C; - var d: D; - var e: E; + declare var c: C; + declare var d: D; + declare var e: E; c = e; ~ !!! error TS2322: Type 'E' is not assignable to type 'C'. diff --git a/tests/baselines/reference/derivedClassTransitivity4.js b/tests/baselines/reference/derivedClassTransitivity4.js index d6df84bd5fc4f..80abfba7ef4ee 100644 --- a/tests/baselines/reference/derivedClassTransitivity4.js +++ b/tests/baselines/reference/derivedClassTransitivity4.js @@ -15,9 +15,9 @@ class E extends D { public foo(x?: string) { } // ok to add optional parameters } -var c: C; -var d: D; -var e: E; +declare var c: C; +declare var d: D; +declare var e: E; c = e; var r = c.foo(1); var r2 = e.foo(''); @@ -61,9 +61,6 @@ var E = /** @class */ (function (_super) { E.prototype.foo = function (x) { }; // ok to add optional parameters return E; }(D)); -var c; -var d; -var e; c = e; var r = c.foo(1); var r2 = e.foo(''); diff --git a/tests/baselines/reference/derivedClassTransitivity4.symbols b/tests/baselines/reference/derivedClassTransitivity4.symbols index eec885d9bcbc3..b32fc1cc9e649 100644 --- a/tests/baselines/reference/derivedClassTransitivity4.symbols +++ b/tests/baselines/reference/derivedClassTransitivity4.symbols @@ -28,31 +28,31 @@ class E extends D { >x : Symbol(x, Decl(derivedClassTransitivity4.ts, 11, 15)) } -var c: C; ->c : Symbol(c, Decl(derivedClassTransitivity4.ts, 14, 3)) +declare var c: C; +>c : Symbol(c, Decl(derivedClassTransitivity4.ts, 14, 11)) >C : Symbol(C, Decl(derivedClassTransitivity4.ts, 0, 0)) -var d: D; ->d : Symbol(d, Decl(derivedClassTransitivity4.ts, 15, 3)) +declare var d: D; +>d : Symbol(d, Decl(derivedClassTransitivity4.ts, 15, 11)) >D : Symbol(D, Decl(derivedClassTransitivity4.ts, 4, 1)) -var e: E; ->e : Symbol(e, Decl(derivedClassTransitivity4.ts, 16, 3)) +declare var e: E; +>e : Symbol(e, Decl(derivedClassTransitivity4.ts, 16, 11)) >E : Symbol(E, Decl(derivedClassTransitivity4.ts, 8, 1)) c = e; ->c : Symbol(c, Decl(derivedClassTransitivity4.ts, 14, 3)) ->e : Symbol(e, Decl(derivedClassTransitivity4.ts, 16, 3)) +>c : Symbol(c, Decl(derivedClassTransitivity4.ts, 14, 11)) +>e : Symbol(e, Decl(derivedClassTransitivity4.ts, 16, 11)) var r = c.foo(1); >r : Symbol(r, Decl(derivedClassTransitivity4.ts, 18, 3)) >c.foo : Symbol(C.foo, Decl(derivedClassTransitivity4.ts, 2, 9)) ->c : Symbol(c, Decl(derivedClassTransitivity4.ts, 14, 3)) +>c : Symbol(c, Decl(derivedClassTransitivity4.ts, 14, 11)) >foo : Symbol(C.foo, Decl(derivedClassTransitivity4.ts, 2, 9)) var r2 = e.foo(''); >r2 : Symbol(r2, Decl(derivedClassTransitivity4.ts, 19, 3)) >e.foo : Symbol(E.foo, Decl(derivedClassTransitivity4.ts, 10, 19)) ->e : Symbol(e, Decl(derivedClassTransitivity4.ts, 16, 3)) +>e : Symbol(e, Decl(derivedClassTransitivity4.ts, 16, 11)) >foo : Symbol(E.foo, Decl(derivedClassTransitivity4.ts, 10, 19)) diff --git a/tests/baselines/reference/derivedClassTransitivity4.types b/tests/baselines/reference/derivedClassTransitivity4.types index e99a76ced92ff..988b3231bdc71 100644 --- a/tests/baselines/reference/derivedClassTransitivity4.types +++ b/tests/baselines/reference/derivedClassTransitivity4.types @@ -38,15 +38,15 @@ class E extends D { > : ^^^^^^ } -var c: C; +declare var c: C; >c : C > : ^ -var d: D; +declare var d: D; >d : D > : ^ -var e: E; +declare var e: E; >e : E > : ^ diff --git a/tests/baselines/reference/derivedClassWithAny.errors.txt b/tests/baselines/reference/derivedClassWithAny.errors.txt index bc8c95c120571..e0774ecd4fad9 100644 --- a/tests/baselines/reference/derivedClassWithAny.errors.txt +++ b/tests/baselines/reference/derivedClassWithAny.errors.txt @@ -55,9 +55,9 @@ derivedClassWithAny.ts(57,1): error TS2322: Type 'E' is not assignable to type ' } } - var c: C; - var d: D; - var e: E; + declare var c: C; + declare var d: D; + declare var e: E; c = d; c = e; diff --git a/tests/baselines/reference/derivedClassWithAny.js b/tests/baselines/reference/derivedClassWithAny.js index edb9651799b88..b612afaa5b293 100644 --- a/tests/baselines/reference/derivedClassWithAny.js +++ b/tests/baselines/reference/derivedClassWithAny.js @@ -52,9 +52,9 @@ class E extends D { } } -var c: C; -var d: D; -var e: E; +declare var c: C; +declare var d: D; +declare var e: E; c = d; c = e; @@ -153,9 +153,6 @@ var E = /** @class */ (function (_super) { }; return E; }(D)); -var c; -var d; -var e; c = d; c = e; var r = c.foo(); // e.foo would return string diff --git a/tests/baselines/reference/derivedClassWithAny.symbols b/tests/baselines/reference/derivedClassWithAny.symbols index c73c5d116e370..ed28c4822f890 100644 --- a/tests/baselines/reference/derivedClassWithAny.symbols +++ b/tests/baselines/reference/derivedClassWithAny.symbols @@ -96,29 +96,29 @@ class E extends D { } } -var c: C; ->c : Symbol(c, Decl(derivedClassWithAny.ts, 51, 3)) +declare var c: C; +>c : Symbol(c, Decl(derivedClassWithAny.ts, 51, 11)) >C : Symbol(C, Decl(derivedClassWithAny.ts, 0, 0)) -var d: D; ->d : Symbol(d, Decl(derivedClassWithAny.ts, 52, 3)) +declare var d: D; +>d : Symbol(d, Decl(derivedClassWithAny.ts, 52, 11)) >D : Symbol(D, Decl(derivedClassWithAny.ts, 14, 1)) -var e: E; ->e : Symbol(e, Decl(derivedClassWithAny.ts, 53, 3)) +declare var e: E; +>e : Symbol(e, Decl(derivedClassWithAny.ts, 53, 11)) >E : Symbol(E, Decl(derivedClassWithAny.ts, 32, 1)) c = d; ->c : Symbol(c, Decl(derivedClassWithAny.ts, 51, 3)) ->d : Symbol(d, Decl(derivedClassWithAny.ts, 52, 3)) +>c : Symbol(c, Decl(derivedClassWithAny.ts, 51, 11)) +>d : Symbol(d, Decl(derivedClassWithAny.ts, 52, 11)) c = e; ->c : Symbol(c, Decl(derivedClassWithAny.ts, 51, 3)) ->e : Symbol(e, Decl(derivedClassWithAny.ts, 53, 3)) +>c : Symbol(c, Decl(derivedClassWithAny.ts, 51, 11)) +>e : Symbol(e, Decl(derivedClassWithAny.ts, 53, 11)) var r = c.foo(); // e.foo would return string >r : Symbol(r, Decl(derivedClassWithAny.ts, 57, 3)) >c.foo : Symbol(C.foo, Decl(derivedClassWithAny.ts, 2, 33)) ->c : Symbol(c, Decl(derivedClassWithAny.ts, 51, 3)) +>c : Symbol(c, Decl(derivedClassWithAny.ts, 51, 11)) >foo : Symbol(C.foo, Decl(derivedClassWithAny.ts, 2, 33)) diff --git a/tests/baselines/reference/derivedClassWithAny.types b/tests/baselines/reference/derivedClassWithAny.types index ce6bd848ddc9a..5b97e6e57f132 100644 --- a/tests/baselines/reference/derivedClassWithAny.types +++ b/tests/baselines/reference/derivedClassWithAny.types @@ -137,15 +137,15 @@ class E extends D { } } -var c: C; +declare var c: C; >c : C > : ^ -var d: D; +declare var d: D; >d : D > : ^ -var e: E; +declare var e: E; >e : E > : ^ diff --git a/tests/baselines/reference/derivedGenericClassWithAny.errors.txt b/tests/baselines/reference/derivedGenericClassWithAny.errors.txt index b5135febd83aa..f07d68c717030 100644 --- a/tests/baselines/reference/derivedGenericClassWithAny.errors.txt +++ b/tests/baselines/reference/derivedGenericClassWithAny.errors.txt @@ -49,9 +49,9 @@ derivedGenericClassWithAny.ts(41,1): error TS2322: Type 'E' is not assig } } - var c: C; - var d: D; - var e: E; + declare var c: C; + declare var d: D; + declare var e: E; c = d; c = e; diff --git a/tests/baselines/reference/derivedGenericClassWithAny.js b/tests/baselines/reference/derivedGenericClassWithAny.js index 464ff4514e822..948b2df6f1bb1 100644 --- a/tests/baselines/reference/derivedGenericClassWithAny.js +++ b/tests/baselines/reference/derivedGenericClassWithAny.js @@ -36,9 +36,9 @@ class E extends D { } } -var c: C; -var d: D; -var e: E; +declare var c: C; +declare var d: D; +declare var e: E; c = d; c = e; @@ -117,9 +117,6 @@ var E = /** @class */ (function (_super) { }; return E; }(D)); -var c; -var d; -var e; c = d; c = e; var r = c.foo(); // e.foo would return string diff --git a/tests/baselines/reference/derivedGenericClassWithAny.symbols b/tests/baselines/reference/derivedGenericClassWithAny.symbols index 2cc972e792b0f..7c1dcf8a572c9 100644 --- a/tests/baselines/reference/derivedGenericClassWithAny.symbols +++ b/tests/baselines/reference/derivedGenericClassWithAny.symbols @@ -76,29 +76,29 @@ class E extends D { } } -var c: C; ->c : Symbol(c, Decl(derivedGenericClassWithAny.ts, 35, 3)) +declare var c: C; +>c : Symbol(c, Decl(derivedGenericClassWithAny.ts, 35, 11)) >C : Symbol(C, Decl(derivedGenericClassWithAny.ts, 0, 0)) -var d: D; ->d : Symbol(d, Decl(derivedGenericClassWithAny.ts, 36, 3)) +declare var d: D; +>d : Symbol(d, Decl(derivedGenericClassWithAny.ts, 36, 11)) >D : Symbol(D, Decl(derivedGenericClassWithAny.ts, 6, 1)) -var e: E; ->e : Symbol(e, Decl(derivedGenericClassWithAny.ts, 37, 3)) +declare var e: E; +>e : Symbol(e, Decl(derivedGenericClassWithAny.ts, 37, 11)) >E : Symbol(E, Decl(derivedGenericClassWithAny.ts, 24, 1)) c = d; ->c : Symbol(c, Decl(derivedGenericClassWithAny.ts, 35, 3)) ->d : Symbol(d, Decl(derivedGenericClassWithAny.ts, 36, 3)) +>c : Symbol(c, Decl(derivedGenericClassWithAny.ts, 35, 11)) +>d : Symbol(d, Decl(derivedGenericClassWithAny.ts, 36, 11)) c = e; ->c : Symbol(c, Decl(derivedGenericClassWithAny.ts, 35, 3)) ->e : Symbol(e, Decl(derivedGenericClassWithAny.ts, 37, 3)) +>c : Symbol(c, Decl(derivedGenericClassWithAny.ts, 35, 11)) +>e : Symbol(e, Decl(derivedGenericClassWithAny.ts, 37, 11)) var r = c.foo(); // e.foo would return string >r : Symbol(r, Decl(derivedGenericClassWithAny.ts, 41, 3)) >c.foo : Symbol(C.foo, Decl(derivedGenericClassWithAny.ts, 2, 31)) ->c : Symbol(c, Decl(derivedGenericClassWithAny.ts, 35, 3)) +>c : Symbol(c, Decl(derivedGenericClassWithAny.ts, 35, 11)) >foo : Symbol(C.foo, Decl(derivedGenericClassWithAny.ts, 2, 31)) diff --git a/tests/baselines/reference/derivedGenericClassWithAny.types b/tests/baselines/reference/derivedGenericClassWithAny.types index 29f75b4c41e75..df993d744abfd 100644 --- a/tests/baselines/reference/derivedGenericClassWithAny.types +++ b/tests/baselines/reference/derivedGenericClassWithAny.types @@ -91,15 +91,15 @@ class E extends D { } } -var c: C; +declare var c: C; >c : C > : ^^^^^^^^^ -var d: D; +declare var d: D; >d : D > : ^ -var e: E; +declare var e: E; >e : E > : ^^^^^^^^^ diff --git a/tests/baselines/reference/derivedInterfaceCallSignature.errors.txt b/tests/baselines/reference/derivedInterfaceCallSignature.errors.txt index 05c6f9f86916f..087ff25721a71 100644 --- a/tests/baselines/reference/derivedInterfaceCallSignature.errors.txt +++ b/tests/baselines/reference/derivedInterfaceCallSignature.errors.txt @@ -35,5 +35,5 @@ derivedInterfaceCallSignature.ts(11,11): error TS2430: Interface 'D3SvgArea' inc defined(defined: (data: any, index?: number) => boolean): D3SvgArea; } - var area: D3SvgArea; + declare var area: D3SvgArea; area.interpolate('two')('one'); \ No newline at end of file diff --git a/tests/baselines/reference/derivedInterfaceCallSignature.js b/tests/baselines/reference/derivedInterfaceCallSignature.js index b02ce0ec13d05..fde7a98286c6d 100644 --- a/tests/baselines/reference/derivedInterfaceCallSignature.js +++ b/tests/baselines/reference/derivedInterfaceCallSignature.js @@ -26,9 +26,8 @@ interface D3SvgArea extends D3SvgPath { defined(defined: (data: any, index?: number) => boolean): D3SvgArea; } -var area: D3SvgArea; +declare var area: D3SvgArea; area.interpolate('two')('one'); //// [derivedInterfaceCallSignature.js] -var area; area.interpolate('two')('one'); diff --git a/tests/baselines/reference/derivedInterfaceCallSignature.symbols b/tests/baselines/reference/derivedInterfaceCallSignature.symbols index 63023fd29291c..833a2ad5c74d9 100644 --- a/tests/baselines/reference/derivedInterfaceCallSignature.symbols +++ b/tests/baselines/reference/derivedInterfaceCallSignature.symbols @@ -100,12 +100,12 @@ interface D3SvgArea extends D3SvgPath { >D3SvgArea : Symbol(D3SvgArea, Decl(derivedInterfaceCallSignature.ts, 8, 1)) } -var area: D3SvgArea; ->area : Symbol(area, Decl(derivedInterfaceCallSignature.ts, 25, 3)) +declare var area: D3SvgArea; +>area : Symbol(area, Decl(derivedInterfaceCallSignature.ts, 25, 11)) >D3SvgArea : Symbol(D3SvgArea, Decl(derivedInterfaceCallSignature.ts, 8, 1)) area.interpolate('two')('one'); >area.interpolate : Symbol(D3SvgArea.interpolate, Decl(derivedInterfaceCallSignature.ts, 18, 60)) ->area : Symbol(area, Decl(derivedInterfaceCallSignature.ts, 25, 3)) +>area : Symbol(area, Decl(derivedInterfaceCallSignature.ts, 25, 11)) >interpolate : Symbol(D3SvgArea.interpolate, Decl(derivedInterfaceCallSignature.ts, 18, 60)) diff --git a/tests/baselines/reference/derivedInterfaceCallSignature.types b/tests/baselines/reference/derivedInterfaceCallSignature.types index ab1cf1b00c331..740f36c9311aa 100644 --- a/tests/baselines/reference/derivedInterfaceCallSignature.types +++ b/tests/baselines/reference/derivedInterfaceCallSignature.types @@ -133,7 +133,7 @@ interface D3SvgArea extends D3SvgPath { > : ^^^^^^ } -var area: D3SvgArea; +declare var area: D3SvgArea; >area : D3SvgArea > : ^^^^^^^^^ diff --git a/tests/baselines/reference/dynamicNamesErrors.errors.txt b/tests/baselines/reference/dynamicNamesErrors.errors.txt index 5ad3741bafbe2..10a607f836d6f 100644 --- a/tests/baselines/reference/dynamicNamesErrors.errors.txt +++ b/tests/baselines/reference/dynamicNamesErrors.errors.txt @@ -32,8 +32,8 @@ dynamicNamesErrors.ts(25,1): error TS2322: Type 'T1' is not assignable to type ' !!! related TS6203 dynamicNamesErrors.ts:18:5: '[c1]' was also declared here. } - let t1: T1; - let t2: T2; + declare let t1: T1; + declare let t2: T2; t1 = t2; ~~ !!! error TS2322: Type 'T2' is not assignable to type 'T1'. diff --git a/tests/baselines/reference/dynamicNamesErrors.js b/tests/baselines/reference/dynamicNamesErrors.js index 67cbfde3e8cd5..2a67b990b13f6 100644 --- a/tests/baselines/reference/dynamicNamesErrors.js +++ b/tests/baselines/reference/dynamicNamesErrors.js @@ -22,8 +22,8 @@ interface T3 { [c1]: string; } -let t1: T1; -let t2: T2; +declare let t1: T1; +declare let t2: T2; t1 = t2; t2 = t1; @@ -67,8 +67,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.ObjectLiteralVisibility = exports.ClassMemberVisibility = void 0; const c0 = "1"; const c1 = 1; -let t1; -let t2; t1 = t2; t2 = t1; const x = Symbol(); diff --git a/tests/baselines/reference/dynamicNamesErrors.symbols b/tests/baselines/reference/dynamicNamesErrors.symbols index 06eb5614310cf..a690a6a1c06df 100644 --- a/tests/baselines/reference/dynamicNamesErrors.symbols +++ b/tests/baselines/reference/dynamicNamesErrors.symbols @@ -46,21 +46,21 @@ interface T3 { >c1 : Symbol(c1, Decl(dynamicNamesErrors.ts, 1, 5)) } -let t1: T1; ->t1 : Symbol(t1, Decl(dynamicNamesErrors.ts, 21, 3)) +declare let t1: T1; +>t1 : Symbol(t1, Decl(dynamicNamesErrors.ts, 21, 11)) >T1 : Symbol(T1, Decl(dynamicNamesErrors.ts, 6, 1)) -let t2: T2; ->t2 : Symbol(t2, Decl(dynamicNamesErrors.ts, 22, 3)) +declare let t2: T2; +>t2 : Symbol(t2, Decl(dynamicNamesErrors.ts, 22, 11)) >T2 : Symbol(T2, Decl(dynamicNamesErrors.ts, 10, 1)) t1 = t2; ->t1 : Symbol(t1, Decl(dynamicNamesErrors.ts, 21, 3)) ->t2 : Symbol(t2, Decl(dynamicNamesErrors.ts, 22, 3)) +>t1 : Symbol(t1, Decl(dynamicNamesErrors.ts, 21, 11)) +>t2 : Symbol(t2, Decl(dynamicNamesErrors.ts, 22, 11)) t2 = t1; ->t2 : Symbol(t2, Decl(dynamicNamesErrors.ts, 22, 3)) ->t1 : Symbol(t1, Decl(dynamicNamesErrors.ts, 21, 3)) +>t2 : Symbol(t2, Decl(dynamicNamesErrors.ts, 22, 11)) +>t1 : Symbol(t1, Decl(dynamicNamesErrors.ts, 21, 11)) const x = Symbol(); >x : Symbol(x, Decl(dynamicNamesErrors.ts, 26, 5)) diff --git a/tests/baselines/reference/dynamicNamesErrors.types b/tests/baselines/reference/dynamicNamesErrors.types index 3c707d01e9f33..b0f01e6efd6cd 100644 --- a/tests/baselines/reference/dynamicNamesErrors.types +++ b/tests/baselines/reference/dynamicNamesErrors.types @@ -55,11 +55,11 @@ interface T3 { > : ^ } -let t1: T1; +declare let t1: T1; >t1 : T1 > : ^^ -let t2: T2; +declare let t2: T2; >t2 : T2 > : ^^ diff --git a/tests/baselines/reference/elaboratedErrors.errors.txt b/tests/baselines/reference/elaboratedErrors.errors.txt index 509bfa220d63a..6e53897cc593d 100644 --- a/tests/baselines/reference/elaboratedErrors.errors.txt +++ b/tests/baselines/reference/elaboratedErrors.errors.txt @@ -25,8 +25,8 @@ elaboratedErrors.ts(25,1): error TS2741: Property 'y' is missing in type 'Alpha' interface Alpha { x: string; } interface Beta { y: number; } - var x: Alpha; - var y: Beta; + declare var x: Alpha; + declare var y: Beta; // Only one of these errors should be large x = y; diff --git a/tests/baselines/reference/elaboratedErrors.js b/tests/baselines/reference/elaboratedErrors.js index e3a5ae8f773f8..24d4ea2b743d5 100644 --- a/tests/baselines/reference/elaboratedErrors.js +++ b/tests/baselines/reference/elaboratedErrors.js @@ -16,8 +16,8 @@ class WorkerFS implements FileSystem { interface Alpha { x: string; } interface Beta { y: number; } -var x: Alpha; -var y: Beta; +declare var x: Alpha; +declare var y: Beta; // Only one of these errors should be large x = y; @@ -36,8 +36,6 @@ var WorkerFS = /** @class */ (function () { } return WorkerFS; }()); -var x; -var y; // Only one of these errors should be large x = y; x = y; diff --git a/tests/baselines/reference/elaboratedErrors.symbols b/tests/baselines/reference/elaboratedErrors.symbols index 7b1ca8dcd0f83..6c13542665e53 100644 --- a/tests/baselines/reference/elaboratedErrors.symbols +++ b/tests/baselines/reference/elaboratedErrors.symbols @@ -41,29 +41,29 @@ interface Beta { y: number; } >Beta : Symbol(Beta, Decl(elaboratedErrors.ts, 13, 30)) >y : Symbol(Beta.y, Decl(elaboratedErrors.ts, 14, 16)) -var x: Alpha; ->x : Symbol(x, Decl(elaboratedErrors.ts, 15, 3)) +declare var x: Alpha; +>x : Symbol(x, Decl(elaboratedErrors.ts, 15, 11)) >Alpha : Symbol(Alpha, Decl(elaboratedErrors.ts, 11, 1)) -var y: Beta; ->y : Symbol(y, Decl(elaboratedErrors.ts, 16, 3)) +declare var y: Beta; +>y : Symbol(y, Decl(elaboratedErrors.ts, 16, 11)) >Beta : Symbol(Beta, Decl(elaboratedErrors.ts, 13, 30)) // Only one of these errors should be large x = y; ->x : Symbol(x, Decl(elaboratedErrors.ts, 15, 3)) ->y : Symbol(y, Decl(elaboratedErrors.ts, 16, 3)) +>x : Symbol(x, Decl(elaboratedErrors.ts, 15, 11)) +>y : Symbol(y, Decl(elaboratedErrors.ts, 16, 11)) x = y; ->x : Symbol(x, Decl(elaboratedErrors.ts, 15, 3)) ->y : Symbol(y, Decl(elaboratedErrors.ts, 16, 3)) +>x : Symbol(x, Decl(elaboratedErrors.ts, 15, 11)) +>y : Symbol(y, Decl(elaboratedErrors.ts, 16, 11)) // Only one of these errors should be large y = x; ->y : Symbol(y, Decl(elaboratedErrors.ts, 16, 3)) ->x : Symbol(x, Decl(elaboratedErrors.ts, 15, 3)) +>y : Symbol(y, Decl(elaboratedErrors.ts, 16, 11)) +>x : Symbol(x, Decl(elaboratedErrors.ts, 15, 11)) y = x; ->y : Symbol(y, Decl(elaboratedErrors.ts, 16, 3)) ->x : Symbol(x, Decl(elaboratedErrors.ts, 15, 3)) +>y : Symbol(y, Decl(elaboratedErrors.ts, 16, 11)) +>x : Symbol(x, Decl(elaboratedErrors.ts, 15, 11)) diff --git a/tests/baselines/reference/elaboratedErrors.types b/tests/baselines/reference/elaboratedErrors.types index 93a4171af8484..1601e27be1c54 100644 --- a/tests/baselines/reference/elaboratedErrors.types +++ b/tests/baselines/reference/elaboratedErrors.types @@ -43,11 +43,11 @@ interface Beta { y: number; } >y : number > : ^^^^^^ -var x: Alpha; +declare var x: Alpha; >x : Alpha > : ^^^^^ -var y: Beta; +declare var y: Beta; >y : Beta > : ^^^^ diff --git a/tests/baselines/reference/enumAssignmentCompat3.errors.txt b/tests/baselines/reference/enumAssignmentCompat3.errors.txt index c9207db308055..bf6af2af7603d 100644 --- a/tests/baselines/reference/enumAssignmentCompat3.errors.txt +++ b/tests/baselines/reference/enumAssignmentCompat3.errors.txt @@ -77,16 +77,16 @@ enumAssignmentCompat3.ts(87,1): error TS2322: Type 'First.E' is not assignable t } } - var abc: First.E; - var secondAbc: Abc.E; - var secondAbcd: Abcd.E; - var secondAb: Ab.E; - var secondCd: Cd.E; - var nope: Abc.Nope; - var k: Const.E; - var decl: Decl.E; - var merged: Merged.E; - var merged2: Merged2.E; + declare var abc: First.E; + declare var secondAbc: Abc.E; + declare var secondAbcd: Abcd.E; + declare var secondAb: Ab.E; + declare var secondCd: Cd.E; + declare var nope: Abc.Nope; + declare var k: Const.E; + declare var decl: Decl.E; + declare var merged: Merged.E; + declare var merged2: Merged2.E; abc = secondAbc; // ok abc = secondAbcd; // missing 'd' ~~~ diff --git a/tests/baselines/reference/enumAssignmentCompat3.js b/tests/baselines/reference/enumAssignmentCompat3.js index 6cde4593a82c0..e8074dd7bdfb0 100644 --- a/tests/baselines/reference/enumAssignmentCompat3.js +++ b/tests/baselines/reference/enumAssignmentCompat3.js @@ -57,16 +57,16 @@ namespace Merged2 { } } -var abc: First.E; -var secondAbc: Abc.E; -var secondAbcd: Abcd.E; -var secondAb: Ab.E; -var secondCd: Cd.E; -var nope: Abc.Nope; -var k: Const.E; -var decl: Decl.E; -var merged: Merged.E; -var merged2: Merged2.E; +declare var abc: First.E; +declare var secondAbc: Abc.E; +declare var secondAbcd: Abcd.E; +declare var secondAb: Ab.E; +declare var secondCd: Cd.E; +declare var nope: Abc.Nope; +declare var k: Const.E; +declare var decl: Decl.E; +declare var merged: Merged.E; +declare var merged2: Merged2.E; abc = secondAbc; // ok abc = secondAbcd; // missing 'd' abc = secondAb; // ok @@ -169,16 +169,6 @@ var Merged2; E.d = 5; })(E = Merged2.E || (Merged2.E = {})); })(Merged2 || (Merged2 = {})); -var abc; -var secondAbc; -var secondAbcd; -var secondAb; -var secondCd; -var nope; -var k; -var decl; -var merged; -var merged2; abc = secondAbc; // ok abc = secondAbcd; // missing 'd' abc = secondAb; // ok diff --git a/tests/baselines/reference/enumAssignmentCompat3.symbols b/tests/baselines/reference/enumAssignmentCompat3.symbols index 7b8ff5fc9e335..d0965fb5a44a5 100644 --- a/tests/baselines/reference/enumAssignmentCompat3.symbols +++ b/tests/baselines/reference/enumAssignmentCompat3.symbols @@ -130,131 +130,131 @@ namespace Merged2 { } } -var abc: First.E; ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) +declare var abc: First.E; +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) >First : Symbol(First, Decl(enumAssignmentCompat3.ts, 0, 0)) >E : Symbol(First.E, Decl(enumAssignmentCompat3.ts, 0, 17)) -var secondAbc: Abc.E; ->secondAbc : Symbol(secondAbc, Decl(enumAssignmentCompat3.ts, 57, 3)) +declare var secondAbc: Abc.E; +>secondAbc : Symbol(secondAbc, Decl(enumAssignmentCompat3.ts, 57, 11)) >Abc : Symbol(Abc, Decl(enumAssignmentCompat3.ts, 4, 1)) >E : Symbol(Abc.E, Decl(enumAssignmentCompat3.ts, 5, 15)) -var secondAbcd: Abcd.E; ->secondAbcd : Symbol(secondAbcd, Decl(enumAssignmentCompat3.ts, 58, 3)) +declare var secondAbcd: Abcd.E; +>secondAbcd : Symbol(secondAbcd, Decl(enumAssignmentCompat3.ts, 58, 11)) >Abcd : Symbol(Abcd, Decl(enumAssignmentCompat3.ts, 12, 1)) >E : Symbol(Abcd.E, Decl(enumAssignmentCompat3.ts, 13, 16)) -var secondAb: Ab.E; ->secondAb : Symbol(secondAb, Decl(enumAssignmentCompat3.ts, 59, 3)) +declare var secondAb: Ab.E; +>secondAb : Symbol(secondAb, Decl(enumAssignmentCompat3.ts, 59, 11)) >Ab : Symbol(Ab, Decl(enumAssignmentCompat3.ts, 17, 1)) >E : Symbol(Ab.E, Decl(enumAssignmentCompat3.ts, 18, 14)) -var secondCd: Cd.E; ->secondCd : Symbol(secondCd, Decl(enumAssignmentCompat3.ts, 60, 3)) +declare var secondCd: Cd.E; +>secondCd : Symbol(secondCd, Decl(enumAssignmentCompat3.ts, 60, 11)) >Cd : Symbol(Cd, Decl(enumAssignmentCompat3.ts, 22, 1)) >E : Symbol(Cd.E, Decl(enumAssignmentCompat3.ts, 23, 14)) -var nope: Abc.Nope; ->nope : Symbol(nope, Decl(enumAssignmentCompat3.ts, 61, 3)) +declare var nope: Abc.Nope; +>nope : Symbol(nope, Decl(enumAssignmentCompat3.ts, 61, 11)) >Abc : Symbol(Abc, Decl(enumAssignmentCompat3.ts, 4, 1)) >Nope : Symbol(Abc.Nope, Decl(enumAssignmentCompat3.ts, 8, 5)) -var k: Const.E; ->k : Symbol(k, Decl(enumAssignmentCompat3.ts, 62, 3)) +declare var k: Const.E; +>k : Symbol(k, Decl(enumAssignmentCompat3.ts, 62, 11)) >Const : Symbol(Const, Decl(enumAssignmentCompat3.ts, 27, 1)) >E : Symbol(Const.E, Decl(enumAssignmentCompat3.ts, 28, 17)) -var decl: Decl.E; ->decl : Symbol(decl, Decl(enumAssignmentCompat3.ts, 63, 3)) +declare var decl: Decl.E; +>decl : Symbol(decl, Decl(enumAssignmentCompat3.ts, 63, 11)) >Decl : Symbol(Decl, Decl(enumAssignmentCompat3.ts, 32, 1)) >E : Symbol(Decl.E, Decl(enumAssignmentCompat3.ts, 33, 16)) -var merged: Merged.E; ->merged : Symbol(merged, Decl(enumAssignmentCompat3.ts, 64, 3)) +declare var merged: Merged.E; +>merged : Symbol(merged, Decl(enumAssignmentCompat3.ts, 64, 11)) >Merged : Symbol(Merged, Decl(enumAssignmentCompat3.ts, 37, 1)) >E : Symbol(Merged.E, Decl(enumAssignmentCompat3.ts, 38, 18), Decl(enumAssignmentCompat3.ts, 41, 5)) -var merged2: Merged2.E; ->merged2 : Symbol(merged2, Decl(enumAssignmentCompat3.ts, 65, 3)) +declare var merged2: Merged2.E; +>merged2 : Symbol(merged2, Decl(enumAssignmentCompat3.ts, 65, 11)) >Merged2 : Symbol(Merged2, Decl(enumAssignmentCompat3.ts, 45, 1)) >E : Symbol(Merged2.E, Decl(enumAssignmentCompat3.ts, 47, 19), Decl(enumAssignmentCompat3.ts, 50, 5)) abc = secondAbc; // ok ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) ->secondAbc : Symbol(secondAbc, Decl(enumAssignmentCompat3.ts, 57, 3)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) +>secondAbc : Symbol(secondAbc, Decl(enumAssignmentCompat3.ts, 57, 11)) abc = secondAbcd; // missing 'd' ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) ->secondAbcd : Symbol(secondAbcd, Decl(enumAssignmentCompat3.ts, 58, 3)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) +>secondAbcd : Symbol(secondAbcd, Decl(enumAssignmentCompat3.ts, 58, 11)) abc = secondAb; // ok ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) ->secondAb : Symbol(secondAb, Decl(enumAssignmentCompat3.ts, 59, 3)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) +>secondAb : Symbol(secondAb, Decl(enumAssignmentCompat3.ts, 59, 11)) abc = secondCd; // missing 'd' ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) ->secondCd : Symbol(secondCd, Decl(enumAssignmentCompat3.ts, 60, 3)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) +>secondCd : Symbol(secondCd, Decl(enumAssignmentCompat3.ts, 60, 11)) abc = nope; // nope! ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) ->nope : Symbol(nope, Decl(enumAssignmentCompat3.ts, 61, 3)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) +>nope : Symbol(nope, Decl(enumAssignmentCompat3.ts, 61, 11)) abc = decl; // bad - value of 'c' differs between these enums ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) ->decl : Symbol(decl, Decl(enumAssignmentCompat3.ts, 63, 3)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) +>decl : Symbol(decl, Decl(enumAssignmentCompat3.ts, 63, 11)) secondAbc = abc; // ok ->secondAbc : Symbol(secondAbc, Decl(enumAssignmentCompat3.ts, 57, 3)) ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) +>secondAbc : Symbol(secondAbc, Decl(enumAssignmentCompat3.ts, 57, 11)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) secondAbcd = abc; // ok ->secondAbcd : Symbol(secondAbcd, Decl(enumAssignmentCompat3.ts, 58, 3)) ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) +>secondAbcd : Symbol(secondAbcd, Decl(enumAssignmentCompat3.ts, 58, 11)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) secondAb = abc; // missing 'c' ->secondAb : Symbol(secondAb, Decl(enumAssignmentCompat3.ts, 59, 3)) ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) +>secondAb : Symbol(secondAb, Decl(enumAssignmentCompat3.ts, 59, 11)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) secondCd = abc; // missing 'a' and 'b' ->secondCd : Symbol(secondCd, Decl(enumAssignmentCompat3.ts, 60, 3)) ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) +>secondCd : Symbol(secondCd, Decl(enumAssignmentCompat3.ts, 60, 11)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) nope = abc; // nope! ->nope : Symbol(nope, Decl(enumAssignmentCompat3.ts, 61, 3)) ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) +>nope : Symbol(nope, Decl(enumAssignmentCompat3.ts, 61, 11)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) decl = abc; // bad - value of 'c' differs between these enums ->decl : Symbol(decl, Decl(enumAssignmentCompat3.ts, 63, 3)) ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) +>decl : Symbol(decl, Decl(enumAssignmentCompat3.ts, 63, 11)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) // const is only assignable to itself k = k; ->k : Symbol(k, Decl(enumAssignmentCompat3.ts, 62, 3)) ->k : Symbol(k, Decl(enumAssignmentCompat3.ts, 62, 3)) +>k : Symbol(k, Decl(enumAssignmentCompat3.ts, 62, 11)) +>k : Symbol(k, Decl(enumAssignmentCompat3.ts, 62, 11)) abc = k; // error ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) ->k : Symbol(k, Decl(enumAssignmentCompat3.ts, 62, 3)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) +>k : Symbol(k, Decl(enumAssignmentCompat3.ts, 62, 11)) k = abc; ->k : Symbol(k, Decl(enumAssignmentCompat3.ts, 62, 3)) ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) +>k : Symbol(k, Decl(enumAssignmentCompat3.ts, 62, 11)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) // merged enums compare all their members abc = merged; // missing 'd' ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) ->merged : Symbol(merged, Decl(enumAssignmentCompat3.ts, 64, 3)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) +>merged : Symbol(merged, Decl(enumAssignmentCompat3.ts, 64, 11)) merged = abc; // bad - value of 'c' differs between these enums ->merged : Symbol(merged, Decl(enumAssignmentCompat3.ts, 64, 3)) ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) +>merged : Symbol(merged, Decl(enumAssignmentCompat3.ts, 64, 11)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) abc = merged2; // ok ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) ->merged2 : Symbol(merged2, Decl(enumAssignmentCompat3.ts, 65, 3)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) +>merged2 : Symbol(merged2, Decl(enumAssignmentCompat3.ts, 65, 11)) merged2 = abc; // ok ->merged2 : Symbol(merged2, Decl(enumAssignmentCompat3.ts, 65, 3)) ->abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 3)) +>merged2 : Symbol(merged2, Decl(enumAssignmentCompat3.ts, 65, 11)) +>abc : Symbol(abc, Decl(enumAssignmentCompat3.ts, 56, 11)) diff --git a/tests/baselines/reference/enumAssignmentCompat3.types b/tests/baselines/reference/enumAssignmentCompat3.types index 0296cef8a7431..b875fc6db1f2f 100644 --- a/tests/baselines/reference/enumAssignmentCompat3.types +++ b/tests/baselines/reference/enumAssignmentCompat3.types @@ -185,61 +185,61 @@ namespace Merged2 { } } -var abc: First.E; +declare var abc: First.E; >abc : First.E > : ^^^^^^^ >First : any > : ^^^ -var secondAbc: Abc.E; +declare var secondAbc: Abc.E; >secondAbc : Abc.E > : ^^^^^ >Abc : any > : ^^^ -var secondAbcd: Abcd.E; +declare var secondAbcd: Abcd.E; >secondAbcd : Abcd.E > : ^^^^^^ >Abcd : any > : ^^^ -var secondAb: Ab.E; +declare var secondAb: Ab.E; >secondAb : Ab.E > : ^^^^ >Ab : any > : ^^^ -var secondCd: Cd.E; +declare var secondCd: Cd.E; >secondCd : Cd.E > : ^^^^ >Cd : any > : ^^^ -var nope: Abc.Nope; +declare var nope: Abc.Nope; >nope : Abc.Nope > : ^^^^^^^^ >Abc : any > : ^^^ -var k: Const.E; +declare var k: Const.E; >k : Const.E > : ^^^^^^^ >Const : any > : ^^^ -var decl: Decl.E; +declare var decl: Decl.E; >decl : Decl.E > : ^^^^^^ >Decl : any > : ^^^ -var merged: Merged.E; +declare var merged: Merged.E; >merged : Merged.E > : ^^^^^^^^ >Merged : any > : ^^^ -var merged2: Merged2.E; +declare var merged2: Merged2.E; >merged2 : Merged2.E > : ^^^^^^^^^ >Merged2 : any diff --git a/tests/baselines/reference/enumAssignmentCompat5.errors.txt b/tests/baselines/reference/enumAssignmentCompat5.errors.txt index 6fa0da1673af4..230f34889c378 100644 --- a/tests/baselines/reference/enumAssignmentCompat5.errors.txt +++ b/tests/baselines/reference/enumAssignmentCompat5.errors.txt @@ -12,7 +12,7 @@ enumAssignmentCompat5.ts(20,5): error TS2322: Type '1' is not assignable to type B = 1 << 2, C = 1 << 3, } - let n: number; + declare let n: number; let e: E = n; // ok because it's too inconvenient otherwise e = 0; // ok, in range e = 4; // ok, out of range, but allowed computed enums don't have all members diff --git a/tests/baselines/reference/enumAssignmentCompat5.js b/tests/baselines/reference/enumAssignmentCompat5.js index 110326ab5f025..9c136b8b8c053 100644 --- a/tests/baselines/reference/enumAssignmentCompat5.js +++ b/tests/baselines/reference/enumAssignmentCompat5.js @@ -9,7 +9,7 @@ enum Computed { B = 1 << 2, C = 1 << 3, } -let n: number; +declare let n: number; let e: E = n; // ok because it's too inconvenient otherwise e = 0; // ok, in range e = 4; // ok, out of range, but allowed computed enums don't have all members @@ -39,7 +39,6 @@ var Computed; Computed[Computed["B"] = 4] = "B"; Computed[Computed["C"] = 8] = "C"; })(Computed || (Computed = {})); -var n; var e = n; // ok because it's too inconvenient otherwise e = 0; // ok, in range e = 4; // ok, out of range, but allowed computed enums don't have all members diff --git a/tests/baselines/reference/enumAssignmentCompat5.symbols b/tests/baselines/reference/enumAssignmentCompat5.symbols index 80bc35f1b36c3..545f410ffb13a 100644 --- a/tests/baselines/reference/enumAssignmentCompat5.symbols +++ b/tests/baselines/reference/enumAssignmentCompat5.symbols @@ -21,13 +21,13 @@ enum Computed { C = 1 << 3, >C : Symbol(Computed.C, Decl(enumAssignmentCompat5.ts, 5, 15)) } -let n: number; ->n : Symbol(n, Decl(enumAssignmentCompat5.ts, 8, 3)) +declare let n: number; +>n : Symbol(n, Decl(enumAssignmentCompat5.ts, 8, 11)) let e: E = n; // ok because it's too inconvenient otherwise >e : Symbol(e, Decl(enumAssignmentCompat5.ts, 9, 3)) >E : Symbol(E, Decl(enumAssignmentCompat5.ts, 0, 0)) ->n : Symbol(n, Decl(enumAssignmentCompat5.ts, 8, 3)) +>n : Symbol(n, Decl(enumAssignmentCompat5.ts, 8, 11)) e = 0; // ok, in range >e : Symbol(e, Decl(enumAssignmentCompat5.ts, 9, 3)) @@ -45,16 +45,16 @@ a = 2; // error, 2 !== 0 a = n; // ok >a : Symbol(a, Decl(enumAssignmentCompat5.ts, 12, 3)) ->n : Symbol(n, Decl(enumAssignmentCompat5.ts, 8, 3)) +>n : Symbol(n, Decl(enumAssignmentCompat5.ts, 8, 11)) let c: Computed = n; // ok >c : Symbol(c, Decl(enumAssignmentCompat5.ts, 16, 3)) >Computed : Symbol(Computed, Decl(enumAssignmentCompat5.ts, 2, 1)) ->n : Symbol(n, Decl(enumAssignmentCompat5.ts, 8, 3)) +>n : Symbol(n, Decl(enumAssignmentCompat5.ts, 8, 11)) c = n; // ok >c : Symbol(c, Decl(enumAssignmentCompat5.ts, 16, 3)) ->n : Symbol(n, Decl(enumAssignmentCompat5.ts, 8, 3)) +>n : Symbol(n, Decl(enumAssignmentCompat5.ts, 8, 11)) c = 4; // ok >c : Symbol(c, Decl(enumAssignmentCompat5.ts, 16, 3)) diff --git a/tests/baselines/reference/enumAssignmentCompat5.types b/tests/baselines/reference/enumAssignmentCompat5.types index 7538bf7b27bea..400a432c66cb0 100644 --- a/tests/baselines/reference/enumAssignmentCompat5.types +++ b/tests/baselines/reference/enumAssignmentCompat5.types @@ -47,7 +47,7 @@ enum Computed { >3 : 3 > : ^ } -let n: number; +declare let n: number; >n : number > : ^^^^^^ diff --git a/tests/baselines/reference/errorElaboration.errors.txt b/tests/baselines/reference/errorElaboration.errors.txt index 4b46c263726b1..af491ab3b3a6c 100644 --- a/tests/baselines/reference/errorElaboration.errors.txt +++ b/tests/baselines/reference/errorElaboration.errors.txt @@ -22,7 +22,7 @@ errorElaboration.ts(23,19): error TS2339: Property 'bar' does not exist on type declare function foo(x: () => Container>): void; ~~~ !!! error TS2300: Duplicate identifier 'foo'. - let a: () => Container>; + declare let a: () => Container>; foo(a); ~ !!! error TS2345: Argument of type '() => Container>' is not assignable to parameter of type '() => Container>'. diff --git a/tests/baselines/reference/errorElaboration.js b/tests/baselines/reference/errorElaboration.js index 5788b78dbd5eb..0ea7bed1a8177 100644 --- a/tests/baselines/reference/errorElaboration.js +++ b/tests/baselines/reference/errorElaboration.js @@ -11,7 +11,7 @@ interface Container { m2: T; } declare function foo(x: () => Container>): void; -let a: () => Container>; +declare let a: () => Container>; foo(a); // Repro for #25498 @@ -28,7 +28,6 @@ const x = ({ [foo.bar]: c }) => undefined; //// [errorElaboration.js] // Repro for #5712 -var a; foo(a); // Repro for #25498 function test() { diff --git a/tests/baselines/reference/errorElaboration.symbols b/tests/baselines/reference/errorElaboration.symbols index c4bfd5dd07574..74fe224b8e97f 100644 --- a/tests/baselines/reference/errorElaboration.symbols +++ b/tests/baselines/reference/errorElaboration.symbols @@ -31,14 +31,14 @@ declare function foo(x: () => Container>): void; >Container : Symbol(Container, Decl(errorElaboration.ts, 4, 1)) >Ref : Symbol(Ref, Decl(errorElaboration.ts, 0, 0)) -let a: () => Container>; ->a : Symbol(a, Decl(errorElaboration.ts, 10, 3)) +declare let a: () => Container>; +>a : Symbol(a, Decl(errorElaboration.ts, 10, 11)) >Container : Symbol(Container, Decl(errorElaboration.ts, 4, 1)) >Ref : Symbol(Ref, Decl(errorElaboration.ts, 0, 0)) foo(a); >foo : Symbol(foo, Decl(errorElaboration.ts, 8, 1)) ->a : Symbol(a, Decl(errorElaboration.ts, 10, 3)) +>a : Symbol(a, Decl(errorElaboration.ts, 10, 11)) // Repro for #25498 diff --git a/tests/baselines/reference/errorElaboration.types b/tests/baselines/reference/errorElaboration.types index 26e24684fdef6..a27b39418cb57 100644 --- a/tests/baselines/reference/errorElaboration.types +++ b/tests/baselines/reference/errorElaboration.types @@ -23,7 +23,7 @@ declare function foo(x: () => Container>): void; >x : () => Container> > : ^^^^^^ -let a: () => Container>; +declare let a: () => Container>; >a : () => Container> > : ^^^^^^ diff --git a/tests/baselines/reference/errorMessageOnObjectLiteralType.errors.txt b/tests/baselines/reference/errorMessageOnObjectLiteralType.errors.txt index 907357a0689d0..281f05380a477 100644 --- a/tests/baselines/reference/errorMessageOnObjectLiteralType.errors.txt +++ b/tests/baselines/reference/errorMessageOnObjectLiteralType.errors.txt @@ -3,7 +3,7 @@ errorMessageOnObjectLiteralType.ts(6,8): error TS2551: Property 'getOwnPropertyN ==== errorMessageOnObjectLiteralType.ts (2 errors) ==== - var x: { + declare var x: { a: string; b: number; }; diff --git a/tests/baselines/reference/errorMessageOnObjectLiteralType.js b/tests/baselines/reference/errorMessageOnObjectLiteralType.js index 2d14d7a75ef29..63f3e5ce1363a 100644 --- a/tests/baselines/reference/errorMessageOnObjectLiteralType.js +++ b/tests/baselines/reference/errorMessageOnObjectLiteralType.js @@ -1,7 +1,7 @@ //// [tests/cases/compiler/errorMessageOnObjectLiteralType.ts] //// //// [errorMessageOnObjectLiteralType.ts] -var x: { +declare var x: { a: string; b: number; }; @@ -9,6 +9,5 @@ x.getOwnPropertyNamess(); Object.getOwnPropertyNamess(null); //// [errorMessageOnObjectLiteralType.js] -var x; x.getOwnPropertyNamess(); Object.getOwnPropertyNamess(null); diff --git a/tests/baselines/reference/errorMessageOnObjectLiteralType.symbols b/tests/baselines/reference/errorMessageOnObjectLiteralType.symbols index b634b64ee7a0d..6d5c07de7ffd6 100644 --- a/tests/baselines/reference/errorMessageOnObjectLiteralType.symbols +++ b/tests/baselines/reference/errorMessageOnObjectLiteralType.symbols @@ -1,18 +1,18 @@ //// [tests/cases/compiler/errorMessageOnObjectLiteralType.ts] //// === errorMessageOnObjectLiteralType.ts === -var x: { ->x : Symbol(x, Decl(errorMessageOnObjectLiteralType.ts, 0, 3)) +declare var x: { +>x : Symbol(x, Decl(errorMessageOnObjectLiteralType.ts, 0, 11)) a: string; ->a : Symbol(a, Decl(errorMessageOnObjectLiteralType.ts, 0, 8)) +>a : Symbol(a, Decl(errorMessageOnObjectLiteralType.ts, 0, 16)) b: number; >b : Symbol(b, Decl(errorMessageOnObjectLiteralType.ts, 1, 14)) }; x.getOwnPropertyNamess(); ->x : Symbol(x, Decl(errorMessageOnObjectLiteralType.ts, 0, 3)) +>x : Symbol(x, Decl(errorMessageOnObjectLiteralType.ts, 0, 11)) Object.getOwnPropertyNamess(null); >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/errorMessageOnObjectLiteralType.types b/tests/baselines/reference/errorMessageOnObjectLiteralType.types index bab2eed08f83d..34c408adeca98 100644 --- a/tests/baselines/reference/errorMessageOnObjectLiteralType.types +++ b/tests/baselines/reference/errorMessageOnObjectLiteralType.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/errorMessageOnObjectLiteralType.ts] //// === errorMessageOnObjectLiteralType.ts === -var x: { +declare var x: { >x : { a: string; b: number; } > : ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/errorWithSameNameType.errors.txt b/tests/baselines/reference/errorWithSameNameType.errors.txt index 282462d525309..00ce37e18d615 100644 --- a/tests/baselines/reference/errorWithSameNameType.errors.txt +++ b/tests/baselines/reference/errorWithSameNameType.errors.txt @@ -16,8 +16,8 @@ c.ts(11,1): error TS2741: Property 'foo1' is missing in type 'import("b").F' but import * as A from './a' import * as B from './b' - let a: A.F - let b: B.F + declare let a: A.F + declare let b: B.F if (a === b) { ~~~~~~~ diff --git a/tests/baselines/reference/errorWithSameNameType.js b/tests/baselines/reference/errorWithSameNameType.js index 95e8aff34fde1..1176326dd65d6 100644 --- a/tests/baselines/reference/errorWithSameNameType.js +++ b/tests/baselines/reference/errorWithSameNameType.js @@ -14,8 +14,8 @@ export interface F { import * as A from './a' import * as B from './b' -let a: A.F -let b: B.F +declare let a: A.F +declare let b: B.F if (a === b) { @@ -33,8 +33,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [c.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var a; -var b; if (a === b) { } a = b; diff --git a/tests/baselines/reference/errorWithSameNameType.symbols b/tests/baselines/reference/errorWithSameNameType.symbols index a2a9af53d4584..b87065d1b3e0b 100644 --- a/tests/baselines/reference/errorWithSameNameType.symbols +++ b/tests/baselines/reference/errorWithSameNameType.symbols @@ -23,23 +23,23 @@ import * as A from './a' import * as B from './b' >B : Symbol(B, Decl(c.ts, 1, 6)) -let a: A.F ->a : Symbol(a, Decl(c.ts, 3, 3)) +declare let a: A.F +>a : Symbol(a, Decl(c.ts, 3, 11)) >A : Symbol(A, Decl(c.ts, 0, 6)) >F : Symbol(A.F, Decl(a.ts, 0, 0)) -let b: B.F ->b : Symbol(b, Decl(c.ts, 4, 3)) +declare let b: B.F +>b : Symbol(b, Decl(c.ts, 4, 11)) >B : Symbol(B, Decl(c.ts, 1, 6)) >F : Symbol(B.F, Decl(b.ts, 0, 0)) if (a === b) { ->a : Symbol(a, Decl(c.ts, 3, 3)) ->b : Symbol(b, Decl(c.ts, 4, 3)) +>a : Symbol(a, Decl(c.ts, 3, 11)) +>b : Symbol(b, Decl(c.ts, 4, 11)) } a = b ->a : Symbol(a, Decl(c.ts, 3, 3)) ->b : Symbol(b, Decl(c.ts, 4, 3)) +>a : Symbol(a, Decl(c.ts, 3, 11)) +>b : Symbol(b, Decl(c.ts, 4, 11)) diff --git a/tests/baselines/reference/errorWithSameNameType.types b/tests/baselines/reference/errorWithSameNameType.types index ecfc4f1c6abe2..32cd001ae72b9 100644 --- a/tests/baselines/reference/errorWithSameNameType.types +++ b/tests/baselines/reference/errorWithSameNameType.types @@ -23,13 +23,13 @@ import * as B from './b' >B : typeof B > : ^^^^^^^^ -let a: A.F +declare let a: A.F >a : A.F > : ^^^ >A : any > : ^^^ -let b: B.F +declare let b: B.F >b : B.F > : ^^^ >B : any diff --git a/tests/baselines/reference/errorWithTruncatedType.errors.txt b/tests/baselines/reference/errorWithTruncatedType.errors.txt index d461e78881e67..f90cde4019f92 100644 --- a/tests/baselines/reference/errorWithTruncatedType.errors.txt +++ b/tests/baselines/reference/errorWithTruncatedType.errors.txt @@ -2,7 +2,7 @@ errorWithTruncatedType.ts(10,5): error TS2322: Type '{ propertyWithAnExceedingly ==== errorWithTruncatedType.ts (1 errors) ==== - var x: { + declare var x: { propertyWithAnExceedinglyLongName1: string; propertyWithAnExceedinglyLongName2: string; propertyWithAnExceedinglyLongName3: string; diff --git a/tests/baselines/reference/errorWithTruncatedType.js b/tests/baselines/reference/errorWithTruncatedType.js index 8163474acc09e..2a8800c8477db 100644 --- a/tests/baselines/reference/errorWithTruncatedType.js +++ b/tests/baselines/reference/errorWithTruncatedType.js @@ -1,7 +1,7 @@ //// [tests/cases/compiler/errorWithTruncatedType.ts] //// //// [errorWithTruncatedType.ts] -var x: { +declare var x: { propertyWithAnExceedinglyLongName1: string; propertyWithAnExceedinglyLongName2: string; propertyWithAnExceedinglyLongName3: string; @@ -14,6 +14,5 @@ var s: string = x; //// [errorWithTruncatedType.js] -var x; // String representation of type of 'x' should be truncated in error message var s = x; diff --git a/tests/baselines/reference/errorWithTruncatedType.symbols b/tests/baselines/reference/errorWithTruncatedType.symbols index 80175be8e15ca..4e4dded516f0c 100644 --- a/tests/baselines/reference/errorWithTruncatedType.symbols +++ b/tests/baselines/reference/errorWithTruncatedType.symbols @@ -1,11 +1,11 @@ //// [tests/cases/compiler/errorWithTruncatedType.ts] //// === errorWithTruncatedType.ts === -var x: { ->x : Symbol(x, Decl(errorWithTruncatedType.ts, 0, 3)) +declare var x: { +>x : Symbol(x, Decl(errorWithTruncatedType.ts, 0, 11)) propertyWithAnExceedinglyLongName1: string; ->propertyWithAnExceedinglyLongName1 : Symbol(propertyWithAnExceedinglyLongName1, Decl(errorWithTruncatedType.ts, 0, 8)) +>propertyWithAnExceedinglyLongName1 : Symbol(propertyWithAnExceedinglyLongName1, Decl(errorWithTruncatedType.ts, 0, 16)) propertyWithAnExceedinglyLongName2: string; >propertyWithAnExceedinglyLongName2 : Symbol(propertyWithAnExceedinglyLongName2, Decl(errorWithTruncatedType.ts, 1, 47)) @@ -24,5 +24,5 @@ var x: { // String representation of type of 'x' should be truncated in error message var s: string = x; >s : Symbol(s, Decl(errorWithTruncatedType.ts, 9, 3)) ->x : Symbol(x, Decl(errorWithTruncatedType.ts, 0, 3)) +>x : Symbol(x, Decl(errorWithTruncatedType.ts, 0, 11)) diff --git a/tests/baselines/reference/errorWithTruncatedType.types b/tests/baselines/reference/errorWithTruncatedType.types index 40bfb59649232..ff38b5148298d 100644 --- a/tests/baselines/reference/errorWithTruncatedType.types +++ b/tests/baselines/reference/errorWithTruncatedType.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/errorWithTruncatedType.ts] //// === errorWithTruncatedType.ts === -var x: { +declare var x: { >x : { propertyWithAnExceedinglyLongName1: string; propertyWithAnExceedinglyLongName2: string; propertyWithAnExceedinglyLongName3: string; propertyWithAnExceedinglyLongName4: string; propertyWithAnExceedinglyLongName5: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.errors.txt b/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.errors.txt index 50c613e29eb8c..faa971f1d6e4f 100644 --- a/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.errors.txt +++ b/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.errors.txt @@ -61,12 +61,12 @@ exponentiationOperatorWithInvalidOperands.ts(68,12): error TS2362: The left-hand // an enum type enum E { a, b, c } - var a: any; - var b: boolean; - var c: number; - var d: string; - var e: { a: number }; - var f: Number; + declare var a: any; + declare var b: boolean; + declare var c: number; + declare var d: string; + declare var e: { a: number }; + declare var f: Number; // All of the below should be an error unless otherwise noted // operator ** diff --git a/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.js b/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.js index 2ac8e881c4739..9f45b969d94c6 100644 --- a/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.js +++ b/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.js @@ -5,12 +5,12 @@ // an enum type enum E { a, b, c } -var a: any; -var b: boolean; -var c: number; -var d: string; -var e: { a: number }; -var f: Number; +declare var a: any; +declare var b: boolean; +declare var c: number; +declare var d: string; +declare var e: { a: number }; +declare var f: Number; // All of the below should be an error unless otherwise noted // operator ** @@ -79,12 +79,6 @@ var E; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; })(E || (E = {})); -var a; -var b; -var c; -var d; -var e; -var f; // All of the below should be an error unless otherwise noted // operator ** var r1a1 = Math.pow(a, a); //ok diff --git a/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.symbols b/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.symbols index 0674bb3bfc491..3ec20a99dcd30 100644 --- a/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.symbols +++ b/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.symbols @@ -9,288 +9,288 @@ enum E { a, b, c } >b : Symbol(E.b, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 11)) >c : Symbol(E.c, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 14)) -var a: any; ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 3)) +declare var a: any; +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 11)) -var b: boolean; ->b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 3)) +declare var b: boolean; +>b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 11)) -var c: number; ->c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 3)) +declare var c: number; +>c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 11)) -var d: string; ->d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 3)) +declare var d: string; +>d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 11)) -var e: { a: number }; ->e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 8)) +declare var e: { a: number }; +>e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 11)) +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 16)) -var f: Number; ->f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) +declare var f: Number; +>f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 11)) >Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // All of the below should be an error unless otherwise noted // operator ** var r1a1 = a ** a; //ok >r1a1 : Symbol(r1a1, Decl(exponentiationOperatorWithInvalidOperands.ts, 13, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 11)) +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 11)) var r1a2 = a ** b; >r1a2 : Symbol(r1a2, Decl(exponentiationOperatorWithInvalidOperands.ts, 14, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 11)) +>b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 11)) var r1a3 = a ** c; //ok >r1a3 : Symbol(r1a3, Decl(exponentiationOperatorWithInvalidOperands.ts, 15, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 11)) +>c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 11)) var r1a4 = a ** d; >r1a4 : Symbol(r1a4, Decl(exponentiationOperatorWithInvalidOperands.ts, 16, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 3)) ->d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 11)) +>d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 11)) var r1a5 = a ** e; >r1a5 : Symbol(r1a5, Decl(exponentiationOperatorWithInvalidOperands.ts, 17, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 3)) ->e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 11)) +>e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 11)) var r1a6 = a ** f; >r1a6 : Symbol(r1a6, Decl(exponentiationOperatorWithInvalidOperands.ts, 18, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 3)) ->f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 11)) +>f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 11)) var r1b1 = b ** a; >r1b1 : Symbol(r1b1, Decl(exponentiationOperatorWithInvalidOperands.ts, 20, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 11)) +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 11)) var r1b2 = b ** b; >r1b2 : Symbol(r1b2, Decl(exponentiationOperatorWithInvalidOperands.ts, 21, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 11)) +>b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 11)) var r1b3 = b ** c; >r1b3 : Symbol(r1b3, Decl(exponentiationOperatorWithInvalidOperands.ts, 22, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 11)) +>c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 11)) var r1b4 = b ** d; >r1b4 : Symbol(r1b4, Decl(exponentiationOperatorWithInvalidOperands.ts, 23, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 3)) ->d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 11)) +>d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 11)) var r1b5 = b ** e; >r1b5 : Symbol(r1b5, Decl(exponentiationOperatorWithInvalidOperands.ts, 24, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 3)) ->e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 11)) +>e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 11)) var r1b6 = b ** f; >r1b6 : Symbol(r1b6, Decl(exponentiationOperatorWithInvalidOperands.ts, 25, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 3)) ->f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 11)) +>f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 11)) var r1c1 = c ** a; //ok >r1c1 : Symbol(r1c1, Decl(exponentiationOperatorWithInvalidOperands.ts, 27, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 3)) +>c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 11)) +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 11)) var r1c2 = c ** b; >r1c2 : Symbol(r1c2, Decl(exponentiationOperatorWithInvalidOperands.ts, 28, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 11)) +>b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 11)) var r1c3 = c ** c; //ok >r1c3 : Symbol(r1c3, Decl(exponentiationOperatorWithInvalidOperands.ts, 29, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 11)) +>c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 11)) var r1c4 = c ** d; >r1c4 : Symbol(r1c4, Decl(exponentiationOperatorWithInvalidOperands.ts, 30, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 3)) ->d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 3)) +>c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 11)) +>d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 11)) var r1c5 = c ** e; >r1c5 : Symbol(r1c5, Decl(exponentiationOperatorWithInvalidOperands.ts, 31, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 3)) ->e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 3)) +>c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 11)) +>e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 11)) var r1c6 = c ** f; >r1c6 : Symbol(r1c6, Decl(exponentiationOperatorWithInvalidOperands.ts, 32, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 3)) ->f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) +>c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 11)) +>f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 11)) var r1d1 = d ** a; >r1d1 : Symbol(r1d1, Decl(exponentiationOperatorWithInvalidOperands.ts, 34, 3)) ->d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 3)) +>d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 11)) +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 11)) var r1d2 = d ** b; >r1d2 : Symbol(r1d2, Decl(exponentiationOperatorWithInvalidOperands.ts, 35, 3)) ->d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 3)) +>d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 11)) +>b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 11)) var r1d3 = d ** c; >r1d3 : Symbol(r1d3, Decl(exponentiationOperatorWithInvalidOperands.ts, 36, 3)) ->d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 3)) +>d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 11)) +>c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 11)) var r1d4 = d ** d; >r1d4 : Symbol(r1d4, Decl(exponentiationOperatorWithInvalidOperands.ts, 37, 3)) ->d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 3)) ->d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 11)) +>d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 11)) var r1d5 = d ** e; >r1d5 : Symbol(r1d5, Decl(exponentiationOperatorWithInvalidOperands.ts, 38, 3)) ->d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 3)) ->e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 3)) +>d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 11)) +>e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 11)) var r1d6 = d ** f; >r1d6 : Symbol(r1d6, Decl(exponentiationOperatorWithInvalidOperands.ts, 39, 3)) ->d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 3)) ->f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) +>d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 11)) +>f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 11)) var r1e1 = e ** a; >r1e1 : Symbol(r1e1, Decl(exponentiationOperatorWithInvalidOperands.ts, 41, 3)) ->e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 3)) +>e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 11)) +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 11)) var r1e2 = e ** b; >r1e2 : Symbol(r1e2, Decl(exponentiationOperatorWithInvalidOperands.ts, 42, 3)) ->e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 3)) +>e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 11)) +>b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 11)) var r1e3 = e ** c; >r1e3 : Symbol(r1e3, Decl(exponentiationOperatorWithInvalidOperands.ts, 43, 3)) ->e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 3)) +>e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 11)) +>c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 11)) var r1e4 = e ** d; >r1e4 : Symbol(r1e4, Decl(exponentiationOperatorWithInvalidOperands.ts, 44, 3)) ->e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 3)) ->d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 3)) +>e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 11)) +>d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 11)) var r1e5 = e ** e; >r1e5 : Symbol(r1e5, Decl(exponentiationOperatorWithInvalidOperands.ts, 45, 3)) ->e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 3)) ->e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 11)) +>e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 11)) var r1e6 = e ** f; >r1e6 : Symbol(r1e6, Decl(exponentiationOperatorWithInvalidOperands.ts, 46, 3)) ->e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 3)) ->f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) +>e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 11)) +>f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 11)) var r1f1 = f ** a; >r1f1 : Symbol(r1f1, Decl(exponentiationOperatorWithInvalidOperands.ts, 48, 3)) ->f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 3)) +>f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 11)) +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 11)) var r1f2 = f ** b; >r1f2 : Symbol(r1f2, Decl(exponentiationOperatorWithInvalidOperands.ts, 49, 3)) ->f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 3)) +>f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 11)) +>b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 11)) var r1f3 = f ** c; >r1f3 : Symbol(r1f3, Decl(exponentiationOperatorWithInvalidOperands.ts, 50, 3)) ->f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 3)) +>f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 11)) +>c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 11)) var r1f4 = f ** d; >r1f4 : Symbol(r1f4, Decl(exponentiationOperatorWithInvalidOperands.ts, 51, 3)) ->f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) ->d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 3)) +>f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 11)) +>d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 11)) var r1f5 = f ** e; >r1f5 : Symbol(r1f5, Decl(exponentiationOperatorWithInvalidOperands.ts, 52, 3)) ->f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) ->e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 3)) +>f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 11)) +>e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 11)) var r1f6 = f ** f; >r1f6 : Symbol(r1f6, Decl(exponentiationOperatorWithInvalidOperands.ts, 53, 3)) ->f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) ->f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 11)) +>f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 11)) var r1g1 = E.a ** a; //ok >r1g1 : Symbol(r1g1, Decl(exponentiationOperatorWithInvalidOperands.ts, 55, 3)) >E.a : Symbol(E.a, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(exponentiationOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 8)) ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 11)) var r1g2 = E.a ** b; >r1g2 : Symbol(r1g2, Decl(exponentiationOperatorWithInvalidOperands.ts, 56, 3)) >E.a : Symbol(E.a, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(exponentiationOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 8)) ->b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 11)) var r1g3 = E.a ** c; //ok >r1g3 : Symbol(r1g3, Decl(exponentiationOperatorWithInvalidOperands.ts, 57, 3)) >E.a : Symbol(E.a, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(exponentiationOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 8)) ->c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 11)) var r1g4 = E.a ** d; >r1g4 : Symbol(r1g4, Decl(exponentiationOperatorWithInvalidOperands.ts, 58, 3)) >E.a : Symbol(E.a, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(exponentiationOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 8)) ->d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 11)) var r1g5 = E.a ** e; >r1g5 : Symbol(r1g5, Decl(exponentiationOperatorWithInvalidOperands.ts, 59, 3)) >E.a : Symbol(E.a, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(exponentiationOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 8)) ->e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 11)) var r1g6 = E.a ** f; >r1g6 : Symbol(r1g6, Decl(exponentiationOperatorWithInvalidOperands.ts, 60, 3)) >E.a : Symbol(E.a, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 8)) >E : Symbol(E, Decl(exponentiationOperatorWithInvalidOperands.ts, 0, 0)) >a : Symbol(E.a, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 8)) ->f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 11)) var r1h1 = a ** E.b; //ok >r1h1 : Symbol(r1h1, Decl(exponentiationOperatorWithInvalidOperands.ts, 62, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithInvalidOperands.ts, 4, 11)) >E.b : Symbol(E.b, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(exponentiationOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 11)) var r1h2 = b ** E.b; >r1h2 : Symbol(r1h2, Decl(exponentiationOperatorWithInvalidOperands.ts, 63, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithInvalidOperands.ts, 5, 11)) >E.b : Symbol(E.b, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(exponentiationOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 11)) var r1h3 = c ** E.b; //ok >r1h3 : Symbol(r1h3, Decl(exponentiationOperatorWithInvalidOperands.ts, 64, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 3)) +>c : Symbol(c, Decl(exponentiationOperatorWithInvalidOperands.ts, 6, 11)) >E.b : Symbol(E.b, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(exponentiationOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 11)) var r1h4 = d ** E.b; >r1h4 : Symbol(r1h4, Decl(exponentiationOperatorWithInvalidOperands.ts, 65, 3)) ->d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 3)) +>d : Symbol(d, Decl(exponentiationOperatorWithInvalidOperands.ts, 7, 11)) >E.b : Symbol(E.b, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(exponentiationOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 11)) var r1h5 = e ** E.b; >r1h5 : Symbol(r1h5, Decl(exponentiationOperatorWithInvalidOperands.ts, 66, 3)) ->e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 3)) +>e : Symbol(e, Decl(exponentiationOperatorWithInvalidOperands.ts, 8, 11)) >E.b : Symbol(E.b, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(exponentiationOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 11)) var r1h6 = f ** E.b >r1h6 : Symbol(r1h6, Decl(exponentiationOperatorWithInvalidOperands.ts, 67, 3)) ->f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) +>f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 11)) >E.b : Symbol(E.b, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 11)) >E : Symbol(E, Decl(exponentiationOperatorWithInvalidOperands.ts, 0, 0)) >b : Symbol(E.b, Decl(exponentiationOperatorWithInvalidOperands.ts, 2, 11)) diff --git a/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.types b/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.types index 3691580b1afe8..dacbdb95130a9 100644 --- a/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.types +++ b/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.types @@ -13,29 +13,29 @@ enum E { a, b, c } >c : E.c > : ^^^ -var a: any; +declare var a: any; >a : any > : ^^^ -var b: boolean; +declare var b: boolean; >b : boolean > : ^^^^^^^ -var c: number; +declare var c: number; >c : number > : ^^^^^^ -var d: string; +declare var d: string; >d : string > : ^^^^^^ -var e: { a: number }; +declare var e: { a: number }; >e : { a: number; } > : ^^^^^ ^^^ >a : number > : ^^^^^^ -var f: Number; +declare var f: Number; >f : Number > : ^^^^^^ diff --git a/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.errors.txt b/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.errors.txt index 36676e82a991f..4b93351318d07 100644 --- a/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.errors.txt +++ b/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.errors.txt @@ -28,9 +28,9 @@ exponentiationOperatorWithNullValueAndInvalidOperands.ts(23,18): error TS18050: // If one operand is the null or undefined value, it is treated as having the type of the // other operand. - var a: boolean; - var b: string; - var c: Object; + declare var a: boolean; + declare var b: string; + declare var c: Object; // operator ** var r1a1 = null ** a; diff --git a/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.js b/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.js index 3d29c4cf16e99..f52cdfde69870 100644 --- a/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.js +++ b/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.js @@ -4,9 +4,9 @@ // If one operand is the null or undefined value, it is treated as having the type of the // other operand. -var a: boolean; -var b: string; -var c: Object; +declare var a: boolean; +declare var b: string; +declare var c: Object; // operator ** var r1a1 = null ** a; @@ -28,9 +28,6 @@ var r1d3 = {} ** null; //// [exponentiationOperatorWithNullValueAndInvalidOperands.js] // If one operand is the null or undefined value, it is treated as having the type of the // other operand. -var a; -var b; -var c; // operator ** var r1a1 = Math.pow(null, a); var r1a2 = Math.pow(null, b); diff --git a/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.symbols b/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.symbols index 26c1f1e3e9056..407fb5af0fab1 100644 --- a/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.symbols +++ b/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.symbols @@ -4,40 +4,40 @@ // If one operand is the null or undefined value, it is treated as having the type of the // other operand. -var a: boolean; ->a : Symbol(a, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +declare var a: boolean; +>a : Symbol(a, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) -var b: string; ->b : Symbol(b, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +declare var b: string; +>b : Symbol(b, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) -var c: Object; ->c : Symbol(c, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +declare var c: Object; +>c : Symbol(c, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // operator ** var r1a1 = null ** a; >r1a1 : Symbol(r1a1, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 8, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r1a2 = null ** b; >r1a2 : Symbol(r1a2, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 9, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r1a3 = null ** c; >r1a3 : Symbol(r1a3, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 10, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r1b1 = a ** null; >r1b1 : Symbol(r1b1, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 12, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 3, 11)) var r1b2 = b ** null; >r1b2 : Symbol(r1b2, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 13, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 4, 11)) var r1b3 = c ** null; >r1b3 : Symbol(r1b3, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 14, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 5, 11)) var r1c1 = null ** true; >r1c1 : Symbol(r1c1, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 16, 3)) diff --git a/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.types b/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.types index 07b06309ce8f2..3c1898af61682 100644 --- a/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.types +++ b/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.types @@ -4,15 +4,15 @@ // If one operand is the null or undefined value, it is treated as having the type of the // other operand. -var a: boolean; +declare var a: boolean; >a : boolean > : ^^^^^^^ -var b: string; +declare var b: string; >b : string > : ^^^^^^ -var c: Object; +declare var c: Object; >c : Object > : ^^^^^^ diff --git a/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.errors.txt b/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.errors.txt index 1c27f0914bb36..070e1a1e214a9 100644 --- a/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.errors.txt +++ b/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.errors.txt @@ -17,8 +17,8 @@ exponentiationOperatorWithNullValueAndValidOperands.ts(20,17): error TS18050: Th b } - var a: any; - var b: number; + declare var a: any; + declare var b: number; // operator ** var r1 = null ** a; diff --git a/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.js b/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.js index 48e046bc3cbd7..de86a45f2282b 100644 --- a/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.js +++ b/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.js @@ -9,8 +9,8 @@ enum E { b } -var a: any; -var b: number; +declare var a: any; +declare var b: number; // operator ** var r1 = null ** a; @@ -30,8 +30,6 @@ var E; E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; })(E || (E = {})); -var a; -var b; // operator ** var r1 = Math.pow(null, a); var r2 = Math.pow(null, b); diff --git a/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.symbols b/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.symbols index 888e1b54615eb..c7332150349f3 100644 --- a/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.symbols +++ b/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.symbols @@ -14,20 +14,20 @@ enum E { >b : Symbol(E.b, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 4, 6)) } -var a: any; ->a : Symbol(a, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 8, 3)) +declare var a: any; +>a : Symbol(a, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 8, 11)) -var b: number; ->b : Symbol(b, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 9, 3)) +declare var b: number; +>b : Symbol(b, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 9, 11)) // operator ** var r1 = null ** a; >r1 : Symbol(r1, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 12, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 8, 11)) var r2 = null ** b; >r2 : Symbol(r2, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 13, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 9, 11)) var r3 = null ** 1; >r3 : Symbol(r3, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 14, 3)) @@ -40,11 +40,11 @@ var r4 = null ** E.a; var r5 = a ** null; >r5 : Symbol(r5, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 16, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 8, 11)) var r6 = b ** null; >r6 : Symbol(r6, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 17, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 9, 11)) var r7 = 0 ** null; >r7 : Symbol(r7, Decl(exponentiationOperatorWithNullValueAndValidOperands.ts, 18, 3)) diff --git a/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.types b/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.types index 6a245a029f36b..cea8025cde9fc 100644 --- a/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.types +++ b/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.types @@ -17,11 +17,11 @@ enum E { > : ^^^ } -var a: any; +declare var a: any; >a : any > : ^^^ -var b: number; +declare var b: number; >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/exponentiationOperatorWithTypeParameter.errors.txt b/tests/baselines/reference/exponentiationOperatorWithTypeParameter.errors.txt index 9cf7e7ccb10a9..f348888428d8f 100644 --- a/tests/baselines/reference/exponentiationOperatorWithTypeParameter.errors.txt +++ b/tests/baselines/reference/exponentiationOperatorWithTypeParameter.errors.txt @@ -21,11 +21,11 @@ exponentiationOperatorWithTypeParameter.ts(19,21): error TS2363: The right-hand ==== exponentiationOperatorWithTypeParameter.ts (18 errors) ==== // type parameter type is not valid for arithmetic operand function foo(t: T) { - var a: any; - var b: boolean; - var c: number; - var d: string; - var e: {}; + var a!: any; + var b!: boolean; + var c!: number; + var d!: string; + var e!: {}; var r1a1 = a ** t; ~ diff --git a/tests/baselines/reference/exponentiationOperatorWithTypeParameter.js b/tests/baselines/reference/exponentiationOperatorWithTypeParameter.js index 449193bbc9cad..c9dcb316211ab 100644 --- a/tests/baselines/reference/exponentiationOperatorWithTypeParameter.js +++ b/tests/baselines/reference/exponentiationOperatorWithTypeParameter.js @@ -3,11 +3,11 @@ //// [exponentiationOperatorWithTypeParameter.ts] // type parameter type is not valid for arithmetic operand function foo(t: T) { - var a: any; - var b: boolean; - var c: number; - var d: string; - var e: {}; + var a!: any; + var b!: boolean; + var c!: number; + var d!: string; + var e!: {}; var r1a1 = a ** t; var r2a1 = t ** a; diff --git a/tests/baselines/reference/exponentiationOperatorWithTypeParameter.symbols b/tests/baselines/reference/exponentiationOperatorWithTypeParameter.symbols index 38e08eaee046a..bf73bb5282536 100644 --- a/tests/baselines/reference/exponentiationOperatorWithTypeParameter.symbols +++ b/tests/baselines/reference/exponentiationOperatorWithTypeParameter.symbols @@ -8,19 +8,19 @@ function foo(t: T) { >t : Symbol(t, Decl(exponentiationOperatorWithTypeParameter.ts, 1, 16)) >T : Symbol(T, Decl(exponentiationOperatorWithTypeParameter.ts, 1, 13)) - var a: any; + var a!: any; >a : Symbol(a, Decl(exponentiationOperatorWithTypeParameter.ts, 2, 7)) - var b: boolean; + var b!: boolean; >b : Symbol(b, Decl(exponentiationOperatorWithTypeParameter.ts, 3, 7)) - var c: number; + var c!: number; >c : Symbol(c, Decl(exponentiationOperatorWithTypeParameter.ts, 4, 7)) - var d: string; + var d!: string; >d : Symbol(d, Decl(exponentiationOperatorWithTypeParameter.ts, 5, 7)) - var e: {}; + var e!: {}; >e : Symbol(e, Decl(exponentiationOperatorWithTypeParameter.ts, 6, 7)) var r1a1 = a ** t; diff --git a/tests/baselines/reference/exponentiationOperatorWithTypeParameter.types b/tests/baselines/reference/exponentiationOperatorWithTypeParameter.types index 6baf251bbe260..62071a6729b50 100644 --- a/tests/baselines/reference/exponentiationOperatorWithTypeParameter.types +++ b/tests/baselines/reference/exponentiationOperatorWithTypeParameter.types @@ -8,23 +8,23 @@ function foo(t: T) { >t : T > : ^ - var a: any; + var a!: any; >a : any > : ^^^ - var b: boolean; + var b!: boolean; >b : boolean > : ^^^^^^^ - var c: number; + var c!: number; >c : number > : ^^^^^^ - var d: string; + var d!: string; >d : string > : ^^^^^^ - var e: {}; + var e!: {}; >e : {} > : ^^ diff --git a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.errors.txt b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.errors.txt index b27525cd1b938..3a5f8b8c3a545 100644 --- a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.errors.txt +++ b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.errors.txt @@ -28,9 +28,9 @@ exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts(23,18): error TS18 // If one operand is the undefined or undefined value, it is treated as having the type of the // other operand. - var a: boolean; - var b: string; - var c: Object; + declare var a: boolean; + declare var b: string; + declare var c: Object; // operator ** var r1a1 = undefined ** a; diff --git a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.js b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.js index a113479f27126..e0a9130d21177 100644 --- a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.js +++ b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.js @@ -4,9 +4,9 @@ // If one operand is the undefined or undefined value, it is treated as having the type of the // other operand. -var a: boolean; -var b: string; -var c: Object; +declare var a: boolean; +declare var b: string; +declare var c: Object; // operator ** var r1a1 = undefined ** a; @@ -28,9 +28,6 @@ var r1d3 = {} ** undefined; //// [exponentiationOperatorWithUndefinedValueAndInvalidOperands.js] // If one operand is the undefined or undefined value, it is treated as having the type of the // other operand. -var a; -var b; -var c; // operator ** var r1a1 = Math.pow(undefined, a); var r1a2 = Math.pow(undefined, b); diff --git a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.symbols b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.symbols index 58875fb318d69..b49de1ee9f7aa 100644 --- a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.symbols +++ b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.symbols @@ -4,45 +4,45 @@ // If one operand is the undefined or undefined value, it is treated as having the type of the // other operand. -var a: boolean; ->a : Symbol(a, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +declare var a: boolean; +>a : Symbol(a, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) -var b: string; ->b : Symbol(b, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +declare var b: string; +>b : Symbol(b, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) -var c: Object; ->c : Symbol(c, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +declare var c: Object; +>c : Symbol(c, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // operator ** var r1a1 = undefined ** a; >r1a1 : Symbol(r1a1, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 8, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) var r1a2 = undefined ** b; >r1a2 : Symbol(r1a2, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 9, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) var r1a3 = undefined ** c; >r1a3 : Symbol(r1a3, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 10, 3)) >undefined : Symbol(undefined) ->c : Symbol(c, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) var r1b1 = a ** undefined; >r1b1 : Symbol(r1b1, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 12, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 3, 11)) >undefined : Symbol(undefined) var r1b2 = b ** undefined; >r1b2 : Symbol(r1b2, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 13, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 4, 11)) >undefined : Symbol(undefined) var r1b3 = c ** undefined; >r1b3 : Symbol(r1b3, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 14, 3)) ->c : Symbol(c, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) +>c : Symbol(c, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 11)) >undefined : Symbol(undefined) var r1c1 = undefined ** true; diff --git a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.types b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.types index bbe7ce1ed12c0..cccc65d9a2b29 100644 --- a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.types +++ b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.types @@ -4,15 +4,15 @@ // If one operand is the undefined or undefined value, it is treated as having the type of the // other operand. -var a: boolean; +declare var a: boolean; >a : boolean > : ^^^^^^^ -var b: string; +declare var b: string; >b : string > : ^^^^^^ -var c: Object; +declare var c: Object; >c : Object > : ^^^^^^ diff --git a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.errors.txt b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.errors.txt index ea2de6e3f4cab..78fcc489b5c96 100644 --- a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.errors.txt +++ b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.errors.txt @@ -17,8 +17,8 @@ exponentiationOperatorWithUndefinedValueAndValidOperands.ts(20,18): error TS1805 b } - var a: any; - var b: number; + declare var a: any; + declare var b: number; // operator * var rk1 = undefined ** a; diff --git a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.js b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.js index f1aae0d14d80f..1dcfd18eadfee 100644 --- a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.js +++ b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.js @@ -9,8 +9,8 @@ enum E { b } -var a: any; -var b: number; +declare var a: any; +declare var b: number; // operator * var rk1 = undefined ** a; @@ -30,8 +30,6 @@ var E; E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; })(E || (E = {})); -var a; -var b; // operator * var rk1 = Math.pow(undefined, a); var rk2 = Math.pow(undefined, b); diff --git a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.symbols b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.symbols index cf2fa8043cb1e..f1a50835249ef 100644 --- a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.symbols +++ b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.symbols @@ -14,22 +14,22 @@ enum E { >b : Symbol(E.b, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 4, 6)) } -var a: any; ->a : Symbol(a, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +declare var a: any; +>a : Symbol(a, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) -var b: number; ->b : Symbol(b, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +declare var b: number; +>b : Symbol(b, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) // operator * var rk1 = undefined ** a; >rk1 : Symbol(rk1, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 12, 3)) >undefined : Symbol(undefined) ->a : Symbol(a, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) var rk2 = undefined ** b; >rk2 : Symbol(rk2, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 13, 3)) >undefined : Symbol(undefined) ->b : Symbol(b, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) var rk3 = undefined ** 1; >rk3 : Symbol(rk3, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 14, 3)) @@ -44,12 +44,12 @@ var rk4 = undefined ** E.a; var rk5 = a ** undefined; >rk5 : Symbol(rk5, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 16, 3)) ->a : Symbol(a, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 8, 3)) +>a : Symbol(a, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 8, 11)) >undefined : Symbol(undefined) var rk6 = b ** undefined; >rk6 : Symbol(rk6, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 17, 3)) ->b : Symbol(b, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 9, 3)) +>b : Symbol(b, Decl(exponentiationOperatorWithUndefinedValueAndValidOperands.ts, 9, 11)) >undefined : Symbol(undefined) var rk7 = 0 ** undefined; diff --git a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.types b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.types index 3b313f32dbf09..010d09bd2e248 100644 --- a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.types +++ b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.types @@ -17,11 +17,11 @@ enum E { > : ^^^ } -var a: any; +declare var a: any; >a : any > : ^^^ -var b: number; +declare var b: number; >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.errors.txt b/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.errors.txt index 5a89beeda9696..263bd5a747389 100644 --- a/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.errors.txt +++ b/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.errors.txt @@ -11,7 +11,7 @@ exportAssignmentOfDeclaredExternalModule_1.ts(4,9): error TS2693: 'Sammy' only r var y = Sammy(); // error to use interface name as call target ~~~~~ !!! error TS2693: 'Sammy' only refers to a type, but is being used as a value here. - var z: Sammy; // no error - z is of type interface Sammy from module 'M' + declare var z: Sammy; // no error - z is of type interface Sammy from module 'M' var a = new z(); // constructor - no error var b = z(); // call signature - no error ==== exportAssignmentOfDeclaredExternalModule_0.ts (0 errors) ==== diff --git a/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.js b/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.js index db6b9e2fb3ef5..e36f10e7eab12 100644 --- a/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.js +++ b/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.js @@ -12,7 +12,7 @@ export = Sammy; import Sammy = require('./exportAssignmentOfDeclaredExternalModule_0'); var x = new Sammy(); // error to use as constructor as there is not constructor symbol var y = Sammy(); // error to use interface name as call target -var z: Sammy; // no error - z is of type interface Sammy from module 'M' +declare var z: Sammy; // no error - z is of type interface Sammy from module 'M' var a = new z(); // constructor - no error var b = z(); // call signature - no error @@ -24,6 +24,5 @@ Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true }); var x = new Sammy(); // error to use as constructor as there is not constructor symbol var y = Sammy(); // error to use interface name as call target -var z; // no error - z is of type interface Sammy from module 'M' var a = new z(); // constructor - no error var b = z(); // call signature - no error diff --git a/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.symbols b/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.symbols index 31bcc58f646a5..7cac3b5b90cdd 100644 --- a/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.symbols +++ b/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.symbols @@ -11,17 +11,17 @@ var x = new Sammy(); // error to use as constructor as there is not constructor var y = Sammy(); // error to use interface name as call target >y : Symbol(y, Decl(exportAssignmentOfDeclaredExternalModule_1.ts, 3, 3)) -var z: Sammy; // no error - z is of type interface Sammy from module 'M' ->z : Symbol(z, Decl(exportAssignmentOfDeclaredExternalModule_1.ts, 4, 3)) +declare var z: Sammy; // no error - z is of type interface Sammy from module 'M' +>z : Symbol(z, Decl(exportAssignmentOfDeclaredExternalModule_1.ts, 4, 11)) >Sammy : Symbol(Sammy, Decl(exportAssignmentOfDeclaredExternalModule_1.ts, 0, 0)) var a = new z(); // constructor - no error >a : Symbol(a, Decl(exportAssignmentOfDeclaredExternalModule_1.ts, 5, 3)) ->z : Symbol(z, Decl(exportAssignmentOfDeclaredExternalModule_1.ts, 4, 3)) +>z : Symbol(z, Decl(exportAssignmentOfDeclaredExternalModule_1.ts, 4, 11)) var b = z(); // call signature - no error >b : Symbol(b, Decl(exportAssignmentOfDeclaredExternalModule_1.ts, 6, 3)) ->z : Symbol(z, Decl(exportAssignmentOfDeclaredExternalModule_1.ts, 4, 3)) +>z : Symbol(z, Decl(exportAssignmentOfDeclaredExternalModule_1.ts, 4, 11)) === exportAssignmentOfDeclaredExternalModule_0.ts === interface Sammy { diff --git a/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.types b/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.types index 973f0a9803eb5..e0655836eb31d 100644 --- a/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.types +++ b/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.types @@ -22,7 +22,7 @@ var y = Sammy(); // error to use interface name as call target >Sammy : any > : ^^^ -var z: Sammy; // no error - z is of type interface Sammy from module 'M' +declare var z: Sammy; // no error - z is of type interface Sammy from module 'M' >z : Sammy > : ^^^^^ diff --git a/tests/baselines/reference/exportEqualErrorType.errors.txt b/tests/baselines/reference/exportEqualErrorType.errors.txt index 37b58684c5726..0f0d32f173de2 100644 --- a/tests/baselines/reference/exportEqualErrorType.errors.txt +++ b/tests/baselines/reference/exportEqualErrorType.errors.txt @@ -17,7 +17,7 @@ exportEqualErrorType_1.ts(3,23): error TS2339: Property 'static' does not exist use: (mod: connectModule) => connectExport; } } - var server: { + declare var server: { (): server.connectExport; foo: Date; }; diff --git a/tests/baselines/reference/exportEqualErrorType.js b/tests/baselines/reference/exportEqualErrorType.js index d1221baaa86d3..8ff1328676e93 100644 --- a/tests/baselines/reference/exportEqualErrorType.js +++ b/tests/baselines/reference/exportEqualErrorType.js @@ -9,7 +9,7 @@ namespace server { use: (mod: connectModule) => connectExport; } } -var server: { +declare var server: { (): server.connectExport; foo: Date; }; @@ -23,7 +23,6 @@ connect().use(connect.static('foo')); // Error 1 The property 'static' doe //// [exportEqualErrorType_0.js] "use strict"; -var server; module.exports = server; //// [exportEqualErrorType_1.js] "use strict"; diff --git a/tests/baselines/reference/exportEqualErrorType.symbols b/tests/baselines/reference/exportEqualErrorType.symbols index d56b1472fdb58..0e38749de8ab4 100644 --- a/tests/baselines/reference/exportEqualErrorType.symbols +++ b/tests/baselines/reference/exportEqualErrorType.symbols @@ -13,7 +13,7 @@ connect().use(connect.static('foo')); // Error 1 The property 'static' doe === exportEqualErrorType_0.ts === namespace server { ->server : Symbol(server, Decl(exportEqualErrorType_0.ts, 0, 0), Decl(exportEqualErrorType_0.ts, 8, 3)) +>server : Symbol(server, Decl(exportEqualErrorType_0.ts, 0, 0), Decl(exportEqualErrorType_0.ts, 8, 11)) export interface connectModule { >connectModule : Symbol(connectModule, Decl(exportEqualErrorType_0.ts, 0, 18)) @@ -33,11 +33,11 @@ namespace server { >connectExport : Symbol(connectExport, Decl(exportEqualErrorType_0.ts, 3, 5)) } } -var server: { ->server : Symbol(server, Decl(exportEqualErrorType_0.ts, 0, 0), Decl(exportEqualErrorType_0.ts, 8, 3)) +declare var server: { +>server : Symbol(server, Decl(exportEqualErrorType_0.ts, 0, 0), Decl(exportEqualErrorType_0.ts, 8, 11)) (): server.connectExport; ->server : Symbol(server, Decl(exportEqualErrorType_0.ts, 0, 0), Decl(exportEqualErrorType_0.ts, 8, 3)) +>server : Symbol(server, Decl(exportEqualErrorType_0.ts, 0, 0), Decl(exportEqualErrorType_0.ts, 8, 11)) >connectExport : Symbol(server.connectExport, Decl(exportEqualErrorType_0.ts, 3, 5)) foo: Date; @@ -46,5 +46,5 @@ var server: { }; export = server; ->server : Symbol(server, Decl(exportEqualErrorType_0.ts, 0, 0), Decl(exportEqualErrorType_0.ts, 8, 3)) +>server : Symbol(server, Decl(exportEqualErrorType_0.ts, 0, 0), Decl(exportEqualErrorType_0.ts, 8, 11)) diff --git a/tests/baselines/reference/exportEqualErrorType.types b/tests/baselines/reference/exportEqualErrorType.types index 673882b391485..3abfbe695d531 100644 --- a/tests/baselines/reference/exportEqualErrorType.types +++ b/tests/baselines/reference/exportEqualErrorType.types @@ -47,7 +47,7 @@ namespace server { > : ^^^^^^^^^^^^^ } } -var server: { +declare var server: { >server : { (): server.connectExport; foo: Date; } > : ^^^^^^ ^^^^^^^ ^^^ diff --git a/tests/baselines/reference/exportEqualMemberMissing.errors.txt b/tests/baselines/reference/exportEqualMemberMissing.errors.txt index f255aaa4583e6..b406b8d764d20 100644 --- a/tests/baselines/reference/exportEqualMemberMissing.errors.txt +++ b/tests/baselines/reference/exportEqualMemberMissing.errors.txt @@ -17,7 +17,7 @@ exportEqualMemberMissing_1.ts(3,23): error TS2339: Property 'static' does not ex use: (mod: connectModule) => connectExport; } } - var server: { + declare var server: { (): server.connectExport; foo: Date; }; diff --git a/tests/baselines/reference/exportEqualMemberMissing.js b/tests/baselines/reference/exportEqualMemberMissing.js index 47611dc052ec5..14c710b5cc855 100644 --- a/tests/baselines/reference/exportEqualMemberMissing.js +++ b/tests/baselines/reference/exportEqualMemberMissing.js @@ -9,7 +9,7 @@ namespace server { use: (mod: connectModule) => connectExport; } } -var server: { +declare var server: { (): server.connectExport; foo: Date; }; @@ -23,7 +23,6 @@ connect().use(connect.static('foo')); // Error 1 The property 'static' does not //// [exportEqualMemberMissing_0.js] "use strict"; -var server; module.exports = server; //// [exportEqualMemberMissing_1.js] "use strict"; diff --git a/tests/baselines/reference/exportEqualMemberMissing.symbols b/tests/baselines/reference/exportEqualMemberMissing.symbols index 634ebbf47c160..d1db9c5faf2f9 100644 --- a/tests/baselines/reference/exportEqualMemberMissing.symbols +++ b/tests/baselines/reference/exportEqualMemberMissing.symbols @@ -13,7 +13,7 @@ connect().use(connect.static('foo')); // Error 1 The property 'static' does not === exportEqualMemberMissing_0.ts === namespace server { ->server : Symbol(server, Decl(exportEqualMemberMissing_0.ts, 0, 0), Decl(exportEqualMemberMissing_0.ts, 8, 3)) +>server : Symbol(server, Decl(exportEqualMemberMissing_0.ts, 0, 0), Decl(exportEqualMemberMissing_0.ts, 8, 11)) export interface connectModule { >connectModule : Symbol(connectModule, Decl(exportEqualMemberMissing_0.ts, 0, 18)) @@ -33,11 +33,11 @@ namespace server { >connectExport : Symbol(connectExport, Decl(exportEqualMemberMissing_0.ts, 3, 5)) } } -var server: { ->server : Symbol(server, Decl(exportEqualMemberMissing_0.ts, 0, 0), Decl(exportEqualMemberMissing_0.ts, 8, 3)) +declare var server: { +>server : Symbol(server, Decl(exportEqualMemberMissing_0.ts, 0, 0), Decl(exportEqualMemberMissing_0.ts, 8, 11)) (): server.connectExport; ->server : Symbol(server, Decl(exportEqualMemberMissing_0.ts, 0, 0), Decl(exportEqualMemberMissing_0.ts, 8, 3)) +>server : Symbol(server, Decl(exportEqualMemberMissing_0.ts, 0, 0), Decl(exportEqualMemberMissing_0.ts, 8, 11)) >connectExport : Symbol(server.connectExport, Decl(exportEqualMemberMissing_0.ts, 3, 5)) foo: Date; @@ -46,5 +46,5 @@ var server: { }; export = server; ->server : Symbol(server, Decl(exportEqualMemberMissing_0.ts, 0, 0), Decl(exportEqualMemberMissing_0.ts, 8, 3)) +>server : Symbol(server, Decl(exportEqualMemberMissing_0.ts, 0, 0), Decl(exportEqualMemberMissing_0.ts, 8, 11)) diff --git a/tests/baselines/reference/exportEqualMemberMissing.types b/tests/baselines/reference/exportEqualMemberMissing.types index 23e1af6173f40..20fcf4fe87cb5 100644 --- a/tests/baselines/reference/exportEqualMemberMissing.types +++ b/tests/baselines/reference/exportEqualMemberMissing.types @@ -47,7 +47,7 @@ namespace server { > : ^^^^^^^^^^^^^ } } -var server: { +declare var server: { >server : { (): server.connectExport; foo: Date; } > : ^^^^^^ ^^^^^^^ ^^^ diff --git a/tests/baselines/reference/exportSpecifierForAGlobal.errors.txt b/tests/baselines/reference/exportSpecifierForAGlobal.errors.txt index f468cf161580d..591a459c3653c 100644 --- a/tests/baselines/reference/exportSpecifierForAGlobal.errors.txt +++ b/tests/baselines/reference/exportSpecifierForAGlobal.errors.txt @@ -9,7 +9,7 @@ b.ts(1,9): error TS2661: Cannot export 'X'. Only local declarations can be expor ~ !!! error TS2661: Cannot export 'X'. Only local declarations can be exported from a module. export function f() { - var x: X; + var x!: X; return x; } \ No newline at end of file diff --git a/tests/baselines/reference/exportSpecifierForAGlobal.js b/tests/baselines/reference/exportSpecifierForAGlobal.js index dfd37fa14812d..4aaf37a2ef1d9 100644 --- a/tests/baselines/reference/exportSpecifierForAGlobal.js +++ b/tests/baselines/reference/exportSpecifierForAGlobal.js @@ -6,7 +6,7 @@ declare class X { } //// [b.ts] export {X}; export function f() { - var x: X; + var x!: X; return x; } diff --git a/tests/baselines/reference/exportSpecifierForAGlobal.symbols b/tests/baselines/reference/exportSpecifierForAGlobal.symbols index 73e88fb5324b5..fee279d372c4e 100644 --- a/tests/baselines/reference/exportSpecifierForAGlobal.symbols +++ b/tests/baselines/reference/exportSpecifierForAGlobal.symbols @@ -11,7 +11,7 @@ export {X}; export function f() { >f : Symbol(f, Decl(b.ts, 0, 11)) - var x: X; + var x!: X; >x : Symbol(x, Decl(b.ts, 2, 7)) >X : Symbol(X, Decl(a.d.ts, 0, 0)) diff --git a/tests/baselines/reference/exportSpecifierForAGlobal.types b/tests/baselines/reference/exportSpecifierForAGlobal.types index 8e63ec2bb6024..68623deab0a70 100644 --- a/tests/baselines/reference/exportSpecifierForAGlobal.types +++ b/tests/baselines/reference/exportSpecifierForAGlobal.types @@ -14,7 +14,7 @@ export function f() { >f : () => X > : ^^^^^^^ - var x: X; + var x!: X; >x : X > : ^ diff --git a/tests/baselines/reference/expr.errors.txt b/tests/baselines/reference/expr.errors.txt index 4516be7044dc5..39f901bbf473c 100644 --- a/tests/baselines/reference/expr.errors.txt +++ b/tests/baselines/reference/expr.errors.txt @@ -78,12 +78,12 @@ expr.ts(242,7): error TS2363: The right-hand side of an arithmetic operation mus } function f() { - var a: any; + var a!: any; var n=3; var s=""; var b=false; - var i:I; - var e:E; + var i!: I; + var e!: E; n&&a; n&&s; diff --git a/tests/baselines/reference/expr.js b/tests/baselines/reference/expr.js index 0538b3bddee0f..ff3a1062e5697 100644 --- a/tests/baselines/reference/expr.js +++ b/tests/baselines/reference/expr.js @@ -9,12 +9,12 @@ enum E { } function f() { - var a: any; + var a!: any; var n=3; var s=""; var b=false; - var i:I; - var e:E; + var i!: I; + var e!: E; n&&a; n&&s; diff --git a/tests/baselines/reference/expr.symbols b/tests/baselines/reference/expr.symbols index de9a7b7787cc9..73e8363c1dd65 100644 --- a/tests/baselines/reference/expr.symbols +++ b/tests/baselines/reference/expr.symbols @@ -17,7 +17,7 @@ enum E { function f() { >f : Symbol(f, Decl(expr.ts, 5, 1)) - var a: any; + var a!: any; >a : Symbol(a, Decl(expr.ts, 8, 7)) var n=3; @@ -29,11 +29,11 @@ function f() { var b=false; >b : Symbol(b, Decl(expr.ts, 11, 7)) - var i:I; + var i!: I; >i : Symbol(i, Decl(expr.ts, 12, 7)) >I : Symbol(I, Decl(expr.ts, 0, 0)) - var e:E; + var e!: E; >e : Symbol(e, Decl(expr.ts, 13, 7)) >E : Symbol(E, Decl(expr.ts, 1, 1)) diff --git a/tests/baselines/reference/expr.types b/tests/baselines/reference/expr.types index 906b50b7a2ac6..8dff358b1084b 100644 --- a/tests/baselines/reference/expr.types +++ b/tests/baselines/reference/expr.types @@ -21,7 +21,7 @@ function f() { >f : () => void > : ^^^^^^^^^^ - var a: any; + var a!: any; >a : any > : ^^^ @@ -43,11 +43,11 @@ function f() { >false : false > : ^^^^^ - var i:I; + var i!: I; >i : I > : ^ - var e:E; + var e!: E; >e : E > : ^ diff --git a/tests/baselines/reference/extension.errors.txt b/tests/baselines/reference/extension.errors.txt index bb8a3221dd52b..e283e74b47f9e 100644 --- a/tests/baselines/reference/extension.errors.txt +++ b/tests/baselines/reference/extension.errors.txt @@ -42,7 +42,7 @@ extension.ts(22,3): error TS2339: Property 'pe' does not exist on type 'C'. ~~ !!! error TS2339: Property 'pe' does not exist on type 'C'. c.p; - var i:I; + declare var i:I; i.x; i.y; diff --git a/tests/baselines/reference/extension.js b/tests/baselines/reference/extension.js index e4c7881afc629..232533b28c4a3 100644 --- a/tests/baselines/reference/extension.js +++ b/tests/baselines/reference/extension.js @@ -24,7 +24,7 @@ declare namespace M { var c=new M.C(); c.pe; c.p; -var i:I; +declare var i:I; i.x; i.y; @@ -34,6 +34,5 @@ i.y; var c = new M.C(); c.pe; c.p; -var i; i.x; i.y; diff --git a/tests/baselines/reference/extension.symbols b/tests/baselines/reference/extension.symbols index 7a565d5e6bf60..34df33141d3ec 100644 --- a/tests/baselines/reference/extension.symbols +++ b/tests/baselines/reference/extension.symbols @@ -51,18 +51,18 @@ c.p; >c : Symbol(c, Decl(extension.ts, 20, 3)) >p : Symbol(M.C.p, Decl(extension.ts, 9, 20)) -var i:I; ->i : Symbol(i, Decl(extension.ts, 23, 3)) +declare var i:I; +>i : Symbol(i, Decl(extension.ts, 23, 11)) >I : Symbol(I, Decl(extension.ts, 0, 0), Decl(extension.ts, 2, 1)) i.x; >i.x : Symbol(I.x, Decl(extension.ts, 0, 13)) ->i : Symbol(i, Decl(extension.ts, 23, 3)) +>i : Symbol(i, Decl(extension.ts, 23, 11)) >x : Symbol(I.x, Decl(extension.ts, 0, 13)) i.y; >i.y : Symbol(I.y, Decl(extension.ts, 4, 13)) ->i : Symbol(i, Decl(extension.ts, 23, 3)) +>i : Symbol(i, Decl(extension.ts, 23, 11)) >y : Symbol(I.y, Decl(extension.ts, 4, 13)) diff --git a/tests/baselines/reference/extension.types b/tests/baselines/reference/extension.types index 556e869ac6647..14190bf1d2f7a 100644 --- a/tests/baselines/reference/extension.types +++ b/tests/baselines/reference/extension.types @@ -71,7 +71,7 @@ c.p; >p : number > : ^^^^^^ -var i:I; +declare var i:I; >i : I > : ^ diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly2.errors.txt b/tests/baselines/reference/fixingTypeParametersRepeatedly2.errors.txt index fe3cfc17c435b..29a93731f366b 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly2.errors.txt +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly2.errors.txt @@ -10,7 +10,7 @@ fixingTypeParametersRepeatedly2.ts(17,5): error TS2403: Subsequent variable decl toBase(): Base; } - var derived: Derived; + declare var derived: Derived; declare function foo(x: T, func: (p: T) => T): T; var result = foo(derived, d => d.toBase()); diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly2.js b/tests/baselines/reference/fixingTypeParametersRepeatedly2.js index aac4d3b39bec1..f36f1cc0969a7 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly2.js +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly2.js @@ -8,7 +8,7 @@ interface Derived extends Base { toBase(): Base; } -var derived: Derived; +declare var derived: Derived; declare function foo(x: T, func: (p: T) => T): T; var result = foo(derived, d => d.toBase()); @@ -20,6 +20,5 @@ declare function bar(x: T, func: (p: T) => T): T; var result = bar(derived, d => d.toBase()); //// [fixingTypeParametersRepeatedly2.js] -var derived; var result = foo(derived, function (d) { return d.toBase(); }); var result = bar(derived, function (d) { return d.toBase(); }); diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly2.symbols b/tests/baselines/reference/fixingTypeParametersRepeatedly2.symbols index adbd08092ed77..7dc3504e7d3da 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly2.symbols +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly2.symbols @@ -16,12 +16,12 @@ interface Derived extends Base { >Base : Symbol(Base, Decl(fixingTypeParametersRepeatedly2.ts, 0, 0)) } -var derived: Derived; ->derived : Symbol(derived, Decl(fixingTypeParametersRepeatedly2.ts, 7, 3)) +declare var derived: Derived; +>derived : Symbol(derived, Decl(fixingTypeParametersRepeatedly2.ts, 7, 11)) >Derived : Symbol(Derived, Decl(fixingTypeParametersRepeatedly2.ts, 2, 1)) declare function foo(x: T, func: (p: T) => T): T; ->foo : Symbol(foo, Decl(fixingTypeParametersRepeatedly2.ts, 7, 21)) +>foo : Symbol(foo, Decl(fixingTypeParametersRepeatedly2.ts, 7, 29)) >T : Symbol(T, Decl(fixingTypeParametersRepeatedly2.ts, 9, 21)) >x : Symbol(x, Decl(fixingTypeParametersRepeatedly2.ts, 9, 24)) >T : Symbol(T, Decl(fixingTypeParametersRepeatedly2.ts, 9, 21)) @@ -33,8 +33,8 @@ declare function foo(x: T, func: (p: T) => T): T; var result = foo(derived, d => d.toBase()); >result : Symbol(result, Decl(fixingTypeParametersRepeatedly2.ts, 10, 3), Decl(fixingTypeParametersRepeatedly2.ts, 16, 3)) ->foo : Symbol(foo, Decl(fixingTypeParametersRepeatedly2.ts, 7, 21)) ->derived : Symbol(derived, Decl(fixingTypeParametersRepeatedly2.ts, 7, 3)) +>foo : Symbol(foo, Decl(fixingTypeParametersRepeatedly2.ts, 7, 29)) +>derived : Symbol(derived, Decl(fixingTypeParametersRepeatedly2.ts, 7, 11)) >d : Symbol(d, Decl(fixingTypeParametersRepeatedly2.ts, 10, 25)) >d.toBase : Symbol(Derived.toBase, Decl(fixingTypeParametersRepeatedly2.ts, 3, 32)) >d : Symbol(d, Decl(fixingTypeParametersRepeatedly2.ts, 10, 25)) @@ -67,7 +67,7 @@ declare function bar(x: T, func: (p: T) => T): T; var result = bar(derived, d => d.toBase()); >result : Symbol(result, Decl(fixingTypeParametersRepeatedly2.ts, 10, 3), Decl(fixingTypeParametersRepeatedly2.ts, 16, 3)) >bar : Symbol(bar, Decl(fixingTypeParametersRepeatedly2.ts, 10, 43), Decl(fixingTypeParametersRepeatedly2.ts, 14, 52)) ->derived : Symbol(derived, Decl(fixingTypeParametersRepeatedly2.ts, 7, 3)) +>derived : Symbol(derived, Decl(fixingTypeParametersRepeatedly2.ts, 7, 11)) >d : Symbol(d, Decl(fixingTypeParametersRepeatedly2.ts, 16, 25)) >d.toBase : Symbol(Derived.toBase, Decl(fixingTypeParametersRepeatedly2.ts, 3, 32)) >d : Symbol(d, Decl(fixingTypeParametersRepeatedly2.ts, 16, 25)) diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly2.types b/tests/baselines/reference/fixingTypeParametersRepeatedly2.types index 8bc12eed1954b..70f31ef120cbe 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly2.types +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly2.types @@ -12,7 +12,7 @@ interface Derived extends Base { > : ^^^^^^ } -var derived: Derived; +declare var derived: Derived; >derived : Derived > : ^^^^^^^ diff --git a/tests/baselines/reference/for-inStatementsArrayErrors.errors.txt b/tests/baselines/reference/for-inStatementsArrayErrors.errors.txt index b458b3c22ebb2..20dc071efc0df 100644 --- a/tests/baselines/reference/for-inStatementsArrayErrors.errors.txt +++ b/tests/baselines/reference/for-inStatementsArrayErrors.errors.txt @@ -7,7 +7,7 @@ for-inStatementsArrayErrors.ts(16,10): error TS2403: Subsequent variable declara ==== for-inStatementsArrayErrors.ts (6 errors) ==== - let a: Date[]; + declare let a: Date[]; for (let x in a) { let a1 = a[x + 1]; diff --git a/tests/baselines/reference/for-inStatementsArrayErrors.js b/tests/baselines/reference/for-inStatementsArrayErrors.js index cde6322298d6c..91e9ca3447875 100644 --- a/tests/baselines/reference/for-inStatementsArrayErrors.js +++ b/tests/baselines/reference/for-inStatementsArrayErrors.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/statements/for-inStatements/for-inStatementsArrayErrors.ts] //// //// [for-inStatementsArrayErrors.ts] -let a: Date[]; +declare let a: Date[]; for (let x in a) { let a1 = a[x + 1]; @@ -21,7 +21,6 @@ for (var j in a ) { //// [for-inStatementsArrayErrors.js] -var a; for (var x in a) { var a1 = a[x + 1]; var a2 = a[x - 1]; diff --git a/tests/baselines/reference/for-inStatementsArrayErrors.symbols b/tests/baselines/reference/for-inStatementsArrayErrors.symbols index f6e75ca6c5805..8de3f45124f28 100644 --- a/tests/baselines/reference/for-inStatementsArrayErrors.symbols +++ b/tests/baselines/reference/for-inStatementsArrayErrors.symbols @@ -1,22 +1,22 @@ //// [tests/cases/conformance/statements/for-inStatements/for-inStatementsArrayErrors.ts] //// === for-inStatementsArrayErrors.ts === -let a: Date[]; ->a : Symbol(a, Decl(for-inStatementsArrayErrors.ts, 0, 3)) +declare let a: Date[]; +>a : Symbol(a, Decl(for-inStatementsArrayErrors.ts, 0, 11)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) for (let x in a) { >x : Symbol(x, Decl(for-inStatementsArrayErrors.ts, 2, 8)) ->a : Symbol(a, Decl(for-inStatementsArrayErrors.ts, 0, 3)) +>a : Symbol(a, Decl(for-inStatementsArrayErrors.ts, 0, 11)) let a1 = a[x + 1]; >a1 : Symbol(a1, Decl(for-inStatementsArrayErrors.ts, 3, 7)) ->a : Symbol(a, Decl(for-inStatementsArrayErrors.ts, 0, 3)) +>a : Symbol(a, Decl(for-inStatementsArrayErrors.ts, 0, 11)) >x : Symbol(x, Decl(for-inStatementsArrayErrors.ts, 2, 8)) let a2 = a[x - 1]; >a2 : Symbol(a2, Decl(for-inStatementsArrayErrors.ts, 4, 7)) ->a : Symbol(a, Decl(for-inStatementsArrayErrors.ts, 0, 3)) +>a : Symbol(a, Decl(for-inStatementsArrayErrors.ts, 0, 11)) >x : Symbol(x, Decl(for-inStatementsArrayErrors.ts, 2, 8)) if (x === 1) { @@ -32,7 +32,7 @@ var i: number; for (var i in a ) { >i : Symbol(i, Decl(for-inStatementsArrayErrors.ts, 10, 3), Decl(for-inStatementsArrayErrors.ts, 11, 8)) ->a : Symbol(a, Decl(for-inStatementsArrayErrors.ts, 0, 3)) +>a : Symbol(a, Decl(for-inStatementsArrayErrors.ts, 0, 11)) } var j: any; @@ -40,6 +40,6 @@ var j: any; for (var j in a ) { >j : Symbol(j, Decl(for-inStatementsArrayErrors.ts, 14, 3), Decl(for-inStatementsArrayErrors.ts, 15, 8)) ->a : Symbol(a, Decl(for-inStatementsArrayErrors.ts, 0, 3)) +>a : Symbol(a, Decl(for-inStatementsArrayErrors.ts, 0, 11)) } diff --git a/tests/baselines/reference/for-inStatementsArrayErrors.types b/tests/baselines/reference/for-inStatementsArrayErrors.types index c93b2a4e25bcc..4ab51e0a12b52 100644 --- a/tests/baselines/reference/for-inStatementsArrayErrors.types +++ b/tests/baselines/reference/for-inStatementsArrayErrors.types @@ -1,7 +1,7 @@ //// [tests/cases/conformance/statements/for-inStatements/for-inStatementsArrayErrors.ts] //// === for-inStatementsArrayErrors.ts === -let a: Date[]; +declare let a: Date[]; >a : Date[] > : ^^^^^^ diff --git a/tests/baselines/reference/for-inStatementsInvalid.errors.txt b/tests/baselines/reference/for-inStatementsInvalid.errors.txt index 2ff7d19443911..2a6a73733d936 100644 --- a/tests/baselines/reference/for-inStatementsInvalid.errors.txt +++ b/tests/baselines/reference/for-inStatementsInvalid.errors.txt @@ -45,7 +45,7 @@ for-inStatementsInvalid.ts(62,15): error TS2407: The right-hand side of a 'for.. ~~~~ !!! error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type 'void'. - var c : string, d:string, e; + declare var c : string, d:string, e: any; for (var x in c || d) { } ~~~~~~ @@ -120,7 +120,7 @@ for-inStatementsInvalid.ts(62,15): error TS2407: The right-hand side of a 'for.. id: number; [idx: number]: number; } - var i: I; + declare var i: I; for (var x in i[42]) { } ~~~~~ diff --git a/tests/baselines/reference/for-inStatementsInvalid.js b/tests/baselines/reference/for-inStatementsInvalid.js index 01b04d4e76d87..e907f57b8ee82 100644 --- a/tests/baselines/reference/for-inStatementsInvalid.js +++ b/tests/baselines/reference/for-inStatementsInvalid.js @@ -15,7 +15,7 @@ for (var idx : number in {}) { } function fn(): void { } for (var x in fn()) { } -var c : string, d:string, e; +declare var c : string, d:string, e: any; for (var x in c || d) { } for (var x in e ? c : d) { } @@ -60,7 +60,7 @@ interface I { id: number; [idx: number]: number; } -var i: I; +declare var i: I; for (var x in i[42]) { } @@ -90,7 +90,6 @@ for (aRegExp in {}) { } for (var idx in {}) { } function fn() { } for (var x in fn()) { } -var c, d, e; for (var x in c || d) { } for (var x in e ? c : d) { } for (var x in 42 ? c : d) { } @@ -131,5 +130,4 @@ var B = /** @class */ (function (_super) { }; return B; }(A)); -var i; for (var x in i[42]) { } diff --git a/tests/baselines/reference/for-inStatementsInvalid.symbols b/tests/baselines/reference/for-inStatementsInvalid.symbols index 4029518bafe0d..9381533a765a4 100644 --- a/tests/baselines/reference/for-inStatementsInvalid.symbols +++ b/tests/baselines/reference/for-inStatementsInvalid.symbols @@ -30,42 +30,42 @@ for (var x in fn()) { } >x : Symbol(x, Decl(for-inStatementsInvalid.ts, 12, 8), Decl(for-inStatementsInvalid.ts, 16, 8), Decl(for-inStatementsInvalid.ts, 17, 8), Decl(for-inStatementsInvalid.ts, 18, 8), Decl(for-inStatementsInvalid.ts, 19, 8) ... and 5 more) >fn : Symbol(fn, Decl(for-inStatementsInvalid.ts, 9, 32)) -var c : string, d:string, e; ->c : Symbol(c, Decl(for-inStatementsInvalid.ts, 14, 3)) ->d : Symbol(d, Decl(for-inStatementsInvalid.ts, 14, 15)) ->e : Symbol(e, Decl(for-inStatementsInvalid.ts, 14, 25)) +declare var c : string, d:string, e: any; +>c : Symbol(c, Decl(for-inStatementsInvalid.ts, 14, 11)) +>d : Symbol(d, Decl(for-inStatementsInvalid.ts, 14, 23)) +>e : Symbol(e, Decl(for-inStatementsInvalid.ts, 14, 33)) for (var x in c || d) { } >x : Symbol(x, Decl(for-inStatementsInvalid.ts, 12, 8), Decl(for-inStatementsInvalid.ts, 16, 8), Decl(for-inStatementsInvalid.ts, 17, 8), Decl(for-inStatementsInvalid.ts, 18, 8), Decl(for-inStatementsInvalid.ts, 19, 8) ... and 5 more) ->c : Symbol(c, Decl(for-inStatementsInvalid.ts, 14, 3)) ->d : Symbol(d, Decl(for-inStatementsInvalid.ts, 14, 15)) +>c : Symbol(c, Decl(for-inStatementsInvalid.ts, 14, 11)) +>d : Symbol(d, Decl(for-inStatementsInvalid.ts, 14, 23)) for (var x in e ? c : d) { } >x : Symbol(x, Decl(for-inStatementsInvalid.ts, 12, 8), Decl(for-inStatementsInvalid.ts, 16, 8), Decl(for-inStatementsInvalid.ts, 17, 8), Decl(for-inStatementsInvalid.ts, 18, 8), Decl(for-inStatementsInvalid.ts, 19, 8) ... and 5 more) ->e : Symbol(e, Decl(for-inStatementsInvalid.ts, 14, 25)) ->c : Symbol(c, Decl(for-inStatementsInvalid.ts, 14, 3)) ->d : Symbol(d, Decl(for-inStatementsInvalid.ts, 14, 15)) +>e : Symbol(e, Decl(for-inStatementsInvalid.ts, 14, 33)) +>c : Symbol(c, Decl(for-inStatementsInvalid.ts, 14, 11)) +>d : Symbol(d, Decl(for-inStatementsInvalid.ts, 14, 23)) for (var x in 42 ? c : d) { } >x : Symbol(x, Decl(for-inStatementsInvalid.ts, 12, 8), Decl(for-inStatementsInvalid.ts, 16, 8), Decl(for-inStatementsInvalid.ts, 17, 8), Decl(for-inStatementsInvalid.ts, 18, 8), Decl(for-inStatementsInvalid.ts, 19, 8) ... and 5 more) ->c : Symbol(c, Decl(for-inStatementsInvalid.ts, 14, 3)) ->d : Symbol(d, Decl(for-inStatementsInvalid.ts, 14, 15)) +>c : Symbol(c, Decl(for-inStatementsInvalid.ts, 14, 11)) +>d : Symbol(d, Decl(for-inStatementsInvalid.ts, 14, 23)) for (var x in '' ? c : d) { } >x : Symbol(x, Decl(for-inStatementsInvalid.ts, 12, 8), Decl(for-inStatementsInvalid.ts, 16, 8), Decl(for-inStatementsInvalid.ts, 17, 8), Decl(for-inStatementsInvalid.ts, 18, 8), Decl(for-inStatementsInvalid.ts, 19, 8) ... and 5 more) ->c : Symbol(c, Decl(for-inStatementsInvalid.ts, 14, 3)) ->d : Symbol(d, Decl(for-inStatementsInvalid.ts, 14, 15)) +>c : Symbol(c, Decl(for-inStatementsInvalid.ts, 14, 11)) +>d : Symbol(d, Decl(for-inStatementsInvalid.ts, 14, 23)) for (var x in 42 ? d[x] : c[x]) { } >x : Symbol(x, Decl(for-inStatementsInvalid.ts, 12, 8), Decl(for-inStatementsInvalid.ts, 16, 8), Decl(for-inStatementsInvalid.ts, 17, 8), Decl(for-inStatementsInvalid.ts, 18, 8), Decl(for-inStatementsInvalid.ts, 19, 8) ... and 5 more) ->d : Symbol(d, Decl(for-inStatementsInvalid.ts, 14, 15)) +>d : Symbol(d, Decl(for-inStatementsInvalid.ts, 14, 23)) >x : Symbol(x, Decl(for-inStatementsInvalid.ts, 12, 8), Decl(for-inStatementsInvalid.ts, 16, 8), Decl(for-inStatementsInvalid.ts, 17, 8), Decl(for-inStatementsInvalid.ts, 18, 8), Decl(for-inStatementsInvalid.ts, 19, 8) ... and 5 more) ->c : Symbol(c, Decl(for-inStatementsInvalid.ts, 14, 3)) +>c : Symbol(c, Decl(for-inStatementsInvalid.ts, 14, 11)) >x : Symbol(x, Decl(for-inStatementsInvalid.ts, 12, 8), Decl(for-inStatementsInvalid.ts, 16, 8), Decl(for-inStatementsInvalid.ts, 17, 8), Decl(for-inStatementsInvalid.ts, 18, 8), Decl(for-inStatementsInvalid.ts, 19, 8) ... and 5 more) for (var x in c[23]) { } >x : Symbol(x, Decl(for-inStatementsInvalid.ts, 12, 8), Decl(for-inStatementsInvalid.ts, 16, 8), Decl(for-inStatementsInvalid.ts, 17, 8), Decl(for-inStatementsInvalid.ts, 18, 8), Decl(for-inStatementsInvalid.ts, 19, 8) ... and 5 more) ->c : Symbol(c, Decl(for-inStatementsInvalid.ts, 14, 3)) +>c : Symbol(c, Decl(for-inStatementsInvalid.ts, 14, 11)) for (var x in ((x: T) => x)) { } >x : Symbol(x, Decl(for-inStatementsInvalid.ts, 12, 8), Decl(for-inStatementsInvalid.ts, 16, 8), Decl(for-inStatementsInvalid.ts, 17, 8), Decl(for-inStatementsInvalid.ts, 18, 8), Decl(for-inStatementsInvalid.ts, 19, 8) ... and 5 more) @@ -177,11 +177,11 @@ interface I { [idx: number]: number; >idx : Symbol(idx, Decl(for-inStatementsInvalid.ts, 57, 5)) } -var i: I; ->i : Symbol(i, Decl(for-inStatementsInvalid.ts, 59, 3)) +declare var i: I; +>i : Symbol(i, Decl(for-inStatementsInvalid.ts, 59, 11)) >I : Symbol(I, Decl(for-inStatementsInvalid.ts, 53, 1)) for (var x in i[42]) { } >x : Symbol(x, Decl(for-inStatementsInvalid.ts, 12, 8), Decl(for-inStatementsInvalid.ts, 16, 8), Decl(for-inStatementsInvalid.ts, 17, 8), Decl(for-inStatementsInvalid.ts, 18, 8), Decl(for-inStatementsInvalid.ts, 19, 8) ... and 5 more) ->i : Symbol(i, Decl(for-inStatementsInvalid.ts, 59, 3)) +>i : Symbol(i, Decl(for-inStatementsInvalid.ts, 59, 11)) diff --git a/tests/baselines/reference/for-inStatementsInvalid.types b/tests/baselines/reference/for-inStatementsInvalid.types index ea0ed3308dbee..b73d980f5f43c 100644 --- a/tests/baselines/reference/for-inStatementsInvalid.types +++ b/tests/baselines/reference/for-inStatementsInvalid.types @@ -49,7 +49,7 @@ for (var x in fn()) { } >fn : () => void > : ^^^^^^ -var c : string, d:string, e; +declare var c : string, d:string, e: any; >c : string > : ^^^^^^ >d : string @@ -309,7 +309,7 @@ interface I { >idx : number > : ^^^^^^ } -var i: I; +declare var i: I; >i : I > : ^ diff --git a/tests/baselines/reference/for-of29.errors.txt b/tests/baselines/reference/for-of29.errors.txt index f091e9dc9a694..a3e558be96170 100644 --- a/tests/baselines/reference/for-of29.errors.txt +++ b/tests/baselines/reference/for-of29.errors.txt @@ -2,7 +2,7 @@ for-of29.ts(5,15): error TS2488: Type '{ [Symbol.iterator]?(): Iterator }; diff --git a/tests/baselines/reference/for-of29.js b/tests/baselines/reference/for-of29.js index 3732c3984b4f5..af88e044ef90b 100644 --- a/tests/baselines/reference/for-of29.js +++ b/tests/baselines/reference/for-of29.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of29.ts] //// //// [for-of29.ts] -var iterableWithOptionalIterator: { +declare var iterableWithOptionalIterator: { [Symbol.iterator]?(): Iterator }; @@ -9,5 +9,4 @@ for (var v of iterableWithOptionalIterator) { } //// [for-of29.js] -var iterableWithOptionalIterator; for (var v of iterableWithOptionalIterator) { } diff --git a/tests/baselines/reference/for-of29.symbols b/tests/baselines/reference/for-of29.symbols index f5fd41ad9e930..8fb517c235bc7 100644 --- a/tests/baselines/reference/for-of29.symbols +++ b/tests/baselines/reference/for-of29.symbols @@ -1,11 +1,11 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of29.ts] //// === for-of29.ts === -var iterableWithOptionalIterator: { ->iterableWithOptionalIterator : Symbol(iterableWithOptionalIterator, Decl(for-of29.ts, 0, 3)) +declare var iterableWithOptionalIterator: { +>iterableWithOptionalIterator : Symbol(iterableWithOptionalIterator, Decl(for-of29.ts, 0, 11)) [Symbol.iterator]?(): Iterator ->[Symbol.iterator] : Symbol([Symbol.iterator], Decl(for-of29.ts, 0, 35)) +>[Symbol.iterator] : Symbol([Symbol.iterator], Decl(for-of29.ts, 0, 43)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) @@ -15,5 +15,5 @@ var iterableWithOptionalIterator: { for (var v of iterableWithOptionalIterator) { } >v : Symbol(v, Decl(for-of29.ts, 4, 8)) ->iterableWithOptionalIterator : Symbol(iterableWithOptionalIterator, Decl(for-of29.ts, 0, 3)) +>iterableWithOptionalIterator : Symbol(iterableWithOptionalIterator, Decl(for-of29.ts, 0, 11)) diff --git a/tests/baselines/reference/for-of29.types b/tests/baselines/reference/for-of29.types index 40e024d7f4e23..c5f17f65344c2 100644 --- a/tests/baselines/reference/for-of29.types +++ b/tests/baselines/reference/for-of29.types @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of29.ts] //// === for-of29.ts === -var iterableWithOptionalIterator: { +declare var iterableWithOptionalIterator: { >iterableWithOptionalIterator : { [Symbol.iterator]?(): Iterator; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/forInStatement2.errors.txt b/tests/baselines/reference/forInStatement2.errors.txt index 3dce3358a237d..ac12250254cd5 100644 --- a/tests/baselines/reference/forInStatement2.errors.txt +++ b/tests/baselines/reference/forInStatement2.errors.txt @@ -2,7 +2,7 @@ forInStatement2.ts(2,15): error TS2407: The right-hand side of a 'for...in' stat ==== forInStatement2.ts (1 errors) ==== - var expr: number; + declare var expr: number; for (var a in expr) { ~~~~ !!! error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type 'number'. diff --git a/tests/baselines/reference/forInStatement2.js b/tests/baselines/reference/forInStatement2.js index 278fa698159c1..add41eb72115e 100644 --- a/tests/baselines/reference/forInStatement2.js +++ b/tests/baselines/reference/forInStatement2.js @@ -1,11 +1,10 @@ //// [tests/cases/compiler/forInStatement2.ts] //// //// [forInStatement2.ts] -var expr: number; +declare var expr: number; for (var a in expr) { } //// [forInStatement2.js] -var expr; for (var a in expr) { } diff --git a/tests/baselines/reference/forInStatement2.symbols b/tests/baselines/reference/forInStatement2.symbols index bd9f29861487e..5ca02feff8ce5 100644 --- a/tests/baselines/reference/forInStatement2.symbols +++ b/tests/baselines/reference/forInStatement2.symbols @@ -1,10 +1,10 @@ //// [tests/cases/compiler/forInStatement2.ts] //// === forInStatement2.ts === -var expr: number; ->expr : Symbol(expr, Decl(forInStatement2.ts, 0, 3)) +declare var expr: number; +>expr : Symbol(expr, Decl(forInStatement2.ts, 0, 11)) for (var a in expr) { >a : Symbol(a, Decl(forInStatement2.ts, 1, 8)) ->expr : Symbol(expr, Decl(forInStatement2.ts, 0, 3)) +>expr : Symbol(expr, Decl(forInStatement2.ts, 0, 11)) } diff --git a/tests/baselines/reference/forInStatement2.types b/tests/baselines/reference/forInStatement2.types index 93f794b90db22..726f19c35ab24 100644 --- a/tests/baselines/reference/forInStatement2.types +++ b/tests/baselines/reference/forInStatement2.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/forInStatement2.ts] //// === forInStatement2.ts === -var expr: number; +declare var expr: number; >expr : number > : ^^^^^^ diff --git a/tests/baselines/reference/functionAssignment.errors.txt b/tests/baselines/reference/functionAssignment.errors.txt index 982a089eb561b..a519d7cb88436 100644 --- a/tests/baselines/reference/functionAssignment.errors.txt +++ b/tests/baselines/reference/functionAssignment.errors.txt @@ -14,8 +14,8 @@ functionAssignment.ts(34,17): error TS2339: Property 'length' does not exist on get(callback: Function): number; } - var barbaz: baz; - var test: foo; + declare var barbaz: baz; + declare var test: foo; test.get(function (param) { var x = barbaz.get(function () { }); diff --git a/tests/baselines/reference/functionAssignment.js b/tests/baselines/reference/functionAssignment.js index 35df5b337993f..41f3940947ef6 100644 --- a/tests/baselines/reference/functionAssignment.js +++ b/tests/baselines/reference/functionAssignment.js @@ -12,8 +12,8 @@ interface baz { get(callback: Function): number; } -var barbaz: baz; -var test: foo; +declare var barbaz: baz; +declare var test: foo; test.get(function (param) { var x = barbaz.get(function () { }); @@ -42,8 +42,6 @@ callb((a) =>{ a.length; }); //// [functionAssignment.js] function f(n) { } f(function () { }); -var barbaz; -var test; test.get(function (param) { var x = barbaz.get(function () { }); }); diff --git a/tests/baselines/reference/functionAssignment.symbols b/tests/baselines/reference/functionAssignment.symbols index 9b953dedb821c..daa76198e22c6 100644 --- a/tests/baselines/reference/functionAssignment.symbols +++ b/tests/baselines/reference/functionAssignment.symbols @@ -27,24 +27,24 @@ interface baz { >Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } -var barbaz: baz; ->barbaz : Symbol(barbaz, Decl(functionAssignment.ts, 11, 3)) +declare var barbaz: baz; +>barbaz : Symbol(barbaz, Decl(functionAssignment.ts, 11, 11)) >baz : Symbol(baz, Decl(functionAssignment.ts, 5, 1)) -var test: foo; ->test : Symbol(test, Decl(functionAssignment.ts, 12, 3)) +declare var test: foo; +>test : Symbol(test, Decl(functionAssignment.ts, 12, 11)) >foo : Symbol(foo, Decl(functionAssignment.ts, 1, 19)) test.get(function (param) { >test.get : Symbol(foo.get, Decl(functionAssignment.ts, 3, 15)) ->test : Symbol(test, Decl(functionAssignment.ts, 12, 3)) +>test : Symbol(test, Decl(functionAssignment.ts, 12, 11)) >get : Symbol(foo.get, Decl(functionAssignment.ts, 3, 15)) >param : Symbol(param, Decl(functionAssignment.ts, 14, 19)) var x = barbaz.get(function () { }); >x : Symbol(x, Decl(functionAssignment.ts, 15, 7)) >barbaz.get : Symbol(baz.get, Decl(functionAssignment.ts, 7, 15)) ->barbaz : Symbol(barbaz, Decl(functionAssignment.ts, 11, 3)) +>barbaz : Symbol(barbaz, Decl(functionAssignment.ts, 11, 11)) >get : Symbol(baz.get, Decl(functionAssignment.ts, 7, 15)) }); diff --git a/tests/baselines/reference/functionAssignment.types b/tests/baselines/reference/functionAssignment.types index 876013f12baaa..7921805c74738 100644 --- a/tests/baselines/reference/functionAssignment.types +++ b/tests/baselines/reference/functionAssignment.types @@ -33,11 +33,11 @@ interface baz { > : ^^^^^^^^ } -var barbaz: baz; +declare var barbaz: baz; >barbaz : baz > : ^^^ -var test: foo; +declare var test: foo; >test : foo > : ^^^ diff --git a/tests/baselines/reference/functionCalls.errors.txt b/tests/baselines/reference/functionCalls.errors.txt index 012b4d7d31f07..8b323c2a9b768 100644 --- a/tests/baselines/reference/functionCalls.errors.txt +++ b/tests/baselines/reference/functionCalls.errors.txt @@ -11,7 +11,7 @@ functionCalls.ts(34,1): error TS2347: Untyped function calls may not accept type ==== functionCalls.ts (9 errors) ==== // Invoke function call on value of type 'any' with no type arguments - var anyVar: any; + declare var anyVar: any; anyVar(0); anyVar(''); @@ -32,7 +32,7 @@ functionCalls.ts(34,1): error TS2347: Untyped function calls may not accept type interface SubFunc extends Function { prop: number; } - var subFunc: SubFunc; + declare var subFunc: SubFunc; subFunc(0); subFunc(''); subFunc(); @@ -52,7 +52,7 @@ functionCalls.ts(34,1): error TS2347: Untyped function calls may not accept type // Invoke function call on value of type Function with no call signatures with type arguments // These should be errors - var func: Function; + declare var func: Function; func(0); ~~~~~~~~~~~~~~~ !!! error TS2347: Untyped function calls may not accept type arguments. diff --git a/tests/baselines/reference/functionCalls.js b/tests/baselines/reference/functionCalls.js index 5ccc866468131..bfddf4005e54c 100644 --- a/tests/baselines/reference/functionCalls.js +++ b/tests/baselines/reference/functionCalls.js @@ -2,7 +2,7 @@ //// [functionCalls.ts] // Invoke function call on value of type 'any' with no type arguments -var anyVar: any; +declare var anyVar: any; anyVar(0); anyVar(''); @@ -17,7 +17,7 @@ anyVar(undefined); interface SubFunc extends Function { prop: number; } -var subFunc: SubFunc; +declare var subFunc: SubFunc; subFunc(0); subFunc(''); subFunc(); @@ -31,15 +31,13 @@ subFunc(); // Invoke function call on value of type Function with no call signatures with type arguments // These should be errors -var func: Function; +declare var func: Function; func(0); func(''); func(); //// [functionCalls.js] -// Invoke function call on value of type 'any' with no type arguments -var anyVar; anyVar(0); anyVar(''); // Invoke function call on value of type 'any' with type arguments @@ -47,7 +45,6 @@ anyVar(''); anyVar('hello'); anyVar(); anyVar(undefined); -var subFunc; subFunc(0); subFunc(''); subFunc(); @@ -56,9 +53,6 @@ subFunc(); subFunc(0); subFunc(''); subFunc(); -// Invoke function call on value of type Function with no call signatures with type arguments -// These should be errors -var func; func(0); func(''); func(); diff --git a/tests/baselines/reference/functionCalls.symbols b/tests/baselines/reference/functionCalls.symbols index aa239dd6ca40a..fdf6df168178f 100644 --- a/tests/baselines/reference/functionCalls.symbols +++ b/tests/baselines/reference/functionCalls.symbols @@ -2,25 +2,25 @@ === functionCalls.ts === // Invoke function call on value of type 'any' with no type arguments -var anyVar: any; ->anyVar : Symbol(anyVar, Decl(functionCalls.ts, 1, 3)) +declare var anyVar: any; +>anyVar : Symbol(anyVar, Decl(functionCalls.ts, 1, 11)) anyVar(0); ->anyVar : Symbol(anyVar, Decl(functionCalls.ts, 1, 3)) +>anyVar : Symbol(anyVar, Decl(functionCalls.ts, 1, 11)) anyVar(''); ->anyVar : Symbol(anyVar, Decl(functionCalls.ts, 1, 3)) +>anyVar : Symbol(anyVar, Decl(functionCalls.ts, 1, 11)) // Invoke function call on value of type 'any' with type arguments // These should be errors anyVar('hello'); ->anyVar : Symbol(anyVar, Decl(functionCalls.ts, 1, 3)) +>anyVar : Symbol(anyVar, Decl(functionCalls.ts, 1, 11)) anyVar(); ->anyVar : Symbol(anyVar, Decl(functionCalls.ts, 1, 3)) +>anyVar : Symbol(anyVar, Decl(functionCalls.ts, 1, 11)) anyVar(undefined); ->anyVar : Symbol(anyVar, Decl(functionCalls.ts, 1, 3)) +>anyVar : Symbol(anyVar, Decl(functionCalls.ts, 1, 11)) >Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) >undefined : Symbol(undefined) @@ -33,43 +33,43 @@ interface SubFunc extends Function { prop: number; >prop : Symbol(SubFunc.prop, Decl(functionCalls.ts, 13, 36)) } -var subFunc: SubFunc; ->subFunc : Symbol(subFunc, Decl(functionCalls.ts, 16, 3)) +declare var subFunc: SubFunc; +>subFunc : Symbol(subFunc, Decl(functionCalls.ts, 16, 11)) >SubFunc : Symbol(SubFunc, Decl(functionCalls.ts, 9, 26)) subFunc(0); ->subFunc : Symbol(subFunc, Decl(functionCalls.ts, 16, 3)) +>subFunc : Symbol(subFunc, Decl(functionCalls.ts, 16, 11)) subFunc(''); ->subFunc : Symbol(subFunc, Decl(functionCalls.ts, 16, 3)) +>subFunc : Symbol(subFunc, Decl(functionCalls.ts, 16, 11)) subFunc(); ->subFunc : Symbol(subFunc, Decl(functionCalls.ts, 16, 3)) +>subFunc : Symbol(subFunc, Decl(functionCalls.ts, 16, 11)) // Invoke function call on value of a subtype of Function with no call signatures with type arguments // These should be errors subFunc(0); ->subFunc : Symbol(subFunc, Decl(functionCalls.ts, 16, 3)) +>subFunc : Symbol(subFunc, Decl(functionCalls.ts, 16, 11)) subFunc(''); ->subFunc : Symbol(subFunc, Decl(functionCalls.ts, 16, 3)) +>subFunc : Symbol(subFunc, Decl(functionCalls.ts, 16, 11)) subFunc(); ->subFunc : Symbol(subFunc, Decl(functionCalls.ts, 16, 3)) +>subFunc : Symbol(subFunc, Decl(functionCalls.ts, 16, 11)) // Invoke function call on value of type Function with no call signatures with type arguments // These should be errors -var func: Function; ->func : Symbol(func, Decl(functionCalls.ts, 30, 3)) +declare var func: Function; +>func : Symbol(func, Decl(functionCalls.ts, 30, 11)) >Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) func(0); ->func : Symbol(func, Decl(functionCalls.ts, 30, 3)) +>func : Symbol(func, Decl(functionCalls.ts, 30, 11)) func(''); ->func : Symbol(func, Decl(functionCalls.ts, 30, 3)) +>func : Symbol(func, Decl(functionCalls.ts, 30, 11)) func(); ->func : Symbol(func, Decl(functionCalls.ts, 30, 3)) +>func : Symbol(func, Decl(functionCalls.ts, 30, 11)) diff --git a/tests/baselines/reference/functionCalls.types b/tests/baselines/reference/functionCalls.types index 9990a3e264ec5..7eb067001401d 100644 --- a/tests/baselines/reference/functionCalls.types +++ b/tests/baselines/reference/functionCalls.types @@ -2,7 +2,7 @@ === functionCalls.ts === // Invoke function call on value of type 'any' with no type arguments -var anyVar: any; +declare var anyVar: any; >anyVar : any > : ^^^ @@ -53,7 +53,7 @@ interface SubFunc extends Function { >prop : number > : ^^^^^^ } -var subFunc: SubFunc; +declare var subFunc: SubFunc; >subFunc : SubFunc > : ^^^^^^^ @@ -106,7 +106,7 @@ subFunc(); // Invoke function call on value of type Function with no call signatures with type arguments // These should be errors -var func: Function; +declare var func: Function; >func : Function > : ^^^^^^^^ diff --git a/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt b/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt index d9249711d1d6a..18067aaf8f2b3 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt +++ b/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt @@ -48,13 +48,13 @@ functionConstraintSatisfaction2.ts(38,10): error TS2345: Argument of type 'U' is foo: string; } - var b: { new (x: string): string }; + declare var b: { new (x: string): string }; class C2 { foo: T; } - var b2: { new (x: T): T }; + declare var b2: { new (x: T): T }; var r = foo2(new Function()); ~~~~~~~~~~~~~~ @@ -88,7 +88,7 @@ functionConstraintSatisfaction2.ts(38,10): error TS2345: Argument of type 'U' is !!! error TS2345: Type 'new (x: T) => T' provides no match for the signature '(x: string): string'. interface F2 extends Function { foo: string; } - var f2: F2; + declare var f2: F2; var r16 = foo2(f2); ~~ !!! error TS2345: Argument of type 'F2' is not assignable to parameter of type '(x: string) => string'. diff --git a/tests/baselines/reference/functionConstraintSatisfaction2.js b/tests/baselines/reference/functionConstraintSatisfaction2.js index d35a77a52238f..151b325a843bf 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction2.js +++ b/tests/baselines/reference/functionConstraintSatisfaction2.js @@ -15,13 +15,13 @@ class C { foo: string; } -var b: { new (x: string): string }; +declare var b: { new (x: string): string }; class C2 { foo: T; } -var b2: { new (x: T): T }; +declare var b2: { new (x: T): T }; var r = foo2(new Function()); var r2 = foo2((x: string[]) => x); @@ -33,7 +33,7 @@ var r13 = foo2(C2); var r14 = foo2(b2); interface F2 extends Function { foo: string; } -var f2: F2; +declare var f2: F2; var r16 = foo2(f2); function fff(x: T, y: U) { @@ -54,13 +54,11 @@ var C = /** @class */ (function () { } return C; }()); -var b; var C2 = /** @class */ (function () { function C2() { } return C2; }()); -var b2; var r = foo2(new Function()); var r2 = foo2(function (x) { return x; }); var r6 = foo2(C); @@ -69,7 +67,6 @@ var r8 = foo2(function (x) { return x; }); // no error expected var r11 = foo2(function (x, y) { return x; }); var r13 = foo2(C2); var r14 = foo2(b2); -var f2; var r16 = foo2(f2); function fff(x, y) { foo2(x); diff --git a/tests/baselines/reference/functionConstraintSatisfaction2.symbols b/tests/baselines/reference/functionConstraintSatisfaction2.symbols index 6a81fcd74ed75..0553c98b6119d 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction2.symbols +++ b/tests/baselines/reference/functionConstraintSatisfaction2.symbols @@ -37,12 +37,12 @@ class C { >foo : Symbol(C.foo, Decl(functionConstraintSatisfaction2.ts, 10, 9)) } -var b: { new (x: string): string }; ->b : Symbol(b, Decl(functionConstraintSatisfaction2.ts, 14, 3)) ->x : Symbol(x, Decl(functionConstraintSatisfaction2.ts, 14, 14)) +declare var b: { new (x: string): string }; +>b : Symbol(b, Decl(functionConstraintSatisfaction2.ts, 14, 11)) +>x : Symbol(x, Decl(functionConstraintSatisfaction2.ts, 14, 22)) class C2 { ->C2 : Symbol(C2, Decl(functionConstraintSatisfaction2.ts, 14, 35)) +>C2 : Symbol(C2, Decl(functionConstraintSatisfaction2.ts, 14, 43)) >T : Symbol(T, Decl(functionConstraintSatisfaction2.ts, 16, 9)) foo: T; @@ -50,12 +50,12 @@ class C2 { >T : Symbol(T, Decl(functionConstraintSatisfaction2.ts, 16, 9)) } -var b2: { new (x: T): T }; ->b2 : Symbol(b2, Decl(functionConstraintSatisfaction2.ts, 20, 3)) ->T : Symbol(T, Decl(functionConstraintSatisfaction2.ts, 20, 15)) ->x : Symbol(x, Decl(functionConstraintSatisfaction2.ts, 20, 18)) ->T : Symbol(T, Decl(functionConstraintSatisfaction2.ts, 20, 15)) ->T : Symbol(T, Decl(functionConstraintSatisfaction2.ts, 20, 15)) +declare var b2: { new (x: T): T }; +>b2 : Symbol(b2, Decl(functionConstraintSatisfaction2.ts, 20, 11)) +>T : Symbol(T, Decl(functionConstraintSatisfaction2.ts, 20, 23)) +>x : Symbol(x, Decl(functionConstraintSatisfaction2.ts, 20, 26)) +>T : Symbol(T, Decl(functionConstraintSatisfaction2.ts, 20, 23)) +>T : Symbol(T, Decl(functionConstraintSatisfaction2.ts, 20, 23)) var r = foo2(new Function()); >r : Symbol(r, Decl(functionConstraintSatisfaction2.ts, 22, 3)) @@ -76,7 +76,7 @@ var r6 = foo2(C); var r7 = foo2(b); >r7 : Symbol(r7, Decl(functionConstraintSatisfaction2.ts, 25, 3)) >foo2 : Symbol(foo2, Decl(functionConstraintSatisfaction2.ts, 6, 18)) ->b : Symbol(b, Decl(functionConstraintSatisfaction2.ts, 14, 3)) +>b : Symbol(b, Decl(functionConstraintSatisfaction2.ts, 14, 11)) var r8 = foo2((x: U) => x); // no error expected >r8 : Symbol(r8, Decl(functionConstraintSatisfaction2.ts, 26, 3)) @@ -100,26 +100,26 @@ var r11 = foo2((x: U, y: V) => x); var r13 = foo2(C2); >r13 : Symbol(r13, Decl(functionConstraintSatisfaction2.ts, 28, 3)) >foo2 : Symbol(foo2, Decl(functionConstraintSatisfaction2.ts, 6, 18)) ->C2 : Symbol(C2, Decl(functionConstraintSatisfaction2.ts, 14, 35)) +>C2 : Symbol(C2, Decl(functionConstraintSatisfaction2.ts, 14, 43)) var r14 = foo2(b2); >r14 : Symbol(r14, Decl(functionConstraintSatisfaction2.ts, 29, 3)) >foo2 : Symbol(foo2, Decl(functionConstraintSatisfaction2.ts, 6, 18)) ->b2 : Symbol(b2, Decl(functionConstraintSatisfaction2.ts, 20, 3)) +>b2 : Symbol(b2, Decl(functionConstraintSatisfaction2.ts, 20, 11)) interface F2 extends Function { foo: string; } >F2 : Symbol(F2, Decl(functionConstraintSatisfaction2.ts, 29, 19)) >Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >foo : Symbol(F2.foo, Decl(functionConstraintSatisfaction2.ts, 31, 31)) -var f2: F2; ->f2 : Symbol(f2, Decl(functionConstraintSatisfaction2.ts, 32, 3)) +declare var f2: F2; +>f2 : Symbol(f2, Decl(functionConstraintSatisfaction2.ts, 32, 11)) >F2 : Symbol(F2, Decl(functionConstraintSatisfaction2.ts, 29, 19)) var r16 = foo2(f2); >r16 : Symbol(r16, Decl(functionConstraintSatisfaction2.ts, 33, 3)) >foo2 : Symbol(foo2, Decl(functionConstraintSatisfaction2.ts, 6, 18)) ->f2 : Symbol(f2, Decl(functionConstraintSatisfaction2.ts, 32, 3)) +>f2 : Symbol(f2, Decl(functionConstraintSatisfaction2.ts, 32, 11)) function fff(x: T, y: U) { >fff : Symbol(fff, Decl(functionConstraintSatisfaction2.ts, 33, 19)) diff --git a/tests/baselines/reference/functionConstraintSatisfaction2.types b/tests/baselines/reference/functionConstraintSatisfaction2.types index 01a26139c40db..4bee39fece8f3 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction2.types +++ b/tests/baselines/reference/functionConstraintSatisfaction2.types @@ -58,7 +58,7 @@ class C { > : ^^^^^^ } -var b: { new (x: string): string }; +declare var b: { new (x: string): string }; >b : new (x: string) => string > : ^^^^^ ^^ ^^^^^ >x : string @@ -73,7 +73,7 @@ class C2 { > : ^ } -var b2: { new (x: T): T }; +declare var b2: { new (x: T): T }; >b2 : new (x: T) => T > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -179,7 +179,7 @@ interface F2 extends Function { foo: string; } >foo : string > : ^^^^^^ -var f2: F2; +declare var f2: F2; >f2 : F2 > : ^^ diff --git a/tests/baselines/reference/functionImplementationErrors.errors.txt b/tests/baselines/reference/functionImplementationErrors.errors.txt index 09a5987d82ae2..cc073249894d9 100644 --- a/tests/baselines/reference/functionImplementationErrors.errors.txt +++ b/tests/baselines/reference/functionImplementationErrors.errors.txt @@ -34,7 +34,7 @@ functionImplementationErrors.ts(40,1): error TS2839: This condition will always !!! error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value. } - var m; + declare var m: any; // Function signature with parameter initializer referencing in scope local variable function f6(n = m) { ~ diff --git a/tests/baselines/reference/functionImplementationErrors.js b/tests/baselines/reference/functionImplementationErrors.js index dbe978ed8d0db..455ee411b1d88 100644 --- a/tests/baselines/reference/functionImplementationErrors.js +++ b/tests/baselines/reference/functionImplementationErrors.js @@ -28,7 +28,7 @@ var f4 = function () { function f5(): number { } -var m; +declare var m: any; // Function signature with parameter initializer referencing in scope local variable function f6(n = m) { var m = 4; @@ -116,7 +116,6 @@ var f4 = function () { // Function implemetnation with non -void return type annotation with no return function f5() { } -var m; // Function signature with parameter initializer referencing in scope local variable function f6(n) { if (n === void 0) { n = m; } diff --git a/tests/baselines/reference/functionImplementationErrors.symbols b/tests/baselines/reference/functionImplementationErrors.symbols index 3c207c5a95d2d..f652ac2accbca 100644 --- a/tests/baselines/reference/functionImplementationErrors.symbols +++ b/tests/baselines/reference/functionImplementationErrors.symbols @@ -38,12 +38,12 @@ function f5(): number { >f5 : Symbol(f5, Decl(functionImplementationErrors.ts, 21, 1)) } -var m; ->m : Symbol(m, Decl(functionImplementationErrors.ts, 27, 3)) +declare var m: any; +>m : Symbol(m, Decl(functionImplementationErrors.ts, 27, 11)) // Function signature with parameter initializer referencing in scope local variable function f6(n = m) { ->f6 : Symbol(f6, Decl(functionImplementationErrors.ts, 27, 6)) +>f6 : Symbol(f6, Decl(functionImplementationErrors.ts, 27, 19)) >n : Symbol(n, Decl(functionImplementationErrors.ts, 29, 12)) >m : Symbol(m, Decl(functionImplementationErrors.ts, 30, 7)) diff --git a/tests/baselines/reference/functionImplementationErrors.types b/tests/baselines/reference/functionImplementationErrors.types index 271ed68920ce6..4d80ab0a83e53 100644 --- a/tests/baselines/reference/functionImplementationErrors.types +++ b/tests/baselines/reference/functionImplementationErrors.types @@ -82,7 +82,7 @@ function f5(): number { > : ^^^^^^ } -var m; +declare var m: any; >m : any > : ^^^ diff --git a/tests/baselines/reference/functionSignatureAssignmentCompat1.errors.txt b/tests/baselines/reference/functionSignatureAssignmentCompat1.errors.txt index 2fdf76333c55e..988841db3e316 100644 --- a/tests/baselines/reference/functionSignatureAssignmentCompat1.errors.txt +++ b/tests/baselines/reference/functionSignatureAssignmentCompat1.errors.txt @@ -11,7 +11,7 @@ functionSignatureAssignmentCompat1.ts(10,21): error TS2322: Type '(delimiter?: s raw: ParserFunc; readline(delimiter?: string): ParserFunc; } - var parsers: Parsers; + declare var parsers: Parsers; var c: ParserFunc = parsers.raw; // ok! var d: ParserFunc = parsers.readline; // not ok ~~~~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/functionSignatureAssignmentCompat1.js b/tests/baselines/reference/functionSignatureAssignmentCompat1.js index a690b5846a02b..1657fc8fcfade 100644 --- a/tests/baselines/reference/functionSignatureAssignmentCompat1.js +++ b/tests/baselines/reference/functionSignatureAssignmentCompat1.js @@ -8,13 +8,12 @@ interface Parsers { raw: ParserFunc; readline(delimiter?: string): ParserFunc; } -var parsers: Parsers; +declare var parsers: Parsers; var c: ParserFunc = parsers.raw; // ok! var d: ParserFunc = parsers.readline; // not ok var e: ParserFunc = parsers.readline(); // ok //// [functionSignatureAssignmentCompat1.js] -var parsers; var c = parsers.raw; // ok! var d = parsers.readline; // not ok var e = parsers.readline(); // ok diff --git a/tests/baselines/reference/functionSignatureAssignmentCompat1.symbols b/tests/baselines/reference/functionSignatureAssignmentCompat1.symbols index 3a71520281b9f..3eaf2f70fa5b3 100644 --- a/tests/baselines/reference/functionSignatureAssignmentCompat1.symbols +++ b/tests/baselines/reference/functionSignatureAssignmentCompat1.symbols @@ -20,28 +20,28 @@ interface Parsers { >delimiter : Symbol(delimiter, Decl(functionSignatureAssignmentCompat1.ts, 5, 13)) >ParserFunc : Symbol(ParserFunc, Decl(functionSignatureAssignmentCompat1.ts, 0, 0)) } -var parsers: Parsers; ->parsers : Symbol(parsers, Decl(functionSignatureAssignmentCompat1.ts, 7, 3)) +declare var parsers: Parsers; +>parsers : Symbol(parsers, Decl(functionSignatureAssignmentCompat1.ts, 7, 11)) >Parsers : Symbol(Parsers, Decl(functionSignatureAssignmentCompat1.ts, 2, 1)) var c: ParserFunc = parsers.raw; // ok! >c : Symbol(c, Decl(functionSignatureAssignmentCompat1.ts, 8, 3)) >ParserFunc : Symbol(ParserFunc, Decl(functionSignatureAssignmentCompat1.ts, 0, 0)) >parsers.raw : Symbol(Parsers.raw, Decl(functionSignatureAssignmentCompat1.ts, 3, 19)) ->parsers : Symbol(parsers, Decl(functionSignatureAssignmentCompat1.ts, 7, 3)) +>parsers : Symbol(parsers, Decl(functionSignatureAssignmentCompat1.ts, 7, 11)) >raw : Symbol(Parsers.raw, Decl(functionSignatureAssignmentCompat1.ts, 3, 19)) var d: ParserFunc = parsers.readline; // not ok >d : Symbol(d, Decl(functionSignatureAssignmentCompat1.ts, 9, 3)) >ParserFunc : Symbol(ParserFunc, Decl(functionSignatureAssignmentCompat1.ts, 0, 0)) >parsers.readline : Symbol(Parsers.readline, Decl(functionSignatureAssignmentCompat1.ts, 4, 20)) ->parsers : Symbol(parsers, Decl(functionSignatureAssignmentCompat1.ts, 7, 3)) +>parsers : Symbol(parsers, Decl(functionSignatureAssignmentCompat1.ts, 7, 11)) >readline : Symbol(Parsers.readline, Decl(functionSignatureAssignmentCompat1.ts, 4, 20)) var e: ParserFunc = parsers.readline(); // ok >e : Symbol(e, Decl(functionSignatureAssignmentCompat1.ts, 10, 3)) >ParserFunc : Symbol(ParserFunc, Decl(functionSignatureAssignmentCompat1.ts, 0, 0)) >parsers.readline : Symbol(Parsers.readline, Decl(functionSignatureAssignmentCompat1.ts, 4, 20)) ->parsers : Symbol(parsers, Decl(functionSignatureAssignmentCompat1.ts, 7, 3)) +>parsers : Symbol(parsers, Decl(functionSignatureAssignmentCompat1.ts, 7, 11)) >readline : Symbol(Parsers.readline, Decl(functionSignatureAssignmentCompat1.ts, 4, 20)) diff --git a/tests/baselines/reference/functionSignatureAssignmentCompat1.types b/tests/baselines/reference/functionSignatureAssignmentCompat1.types index aa105d377e866..645cdb37ff6c3 100644 --- a/tests/baselines/reference/functionSignatureAssignmentCompat1.types +++ b/tests/baselines/reference/functionSignatureAssignmentCompat1.types @@ -19,7 +19,7 @@ interface Parsers { >delimiter : string > : ^^^^^^ } -var parsers: Parsers; +declare var parsers: Parsers; >parsers : Parsers > : ^^^^^^^ diff --git a/tests/baselines/reference/genericArrayAssignment1.errors.txt b/tests/baselines/reference/genericArrayAssignment1.errors.txt index 039e094f86be5..c8e1989f43d64 100644 --- a/tests/baselines/reference/genericArrayAssignment1.errors.txt +++ b/tests/baselines/reference/genericArrayAssignment1.errors.txt @@ -3,8 +3,8 @@ genericArrayAssignment1.ts(4,1): error TS2322: Type 'number[]' is not assignable ==== genericArrayAssignment1.ts (1 errors) ==== - var s: string[]; - var n: number[]; + declare var s: string[]; + declare var n: number[]; s = n; ~ diff --git a/tests/baselines/reference/genericArrayAssignment1.js b/tests/baselines/reference/genericArrayAssignment1.js index b30ed6c06b804..98e3d9e1fae80 100644 --- a/tests/baselines/reference/genericArrayAssignment1.js +++ b/tests/baselines/reference/genericArrayAssignment1.js @@ -1,12 +1,10 @@ //// [tests/cases/compiler/genericArrayAssignment1.ts] //// //// [genericArrayAssignment1.ts] -var s: string[]; -var n: number[]; +declare var s: string[]; +declare var n: number[]; s = n; //// [genericArrayAssignment1.js] -var s; -var n; s = n; diff --git a/tests/baselines/reference/genericArrayAssignment1.symbols b/tests/baselines/reference/genericArrayAssignment1.symbols index 0dfd89697648e..34ad263ccc457 100644 --- a/tests/baselines/reference/genericArrayAssignment1.symbols +++ b/tests/baselines/reference/genericArrayAssignment1.symbols @@ -1,13 +1,13 @@ //// [tests/cases/compiler/genericArrayAssignment1.ts] //// === genericArrayAssignment1.ts === -var s: string[]; ->s : Symbol(s, Decl(genericArrayAssignment1.ts, 0, 3)) +declare var s: string[]; +>s : Symbol(s, Decl(genericArrayAssignment1.ts, 0, 11)) -var n: number[]; ->n : Symbol(n, Decl(genericArrayAssignment1.ts, 1, 3)) +declare var n: number[]; +>n : Symbol(n, Decl(genericArrayAssignment1.ts, 1, 11)) s = n; ->s : Symbol(s, Decl(genericArrayAssignment1.ts, 0, 3)) ->n : Symbol(n, Decl(genericArrayAssignment1.ts, 1, 3)) +>s : Symbol(s, Decl(genericArrayAssignment1.ts, 0, 11)) +>n : Symbol(n, Decl(genericArrayAssignment1.ts, 1, 11)) diff --git a/tests/baselines/reference/genericArrayAssignment1.types b/tests/baselines/reference/genericArrayAssignment1.types index 889fde883863d..9d2b9b8e1e9b2 100644 --- a/tests/baselines/reference/genericArrayAssignment1.types +++ b/tests/baselines/reference/genericArrayAssignment1.types @@ -1,11 +1,11 @@ //// [tests/cases/compiler/genericArrayAssignment1.ts] //// === genericArrayAssignment1.ts === -var s: string[]; +declare var s: string[]; >s : string[] > : ^^^^^^^^ -var n: number[]; +declare var n: number[]; >n : number[] > : ^^^^^^^^ diff --git a/tests/baselines/reference/genericArrayAssignmentCompatErrors.errors.txt b/tests/baselines/reference/genericArrayAssignmentCompatErrors.errors.txt index 28dadd442cea2..4889c5fc4eddf 100644 --- a/tests/baselines/reference/genericArrayAssignmentCompatErrors.errors.txt +++ b/tests/baselines/reference/genericArrayAssignmentCompatErrors.errors.txt @@ -1,6 +1,6 @@ genericArrayAssignmentCompatErrors.ts(2,19): error TS2351: This expression is not constructable. Type 'undefined[]' has no construct signatures. -genericArrayAssignmentCompatErrors.ts(4,14): error TS2314: Generic type 'Array' requires 1 type argument(s). +genericArrayAssignmentCompatErrors.ts(4,22): error TS2314: Generic type 'Array' requires 1 type argument(s). ==== genericArrayAssignmentCompatErrors.ts (2 errors) ==== @@ -10,10 +10,10 @@ genericArrayAssignmentCompatErrors.ts(4,14): error TS2314: Generic type 'Array' requires 1 type argument(s). - var myCars5: Array[]; + declare var myCars5: Array[]; myCars = myCars2; myCars = myCars3; diff --git a/tests/baselines/reference/genericArrayAssignmentCompatErrors.js b/tests/baselines/reference/genericArrayAssignmentCompatErrors.js index 2d01edfa6a4ca..4749c56a18b82 100644 --- a/tests/baselines/reference/genericArrayAssignmentCompatErrors.js +++ b/tests/baselines/reference/genericArrayAssignmentCompatErrors.js @@ -4,8 +4,8 @@ var myCars=new Array(); var myCars2 = new []; var myCars3 = new Array({}); -var myCars4: Array; // error -var myCars5: Array[]; +declare var myCars4: Array; // error +declare var myCars5: Array[]; myCars = myCars2; myCars = myCars3; @@ -27,8 +27,6 @@ myCars3 = myCars5; var myCars = new Array(); var myCars2 = new []; var myCars3 = new Array({}); -var myCars4; // error -var myCars5; myCars = myCars2; myCars = myCars3; myCars = myCars4; diff --git a/tests/baselines/reference/genericArrayAssignmentCompatErrors.symbols b/tests/baselines/reference/genericArrayAssignmentCompatErrors.symbols index 76c1c48e57f11..abc7201025b43 100644 --- a/tests/baselines/reference/genericArrayAssignmentCompatErrors.symbols +++ b/tests/baselines/reference/genericArrayAssignmentCompatErrors.symbols @@ -12,12 +12,12 @@ var myCars3 = new Array({}); >myCars3 : Symbol(myCars3, Decl(genericArrayAssignmentCompatErrors.ts, 2, 3)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) -var myCars4: Array; // error ->myCars4 : Symbol(myCars4, Decl(genericArrayAssignmentCompatErrors.ts, 3, 3)) +declare var myCars4: Array; // error +>myCars4 : Symbol(myCars4, Decl(genericArrayAssignmentCompatErrors.ts, 3, 11)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) -var myCars5: Array[]; ->myCars5 : Symbol(myCars5, Decl(genericArrayAssignmentCompatErrors.ts, 4, 3)) +declare var myCars5: Array[]; +>myCars5 : Symbol(myCars5, Decl(genericArrayAssignmentCompatErrors.ts, 4, 11)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) myCars = myCars2; @@ -30,11 +30,11 @@ myCars = myCars3; myCars = myCars4; >myCars : Symbol(myCars, Decl(genericArrayAssignmentCompatErrors.ts, 0, 3)) ->myCars4 : Symbol(myCars4, Decl(genericArrayAssignmentCompatErrors.ts, 3, 3)) +>myCars4 : Symbol(myCars4, Decl(genericArrayAssignmentCompatErrors.ts, 3, 11)) myCars = myCars5; >myCars : Symbol(myCars, Decl(genericArrayAssignmentCompatErrors.ts, 0, 3)) ->myCars5 : Symbol(myCars5, Decl(genericArrayAssignmentCompatErrors.ts, 4, 3)) +>myCars5 : Symbol(myCars5, Decl(genericArrayAssignmentCompatErrors.ts, 4, 11)) myCars2 = myCars; >myCars2 : Symbol(myCars2, Decl(genericArrayAssignmentCompatErrors.ts, 1, 3)) @@ -46,11 +46,11 @@ myCars2 = myCars3; myCars2 = myCars4; >myCars2 : Symbol(myCars2, Decl(genericArrayAssignmentCompatErrors.ts, 1, 3)) ->myCars4 : Symbol(myCars4, Decl(genericArrayAssignmentCompatErrors.ts, 3, 3)) +>myCars4 : Symbol(myCars4, Decl(genericArrayAssignmentCompatErrors.ts, 3, 11)) myCars2 = myCars5; >myCars2 : Symbol(myCars2, Decl(genericArrayAssignmentCompatErrors.ts, 1, 3)) ->myCars5 : Symbol(myCars5, Decl(genericArrayAssignmentCompatErrors.ts, 4, 3)) +>myCars5 : Symbol(myCars5, Decl(genericArrayAssignmentCompatErrors.ts, 4, 11)) myCars3 = myCars; >myCars3 : Symbol(myCars3, Decl(genericArrayAssignmentCompatErrors.ts, 2, 3)) @@ -62,9 +62,9 @@ myCars3 = myCars2; myCars3 = myCars4; >myCars3 : Symbol(myCars3, Decl(genericArrayAssignmentCompatErrors.ts, 2, 3)) ->myCars4 : Symbol(myCars4, Decl(genericArrayAssignmentCompatErrors.ts, 3, 3)) +>myCars4 : Symbol(myCars4, Decl(genericArrayAssignmentCompatErrors.ts, 3, 11)) myCars3 = myCars5; >myCars3 : Symbol(myCars3, Decl(genericArrayAssignmentCompatErrors.ts, 2, 3)) ->myCars5 : Symbol(myCars5, Decl(genericArrayAssignmentCompatErrors.ts, 4, 3)) +>myCars5 : Symbol(myCars5, Decl(genericArrayAssignmentCompatErrors.ts, 4, 11)) diff --git a/tests/baselines/reference/genericArrayAssignmentCompatErrors.types b/tests/baselines/reference/genericArrayAssignmentCompatErrors.types index 702114062d8ac..82f20185d7746 100644 --- a/tests/baselines/reference/genericArrayAssignmentCompatErrors.types +++ b/tests/baselines/reference/genericArrayAssignmentCompatErrors.types @@ -27,11 +27,11 @@ var myCars3 = new Array({}); >{} : {} > : ^^ -var myCars4: Array; // error +declare var myCars4: Array; // error >myCars4 : any > : ^^^ -var myCars5: Array[]; +declare var myCars5: Array[]; >myCars5 : any[][] > : ^^^^^^^ diff --git a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.errors.txt b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.errors.txt index 01a2e085d3f9d..537e2569794d6 100644 --- a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.errors.txt +++ b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.errors.txt @@ -42,7 +42,7 @@ genericCallToOverloadedMethodWithOverloadedArguments.ts(84,38): error TS2769: No declare function testFunction(n: number): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); } @@ -56,7 +56,7 @@ genericCallToOverloadedMethodWithOverloadedArguments.ts(84,38): error TS2769: No declare function testFunction(n: number): Promise; declare function testFunction(s: string): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); ~~~~~~~~~~~~ !!! error TS2345: Argument of type '{ (n: number): Promise; (s: string): Promise; }' is not assignable to parameter of type '(x: number) => Promise'. @@ -74,7 +74,7 @@ genericCallToOverloadedMethodWithOverloadedArguments.ts(84,38): error TS2769: No declare function testFunction(n: number): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); } @@ -89,7 +89,7 @@ genericCallToOverloadedMethodWithOverloadedArguments.ts(84,38): error TS2769: No declare function testFunction(n: number): Promise; declare function testFunction(s: string): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); ~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -115,7 +115,7 @@ genericCallToOverloadedMethodWithOverloadedArguments.ts(84,38): error TS2769: No declare function testFunction(n: number): Promise; declare function testFunction(s: string): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); ~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -145,7 +145,7 @@ genericCallToOverloadedMethodWithOverloadedArguments.ts(84,38): error TS2769: No declare function testFunction(s: string): Promise; declare function testFunction(b: boolean): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); ~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. diff --git a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.js b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.js index 30eee28bcdeac..09eed54c91248 100644 --- a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.js +++ b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.js @@ -8,7 +8,7 @@ namespace m1 { declare function testFunction(n: number): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); } @@ -22,7 +22,7 @@ namespace m2 { declare function testFunction(n: number): Promise; declare function testFunction(s: string): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); } @@ -36,7 +36,7 @@ namespace m3 { declare function testFunction(n: number): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); } @@ -51,7 +51,7 @@ namespace m4 { declare function testFunction(n: number): Promise; declare function testFunction(s: string): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); } @@ -67,7 +67,7 @@ namespace m5 { declare function testFunction(n: number): Promise; declare function testFunction(s: string): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); } @@ -83,7 +83,7 @@ namespace m6 { declare function testFunction(s: string): Promise; declare function testFunction(b: boolean): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); } @@ -91,36 +91,30 @@ namespace m6 { //// [genericCallToOverloadedMethodWithOverloadedArguments.js] var m1; (function (m1) { - var numPromise; var newPromise = numPromise.then(testFunction); })(m1 || (m1 = {})); ////////////////////////////////////// var m2; (function (m2) { - var numPromise; var newPromise = numPromise.then(testFunction); })(m2 || (m2 = {})); ////////////////////////////////////// var m3; (function (m3) { - var numPromise; var newPromise = numPromise.then(testFunction); })(m3 || (m3 = {})); ////////////////////////////////////// var m4; (function (m4) { - var numPromise; var newPromise = numPromise.then(testFunction); })(m4 || (m4 = {})); ////////////////////////////////////// var m5; (function (m5) { - var numPromise; var newPromise = numPromise.then(testFunction); })(m5 || (m5 = {})); ////////////////////////////////////// var m6; (function (m6) { - var numPromise; var newPromise = numPromise.then(testFunction); })(m6 || (m6 = {})); diff --git a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.symbols b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.symbols index 770090eff1a26..80dcb4d5dcd72 100644 --- a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.symbols +++ b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.symbols @@ -25,14 +25,14 @@ namespace m1 { >n : Symbol(n, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 5, 34)) >Promise : Symbol(Promise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 0, 14)) - var numPromise: Promise; ->numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 7, 7)) + declare var numPromise: Promise; +>numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 7, 15)) >Promise : Symbol(Promise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 0, 14)) var newPromise = numPromise.then(testFunction); >newPromise : Symbol(newPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 8, 7)) >numPromise.then : Symbol(Promise.then, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 1, 26)) ->numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 7, 7)) +>numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 7, 15)) >then : Symbol(Promise.then, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 1, 26)) >testFunction : Symbol(testFunction, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 3, 5)) } @@ -68,14 +68,14 @@ namespace m2 { >s : Symbol(s, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 19, 34)) >Promise : Symbol(Promise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 13, 14)) - var numPromise: Promise; ->numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 21, 7)) + declare var numPromise: Promise; +>numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 21, 15)) >Promise : Symbol(Promise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 13, 14)) var newPromise = numPromise.then(testFunction); >newPromise : Symbol(newPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 22, 7)) >numPromise.then : Symbol(Promise.then, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 14, 26)) ->numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 21, 7)) +>numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 21, 15)) >then : Symbol(Promise.then, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 14, 26)) >testFunction : Symbol(testFunction, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 16, 5), Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 18, 62)) } @@ -121,14 +121,14 @@ namespace m3 { >n : Symbol(n, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 33, 34)) >Promise : Symbol(Promise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 27, 14)) - var numPromise: Promise; ->numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 35, 7)) + declare var numPromise: Promise; +>numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 35, 15)) >Promise : Symbol(Promise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 27, 14)) var newPromise = numPromise.then(testFunction); >newPromise : Symbol(newPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 36, 7)) >numPromise.then : Symbol(Promise.then, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 28, 26), Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 29, 54)) ->numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 35, 7)) +>numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 35, 15)) >then : Symbol(Promise.then, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 28, 26), Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 29, 54)) >testFunction : Symbol(testFunction, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 31, 5)) } @@ -179,14 +179,14 @@ namespace m4 { >s : Symbol(s, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 48, 34)) >Promise : Symbol(Promise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 41, 14)) - var numPromise: Promise; ->numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 50, 7)) + declare var numPromise: Promise; +>numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 50, 15)) >Promise : Symbol(Promise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 41, 14)) var newPromise = numPromise.then(testFunction); >newPromise : Symbol(newPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 51, 7)) >numPromise.then : Symbol(Promise.then, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 42, 26), Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 43, 54)) ->numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 50, 7)) +>numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 50, 15)) >then : Symbol(Promise.then, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 42, 26), Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 43, 54)) >testFunction : Symbol(testFunction, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 45, 5), Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 47, 62)) } @@ -253,14 +253,14 @@ namespace m5 { >s : Symbol(s, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 64, 34)) >Promise : Symbol(Promise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 56, 14)) - var numPromise: Promise; ->numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 66, 7)) + declare var numPromise: Promise; +>numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 66, 15)) >Promise : Symbol(Promise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 56, 14)) var newPromise = numPromise.then(testFunction); >newPromise : Symbol(newPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 67, 7)) >numPromise.then : Symbol(Promise.then, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 57, 26), Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 58, 54), Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 59, 90)) ->numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 66, 7)) +>numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 66, 15)) >then : Symbol(Promise.then, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 57, 26), Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 58, 54), Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 59, 90)) >testFunction : Symbol(testFunction, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 61, 5), Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 63, 62)) } @@ -316,14 +316,14 @@ namespace m6 { >b : Symbol(b, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 80, 34)) >Promise : Symbol(Promise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 72, 14)) - var numPromise: Promise; ->numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 82, 7)) + declare var numPromise: Promise; +>numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 82, 15)) >Promise : Symbol(Promise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 72, 14)) var newPromise = numPromise.then(testFunction); >newPromise : Symbol(newPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 83, 7)) >numPromise.then : Symbol(Promise.then, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 73, 26), Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 74, 54)) ->numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 82, 7)) +>numPromise : Symbol(numPromise, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 82, 15)) >then : Symbol(Promise.then, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 73, 26), Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 74, 54)) >testFunction : Symbol(testFunction, Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 76, 5), Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 78, 62), Decl(genericCallToOverloadedMethodWithOverloadedArguments.ts, 79, 62)) } diff --git a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types index d1658fdc1895f..726c884306b7b 100644 --- a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types +++ b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types @@ -21,7 +21,7 @@ namespace m1 { >n : number > : ^^^^^^ - var numPromise: Promise; + declare var numPromise: Promise; >numPromise : Promise > : ^^^^^^^^^^^^^^^ @@ -68,7 +68,7 @@ namespace m2 { >s : string > : ^^^^^^ - var numPromise: Promise; + declare var numPromise: Promise; >numPromise : Promise > : ^^^^^^^^^^^^^^^ @@ -121,7 +121,7 @@ namespace m3 { >n : number > : ^^^^^^ - var numPromise: Promise; + declare var numPromise: Promise; >numPromise : Promise > : ^^^^^^^^^^^^^^^ @@ -180,7 +180,7 @@ namespace m4 { >s : string > : ^^^^^^ - var numPromise: Promise; + declare var numPromise: Promise; >numPromise : Promise > : ^^^^^^^^^^^^^^^ @@ -255,7 +255,7 @@ namespace m5 { >s : string > : ^^^^^^ - var numPromise: Promise; + declare var numPromise: Promise; >numPromise : Promise > : ^^^^^^^^^^^^^^^ @@ -320,7 +320,7 @@ namespace m6 { >b : boolean > : ^^^^^^^ - var numPromise: Promise; + declare var numPromise: Promise; >numPromise : Promise > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.errors.txt b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.errors.txt index 54390da7fd94e..3288604ebcc96 100644 --- a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.errors.txt +++ b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.errors.txt @@ -5,7 +5,7 @@ genericCallWithConstraintsTypeArgumentInference2.ts(11,26): error TS2345: Argume // Generic call with parameters of T and U, U extends T, no parameter of type U function foo(t: T) { - var u: U; + var u!: U; return u; } diff --git a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.js b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.js index d41f68107d8b3..bc591ac360cbe 100644 --- a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.js +++ b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.js @@ -4,7 +4,7 @@ // Generic call with parameters of T and U, U extends T, no parameter of type U function foo(t: T) { - var u: U; + var u!: U; return u; } diff --git a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.symbols b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.symbols index 3498b5159d6e5..2e2992012eb6c 100644 --- a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.symbols +++ b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.symbols @@ -11,7 +11,7 @@ function foo(t: T) { >t : Symbol(t, Decl(genericCallWithConstraintsTypeArgumentInference2.ts, 2, 29)) >T : Symbol(T, Decl(genericCallWithConstraintsTypeArgumentInference2.ts, 2, 13)) - var u: U; + var u!: U; >u : Symbol(u, Decl(genericCallWithConstraintsTypeArgumentInference2.ts, 3, 7)) >U : Symbol(U, Decl(genericCallWithConstraintsTypeArgumentInference2.ts, 2, 15)) diff --git a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.types b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.types index 695867b12baf4..244a9188abf4e 100644 --- a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.types +++ b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.types @@ -9,7 +9,7 @@ function foo(t: T) { >t : T > : ^ - var u: U; + var u!: U; >u : U > : ^ diff --git a/tests/baselines/reference/genericCallWithConstructorTypedArguments5.errors.txt b/tests/baselines/reference/genericCallWithConstructorTypedArguments5.errors.txt index 048bb6814c544..bc7e3f4d358ea 100644 --- a/tests/baselines/reference/genericCallWithConstructorTypedArguments5.errors.txt +++ b/tests/baselines/reference/genericCallWithConstructorTypedArguments5.errors.txt @@ -15,17 +15,17 @@ genericCallWithConstructorTypedArguments5.ts(13,14): error TS2345: Argument of t return new arg.cb(null); } - var arg: { cb: new(x: T) => string }; + declare var arg: { cb: new(x: T) => string }; var r = foo(arg); // {} // more args not allowed - var arg2: { cb: new (x: T, y: T) => string }; + declare var arg2: { cb: new (x: T, y: T) => string }; var r2 = foo(arg2); // error ~~~~ !!! error TS2345: Argument of type '{ cb: new (x: T, y: T) => string; }' is not assignable to parameter of type '{ cb: new (t: unknown) => string; }'. !!! error TS2345: Types of property 'cb' are incompatible. !!! error TS2345: Type 'new (x: T, y: T) => string' is not assignable to type 'new (t: unknown) => string'. !!! error TS2345: Target signature provides too few arguments. Expected 2 or more, but got 1. - var arg3: { cb: new (x: string, y: number) => string }; + declare var arg3: { cb: new (x: string, y: number) => string }; var r3 = foo(arg3); // error ~~~~ !!! error TS2345: Argument of type '{ cb: new (x: string, y: number) => string; }' is not assignable to parameter of type '{ cb: new (t: string) => string; }'. @@ -39,8 +39,8 @@ genericCallWithConstructorTypedArguments5.ts(13,14): error TS2345: Argument of t // fewer args ok var r4 = foo(arg); // {} - var arg4: { cb: new (x: string) => string }; + declare var arg4: { cb: new (x: string) => string }; var r6 = foo(arg4); // string - var arg5: { cb: new () => string }; + declare var arg5: { cb: new () => string }; var r7 = foo(arg5); // string \ No newline at end of file diff --git a/tests/baselines/reference/genericCallWithConstructorTypedArguments5.js b/tests/baselines/reference/genericCallWithConstructorTypedArguments5.js index c14b9af70fc93..304622ed7a3a0 100644 --- a/tests/baselines/reference/genericCallWithConstructorTypedArguments5.js +++ b/tests/baselines/reference/genericCallWithConstructorTypedArguments5.js @@ -7,12 +7,12 @@ function foo(arg: { cb: new(t: T) => U }) { return new arg.cb(null); } -var arg: { cb: new(x: T) => string }; +declare var arg: { cb: new(x: T) => string }; var r = foo(arg); // {} // more args not allowed -var arg2: { cb: new (x: T, y: T) => string }; +declare var arg2: { cb: new (x: T, y: T) => string }; var r2 = foo(arg2); // error -var arg3: { cb: new (x: string, y: number) => string }; +declare var arg3: { cb: new (x: string, y: number) => string }; var r3 = foo(arg3); // error function foo2(arg: { cb: new(t: T, t2: T) => U }) { @@ -21,9 +21,9 @@ function foo2(arg: { cb: new(t: T, t2: T) => U }) { // fewer args ok var r4 = foo(arg); // {} -var arg4: { cb: new (x: string) => string }; +declare var arg4: { cb: new (x: string) => string }; var r6 = foo(arg4); // string -var arg5: { cb: new () => string }; +declare var arg5: { cb: new () => string }; var r7 = foo(arg5); // string @@ -32,19 +32,13 @@ var r7 = foo(arg5); // string function foo(arg) { return new arg.cb(null); } -var arg; var r = foo(arg); // {} -// more args not allowed -var arg2; var r2 = foo(arg2); // error -var arg3; var r3 = foo(arg3); // error function foo2(arg) { return new arg.cb(null, null); } // fewer args ok var r4 = foo(arg); // {} -var arg4; var r6 = foo(arg4); // string -var arg5; var r7 = foo(arg5); // string diff --git a/tests/baselines/reference/genericCallWithConstructorTypedArguments5.symbols b/tests/baselines/reference/genericCallWithConstructorTypedArguments5.symbols index 3b8f0958f9936..4111f616223bf 100644 --- a/tests/baselines/reference/genericCallWithConstructorTypedArguments5.symbols +++ b/tests/baselines/reference/genericCallWithConstructorTypedArguments5.symbols @@ -19,43 +19,43 @@ function foo(arg: { cb: new(t: T) => U }) { >cb : Symbol(cb, Decl(genericCallWithConstructorTypedArguments5.ts, 2, 25)) } -var arg: { cb: new(x: T) => string }; ->arg : Symbol(arg, Decl(genericCallWithConstructorTypedArguments5.ts, 6, 3)) ->cb : Symbol(cb, Decl(genericCallWithConstructorTypedArguments5.ts, 6, 10)) ->T : Symbol(T, Decl(genericCallWithConstructorTypedArguments5.ts, 6, 19)) ->x : Symbol(x, Decl(genericCallWithConstructorTypedArguments5.ts, 6, 22)) ->T : Symbol(T, Decl(genericCallWithConstructorTypedArguments5.ts, 6, 19)) +declare var arg: { cb: new(x: T) => string }; +>arg : Symbol(arg, Decl(genericCallWithConstructorTypedArguments5.ts, 6, 11)) +>cb : Symbol(cb, Decl(genericCallWithConstructorTypedArguments5.ts, 6, 18)) +>T : Symbol(T, Decl(genericCallWithConstructorTypedArguments5.ts, 6, 27)) +>x : Symbol(x, Decl(genericCallWithConstructorTypedArguments5.ts, 6, 30)) +>T : Symbol(T, Decl(genericCallWithConstructorTypedArguments5.ts, 6, 27)) var r = foo(arg); // {} >r : Symbol(r, Decl(genericCallWithConstructorTypedArguments5.ts, 7, 3)) >foo : Symbol(foo, Decl(genericCallWithConstructorTypedArguments5.ts, 0, 0)) ->arg : Symbol(arg, Decl(genericCallWithConstructorTypedArguments5.ts, 6, 3)) +>arg : Symbol(arg, Decl(genericCallWithConstructorTypedArguments5.ts, 6, 11)) // more args not allowed -var arg2: { cb: new (x: T, y: T) => string }; ->arg2 : Symbol(arg2, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 3)) ->cb : Symbol(cb, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 11)) ->T : Symbol(T, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 21)) ->x : Symbol(x, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 24)) ->T : Symbol(T, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 21)) ->y : Symbol(y, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 29)) ->T : Symbol(T, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 21)) +declare var arg2: { cb: new (x: T, y: T) => string }; +>arg2 : Symbol(arg2, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 11)) +>cb : Symbol(cb, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 19)) +>T : Symbol(T, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 29)) +>x : Symbol(x, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 32)) +>T : Symbol(T, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 29)) +>y : Symbol(y, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 37)) +>T : Symbol(T, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 29)) var r2 = foo(arg2); // error >r2 : Symbol(r2, Decl(genericCallWithConstructorTypedArguments5.ts, 10, 3)) >foo : Symbol(foo, Decl(genericCallWithConstructorTypedArguments5.ts, 0, 0)) ->arg2 : Symbol(arg2, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 3)) +>arg2 : Symbol(arg2, Decl(genericCallWithConstructorTypedArguments5.ts, 9, 11)) -var arg3: { cb: new (x: string, y: number) => string }; ->arg3 : Symbol(arg3, Decl(genericCallWithConstructorTypedArguments5.ts, 11, 3)) ->cb : Symbol(cb, Decl(genericCallWithConstructorTypedArguments5.ts, 11, 11)) ->x : Symbol(x, Decl(genericCallWithConstructorTypedArguments5.ts, 11, 21)) ->y : Symbol(y, Decl(genericCallWithConstructorTypedArguments5.ts, 11, 31)) +declare var arg3: { cb: new (x: string, y: number) => string }; +>arg3 : Symbol(arg3, Decl(genericCallWithConstructorTypedArguments5.ts, 11, 11)) +>cb : Symbol(cb, Decl(genericCallWithConstructorTypedArguments5.ts, 11, 19)) +>x : Symbol(x, Decl(genericCallWithConstructorTypedArguments5.ts, 11, 29)) +>y : Symbol(y, Decl(genericCallWithConstructorTypedArguments5.ts, 11, 39)) var r3 = foo(arg3); // error >r3 : Symbol(r3, Decl(genericCallWithConstructorTypedArguments5.ts, 12, 3)) >foo : Symbol(foo, Decl(genericCallWithConstructorTypedArguments5.ts, 0, 0)) ->arg3 : Symbol(arg3, Decl(genericCallWithConstructorTypedArguments5.ts, 11, 3)) +>arg3 : Symbol(arg3, Decl(genericCallWithConstructorTypedArguments5.ts, 11, 11)) function foo2(arg: { cb: new(t: T, t2: T) => U }) { >foo2 : Symbol(foo2, Decl(genericCallWithConstructorTypedArguments5.ts, 12, 19)) @@ -79,24 +79,24 @@ function foo2(arg: { cb: new(t: T, t2: T) => U }) { var r4 = foo(arg); // {} >r4 : Symbol(r4, Decl(genericCallWithConstructorTypedArguments5.ts, 19, 3)) >foo : Symbol(foo, Decl(genericCallWithConstructorTypedArguments5.ts, 0, 0)) ->arg : Symbol(arg, Decl(genericCallWithConstructorTypedArguments5.ts, 6, 3)) +>arg : Symbol(arg, Decl(genericCallWithConstructorTypedArguments5.ts, 6, 11)) -var arg4: { cb: new (x: string) => string }; ->arg4 : Symbol(arg4, Decl(genericCallWithConstructorTypedArguments5.ts, 20, 3)) ->cb : Symbol(cb, Decl(genericCallWithConstructorTypedArguments5.ts, 20, 11)) ->x : Symbol(x, Decl(genericCallWithConstructorTypedArguments5.ts, 20, 21)) +declare var arg4: { cb: new (x: string) => string }; +>arg4 : Symbol(arg4, Decl(genericCallWithConstructorTypedArguments5.ts, 20, 11)) +>cb : Symbol(cb, Decl(genericCallWithConstructorTypedArguments5.ts, 20, 19)) +>x : Symbol(x, Decl(genericCallWithConstructorTypedArguments5.ts, 20, 29)) var r6 = foo(arg4); // string >r6 : Symbol(r6, Decl(genericCallWithConstructorTypedArguments5.ts, 21, 3)) >foo : Symbol(foo, Decl(genericCallWithConstructorTypedArguments5.ts, 0, 0)) ->arg4 : Symbol(arg4, Decl(genericCallWithConstructorTypedArguments5.ts, 20, 3)) +>arg4 : Symbol(arg4, Decl(genericCallWithConstructorTypedArguments5.ts, 20, 11)) -var arg5: { cb: new () => string }; ->arg5 : Symbol(arg5, Decl(genericCallWithConstructorTypedArguments5.ts, 22, 3)) ->cb : Symbol(cb, Decl(genericCallWithConstructorTypedArguments5.ts, 22, 11)) +declare var arg5: { cb: new () => string }; +>arg5 : Symbol(arg5, Decl(genericCallWithConstructorTypedArguments5.ts, 22, 11)) +>cb : Symbol(cb, Decl(genericCallWithConstructorTypedArguments5.ts, 22, 19)) var r7 = foo(arg5); // string >r7 : Symbol(r7, Decl(genericCallWithConstructorTypedArguments5.ts, 23, 3)) >foo : Symbol(foo, Decl(genericCallWithConstructorTypedArguments5.ts, 0, 0)) ->arg5 : Symbol(arg5, Decl(genericCallWithConstructorTypedArguments5.ts, 22, 3)) +>arg5 : Symbol(arg5, Decl(genericCallWithConstructorTypedArguments5.ts, 22, 11)) diff --git a/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types b/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types index 2220e844528eb..cc491814e77d0 100644 --- a/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types +++ b/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types @@ -24,7 +24,7 @@ function foo(arg: { cb: new(t: T) => U }) { > : ^^^^^ ^^ ^^^^^ } -var arg: { cb: new(x: T) => string }; +declare var arg: { cb: new(x: T) => string }; >arg : { cb: new (x: T) => string; } > : ^^^^^^ ^^^ >cb : new (x: T) => string @@ -43,7 +43,7 @@ var r = foo(arg); // {} > : ^^^^^^ ^^^ // more args not allowed -var arg2: { cb: new (x: T, y: T) => string }; +declare var arg2: { cb: new (x: T, y: T) => string }; >arg2 : { cb: new (x: T, y: T) => string; } > : ^^^^^^ ^^^ >cb : new (x: T, y: T) => string @@ -63,7 +63,7 @@ var r2 = foo(arg2); // error >arg2 : { cb: new (x: T, y: T) => string; } > : ^^^^^^ ^^^ -var arg3: { cb: new (x: string, y: number) => string }; +declare var arg3: { cb: new (x: string, y: number) => string }; >arg3 : { cb: new (x: string, y: number) => string; } > : ^^^^^^ ^^^ >cb : new (x: string, y: number) => string @@ -117,7 +117,7 @@ var r4 = foo(arg); // {} >arg : { cb: new (x: T) => string; } > : ^^^^^^ ^^^ -var arg4: { cb: new (x: string) => string }; +declare var arg4: { cb: new (x: string) => string }; >arg4 : { cb: new (x: string) => string; } > : ^^^^^^ ^^^ >cb : new (x: string) => string @@ -135,7 +135,7 @@ var r6 = foo(arg4); // string >arg4 : { cb: new (x: string) => string; } > : ^^^^^^ ^^^ -var arg5: { cb: new () => string }; +declare var arg5: { cb: new () => string }; >arg5 : { cb: new () => string; } > : ^^^^^^ ^^^ >cb : new () => string diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.errors.txt b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.errors.txt index 83ea42f802762..5c7060b9e1967 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.errors.txt +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.errors.txt @@ -20,9 +20,9 @@ genericCallWithFunctionTypedArguments2.ts(40,18): error TS2345: Argument of type interface I2 { new (x: T): T; } - var i: I; - var i2: I2; - var a: { + declare var i: I; + declare var i2: I2; + declare var a: { new (x: T): T; } diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.js b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.js index 701a93fce1a25..2ef8b36bd084e 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.js +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.js @@ -14,9 +14,9 @@ interface I { interface I2 { new (x: T): T; } -var i: I; -var i2: I2; -var a: { +declare var i: I; +declare var i2: I2; +declare var a: { new (x: T): T; } @@ -49,9 +49,6 @@ var r9 = foo3('', i2, ''); // string function foo(x) { return new x(null); } -var i; -var i2; -var a; var r = foo(i); // any var r2 = foo(i); // string var r3 = foo(i2); // string diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.symbols b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.symbols index 51a2c11cd3d10..320a37bb288eb 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.symbols +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.symbols @@ -34,16 +34,16 @@ interface I2 { >T : Symbol(T, Decl(genericCallWithFunctionTypedArguments2.ts, 10, 13)) >T : Symbol(T, Decl(genericCallWithFunctionTypedArguments2.ts, 10, 13)) } -var i: I; ->i : Symbol(i, Decl(genericCallWithFunctionTypedArguments2.ts, 13, 3)) +declare var i: I; +>i : Symbol(i, Decl(genericCallWithFunctionTypedArguments2.ts, 13, 11)) >I : Symbol(I, Decl(genericCallWithFunctionTypedArguments2.ts, 5, 1)) -var i2: I2; ->i2 : Symbol(i2, Decl(genericCallWithFunctionTypedArguments2.ts, 14, 3)) +declare var i2: I2; +>i2 : Symbol(i2, Decl(genericCallWithFunctionTypedArguments2.ts, 14, 11)) >I2 : Symbol(I2, Decl(genericCallWithFunctionTypedArguments2.ts, 9, 1)) -var a: { ->a : Symbol(a, Decl(genericCallWithFunctionTypedArguments2.ts, 15, 3)) +declare var a: { +>a : Symbol(a, Decl(genericCallWithFunctionTypedArguments2.ts, 15, 11)) new (x: T): T; >T : Symbol(T, Decl(genericCallWithFunctionTypedArguments2.ts, 16, 9)) @@ -55,22 +55,22 @@ var a: { var r = foo(i); // any >r : Symbol(r, Decl(genericCallWithFunctionTypedArguments2.ts, 19, 3)) >foo : Symbol(foo, Decl(genericCallWithFunctionTypedArguments2.ts, 0, 0)) ->i : Symbol(i, Decl(genericCallWithFunctionTypedArguments2.ts, 13, 3)) +>i : Symbol(i, Decl(genericCallWithFunctionTypedArguments2.ts, 13, 11)) var r2 = foo(i); // string >r2 : Symbol(r2, Decl(genericCallWithFunctionTypedArguments2.ts, 20, 3)) >foo : Symbol(foo, Decl(genericCallWithFunctionTypedArguments2.ts, 0, 0)) ->i : Symbol(i, Decl(genericCallWithFunctionTypedArguments2.ts, 13, 3)) +>i : Symbol(i, Decl(genericCallWithFunctionTypedArguments2.ts, 13, 11)) var r3 = foo(i2); // string >r3 : Symbol(r3, Decl(genericCallWithFunctionTypedArguments2.ts, 21, 3)) >foo : Symbol(foo, Decl(genericCallWithFunctionTypedArguments2.ts, 0, 0)) ->i2 : Symbol(i2, Decl(genericCallWithFunctionTypedArguments2.ts, 14, 3)) +>i2 : Symbol(i2, Decl(genericCallWithFunctionTypedArguments2.ts, 14, 11)) var r3b = foo(a); // any >r3b : Symbol(r3b, Decl(genericCallWithFunctionTypedArguments2.ts, 22, 3)) >foo : Symbol(foo, Decl(genericCallWithFunctionTypedArguments2.ts, 0, 0)) ->a : Symbol(a, Decl(genericCallWithFunctionTypedArguments2.ts, 15, 3)) +>a : Symbol(a, Decl(genericCallWithFunctionTypedArguments2.ts, 15, 11)) function foo2(x: T, cb: new(a: T) => U) { >foo2 : Symbol(foo2, Decl(genericCallWithFunctionTypedArguments2.ts, 22, 17)) @@ -91,22 +91,22 @@ function foo2(x: T, cb: new(a: T) => U) { var r4 = foo2(1, i2); // error >r4 : Symbol(r4, Decl(genericCallWithFunctionTypedArguments2.ts, 28, 3)) >foo2 : Symbol(foo2, Decl(genericCallWithFunctionTypedArguments2.ts, 22, 17)) ->i2 : Symbol(i2, Decl(genericCallWithFunctionTypedArguments2.ts, 14, 3)) +>i2 : Symbol(i2, Decl(genericCallWithFunctionTypedArguments2.ts, 14, 11)) var r4b = foo2(1, a); // any >r4b : Symbol(r4b, Decl(genericCallWithFunctionTypedArguments2.ts, 29, 3)) >foo2 : Symbol(foo2, Decl(genericCallWithFunctionTypedArguments2.ts, 22, 17)) ->a : Symbol(a, Decl(genericCallWithFunctionTypedArguments2.ts, 15, 3)) +>a : Symbol(a, Decl(genericCallWithFunctionTypedArguments2.ts, 15, 11)) var r5 = foo2(1, i); // any >r5 : Symbol(r5, Decl(genericCallWithFunctionTypedArguments2.ts, 30, 3)) >foo2 : Symbol(foo2, Decl(genericCallWithFunctionTypedArguments2.ts, 22, 17)) ->i : Symbol(i, Decl(genericCallWithFunctionTypedArguments2.ts, 13, 3)) +>i : Symbol(i, Decl(genericCallWithFunctionTypedArguments2.ts, 13, 11)) var r6 = foo2('', i2); // string >r6 : Symbol(r6, Decl(genericCallWithFunctionTypedArguments2.ts, 31, 3)) >foo2 : Symbol(foo2, Decl(genericCallWithFunctionTypedArguments2.ts, 22, 17)) ->i2 : Symbol(i2, Decl(genericCallWithFunctionTypedArguments2.ts, 14, 3)) +>i2 : Symbol(i2, Decl(genericCallWithFunctionTypedArguments2.ts, 14, 11)) function foo3(x: T, cb: new(a: T) => U, y: U) { >foo3 : Symbol(foo3, Decl(genericCallWithFunctionTypedArguments2.ts, 31, 38)) @@ -129,20 +129,20 @@ function foo3(x: T, cb: new(a: T) => U, y: U) { var r7 = foo3(null, i, ''); // any >r7 : Symbol(r7, Decl(genericCallWithFunctionTypedArguments2.ts, 37, 3)) >foo3 : Symbol(foo3, Decl(genericCallWithFunctionTypedArguments2.ts, 31, 38)) ->i : Symbol(i, Decl(genericCallWithFunctionTypedArguments2.ts, 13, 3)) +>i : Symbol(i, Decl(genericCallWithFunctionTypedArguments2.ts, 13, 11)) var r7b = foo3(null, a, ''); // any >r7b : Symbol(r7b, Decl(genericCallWithFunctionTypedArguments2.ts, 38, 3)) >foo3 : Symbol(foo3, Decl(genericCallWithFunctionTypedArguments2.ts, 31, 38)) ->a : Symbol(a, Decl(genericCallWithFunctionTypedArguments2.ts, 15, 3)) +>a : Symbol(a, Decl(genericCallWithFunctionTypedArguments2.ts, 15, 11)) var r8 = foo3(1, i2, 1); // error >r8 : Symbol(r8, Decl(genericCallWithFunctionTypedArguments2.ts, 39, 3)) >foo3 : Symbol(foo3, Decl(genericCallWithFunctionTypedArguments2.ts, 31, 38)) ->i2 : Symbol(i2, Decl(genericCallWithFunctionTypedArguments2.ts, 14, 3)) +>i2 : Symbol(i2, Decl(genericCallWithFunctionTypedArguments2.ts, 14, 11)) var r9 = foo3('', i2, ''); // string >r9 : Symbol(r9, Decl(genericCallWithFunctionTypedArguments2.ts, 40, 3)) >foo3 : Symbol(foo3, Decl(genericCallWithFunctionTypedArguments2.ts, 31, 38)) ->i2 : Symbol(i2, Decl(genericCallWithFunctionTypedArguments2.ts, 14, 3)) +>i2 : Symbol(i2, Decl(genericCallWithFunctionTypedArguments2.ts, 14, 11)) diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types index 05e4e0bd0dda1..fcc1367aaa4ab 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types @@ -29,15 +29,15 @@ interface I2 { >x : T > : ^ } -var i: I; +declare var i: I; >i : I > : ^ -var i2: I2; +declare var i2: I2; >i2 : I2 > : ^^^^^^^^^^ -var a: { +declare var a: { >a : new (x: T) => T > : ^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.errors.txt b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.errors.txt index bc374e7e856c5..6f7f1af1a39a9 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.errors.txt +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.errors.txt @@ -28,7 +28,7 @@ genericCallWithGenericSignatureArguments2.ts(67,57): error TS2304: Cannot find n namespace onlyT { function foo(a: (x: T) => T, b: (x: T) => T) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -52,7 +52,7 @@ genericCallWithGenericSignatureArguments2.ts(67,57): error TS2304: Cannot find n } function foo2(a: (x: T) => T, b: (x: T) => T) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -70,7 +70,7 @@ genericCallWithGenericSignatureArguments2.ts(67,57): error TS2304: Cannot find n enum F { A } function foo3(x: T, a: (x: T) => T, b: (x: T) => T) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -82,7 +82,7 @@ genericCallWithGenericSignatureArguments2.ts(67,57): error TS2304: Cannot find n namespace TU { function foo(a: (x: T) => T, b: (x: U) => U) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -101,7 +101,7 @@ genericCallWithGenericSignatureArguments2.ts(67,57): error TS2304: Cannot find n } function foo2(a: (x: T) => T, b: (x: U) => U) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -123,7 +123,7 @@ genericCallWithGenericSignatureArguments2.ts(67,57): error TS2304: Cannot find n !!! error TS2304: Cannot find name 'U'. ~ !!! error TS2304: Cannot find name 'U'. - var r: (x: T) => T; + var r!: (x: T) => T; return r; } diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.js b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.js index ab99f367c8c16..1a94b1247d462 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.js +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.js @@ -6,7 +6,7 @@ namespace onlyT { function foo(a: (x: T) => T, b: (x: T) => T) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -20,7 +20,7 @@ namespace onlyT { } function foo2(a: (x: T) => T, b: (x: T) => T) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -33,7 +33,7 @@ namespace onlyT { enum F { A } function foo3(x: T, a: (x: T) => T, b: (x: T) => T) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -42,7 +42,7 @@ namespace onlyT { namespace TU { function foo(a: (x: T) => T, b: (x: U) => U) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -55,7 +55,7 @@ namespace TU { } function foo2(a: (x: T) => T, b: (x: U) => U) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -68,7 +68,7 @@ namespace TU { enum F { A } function foo3(x: T, a: (x: T) => T, b: (x: U) => U) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.symbols b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.symbols index 11eb3e4dcc661..70e6fb6ca65b1 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.symbols +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.symbols @@ -19,9 +19,9 @@ namespace onlyT { >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 4, 17)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 4, 17)) - var r: (x: T) => T; + var r!: (x: T) => T; >r : Symbol(r, Decl(genericCallWithGenericSignatureArguments2.ts, 5, 11)) ->x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 5, 16)) +>x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 5, 17)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 4, 17)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 4, 17)) @@ -77,9 +77,9 @@ namespace onlyT { >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 18, 18)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 18, 18)) - var r: (x: T) => T; + var r!: (x: T) => T; >r : Symbol(r, Decl(genericCallWithGenericSignatureArguments2.ts, 19, 11)) ->x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 19, 16)) +>x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 19, 17)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 18, 18)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 18, 18)) @@ -135,9 +135,9 @@ namespace onlyT { >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 31, 18)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 31, 18)) - var r: (x: T) => T; + var r!: (x: T) => T; >r : Symbol(r, Decl(genericCallWithGenericSignatureArguments2.ts, 32, 11)) ->x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 32, 16)) +>x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 32, 17)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 31, 18)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 31, 18)) @@ -177,9 +177,9 @@ namespace TU { >U : Symbol(U, Decl(genericCallWithGenericSignatureArguments2.ts, 40, 19)) >U : Symbol(U, Decl(genericCallWithGenericSignatureArguments2.ts, 40, 19)) - var r: (x: T) => T; + var r!: (x: T) => T; >r : Symbol(r, Decl(genericCallWithGenericSignatureArguments2.ts, 41, 11)) ->x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 41, 16)) +>x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 41, 17)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 40, 17)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 40, 17)) @@ -236,9 +236,9 @@ namespace TU { >U : Symbol(U, Decl(genericCallWithGenericSignatureArguments2.ts, 53, 33)) >U : Symbol(U, Decl(genericCallWithGenericSignatureArguments2.ts, 53, 33)) - var r: (x: T) => T; + var r!: (x: T) => T; >r : Symbol(r, Decl(genericCallWithGenericSignatureArguments2.ts, 54, 11)) ->x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 54, 16)) +>x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 54, 17)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 53, 18)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 53, 18)) @@ -294,9 +294,9 @@ namespace TU { >U : Symbol(U) >U : Symbol(U) - var r: (x: T) => T; + var r!: (x: T) => T; >r : Symbol(r, Decl(genericCallWithGenericSignatureArguments2.ts, 67, 11)) ->x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 67, 16)) +>x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 67, 17)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 66, 18)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 66, 18)) diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types index 0f43a3ff048d1..9dcf4e6563928 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types @@ -20,7 +20,7 @@ namespace onlyT { >x : T > : ^ - var r: (x: T) => T; + var r!: (x: T) => T; >r : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -115,7 +115,7 @@ namespace onlyT { >x : T > : ^ - var r: (x: T) => T; + var r!: (x: T) => T; >r : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -199,7 +199,7 @@ namespace onlyT { >x : T > : ^ - var r: (x: T) => T; + var r!: (x: T) => T; >r : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -261,7 +261,7 @@ namespace TU { >x : U > : ^ - var r: (x: T) => T; + var r!: (x: T) => T; >r : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -355,7 +355,7 @@ namespace TU { >x : U > : ^ - var r: (x: T) => T; + var r!: (x: T) => T; >r : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -439,7 +439,7 @@ namespace TU { >x : U > : ^ - var r: (x: T) => T; + var r!: (x: T) => T; >r : (x: T) => T > : ^ ^^ ^^^^^ >x : T diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.errors.txt b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.errors.txt index 5fd2927b27460..83cd484c7b7f4 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.errors.txt +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.errors.txt @@ -11,7 +11,7 @@ genericCallWithGenericSignatureArguments3.ts(33,69): error TS2345: Argument of t // the corresponding inferred type arguments to become fixed and no further candidate inferences are made for them. function foo(x: T, a: (x: T) => T, b: (x: T) => T) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -29,7 +29,7 @@ genericCallWithGenericSignatureArguments3.ts(33,69): error TS2345: Argument of t function foo2(x: T, a: (x: T) => U, b: (x: T) => U) { - var r: (x: T) => U; + var r!: (x: T) => U; return r; } @@ -37,7 +37,7 @@ genericCallWithGenericSignatureArguments3.ts(33,69): error TS2345: Argument of t var r9 = foo2(null, (x) => '', (x) => ''); // any => any var r10 = foo2(null, (x: Object) => '', (x: string) => ''); // Object => Object - var x: (a: string) => boolean; + declare var x: (a: string) => boolean; var r11 = foo2(x, (a1: (y: string) => string) => (n: Object) => 1, (a2: (z: string) => string) => 2); // error ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(a1: (y: string) => string) => (n: Object) => 1' is not assignable to parameter of type '(x: (a: string) => boolean) => (n: Object) => 1'. diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.js b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.js index 8fb3e2db7b7ed..1f618fa610665 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.js +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.js @@ -5,7 +5,7 @@ // the corresponding inferred type arguments to become fixed and no further candidate inferences are made for them. function foo(x: T, a: (x: T) => T, b: (x: T) => T) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -23,7 +23,7 @@ var r6 = foo(E.A, (x: number) => E.A, (x: F) => F.A); // number => number function foo2(x: T, a: (x: T) => U, b: (x: T) => U) { - var r: (x: T) => U; + var r!: (x: T) => U; return r; } @@ -31,7 +31,7 @@ var r8 = foo2('', (x) => '', (x) => null); // string => string var r9 = foo2(null, (x) => '', (x) => ''); // any => any var r10 = foo2(null, (x: Object) => '', (x: string) => ''); // Object => Object -var x: (a: string) => boolean; +declare var x: (a: string) => boolean; var r11 = foo2(x, (a1: (y: string) => string) => (n: Object) => 1, (a2: (z: string) => string) => 2); // error var r12 = foo2(x, (a1: (y: string) => boolean) => (n: Object) => 1, (a2: (z: string) => boolean) => 2); // error @@ -64,6 +64,5 @@ function foo2(x, a, b) { var r8 = foo2('', function (x) { return ''; }, function (x) { return null; }); // string => string var r9 = foo2(null, function (x) { return ''; }, function (x) { return ''; }); // any => any var r10 = foo2(null, function (x) { return ''; }, function (x) { return ''; }); // Object => Object -var x; var r11 = foo2(x, function (a1) { return function (n) { return 1; }; }, function (a2) { return 2; }); // error var r12 = foo2(x, function (a1) { return function (n) { return 1; }; }, function (a2) { return 2; }); // error diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.symbols b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.symbols index b9c7b4820e7ff..d04e33e2dd90a 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.symbols +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.symbols @@ -18,9 +18,9 @@ function foo(x: T, a: (x: T) => T, b: (x: T) => T) { >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments3.ts, 3, 13)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments3.ts, 3, 13)) - var r: (x: T) => T; + var r!: (x: T) => T; >r : Symbol(r, Decl(genericCallWithGenericSignatureArguments3.ts, 4, 7)) ->x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 4, 12)) +>x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 4, 13)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments3.ts, 3, 13)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments3.ts, 3, 13)) @@ -108,9 +108,9 @@ function foo2(x: T, a: (x: T) => U, b: (x: T) => U) { >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments3.ts, 21, 14)) >U : Symbol(U, Decl(genericCallWithGenericSignatureArguments3.ts, 21, 16)) - var r: (x: T) => U; + var r!: (x: T) => U; >r : Symbol(r, Decl(genericCallWithGenericSignatureArguments3.ts, 22, 7)) ->x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 22, 12)) +>x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 22, 13)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments3.ts, 21, 14)) >U : Symbol(U, Decl(genericCallWithGenericSignatureArguments3.ts, 21, 16)) @@ -137,14 +137,14 @@ var r10 = foo2(null, (x: Object) => '', (x: string) => ''); // Object => Object >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 28, 41)) -var x: (a: string) => boolean; ->x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 30, 3)) ->a : Symbol(a, Decl(genericCallWithGenericSignatureArguments3.ts, 30, 8)) +declare var x: (a: string) => boolean; +>x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 30, 11)) +>a : Symbol(a, Decl(genericCallWithGenericSignatureArguments3.ts, 30, 16)) var r11 = foo2(x, (a1: (y: string) => string) => (n: Object) => 1, (a2: (z: string) => string) => 2); // error >r11 : Symbol(r11, Decl(genericCallWithGenericSignatureArguments3.ts, 31, 3)) >foo2 : Symbol(foo2, Decl(genericCallWithGenericSignatureArguments3.ts, 18, 53)) ->x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 30, 3)) +>x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 30, 11)) >a1 : Symbol(a1, Decl(genericCallWithGenericSignatureArguments3.ts, 31, 19)) >y : Symbol(y, Decl(genericCallWithGenericSignatureArguments3.ts, 31, 24)) >n : Symbol(n, Decl(genericCallWithGenericSignatureArguments3.ts, 31, 50)) @@ -155,7 +155,7 @@ var r11 = foo2(x, (a1: (y: string) => string) => (n: Object) => 1, (a2: (z: stri var r12 = foo2(x, (a1: (y: string) => boolean) => (n: Object) => 1, (a2: (z: string) => boolean) => 2); // error >r12 : Symbol(r12, Decl(genericCallWithGenericSignatureArguments3.ts, 32, 3)) >foo2 : Symbol(foo2, Decl(genericCallWithGenericSignatureArguments3.ts, 18, 53)) ->x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 30, 3)) +>x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 30, 11)) >a1 : Symbol(a1, Decl(genericCallWithGenericSignatureArguments3.ts, 32, 19)) >y : Symbol(y, Decl(genericCallWithGenericSignatureArguments3.ts, 32, 24)) >n : Symbol(n, Decl(genericCallWithGenericSignatureArguments3.ts, 32, 51)) diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types index cb753a16d6098..0bb949d73d4fa 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types @@ -18,7 +18,7 @@ function foo(x: T, a: (x: T) => T, b: (x: T) => T) { >x : T > : ^ - var r: (x: T) => T; + var r!: (x: T) => T; >r : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -216,7 +216,7 @@ function foo2(x: T, a: (x: T) => U, b: (x: T) => U) { >x : T > : ^ - var r: (x: T) => U; + var r!: (x: T) => U; >r : (x: T) => U > : ^ ^^ ^^^^^ >x : T @@ -287,7 +287,7 @@ var r10 = foo2(null, (x: Object) => '', (x: string) => ''); // Object => Object >'' : "" > : ^^ -var x: (a: string) => boolean; +declare var x: (a: string) => boolean; >x : (a: string) => boolean > : ^ ^^ ^^^^^ >a : string diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgs.errors.txt b/tests/baselines/reference/genericCallWithObjectTypeArgs.errors.txt index 383ca5958b2e0..6992393daff78 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgs.errors.txt +++ b/tests/baselines/reference/genericCallWithObjectTypeArgs.errors.txt @@ -17,7 +17,7 @@ genericCallWithObjectTypeArgs.ts(20,17): error TS2345: Argument of type 'X' i } function foo(t: X, t2: X) { - var x: T; + var x!: T; return x; } diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgs.js b/tests/baselines/reference/genericCallWithObjectTypeArgs.js index f3ba8ea048a1f..c5cc4d41ad5c3 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgs.js +++ b/tests/baselines/reference/genericCallWithObjectTypeArgs.js @@ -14,7 +14,7 @@ class X { } function foo(t: X, t2: X) { - var x: T; + var x!: T; return x; } diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgs.symbols b/tests/baselines/reference/genericCallWithObjectTypeArgs.symbols index a2e201d3b697e..efc84f8b1b8b2 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgs.symbols +++ b/tests/baselines/reference/genericCallWithObjectTypeArgs.symbols @@ -34,7 +34,7 @@ function foo(t: X, t2: X) { >X : Symbol(X, Decl(genericCallWithObjectTypeArgs.ts, 6, 1)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgs.ts, 12, 13)) - var x: T; + var x!: T; >x : Symbol(x, Decl(genericCallWithObjectTypeArgs.ts, 13, 7)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgs.ts, 12, 13)) diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgs.types b/tests/baselines/reference/genericCallWithObjectTypeArgs.types index 7c2552afbe6b7..b3a766d14bc00 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgs.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgs.types @@ -36,7 +36,7 @@ function foo(t: X, t2: X) { >t2 : X > : ^^^^ - var x: T; + var x!: T; >x : T > : ^ diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.errors.txt b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.errors.txt index 650e9b3819fe8..32f472858a0ca 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.errors.txt +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.errors.txt @@ -15,7 +15,7 @@ genericCallWithObjectTypeArgsAndConstraints3.ts(18,32): error TS2741: Property ' } function f(a: { x: T; y: T }) { - var r: T; + var r!: T; return r; } @@ -26,7 +26,7 @@ genericCallWithObjectTypeArgsAndConstraints3.ts(18,32): error TS2741: Property ' !!! related TS6500 genericCallWithObjectTypeArgsAndConstraints3.ts:13:39: The expected type comes from property 'y' which is declared here on type '{ x: Derived; y: Derived; }' function f2(a: U) { - var r: T; + var r!: T; return r; } diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.js b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.js index 8e71c2626a652..46e0479bde340 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.js +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.js @@ -14,14 +14,14 @@ class Derived2 extends Base { } function f(a: { x: T; y: T }) { - var r: T; + var r!: T; return r; } var r1 = f({ x: new Derived(), y: new Derived2() }); // error because neither is supertype of the other function f2(a: U) { - var r: T; + var r!: T; return r; } diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.symbols b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.symbols index a4f5516cc69a4..d9dd512dab412 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.symbols +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.symbols @@ -34,7 +34,7 @@ function f(a: { x: T; y: T }) { >y : Symbol(y, Decl(genericCallWithObjectTypeArgsAndConstraints3.ts, 12, 37)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndConstraints3.ts, 12, 11)) - var r: T; + var r!: T; >r : Symbol(r, Decl(genericCallWithObjectTypeArgsAndConstraints3.ts, 13, 7)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndConstraints3.ts, 12, 11)) @@ -62,7 +62,7 @@ function f2(a: U) { >a : Symbol(a, Decl(genericCallWithObjectTypeArgsAndConstraints3.ts, 19, 54)) >U : Symbol(U, Decl(genericCallWithObjectTypeArgsAndConstraints3.ts, 19, 27)) - var r: T; + var r!: T; >r : Symbol(r, Decl(genericCallWithObjectTypeArgsAndConstraints3.ts, 20, 7)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndConstraints3.ts, 19, 12)) diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types index 7c56096b2fb23..96244fa1ea314 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types @@ -42,7 +42,7 @@ function f(a: { x: T; y: T }) { >y : T > : ^ - var r: T; + var r!: T; >r : T > : ^ @@ -83,7 +83,7 @@ function f2(a: U) { >a : U > : ^ - var r: T; + var r!: T; >r : T > : ^ diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.errors.txt b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.errors.txt index 44c46bdffb129..b0ba26ecd7d91 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.errors.txt +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.errors.txt @@ -20,8 +20,8 @@ genericCallWithObjectTypeArgsAndConstraints4.ts(30,24): error TS2345: Argument o return (x: T) => t2; } - var c: C; - var d: D; + declare var c: C; + declare var d: D; var r = foo(c, d); var r2 = foo(d, c); // error because C does not extend D ~ diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.js b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.js index caa8155f7a391..d272b63e8d89d 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.js +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.js @@ -16,8 +16,8 @@ function foo(t: T, t2: U) { return (x: T) => t2; } -var c: C; -var d: D; +declare var c: C; +declare var d: D; var r = foo(c, d); var r2 = foo(d, c); // error because C does not extend D var r3 = foo(c, { x: '', foo: c }); @@ -50,8 +50,6 @@ var D = /** @class */ (function () { function foo(t, t2) { return function (x) { return t2; }; } -var c; -var d; var r = foo(c, d); var r2 = foo(d, c); // error because C does not extend D var r3 = foo(c, { x: '', foo: c }); diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.symbols b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.symbols index 898342cd642ed..7029185a0a153 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.symbols +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.symbols @@ -36,33 +36,33 @@ function foo(t: T, t2: U) { >t2 : Symbol(t2, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 11, 34)) } -var c: C; ->c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 15, 3)) +declare var c: C; +>c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 15, 11)) >C : Symbol(C, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 0, 0)) -var d: D; ->d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 16, 3)) +declare var d: D; +>d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 16, 11)) >D : Symbol(D, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 4, 1)) var r = foo(c, d); >r : Symbol(r, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 17, 3)) >foo : Symbol(foo, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 9, 1)) ->c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 15, 3)) ->d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 16, 3)) +>c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 15, 11)) +>d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 16, 11)) var r2 = foo(d, c); // error because C does not extend D >r2 : Symbol(r2, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 18, 3)) >foo : Symbol(foo, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 9, 1)) ->d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 16, 3)) ->c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 15, 3)) +>d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 16, 11)) +>c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 15, 11)) var r3 = foo(c, { x: '', foo: c }); >r3 : Symbol(r3, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 19, 3)) >foo : Symbol(foo, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 9, 1)) ->c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 15, 3)) +>c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 15, 11)) >x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 19, 17)) >foo : Symbol(foo, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 19, 24)) ->c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 15, 3)) +>c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 15, 11)) var r4 = foo(null, null); >r4 : Symbol(r4, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 20, 3)) @@ -97,16 +97,16 @@ function other() { var r4 = foo(c, d); >r4 : Symbol(r4, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 28, 7)) >foo : Symbol(foo, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 9, 1)) ->c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 15, 3)) ->d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 16, 3)) +>c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 15, 11)) +>d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 16, 11)) var r5 = foo(c, d); // error >r5 : Symbol(r5, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 29, 7)) >foo : Symbol(foo, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 9, 1)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 27, 15)) >U : Symbol(U, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 27, 17)) ->c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 15, 3)) ->d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 16, 3)) +>c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 15, 11)) +>d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints4.ts, 16, 11)) } diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types index f540f37df42b2..a9fb6b1992ddf 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types @@ -42,11 +42,11 @@ function foo(t: T, t2: U) { > : ^ } -var c: C; +declare var c: C; >c : C > : ^ -var d: D; +declare var d: D; >d : D > : ^ diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.errors.txt b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.errors.txt index c7c4b3ed7f01b..f49fd5f883c10 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.errors.txt +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.errors.txt @@ -22,8 +22,8 @@ genericCallWithObjectTypeArgsAndConstraints5.ts(22,24): error TS2345: Argument o return (x: T) => t2; } - var c: C; - var d: D; + declare var c: C; + declare var d: D; var r2 = foo(d, c); // the constraints are self-referencing, no downstream error ~ !!! error TS2345: Argument of type 'C' is not assignable to parameter of type 'D'. diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.js b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.js index f1bad19baaab0..dddc80eef2e3a 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.js +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.js @@ -16,8 +16,8 @@ function foo(t: T, t2: U) { return (x: T) => t2; } -var c: C; -var d: D; +declare var c: C; +declare var d: D; var r2 = foo(d, c); // the constraints are self-referencing, no downstream error var r9 = foo(() => 1, () => { }); // the constraints are self-referencing, no downstream error @@ -41,8 +41,6 @@ var D = /** @class */ (function () { function foo(t, t2) { return function (x) { return t2; }; } -var c; -var d; var r2 = foo(d, c); // the constraints are self-referencing, no downstream error var r9 = foo(function () { return 1; }, function () { }); // the constraints are self-referencing, no downstream error function other() { diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.symbols b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.symbols index d8506c2316205..37649123bceff 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.symbols +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.symbols @@ -36,19 +36,19 @@ function foo(t: T, t2: U) { >t2 : Symbol(t2, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 11, 34)) } -var c: C; ->c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 15, 3)) +declare var c: C; +>c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 15, 11)) >C : Symbol(C, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 0, 0)) -var d: D; ->d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 16, 3)) +declare var d: D; +>d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 16, 11)) >D : Symbol(D, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 4, 1)) var r2 = foo(d, c); // the constraints are self-referencing, no downstream error >r2 : Symbol(r2, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 17, 3)) >foo : Symbol(foo, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 9, 1)) ->d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 16, 3)) ->c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 15, 3)) +>d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 16, 11)) +>c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 15, 11)) var r9 = foo(() => 1, () => { }); // the constraints are self-referencing, no downstream error >r9 : Symbol(r9, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 18, 3)) @@ -65,7 +65,7 @@ function other() { >foo : Symbol(foo, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 9, 1)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 20, 15)) >U : Symbol(U, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 20, 17)) ->c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 15, 3)) ->d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 16, 3)) +>c : Symbol(c, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 15, 11)) +>d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndConstraints5.ts, 16, 11)) } diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types index 072c2e96aa1e0..2ffd2e34651d6 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types @@ -42,11 +42,11 @@ function foo(t: T, t2: U) { > : ^ } -var c: C; +declare var c: C; >c : C > : ^ -var d: D; +declare var d: D; >d : D > : ^ diff --git a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.errors.txt b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.errors.txt index e9c57cf7182dc..1777d1b363e22 100644 --- a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.errors.txt +++ b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.errors.txt @@ -7,7 +7,7 @@ genericCallWithOverloadedConstructorTypedArguments2.ts(31,20): error TS2345: Arg // Inferences are made quadratic-pairwise to and from these overload sets namespace NonGenericParameter { - var a: { + declare var a: { new(x: boolean): boolean; new(x: string): string; } @@ -16,7 +16,7 @@ genericCallWithOverloadedConstructorTypedArguments2.ts(31,20): error TS2345: Arg return cb; } - var b: { new (x: T): U } + declare var b: { new (x: T): U } var r3 = foo4(b); // ok } @@ -25,14 +25,14 @@ genericCallWithOverloadedConstructorTypedArguments2.ts(31,20): error TS2345: Arg return cb; } - var a: { new (x: T): T }; + declare var a: { new (x: T): T }; var r6 = foo5(a); // ok function foo6(cb: { new(x: T): string; new(x: T, y?: T): string }) { return cb; } - var b: { new (x: T, y: T): string }; + declare var b: { new (x: T, y: T): string }; var r10 = foo6(b); // error ~ !!! error TS2345: Argument of type 'new (x: T, y: T) => string' is not assignable to parameter of type '{ new (x: unknown): string; new (x: unknown, y?: unknown): string; }'. @@ -43,6 +43,6 @@ genericCallWithOverloadedConstructorTypedArguments2.ts(31,20): error TS2345: Arg } var r13 = foo7(1, a); // ok - var c: { new(x: T): number; new(x: number): T; } + declare var c: { new(x: T): number; new(x: number): T; } var r14 = foo7(1, c); // ok } \ No newline at end of file diff --git a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.js b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.js index 98349b629a1c4..755d19ed220f5 100644 --- a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.js +++ b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.js @@ -5,7 +5,7 @@ // Inferences are made quadratic-pairwise to and from these overload sets namespace NonGenericParameter { - var a: { + declare var a: { new(x: boolean): boolean; new(x: string): string; } @@ -14,7 +14,7 @@ namespace NonGenericParameter { return cb; } - var b: { new (x: T): U } + declare var b: { new (x: T): U } var r3 = foo4(b); // ok } @@ -23,14 +23,14 @@ namespace GenericParameter { return cb; } - var a: { new (x: T): T }; + declare var a: { new (x: T): T }; var r6 = foo5(a); // ok function foo6(cb: { new(x: T): string; new(x: T, y?: T): string }) { return cb; } - var b: { new (x: T, y: T): string }; + declare var b: { new (x: T, y: T): string }; var r10 = foo6(b); // error function foo7(x:T, cb: { new(x: T): string; new(x: T, y?: T): string }) { @@ -38,7 +38,7 @@ namespace GenericParameter { } var r13 = foo7(1, a); // ok - var c: { new(x: T): number; new(x: number): T; } + declare var c: { new(x: T): number; new(x: number): T; } var r14 = foo7(1, c); // ok } @@ -47,11 +47,9 @@ namespace GenericParameter { // Inferences are made quadratic-pairwise to and from these overload sets var NonGenericParameter; (function (NonGenericParameter) { - var a; function foo4(cb) { return cb; } - var b; var r3 = foo4(b); // ok })(NonGenericParameter || (NonGenericParameter = {})); var GenericParameter; @@ -59,17 +57,14 @@ var GenericParameter; function foo5(cb) { return cb; } - var a; var r6 = foo5(a); // ok function foo6(cb) { return cb; } - var b; var r10 = foo6(b); // error function foo7(x, cb) { return cb; } var r13 = foo7(1, a); // ok - var c; var r14 = foo7(1, c); // ok })(GenericParameter || (GenericParameter = {})); diff --git a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.symbols b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.symbols index f4d567818c6d6..3c654774b4888 100644 --- a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.symbols +++ b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.symbols @@ -7,8 +7,8 @@ namespace NonGenericParameter { >NonGenericParameter : Symbol(NonGenericParameter, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 0, 0)) - var a: { ->a : Symbol(a, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 4, 7)) + declare var a: { +>a : Symbol(a, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 4, 15)) new(x: boolean): boolean; >x : Symbol(x, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 5, 12)) @@ -20,24 +20,24 @@ namespace NonGenericParameter { function foo4(cb: typeof a) { >foo4 : Symbol(foo4, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 7, 5)) >cb : Symbol(cb, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 9, 18)) ->a : Symbol(a, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 4, 7)) +>a : Symbol(a, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 4, 15)) return cb; >cb : Symbol(cb, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 9, 18)) } - var b: { new (x: T): U } ->b : Symbol(b, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 13, 7)) ->T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 13, 18)) ->U : Symbol(U, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 13, 20)) ->x : Symbol(x, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 13, 24)) ->T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 13, 18)) ->U : Symbol(U, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 13, 20)) + declare var b: { new (x: T): U } +>b : Symbol(b, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 13, 15)) +>T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 13, 26)) +>U : Symbol(U, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 13, 28)) +>x : Symbol(x, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 13, 32)) +>T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 13, 26)) +>U : Symbol(U, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 13, 28)) var r3 = foo4(b); // ok >r3 : Symbol(r3, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 14, 7)) >foo4 : Symbol(foo4, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 7, 5)) ->b : Symbol(b, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 13, 7)) +>b : Symbol(b, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 13, 15)) } namespace GenericParameter { @@ -56,17 +56,17 @@ namespace GenericParameter { >cb : Symbol(cb, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 18, 21)) } - var a: { new (x: T): T }; ->a : Symbol(a, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 22, 7)) ->T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 22, 18)) ->x : Symbol(x, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 22, 21)) ->T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 22, 18)) ->T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 22, 18)) + declare var a: { new (x: T): T }; +>a : Symbol(a, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 22, 15)) +>T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 22, 26)) +>x : Symbol(x, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 22, 29)) +>T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 22, 26)) +>T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 22, 26)) var r6 = foo5(a); // ok >r6 : Symbol(r6, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 23, 7)) >foo5 : Symbol(foo5, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 17, 28)) ->a : Symbol(a, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 22, 7)) +>a : Symbol(a, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 22, 15)) function foo6(cb: { new(x: T): string; new(x: T, y?: T): string }) { >foo6 : Symbol(foo6, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 23, 21)) @@ -83,18 +83,18 @@ namespace GenericParameter { >cb : Symbol(cb, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 25, 21)) } - var b: { new (x: T, y: T): string }; ->b : Symbol(b, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 29, 7)) ->T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 29, 18)) ->x : Symbol(x, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 29, 21)) ->T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 29, 18)) ->y : Symbol(y, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 29, 26)) ->T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 29, 18)) + declare var b: { new (x: T, y: T): string }; +>b : Symbol(b, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 29, 15)) +>T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 29, 26)) +>x : Symbol(x, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 29, 29)) +>T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 29, 26)) +>y : Symbol(y, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 29, 34)) +>T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 29, 26)) var r10 = foo6(b); // error >r10 : Symbol(r10, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 30, 7)) >foo6 : Symbol(foo6, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 23, 21)) ->b : Symbol(b, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 29, 7)) +>b : Symbol(b, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 29, 15)) function foo7(x:T, cb: { new(x: T): string; new(x: T, y?: T): string }) { >foo7 : Symbol(foo7, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 30, 22)) @@ -116,19 +116,19 @@ namespace GenericParameter { var r13 = foo7(1, a); // ok >r13 : Symbol(r13, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 36, 7)) >foo7 : Symbol(foo7, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 30, 22)) ->a : Symbol(a, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 22, 7)) +>a : Symbol(a, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 22, 15)) - var c: { new(x: T): number; new(x: number): T; } ->c : Symbol(c, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 7)) ->T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 17)) ->x : Symbol(x, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 20)) ->T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 17)) ->T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 39)) ->x : Symbol(x, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 42)) ->T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 39)) + declare var c: { new(x: T): number; new(x: number): T; } +>c : Symbol(c, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 15)) +>T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 25)) +>x : Symbol(x, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 28)) +>T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 25)) +>T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 47)) +>x : Symbol(x, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 50)) +>T : Symbol(T, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 47)) var r14 = foo7(1, c); // ok >r14 : Symbol(r14, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 38, 7)) >foo7 : Symbol(foo7, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 30, 22)) ->c : Symbol(c, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 7)) +>c : Symbol(c, Decl(genericCallWithOverloadedConstructorTypedArguments2.ts, 37, 15)) } diff --git a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types index c4a4c4d3a8ad4..f67fe0cead79a 100644 --- a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types @@ -8,7 +8,7 @@ namespace NonGenericParameter { >NonGenericParameter : typeof NonGenericParameter > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ - var a: { + declare var a: { >a : { new (x: boolean): boolean; new (x: string): string; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -34,7 +34,7 @@ namespace NonGenericParameter { > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ } - var b: { new (x: T): U } + declare var b: { new (x: T): U } >b : new (x: T) => U > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -70,7 +70,7 @@ namespace GenericParameter { > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ } - var a: { new (x: T): T }; + declare var a: { new (x: T): T }; >a : new (x: T) => T > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -103,7 +103,7 @@ namespace GenericParameter { > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ } - var b: { new (x: T, y: T): string }; + declare var b: { new (x: T, y: T): string }; >b : new (x: T, y: T) => string > : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -152,7 +152,7 @@ namespace GenericParameter { >a : new (x: T) => T > : ^^^^^ ^^ ^^ ^^^^^ - var c: { new(x: T): number; new(x: number): T; } + declare var c: { new(x: T): number; new(x: number): T; } >c : { new (x: T): number; new (x: number): T; } > : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ >x : T diff --git a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.errors.txt b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.errors.txt index e7a8d29e35dab..166b7d50a2c15 100644 --- a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.errors.txt +++ b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.errors.txt @@ -7,7 +7,7 @@ genericCallWithOverloadedFunctionTypedArguments2.ts(28,20): error TS2345: Argume // Inferences are made quadratic-pairwise to and from these overload sets namespace NonGenericParameter { - var a: { + declare var a: { (x: boolean): boolean; (x: string): string; } @@ -16,7 +16,7 @@ genericCallWithOverloadedFunctionTypedArguments2.ts(28,20): error TS2345: Argume return cb; } - var r3 = foo4((x: T) => { var r: U; return r }); // ok + var r3 = foo4((x: T) => { var r!: U; return r }); // ok } namespace GenericParameter { @@ -40,6 +40,6 @@ genericCallWithOverloadedFunctionTypedArguments2.ts(28,20): error TS2345: Argume } var r13 = foo7(1, (x: T) => x); // ok - var a: { (x: T): number; (x: number): T; } + declare var a: { (x: T): number; (x: number): T; } var r14 = foo7(1, a); // ok } \ No newline at end of file diff --git a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.js b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.js index 9a133c9fb3bd8..76feb2ec0c9c1 100644 --- a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.js +++ b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.js @@ -5,7 +5,7 @@ // Inferences are made quadratic-pairwise to and from these overload sets namespace NonGenericParameter { - var a: { + declare var a: { (x: boolean): boolean; (x: string): string; } @@ -14,7 +14,7 @@ namespace NonGenericParameter { return cb; } - var r3 = foo4((x: T) => { var r: U; return r }); // ok + var r3 = foo4((x: T) => { var r!: U; return r }); // ok } namespace GenericParameter { @@ -35,7 +35,7 @@ namespace GenericParameter { } var r13 = foo7(1, (x: T) => x); // ok - var a: { (x: T): number; (x: number): T; } + declare var a: { (x: T): number; (x: number): T; } var r14 = foo7(1, a); // ok } @@ -44,7 +44,6 @@ namespace GenericParameter { // Inferences are made quadratic-pairwise to and from these overload sets var NonGenericParameter; (function (NonGenericParameter) { - var a; function foo4(cb) { return cb; } @@ -64,6 +63,5 @@ var GenericParameter; return cb; } var r13 = foo7(1, function (x) { return x; }); // ok - var a; var r14 = foo7(1, a); // ok })(GenericParameter || (GenericParameter = {})); diff --git a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.symbols b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.symbols index 10d9154a97e1b..cee0ed57ed7d0 100644 --- a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.symbols +++ b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.symbols @@ -7,8 +7,8 @@ namespace NonGenericParameter { >NonGenericParameter : Symbol(NonGenericParameter, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 0, 0)) - var a: { ->a : Symbol(a, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 4, 7)) + declare var a: { +>a : Symbol(a, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 4, 15)) (x: boolean): boolean; >x : Symbol(x, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 5, 9)) @@ -20,13 +20,13 @@ namespace NonGenericParameter { function foo4(cb: typeof a) { >foo4 : Symbol(foo4, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 7, 5)) >cb : Symbol(cb, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 9, 18)) ->a : Symbol(a, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 4, 7)) +>a : Symbol(a, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 4, 15)) return cb; >cb : Symbol(cb, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 9, 18)) } - var r3 = foo4((x: T) => { var r: U; return r }); // ok + var r3 = foo4((x: T) => { var r!: U; return r }); // ok >r3 : Symbol(r3, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 13, 7)) >foo4 : Symbol(foo4, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 7, 5)) >T : Symbol(T, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 13, 19)) @@ -111,17 +111,17 @@ namespace GenericParameter { >T : Symbol(T, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 33, 23)) >x : Symbol(x, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 33, 26)) - var a: { (x: T): number; (x: number): T; } ->a : Symbol(a, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 7)) ->T : Symbol(T, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 14)) ->x : Symbol(x, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 17)) ->T : Symbol(T, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 14)) ->T : Symbol(T, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 33)) ->x : Symbol(x, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 36)) ->T : Symbol(T, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 33)) + declare var a: { (x: T): number; (x: number): T; } +>a : Symbol(a, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 15)) +>T : Symbol(T, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 22)) +>x : Symbol(x, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 25)) +>T : Symbol(T, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 22)) +>T : Symbol(T, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 41)) +>x : Symbol(x, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 44)) +>T : Symbol(T, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 41)) var r14 = foo7(1, a); // ok >r14 : Symbol(r14, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 35, 7)) >foo7 : Symbol(foo7, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 27, 42)) ->a : Symbol(a, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 7)) +>a : Symbol(a, Decl(genericCallWithOverloadedFunctionTypedArguments2.ts, 34, 15)) } diff --git a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types index 72dc867a3b49a..ccaccfd0065a0 100644 --- a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types @@ -8,7 +8,7 @@ namespace NonGenericParameter { >NonGenericParameter : typeof NonGenericParameter > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ - var a: { + declare var a: { >a : { (x: boolean): boolean; (x: string): string; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -34,15 +34,15 @@ namespace NonGenericParameter { > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } - var r3 = foo4((x: T) => { var r: U; return r }); // ok + var r3 = foo4((x: T) => { var r!: U; return r }); // ok >r3 : { (x: boolean): boolean; (x: string): string; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ->foo4((x: T) => { var r: U; return r }) : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>foo4((x: T) => { var r!: U; return r }) : { (x: boolean): boolean; (x: string): string; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } > : ^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ->(x: T) => { var r: U; return r } : (x: T) => U -> : ^ ^^ ^^ ^^ ^^^^^^ +>(x: T) => { var r!: U; return r } : (x: T) => U +> : ^ ^^ ^^ ^^ ^^^^^^ >x : T > : ^ >r : U @@ -152,7 +152,7 @@ namespace GenericParameter { >x : T > : ^ - var a: { (x: T): number; (x: number): T; } + declare var a: { (x: T): number; (x: number): T; } >a : { (x: T): number; (x: number): T; } > : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T diff --git a/tests/baselines/reference/genericCallWithTupleType.errors.txt b/tests/baselines/reference/genericCallWithTupleType.errors.txt index cfbbcaa68837e..4c5b8fc636774 100644 --- a/tests/baselines/reference/genericCallWithTupleType.errors.txt +++ b/tests/baselines/reference/genericCallWithTupleType.errors.txt @@ -1,14 +1,14 @@ -genericCallWithTupleType.ts(12,1): error TS2322: Type '[string, number, boolean, boolean]' is not assignable to type '[string, number]'. +genericCallWithTupleType.ts(13,1): error TS2322: Type '[string, number, boolean, boolean]' is not assignable to type '[string, number]'. Source has 4 element(s) but target allows only 2. -genericCallWithTupleType.ts(13,20): error TS2493: Tuple type '[string, number]' of length '2' has no element at index '2'. -genericCallWithTupleType.ts(14,1): error TS2322: Type '{ a: string; }' is not assignable to type 'undefined'. -genericCallWithTupleType.ts(14,11): error TS2493: Tuple type '[string, number]' of length '2' has no element at index '3'. -genericCallWithTupleType.ts(15,20): error TS2493: Tuple type '[string, number]' of length '2' has no element at index '3'. -genericCallWithTupleType.ts(22,14): error TS2322: Type 'number' is not assignable to type 'string'. -genericCallWithTupleType.ts(22,17): error TS2322: Type 'string' is not assignable to type 'number'. -genericCallWithTupleType.ts(23,14): error TS2322: Type '{}' is not assignable to type 'string'. -genericCallWithTupleType.ts(23,18): error TS2322: Type '{}' is not assignable to type 'number'. -genericCallWithTupleType.ts(24,1): error TS2322: Type '[{}]' is not assignable to type '[{}, {}]'. +genericCallWithTupleType.ts(14,20): error TS2493: Tuple type '[string, number]' of length '2' has no element at index '2'. +genericCallWithTupleType.ts(15,1): error TS2322: Type '{ a: string; }' is not assignable to type 'undefined'. +genericCallWithTupleType.ts(15,11): error TS2493: Tuple type '[string, number]' of length '2' has no element at index '3'. +genericCallWithTupleType.ts(16,20): error TS2493: Tuple type '[string, number]' of length '2' has no element at index '3'. +genericCallWithTupleType.ts(23,14): error TS2322: Type 'number' is not assignable to type 'string'. +genericCallWithTupleType.ts(23,17): error TS2322: Type 'string' is not assignable to type 'number'. +genericCallWithTupleType.ts(24,14): error TS2322: Type '{}' is not assignable to type 'string'. +genericCallWithTupleType.ts(24,18): error TS2322: Type '{}' is not assignable to type 'number'. +genericCallWithTupleType.ts(25,1): error TS2322: Type '[{}]' is not assignable to type '[{}, {}]'. Source has 1 element(s) but target requires 2. @@ -18,7 +18,8 @@ genericCallWithTupleType.ts(24,1): error TS2322: Type '[{}]' is not assignable t } var i1: I; - var i2: I<{}, {}>; + declare var i1: I; + declare var i2: I<{}, {}>; // no error i1.tuple1 = ["foo", 5]; diff --git a/tests/baselines/reference/genericCallWithTupleType.js b/tests/baselines/reference/genericCallWithTupleType.js index 8141a06c8580d..c420b8d9b0595 100644 --- a/tests/baselines/reference/genericCallWithTupleType.js +++ b/tests/baselines/reference/genericCallWithTupleType.js @@ -6,7 +6,8 @@ interface I { } var i1: I; -var i2: I<{}, {}>; +declare var i1: I; +declare var i2: I<{}, {}>; // no error i1.tuple1 = ["foo", 5]; @@ -29,7 +30,6 @@ i2.tuple1 = [{}]; //// [genericCallWithTupleType.js] var i1; -var i2; // no error i1.tuple1 = ["foo", 5]; var e1 = i1.tuple1[0]; // string diff --git a/tests/baselines/reference/genericCallWithTupleType.symbols b/tests/baselines/reference/genericCallWithTupleType.symbols index a529acac6567f..d84c0704438ec 100644 --- a/tests/baselines/reference/genericCallWithTupleType.symbols +++ b/tests/baselines/reference/genericCallWithTupleType.symbols @@ -13,89 +13,93 @@ interface I { } var i1: I; ->i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3)) +>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3), Decl(genericCallWithTupleType.ts, 5, 11)) >I : Symbol(I, Decl(genericCallWithTupleType.ts, 0, 0)) -var i2: I<{}, {}>; ->i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 5, 3)) +declare var i1: I; +>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3), Decl(genericCallWithTupleType.ts, 5, 11)) +>I : Symbol(I, Decl(genericCallWithTupleType.ts, 0, 0)) + +declare var i2: I<{}, {}>; +>i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 6, 11)) >I : Symbol(I, Decl(genericCallWithTupleType.ts, 0, 0)) // no error i1.tuple1 = ["foo", 5]; >i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) ->i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3)) +>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3), Decl(genericCallWithTupleType.ts, 5, 11)) >tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) var e1 = i1.tuple1[0]; // string ->e1 : Symbol(e1, Decl(genericCallWithTupleType.ts, 9, 3)) +>e1 : Symbol(e1, Decl(genericCallWithTupleType.ts, 10, 3)) >i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) ->i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3)) +>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3), Decl(genericCallWithTupleType.ts, 5, 11)) >tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) >0 : Symbol(0) var e2 = i1.tuple1[1]; // number ->e2 : Symbol(e2, Decl(genericCallWithTupleType.ts, 10, 3)) +>e2 : Symbol(e2, Decl(genericCallWithTupleType.ts, 11, 3)) >i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) ->i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3)) +>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3), Decl(genericCallWithTupleType.ts, 5, 11)) >tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) >1 : Symbol(1) i1.tuple1 = ["foo", 5, false, true]; >i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) ->i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3)) +>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3), Decl(genericCallWithTupleType.ts, 5, 11)) >tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) var e3 = i1.tuple1[2]; // {} ->e3 : Symbol(e3, Decl(genericCallWithTupleType.ts, 12, 3)) +>e3 : Symbol(e3, Decl(genericCallWithTupleType.ts, 13, 3)) >i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) ->i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3)) +>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3), Decl(genericCallWithTupleType.ts, 5, 11)) >tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) i1.tuple1[3] = { a: "string" }; >i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) ->i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3)) +>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3), Decl(genericCallWithTupleType.ts, 5, 11)) >tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) ->a : Symbol(a, Decl(genericCallWithTupleType.ts, 13, 16)) +>a : Symbol(a, Decl(genericCallWithTupleType.ts, 14, 16)) var e4 = i1.tuple1[3]; // {} ->e4 : Symbol(e4, Decl(genericCallWithTupleType.ts, 14, 3)) +>e4 : Symbol(e4, Decl(genericCallWithTupleType.ts, 15, 3)) >i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) ->i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3)) +>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3), Decl(genericCallWithTupleType.ts, 5, 11)) >tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) i2.tuple1 = ["foo", 5]; >i2.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) ->i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 5, 3)) +>i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 6, 11)) >tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) i2.tuple1 = ["foo", "bar"]; >i2.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) ->i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 5, 3)) +>i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 6, 11)) >tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) i2.tuple1 = [5, "bar"]; >i2.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) ->i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 5, 3)) +>i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 6, 11)) >tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) i2.tuple1 = [{}, {}]; >i2.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) ->i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 5, 3)) +>i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 6, 11)) >tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) // error i1.tuple1 = [5, "foo"]; >i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) ->i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3)) +>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3), Decl(genericCallWithTupleType.ts, 5, 11)) >tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) i1.tuple1 = [{}, {}]; >i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) ->i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3)) +>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3), Decl(genericCallWithTupleType.ts, 5, 11)) >tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) i2.tuple1 = [{}]; >i2.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) ->i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 5, 3)) +>i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 6, 11)) >tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19)) diff --git a/tests/baselines/reference/genericCallWithTupleType.types b/tests/baselines/reference/genericCallWithTupleType.types index 94b6b2cda0d15..146bf5a916da3 100644 --- a/tests/baselines/reference/genericCallWithTupleType.types +++ b/tests/baselines/reference/genericCallWithTupleType.types @@ -11,7 +11,11 @@ var i1: I; >i1 : I > : ^^^^^^^^^^^^^^^^^ -var i2: I<{}, {}>; +declare var i1: I; +>i1 : I +> : ^^^^^^^^^^^^^^^^^ + +declare var i2: I<{}, {}>; >i2 : I<{}, {}> > : ^^^^^^^^^ diff --git a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.errors.txt b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.errors.txt index a28da68692005..8d1a7e1e484b1 100644 --- a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.errors.txt +++ b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.errors.txt @@ -48,7 +48,7 @@ genericClassWithFunctionTypedMemberArguments.ts(62,30): error TS2345: Argument o } } - var c: C; + declare var c: C; var r4 = c.foo2(1, function (a: Z) { return '' }); // string, contextual signature instantiation is applied to generic functions var r5 = c.foo2(1, (a) => ''); // string var r6 = c.foo2('', (a: Z) => 1); // number @@ -59,7 +59,7 @@ genericClassWithFunctionTypedMemberArguments.ts(62,30): error TS2345: Argument o } } - var c2: C2; + declare var c2: C2; var r7 = c2.foo3(1, (a: Z) => '', ''); // string var r8 = c2.foo3(1, function (a) { return '' }, ''); // string @@ -68,7 +68,7 @@ genericClassWithFunctionTypedMemberArguments.ts(62,30): error TS2345: Argument o return cb(x); } } - var c3: C3; + declare var c3: C3; function other(t: T, u: U) { var r10 = c.foo2(1, (x: T) => ''); // error diff --git a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.js b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.js index 158303f002566..809ef27d70e09 100644 --- a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.js +++ b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.js @@ -34,7 +34,7 @@ namespace WithCandidates { } } - var c: C; + declare var c: C; var r4 = c.foo2(1, function (a: Z) { return '' }); // string, contextual signature instantiation is applied to generic functions var r5 = c.foo2(1, (a) => ''); // string var r6 = c.foo2('', (a: Z) => 1); // number @@ -45,7 +45,7 @@ namespace WithCandidates { } } - var c2: C2; + declare var c2: C2; var r7 = c2.foo3(1, (a: Z) => '', ''); // string var r8 = c2.foo3(1, function (a) { return '' }, ''); // string @@ -54,7 +54,7 @@ namespace WithCandidates { return cb(x); } } - var c3: C3; + declare var c3: C3; function other(t: T, u: U) { var r10 = c.foo2(1, (x: T) => ''); // error @@ -105,7 +105,6 @@ var WithCandidates; }; return C; }()); - var c; var r4 = c.foo2(1, function (a) { return ''; }); // string, contextual signature instantiation is applied to generic functions var r5 = c.foo2(1, function (a) { return ''; }); // string var r6 = c.foo2('', function (a) { return 1; }); // number @@ -117,7 +116,6 @@ var WithCandidates; }; return C2; }()); - var c2; var r7 = c2.foo3(1, function (a) { return ''; }, ''); // string var r8 = c2.foo3(1, function (a) { return ''; }, ''); // string var C3 = /** @class */ (function () { @@ -128,7 +126,6 @@ var WithCandidates; }; return C3; }()); - var c3; function other(t, u) { var r10 = c.foo2(1, function (x) { return ''; }); // error var r10 = c.foo2(1, function (x) { return ''; }); // string diff --git a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.symbols b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.symbols index d3bcbed99dbd2..1a5f0b1e5cf1a 100644 --- a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.symbols +++ b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.symbols @@ -114,14 +114,14 @@ namespace WithCandidates { } } - var c: C; ->c : Symbol(c, Decl(genericClassWithFunctionTypedMemberArguments.ts, 33, 7)) + declare var c: C; +>c : Symbol(c, Decl(genericClassWithFunctionTypedMemberArguments.ts, 33, 15)) >C : Symbol(C, Decl(genericClassWithFunctionTypedMemberArguments.ts, 26, 26)) var r4 = c.foo2(1, function (a: Z) { return '' }); // string, contextual signature instantiation is applied to generic functions >r4 : Symbol(r4, Decl(genericClassWithFunctionTypedMemberArguments.ts, 34, 7)) >c.foo2 : Symbol(C.foo2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 27, 16)) ->c : Symbol(c, Decl(genericClassWithFunctionTypedMemberArguments.ts, 33, 7)) +>c : Symbol(c, Decl(genericClassWithFunctionTypedMemberArguments.ts, 33, 15)) >foo2 : Symbol(C.foo2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 27, 16)) >Z : Symbol(Z, Decl(genericClassWithFunctionTypedMemberArguments.ts, 34, 33)) >a : Symbol(a, Decl(genericClassWithFunctionTypedMemberArguments.ts, 34, 36)) @@ -130,14 +130,14 @@ namespace WithCandidates { var r5 = c.foo2(1, (a) => ''); // string >r5 : Symbol(r5, Decl(genericClassWithFunctionTypedMemberArguments.ts, 35, 7)) >c.foo2 : Symbol(C.foo2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 27, 16)) ->c : Symbol(c, Decl(genericClassWithFunctionTypedMemberArguments.ts, 33, 7)) +>c : Symbol(c, Decl(genericClassWithFunctionTypedMemberArguments.ts, 33, 15)) >foo2 : Symbol(C.foo2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 27, 16)) >a : Symbol(a, Decl(genericClassWithFunctionTypedMemberArguments.ts, 35, 24)) var r6 = c.foo2('', (a: Z) => 1); // number >r6 : Symbol(r6, Decl(genericClassWithFunctionTypedMemberArguments.ts, 36, 7)) >c.foo2 : Symbol(C.foo2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 27, 16)) ->c : Symbol(c, Decl(genericClassWithFunctionTypedMemberArguments.ts, 33, 7)) +>c : Symbol(c, Decl(genericClassWithFunctionTypedMemberArguments.ts, 33, 15)) >foo2 : Symbol(C.foo2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 27, 16)) >Z : Symbol(Z, Decl(genericClassWithFunctionTypedMemberArguments.ts, 36, 41)) >a : Symbol(a, Decl(genericClassWithFunctionTypedMemberArguments.ts, 36, 44)) @@ -165,14 +165,14 @@ namespace WithCandidates { } } - var c2: C2; ->c2 : Symbol(c2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 44, 7)) + declare var c2: C2; +>c2 : Symbol(c2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 44, 15)) >C2 : Symbol(C2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 36, 56)) var r7 = c2.foo3(1, (a: Z) => '', ''); // string >r7 : Symbol(r7, Decl(genericClassWithFunctionTypedMemberArguments.ts, 45, 7)) >c2.foo3 : Symbol(C2.foo3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 38, 20)) ->c2 : Symbol(c2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 44, 7)) +>c2 : Symbol(c2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 44, 15)) >foo3 : Symbol(C2.foo3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 38, 20)) >Z : Symbol(Z, Decl(genericClassWithFunctionTypedMemberArguments.ts, 45, 25)) >a : Symbol(a, Decl(genericClassWithFunctionTypedMemberArguments.ts, 45, 28)) @@ -181,7 +181,7 @@ namespace WithCandidates { var r8 = c2.foo3(1, function (a) { return '' }, ''); // string >r8 : Symbol(r8, Decl(genericClassWithFunctionTypedMemberArguments.ts, 46, 7)) >c2.foo3 : Symbol(C2.foo3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 38, 20)) ->c2 : Symbol(c2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 44, 7)) +>c2 : Symbol(c2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 44, 15)) >foo3 : Symbol(C2.foo3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 38, 20)) >a : Symbol(a, Decl(genericClassWithFunctionTypedMemberArguments.ts, 46, 34)) @@ -208,12 +208,12 @@ namespace WithCandidates { >x : Symbol(x, Decl(genericClassWithFunctionTypedMemberArguments.ts, 49, 18)) } } - var c3: C3; ->c3 : Symbol(c3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 53, 7)) + declare var c3: C3; +>c3 : Symbol(c3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 53, 15)) >C3 : Symbol(C3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 46, 56)) function other(t: T, u: U) { ->other : Symbol(other, Decl(genericClassWithFunctionTypedMemberArguments.ts, 53, 31)) +>other : Symbol(other, Decl(genericClassWithFunctionTypedMemberArguments.ts, 53, 39)) >T : Symbol(T, Decl(genericClassWithFunctionTypedMemberArguments.ts, 55, 19)) >U : Symbol(U, Decl(genericClassWithFunctionTypedMemberArguments.ts, 55, 21)) >t : Symbol(t, Decl(genericClassWithFunctionTypedMemberArguments.ts, 55, 25)) @@ -224,7 +224,7 @@ namespace WithCandidates { var r10 = c.foo2(1, (x: T) => ''); // error >r10 : Symbol(r10, Decl(genericClassWithFunctionTypedMemberArguments.ts, 56, 11), Decl(genericClassWithFunctionTypedMemberArguments.ts, 57, 11)) >c.foo2 : Symbol(C.foo2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 27, 16)) ->c : Symbol(c, Decl(genericClassWithFunctionTypedMemberArguments.ts, 33, 7)) +>c : Symbol(c, Decl(genericClassWithFunctionTypedMemberArguments.ts, 33, 15)) >foo2 : Symbol(C.foo2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 27, 16)) >x : Symbol(x, Decl(genericClassWithFunctionTypedMemberArguments.ts, 56, 29)) >T : Symbol(T, Decl(genericClassWithFunctionTypedMemberArguments.ts, 55, 19)) @@ -232,14 +232,14 @@ namespace WithCandidates { var r10 = c.foo2(1, (x) => ''); // string >r10 : Symbol(r10, Decl(genericClassWithFunctionTypedMemberArguments.ts, 56, 11), Decl(genericClassWithFunctionTypedMemberArguments.ts, 57, 11)) >c.foo2 : Symbol(C.foo2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 27, 16)) ->c : Symbol(c, Decl(genericClassWithFunctionTypedMemberArguments.ts, 33, 7)) +>c : Symbol(c, Decl(genericClassWithFunctionTypedMemberArguments.ts, 33, 15)) >foo2 : Symbol(C.foo2, Decl(genericClassWithFunctionTypedMemberArguments.ts, 27, 16)) >x : Symbol(x, Decl(genericClassWithFunctionTypedMemberArguments.ts, 57, 29)) var r11 = c3.foo3(1, (x: T) => '', ''); // error >r11 : Symbol(r11, Decl(genericClassWithFunctionTypedMemberArguments.ts, 59, 11)) >c3.foo3 : Symbol(C3.foo3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 48, 20)) ->c3 : Symbol(c3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 53, 7)) +>c3 : Symbol(c3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 53, 15)) >foo3 : Symbol(C3.foo3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 48, 20)) >x : Symbol(x, Decl(genericClassWithFunctionTypedMemberArguments.ts, 59, 30)) >T : Symbol(T, Decl(genericClassWithFunctionTypedMemberArguments.ts, 55, 19)) @@ -247,7 +247,7 @@ namespace WithCandidates { var r11b = c3.foo3(1, (x: T) => '', 1); // error >r11b : Symbol(r11b, Decl(genericClassWithFunctionTypedMemberArguments.ts, 60, 11)) >c3.foo3 : Symbol(C3.foo3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 48, 20)) ->c3 : Symbol(c3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 53, 7)) +>c3 : Symbol(c3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 53, 15)) >foo3 : Symbol(C3.foo3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 48, 20)) >x : Symbol(x, Decl(genericClassWithFunctionTypedMemberArguments.ts, 60, 31)) >T : Symbol(T, Decl(genericClassWithFunctionTypedMemberArguments.ts, 55, 19)) @@ -255,7 +255,7 @@ namespace WithCandidates { var r12 = c3.foo3(1, function (a) { return '' }, 1); // error >r12 : Symbol(r12, Decl(genericClassWithFunctionTypedMemberArguments.ts, 61, 11)) >c3.foo3 : Symbol(C3.foo3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 48, 20)) ->c3 : Symbol(c3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 53, 7)) +>c3 : Symbol(c3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 53, 15)) >foo3 : Symbol(C3.foo3, Decl(genericClassWithFunctionTypedMemberArguments.ts, 48, 20)) >a : Symbol(a, Decl(genericClassWithFunctionTypedMemberArguments.ts, 61, 39)) } diff --git a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types index 7e21c8f182cc6..aae2a63e894c0 100644 --- a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types +++ b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types @@ -183,7 +183,7 @@ namespace WithCandidates { } } - var c: C; + declare var c: C; >c : C > : ^^^^^^^^^ @@ -273,7 +273,7 @@ namespace WithCandidates { } } - var c2: C2; + declare var c2: C2; >c2 : C2 > : ^^^^^^^^^^^^^^^^^^ @@ -346,7 +346,7 @@ namespace WithCandidates { > : ^ } } - var c3: C3; + declare var c3: C3; >c3 : C3 > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/genericCombinators2.errors.txt b/tests/baselines/reference/genericCombinators2.errors.txt index 84799b53993d8..57b14eaea791a 100644 --- a/tests/baselines/reference/genericCombinators2.errors.txt +++ b/tests/baselines/reference/genericCombinators2.errors.txt @@ -16,8 +16,8 @@ genericCombinators2.ts(16,43): error TS2345: Argument of type '(x: number, y: st map(c: Collection, f: (x: T, y: U) => V): Collection; } - var _: Combinators; - var c2: Collection; + declare var _: Combinators; + declare var c2: Collection; var rf1 = (x: number, y: string) => { return x.toFixed() }; var r5a = _.map(c2, (x, y) => { return x.toFixed() }); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/genericCombinators2.js b/tests/baselines/reference/genericCombinators2.js index 0a725c30f3465..d167af3150fc8 100644 --- a/tests/baselines/reference/genericCombinators2.js +++ b/tests/baselines/reference/genericCombinators2.js @@ -12,15 +12,13 @@ interface Combinators { map(c: Collection, f: (x: T, y: U) => V): Collection; } -var _: Combinators; -var c2: Collection; +declare var _: Combinators; +declare var c2: Collection; var rf1 = (x: number, y: string) => { return x.toFixed() }; var r5a = _.map(c2, (x, y) => { return x.toFixed() }); var r5b = _.map(c2, rf1); //// [genericCombinators2.js] -var _; -var c2; var rf1 = function (x, y) { return x.toFixed(); }; var r5a = _.map(c2, function (x, y) { return x.toFixed(); }); var r5b = _.map(c2, rf1); diff --git a/tests/baselines/reference/genericCombinators2.symbols b/tests/baselines/reference/genericCombinators2.symbols index 7aa002caad268..bf9dfcf57ae76 100644 --- a/tests/baselines/reference/genericCombinators2.symbols +++ b/tests/baselines/reference/genericCombinators2.symbols @@ -62,12 +62,12 @@ interface Combinators { >V : Symbol(V, Decl(genericCombinators2.ts, 8, 13)) } -var _: Combinators; ->_ : Symbol(_, Decl(genericCombinators2.ts, 11, 3)) +declare var _: Combinators; +>_ : Symbol(_, Decl(genericCombinators2.ts, 11, 11)) >Combinators : Symbol(Combinators, Decl(genericCombinators2.ts, 4, 1)) -var c2: Collection; ->c2 : Symbol(c2, Decl(genericCombinators2.ts, 12, 3)) +declare var c2: Collection; +>c2 : Symbol(c2, Decl(genericCombinators2.ts, 12, 11)) >Collection : Symbol(Collection, Decl(genericCombinators2.ts, 0, 0)) var rf1 = (x: number, y: string) => { return x.toFixed() }; @@ -81,10 +81,10 @@ var rf1 = (x: number, y: string) => { return x.toFixed() }; var r5a = _.map(c2, (x, y) => { return x.toFixed() }); >r5a : Symbol(r5a, Decl(genericCombinators2.ts, 14, 3)) >_.map : Symbol(Combinators.map, Decl(genericCombinators2.ts, 6, 23), Decl(genericCombinators2.ts, 7, 81)) ->_ : Symbol(_, Decl(genericCombinators2.ts, 11, 3)) +>_ : Symbol(_, Decl(genericCombinators2.ts, 11, 11)) >map : Symbol(Combinators.map, Decl(genericCombinators2.ts, 6, 23), Decl(genericCombinators2.ts, 7, 81)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->c2 : Symbol(c2, Decl(genericCombinators2.ts, 12, 3)) +>c2 : Symbol(c2, Decl(genericCombinators2.ts, 12, 11)) >x : Symbol(x, Decl(genericCombinators2.ts, 14, 43)) >y : Symbol(y, Decl(genericCombinators2.ts, 14, 45)) >x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) @@ -94,9 +94,9 @@ var r5a = _.map(c2, (x, y) => { return x.toFixed() }); var r5b = _.map(c2, rf1); >r5b : Symbol(r5b, Decl(genericCombinators2.ts, 15, 3)) >_.map : Symbol(Combinators.map, Decl(genericCombinators2.ts, 6, 23), Decl(genericCombinators2.ts, 7, 81)) ->_ : Symbol(_, Decl(genericCombinators2.ts, 11, 3)) +>_ : Symbol(_, Decl(genericCombinators2.ts, 11, 11)) >map : Symbol(Combinators.map, Decl(genericCombinators2.ts, 6, 23), Decl(genericCombinators2.ts, 7, 81)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->c2 : Symbol(c2, Decl(genericCombinators2.ts, 12, 3)) +>c2 : Symbol(c2, Decl(genericCombinators2.ts, 12, 11)) >rf1 : Symbol(rf1, Decl(genericCombinators2.ts, 13, 3)) diff --git a/tests/baselines/reference/genericCombinators2.types b/tests/baselines/reference/genericCombinators2.types index 37a441ff08f22..1f46f4b5bf4c4 100644 --- a/tests/baselines/reference/genericCombinators2.types +++ b/tests/baselines/reference/genericCombinators2.types @@ -49,11 +49,11 @@ interface Combinators { > : ^ } -var _: Combinators; +declare var _: Combinators; >_ : Combinators > : ^^^^^^^^^^^ -var c2: Collection; +declare var c2: Collection; >c2 : Collection > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/genericConstraintSatisfaction1.errors.txt b/tests/baselines/reference/genericConstraintSatisfaction1.errors.txt index 7b35b2b696b7e..aff230413a0c4 100644 --- a/tests/baselines/reference/genericConstraintSatisfaction1.errors.txt +++ b/tests/baselines/reference/genericConstraintSatisfaction1.errors.txt @@ -1,4 +1,4 @@ -genericConstraintSatisfaction1.ts(6,6): error TS2322: Type 'number' is not assignable to type 'string'. +genericConstraintSatisfaction1.ts(7,6): error TS2322: Type 'number' is not assignable to type 'string'. ==== genericConstraintSatisfaction1.ts (1 errors) ==== @@ -7,6 +7,7 @@ genericConstraintSatisfaction1.ts(6,6): error TS2322: Type 'number' is not assig } var x: I<{s: string}> + declare var x: I<{s: string}> x.f({s: 1}) ~ !!! error TS2322: Type 'number' is not assignable to type 'string'. diff --git a/tests/baselines/reference/genericConstraintSatisfaction1.js b/tests/baselines/reference/genericConstraintSatisfaction1.js index c547d69d2d33a..aef5258246f9c 100644 --- a/tests/baselines/reference/genericConstraintSatisfaction1.js +++ b/tests/baselines/reference/genericConstraintSatisfaction1.js @@ -6,6 +6,7 @@ interface I { } var x: I<{s: string}> +declare var x: I<{s: string}> x.f({s: 1}) diff --git a/tests/baselines/reference/genericConstraintSatisfaction1.symbols b/tests/baselines/reference/genericConstraintSatisfaction1.symbols index f8883d495ba57..be55fff2e11e8 100644 --- a/tests/baselines/reference/genericConstraintSatisfaction1.symbols +++ b/tests/baselines/reference/genericConstraintSatisfaction1.symbols @@ -14,13 +14,18 @@ interface I { } var x: I<{s: string}> ->x : Symbol(x, Decl(genericConstraintSatisfaction1.ts, 4, 3)) +>x : Symbol(x, Decl(genericConstraintSatisfaction1.ts, 4, 3), Decl(genericConstraintSatisfaction1.ts, 5, 11)) >I : Symbol(I, Decl(genericConstraintSatisfaction1.ts, 0, 0)) >s : Symbol(s, Decl(genericConstraintSatisfaction1.ts, 4, 10)) +declare var x: I<{s: string}> +>x : Symbol(x, Decl(genericConstraintSatisfaction1.ts, 4, 3), Decl(genericConstraintSatisfaction1.ts, 5, 11)) +>I : Symbol(I, Decl(genericConstraintSatisfaction1.ts, 0, 0)) +>s : Symbol(s, Decl(genericConstraintSatisfaction1.ts, 5, 18)) + x.f({s: 1}) >x.f : Symbol(I.f, Decl(genericConstraintSatisfaction1.ts, 0, 16)) ->x : Symbol(x, Decl(genericConstraintSatisfaction1.ts, 4, 3)) +>x : Symbol(x, Decl(genericConstraintSatisfaction1.ts, 4, 3), Decl(genericConstraintSatisfaction1.ts, 5, 11)) >f : Symbol(I.f, Decl(genericConstraintSatisfaction1.ts, 0, 16)) ->s : Symbol(s, Decl(genericConstraintSatisfaction1.ts, 5, 5)) +>s : Symbol(s, Decl(genericConstraintSatisfaction1.ts, 6, 5)) diff --git a/tests/baselines/reference/genericConstraintSatisfaction1.types b/tests/baselines/reference/genericConstraintSatisfaction1.types index 55c74f9f64f51..0aee46e1fe23f 100644 --- a/tests/baselines/reference/genericConstraintSatisfaction1.types +++ b/tests/baselines/reference/genericConstraintSatisfaction1.types @@ -15,6 +15,12 @@ var x: I<{s: string}> >s : string > : ^^^^^^ +declare var x: I<{s: string}> +>x : I<{ s: string; }> +> : ^^^^^^^ ^^^^ +>s : string +> : ^^^^^^ + x.f({s: 1}) >x.f({s: 1}) : void > : ^^^^ diff --git a/tests/baselines/reference/genericConstructorFunction1.errors.txt b/tests/baselines/reference/genericConstructorFunction1.errors.txt index 8e13febf382ff..08fba530be13d 100644 --- a/tests/baselines/reference/genericConstructorFunction1.errors.txt +++ b/tests/baselines/reference/genericConstructorFunction1.errors.txt @@ -4,7 +4,7 @@ genericConstructorFunction1.ts(13,13): error TS2348: Value of type 'I1' is no ==== genericConstructorFunction1.ts (2 errors) ==== function f1(args: T) { - var v1: { [index: string]: new (arg: T) => Date }; + var v1!: { [index: string]: new (arg: T) => Date }; var v2 = v1['test']; v2(args); ~~~~~~~~ @@ -15,7 +15,7 @@ genericConstructorFunction1.ts(13,13): error TS2348: Value of type 'I1' is no interface I1 { new (arg: T): Date }; function f2(args: T) { - var v1: { [index: string]: I1 }; + var v1!: { [index: string]: I1 }; var v2 = v1['test']; var y = v2(args); ~~~~~~~~ diff --git a/tests/baselines/reference/genericConstructorFunction1.js b/tests/baselines/reference/genericConstructorFunction1.js index aeefbad95354b..687f265dccc8c 100644 --- a/tests/baselines/reference/genericConstructorFunction1.js +++ b/tests/baselines/reference/genericConstructorFunction1.js @@ -2,7 +2,7 @@ //// [genericConstructorFunction1.ts] function f1(args: T) { - var v1: { [index: string]: new (arg: T) => Date }; + var v1!: { [index: string]: new (arg: T) => Date }; var v2 = v1['test']; v2(args); return new v2(args); // used to give error @@ -11,7 +11,7 @@ function f1(args: T) { interface I1 { new (arg: T): Date }; function f2(args: T) { - var v1: { [index: string]: I1 }; + var v1!: { [index: string]: I1 }; var v2 = v1['test']; var y = v2(args); return new v2(args); // used to give error diff --git a/tests/baselines/reference/genericConstructorFunction1.symbols b/tests/baselines/reference/genericConstructorFunction1.symbols index b8c0e65aed232..db9bbd7b3796c 100644 --- a/tests/baselines/reference/genericConstructorFunction1.symbols +++ b/tests/baselines/reference/genericConstructorFunction1.symbols @@ -7,10 +7,10 @@ function f1(args: T) { >args : Symbol(args, Decl(genericConstructorFunction1.ts, 0, 15)) >T : Symbol(T, Decl(genericConstructorFunction1.ts, 0, 12)) - var v1: { [index: string]: new (arg: T) => Date }; + var v1!: { [index: string]: new (arg: T) => Date }; >v1 : Symbol(v1, Decl(genericConstructorFunction1.ts, 1, 7)) ->index : Symbol(index, Decl(genericConstructorFunction1.ts, 1, 15)) ->arg : Symbol(arg, Decl(genericConstructorFunction1.ts, 1, 36)) +>index : Symbol(index, Decl(genericConstructorFunction1.ts, 1, 16)) +>arg : Symbol(arg, Decl(genericConstructorFunction1.ts, 1, 37)) >T : Symbol(T, Decl(genericConstructorFunction1.ts, 0, 12)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @@ -41,9 +41,9 @@ function f2(args: T) { >args : Symbol(args, Decl(genericConstructorFunction1.ts, 9, 15)) >T : Symbol(T, Decl(genericConstructorFunction1.ts, 9, 12)) - var v1: { [index: string]: I1 }; + var v1!: { [index: string]: I1 }; >v1 : Symbol(v1, Decl(genericConstructorFunction1.ts, 10, 7)) ->index : Symbol(index, Decl(genericConstructorFunction1.ts, 10, 15)) +>index : Symbol(index, Decl(genericConstructorFunction1.ts, 10, 16)) >I1 : Symbol(I1, Decl(genericConstructorFunction1.ts, 5, 1)) >T : Symbol(T, Decl(genericConstructorFunction1.ts, 9, 12)) diff --git a/tests/baselines/reference/genericConstructorFunction1.types b/tests/baselines/reference/genericConstructorFunction1.types index b9349680c0bae..a1645fdcdbb1b 100644 --- a/tests/baselines/reference/genericConstructorFunction1.types +++ b/tests/baselines/reference/genericConstructorFunction1.types @@ -7,7 +7,7 @@ function f1(args: T) { >args : T > : ^ - var v1: { [index: string]: new (arg: T) => Date }; + var v1!: { [index: string]: new (arg: T) => Date }; >v1 : { [index: string]: new (arg: T) => Date; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >index : string @@ -53,7 +53,7 @@ function f2(args: T) { >args : T > : ^ - var v1: { [index: string]: I1 }; + var v1!: { [index: string]: I1 }; >v1 : { [index: string]: I1; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >index : string diff --git a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.errors.txt b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.errors.txt index cc940c41d7f83..bf631bd15b9b7 100644 --- a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.errors.txt +++ b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.errors.txt @@ -12,8 +12,8 @@ genericDerivedTypeWithSpecializedBase.ts(11,1): error TS2322: Type 'B' i y: U; } - var x: A; - var y: B; + declare var x: A; + declare var y: B; x = y; // error ~ !!! error TS2322: Type 'B' is not assignable to type 'A'. diff --git a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.js b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.js index 0b5e338a0c3de..8542c6a60e4cb 100644 --- a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.js +++ b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.js @@ -9,8 +9,8 @@ class B extends A { y: U; } -var x: A; -var y: B; +declare var x: A; +declare var y: B; x = y; // error @@ -42,6 +42,4 @@ var B = /** @class */ (function (_super) { } return B; }(A)); -var x; -var y; x = y; // error diff --git a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.symbols b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.symbols index 955d43be22c9c..6a0b08b2f3e39 100644 --- a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.symbols +++ b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.symbols @@ -20,15 +20,15 @@ class B extends A { >U : Symbol(U, Decl(genericDerivedTypeWithSpecializedBase.ts, 4, 8)) } -var x: A; ->x : Symbol(x, Decl(genericDerivedTypeWithSpecializedBase.ts, 8, 3)) +declare var x: A; +>x : Symbol(x, Decl(genericDerivedTypeWithSpecializedBase.ts, 8, 11)) >A : Symbol(A, Decl(genericDerivedTypeWithSpecializedBase.ts, 0, 0)) -var y: B; ->y : Symbol(y, Decl(genericDerivedTypeWithSpecializedBase.ts, 9, 3)) +declare var y: B; +>y : Symbol(y, Decl(genericDerivedTypeWithSpecializedBase.ts, 9, 11)) >B : Symbol(B, Decl(genericDerivedTypeWithSpecializedBase.ts, 2, 1)) x = y; // error ->x : Symbol(x, Decl(genericDerivedTypeWithSpecializedBase.ts, 8, 3)) ->y : Symbol(y, Decl(genericDerivedTypeWithSpecializedBase.ts, 9, 3)) +>x : Symbol(x, Decl(genericDerivedTypeWithSpecializedBase.ts, 8, 11)) +>y : Symbol(y, Decl(genericDerivedTypeWithSpecializedBase.ts, 9, 11)) diff --git a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.types b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.types index e6c85fcb03c79..704daff47537e 100644 --- a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.types +++ b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase.types @@ -21,11 +21,11 @@ class B extends A { > : ^ } -var x: A; +declare var x: A; >x : A > : ^^^^^^^^^ -var y: B; +declare var y: B; >y : B > : ^^^^^^^^^ diff --git a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.errors.txt b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.errors.txt index 1b5e52e58442b..723457824ae08 100644 --- a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.errors.txt +++ b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.errors.txt @@ -12,8 +12,8 @@ genericDerivedTypeWithSpecializedBase2.ts(11,1): error TS2322: Type 'B' y: U; } - var x: A<{ length: number; foo: number }>; - var y: B; + declare var x: A<{ length: number; foo: number }>; + declare var y: B; x = y; // error ~ !!! error TS2322: Type 'B' is not assignable to type 'A<{ length: number; foo: number; }>'. diff --git a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.js b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.js index de40fd79a1920..1393167f8f0af 100644 --- a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.js +++ b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.js @@ -9,8 +9,8 @@ class B extends A { y: U; } -var x: A<{ length: number; foo: number }>; -var y: B; +declare var x: A<{ length: number; foo: number }>; +declare var y: B; x = y; // error @@ -42,6 +42,4 @@ var B = /** @class */ (function (_super) { } return B; }(A)); -var x; -var y; x = y; // error diff --git a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.symbols b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.symbols index 1b459af0bd7a8..a3b68167743af 100644 --- a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.symbols +++ b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.symbols @@ -21,17 +21,17 @@ class B extends A { >U : Symbol(U, Decl(genericDerivedTypeWithSpecializedBase2.ts, 4, 8)) } -var x: A<{ length: number; foo: number }>; ->x : Symbol(x, Decl(genericDerivedTypeWithSpecializedBase2.ts, 8, 3)) +declare var x: A<{ length: number; foo: number }>; +>x : Symbol(x, Decl(genericDerivedTypeWithSpecializedBase2.ts, 8, 11)) >A : Symbol(A, Decl(genericDerivedTypeWithSpecializedBase2.ts, 0, 0)) ->length : Symbol(length, Decl(genericDerivedTypeWithSpecializedBase2.ts, 8, 10)) ->foo : Symbol(foo, Decl(genericDerivedTypeWithSpecializedBase2.ts, 8, 26)) +>length : Symbol(length, Decl(genericDerivedTypeWithSpecializedBase2.ts, 8, 18)) +>foo : Symbol(foo, Decl(genericDerivedTypeWithSpecializedBase2.ts, 8, 34)) -var y: B; ->y : Symbol(y, Decl(genericDerivedTypeWithSpecializedBase2.ts, 9, 3)) +declare var y: B; +>y : Symbol(y, Decl(genericDerivedTypeWithSpecializedBase2.ts, 9, 11)) >B : Symbol(B, Decl(genericDerivedTypeWithSpecializedBase2.ts, 2, 1)) x = y; // error ->x : Symbol(x, Decl(genericDerivedTypeWithSpecializedBase2.ts, 8, 3)) ->y : Symbol(y, Decl(genericDerivedTypeWithSpecializedBase2.ts, 9, 3)) +>x : Symbol(x, Decl(genericDerivedTypeWithSpecializedBase2.ts, 8, 11)) +>y : Symbol(y, Decl(genericDerivedTypeWithSpecializedBase2.ts, 9, 11)) diff --git a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.types b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.types index 4d0fa6ce3e5c0..18111c96b0547 100644 --- a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.types +++ b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.types @@ -23,7 +23,7 @@ class B extends A { > : ^ } -var x: A<{ length: number; foo: number }>; +declare var x: A<{ length: number; foo: number }>; >x : A<{ length: number; foo: number; }> > : ^^^^^^^^^^^^ ^^^^^^^ ^^^^ >length : number @@ -31,7 +31,7 @@ var x: A<{ length: number; foo: number }>; >foo : number > : ^^^^^^ -var y: B; +declare var y: B; >y : B > : ^^^^^^^^^ diff --git a/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.errors.txt b/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.errors.txt index 9f11f385a7a7d..c5fd4d30152bc 100644 --- a/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.errors.txt +++ b/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.errors.txt @@ -6,9 +6,9 @@ genericFunctionCallSignatureReturnTypeMismatch.ts(6,1): error TS2322: Type '( ==== genericFunctionCallSignatureReturnTypeMismatch.ts (1 errors) ==== interface Array {} - var f : { (x:T): T; } + declare var f : { (x:T): T; } - var g : { () : S[]; }; + declare var g : { () : S[]; }; f = g; ~ !!! error TS2322: Type '() => S[]' is not assignable to type '(x: T) => T'. diff --git a/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.js b/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.js index 0343b86b2f240..f95de5e4b71a2 100644 --- a/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.js +++ b/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.js @@ -3,9 +3,9 @@ //// [genericFunctionCallSignatureReturnTypeMismatch.ts] interface Array {} -var f : { (x:T): T; } +declare var f : { (x:T): T; } -var g : { () : S[]; }; +declare var g : { () : S[]; }; f = g; var s = f("str").toUpperCase(); @@ -14,8 +14,6 @@ console.log(s); //// [genericFunctionCallSignatureReturnTypeMismatch.js] -var f; -var g; f = g; var s = f("str").toUpperCase(); console.log(s); diff --git a/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.symbols b/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.symbols index 6728fa28fac3f..0f2b2da0db9ed 100644 --- a/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.symbols +++ b/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.symbols @@ -5,26 +5,26 @@ interface Array {} >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 1 more) >T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 0, 16)) -var f : { (x:T): T; } ->f : Symbol(f, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 3)) ->T : Symbol(T, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 11)) ->x : Symbol(x, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 14)) ->T : Symbol(T, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 11)) ->T : Symbol(T, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 11)) +declare var f : { (x:T): T; } +>f : Symbol(f, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 11)) +>T : Symbol(T, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 19)) +>x : Symbol(x, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 22)) +>T : Symbol(T, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 19)) +>T : Symbol(T, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 19)) -var g : { () : S[]; }; ->g : Symbol(g, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 4, 3)) ->S : Symbol(S, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 4, 11)) ->S : Symbol(S, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 4, 11)) +declare var g : { () : S[]; }; +>g : Symbol(g, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 4, 11)) +>S : Symbol(S, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 4, 19)) +>S : Symbol(S, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 4, 19)) f = g; ->f : Symbol(f, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 3)) ->g : Symbol(g, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 4, 3)) +>f : Symbol(f, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 11)) +>g : Symbol(g, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 4, 11)) var s = f("str").toUpperCase(); >s : Symbol(s, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 7, 3)) >f("str").toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) ->f : Symbol(f, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 3)) +>f : Symbol(f, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 11)) >toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) console.log(s); diff --git a/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.types b/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.types index 9f2acb454dc8a..3df68179e7f5a 100644 --- a/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.types +++ b/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.types @@ -3,13 +3,13 @@ === genericFunctionCallSignatureReturnTypeMismatch.ts === interface Array {} -var f : { (x:T): T; } +declare var f : { (x:T): T; } >f : (x: T) => T > : ^ ^^ ^^ ^^^^^ >x : T > : ^ -var g : { () : S[]; }; +declare var g : { () : S[]; }; >g : () => S[] > : ^ ^^^^^^^ diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.errors.txt b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.errors.txt index 87e42423628bc..d645e18a6de98 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.errors.txt +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.errors.txt @@ -6,7 +6,7 @@ genericFunctionsWithOptionalParameters2.ts(7,7): error TS2554: Expected 1-3 argu fold(c: Array, folder?: (s: S, t: T) => T, init?: S): T; } - var utils: Utils; + declare var utils: Utils; utils.fold(); // error ~~~~ diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.js b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.js index ecf0021c7fc44..3ac52228ce6a1 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.js +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.js @@ -5,7 +5,7 @@ interface Utils { fold(c: Array, folder?: (s: S, t: T) => T, init?: S): T; } -var utils: Utils; +declare var utils: Utils; utils.fold(); // error utils.fold(null); // no error @@ -14,7 +14,6 @@ utils.fold(null, null, null); // error: Unable to invoke type with no call signa //// [genericFunctionsWithOptionalParameters2.js] -var utils; utils.fold(); // error utils.fold(null); // no error utils.fold(null, null); // no error diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.symbols b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.symbols index 55e7cc6db1684..41c944f87a019 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.symbols +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.symbols @@ -22,27 +22,27 @@ interface Utils { >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters2.ts, 1, 8)) } -var utils: Utils; ->utils : Symbol(utils, Decl(genericFunctionsWithOptionalParameters2.ts, 4, 3)) +declare var utils: Utils; +>utils : Symbol(utils, Decl(genericFunctionsWithOptionalParameters2.ts, 4, 11)) >Utils : Symbol(Utils, Decl(genericFunctionsWithOptionalParameters2.ts, 0, 0)) utils.fold(); // error >utils.fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters2.ts, 0, 17)) ->utils : Symbol(utils, Decl(genericFunctionsWithOptionalParameters2.ts, 4, 3)) +>utils : Symbol(utils, Decl(genericFunctionsWithOptionalParameters2.ts, 4, 11)) >fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters2.ts, 0, 17)) utils.fold(null); // no error >utils.fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters2.ts, 0, 17)) ->utils : Symbol(utils, Decl(genericFunctionsWithOptionalParameters2.ts, 4, 3)) +>utils : Symbol(utils, Decl(genericFunctionsWithOptionalParameters2.ts, 4, 11)) >fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters2.ts, 0, 17)) utils.fold(null, null); // no error >utils.fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters2.ts, 0, 17)) ->utils : Symbol(utils, Decl(genericFunctionsWithOptionalParameters2.ts, 4, 3)) +>utils : Symbol(utils, Decl(genericFunctionsWithOptionalParameters2.ts, 4, 11)) >fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters2.ts, 0, 17)) utils.fold(null, null, null); // error: Unable to invoke type with no call signatures >utils.fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters2.ts, 0, 17)) ->utils : Symbol(utils, Decl(genericFunctionsWithOptionalParameters2.ts, 4, 3)) +>utils : Symbol(utils, Decl(genericFunctionsWithOptionalParameters2.ts, 4, 11)) >fold : Symbol(Utils.fold, Decl(genericFunctionsWithOptionalParameters2.ts, 0, 17)) diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types index e3b555bcaf788..9c708c8f9b9eb 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types @@ -17,7 +17,7 @@ interface Utils { > : ^ } -var utils: Utils; +declare var utils: Utils; >utils : Utils > : ^^^^^ diff --git a/tests/baselines/reference/genericSpecializations3.errors.txt b/tests/baselines/reference/genericSpecializations3.errors.txt index 31c493d104437..4cf7a6c50245f 100644 --- a/tests/baselines/reference/genericSpecializations3.errors.txt +++ b/tests/baselines/reference/genericSpecializations3.errors.txt @@ -19,7 +19,7 @@ genericSpecializations3.ts(29,1): error TS2322: Type 'IntFoo' is not assignable foo(x: T): T; } - var iFoo: IFoo; + declare var iFoo: IFoo; iFoo.foo(1); class IntFooBad implements IFoo { // error @@ -31,19 +31,19 @@ genericSpecializations3.ts(29,1): error TS2322: Type 'IntFoo' is not assignable !!! error TS2416: Type 'number' is not assignable to type 'string'. } - var intFooBad: IntFooBad; + declare var intFooBad: IntFooBad; class IntFoo implements IFoo { foo(x: number): number { return null; } } - var intFoo: IntFoo; + declare var intFoo: IntFoo; class StringFoo2 implements IFoo { foo(x: string): string { return null; } } - var stringFoo2: StringFoo2; + declare var stringFoo2: StringFoo2; stringFoo2.foo("hm"); diff --git a/tests/baselines/reference/genericSpecializations3.js b/tests/baselines/reference/genericSpecializations3.js index 4c5916698d7d6..b2601ce0be45e 100644 --- a/tests/baselines/reference/genericSpecializations3.js +++ b/tests/baselines/reference/genericSpecializations3.js @@ -5,26 +5,26 @@ interface IFoo { foo(x: T): T; } -var iFoo: IFoo; +declare var iFoo: IFoo; iFoo.foo(1); class IntFooBad implements IFoo { // error foo(x: string): string { return null; } } -var intFooBad: IntFooBad; +declare var intFooBad: IntFooBad; class IntFoo implements IFoo { foo(x: number): number { return null; } } -var intFoo: IntFoo; +declare var intFoo: IntFoo; class StringFoo2 implements IFoo { foo(x: string): string { return null; } } -var stringFoo2: StringFoo2; +declare var stringFoo2: StringFoo2; stringFoo2.foo("hm"); @@ -38,7 +38,6 @@ class StringFoo3 implements IFoo { // error var stringFoo3: StringFoo3; //// [genericSpecializations3.js] -var iFoo; iFoo.foo(1); var IntFooBad = /** @class */ (function () { function IntFooBad() { @@ -46,21 +45,18 @@ var IntFooBad = /** @class */ (function () { IntFooBad.prototype.foo = function (x) { return null; }; return IntFooBad; }()); -var intFooBad; var IntFoo = /** @class */ (function () { function IntFoo() { } IntFoo.prototype.foo = function (x) { return null; }; return IntFoo; }()); -var intFoo; var StringFoo2 = /** @class */ (function () { function StringFoo2() { } StringFoo2.prototype.foo = function (x) { return null; }; return StringFoo2; }()); -var stringFoo2; stringFoo2.foo("hm"); intFoo = stringFoo2; // error stringFoo2 = intFoo; // error diff --git a/tests/baselines/reference/genericSpecializations3.symbols b/tests/baselines/reference/genericSpecializations3.symbols index 70d68389c6d8d..d35c1a848378a 100644 --- a/tests/baselines/reference/genericSpecializations3.symbols +++ b/tests/baselines/reference/genericSpecializations3.symbols @@ -12,13 +12,13 @@ interface IFoo { >T : Symbol(T, Decl(genericSpecializations3.ts, 0, 15)) } -var iFoo: IFoo; ->iFoo : Symbol(iFoo, Decl(genericSpecializations3.ts, 4, 3)) +declare var iFoo: IFoo; +>iFoo : Symbol(iFoo, Decl(genericSpecializations3.ts, 4, 11)) >IFoo : Symbol(IFoo, Decl(genericSpecializations3.ts, 0, 0)) iFoo.foo(1); >iFoo.foo : Symbol(IFoo.foo, Decl(genericSpecializations3.ts, 0, 19)) ->iFoo : Symbol(iFoo, Decl(genericSpecializations3.ts, 4, 3)) +>iFoo : Symbol(iFoo, Decl(genericSpecializations3.ts, 4, 11)) >foo : Symbol(IFoo.foo, Decl(genericSpecializations3.ts, 0, 19)) class IntFooBad implements IFoo { // error @@ -30,12 +30,12 @@ class IntFooBad implements IFoo { // error >x : Symbol(x, Decl(genericSpecializations3.ts, 8, 8)) } -var intFooBad: IntFooBad; ->intFooBad : Symbol(intFooBad, Decl(genericSpecializations3.ts, 11, 3)) +declare var intFooBad: IntFooBad; +>intFooBad : Symbol(intFooBad, Decl(genericSpecializations3.ts, 11, 11)) >IntFooBad : Symbol(IntFooBad, Decl(genericSpecializations3.ts, 5, 12)) class IntFoo implements IFoo { ->IntFoo : Symbol(IntFoo, Decl(genericSpecializations3.ts, 11, 25)) +>IntFoo : Symbol(IntFoo, Decl(genericSpecializations3.ts, 11, 33)) >IFoo : Symbol(IFoo, Decl(genericSpecializations3.ts, 0, 0)) foo(x: number): number { return null; } @@ -43,12 +43,12 @@ class IntFoo implements IFoo { >x : Symbol(x, Decl(genericSpecializations3.ts, 14, 8)) } -var intFoo: IntFoo; ->intFoo : Symbol(intFoo, Decl(genericSpecializations3.ts, 17, 3)) ->IntFoo : Symbol(IntFoo, Decl(genericSpecializations3.ts, 11, 25)) +declare var intFoo: IntFoo; +>intFoo : Symbol(intFoo, Decl(genericSpecializations3.ts, 17, 11)) +>IntFoo : Symbol(IntFoo, Decl(genericSpecializations3.ts, 11, 33)) class StringFoo2 implements IFoo { ->StringFoo2 : Symbol(StringFoo2, Decl(genericSpecializations3.ts, 17, 19)) +>StringFoo2 : Symbol(StringFoo2, Decl(genericSpecializations3.ts, 17, 27)) >IFoo : Symbol(IFoo, Decl(genericSpecializations3.ts, 0, 0)) foo(x: string): string { return null; } @@ -56,23 +56,23 @@ class StringFoo2 implements IFoo { >x : Symbol(x, Decl(genericSpecializations3.ts, 20, 8)) } -var stringFoo2: StringFoo2; ->stringFoo2 : Symbol(stringFoo2, Decl(genericSpecializations3.ts, 23, 3)) ->StringFoo2 : Symbol(StringFoo2, Decl(genericSpecializations3.ts, 17, 19)) +declare var stringFoo2: StringFoo2; +>stringFoo2 : Symbol(stringFoo2, Decl(genericSpecializations3.ts, 23, 11)) +>StringFoo2 : Symbol(StringFoo2, Decl(genericSpecializations3.ts, 17, 27)) stringFoo2.foo("hm"); >stringFoo2.foo : Symbol(StringFoo2.foo, Decl(genericSpecializations3.ts, 19, 42)) ->stringFoo2 : Symbol(stringFoo2, Decl(genericSpecializations3.ts, 23, 3)) +>stringFoo2 : Symbol(stringFoo2, Decl(genericSpecializations3.ts, 23, 11)) >foo : Symbol(StringFoo2.foo, Decl(genericSpecializations3.ts, 19, 42)) intFoo = stringFoo2; // error ->intFoo : Symbol(intFoo, Decl(genericSpecializations3.ts, 17, 3)) ->stringFoo2 : Symbol(stringFoo2, Decl(genericSpecializations3.ts, 23, 3)) +>intFoo : Symbol(intFoo, Decl(genericSpecializations3.ts, 17, 11)) +>stringFoo2 : Symbol(stringFoo2, Decl(genericSpecializations3.ts, 23, 11)) stringFoo2 = intFoo; // error ->stringFoo2 : Symbol(stringFoo2, Decl(genericSpecializations3.ts, 23, 3)) ->intFoo : Symbol(intFoo, Decl(genericSpecializations3.ts, 17, 3)) +>stringFoo2 : Symbol(stringFoo2, Decl(genericSpecializations3.ts, 23, 11)) +>intFoo : Symbol(intFoo, Decl(genericSpecializations3.ts, 17, 11)) class StringFoo3 implements IFoo { // error diff --git a/tests/baselines/reference/genericSpecializations3.types b/tests/baselines/reference/genericSpecializations3.types index 23823d193ad98..840ce341dc260 100644 --- a/tests/baselines/reference/genericSpecializations3.types +++ b/tests/baselines/reference/genericSpecializations3.types @@ -9,7 +9,7 @@ interface IFoo { > : ^ } -var iFoo: IFoo; +declare var iFoo: IFoo; >iFoo : IFoo > : ^^^^^^^^^^^^ @@ -36,7 +36,7 @@ class IntFooBad implements IFoo { // error > : ^^^^^^ } -var intFooBad: IntFooBad; +declare var intFooBad: IntFooBad; >intFooBad : IntFooBad > : ^^^^^^^^^ @@ -51,7 +51,7 @@ class IntFoo implements IFoo { > : ^^^^^^ } -var intFoo: IntFoo; +declare var intFoo: IntFoo; >intFoo : IntFoo > : ^^^^^^ @@ -66,7 +66,7 @@ class StringFoo2 implements IFoo { > : ^^^^^^ } -var stringFoo2: StringFoo2; +declare var stringFoo2: StringFoo2; >stringFoo2 : StringFoo2 > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/genericTypeAssertions6.errors.txt b/tests/baselines/reference/genericTypeAssertions6.errors.txt index c57fecfbf43fb..4a6435e3c068b 100644 --- a/tests/baselines/reference/genericTypeAssertions6.errors.txt +++ b/tests/baselines/reference/genericTypeAssertions6.errors.txt @@ -40,5 +40,5 @@ genericTypeAssertions6.ts(19,17): error TS2352: Conversion of type 'U' to type ' } } - var b: B; + declare var b: B; var c: A = >b; \ No newline at end of file diff --git a/tests/baselines/reference/genericTypeAssertions6.js b/tests/baselines/reference/genericTypeAssertions6.js index 7a5635f79c40b..39dd26a6e1c62 100644 --- a/tests/baselines/reference/genericTypeAssertions6.js +++ b/tests/baselines/reference/genericTypeAssertions6.js @@ -23,7 +23,7 @@ class B extends A { } } -var b: B; +declare var b: B; var c: A = >b; //// [genericTypeAssertions6.js] @@ -67,5 +67,4 @@ var B = /** @class */ (function (_super) { }; return B; }(A)); -var b; var c = b; diff --git a/tests/baselines/reference/genericTypeAssertions6.symbols b/tests/baselines/reference/genericTypeAssertions6.symbols index 5d17d1c975d43..a8982eb264305 100644 --- a/tests/baselines/reference/genericTypeAssertions6.symbols +++ b/tests/baselines/reference/genericTypeAssertions6.symbols @@ -82,8 +82,8 @@ class B extends A { } } -var b: B; ->b : Symbol(b, Decl(genericTypeAssertions6.ts, 22, 3)) +declare var b: B; +>b : Symbol(b, Decl(genericTypeAssertions6.ts, 22, 11)) >B : Symbol(B, Decl(genericTypeAssertions6.ts, 10, 1)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @@ -96,5 +96,5 @@ var c: A = >b; >A : Symbol(A, Decl(genericTypeAssertions6.ts, 0, 0)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->b : Symbol(b, Decl(genericTypeAssertions6.ts, 22, 3)) +>b : Symbol(b, Decl(genericTypeAssertions6.ts, 22, 11)) diff --git a/tests/baselines/reference/genericTypeAssertions6.types b/tests/baselines/reference/genericTypeAssertions6.types index 9848d46348581..34a9ef5d3a811 100644 --- a/tests/baselines/reference/genericTypeAssertions6.types +++ b/tests/baselines/reference/genericTypeAssertions6.types @@ -116,7 +116,7 @@ class B extends A { } } -var b: B; +declare var b: B; >b : B > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/genericWithOpenTypeParameters1.errors.txt b/tests/baselines/reference/genericWithOpenTypeParameters1.errors.txt index cf68e04123162..32f8ded4e7c15 100644 --- a/tests/baselines/reference/genericWithOpenTypeParameters1.errors.txt +++ b/tests/baselines/reference/genericWithOpenTypeParameters1.errors.txt @@ -9,7 +9,7 @@ genericWithOpenTypeParameters1.ts(9,41): error TS2558: Expected 0 type arguments foo(x: T): T { return null; } } - var x: B; + declare var x: B; x.foo(1); // no error var f = (x: B) => { return x.foo(1); } // error ~ diff --git a/tests/baselines/reference/genericWithOpenTypeParameters1.js b/tests/baselines/reference/genericWithOpenTypeParameters1.js index 4ea9ab384d816..d6dfe50133113 100644 --- a/tests/baselines/reference/genericWithOpenTypeParameters1.js +++ b/tests/baselines/reference/genericWithOpenTypeParameters1.js @@ -5,7 +5,7 @@ class B { foo(x: T): T { return null; } } -var x: B; +declare var x: B; x.foo(1); // no error var f = (x: B) => { return x.foo(1); } // error var f2 = (x: B) => { return x.foo(1); } // error @@ -20,7 +20,6 @@ var B = /** @class */ (function () { B.prototype.foo = function (x) { return null; }; return B; }()); -var x; x.foo(1); // no error var f = function (x) { return x.foo(1); }; // error var f2 = function (x) { return x.foo(1); }; // error diff --git a/tests/baselines/reference/genericWithOpenTypeParameters1.symbols b/tests/baselines/reference/genericWithOpenTypeParameters1.symbols index 455753e69fcd3..77885f2775df3 100644 --- a/tests/baselines/reference/genericWithOpenTypeParameters1.symbols +++ b/tests/baselines/reference/genericWithOpenTypeParameters1.symbols @@ -12,13 +12,13 @@ class B { >T : Symbol(T, Decl(genericWithOpenTypeParameters1.ts, 0, 8)) } -var x: B; ->x : Symbol(x, Decl(genericWithOpenTypeParameters1.ts, 4, 3)) +declare var x: B; +>x : Symbol(x, Decl(genericWithOpenTypeParameters1.ts, 4, 11)) >B : Symbol(B, Decl(genericWithOpenTypeParameters1.ts, 0, 0)) x.foo(1); // no error >x.foo : Symbol(B.foo, Decl(genericWithOpenTypeParameters1.ts, 0, 12)) ->x : Symbol(x, Decl(genericWithOpenTypeParameters1.ts, 4, 3)) +>x : Symbol(x, Decl(genericWithOpenTypeParameters1.ts, 4, 11)) >foo : Symbol(B.foo, Decl(genericWithOpenTypeParameters1.ts, 0, 12)) var f = (x: B) => { return x.foo(1); } // error diff --git a/tests/baselines/reference/genericWithOpenTypeParameters1.types b/tests/baselines/reference/genericWithOpenTypeParameters1.types index eb17dba87dbdb..77e67304241db 100644 --- a/tests/baselines/reference/genericWithOpenTypeParameters1.types +++ b/tests/baselines/reference/genericWithOpenTypeParameters1.types @@ -12,7 +12,7 @@ class B { > : ^ } -var x: B; +declare var x: B; >x : B > : ^^^^^^^^^ diff --git a/tests/baselines/reference/generics4.errors.txt b/tests/baselines/reference/generics4.errors.txt index d1c24fa740f46..0a1a77fd130b1 100644 --- a/tests/baselines/reference/generics4.errors.txt +++ b/tests/baselines/reference/generics4.errors.txt @@ -8,8 +8,8 @@ generics4.ts(7,1): error TS2322: Type 'C' is not assignable to type 'C'. class C { private x: T; } interface X { f(): string; } interface Y { f(): boolean; } - var a: C; - var b: C; + declare var a: C; + declare var b: C; a = b; // Not ok - return types of "f" are different ~ diff --git a/tests/baselines/reference/generics4.js b/tests/baselines/reference/generics4.js index c69753da3492c..a57b66ff69ac5 100644 --- a/tests/baselines/reference/generics4.js +++ b/tests/baselines/reference/generics4.js @@ -4,8 +4,8 @@ class C { private x: T; } interface X { f(): string; } interface Y { f(): boolean; } -var a: C; -var b: C; +declare var a: C; +declare var b: C; a = b; // Not ok - return types of "f" are different @@ -15,6 +15,4 @@ var C = /** @class */ (function () { } return C; }()); -var a; -var b; a = b; // Not ok - return types of "f" are different diff --git a/tests/baselines/reference/generics4.symbols b/tests/baselines/reference/generics4.symbols index f2a3970ba725c..b7d8a0965a22e 100644 --- a/tests/baselines/reference/generics4.symbols +++ b/tests/baselines/reference/generics4.symbols @@ -15,17 +15,17 @@ interface Y { f(): boolean; } >Y : Symbol(Y, Decl(generics4.ts, 1, 28)) >f : Symbol(Y.f, Decl(generics4.ts, 2, 13)) -var a: C; ->a : Symbol(a, Decl(generics4.ts, 3, 3)) +declare var a: C; +>a : Symbol(a, Decl(generics4.ts, 3, 11)) >C : Symbol(C, Decl(generics4.ts, 0, 0)) >X : Symbol(X, Decl(generics4.ts, 0, 28)) -var b: C; ->b : Symbol(b, Decl(generics4.ts, 4, 3)) +declare var b: C; +>b : Symbol(b, Decl(generics4.ts, 4, 11)) >C : Symbol(C, Decl(generics4.ts, 0, 0)) >Y : Symbol(Y, Decl(generics4.ts, 1, 28)) a = b; // Not ok - return types of "f" are different ->a : Symbol(a, Decl(generics4.ts, 3, 3)) ->b : Symbol(b, Decl(generics4.ts, 4, 3)) +>a : Symbol(a, Decl(generics4.ts, 3, 11)) +>b : Symbol(b, Decl(generics4.ts, 4, 11)) diff --git a/tests/baselines/reference/generics4.types b/tests/baselines/reference/generics4.types index 6e91e500218eb..b418fb635706b 100644 --- a/tests/baselines/reference/generics4.types +++ b/tests/baselines/reference/generics4.types @@ -15,11 +15,11 @@ interface Y { f(): boolean; } >f : () => boolean > : ^^^^^^ -var a: C; +declare var a: C; >a : C > : ^^^^ -var b: C; +declare var b: C; >b : C > : ^^^^ diff --git a/tests/baselines/reference/i3.errors.txt b/tests/baselines/reference/i3.errors.txt index 3a6d8c3164b4d..8058b21069348 100644 --- a/tests/baselines/reference/i3.errors.txt +++ b/tests/baselines/reference/i3.errors.txt @@ -4,8 +4,8 @@ i3.ts(6,1): error TS2322: Type 'I3' is not assignable to type '{ one: number; }' ==== i3.ts (1 errors) ==== interface I3 { one?: number; }; - var x: {one: number}; - var i: I3; + declare var x: {one: number}; + declare var i: I3; i = x; x = i; diff --git a/tests/baselines/reference/i3.js b/tests/baselines/reference/i3.js index 9534519cf2b9f..10165c82a992c 100644 --- a/tests/baselines/reference/i3.js +++ b/tests/baselines/reference/i3.js @@ -2,15 +2,13 @@ //// [i3.ts] interface I3 { one?: number; }; -var x: {one: number}; -var i: I3; +declare var x: {one: number}; +declare var i: I3; i = x; x = i; //// [i3.js] ; -var x; -var i; i = x; x = i; diff --git a/tests/baselines/reference/i3.symbols b/tests/baselines/reference/i3.symbols index f68f83aab3b41..a61b60520b137 100644 --- a/tests/baselines/reference/i3.symbols +++ b/tests/baselines/reference/i3.symbols @@ -5,19 +5,19 @@ interface I3 { one?: number; }; >I3 : Symbol(I3, Decl(i3.ts, 0, 0)) >one : Symbol(I3.one, Decl(i3.ts, 0, 14)) -var x: {one: number}; ->x : Symbol(x, Decl(i3.ts, 1, 3)) ->one : Symbol(one, Decl(i3.ts, 1, 8)) +declare var x: {one: number}; +>x : Symbol(x, Decl(i3.ts, 1, 11)) +>one : Symbol(one, Decl(i3.ts, 1, 16)) -var i: I3; ->i : Symbol(i, Decl(i3.ts, 2, 3)) +declare var i: I3; +>i : Symbol(i, Decl(i3.ts, 2, 11)) >I3 : Symbol(I3, Decl(i3.ts, 0, 0)) i = x; ->i : Symbol(i, Decl(i3.ts, 2, 3)) ->x : Symbol(x, Decl(i3.ts, 1, 3)) +>i : Symbol(i, Decl(i3.ts, 2, 11)) +>x : Symbol(x, Decl(i3.ts, 1, 11)) x = i; ->x : Symbol(x, Decl(i3.ts, 1, 3)) ->i : Symbol(i, Decl(i3.ts, 2, 3)) +>x : Symbol(x, Decl(i3.ts, 1, 11)) +>i : Symbol(i, Decl(i3.ts, 2, 11)) diff --git a/tests/baselines/reference/i3.types b/tests/baselines/reference/i3.types index 9d8e1cf46abd2..2e62432a0e3f8 100644 --- a/tests/baselines/reference/i3.types +++ b/tests/baselines/reference/i3.types @@ -5,13 +5,13 @@ interface I3 { one?: number; }; >one : number > : ^^^^^^ -var x: {one: number}; +declare var x: {one: number}; >x : { one: number; } > : ^^^^^^^ ^^^ >one : number > : ^^^^^^ -var i: I3; +declare var i: I3; >i : I3 > : ^^ diff --git a/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.errors.txt b/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.errors.txt index 8d22f82f4c6f8..6c7d2151ea313 100644 --- a/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.errors.txt +++ b/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.errors.txt @@ -30,7 +30,7 @@ implementingAnInterfaceExtendingClassWithPrivates2.ts(81,11): error TS2420: Clas ==== implementingAnInterfaceExtendingClassWithPrivates2.ts (15 errors) ==== class Foo { - private x: string; + private x!: string; } interface I extends Foo { @@ -38,7 +38,7 @@ implementingAnInterfaceExtendingClassWithPrivates2.ts(81,11): error TS2420: Clas } class Bar extends Foo implements I { // ok - y: number; + y!: number; } class Bar2 extends Foo implements I { // error @@ -48,8 +48,8 @@ implementingAnInterfaceExtendingClassWithPrivates2.ts(81,11): error TS2420: Clas ~~~~ !!! error TS2420: Class 'Bar2' incorrectly implements interface 'I'. !!! error TS2420: Property 'x' is private in type 'I' but not in type 'Bar2'. - x: string; - y: number; + x!: string; + y!: number; } class Bar3 extends Foo implements I { // error @@ -59,18 +59,18 @@ implementingAnInterfaceExtendingClassWithPrivates2.ts(81,11): error TS2420: Clas ~~~~ !!! error TS2420: Class 'Bar3' incorrectly implements interface 'I'. !!! error TS2420: Types have separate declarations of a private property 'x'. - private x: string; - y: number; + private x!: string; + y!: number; } // another level of indirection namespace M { class Foo { - private x: string; + private x!: string; } class Baz extends Foo { - z: number; + z!: number; } interface I extends Baz { @@ -78,8 +78,8 @@ implementingAnInterfaceExtendingClassWithPrivates2.ts(81,11): error TS2420: Clas } class Bar extends Foo implements I { // ok - y: number; - z: number; + y!: number; + z!: number; } class Bar2 extends Foo implements I { // error @@ -90,8 +90,8 @@ implementingAnInterfaceExtendingClassWithPrivates2.ts(81,11): error TS2420: Clas !!! error TS2420: Class 'Bar2' incorrectly implements interface 'I'. !!! error TS2420: Property 'z' is missing in type 'Bar2' but required in type 'I'. !!! related TS2728 implementingAnInterfaceExtendingClassWithPrivates2.ts:30:9: 'z' is declared here. - x: string; - y: number; + x!: string; + y!: number; } class Bar3 extends Foo implements I { // error @@ -102,19 +102,19 @@ implementingAnInterfaceExtendingClassWithPrivates2.ts(81,11): error TS2420: Clas !!! error TS2420: Class 'Bar3' incorrectly implements interface 'I'. !!! error TS2420: Property 'z' is missing in type 'Bar3' but required in type 'I'. !!! related TS2728 implementingAnInterfaceExtendingClassWithPrivates2.ts:30:9: 'z' is declared here. - private x: string; - y: number; + private x!: string; + y!: number; } } // two levels of privates namespace M2 { class Foo { - private x: string; + private x!: string; } class Baz extends Foo { - private y: number; + private y!: number; } interface I extends Baz { @@ -126,10 +126,10 @@ implementingAnInterfaceExtendingClassWithPrivates2.ts(81,11): error TS2420: Clas !!! error TS2420: Class 'Bar' incorrectly implements interface 'I'. !!! error TS2420: Property 'y' is missing in type 'Bar' but required in type 'I'. !!! related TS2728 implementingAnInterfaceExtendingClassWithPrivates2.ts:60:17: 'y' is declared here. - z: number; + z!: number; } - var b: Bar; + declare var b: Bar; var r1 = b.z; var r2 = b.x; // error ~ @@ -146,8 +146,8 @@ implementingAnInterfaceExtendingClassWithPrivates2.ts(81,11): error TS2420: Clas !!! error TS2420: Class 'Bar2' incorrectly implements interface 'I'. !!! error TS2420: Property 'y' is missing in type 'Bar2' but required in type 'I'. !!! related TS2728 implementingAnInterfaceExtendingClassWithPrivates2.ts:60:17: 'y' is declared here. - x: string; - z: number; + x!: string; + z!: number; } class Bar3 extends Foo implements I { // error @@ -158,7 +158,7 @@ implementingAnInterfaceExtendingClassWithPrivates2.ts(81,11): error TS2420: Clas !!! error TS2420: Class 'Bar3' incorrectly implements interface 'I'. !!! error TS2420: Property 'y' is missing in type 'Bar3' but required in type 'I'. !!! related TS2728 implementingAnInterfaceExtendingClassWithPrivates2.ts:60:17: 'y' is declared here. - private x: string; - z: number; + private x!: string; + z!: number; } } \ No newline at end of file diff --git a/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.js b/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.js index 6151047203698..53752d5942912 100644 --- a/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.js +++ b/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.js @@ -2,7 +2,7 @@ //// [implementingAnInterfaceExtendingClassWithPrivates2.ts] class Foo { - private x: string; + private x!: string; } interface I extends Foo { @@ -10,27 +10,27 @@ interface I extends Foo { } class Bar extends Foo implements I { // ok - y: number; + y!: number; } class Bar2 extends Foo implements I { // error - x: string; - y: number; + x!: string; + y!: number; } class Bar3 extends Foo implements I { // error - private x: string; - y: number; + private x!: string; + y!: number; } // another level of indirection namespace M { class Foo { - private x: string; + private x!: string; } class Baz extends Foo { - z: number; + z!: number; } interface I extends Baz { @@ -38,29 +38,29 @@ namespace M { } class Bar extends Foo implements I { // ok - y: number; - z: number; + y!: number; + z!: number; } class Bar2 extends Foo implements I { // error - x: string; - y: number; + x!: string; + y!: number; } class Bar3 extends Foo implements I { // error - private x: string; - y: number; + private x!: string; + y!: number; } } // two levels of privates namespace M2 { class Foo { - private x: string; + private x!: string; } class Baz extends Foo { - private y: number; + private y!: number; } interface I extends Baz { @@ -68,22 +68,22 @@ namespace M2 { } class Bar extends Foo implements I { // error - z: number; + z!: number; } - var b: Bar; + declare var b: Bar; var r1 = b.z; var r2 = b.x; // error var r3 = b.y; // error class Bar2 extends Foo implements I { // error - x: string; - z: number; + x!: string; + z!: number; } class Bar3 extends Foo implements I { // error - private x: string; - z: number; + private x!: string; + z!: number; } } @@ -188,7 +188,6 @@ var M2; } return Bar; }(Foo)); - var b; var r1 = b.z; var r2 = b.x; // error var r3 = b.y; // error diff --git a/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.symbols b/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.symbols index b1f4ba83a713e..4877032a3e549 100644 --- a/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.symbols +++ b/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.symbols @@ -4,7 +4,7 @@ class Foo { >Foo : Symbol(Foo, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 0, 0)) - private x: string; + private x!: string; >x : Symbol(Foo.x, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 0, 11)) } @@ -21,7 +21,7 @@ class Bar extends Foo implements I { // ok >Foo : Symbol(Foo, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 0, 0)) >I : Symbol(I, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 2, 1)) - y: number; + y!: number; >y : Symbol(Bar.y, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 8, 36)) } @@ -30,11 +30,11 @@ class Bar2 extends Foo implements I { // error >Foo : Symbol(Foo, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 0, 0)) >I : Symbol(I, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 2, 1)) - x: string; + x!: string; >x : Symbol(Bar2.x, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 12, 37)) - y: number; ->y : Symbol(Bar2.y, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 13, 14)) + y!: number; +>y : Symbol(Bar2.y, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 13, 15)) } class Bar3 extends Foo implements I { // error @@ -42,11 +42,11 @@ class Bar3 extends Foo implements I { // error >Foo : Symbol(Foo, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 0, 0)) >I : Symbol(I, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 2, 1)) - private x: string; + private x!: string; >x : Symbol(Bar3.x, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 17, 37)) - y: number; ->y : Symbol(Bar3.y, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 18, 22)) + y!: number; +>y : Symbol(Bar3.y, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 18, 23)) } // another level of indirection @@ -56,7 +56,7 @@ namespace M { class Foo { >Foo : Symbol(Foo, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 23, 13)) - private x: string; + private x!: string; >x : Symbol(Foo.x, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 24, 15)) } @@ -64,7 +64,7 @@ namespace M { >Baz : Symbol(Baz, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 26, 5)) >Foo : Symbol(Foo, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 23, 13)) - z: number; + z!: number; >z : Symbol(Baz.z, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 28, 27)) } @@ -81,11 +81,11 @@ namespace M { >Foo : Symbol(Foo, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 23, 13)) >I : Symbol(I, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 30, 5)) - y: number; + y!: number; >y : Symbol(Bar.y, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 36, 40)) - z: number; ->z : Symbol(Bar.z, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 37, 18)) + z!: number; +>z : Symbol(Bar.z, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 37, 19)) } class Bar2 extends Foo implements I { // error @@ -93,11 +93,11 @@ namespace M { >Foo : Symbol(Foo, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 23, 13)) >I : Symbol(I, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 30, 5)) - x: string; + x!: string; >x : Symbol(Bar2.x, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 41, 41)) - y: number; ->y : Symbol(Bar2.y, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 42, 18)) + y!: number; +>y : Symbol(Bar2.y, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 42, 19)) } class Bar3 extends Foo implements I { // error @@ -105,11 +105,11 @@ namespace M { >Foo : Symbol(Foo, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 23, 13)) >I : Symbol(I, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 30, 5)) - private x: string; + private x!: string; >x : Symbol(Bar3.x, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 46, 41)) - y: number; ->y : Symbol(Bar3.y, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 47, 26)) + y!: number; +>y : Symbol(Bar3.y, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 47, 27)) } } @@ -120,7 +120,7 @@ namespace M2 { class Foo { >Foo : Symbol(Foo, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 53, 14)) - private x: string; + private x!: string; >x : Symbol(Foo.x, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 54, 15)) } @@ -128,7 +128,7 @@ namespace M2 { >Baz : Symbol(Baz, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 56, 5)) >Foo : Symbol(Foo, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 53, 14)) - private y: number; + private y!: number; >y : Symbol(Baz.y, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 58, 27)) } @@ -145,40 +145,40 @@ namespace M2 { >Foo : Symbol(Foo, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 53, 14)) >I : Symbol(I, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 60, 5)) - z: number; + z!: number; >z : Symbol(Bar.z, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 66, 40)) } - var b: Bar; ->b : Symbol(b, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 70, 7)) + declare var b: Bar; +>b : Symbol(b, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 70, 15)) >Bar : Symbol(Bar, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 64, 5)) var r1 = b.z; >r1 : Symbol(r1, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 71, 7)) >b.z : Symbol(Bar.z, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 66, 40)) ->b : Symbol(b, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 70, 7)) +>b : Symbol(b, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 70, 15)) >z : Symbol(Bar.z, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 66, 40)) var r2 = b.x; // error >r2 : Symbol(r2, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 72, 7)) >b.x : Symbol(Foo.x, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 54, 15)) ->b : Symbol(b, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 70, 7)) +>b : Symbol(b, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 70, 15)) >x : Symbol(Foo.x, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 54, 15)) var r3 = b.y; // error >r3 : Symbol(r3, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 73, 7)) ->b : Symbol(b, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 70, 7)) +>b : Symbol(b, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 70, 15)) class Bar2 extends Foo implements I { // error >Bar2 : Symbol(Bar2, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 73, 17)) >Foo : Symbol(Foo, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 53, 14)) >I : Symbol(I, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 60, 5)) - x: string; + x!: string; >x : Symbol(Bar2.x, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 75, 41)) - z: number; ->z : Symbol(Bar2.z, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 76, 18)) + z!: number; +>z : Symbol(Bar2.z, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 76, 19)) } class Bar3 extends Foo implements I { // error @@ -186,10 +186,10 @@ namespace M2 { >Foo : Symbol(Foo, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 53, 14)) >I : Symbol(I, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 60, 5)) - private x: string; + private x!: string; >x : Symbol(Bar3.x, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 80, 41)) - z: number; ->z : Symbol(Bar3.z, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 81, 26)) + z!: number; +>z : Symbol(Bar3.z, Decl(implementingAnInterfaceExtendingClassWithPrivates2.ts, 81, 27)) } } diff --git a/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.types b/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.types index 087f521da0958..2d316bd2bd8ed 100644 --- a/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.types +++ b/tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.types @@ -5,7 +5,7 @@ class Foo { >Foo : Foo > : ^^^ - private x: string; + private x!: string; >x : string > : ^^^^^^ } @@ -22,7 +22,7 @@ class Bar extends Foo implements I { // ok >Foo : Foo > : ^^^ - y: number; + y!: number; >y : number > : ^^^^^^ } @@ -33,11 +33,11 @@ class Bar2 extends Foo implements I { // error >Foo : Foo > : ^^^ - x: string; + x!: string; >x : string > : ^^^^^^ - y: number; + y!: number; >y : number > : ^^^^^^ } @@ -48,11 +48,11 @@ class Bar3 extends Foo implements I { // error >Foo : Foo > : ^^^ - private x: string; + private x!: string; >x : string > : ^^^^^^ - y: number; + y!: number; >y : number > : ^^^^^^ } @@ -66,7 +66,7 @@ namespace M { >Foo : Foo > : ^^^ - private x: string; + private x!: string; >x : string > : ^^^^^^ } @@ -77,7 +77,7 @@ namespace M { >Foo : Foo > : ^^^ - z: number; + z!: number; >z : number > : ^^^^^^ } @@ -94,11 +94,11 @@ namespace M { >Foo : Foo > : ^^^ - y: number; + y!: number; >y : number > : ^^^^^^ - z: number; + z!: number; >z : number > : ^^^^^^ } @@ -109,11 +109,11 @@ namespace M { >Foo : Foo > : ^^^ - x: string; + x!: string; >x : string > : ^^^^^^ - y: number; + y!: number; >y : number > : ^^^^^^ } @@ -124,11 +124,11 @@ namespace M { >Foo : Foo > : ^^^ - private x: string; + private x!: string; >x : string > : ^^^^^^ - y: number; + y!: number; >y : number > : ^^^^^^ } @@ -143,7 +143,7 @@ namespace M2 { >Foo : Foo > : ^^^ - private x: string; + private x!: string; >x : string > : ^^^^^^ } @@ -154,7 +154,7 @@ namespace M2 { >Foo : Foo > : ^^^ - private y: number; + private y!: number; >y : number > : ^^^^^^ } @@ -171,12 +171,12 @@ namespace M2 { >Foo : Foo > : ^^^ - z: number; + z!: number; >z : number > : ^^^^^^ } - var b: Bar; + declare var b: Bar; >b : Bar > : ^^^ @@ -216,11 +216,11 @@ namespace M2 { >Foo : Foo > : ^^^ - x: string; + x!: string; >x : string > : ^^^^^^ - z: number; + z!: number; >z : number > : ^^^^^^ } @@ -231,11 +231,11 @@ namespace M2 { >Foo : Foo > : ^^^ - private x: string; + private x!: string; >x : string > : ^^^^^^ - z: number; + z!: number; >z : number > : ^^^^^^ } diff --git a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.errors.txt b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.errors.txt index 38ea304c81679..93e732390201f 100644 --- a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.errors.txt +++ b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.errors.txt @@ -1,7 +1,7 @@ implicitAnyFunctionInvocationWithAnyArguements.ts(3,5): error TS7005: Variable 'anyArray' implicitly has an 'any[]' type. -implicitAnyFunctionInvocationWithAnyArguements.ts(4,13): error TS7008: Member 'v' implicitly has an 'any' type. -implicitAnyFunctionInvocationWithAnyArguements.ts(4,16): error TS7008: Member 'w' implicitly has an 'any' type. -implicitAnyFunctionInvocationWithAnyArguements.ts(5,13): error TS7006: Parameter 'y2' implicitly has an 'any' type. +implicitAnyFunctionInvocationWithAnyArguements.ts(4,21): error TS7008: Member 'v' implicitly has an 'any' type. +implicitAnyFunctionInvocationWithAnyArguements.ts(4,24): error TS7008: Member 'w' implicitly has an 'any' type. +implicitAnyFunctionInvocationWithAnyArguements.ts(5,21): error TS7006: Parameter 'y2' implicitly has an 'any' type. implicitAnyFunctionInvocationWithAnyArguements.ts(6,16): error TS7006: Parameter 'arg1' implicitly has an 'any' type. implicitAnyFunctionInvocationWithAnyArguements.ts(10,36): error TS7006: Parameter 'y2' implicitly has an 'any' type. @@ -12,13 +12,13 @@ implicitAnyFunctionInvocationWithAnyArguements.ts(10,36): error TS7006: Paramete var anyArray = [null, undefined]; // error at array literal ~~~~~~~~ !!! error TS7005: Variable 'anyArray' implicitly has an 'any[]' type. - var objL: { v; w; } // error at "y,z" - ~ + declare var objL: { v; w; } // error at "y,z" + ~ !!! error TS7008: Member 'v' implicitly has an 'any' type. - ~ + ~ !!! error TS7008: Member 'w' implicitly has an 'any' type. - var funcL: (y2) => number; - ~~ + declare var funcL: (y2) => number; + ~~ !!! error TS7006: Parameter 'y2' implicitly has an 'any' type. function temp1(arg1) { } // error at "temp1" ~~~~ diff --git a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.js b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.js index 36073cb9ff8f5..0f8970c1e980b 100644 --- a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.js +++ b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.js @@ -4,8 +4,8 @@ // this should be errors var arg0 = null; // error at "arg0" var anyArray = [null, undefined]; // error at array literal -var objL: { v; w; } // error at "y,z" -var funcL: (y2) => number; +declare var objL: { v; w; } // error at "y,z" +declare var funcL: (y2) => number; function temp1(arg1) { } // error at "temp1" function testFunctionExprC(subReplace: (s: string, ...arg: any[]) => string) { } function testFunctionExprC2(eq: (v1: any, v2: any) => number) { }; @@ -41,8 +41,6 @@ var newC2 = new C([], null) // this should be errors var arg0 = null; // error at "arg0" var anyArray = [null, undefined]; // error at array literal -var objL; // error at "y,z" -var funcL; function temp1(arg1) { } // error at "temp1" function testFunctionExprC(subReplace) { } function testFunctionExprC2(eq) { } diff --git a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.symbols b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.symbols index 9f78d635cf45a..7944c114c0607 100644 --- a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.symbols +++ b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.symbols @@ -9,17 +9,17 @@ var anyArray = [null, undefined]; // error at array literal >anyArray : Symbol(anyArray, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 2, 3)) >undefined : Symbol(undefined) -var objL: { v; w; } // error at "y,z" ->objL : Symbol(objL, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 3, 3)) ->v : Symbol(v, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 3, 11)) ->w : Symbol(w, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 3, 14)) +declare var objL: { v; w; } // error at "y,z" +>objL : Symbol(objL, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 3, 11)) +>v : Symbol(v, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 3, 19)) +>w : Symbol(w, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 3, 22)) -var funcL: (y2) => number; ->funcL : Symbol(funcL, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 4, 3)) ->y2 : Symbol(y2, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 4, 12)) +declare var funcL: (y2) => number; +>funcL : Symbol(funcL, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 4, 11)) +>y2 : Symbol(y2, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 4, 20)) function temp1(arg1) { } // error at "temp1" ->temp1 : Symbol(temp1, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 4, 26)) +>temp1 : Symbol(temp1, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 4, 34)) >arg1 : Symbol(arg1, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 5, 15)) function testFunctionExprC(subReplace: (s: string, ...arg: any[]) => string) { } @@ -53,24 +53,24 @@ testFunctionExprC2((v1, v2) => 1); testObjLiteral(objL); >testObjLiteral : Symbol(testObjLiteral, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 7, 66)) ->objL : Symbol(objL, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 3, 3)) +>objL : Symbol(objL, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 3, 11)) testFuncLiteral(funcL); >testFuncLiteral : Symbol(testFuncLiteral, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 8, 56)) ->funcL : Symbol(funcL, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 4, 3)) +>funcL : Symbol(funcL, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 4, 11)) var k = temp1(null); >k : Symbol(k, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 16, 3)) ->temp1 : Symbol(temp1, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 4, 26)) +>temp1 : Symbol(temp1, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 4, 34)) var result = temp1(arg0); >result : Symbol(result, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 17, 3)) ->temp1 : Symbol(temp1, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 4, 26)) +>temp1 : Symbol(temp1, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 4, 34)) >arg0 : Symbol(arg0, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 1, 3)) var result1 = temp1(anyArray); >result1 : Symbol(result1, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 18, 3)) ->temp1 : Symbol(temp1, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 4, 26)) +>temp1 : Symbol(temp1, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 4, 34)) >anyArray : Symbol(anyArray, Decl(implicitAnyFunctionInvocationWithAnyArguements.ts, 2, 3)) function noError(variable: any, array?: any) { } diff --git a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types index b9ef09d20d7a9..5a2212641f17a 100644 --- a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types +++ b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types @@ -14,7 +14,7 @@ var anyArray = [null, undefined]; // error at array literal >undefined : undefined > : ^^^^^^^^^ -var objL: { v; w; } // error at "y,z" +declare var objL: { v; w; } // error at "y,z" >objL : { v: any; w: any; } > : ^^^^^^^^^^^^^^^^^^^ >v : any @@ -22,7 +22,7 @@ var objL: { v; w; } // error at "y,z" >w : any > : ^^^ -var funcL: (y2) => number; +declare var funcL: (y2) => number; >funcL : (y2: any) => number > : ^ ^^^^^^^^^^ >y2 : any diff --git a/tests/baselines/reference/implicitAnyWidenToAny.errors.txt b/tests/baselines/reference/implicitAnyWidenToAny.errors.txt index 1d9883e561162..192fb24dac8e2 100644 --- a/tests/baselines/reference/implicitAnyWidenToAny.errors.txt +++ b/tests/baselines/reference/implicitAnyWidenToAny.errors.txt @@ -26,7 +26,7 @@ implicitAnyWidenToAny.ts(4,5): error TS7005: Variable 'widenArray' implicitly ha var array4: number[] = [null, undefined]; var array5 = [null, undefined]; - var objLit: { new (n: number): any; }; + declare var objLit: { new (n: number): any; }; function anyReturnFunc(): any { } var obj0 = new objLit(1); var obj1 = anyReturnFunc(); diff --git a/tests/baselines/reference/implicitAnyWidenToAny.js b/tests/baselines/reference/implicitAnyWidenToAny.js index 4f6683ef8a499..258e44d3d91b5 100644 --- a/tests/baselines/reference/implicitAnyWidenToAny.js +++ b/tests/baselines/reference/implicitAnyWidenToAny.js @@ -23,7 +23,7 @@ var array3: any[] = [null, undefined]; var array4: number[] = [null, undefined]; var array5 = [null, undefined]; -var objLit: { new (n: number): any; }; +declare var objLit: { new (n: number): any; }; function anyReturnFunc(): any { } var obj0 = new objLit(1); var obj1 = anyReturnFunc(); @@ -52,7 +52,6 @@ var array2 = []; var array3 = [null, undefined]; var array4 = [null, undefined]; var array5 = [null, undefined]; -var objLit; function anyReturnFunc() { } var obj0 = new objLit(1); var obj1 = anyReturnFunc(); diff --git a/tests/baselines/reference/implicitAnyWidenToAny.symbols b/tests/baselines/reference/implicitAnyWidenToAny.symbols index 2dac95c64417b..5abc05a572eab 100644 --- a/tests/baselines/reference/implicitAnyWidenToAny.symbols +++ b/tests/baselines/reference/implicitAnyWidenToAny.symbols @@ -62,18 +62,18 @@ var array5 = [null, undefined]; >array5 : Symbol(array5, Decl(implicitAnyWidenToAny.ts, 20, 3)) >undefined : Symbol(undefined) -var objLit: { new (n: number): any; }; ->objLit : Symbol(objLit, Decl(implicitAnyWidenToAny.ts, 22, 3)) ->n : Symbol(n, Decl(implicitAnyWidenToAny.ts, 22, 19)) +declare var objLit: { new (n: number): any; }; +>objLit : Symbol(objLit, Decl(implicitAnyWidenToAny.ts, 22, 11)) +>n : Symbol(n, Decl(implicitAnyWidenToAny.ts, 22, 27)) function anyReturnFunc(): any { } ->anyReturnFunc : Symbol(anyReturnFunc, Decl(implicitAnyWidenToAny.ts, 22, 38)) +>anyReturnFunc : Symbol(anyReturnFunc, Decl(implicitAnyWidenToAny.ts, 22, 46)) var obj0 = new objLit(1); >obj0 : Symbol(obj0, Decl(implicitAnyWidenToAny.ts, 24, 3)) ->objLit : Symbol(objLit, Decl(implicitAnyWidenToAny.ts, 22, 3)) +>objLit : Symbol(objLit, Decl(implicitAnyWidenToAny.ts, 22, 11)) var obj1 = anyReturnFunc(); >obj1 : Symbol(obj1, Decl(implicitAnyWidenToAny.ts, 25, 3)) ->anyReturnFunc : Symbol(anyReturnFunc, Decl(implicitAnyWidenToAny.ts, 22, 38)) +>anyReturnFunc : Symbol(anyReturnFunc, Decl(implicitAnyWidenToAny.ts, 22, 46)) diff --git a/tests/baselines/reference/implicitAnyWidenToAny.types b/tests/baselines/reference/implicitAnyWidenToAny.types index fd148986b0e40..4e7482fcde54c 100644 --- a/tests/baselines/reference/implicitAnyWidenToAny.types +++ b/tests/baselines/reference/implicitAnyWidenToAny.types @@ -113,7 +113,7 @@ var array5 = [null, undefined]; >undefined : undefined > : ^^^^^^^^^ -var objLit: { new (n: number): any; }; +declare var objLit: { new (n: number): any; }; >objLit : new (n: number) => any > : ^^^^^ ^^ ^^^^^ >n : number diff --git a/tests/baselines/reference/importsNotUsedAsValues_error.errors.txt b/tests/baselines/reference/importsNotUsedAsValues_error.errors.txt index 39a41bd454c53..91aaa2d04fac9 100644 --- a/tests/baselines/reference/importsNotUsedAsValues_error.errors.txt +++ b/tests/baselines/reference/importsNotUsedAsValues_error.errors.txt @@ -13,20 +13,20 @@ error TS5102: Option 'importsNotUsedAsValues' has been removed. Please remove it ==== /b.ts (0 errors) ==== import { A, B } from './a'; // Error - let a: A; - let b: B; + declare let a: A; + declare let b: B; console.log(a, b); ==== /c.ts (0 errors) ==== import Default, * as named from './a'; // Error - let a: Default; - let b: named.B; + declare let a: Default; + declare let b: named.B; console.log(a, b); ==== /d.ts (0 errors) ==== import Default, { A } from './a'; const a = A; - let b: Default; + declare let b: Default; console.log(a, b); ==== /e.ts (1 errors) ==== @@ -44,8 +44,8 @@ error TS5102: Option 'importsNotUsedAsValues' has been removed. Please remove it ==== /g.ts (0 errors) ==== import { C } from './a'; - let c: C; - let d: C.Two; + declare let c: C; + declare let d: C.Two; console.log(c, d); ==== /h.ts (0 errors) ==== diff --git a/tests/baselines/reference/importsNotUsedAsValues_error.js b/tests/baselines/reference/importsNotUsedAsValues_error.js index 7d9f1a2be56f9..5716c66d632ab 100644 --- a/tests/baselines/reference/importsNotUsedAsValues_error.js +++ b/tests/baselines/reference/importsNotUsedAsValues_error.js @@ -8,20 +8,20 @@ export const enum C { One, Two } //// [b.ts] import { A, B } from './a'; // Error -let a: A; -let b: B; +declare let a: A; +declare let b: B; console.log(a, b); //// [c.ts] import Default, * as named from './a'; // Error -let a: Default; -let b: named.B; +declare let a: Default; +declare let b: named.B; console.log(a, b); //// [d.ts] import Default, { A } from './a'; const a = A; -let b: Default; +declare let b: Default; console.log(a, b); //// [e.ts] @@ -37,8 +37,8 @@ console.log(c, d); //// [g.ts] import { C } from './a'; -let c: C; -let d: C.Two; +declare let c: C; +declare let d: C.Two; console.log(c, d); //// [h.ts] @@ -83,21 +83,16 @@ exports.A = A; //// [b.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var a; -var b; console.log(a, b); //// [c.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var a; -var b; console.log(a, b); //// [d.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var a_1 = require("./a"); var a = a_1.A; -var b; console.log(a, b); //// [e.js] "use strict"; @@ -112,8 +107,6 @@ console.log(c, d); //// [g.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var c; -var d; console.log(c, d); //// [h.js] "use strict"; diff --git a/tests/baselines/reference/importsNotUsedAsValues_error.symbols b/tests/baselines/reference/importsNotUsedAsValues_error.symbols index 6412034b53c5c..e1df2957bb909 100644 --- a/tests/baselines/reference/importsNotUsedAsValues_error.symbols +++ b/tests/baselines/reference/importsNotUsedAsValues_error.symbols @@ -18,32 +18,32 @@ import { A, B } from './a'; // Error >A : Symbol(A, Decl(b.ts, 0, 8)) >B : Symbol(B, Decl(b.ts, 0, 11)) -let a: A; ->a : Symbol(a, Decl(b.ts, 1, 3)) +declare let a: A; +>a : Symbol(a, Decl(b.ts, 1, 11)) >A : Symbol(A, Decl(b.ts, 0, 8)) -let b: B; ->b : Symbol(b, Decl(b.ts, 2, 3)) +declare let b: B; +>b : Symbol(b, Decl(b.ts, 2, 11)) >B : Symbol(B, Decl(b.ts, 0, 11)) console.log(a, b); >console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >console : Symbol(console, Decl(lib.dom.d.ts, --, --)) >log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) ->a : Symbol(a, Decl(b.ts, 1, 3)) ->b : Symbol(b, Decl(b.ts, 2, 3)) +>a : Symbol(a, Decl(b.ts, 1, 11)) +>b : Symbol(b, Decl(b.ts, 2, 11)) === /c.ts === import Default, * as named from './a'; // Error >Default : Symbol(Default, Decl(c.ts, 0, 6)) >named : Symbol(named, Decl(c.ts, 0, 15)) -let a: Default; ->a : Symbol(a, Decl(c.ts, 1, 3)) +declare let a: Default; +>a : Symbol(a, Decl(c.ts, 1, 11)) >Default : Symbol(Default, Decl(c.ts, 0, 6)) -let b: named.B; ->b : Symbol(b, Decl(c.ts, 2, 3)) +declare let b: named.B; +>b : Symbol(b, Decl(c.ts, 2, 11)) >named : Symbol(named, Decl(c.ts, 0, 15)) >B : Symbol(named.B, Decl(a.ts, 1, 17)) @@ -51,8 +51,8 @@ console.log(a, b); >console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >console : Symbol(console, Decl(lib.dom.d.ts, --, --)) >log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) ->a : Symbol(a, Decl(c.ts, 1, 3)) ->b : Symbol(b, Decl(c.ts, 2, 3)) +>a : Symbol(a, Decl(c.ts, 1, 11)) +>b : Symbol(b, Decl(c.ts, 2, 11)) === /d.ts === import Default, { A } from './a'; @@ -63,8 +63,8 @@ const a = A; >a : Symbol(a, Decl(d.ts, 1, 5)) >A : Symbol(A, Decl(d.ts, 0, 17)) -let b: Default; ->b : Symbol(b, Decl(d.ts, 2, 3)) +declare let b: Default; +>b : Symbol(b, Decl(d.ts, 2, 11)) >Default : Symbol(Default, Decl(d.ts, 0, 6)) console.log(a, b); @@ -72,7 +72,7 @@ console.log(a, b); >console : Symbol(console, Decl(lib.dom.d.ts, --, --)) >log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >a : Symbol(a, Decl(d.ts, 1, 5)) ->b : Symbol(b, Decl(d.ts, 2, 3)) +>b : Symbol(b, Decl(d.ts, 2, 11)) === /e.ts === import { A, B } from './a'; // noUnusedLocals error only @@ -118,12 +118,12 @@ console.log(c, d); import { C } from './a'; >C : Symbol(C, Decl(g.ts, 0, 8)) -let c: C; ->c : Symbol(c, Decl(g.ts, 1, 3)) +declare let c: C; +>c : Symbol(c, Decl(g.ts, 1, 11)) >C : Symbol(C, Decl(g.ts, 0, 8)) -let d: C.Two; ->d : Symbol(d, Decl(g.ts, 2, 3)) +declare let d: C.Two; +>d : Symbol(d, Decl(g.ts, 2, 11)) >C : Symbol(C, Decl(g.ts, 0, 8)) >Two : Symbol(C.Two, Decl(a.ts, 3, 26)) @@ -131,8 +131,8 @@ console.log(c, d); >console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >console : Symbol(console, Decl(lib.dom.d.ts, --, --)) >log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) ->c : Symbol(c, Decl(g.ts, 1, 3)) ->d : Symbol(d, Decl(g.ts, 2, 3)) +>c : Symbol(c, Decl(g.ts, 1, 11)) +>d : Symbol(d, Decl(g.ts, 2, 11)) === /h.ts === class H {} diff --git a/tests/baselines/reference/importsNotUsedAsValues_error.types b/tests/baselines/reference/importsNotUsedAsValues_error.types index 3f439eeaf5389..e67a6fbe9ce0c 100644 --- a/tests/baselines/reference/importsNotUsedAsValues_error.types +++ b/tests/baselines/reference/importsNotUsedAsValues_error.types @@ -25,11 +25,11 @@ import { A, B } from './a'; // Error >B : any > : ^^^ -let a: A; +declare let a: A; >a : A > : ^ -let b: B; +declare let b: B; >b : B > : ^ @@ -54,11 +54,11 @@ import Default, * as named from './a'; // Error >named : typeof named > : ^^^^^^^^^^^^ -let a: Default; +declare let a: Default; >a : Default > : ^^^^^^^ -let b: named.B; +declare let b: named.B; >b : named.B > : ^^^^^^^ >named : any @@ -91,7 +91,7 @@ const a = A; >A : typeof A > : ^^^^^^^^ -let b: Default; +declare let b: Default; >b : Default > : ^^^^^^^ @@ -176,11 +176,11 @@ import { C } from './a'; >C : typeof C > : ^^^^^^^^ -let c: C; +declare let c: C; >c : C > : ^ -let d: C.Two; +declare let d: C.Two; >d : C.Two > : ^^^^^ >C : any diff --git a/tests/baselines/reference/inOperator.errors.txt b/tests/baselines/reference/inOperator.errors.txt index 8e63a035c2a93..4aece57e501c6 100644 --- a/tests/baselines/reference/inOperator.errors.txt +++ b/tests/baselines/reference/inOperator.errors.txt @@ -12,7 +12,7 @@ inOperator.ts(7,15): error TS2322: Type 'number' is not assignable to type 'obje ~ !!! error TS2322: Type 'number' is not assignable to type 'object'. - var c: any; - var y: number; + declare var c: any; + declare var y: number; if (y in c) { } \ No newline at end of file diff --git a/tests/baselines/reference/inOperator.js b/tests/baselines/reference/inOperator.js index 7be1a42256b1b..cf4448af24d68 100644 --- a/tests/baselines/reference/inOperator.js +++ b/tests/baselines/reference/inOperator.js @@ -9,8 +9,8 @@ if (3 in a) {} var b = '' in 0; -var c: any; -var y: number; +declare var c: any; +declare var y: number; if (y in c) { } @@ -19,6 +19,4 @@ var a = []; for (var x in a) { } if (3 in a) { } var b = '' in 0; -var c; -var y; if (y in c) { } diff --git a/tests/baselines/reference/inOperator.symbols b/tests/baselines/reference/inOperator.symbols index 9f612eae68527..6e76c85aa9610 100644 --- a/tests/baselines/reference/inOperator.symbols +++ b/tests/baselines/reference/inOperator.symbols @@ -14,13 +14,13 @@ if (3 in a) {} var b = '' in 0; >b : Symbol(b, Decl(inOperator.ts, 6, 3)) -var c: any; ->c : Symbol(c, Decl(inOperator.ts, 8, 3)) +declare var c: any; +>c : Symbol(c, Decl(inOperator.ts, 8, 11)) -var y: number; ->y : Symbol(y, Decl(inOperator.ts, 9, 3)) +declare var y: number; +>y : Symbol(y, Decl(inOperator.ts, 9, 11)) if (y in c) { } ->y : Symbol(y, Decl(inOperator.ts, 9, 3)) ->c : Symbol(c, Decl(inOperator.ts, 8, 3)) +>y : Symbol(y, Decl(inOperator.ts, 9, 11)) +>c : Symbol(c, Decl(inOperator.ts, 8, 11)) diff --git a/tests/baselines/reference/inOperator.types b/tests/baselines/reference/inOperator.types index cf562c9deceb7..62a69a6f37c43 100644 --- a/tests/baselines/reference/inOperator.types +++ b/tests/baselines/reference/inOperator.types @@ -31,11 +31,11 @@ var b = '' in 0; >0 : 0 > : ^ -var c: any; +declare var c: any; >c : any > : ^^^ -var y: number; +declare var y: number; >y : number > : ^^^^^^ diff --git a/tests/baselines/reference/inOperatorWithInvalidOperands.errors.txt b/tests/baselines/reference/inOperatorWithInvalidOperands.errors.txt index f1eb8b112d526..2052ea3d3ee0c 100644 --- a/tests/baselines/reference/inOperatorWithInvalidOperands.errors.txt +++ b/tests/baselines/reference/inOperatorWithInvalidOperands.errors.txt @@ -31,12 +31,12 @@ inOperatorWithInvalidOperands.ts(47,17): error TS2322: Type 'string' is not assi // invalid left operands // the left operand is required to be of type Any, the String primitive type, or the Number primitive type - var a1: boolean; - var a2: void; - var a3: {}; - var a4: E; - var a5: Foo | string; - var a6: Foo; + declare var a1: boolean; + declare var a2: void; + declare var a3: {}; + declare var a4: E; + declare var a5: Foo | string; + declare var a6: Foo; var ra1 = a1 in x; ~~ @@ -71,11 +71,11 @@ inOperatorWithInvalidOperands.ts(47,17): error TS2322: Type 'string' is not assi // invalid right operands // the right operand is required to be of type Any, an object type, or a type parameter type - var b1: number; - var b2: boolean; - var b3: string; - var b4: void; - var b5: string | number; + declare var b1: number; + declare var b2: boolean; + declare var b3: string; + declare var b4: void; + declare var b5: string | number; var rb1 = x in b1; ~~ diff --git a/tests/baselines/reference/inOperatorWithInvalidOperands.js b/tests/baselines/reference/inOperatorWithInvalidOperands.js index 778883e786778..9d66c5b81bfe1 100644 --- a/tests/baselines/reference/inOperatorWithInvalidOperands.js +++ b/tests/baselines/reference/inOperatorWithInvalidOperands.js @@ -8,12 +8,12 @@ var x: any; // invalid left operands // the left operand is required to be of type Any, the String primitive type, or the Number primitive type -var a1: boolean; -var a2: void; -var a3: {}; -var a4: E; -var a5: Foo | string; -var a6: Foo; +declare var a1: boolean; +declare var a2: void; +declare var a3: {}; +declare var a4: E; +declare var a5: Foo | string; +declare var a6: Foo; var ra1 = a1 in x; var ra2 = a2 in x; @@ -29,11 +29,11 @@ var ra11 = a6 in x; // invalid right operands // the right operand is required to be of type Any, an object type, or a type parameter type -var b1: number; -var b2: boolean; -var b3: string; -var b4: void; -var b5: string | number; +declare var b1: number; +declare var b2: boolean; +declare var b3: string; +declare var b4: void; +declare var b5: string | number; var rb1 = x in b1; var rb2 = x in b2; @@ -60,14 +60,6 @@ var E; E[E["a"] = 0] = "a"; })(E || (E = {})); var x; -// invalid left operands -// the left operand is required to be of type Any, the String primitive type, or the Number primitive type -var a1; -var a2; -var a3; -var a4; -var a5; -var a6; var ra1 = a1 in x; var ra2 = a2 in x; var ra3 = a3 in x; @@ -79,13 +71,6 @@ var ra8 = false in x; var ra9 = {} in x; var ra10 = a5 in x; var ra11 = a6 in x; -// invalid right operands -// the right operand is required to be of type Any, an object type, or a type parameter type -var b1; -var b2; -var b3; -var b4; -var b5; var rb1 = x in b1; var rb2 = x in b2; var rb3 = x in b3; diff --git a/tests/baselines/reference/inOperatorWithInvalidOperands.symbols b/tests/baselines/reference/inOperatorWithInvalidOperands.symbols index 4fe110b5864f2..a0d9806152fb0 100644 --- a/tests/baselines/reference/inOperatorWithInvalidOperands.symbols +++ b/tests/baselines/reference/inOperatorWithInvalidOperands.symbols @@ -13,45 +13,45 @@ var x: any; // invalid left operands // the left operand is required to be of type Any, the String primitive type, or the Number primitive type -var a1: boolean; ->a1 : Symbol(a1, Decl(inOperatorWithInvalidOperands.ts, 7, 3)) +declare var a1: boolean; +>a1 : Symbol(a1, Decl(inOperatorWithInvalidOperands.ts, 7, 11)) -var a2: void; ->a2 : Symbol(a2, Decl(inOperatorWithInvalidOperands.ts, 8, 3)) +declare var a2: void; +>a2 : Symbol(a2, Decl(inOperatorWithInvalidOperands.ts, 8, 11)) -var a3: {}; ->a3 : Symbol(a3, Decl(inOperatorWithInvalidOperands.ts, 9, 3)) +declare var a3: {}; +>a3 : Symbol(a3, Decl(inOperatorWithInvalidOperands.ts, 9, 11)) -var a4: E; ->a4 : Symbol(a4, Decl(inOperatorWithInvalidOperands.ts, 10, 3)) +declare var a4: E; +>a4 : Symbol(a4, Decl(inOperatorWithInvalidOperands.ts, 10, 11)) >E : Symbol(E, Decl(inOperatorWithInvalidOperands.ts, 0, 12)) -var a5: Foo | string; ->a5 : Symbol(a5, Decl(inOperatorWithInvalidOperands.ts, 11, 3)) +declare var a5: Foo | string; +>a5 : Symbol(a5, Decl(inOperatorWithInvalidOperands.ts, 11, 11)) >Foo : Symbol(Foo, Decl(inOperatorWithInvalidOperands.ts, 0, 0)) -var a6: Foo; ->a6 : Symbol(a6, Decl(inOperatorWithInvalidOperands.ts, 12, 3)) +declare var a6: Foo; +>a6 : Symbol(a6, Decl(inOperatorWithInvalidOperands.ts, 12, 11)) >Foo : Symbol(Foo, Decl(inOperatorWithInvalidOperands.ts, 0, 0)) var ra1 = a1 in x; >ra1 : Symbol(ra1, Decl(inOperatorWithInvalidOperands.ts, 14, 3)) ->a1 : Symbol(a1, Decl(inOperatorWithInvalidOperands.ts, 7, 3)) +>a1 : Symbol(a1, Decl(inOperatorWithInvalidOperands.ts, 7, 11)) >x : Symbol(x, Decl(inOperatorWithInvalidOperands.ts, 3, 3)) var ra2 = a2 in x; >ra2 : Symbol(ra2, Decl(inOperatorWithInvalidOperands.ts, 15, 3)) ->a2 : Symbol(a2, Decl(inOperatorWithInvalidOperands.ts, 8, 3)) +>a2 : Symbol(a2, Decl(inOperatorWithInvalidOperands.ts, 8, 11)) >x : Symbol(x, Decl(inOperatorWithInvalidOperands.ts, 3, 3)) var ra3 = a3 in x; >ra3 : Symbol(ra3, Decl(inOperatorWithInvalidOperands.ts, 16, 3)) ->a3 : Symbol(a3, Decl(inOperatorWithInvalidOperands.ts, 9, 3)) +>a3 : Symbol(a3, Decl(inOperatorWithInvalidOperands.ts, 9, 11)) >x : Symbol(x, Decl(inOperatorWithInvalidOperands.ts, 3, 3)) var ra4 = a4 in x; >ra4 : Symbol(ra4, Decl(inOperatorWithInvalidOperands.ts, 17, 3)) ->a4 : Symbol(a4, Decl(inOperatorWithInvalidOperands.ts, 10, 3)) +>a4 : Symbol(a4, Decl(inOperatorWithInvalidOperands.ts, 10, 11)) >x : Symbol(x, Decl(inOperatorWithInvalidOperands.ts, 3, 3)) var ra5 = null in x; @@ -80,55 +80,55 @@ var ra9 = {} in x; var ra10 = a5 in x; >ra10 : Symbol(ra10, Decl(inOperatorWithInvalidOperands.ts, 23, 3)) ->a5 : Symbol(a5, Decl(inOperatorWithInvalidOperands.ts, 11, 3)) +>a5 : Symbol(a5, Decl(inOperatorWithInvalidOperands.ts, 11, 11)) >x : Symbol(x, Decl(inOperatorWithInvalidOperands.ts, 3, 3)) var ra11 = a6 in x; >ra11 : Symbol(ra11, Decl(inOperatorWithInvalidOperands.ts, 24, 3)) ->a6 : Symbol(a6, Decl(inOperatorWithInvalidOperands.ts, 12, 3)) +>a6 : Symbol(a6, Decl(inOperatorWithInvalidOperands.ts, 12, 11)) >x : Symbol(x, Decl(inOperatorWithInvalidOperands.ts, 3, 3)) // invalid right operands // the right operand is required to be of type Any, an object type, or a type parameter type -var b1: number; ->b1 : Symbol(b1, Decl(inOperatorWithInvalidOperands.ts, 28, 3)) +declare var b1: number; +>b1 : Symbol(b1, Decl(inOperatorWithInvalidOperands.ts, 28, 11)) -var b2: boolean; ->b2 : Symbol(b2, Decl(inOperatorWithInvalidOperands.ts, 29, 3)) +declare var b2: boolean; +>b2 : Symbol(b2, Decl(inOperatorWithInvalidOperands.ts, 29, 11)) -var b3: string; ->b3 : Symbol(b3, Decl(inOperatorWithInvalidOperands.ts, 30, 3)) +declare var b3: string; +>b3 : Symbol(b3, Decl(inOperatorWithInvalidOperands.ts, 30, 11)) -var b4: void; ->b4 : Symbol(b4, Decl(inOperatorWithInvalidOperands.ts, 31, 3)) +declare var b4: void; +>b4 : Symbol(b4, Decl(inOperatorWithInvalidOperands.ts, 31, 11)) -var b5: string | number; ->b5 : Symbol(b5, Decl(inOperatorWithInvalidOperands.ts, 32, 3)) +declare var b5: string | number; +>b5 : Symbol(b5, Decl(inOperatorWithInvalidOperands.ts, 32, 11)) var rb1 = x in b1; >rb1 : Symbol(rb1, Decl(inOperatorWithInvalidOperands.ts, 34, 3)) >x : Symbol(x, Decl(inOperatorWithInvalidOperands.ts, 3, 3)) ->b1 : Symbol(b1, Decl(inOperatorWithInvalidOperands.ts, 28, 3)) +>b1 : Symbol(b1, Decl(inOperatorWithInvalidOperands.ts, 28, 11)) var rb2 = x in b2; >rb2 : Symbol(rb2, Decl(inOperatorWithInvalidOperands.ts, 35, 3)) >x : Symbol(x, Decl(inOperatorWithInvalidOperands.ts, 3, 3)) ->b2 : Symbol(b2, Decl(inOperatorWithInvalidOperands.ts, 29, 3)) +>b2 : Symbol(b2, Decl(inOperatorWithInvalidOperands.ts, 29, 11)) var rb3 = x in b3; >rb3 : Symbol(rb3, Decl(inOperatorWithInvalidOperands.ts, 36, 3)) >x : Symbol(x, Decl(inOperatorWithInvalidOperands.ts, 3, 3)) ->b3 : Symbol(b3, Decl(inOperatorWithInvalidOperands.ts, 30, 3)) +>b3 : Symbol(b3, Decl(inOperatorWithInvalidOperands.ts, 30, 11)) var rb4 = x in b4; >rb4 : Symbol(rb4, Decl(inOperatorWithInvalidOperands.ts, 37, 3)) >x : Symbol(x, Decl(inOperatorWithInvalidOperands.ts, 3, 3)) ->b4 : Symbol(b4, Decl(inOperatorWithInvalidOperands.ts, 31, 3)) +>b4 : Symbol(b4, Decl(inOperatorWithInvalidOperands.ts, 31, 11)) var rb5 = x in b5; >rb5 : Symbol(rb5, Decl(inOperatorWithInvalidOperands.ts, 38, 3)) >x : Symbol(x, Decl(inOperatorWithInvalidOperands.ts, 3, 3)) ->b5 : Symbol(b5, Decl(inOperatorWithInvalidOperands.ts, 32, 3)) +>b5 : Symbol(b5, Decl(inOperatorWithInvalidOperands.ts, 32, 11)) var rb6 = x in 0; >rb6 : Symbol(rb6, Decl(inOperatorWithInvalidOperands.ts, 39, 3)) diff --git a/tests/baselines/reference/inOperatorWithInvalidOperands.types b/tests/baselines/reference/inOperatorWithInvalidOperands.types index d7d7bcad4c7c0..5d6c4256ecc01 100644 --- a/tests/baselines/reference/inOperatorWithInvalidOperands.types +++ b/tests/baselines/reference/inOperatorWithInvalidOperands.types @@ -17,27 +17,27 @@ var x: any; // invalid left operands // the left operand is required to be of type Any, the String primitive type, or the Number primitive type -var a1: boolean; +declare var a1: boolean; >a1 : boolean > : ^^^^^^^ -var a2: void; +declare var a2: void; >a2 : void > : ^^^^ -var a3: {}; +declare var a3: {}; >a3 : {} > : ^^ -var a4: E; +declare var a4: E; >a4 : E > : ^ -var a5: Foo | string; +declare var a5: Foo | string; >a5 : string | Foo > : ^^^^^^^^^^^^ -var a6: Foo; +declare var a6: Foo; >a6 : Foo > : ^^^ @@ -155,23 +155,23 @@ var ra11 = a6 in x; // invalid right operands // the right operand is required to be of type Any, an object type, or a type parameter type -var b1: number; +declare var b1: number; >b1 : number > : ^^^^^^ -var b2: boolean; +declare var b2: boolean; >b2 : boolean > : ^^^^^^^ -var b3: string; +declare var b3: string; >b3 : string > : ^^^^^^ -var b4: void; +declare var b4: void; >b4 : void > : ^^^^ -var b5: string | number; +declare var b5: string | number; >b5 : string | number > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/inOperatorWithValidOperands.errors.txt b/tests/baselines/reference/inOperatorWithValidOperands.errors.txt index 0fad942f62026..cb46b07e28bf2 100644 --- a/tests/baselines/reference/inOperatorWithValidOperands.errors.txt +++ b/tests/baselines/reference/inOperatorWithValidOperands.errors.txt @@ -10,10 +10,10 @@ inOperatorWithValidOperands.ts(34,20): error TS2322: Type 'object | T' is not as // valid left operands // the left operand is required to be of type Any, the String primitive type, or the Number primitive type - var a1: string; - var a2: number; - var a3: string | number | symbol; - var a4: any; + declare var a1: string; + declare var a2: number; + declare var a3: string | number | symbol; + declare var a4: any; var ra1 = x in x; var ra2 = a1 in x; @@ -25,7 +25,7 @@ inOperatorWithValidOperands.ts(34,20): error TS2322: Type 'object | T' is not as // valid right operands // the right operand is required to be of type Any, an object type, or a type parameter type - var b1: {}; + declare var b1: {}; var rb1 = x in b1; var rb2 = x in {}; @@ -56,9 +56,9 @@ inOperatorWithValidOperands.ts(34,20): error TS2322: Type 'object | T' is not as interface X { x: number } interface Y { y: number } - var c1: X | Y; - var c2: X; - var c3: Y; + declare var c1: X | Y; + declare var c2: X; + declare var c3: Y; var rc1 = x in c1; var rc2 = x in (c2 || c3); diff --git a/tests/baselines/reference/inOperatorWithValidOperands.js b/tests/baselines/reference/inOperatorWithValidOperands.js index 4ac96557eb238..d47b0a7626643 100644 --- a/tests/baselines/reference/inOperatorWithValidOperands.js +++ b/tests/baselines/reference/inOperatorWithValidOperands.js @@ -5,10 +5,10 @@ var x: any; // valid left operands // the left operand is required to be of type Any, the String primitive type, or the Number primitive type -var a1: string; -var a2: number; -var a3: string | number | symbol; -var a4: any; +declare var a1: string; +declare var a2: number; +declare var a3: string | number | symbol; +declare var a4: any; var ra1 = x in x; var ra2 = a1 in x; @@ -20,7 +20,7 @@ var ra7 = a4 in x; // valid right operands // the right operand is required to be of type Any, an object type, or a type parameter type -var b1: {}; +declare var b1: {}; var rb1 = x in b1; var rb2 = x in {}; @@ -40,9 +40,9 @@ function unionCase2(t: T | object) { interface X { x: number } interface Y { y: number } -var c1: X | Y; -var c2: X; -var c3: Y; +declare var c1: X | Y; +declare var c2: X; +declare var c3: Y; var rc1 = x in c1; var rc2 = x in (c2 || c3); @@ -50,12 +50,6 @@ var rc2 = x in (c2 || c3); //// [inOperatorWithValidOperands.js] var x; -// valid left operands -// the left operand is required to be of type Any, the String primitive type, or the Number primitive type -var a1; -var a2; -var a3; -var a4; var ra1 = x in x; var ra2 = a1 in x; var ra3 = a2 in x; @@ -63,9 +57,6 @@ var ra4 = '' in x; var ra5 = 0 in x; var ra6 = a3 in x; var ra7 = a4 in x; -// valid right operands -// the right operand is required to be of type Any, an object type, or a type parameter type -var b1; var rb1 = x in b1; var rb2 = x in {}; function foo(t) { @@ -77,8 +68,5 @@ function unionCase(t) { function unionCase2(t) { var rb5 = x in t; } -var c1; -var c2; -var c3; var rc1 = x in c1; var rc2 = x in (c2 || c3); diff --git a/tests/baselines/reference/inOperatorWithValidOperands.symbols b/tests/baselines/reference/inOperatorWithValidOperands.symbols index 951e3da691d8b..f61b8aaf8c95f 100644 --- a/tests/baselines/reference/inOperatorWithValidOperands.symbols +++ b/tests/baselines/reference/inOperatorWithValidOperands.symbols @@ -6,17 +6,17 @@ var x: any; // valid left operands // the left operand is required to be of type Any, the String primitive type, or the Number primitive type -var a1: string; ->a1 : Symbol(a1, Decl(inOperatorWithValidOperands.ts, 4, 3)) +declare var a1: string; +>a1 : Symbol(a1, Decl(inOperatorWithValidOperands.ts, 4, 11)) -var a2: number; ->a2 : Symbol(a2, Decl(inOperatorWithValidOperands.ts, 5, 3)) +declare var a2: number; +>a2 : Symbol(a2, Decl(inOperatorWithValidOperands.ts, 5, 11)) -var a3: string | number | symbol; ->a3 : Symbol(a3, Decl(inOperatorWithValidOperands.ts, 6, 3)) +declare var a3: string | number | symbol; +>a3 : Symbol(a3, Decl(inOperatorWithValidOperands.ts, 6, 11)) -var a4: any; ->a4 : Symbol(a4, Decl(inOperatorWithValidOperands.ts, 7, 3)) +declare var a4: any; +>a4 : Symbol(a4, Decl(inOperatorWithValidOperands.ts, 7, 11)) var ra1 = x in x; >ra1 : Symbol(ra1, Decl(inOperatorWithValidOperands.ts, 9, 3)) @@ -25,12 +25,12 @@ var ra1 = x in x; var ra2 = a1 in x; >ra2 : Symbol(ra2, Decl(inOperatorWithValidOperands.ts, 10, 3)) ->a1 : Symbol(a1, Decl(inOperatorWithValidOperands.ts, 4, 3)) +>a1 : Symbol(a1, Decl(inOperatorWithValidOperands.ts, 4, 11)) >x : Symbol(x, Decl(inOperatorWithValidOperands.ts, 0, 3)) var ra3 = a2 in x; >ra3 : Symbol(ra3, Decl(inOperatorWithValidOperands.ts, 11, 3)) ->a2 : Symbol(a2, Decl(inOperatorWithValidOperands.ts, 5, 3)) +>a2 : Symbol(a2, Decl(inOperatorWithValidOperands.ts, 5, 11)) >x : Symbol(x, Decl(inOperatorWithValidOperands.ts, 0, 3)) var ra4 = '' in x; @@ -43,23 +43,23 @@ var ra5 = 0 in x; var ra6 = a3 in x; >ra6 : Symbol(ra6, Decl(inOperatorWithValidOperands.ts, 14, 3)) ->a3 : Symbol(a3, Decl(inOperatorWithValidOperands.ts, 6, 3)) +>a3 : Symbol(a3, Decl(inOperatorWithValidOperands.ts, 6, 11)) >x : Symbol(x, Decl(inOperatorWithValidOperands.ts, 0, 3)) var ra7 = a4 in x; >ra7 : Symbol(ra7, Decl(inOperatorWithValidOperands.ts, 15, 3)) ->a4 : Symbol(a4, Decl(inOperatorWithValidOperands.ts, 7, 3)) +>a4 : Symbol(a4, Decl(inOperatorWithValidOperands.ts, 7, 11)) >x : Symbol(x, Decl(inOperatorWithValidOperands.ts, 0, 3)) // valid right operands // the right operand is required to be of type Any, an object type, or a type parameter type -var b1: {}; ->b1 : Symbol(b1, Decl(inOperatorWithValidOperands.ts, 19, 3)) +declare var b1: {}; +>b1 : Symbol(b1, Decl(inOperatorWithValidOperands.ts, 19, 11)) var rb1 = x in b1; >rb1 : Symbol(rb1, Decl(inOperatorWithValidOperands.ts, 21, 3)) >x : Symbol(x, Decl(inOperatorWithValidOperands.ts, 0, 3)) ->b1 : Symbol(b1, Decl(inOperatorWithValidOperands.ts, 19, 3)) +>b1 : Symbol(b1, Decl(inOperatorWithValidOperands.ts, 19, 11)) var rb2 = x in {}; >rb2 : Symbol(rb2, Decl(inOperatorWithValidOperands.ts, 22, 3)) @@ -111,27 +111,27 @@ interface Y { y: number } >Y : Symbol(Y, Decl(inOperatorWithValidOperands.ts, 36, 25)) >y : Symbol(Y.y, Decl(inOperatorWithValidOperands.ts, 37, 13)) -var c1: X | Y; ->c1 : Symbol(c1, Decl(inOperatorWithValidOperands.ts, 39, 3)) +declare var c1: X | Y; +>c1 : Symbol(c1, Decl(inOperatorWithValidOperands.ts, 39, 11)) >X : Symbol(X, Decl(inOperatorWithValidOperands.ts, 34, 1)) >Y : Symbol(Y, Decl(inOperatorWithValidOperands.ts, 36, 25)) -var c2: X; ->c2 : Symbol(c2, Decl(inOperatorWithValidOperands.ts, 40, 3)) +declare var c2: X; +>c2 : Symbol(c2, Decl(inOperatorWithValidOperands.ts, 40, 11)) >X : Symbol(X, Decl(inOperatorWithValidOperands.ts, 34, 1)) -var c3: Y; ->c3 : Symbol(c3, Decl(inOperatorWithValidOperands.ts, 41, 3)) +declare var c3: Y; +>c3 : Symbol(c3, Decl(inOperatorWithValidOperands.ts, 41, 11)) >Y : Symbol(Y, Decl(inOperatorWithValidOperands.ts, 36, 25)) var rc1 = x in c1; >rc1 : Symbol(rc1, Decl(inOperatorWithValidOperands.ts, 43, 3)) >x : Symbol(x, Decl(inOperatorWithValidOperands.ts, 0, 3)) ->c1 : Symbol(c1, Decl(inOperatorWithValidOperands.ts, 39, 3)) +>c1 : Symbol(c1, Decl(inOperatorWithValidOperands.ts, 39, 11)) var rc2 = x in (c2 || c3); >rc2 : Symbol(rc2, Decl(inOperatorWithValidOperands.ts, 44, 3)) >x : Symbol(x, Decl(inOperatorWithValidOperands.ts, 0, 3)) ->c2 : Symbol(c2, Decl(inOperatorWithValidOperands.ts, 40, 3)) ->c3 : Symbol(c3, Decl(inOperatorWithValidOperands.ts, 41, 3)) +>c2 : Symbol(c2, Decl(inOperatorWithValidOperands.ts, 40, 11)) +>c3 : Symbol(c3, Decl(inOperatorWithValidOperands.ts, 41, 11)) diff --git a/tests/baselines/reference/inOperatorWithValidOperands.types b/tests/baselines/reference/inOperatorWithValidOperands.types index 2233fac204492..8852958e31b43 100644 --- a/tests/baselines/reference/inOperatorWithValidOperands.types +++ b/tests/baselines/reference/inOperatorWithValidOperands.types @@ -7,19 +7,19 @@ var x: any; // valid left operands // the left operand is required to be of type Any, the String primitive type, or the Number primitive type -var a1: string; +declare var a1: string; >a1 : string > : ^^^^^^ -var a2: number; +declare var a2: number; >a2 : number > : ^^^^^^ -var a3: string | number | symbol; +declare var a3: string | number | symbol; >a3 : string | number | symbol > : ^^^^^^^^^^^^^^^^^^^^^^^^ -var a4: any; +declare var a4: any; >a4 : any > : ^^^ @@ -95,7 +95,7 @@ var ra7 = a4 in x; // valid right operands // the right operand is required to be of type Any, an object type, or a type parameter type -var b1: {}; +declare var b1: {}; >b1 : {} > : ^^ @@ -178,15 +178,15 @@ interface Y { y: number } >y : number > : ^^^^^^ -var c1: X | Y; +declare var c1: X | Y; >c1 : X | Y > : ^^^^^ -var c2: X; +declare var c2: X; >c2 : X > : ^ -var c3: Y; +declare var c3: Y; >c3 : Y > : ^ diff --git a/tests/baselines/reference/incrementOnTypeParameter.errors.txt b/tests/baselines/reference/incrementOnTypeParameter.errors.txt index 2b84370708989..4ddc32429ed00 100644 --- a/tests/baselines/reference/incrementOnTypeParameter.errors.txt +++ b/tests/baselines/reference/incrementOnTypeParameter.errors.txt @@ -1,16 +1,16 @@ incrementOnTypeParameter.ts(4,9): error TS2356: An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type. -incrementOnTypeParameter.ts(5,39): error TS2356: An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type. +incrementOnTypeParameter.ts(5,48): error TS2356: An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type. ==== incrementOnTypeParameter.ts (2 errors) ==== class C { - a: T; + a!: T; foo() { this.a++; ~~~~~~ !!! error TS2356: An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type. - for (var i: T, j = 0; j < 10; i++) { - ~ + for (var i: T = this.a, j = 0; j < 10; i++) { + ~ !!! error TS2356: An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type. } } diff --git a/tests/baselines/reference/incrementOnTypeParameter.js b/tests/baselines/reference/incrementOnTypeParameter.js index f8efeedb20801..d9786bca6fbfe 100644 --- a/tests/baselines/reference/incrementOnTypeParameter.js +++ b/tests/baselines/reference/incrementOnTypeParameter.js @@ -2,10 +2,10 @@ //// [incrementOnTypeParameter.ts] class C { - a: T; + a!: T; foo() { this.a++; - for (var i: T, j = 0; j < 10; i++) { + for (var i: T = this.a, j = 0; j < 10; i++) { } } } @@ -17,7 +17,7 @@ var C = /** @class */ (function () { } C.prototype.foo = function () { this.a++; - for (var i, j = 0; j < 10; i++) { + for (var i = this.a, j = 0; j < 10; i++) { } }; return C; diff --git a/tests/baselines/reference/incrementOnTypeParameter.symbols b/tests/baselines/reference/incrementOnTypeParameter.symbols index 52d615de57876..d9fa69ba102bf 100644 --- a/tests/baselines/reference/incrementOnTypeParameter.symbols +++ b/tests/baselines/reference/incrementOnTypeParameter.symbols @@ -5,23 +5,26 @@ class C { >C : Symbol(C, Decl(incrementOnTypeParameter.ts, 0, 0)) >T : Symbol(T, Decl(incrementOnTypeParameter.ts, 0, 8)) - a: T; + a!: T; >a : Symbol(C.a, Decl(incrementOnTypeParameter.ts, 0, 12)) >T : Symbol(T, Decl(incrementOnTypeParameter.ts, 0, 8)) foo() { ->foo : Symbol(C.foo, Decl(incrementOnTypeParameter.ts, 1, 9)) +>foo : Symbol(C.foo, Decl(incrementOnTypeParameter.ts, 1, 10)) this.a++; >this.a : Symbol(C.a, Decl(incrementOnTypeParameter.ts, 0, 12)) >this : Symbol(C, Decl(incrementOnTypeParameter.ts, 0, 0)) >a : Symbol(C.a, Decl(incrementOnTypeParameter.ts, 0, 12)) - for (var i: T, j = 0; j < 10; i++) { + for (var i: T = this.a, j = 0; j < 10; i++) { >i : Symbol(i, Decl(incrementOnTypeParameter.ts, 4, 16)) >T : Symbol(T, Decl(incrementOnTypeParameter.ts, 0, 8)) ->j : Symbol(j, Decl(incrementOnTypeParameter.ts, 4, 22)) ->j : Symbol(j, Decl(incrementOnTypeParameter.ts, 4, 22)) +>this.a : Symbol(C.a, Decl(incrementOnTypeParameter.ts, 0, 12)) +>this : Symbol(C, Decl(incrementOnTypeParameter.ts, 0, 0)) +>a : Symbol(C.a, Decl(incrementOnTypeParameter.ts, 0, 12)) +>j : Symbol(j, Decl(incrementOnTypeParameter.ts, 4, 31)) +>j : Symbol(j, Decl(incrementOnTypeParameter.ts, 4, 31)) >i : Symbol(i, Decl(incrementOnTypeParameter.ts, 4, 16)) } } diff --git a/tests/baselines/reference/incrementOnTypeParameter.types b/tests/baselines/reference/incrementOnTypeParameter.types index 82c3b21630c98..f1a5fd114ee1c 100644 --- a/tests/baselines/reference/incrementOnTypeParameter.types +++ b/tests/baselines/reference/incrementOnTypeParameter.types @@ -5,7 +5,7 @@ class C { >C : C > : ^^^^ - a: T; + a!: T; >a : T > : ^ @@ -23,9 +23,15 @@ class C { >a : T > : ^ - for (var i: T, j = 0; j < 10; i++) { + for (var i: T = this.a, j = 0; j < 10; i++) { >i : T > : ^ +>this.a : T +> : ^ +>this : this +> : ^^^^ +>a : T +> : ^ >j : number > : ^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.errors.txt b/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.errors.txt index 8bd403848a43c..d3881d9e1965d 100644 --- a/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.errors.txt +++ b/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.errors.txt @@ -52,7 +52,7 @@ incrementOperatorWithAnyOtherTypeInvalidOperations.ts(69,12): error TS1109: Expr var ANY1: any; var ANY2: any[] = [1, 2]; - var obj: () => {} + declare var obj: () => {} var obj1 = { x: "", y: () => { } }; function foo(): any { var a; diff --git a/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.js b/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.js index ce1fd88c81a92..2c1938e416e5c 100644 --- a/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.js +++ b/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.js @@ -5,7 +5,7 @@ var ANY1: any; var ANY2: any[] = [1, 2]; -var obj: () => {} +declare var obj: () => {} var obj1 = { x: "", y: () => { } }; function foo(): any { var a; @@ -75,7 +75,6 @@ ANY2++; // ++ operator on any type var ANY1; var ANY2 = [1, 2]; -var obj; var obj1 = { x: "", y: function () { } }; function foo() { var a; diff --git a/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.symbols b/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.symbols index 1b82da655a090..e8b328682fbad 100644 --- a/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.symbols +++ b/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.symbols @@ -8,8 +8,8 @@ var ANY1: any; var ANY2: any[] = [1, 2]; >ANY2 : Symbol(ANY2, Decl(incrementOperatorWithAnyOtherTypeInvalidOperations.ts, 2, 3)) -var obj: () => {} ->obj : Symbol(obj, Decl(incrementOperatorWithAnyOtherTypeInvalidOperations.ts, 4, 3)) +declare var obj: () => {} +>obj : Symbol(obj, Decl(incrementOperatorWithAnyOtherTypeInvalidOperations.ts, 4, 11)) var obj1 = { x: "", y: () => { } }; >obj1 : Symbol(obj1, Decl(incrementOperatorWithAnyOtherTypeInvalidOperations.ts, 5, 3)) @@ -66,7 +66,7 @@ var ResultIsNumber3 = ++M; var ResultIsNumber4 = ++obj; >ResultIsNumber4 : Symbol(ResultIsNumber4, Decl(incrementOperatorWithAnyOtherTypeInvalidOperations.ts, 26, 3)) ->obj : Symbol(obj, Decl(incrementOperatorWithAnyOtherTypeInvalidOperations.ts, 4, 3)) +>obj : Symbol(obj, Decl(incrementOperatorWithAnyOtherTypeInvalidOperations.ts, 4, 11)) var ResultIsNumber5 = ++obj1; >ResultIsNumber5 : Symbol(ResultIsNumber5, Decl(incrementOperatorWithAnyOtherTypeInvalidOperations.ts, 27, 3)) @@ -86,7 +86,7 @@ var ResultIsNumber8 = M++; var ResultIsNumber9 = obj++; >ResultIsNumber9 : Symbol(ResultIsNumber9, Decl(incrementOperatorWithAnyOtherTypeInvalidOperations.ts, 32, 3)) ->obj : Symbol(obj, Decl(incrementOperatorWithAnyOtherTypeInvalidOperations.ts, 4, 3)) +>obj : Symbol(obj, Decl(incrementOperatorWithAnyOtherTypeInvalidOperations.ts, 4, 11)) var ResultIsNumber10 = obj1++; >ResultIsNumber10 : Symbol(ResultIsNumber10, Decl(incrementOperatorWithAnyOtherTypeInvalidOperations.ts, 33, 3)) diff --git a/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.types b/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.types index fa4e72b53982d..1a2596905f188 100644 --- a/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.types +++ b/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.types @@ -16,7 +16,7 @@ var ANY2: any[] = [1, 2]; >2 : 2 > : ^ -var obj: () => {} +declare var obj: () => {} >obj : () => {} > : ^^^^^^ diff --git a/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.errors.txt b/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.errors.txt index 589c5ef11b2ea..ccff4d7fc465a 100644 --- a/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.errors.txt +++ b/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.errors.txt @@ -22,13 +22,13 @@ incrementOperatorWithNumberTypeInvalidOperations.ts(46,1): error TS2357: The ope ==== incrementOperatorWithNumberTypeInvalidOperations.ts (20 errors) ==== // ++ operator on number type - var NUMBER: number; + declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } class A { - public a: number; + public a!: number; static foo() { return 1; } } namespace M { diff --git a/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.js b/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.js index e9f69783d5c76..cf2ed13880b52 100644 --- a/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.js +++ b/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.js @@ -2,13 +2,13 @@ //// [incrementOperatorWithNumberTypeInvalidOperations.ts] // ++ operator on number type -var NUMBER: number; +declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } class A { - public a: number; + public a!: number; static foo() { return 1; } } namespace M { @@ -49,8 +49,6 @@ NUMBER1++; foo()++; //// [incrementOperatorWithNumberTypeInvalidOperations.js] -// ++ operator on number type -var NUMBER; var NUMBER1 = [1, 2]; function foo() { return 1; } var A = /** @class */ (function () { diff --git a/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.symbols b/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.symbols index 267b32bfccdf0..fe7c2e37ab679 100644 --- a/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.symbols +++ b/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.symbols @@ -2,8 +2,8 @@ === incrementOperatorWithNumberTypeInvalidOperations.ts === // ++ operator on number type -var NUMBER: number; ->NUMBER : Symbol(NUMBER, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 1, 3)) +declare var NUMBER: number; +>NUMBER : Symbol(NUMBER, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 1, 11)) var NUMBER1: number[] = [1, 2]; >NUMBER1 : Symbol(NUMBER1, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 2, 3)) @@ -14,11 +14,11 @@ function foo(): number { return 1; } class A { >A : Symbol(A, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 4, 36)) - public a: number; + public a!: number; >a : Symbol(A.a, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 6, 9)) static foo() { return 1; } ->foo : Symbol(A.foo, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 7, 22)) } namespace M { >M : Symbol(M, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 9, 1)) @@ -78,14 +78,14 @@ var ResultIsNumber9 = ++foo(); var ResultIsNumber10 = ++A.foo(); >ResultIsNumber10 : Symbol(ResultIsNumber10, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 31, 3)) ->A.foo : Symbol(A.foo, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 7, 21)) +>A.foo : Symbol(A.foo, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 7, 22)) >A : Symbol(A, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 4, 36)) ->foo : Symbol(A.foo, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 7, 22)) var ResultIsNumber11 = ++(NUMBER + NUMBER); >ResultIsNumber11 : Symbol(ResultIsNumber11, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 32, 3)) ->NUMBER : Symbol(NUMBER, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 1, 3)) ->NUMBER : Symbol(NUMBER, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 1, 11)) +>NUMBER : Symbol(NUMBER, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 1, 11)) var ResultIsNumber12 = foo()++; >ResultIsNumber12 : Symbol(ResultIsNumber12, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 34, 3)) @@ -93,14 +93,14 @@ var ResultIsNumber12 = foo()++; var ResultIsNumber13 = A.foo()++; >ResultIsNumber13 : Symbol(ResultIsNumber13, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 35, 3)) ->A.foo : Symbol(A.foo, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 7, 21)) +>A.foo : Symbol(A.foo, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 7, 22)) >A : Symbol(A, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 4, 36)) ->foo : Symbol(A.foo, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 7, 22)) var ResultIsNumber14 = (NUMBER + NUMBER)++; >ResultIsNumber14 : Symbol(ResultIsNumber14, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 36, 3)) ->NUMBER : Symbol(NUMBER, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 1, 3)) ->NUMBER : Symbol(NUMBER, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 1, 11)) +>NUMBER : Symbol(NUMBER, Decl(incrementOperatorWithNumberTypeInvalidOperations.ts, 1, 11)) // miss assignment operator ++1; diff --git a/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.types b/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.types index 11d273f909122..56e556ef1a7a5 100644 --- a/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.types +++ b/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.types @@ -2,7 +2,7 @@ === incrementOperatorWithNumberTypeInvalidOperations.ts === // ++ operator on number type -var NUMBER: number; +declare var NUMBER: number; >NUMBER : number > : ^^^^^^ @@ -26,7 +26,7 @@ class A { >A : A > : ^ - public a: number; + public a!: number; >a : number > : ^^^^^^ diff --git a/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.errors.txt b/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.errors.txt index 9d8b72b35da29..0753c38121b6a 100644 --- a/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.errors.txt +++ b/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.errors.txt @@ -31,12 +31,12 @@ incrementOperatorWithUnsupportedBooleanType.ts(54,11): error TS2356: An arithmet ==== incrementOperatorWithUnsupportedBooleanType.ts (29 errors) ==== // ++ operator on boolean type - var BOOLEAN: boolean; + declare var BOOLEAN: boolean; function foo(): boolean { return true; } class A { - public a: boolean; + public a!: boolean; static foo() { return true; } } namespace M { diff --git a/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.js b/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.js index 2b9df4f9d0906..10241566d2d35 100644 --- a/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.js +++ b/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.js @@ -2,12 +2,12 @@ //// [incrementOperatorWithUnsupportedBooleanType.ts] // ++ operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; function foo(): boolean { return true; } class A { - public a: boolean; + public a!: boolean; static foo() { return true; } } namespace M { @@ -57,8 +57,6 @@ M.n++; objA.a++, M.n++; //// [incrementOperatorWithUnsupportedBooleanType.js] -// ++ operator on boolean type -var BOOLEAN; function foo() { return true; } var A = /** @class */ (function () { function A() { diff --git a/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.symbols b/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.symbols index dc5fd80c7f433..3ecda8222022b 100644 --- a/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.symbols +++ b/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.symbols @@ -2,20 +2,20 @@ === incrementOperatorWithUnsupportedBooleanType.ts === // ++ operator on boolean type -var BOOLEAN: boolean; ->BOOLEAN : Symbol(BOOLEAN, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 3)) +declare var BOOLEAN: boolean; +>BOOLEAN : Symbol(BOOLEAN, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 11)) function foo(): boolean { return true; } ->foo : Symbol(foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 29)) class A { >A : Symbol(A, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 3, 40)) - public a: boolean; + public a!: boolean; >a : Symbol(A.a, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 5, 9)) static foo() { return true; } ->foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 6, 22)) +>foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 6, 23)) } namespace M { >M : Symbol(M, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 8, 1)) @@ -31,11 +31,11 @@ var objA = new A(); // boolean type var var ResultIsNumber1 = ++BOOLEAN; >ResultIsNumber1 : Symbol(ResultIsNumber1, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 16, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 11)) var ResultIsNumber2 = BOOLEAN++; >ResultIsNumber2 : Symbol(ResultIsNumber2, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 18, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 11)) // boolean type literal var ResultIsNumber3 = ++true; @@ -83,23 +83,23 @@ var ResultIsNumber10 = ++M.n; var ResultIsNumber11 = ++foo(); >ResultIsNumber11 : Symbol(ResultIsNumber11, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 32, 3)) ->foo : Symbol(foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 29)) var ResultIsNumber12 = ++A.foo(); >ResultIsNumber12 : Symbol(ResultIsNumber12, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 33, 3)) ->A.foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 6, 22)) +>A.foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 6, 23)) >A : Symbol(A, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 3, 40)) ->foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 6, 22)) +>foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 6, 23)) var ResultIsNumber13 = foo()++; >ResultIsNumber13 : Symbol(ResultIsNumber13, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 35, 3)) ->foo : Symbol(foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 29)) var ResultIsNumber14 = A.foo()++; >ResultIsNumber14 : Symbol(ResultIsNumber14, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 36, 3)) ->A.foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 6, 22)) +>A.foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 6, 23)) >A : Symbol(A, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 3, 40)) ->foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 6, 22)) +>foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 6, 23)) var ResultIsNumber15 = objA.a++; >ResultIsNumber15 : Symbol(ResultIsNumber15, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 37, 3)) @@ -116,10 +116,10 @@ var ResultIsNumber16 = M.n++; // miss assignment operators ++true; ++BOOLEAN; ->BOOLEAN : Symbol(BOOLEAN, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 11)) ++foo(); ->foo : Symbol(foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 29)) ++objA.a; >objA.a : Symbol(A.a, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 5, 9)) @@ -141,10 +141,10 @@ var ResultIsNumber16 = M.n++; true++; BOOLEAN++; ->BOOLEAN : Symbol(BOOLEAN, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 11)) foo()++; ->foo : Symbol(foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 1, 29)) objA.a++; >objA.a : Symbol(A.a, Decl(incrementOperatorWithUnsupportedBooleanType.ts, 5, 9)) diff --git a/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.types b/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.types index 791de200216f3..118af1a8705dc 100644 --- a/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.types +++ b/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.types @@ -2,7 +2,7 @@ === incrementOperatorWithUnsupportedBooleanType.ts === // ++ operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; >BOOLEAN : boolean > : ^^^^^^^ @@ -16,7 +16,7 @@ class A { >A : A > : ^ - public a: boolean; + public a!: boolean; >a : boolean > : ^^^^^^^ diff --git a/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.errors.txt b/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.errors.txt index 5e4aae9d0932d..0cc9b73866316 100644 --- a/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.errors.txt +++ b/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.errors.txt @@ -41,13 +41,13 @@ incrementOperatorWithUnsupportedStringType.ts(65,11): error TS2356: An arithmeti ==== incrementOperatorWithUnsupportedStringType.ts (39 errors) ==== // ++ operator on string type - var STRING: string; + declare var STRING: string; var STRING1: string[] = ["", ""]; function foo(): string { return ""; } class A { - public a: string; + public a!: string; static foo() { return ""; } } namespace M { diff --git a/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.js b/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.js index 97750fb3cf86d..67a1e52b19866 100644 --- a/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.js +++ b/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.js @@ -2,13 +2,13 @@ //// [incrementOperatorWithUnsupportedStringType.ts] // ++ operator on string type -var STRING: string; +declare var STRING: string; var STRING1: string[] = ["", ""]; function foo(): string { return ""; } class A { - public a: string; + public a!: string; static foo() { return ""; } } namespace M { @@ -68,8 +68,6 @@ M.n++; objA.a++, M.n++; //// [incrementOperatorWithUnsupportedStringType.js] -// ++ operator on string type -var STRING; var STRING1 = ["", ""]; function foo() { return ""; } var A = /** @class */ (function () { diff --git a/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.symbols b/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.symbols index 82fd057ea1c80..5937bd55220bb 100644 --- a/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.symbols +++ b/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.symbols @@ -2,8 +2,8 @@ === incrementOperatorWithUnsupportedStringType.ts === // ++ operator on string type -var STRING: string; ->STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 3)) +declare var STRING: string; +>STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 11)) var STRING1: string[] = ["", ""]; >STRING1 : Symbol(STRING1, Decl(incrementOperatorWithUnsupportedStringType.ts, 2, 3)) @@ -14,11 +14,11 @@ function foo(): string { return ""; } class A { >A : Symbol(A, Decl(incrementOperatorWithUnsupportedStringType.ts, 4, 37)) - public a: string; + public a!: string; >a : Symbol(A.a, Decl(incrementOperatorWithUnsupportedStringType.ts, 6, 9)) static foo() { return ""; } ->foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedStringType.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedStringType.ts, 7, 22)) } namespace M { >M : Symbol(M, Decl(incrementOperatorWithUnsupportedStringType.ts, 9, 1)) @@ -34,7 +34,7 @@ var objA = new A(); // string type var var ResultIsNumber1 = ++STRING; >ResultIsNumber1 : Symbol(ResultIsNumber1, Decl(incrementOperatorWithUnsupportedStringType.ts, 17, 3)) ->STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 11)) var ResultIsNumber2 = ++STRING1; >ResultIsNumber2 : Symbol(ResultIsNumber2, Decl(incrementOperatorWithUnsupportedStringType.ts, 18, 3)) @@ -42,7 +42,7 @@ var ResultIsNumber2 = ++STRING1; var ResultIsNumber3 = STRING++; >ResultIsNumber3 : Symbol(ResultIsNumber3, Decl(incrementOperatorWithUnsupportedStringType.ts, 20, 3)) ->STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 11)) var ResultIsNumber4 = STRING1++; >ResultIsNumber4 : Symbol(ResultIsNumber4, Decl(incrementOperatorWithUnsupportedStringType.ts, 21, 3)) @@ -102,14 +102,14 @@ var ResultIsNumber14 = ++foo(); var ResultIsNumber15 = ++A.foo(); >ResultIsNumber15 : Symbol(ResultIsNumber15, Decl(incrementOperatorWithUnsupportedStringType.ts, 37, 3)) ->A.foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedStringType.ts, 7, 21)) +>A.foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedStringType.ts, 7, 22)) >A : Symbol(A, Decl(incrementOperatorWithUnsupportedStringType.ts, 4, 37)) ->foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedStringType.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedStringType.ts, 7, 22)) var ResultIsNumber16 = ++(STRING + STRING); >ResultIsNumber16 : Symbol(ResultIsNumber16, Decl(incrementOperatorWithUnsupportedStringType.ts, 38, 3)) ->STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 3)) ->STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 11)) +>STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 11)) var ResultIsNumber17 = objA.a++; >ResultIsNumber17 : Symbol(ResultIsNumber17, Decl(incrementOperatorWithUnsupportedStringType.ts, 40, 3)) @@ -133,19 +133,19 @@ var ResultIsNumber20 = foo()++; var ResultIsNumber21 = A.foo()++; >ResultIsNumber21 : Symbol(ResultIsNumber21, Decl(incrementOperatorWithUnsupportedStringType.ts, 44, 3)) ->A.foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedStringType.ts, 7, 21)) +>A.foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedStringType.ts, 7, 22)) >A : Symbol(A, Decl(incrementOperatorWithUnsupportedStringType.ts, 4, 37)) ->foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedStringType.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(incrementOperatorWithUnsupportedStringType.ts, 7, 22)) var ResultIsNumber22 = (STRING + STRING)++; >ResultIsNumber22 : Symbol(ResultIsNumber22, Decl(incrementOperatorWithUnsupportedStringType.ts, 45, 3)) ->STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 3)) ->STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 11)) +>STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 11)) // miss assignment operators ++""; ++STRING; ->STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 11)) ++STRING1; >STRING1 : Symbol(STRING1, Decl(incrementOperatorWithUnsupportedStringType.ts, 2, 3)) @@ -176,7 +176,7 @@ var ResultIsNumber22 = (STRING + STRING)++; ""++; STRING++; ->STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(incrementOperatorWithUnsupportedStringType.ts, 1, 11)) STRING1++; >STRING1 : Symbol(STRING1, Decl(incrementOperatorWithUnsupportedStringType.ts, 2, 3)) diff --git a/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.types b/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.types index 6a148ce475c96..b048b174b4fa4 100644 --- a/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.types +++ b/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.types @@ -2,7 +2,7 @@ === incrementOperatorWithUnsupportedStringType.ts === // ++ operator on string type -var STRING: string; +declare var STRING: string; >STRING : string > : ^^^^^^ @@ -26,7 +26,7 @@ class A { >A : A > : ^ - public a: string; + public a!: string; >a : string > : ^^^^^^ diff --git a/tests/baselines/reference/indexIntoArraySubclass.errors.txt b/tests/baselines/reference/indexIntoArraySubclass.errors.txt index 2774ff2c29f70..d17f36812f631 100644 --- a/tests/baselines/reference/indexIntoArraySubclass.errors.txt +++ b/tests/baselines/reference/indexIntoArraySubclass.errors.txt @@ -3,7 +3,7 @@ indexIntoArraySubclass.ts(4,1): error TS2322: Type 'number' is not assignable to ==== indexIntoArraySubclass.ts (1 errors) ==== interface Foo2 extends Array { } - var x2: Foo2; + declare var x2: Foo2; var r = x2[0]; // string r = 0; //error ~ diff --git a/tests/baselines/reference/indexIntoArraySubclass.js b/tests/baselines/reference/indexIntoArraySubclass.js index 6388d9f39b10e..7c793cedd290e 100644 --- a/tests/baselines/reference/indexIntoArraySubclass.js +++ b/tests/baselines/reference/indexIntoArraySubclass.js @@ -2,11 +2,10 @@ //// [indexIntoArraySubclass.ts] interface Foo2 extends Array { } -var x2: Foo2; +declare var x2: Foo2; var r = x2[0]; // string r = 0; //error //// [indexIntoArraySubclass.js] -var x2; var r = x2[0]; // string r = 0; //error diff --git a/tests/baselines/reference/indexIntoArraySubclass.symbols b/tests/baselines/reference/indexIntoArraySubclass.symbols index a393e77866b25..e5534a70ddbd1 100644 --- a/tests/baselines/reference/indexIntoArraySubclass.symbols +++ b/tests/baselines/reference/indexIntoArraySubclass.symbols @@ -7,13 +7,13 @@ interface Foo2 extends Array { } >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(indexIntoArraySubclass.ts, 0, 15)) -var x2: Foo2; ->x2 : Symbol(x2, Decl(indexIntoArraySubclass.ts, 1, 3)) +declare var x2: Foo2; +>x2 : Symbol(x2, Decl(indexIntoArraySubclass.ts, 1, 11)) >Foo2 : Symbol(Foo2, Decl(indexIntoArraySubclass.ts, 0, 0)) var r = x2[0]; // string >r : Symbol(r, Decl(indexIntoArraySubclass.ts, 2, 3)) ->x2 : Symbol(x2, Decl(indexIntoArraySubclass.ts, 1, 3)) +>x2 : Symbol(x2, Decl(indexIntoArraySubclass.ts, 1, 11)) r = 0; //error >r : Symbol(r, Decl(indexIntoArraySubclass.ts, 2, 3)) diff --git a/tests/baselines/reference/indexIntoArraySubclass.types b/tests/baselines/reference/indexIntoArraySubclass.types index f3c44ec0df75a..cb61a3bc8b843 100644 --- a/tests/baselines/reference/indexIntoArraySubclass.types +++ b/tests/baselines/reference/indexIntoArraySubclass.types @@ -2,7 +2,7 @@ === indexIntoArraySubclass.ts === interface Foo2 extends Array { } -var x2: Foo2; +declare var x2: Foo2; >x2 : Foo2 > : ^^^^^^^^^^^^ diff --git a/tests/baselines/reference/indexSignatureTypeInference.errors.txt b/tests/baselines/reference/indexSignatureTypeInference.errors.txt index a7b03c735838e..edd2da448d6cd 100644 --- a/tests/baselines/reference/indexSignatureTypeInference.errors.txt +++ b/tests/baselines/reference/indexSignatureTypeInference.errors.txt @@ -15,8 +15,8 @@ indexSignatureTypeInference.ts(18,27): error TS2345: Argument of type 'NumberMap declare function numberMapToArray(object: NumberMap): T[]; declare function stringMapToArray(object: StringMap): T[]; - var numberMap: NumberMap; - var stringMap: StringMap; + declare var numberMap: NumberMap; + declare var stringMap: StringMap; var v1: Function[]; var v1 = numberMapToArray(numberMap); // Ok diff --git a/tests/baselines/reference/indexSignatureTypeInference.js b/tests/baselines/reference/indexSignatureTypeInference.js index 0dfd4c77f3554..bd9d92dd437ee 100644 --- a/tests/baselines/reference/indexSignatureTypeInference.js +++ b/tests/baselines/reference/indexSignatureTypeInference.js @@ -12,8 +12,8 @@ interface StringMap { declare function numberMapToArray(object: NumberMap): T[]; declare function stringMapToArray(object: StringMap): T[]; -var numberMap: NumberMap; -var stringMap: StringMap; +declare var numberMap: NumberMap; +declare var stringMap: StringMap; var v1: Function[]; var v1 = numberMapToArray(numberMap); // Ok @@ -23,8 +23,6 @@ var v1 = stringMapToArray(stringMap); // Ok //// [indexSignatureTypeInference.js] -var numberMap; -var stringMap; var v1; var v1 = numberMapToArray(numberMap); // Ok var v1 = numberMapToArray(stringMap); // Ok diff --git a/tests/baselines/reference/indexSignatureTypeInference.symbols b/tests/baselines/reference/indexSignatureTypeInference.symbols index e992b9c1e1c97..034c4ab9a1cc0 100644 --- a/tests/baselines/reference/indexSignatureTypeInference.symbols +++ b/tests/baselines/reference/indexSignatureTypeInference.symbols @@ -35,13 +35,13 @@ declare function stringMapToArray(object: StringMap): T[]; >T : Symbol(T, Decl(indexSignatureTypeInference.ts, 9, 34)) >T : Symbol(T, Decl(indexSignatureTypeInference.ts, 9, 34)) -var numberMap: NumberMap; ->numberMap : Symbol(numberMap, Decl(indexSignatureTypeInference.ts, 11, 3)) +declare var numberMap: NumberMap; +>numberMap : Symbol(numberMap, Decl(indexSignatureTypeInference.ts, 11, 11)) >NumberMap : Symbol(NumberMap, Decl(indexSignatureTypeInference.ts, 0, 0)) >Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) -var stringMap: StringMap; ->stringMap : Symbol(stringMap, Decl(indexSignatureTypeInference.ts, 12, 3)) +declare var stringMap: StringMap; +>stringMap : Symbol(stringMap, Decl(indexSignatureTypeInference.ts, 12, 11)) >StringMap : Symbol(StringMap, Decl(indexSignatureTypeInference.ts, 2, 1)) >Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @@ -52,20 +52,20 @@ var v1: Function[]; var v1 = numberMapToArray(numberMap); // Ok >v1 : Symbol(v1, Decl(indexSignatureTypeInference.ts, 14, 3), Decl(indexSignatureTypeInference.ts, 15, 3), Decl(indexSignatureTypeInference.ts, 16, 3), Decl(indexSignatureTypeInference.ts, 17, 3), Decl(indexSignatureTypeInference.ts, 18, 3)) >numberMapToArray : Symbol(numberMapToArray, Decl(indexSignatureTypeInference.ts, 6, 1)) ->numberMap : Symbol(numberMap, Decl(indexSignatureTypeInference.ts, 11, 3)) +>numberMap : Symbol(numberMap, Decl(indexSignatureTypeInference.ts, 11, 11)) var v1 = numberMapToArray(stringMap); // Ok >v1 : Symbol(v1, Decl(indexSignatureTypeInference.ts, 14, 3), Decl(indexSignatureTypeInference.ts, 15, 3), Decl(indexSignatureTypeInference.ts, 16, 3), Decl(indexSignatureTypeInference.ts, 17, 3), Decl(indexSignatureTypeInference.ts, 18, 3)) >numberMapToArray : Symbol(numberMapToArray, Decl(indexSignatureTypeInference.ts, 6, 1)) ->stringMap : Symbol(stringMap, Decl(indexSignatureTypeInference.ts, 12, 3)) +>stringMap : Symbol(stringMap, Decl(indexSignatureTypeInference.ts, 12, 11)) var v1 = stringMapToArray(numberMap); // Error expected here >v1 : Symbol(v1, Decl(indexSignatureTypeInference.ts, 14, 3), Decl(indexSignatureTypeInference.ts, 15, 3), Decl(indexSignatureTypeInference.ts, 16, 3), Decl(indexSignatureTypeInference.ts, 17, 3), Decl(indexSignatureTypeInference.ts, 18, 3)) >stringMapToArray : Symbol(stringMapToArray, Decl(indexSignatureTypeInference.ts, 8, 64)) ->numberMap : Symbol(numberMap, Decl(indexSignatureTypeInference.ts, 11, 3)) +>numberMap : Symbol(numberMap, Decl(indexSignatureTypeInference.ts, 11, 11)) var v1 = stringMapToArray(stringMap); // Ok >v1 : Symbol(v1, Decl(indexSignatureTypeInference.ts, 14, 3), Decl(indexSignatureTypeInference.ts, 15, 3), Decl(indexSignatureTypeInference.ts, 16, 3), Decl(indexSignatureTypeInference.ts, 17, 3), Decl(indexSignatureTypeInference.ts, 18, 3)) >stringMapToArray : Symbol(stringMapToArray, Decl(indexSignatureTypeInference.ts, 8, 64)) ->stringMap : Symbol(stringMap, Decl(indexSignatureTypeInference.ts, 12, 3)) +>stringMap : Symbol(stringMap, Decl(indexSignatureTypeInference.ts, 12, 11)) diff --git a/tests/baselines/reference/indexSignatureTypeInference.types b/tests/baselines/reference/indexSignatureTypeInference.types index 44c4297bbbdab..c665920bba597 100644 --- a/tests/baselines/reference/indexSignatureTypeInference.types +++ b/tests/baselines/reference/indexSignatureTypeInference.types @@ -25,11 +25,11 @@ declare function stringMapToArray(object: StringMap): T[]; >object : StringMap > : ^^^^^^^^^^^^ -var numberMap: NumberMap; +declare var numberMap: NumberMap; >numberMap : NumberMap > : ^^^^^^^^^^^^^^^^^^^ -var stringMap: StringMap; +declare var stringMap: StringMap; >stringMap : StringMap > : ^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/indexTypeCheck.errors.txt b/tests/baselines/reference/indexTypeCheck.errors.txt index 7504c6a5f6225..ccf0c99e3919d 100644 --- a/tests/baselines/reference/indexTypeCheck.errors.txt +++ b/tests/baselines/reference/indexTypeCheck.errors.txt @@ -61,8 +61,8 @@ indexTypeCheck.ts(51,8): error TS2538: Type 'Blue' cannot be used as an index ty !!! error TS1268: An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type. } - var yellow: Yellow; - var blue: Blue; + declare var yellow: Yellow; + declare var blue: Blue; var s = "some string"; yellow[5]; // ok @@ -77,7 +77,7 @@ indexTypeCheck.ts(51,8): error TS2538: Type 'Blue' cannot be used as an index ty ~~~~ !!! error TS2538: Type 'Blue' cannot be used as an index type. - var x:number[]; + declare var x:number[]; x[0]; class Benchmark { diff --git a/tests/baselines/reference/indexTypeCheck.js b/tests/baselines/reference/indexTypeCheck.js index 9a7e2f2e657e7..ce026a807ecdf 100644 --- a/tests/baselines/reference/indexTypeCheck.js +++ b/tests/baselines/reference/indexTypeCheck.js @@ -39,8 +39,8 @@ interface Magenta { [p:Purple]; // error } -var yellow: Yellow; -var blue: Blue; +declare var yellow: Yellow; +declare var blue: Blue; var s = "some string"; yellow[5]; // ok @@ -53,7 +53,7 @@ s[{}]; // ok yellow[blue]; // error -var x:number[]; +declare var x:number[]; x[0]; class Benchmark { @@ -66,8 +66,6 @@ class Benchmark { } //// [indexTypeCheck.js] -var yellow; -var blue; var s = "some string"; yellow[5]; // ok yellow["hue"]; // ok @@ -76,7 +74,6 @@ s[0]; // error s["s"]; // ok s[{}]; // ok yellow[blue]; // error -var x; x[0]; var Benchmark = /** @class */ (function () { function Benchmark() { diff --git a/tests/baselines/reference/indexTypeCheck.symbols b/tests/baselines/reference/indexTypeCheck.symbols index acf32bab1a0f1..2a60487181002 100644 --- a/tests/baselines/reference/indexTypeCheck.symbols +++ b/tests/baselines/reference/indexTypeCheck.symbols @@ -81,25 +81,25 @@ interface Magenta { >Purple : Symbol(Purple, Decl(indexTypeCheck.ts, 28, 1)) } -var yellow: Yellow; ->yellow : Symbol(yellow, Decl(indexTypeCheck.ts, 38, 3)) +declare var yellow: Yellow; +>yellow : Symbol(yellow, Decl(indexTypeCheck.ts, 38, 11)) >Yellow : Symbol(Yellow, Decl(indexTypeCheck.ts, 8, 1)) -var blue: Blue; ->blue : Symbol(blue, Decl(indexTypeCheck.ts, 39, 3)) +declare var blue: Blue; +>blue : Symbol(blue, Decl(indexTypeCheck.ts, 39, 11)) >Blue : Symbol(Blue, Decl(indexTypeCheck.ts, 3, 1)) var s = "some string"; >s : Symbol(s, Decl(indexTypeCheck.ts, 40, 3)) yellow[5]; // ok ->yellow : Symbol(yellow, Decl(indexTypeCheck.ts, 38, 3)) +>yellow : Symbol(yellow, Decl(indexTypeCheck.ts, 38, 11)) yellow["hue"]; // ok ->yellow : Symbol(yellow, Decl(indexTypeCheck.ts, 38, 3)) +>yellow : Symbol(yellow, Decl(indexTypeCheck.ts, 38, 11)) yellow[{}]; // ok ->yellow : Symbol(yellow, Decl(indexTypeCheck.ts, 38, 3)) +>yellow : Symbol(yellow, Decl(indexTypeCheck.ts, 38, 11)) s[0]; // error >s : Symbol(s, Decl(indexTypeCheck.ts, 40, 3)) @@ -111,14 +111,14 @@ s[{}]; // ok >s : Symbol(s, Decl(indexTypeCheck.ts, 40, 3)) yellow[blue]; // error ->yellow : Symbol(yellow, Decl(indexTypeCheck.ts, 38, 3)) ->blue : Symbol(blue, Decl(indexTypeCheck.ts, 39, 3)) +>yellow : Symbol(yellow, Decl(indexTypeCheck.ts, 38, 11)) +>blue : Symbol(blue, Decl(indexTypeCheck.ts, 39, 11)) -var x:number[]; ->x : Symbol(x, Decl(indexTypeCheck.ts, 52, 3)) +declare var x:number[]; +>x : Symbol(x, Decl(indexTypeCheck.ts, 52, 11)) x[0]; ->x : Symbol(x, Decl(indexTypeCheck.ts, 52, 3)) +>x : Symbol(x, Decl(indexTypeCheck.ts, 52, 11)) class Benchmark { >Benchmark : Symbol(Benchmark, Decl(indexTypeCheck.ts, 53, 5)) diff --git a/tests/baselines/reference/indexTypeCheck.types b/tests/baselines/reference/indexTypeCheck.types index 57eb19d179acc..51ad9a2b890f7 100644 --- a/tests/baselines/reference/indexTypeCheck.types +++ b/tests/baselines/reference/indexTypeCheck.types @@ -75,11 +75,11 @@ interface Magenta { > : ^^^^^^ } -var yellow: Yellow; +declare var yellow: Yellow; >yellow : Yellow > : ^^^^^^ -var blue: Blue; +declare var blue: Blue; >blue : Blue > : ^^^^ @@ -149,7 +149,7 @@ yellow[blue]; // error >blue : Blue > : ^^^^ -var x:number[]; +declare var x:number[]; >x : number[] > : ^^^^^^^^ diff --git a/tests/baselines/reference/infiniteExpansionThroughInstantiation.errors.txt b/tests/baselines/reference/infiniteExpansionThroughInstantiation.errors.txt index 948ba636018d9..f4ae82e9df707 100644 --- a/tests/baselines/reference/infiniteExpansionThroughInstantiation.errors.txt +++ b/tests/baselines/reference/infiniteExpansionThroughInstantiation.errors.txt @@ -21,8 +21,8 @@ infiniteExpansionThroughInstantiation.ts(21,5): error TS2322: Type 'OwnerList name: string; } - var list: List; - var ownerList: OwnerList; + declare var list: List; + declare var ownerList: OwnerList; list = ownerList; ~~~~ !!! error TS2322: Type 'OwnerList' is not assignable to type 'List'. @@ -31,7 +31,7 @@ infiniteExpansionThroughInstantiation.ts(21,5): error TS2322: Type 'OwnerList function other(x: T) { var list: List; - var ownerList: OwnerList; + var ownerList!: OwnerList; list = ownerList; ~~~~ !!! error TS2322: Type 'OwnerList' is not assignable to type 'List'. diff --git a/tests/baselines/reference/infiniteExpansionThroughInstantiation.js b/tests/baselines/reference/infiniteExpansionThroughInstantiation.js index ceddd6b4bc93f..0089646135f16 100644 --- a/tests/baselines/reference/infiniteExpansionThroughInstantiation.js +++ b/tests/baselines/reference/infiniteExpansionThroughInstantiation.js @@ -14,13 +14,13 @@ interface OwnerList extends List> { name: string; } -var list: List; -var ownerList: OwnerList; +declare var list: List; +declare var ownerList: OwnerList; list = ownerList; function other(x: T) { var list: List; - var ownerList: OwnerList; + var ownerList!: OwnerList; list = ownerList; } @@ -28,8 +28,6 @@ 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; function other(x) { var list; diff --git a/tests/baselines/reference/infiniteExpansionThroughInstantiation.symbols b/tests/baselines/reference/infiniteExpansionThroughInstantiation.symbols index 30970e52c80a3..8ec89b5f4c1d5 100644 --- a/tests/baselines/reference/infiniteExpansionThroughInstantiation.symbols +++ b/tests/baselines/reference/infiniteExpansionThroughInstantiation.symbols @@ -34,17 +34,17 @@ interface OwnerList extends List> { >name : Symbol(OwnerList.name, Decl(infiniteExpansionThroughInstantiation.ts, 9, 46)) } -var list: List; ->list : Symbol(list, Decl(infiniteExpansionThroughInstantiation.ts, 13, 3)) +declare var list: List; +>list : Symbol(list, Decl(infiniteExpansionThroughInstantiation.ts, 13, 11)) >List : Symbol(List, Decl(infiniteExpansionThroughInstantiation.ts, 0, 0)) -var ownerList: OwnerList; ->ownerList : Symbol(ownerList, Decl(infiniteExpansionThroughInstantiation.ts, 14, 3)) +declare var ownerList: OwnerList; +>ownerList : Symbol(ownerList, Decl(infiniteExpansionThroughInstantiation.ts, 14, 11)) >OwnerList : Symbol(OwnerList, Decl(infiniteExpansionThroughInstantiation.ts, 6, 1)) list = ownerList; ->list : Symbol(list, Decl(infiniteExpansionThroughInstantiation.ts, 13, 3)) ->ownerList : Symbol(ownerList, Decl(infiniteExpansionThroughInstantiation.ts, 14, 3)) +>list : Symbol(list, Decl(infiniteExpansionThroughInstantiation.ts, 13, 11)) +>ownerList : Symbol(ownerList, Decl(infiniteExpansionThroughInstantiation.ts, 14, 11)) function other(x: T) { >other : Symbol(other, Decl(infiniteExpansionThroughInstantiation.ts, 15, 17)) @@ -57,7 +57,7 @@ function other(x: T) { >List : Symbol(List, Decl(infiniteExpansionThroughInstantiation.ts, 0, 0)) >T : Symbol(T, Decl(infiniteExpansionThroughInstantiation.ts, 17, 15)) - var ownerList: OwnerList; + var ownerList!: OwnerList; >ownerList : Symbol(ownerList, Decl(infiniteExpansionThroughInstantiation.ts, 19, 7)) >OwnerList : Symbol(OwnerList, Decl(infiniteExpansionThroughInstantiation.ts, 6, 1)) >T : Symbol(T, Decl(infiniteExpansionThroughInstantiation.ts, 17, 15)) diff --git a/tests/baselines/reference/infiniteExpansionThroughInstantiation.types b/tests/baselines/reference/infiniteExpansionThroughInstantiation.types index 218e9c11da17e..b82c8d85b95dc 100644 --- a/tests/baselines/reference/infiniteExpansionThroughInstantiation.types +++ b/tests/baselines/reference/infiniteExpansionThroughInstantiation.types @@ -24,11 +24,11 @@ interface OwnerList extends List> { > : ^^^^^^ } -var list: List; +declare var list: List; >list : List > : ^^^^^^^^^^^^ -var ownerList: OwnerList; +declare var ownerList: OwnerList; >ownerList : OwnerList > : ^^^^^^^^^^^^^^^^^ @@ -50,7 +50,7 @@ function other(x: T) { >list : List > : ^^^^^^^ - var ownerList: OwnerList; + var ownerList!: OwnerList; >ownerList : OwnerList > : ^^^^^^^^^^^^ diff --git a/tests/baselines/reference/inheritance1.errors.txt b/tests/baselines/reference/inheritance1.errors.txt index b96db00d8ff7a..4e40ddef88d78 100644 --- a/tests/baselines/reference/inheritance1.errors.txt +++ b/tests/baselines/reference/inheritance1.errors.txt @@ -46,10 +46,10 @@ inheritance1.ts(61,1): error TS2741: Property 'select' is missing in type 'Contr class Locations1 { select() { } } - var sc: SelectableControl; - var c: Control; + declare var sc: SelectableControl; + declare var c: Control; - var b: Button; + declare var b: Button; sc = b; c = b; b = sc; @@ -58,7 +58,7 @@ inheritance1.ts(61,1): error TS2741: Property 'select' is missing in type 'Contr !!! error TS2741: Property 'select' is missing in type 'Control' but required in type 'Button'. !!! related TS2728 inheritance1.ts:9:5: 'select' is declared here. - var t: TextBox; + declare var t: TextBox; sc = t; c = t; t = sc; @@ -67,7 +67,7 @@ inheritance1.ts(61,1): error TS2741: Property 'select' is missing in type 'Contr !!! error TS2741: Property 'select' is missing in type 'Control' but required in type 'TextBox'. !!! related TS2728 inheritance1.ts:12:5: 'select' is declared here. - var i: ImageBase; + declare var i: ImageBase; sc = i; ~~ !!! error TS2741: Property 'select' is missing in type 'Control' but required in type 'SelectableControl'. @@ -76,7 +76,7 @@ inheritance1.ts(61,1): error TS2741: Property 'select' is missing in type 'Contr i = sc; i = c; - var i1: Image1; + declare var i1: Image1; sc = i1; ~~ !!! error TS2741: Property 'select' is missing in type 'Control' but required in type 'SelectableControl'. @@ -85,7 +85,7 @@ inheritance1.ts(61,1): error TS2741: Property 'select' is missing in type 'Contr i1 = sc; i1 = c; - var l: Locations; + declare var l: Locations; sc = l; ~~ !!! error TS2741: Property 'state' is missing in type 'Locations' but required in type 'SelectableControl'. @@ -100,7 +100,7 @@ inheritance1.ts(61,1): error TS2741: Property 'select' is missing in type 'Contr !!! error TS2741: Property 'select' is missing in type 'Control' but required in type 'Locations'. !!! related TS2728 inheritance1.ts:19:5: 'select' is declared here. - var l1: Locations1; + declare var l1: Locations1; sc = l1; ~~ !!! error TS2741: Property 'state' is missing in type 'Locations1' but required in type 'SelectableControl'. diff --git a/tests/baselines/reference/inheritance1.js b/tests/baselines/reference/inheritance1.js index a0230873412ee..87bea2f68fa6a 100644 --- a/tests/baselines/reference/inheritance1.js +++ b/tests/baselines/reference/inheritance1.js @@ -24,40 +24,40 @@ class Locations implements SelectableControl { class Locations1 { select() { } } -var sc: SelectableControl; -var c: Control; +declare var sc: SelectableControl; +declare var c: Control; -var b: Button; +declare var b: Button; sc = b; c = b; b = sc; b = c; -var t: TextBox; +declare var t: TextBox; sc = t; c = t; t = sc; t = c; -var i: ImageBase; +declare var i: ImageBase; sc = i; c = i; i = sc; i = c; -var i1: Image1; +declare var i1: Image1; sc = i1; c = i1; i1 = sc; i1 = c; -var l: Locations; +declare var l: Locations; sc = l; c = l; l = sc; l = c; -var l1: Locations1; +declare var l1: Locations1; sc = l1; c = l1; l1 = sc; @@ -126,34 +126,26 @@ var Locations1 = /** @class */ (function () { Locations1.prototype.select = function () { }; return Locations1; }()); -var sc; -var c; -var b; sc = b; c = b; b = sc; b = c; -var t; sc = t; c = t; t = sc; t = c; -var i; sc = i; c = i; i = sc; i = c; -var i1; sc = i1; c = i1; i1 = sc; i1 = c; -var l; sc = l; c = l; l = sc; l = c; -var l1; sc = l1; c = l1; l1 = sc; diff --git a/tests/baselines/reference/inheritance1.symbols b/tests/baselines/reference/inheritance1.symbols index 9d512f4842c50..381e26f630638 100644 --- a/tests/baselines/reference/inheritance1.symbols +++ b/tests/baselines/reference/inheritance1.symbols @@ -52,131 +52,131 @@ class Locations1 { select() { } >select : Symbol(Locations1.select, Decl(inheritance1.ts, 20, 18)) } -var sc: SelectableControl; ->sc : Symbol(sc, Decl(inheritance1.ts, 23, 3)) +declare var sc: SelectableControl; +>sc : Symbol(sc, Decl(inheritance1.ts, 23, 11)) >SelectableControl : Symbol(SelectableControl, Decl(inheritance1.ts, 2, 1)) -var c: Control; ->c : Symbol(c, Decl(inheritance1.ts, 24, 3)) +declare var c: Control; +>c : Symbol(c, Decl(inheritance1.ts, 24, 11)) >Control : Symbol(Control, Decl(inheritance1.ts, 0, 0)) -var b: Button; ->b : Symbol(b, Decl(inheritance1.ts, 26, 3)) +declare var b: Button; +>b : Symbol(b, Decl(inheritance1.ts, 26, 11)) >Button : Symbol(Button, Decl(inheritance1.ts, 5, 1)) sc = b; ->sc : Symbol(sc, Decl(inheritance1.ts, 23, 3)) ->b : Symbol(b, Decl(inheritance1.ts, 26, 3)) +>sc : Symbol(sc, Decl(inheritance1.ts, 23, 11)) +>b : Symbol(b, Decl(inheritance1.ts, 26, 11)) c = b; ->c : Symbol(c, Decl(inheritance1.ts, 24, 3)) ->b : Symbol(b, Decl(inheritance1.ts, 26, 3)) +>c : Symbol(c, Decl(inheritance1.ts, 24, 11)) +>b : Symbol(b, Decl(inheritance1.ts, 26, 11)) b = sc; ->b : Symbol(b, Decl(inheritance1.ts, 26, 3)) ->sc : Symbol(sc, Decl(inheritance1.ts, 23, 3)) +>b : Symbol(b, Decl(inheritance1.ts, 26, 11)) +>sc : Symbol(sc, Decl(inheritance1.ts, 23, 11)) b = c; ->b : Symbol(b, Decl(inheritance1.ts, 26, 3)) ->c : Symbol(c, Decl(inheritance1.ts, 24, 3)) +>b : Symbol(b, Decl(inheritance1.ts, 26, 11)) +>c : Symbol(c, Decl(inheritance1.ts, 24, 11)) -var t: TextBox; ->t : Symbol(t, Decl(inheritance1.ts, 32, 3)) +declare var t: TextBox; +>t : Symbol(t, Decl(inheritance1.ts, 32, 11)) >TextBox : Symbol(TextBox, Decl(inheritance1.ts, 9, 1)) sc = t; ->sc : Symbol(sc, Decl(inheritance1.ts, 23, 3)) ->t : Symbol(t, Decl(inheritance1.ts, 32, 3)) +>sc : Symbol(sc, Decl(inheritance1.ts, 23, 11)) +>t : Symbol(t, Decl(inheritance1.ts, 32, 11)) c = t; ->c : Symbol(c, Decl(inheritance1.ts, 24, 3)) ->t : Symbol(t, Decl(inheritance1.ts, 32, 3)) +>c : Symbol(c, Decl(inheritance1.ts, 24, 11)) +>t : Symbol(t, Decl(inheritance1.ts, 32, 11)) t = sc; ->t : Symbol(t, Decl(inheritance1.ts, 32, 3)) ->sc : Symbol(sc, Decl(inheritance1.ts, 23, 3)) +>t : Symbol(t, Decl(inheritance1.ts, 32, 11)) +>sc : Symbol(sc, Decl(inheritance1.ts, 23, 11)) t = c; ->t : Symbol(t, Decl(inheritance1.ts, 32, 3)) ->c : Symbol(c, Decl(inheritance1.ts, 24, 3)) +>t : Symbol(t, Decl(inheritance1.ts, 32, 11)) +>c : Symbol(c, Decl(inheritance1.ts, 24, 11)) -var i: ImageBase; ->i : Symbol(i, Decl(inheritance1.ts, 38, 3)) +declare var i: ImageBase; +>i : Symbol(i, Decl(inheritance1.ts, 38, 11)) >ImageBase : Symbol(ImageBase, Decl(inheritance1.ts, 12, 1)) sc = i; ->sc : Symbol(sc, Decl(inheritance1.ts, 23, 3)) ->i : Symbol(i, Decl(inheritance1.ts, 38, 3)) +>sc : Symbol(sc, Decl(inheritance1.ts, 23, 11)) +>i : Symbol(i, Decl(inheritance1.ts, 38, 11)) c = i; ->c : Symbol(c, Decl(inheritance1.ts, 24, 3)) ->i : Symbol(i, Decl(inheritance1.ts, 38, 3)) +>c : Symbol(c, Decl(inheritance1.ts, 24, 11)) +>i : Symbol(i, Decl(inheritance1.ts, 38, 11)) i = sc; ->i : Symbol(i, Decl(inheritance1.ts, 38, 3)) ->sc : Symbol(sc, Decl(inheritance1.ts, 23, 3)) +>i : Symbol(i, Decl(inheritance1.ts, 38, 11)) +>sc : Symbol(sc, Decl(inheritance1.ts, 23, 11)) i = c; ->i : Symbol(i, Decl(inheritance1.ts, 38, 3)) ->c : Symbol(c, Decl(inheritance1.ts, 24, 3)) +>i : Symbol(i, Decl(inheritance1.ts, 38, 11)) +>c : Symbol(c, Decl(inheritance1.ts, 24, 11)) -var i1: Image1; ->i1 : Symbol(i1, Decl(inheritance1.ts, 44, 3)) +declare var i1: Image1; +>i1 : Symbol(i1, Decl(inheritance1.ts, 44, 11)) >Image1 : Symbol(Image1, Decl(inheritance1.ts, 14, 1)) sc = i1; ->sc : Symbol(sc, Decl(inheritance1.ts, 23, 3)) ->i1 : Symbol(i1, Decl(inheritance1.ts, 44, 3)) +>sc : Symbol(sc, Decl(inheritance1.ts, 23, 11)) +>i1 : Symbol(i1, Decl(inheritance1.ts, 44, 11)) c = i1; ->c : Symbol(c, Decl(inheritance1.ts, 24, 3)) ->i1 : Symbol(i1, Decl(inheritance1.ts, 44, 3)) +>c : Symbol(c, Decl(inheritance1.ts, 24, 11)) +>i1 : Symbol(i1, Decl(inheritance1.ts, 44, 11)) i1 = sc; ->i1 : Symbol(i1, Decl(inheritance1.ts, 44, 3)) ->sc : Symbol(sc, Decl(inheritance1.ts, 23, 3)) +>i1 : Symbol(i1, Decl(inheritance1.ts, 44, 11)) +>sc : Symbol(sc, Decl(inheritance1.ts, 23, 11)) i1 = c; ->i1 : Symbol(i1, Decl(inheritance1.ts, 44, 3)) ->c : Symbol(c, Decl(inheritance1.ts, 24, 3)) +>i1 : Symbol(i1, Decl(inheritance1.ts, 44, 11)) +>c : Symbol(c, Decl(inheritance1.ts, 24, 11)) -var l: Locations; ->l : Symbol(l, Decl(inheritance1.ts, 50, 3)) +declare var l: Locations; +>l : Symbol(l, Decl(inheritance1.ts, 50, 11)) >Locations : Symbol(Locations, Decl(inheritance1.ts, 16, 1)) sc = l; ->sc : Symbol(sc, Decl(inheritance1.ts, 23, 3)) ->l : Symbol(l, Decl(inheritance1.ts, 50, 3)) +>sc : Symbol(sc, Decl(inheritance1.ts, 23, 11)) +>l : Symbol(l, Decl(inheritance1.ts, 50, 11)) c = l; ->c : Symbol(c, Decl(inheritance1.ts, 24, 3)) ->l : Symbol(l, Decl(inheritance1.ts, 50, 3)) +>c : Symbol(c, Decl(inheritance1.ts, 24, 11)) +>l : Symbol(l, Decl(inheritance1.ts, 50, 11)) l = sc; ->l : Symbol(l, Decl(inheritance1.ts, 50, 3)) ->sc : Symbol(sc, Decl(inheritance1.ts, 23, 3)) +>l : Symbol(l, Decl(inheritance1.ts, 50, 11)) +>sc : Symbol(sc, Decl(inheritance1.ts, 23, 11)) l = c; ->l : Symbol(l, Decl(inheritance1.ts, 50, 3)) ->c : Symbol(c, Decl(inheritance1.ts, 24, 3)) +>l : Symbol(l, Decl(inheritance1.ts, 50, 11)) +>c : Symbol(c, Decl(inheritance1.ts, 24, 11)) -var l1: Locations1; ->l1 : Symbol(l1, Decl(inheritance1.ts, 56, 3)) +declare var l1: Locations1; +>l1 : Symbol(l1, Decl(inheritance1.ts, 56, 11)) >Locations1 : Symbol(Locations1, Decl(inheritance1.ts, 19, 1)) sc = l1; ->sc : Symbol(sc, Decl(inheritance1.ts, 23, 3)) ->l1 : Symbol(l1, Decl(inheritance1.ts, 56, 3)) +>sc : Symbol(sc, Decl(inheritance1.ts, 23, 11)) +>l1 : Symbol(l1, Decl(inheritance1.ts, 56, 11)) c = l1; ->c : Symbol(c, Decl(inheritance1.ts, 24, 3)) ->l1 : Symbol(l1, Decl(inheritance1.ts, 56, 3)) +>c : Symbol(c, Decl(inheritance1.ts, 24, 11)) +>l1 : Symbol(l1, Decl(inheritance1.ts, 56, 11)) l1 = sc; ->l1 : Symbol(l1, Decl(inheritance1.ts, 56, 3)) ->sc : Symbol(sc, Decl(inheritance1.ts, 23, 3)) +>l1 : Symbol(l1, Decl(inheritance1.ts, 56, 11)) +>sc : Symbol(sc, Decl(inheritance1.ts, 23, 11)) l1 = c; ->l1 : Symbol(l1, Decl(inheritance1.ts, 56, 3)) ->c : Symbol(c, Decl(inheritance1.ts, 24, 3)) +>l1 : Symbol(l1, Decl(inheritance1.ts, 56, 11)) +>c : Symbol(c, Decl(inheritance1.ts, 24, 11)) diff --git a/tests/baselines/reference/inheritance1.types b/tests/baselines/reference/inheritance1.types index a6031b8e0b015..f462af4f2da7b 100644 --- a/tests/baselines/reference/inheritance1.types +++ b/tests/baselines/reference/inheritance1.types @@ -63,15 +63,15 @@ class Locations1 { >select : () => void > : ^^^^^^^^^^ } -var sc: SelectableControl; +declare var sc: SelectableControl; >sc : SelectableControl > : ^^^^^^^^^^^^^^^^^ -var c: Control; +declare var c: Control; >c : Control > : ^^^^^^^ -var b: Button; +declare var b: Button; >b : Button > : ^^^^^^ @@ -107,7 +107,7 @@ b = c; >c : Control > : ^^^^^^^ -var t: TextBox; +declare var t: TextBox; >t : TextBox > : ^^^^^^^ @@ -143,7 +143,7 @@ t = c; >c : Control > : ^^^^^^^ -var i: ImageBase; +declare var i: ImageBase; >i : ImageBase > : ^^^^^^^^^ @@ -179,7 +179,7 @@ i = c; >c : Control > : ^^^^^^^ -var i1: Image1; +declare var i1: Image1; >i1 : Image1 > : ^^^^^^ @@ -215,7 +215,7 @@ i1 = c; >c : Control > : ^^^^^^^ -var l: Locations; +declare var l: Locations; >l : Locations > : ^^^^^^^^^ @@ -251,7 +251,7 @@ l = c; >c : Control > : ^^^^^^^ -var l1: Locations1; +declare var l1: Locations1; >l1 : Locations1 > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/initializersWidened.errors.txt b/tests/baselines/reference/initializersWidened.errors.txt index d39383da36391..448ad57be8b9c 100644 --- a/tests/baselines/reference/initializersWidened.errors.txt +++ b/tests/baselines/reference/initializersWidened.errors.txt @@ -15,8 +15,8 @@ initializersWidened.ts(24,10): error TS2873: This kind of expression is always f // these are not widened - var x2: null; - var y2: undefined; + declare var x2: null; + declare var y2: undefined; var x3: null = null; var y3: undefined = undefined; diff --git a/tests/baselines/reference/initializersWidened.js b/tests/baselines/reference/initializersWidened.js index 3241570b6c663..4c4c7c64cd6cc 100644 --- a/tests/baselines/reference/initializersWidened.js +++ b/tests/baselines/reference/initializersWidened.js @@ -9,8 +9,8 @@ var z1 = void 0; // these are not widened -var x2: null; -var y2: undefined; +declare var x2: null; +declare var y2: undefined; var x3: null = null; var y3: undefined = undefined; @@ -31,9 +31,6 @@ var z5 = void 0 || y2; var x1 = null; var y1 = undefined; var z1 = void 0; -// these are not widened -var x2; -var y2; var x3 = null; var y3 = undefined; var z3 = void 0; diff --git a/tests/baselines/reference/initializersWidened.symbols b/tests/baselines/reference/initializersWidened.symbols index 1dcd101cb5232..3e75a660cf679 100644 --- a/tests/baselines/reference/initializersWidened.symbols +++ b/tests/baselines/reference/initializersWidened.symbols @@ -15,11 +15,11 @@ var z1 = void 0; // these are not widened -var x2: null; ->x2 : Symbol(x2, Decl(initializersWidened.ts, 8, 3)) +declare var x2: null; +>x2 : Symbol(x2, Decl(initializersWidened.ts, 8, 11)) -var y2: undefined; ->y2 : Symbol(y2, Decl(initializersWidened.ts, 9, 3)) +declare var y2: undefined; +>y2 : Symbol(y2, Decl(initializersWidened.ts, 9, 11)) var x3: null = null; >x3 : Symbol(x3, Decl(initializersWidened.ts, 11, 3)) @@ -46,14 +46,14 @@ var z4 = void 0 || void 0; var x5 = null || x2; >x5 : Symbol(x5, Decl(initializersWidened.ts, 21, 3)) ->x2 : Symbol(x2, Decl(initializersWidened.ts, 8, 3)) +>x2 : Symbol(x2, Decl(initializersWidened.ts, 8, 11)) var y5 = undefined || y2; >y5 : Symbol(y5, Decl(initializersWidened.ts, 22, 3)) >undefined : Symbol(undefined) ->y2 : Symbol(y2, Decl(initializersWidened.ts, 9, 3)) +>y2 : Symbol(y2, Decl(initializersWidened.ts, 9, 11)) var z5 = void 0 || y2; >z5 : Symbol(z5, Decl(initializersWidened.ts, 23, 3)) ->y2 : Symbol(y2, Decl(initializersWidened.ts, 9, 3)) +>y2 : Symbol(y2, Decl(initializersWidened.ts, 9, 11)) diff --git a/tests/baselines/reference/initializersWidened.types b/tests/baselines/reference/initializersWidened.types index 485a47c2eee92..9d939ef98a514 100644 --- a/tests/baselines/reference/initializersWidened.types +++ b/tests/baselines/reference/initializersWidened.types @@ -23,11 +23,11 @@ var z1 = void 0; // these are not widened -var x2: null; +declare var x2: null; >x2 : null > : ^^^^ -var y2: undefined; +declare var y2: undefined; >y2 : undefined > : ^^^^^^^^^ diff --git a/tests/baselines/reference/instanceofOperator.errors.txt b/tests/baselines/reference/instanceofOperator.errors.txt index f49b3794771ca..126d3dd80f464 100644 --- a/tests/baselines/reference/instanceofOperator.errors.txt +++ b/tests/baselines/reference/instanceofOperator.errors.txt @@ -16,7 +16,7 @@ instanceofOperator.ts(21,5): error TS2358: The left-hand side of an 'instanceof' class Object { } ~~~~~~ !!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module CommonJS. - var obj: Object; + declare var obj: Object; diff --git a/tests/baselines/reference/instanceofOperator.js b/tests/baselines/reference/instanceofOperator.js index 4ef0a01133350..63b93f6783a5a 100644 --- a/tests/baselines/reference/instanceofOperator.js +++ b/tests/baselines/reference/instanceofOperator.js @@ -8,7 +8,7 @@ namespace test { class Object { } - var obj: Object; + declare var obj: Object; @@ -38,7 +38,6 @@ var test; } return Object; }()); - var obj; 4 instanceof null; // Error and should be error obj instanceof 4; diff --git a/tests/baselines/reference/instanceofOperator.symbols b/tests/baselines/reference/instanceofOperator.symbols index a5ec149a69e98..d7c5dcf0b6e4c 100644 --- a/tests/baselines/reference/instanceofOperator.symbols +++ b/tests/baselines/reference/instanceofOperator.symbols @@ -12,8 +12,8 @@ namespace test { class Object { } >Object : Symbol(Object, Decl(instanceofOperator.ts, 5, 16)) - var obj: Object; ->obj : Symbol(obj, Decl(instanceofOperator.ts, 7, 7)) + declare var obj: Object; +>obj : Symbol(obj, Decl(instanceofOperator.ts, 7, 15)) >Object : Symbol(Object, Decl(instanceofOperator.ts, 5, 16)) @@ -22,16 +22,16 @@ namespace test { // Error and should be error obj instanceof 4; ->obj : Symbol(obj, Decl(instanceofOperator.ts, 7, 7)) +>obj : Symbol(obj, Decl(instanceofOperator.ts, 7, 15)) Object instanceof obj; >Object : Symbol(Object, Decl(instanceofOperator.ts, 5, 16)) ->obj : Symbol(obj, Decl(instanceofOperator.ts, 7, 7)) +>obj : Symbol(obj, Decl(instanceofOperator.ts, 7, 15)) // Error on left hand side null instanceof null; obj instanceof Object; ->obj : Symbol(obj, Decl(instanceofOperator.ts, 7, 7)) +>obj : Symbol(obj, Decl(instanceofOperator.ts, 7, 15)) >Object : Symbol(Object, Decl(instanceofOperator.ts, 5, 16)) undefined instanceof undefined; diff --git a/tests/baselines/reference/instanceofOperator.types b/tests/baselines/reference/instanceofOperator.types index a4c14ca8b612c..53d08d2b0cea5 100644 --- a/tests/baselines/reference/instanceofOperator.types +++ b/tests/baselines/reference/instanceofOperator.types @@ -14,7 +14,7 @@ namespace test { >Object : Object > : ^^^^^^ - var obj: Object; + declare var obj: Object; >obj : Object > : ^^^^^^ diff --git a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.errors.txt b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.errors.txt index 7c27b020db429..5d077322a530a 100644 --- a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.errors.txt +++ b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.errors.txt @@ -30,9 +30,9 @@ instanceofOperatorWithInvalidOperands.ts(46,25): error TS2359: The right-hand si // invalid left operand // the left operand is required to be of type Any, an object type, or a type parameter type - var a1: number; - var a2: boolean; - var a3: string; + declare var a1: number; + declare var a2: boolean; + declare var a3: string; var a4: void; var ra1 = a1 instanceof x; @@ -65,13 +65,13 @@ instanceofOperatorWithInvalidOperands.ts(46,25): error TS2359: The right-hand si // invalid right operand // the right operand to be of type Any or a subtype of the 'Function' interface type - var b1: number; - var b2: boolean; - var b3: string; - var b4: void; - var o1: {}; - var o2: Object; - var o3: C; + declare var b1: number; + declare var b2: boolean; + declare var b3: string; + declare var b4: void; + declare var o1: {}; + declare var o2: Object; + declare var o3: C; var rb1 = x instanceof b1; ~~ diff --git a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.errors.txt b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.errors.txt index f65722f6e3ef3..f061e260e0bb7 100644 --- a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.errors.txt +++ b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.errors.txt @@ -34,9 +34,9 @@ instanceofOperatorWithInvalidOperands.es2015.ts(55,25): error TS2861: An object' // invalid left operand // the left operand is required to be of type Any, an object type, or a type parameter type - var a1: number; - var a2: boolean; - var a3: string; + declare var a1: number; + declare var a2: boolean; + declare var a3: string; var a4: void; var ra1 = a1 instanceof x; @@ -69,13 +69,13 @@ instanceofOperatorWithInvalidOperands.es2015.ts(55,25): error TS2861: An object' // invalid right operand // the right operand to be of type Any or a subtype of the 'Function' interface type - var b1: number; - var b2: boolean; - var b3: string; + declare var b1: number; + declare var b2: boolean; + declare var b3: string; var b4: void; - var o1: {}; - var o2: Object; - var o3: C; + declare var o1: {}; + declare var o2: Object; + declare var o3: C; var rb1 = x instanceof b1; ~~ @@ -116,17 +116,17 @@ instanceofOperatorWithInvalidOperands.es2015.ts(55,25): error TS2861: An object' !!! error TS2359: The right-hand side of an 'instanceof' expression must be either of type 'any', a class, function, or other type assignable to the 'Function' interface type, or an object type with a 'Symbol.hasInstance' method. // @@hasInstance restricts LHS - var o4: {[Symbol.hasInstance](value: { x: number }): boolean;}; - var o5: { y: string }; + declare var o4: {[Symbol.hasInstance](value: { x: number }): boolean;}; + declare var o5: { y: string }; var ra10 = o5 instanceof o4; ~~ !!! error TS2860: The left-hand side of an 'instanceof' expression must be assignable to the first argument of the right-hand side's '[Symbol.hasInstance]' method. !!! error TS2860: Argument of type '{ y: string; }' is not assignable to parameter of type '{ x: number; }'. !!! error TS2860: Property 'x' is missing in type '{ y: string; }' but required in type '{ x: number; }'. -!!! related TS2728 instanceofOperatorWithInvalidOperands.es2015.ts:49:40: 'x' is declared here. +!!! related TS2728 instanceofOperatorWithInvalidOperands.es2015.ts:49:48: 'x' is declared here. // invalid @@hasInstance method return type on RHS - var o6: {[Symbol.hasInstance](value: unknown): number;}; + declare var o6: {[Symbol.hasInstance](value: unknown): number;}; var rb11 = x instanceof o6; ~~ !!! error TS2861: An object's '[Symbol.hasInstance]' method must return a boolean value for it to be used on the right-hand side of an 'instanceof' expression. \ No newline at end of file diff --git a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.js b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.js index 738afe34a063d..5ed5ee9e0369b 100644 --- a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.js +++ b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.js @@ -9,9 +9,9 @@ var x: any; // invalid left operand // the left operand is required to be of type Any, an object type, or a type parameter type -var a1: number; -var a2: boolean; -var a3: string; +declare var a1: number; +declare var a2: boolean; +declare var a3: string; var a4: void; var ra1 = a1 instanceof x; @@ -26,13 +26,13 @@ var ra9 = undefined instanceof x; // invalid right operand // the right operand to be of type Any or a subtype of the 'Function' interface type -var b1: number; -var b2: boolean; -var b3: string; +declare var b1: number; +declare var b2: boolean; +declare var b3: string; var b4: void; -var o1: {}; -var o2: Object; -var o3: C; +declare var o1: {}; +declare var o2: Object; +declare var o3: C; var rb1 = x instanceof b1; var rb2 = x instanceof b2; @@ -49,12 +49,12 @@ var rb10 = x instanceof o3; var rc1 = '' instanceof {}; // @@hasInstance restricts LHS -var o4: {[Symbol.hasInstance](value: { x: number }): boolean;}; -var o5: { y: string }; +declare var o4: {[Symbol.hasInstance](value: { x: number }): boolean;}; +declare var o5: { y: string }; var ra10 = o5 instanceof o4; // invalid @@hasInstance method return type on RHS -var o6: {[Symbol.hasInstance](value: unknown): number;}; +declare var o6: {[Symbol.hasInstance](value: unknown): number;}; var rb11 = x instanceof o6; //// [instanceofOperatorWithInvalidOperands.es2015.js] @@ -62,11 +62,6 @@ class C { foo() { } } var x; -// invalid left operand -// the left operand is required to be of type Any, an object type, or a type parameter type -var a1; -var a2; -var a3; var a4; var ra1 = a1 instanceof x; var ra2 = a2 instanceof x; @@ -77,15 +72,7 @@ var ra6 = true instanceof x; var ra7 = '' instanceof x; var ra8 = null instanceof x; var ra9 = undefined instanceof x; -// invalid right operand -// the right operand to be of type Any or a subtype of the 'Function' interface type -var b1; -var b2; -var b3; var b4; -var o1; -var o2; -var o3; var rb1 = x instanceof b1; var rb2 = x instanceof b2; var rb3 = x instanceof b3; @@ -98,10 +85,5 @@ var rb9 = x instanceof o2; var rb10 = x instanceof o3; // both operands are invalid var rc1 = '' instanceof {}; -// @@hasInstance restricts LHS -var o4; -var o5; var ra10 = o5 instanceof o4; -// invalid @@hasInstance method return type on RHS -var o6; var rb11 = x instanceof o6; diff --git a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.symbols b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.symbols index 4936b1a4ac7e6..3436bc778342c 100644 --- a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.symbols +++ b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.symbols @@ -13,31 +13,31 @@ var x: any; // invalid left operand // the left operand is required to be of type Any, an object type, or a type parameter type -var a1: number; ->a1 : Symbol(a1, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 8, 3)) +declare var a1: number; +>a1 : Symbol(a1, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 8, 11)) -var a2: boolean; ->a2 : Symbol(a2, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 9, 3)) +declare var a2: boolean; +>a2 : Symbol(a2, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 9, 11)) -var a3: string; ->a3 : Symbol(a3, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 10, 3)) +declare var a3: string; +>a3 : Symbol(a3, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 10, 11)) var a4: void; >a4 : Symbol(a4, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 11, 3)) var ra1 = a1 instanceof x; >ra1 : Symbol(ra1, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 13, 3)) ->a1 : Symbol(a1, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 8, 3)) +>a1 : Symbol(a1, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 8, 11)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 4, 3)) var ra2 = a2 instanceof x; >ra2 : Symbol(ra2, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 14, 3)) ->a2 : Symbol(a2, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 9, 3)) +>a2 : Symbol(a2, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 9, 11)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 4, 3)) var ra3 = a3 instanceof x; >ra3 : Symbol(ra3, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 15, 3)) ->a3 : Symbol(a3, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 10, 3)) +>a3 : Symbol(a3, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 10, 11)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 4, 3)) var ra4 = a4 instanceof x; @@ -68,43 +68,43 @@ var ra9 = undefined instanceof x; // invalid right operand // the right operand to be of type Any or a subtype of the 'Function' interface type -var b1: number; ->b1 : Symbol(b1, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 25, 3)) +declare var b1: number; +>b1 : Symbol(b1, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 25, 11)) -var b2: boolean; ->b2 : Symbol(b2, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 26, 3)) +declare var b2: boolean; +>b2 : Symbol(b2, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 26, 11)) -var b3: string; ->b3 : Symbol(b3, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 27, 3)) +declare var b3: string; +>b3 : Symbol(b3, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 27, 11)) var b4: void; >b4 : Symbol(b4, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 28, 3)) -var o1: {}; ->o1 : Symbol(o1, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 29, 3)) +declare var o1: {}; +>o1 : Symbol(o1, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 29, 11)) -var o2: Object; ->o2 : Symbol(o2, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 30, 3)) +declare var o2: Object; +>o2 : Symbol(o2, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 30, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) -var o3: C; ->o3 : Symbol(o3, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 31, 3)) +declare var o3: C; +>o3 : Symbol(o3, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 31, 11)) >C : Symbol(C, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 0, 0)) var rb1 = x instanceof b1; >rb1 : Symbol(rb1, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 33, 3)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 4, 3)) ->b1 : Symbol(b1, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 25, 3)) +>b1 : Symbol(b1, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 25, 11)) var rb2 = x instanceof b2; >rb2 : Symbol(rb2, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 34, 3)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 4, 3)) ->b2 : Symbol(b2, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 26, 3)) +>b2 : Symbol(b2, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 26, 11)) var rb3 = x instanceof b3; >rb3 : Symbol(rb3, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 35, 3)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 4, 3)) ->b3 : Symbol(b3, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 27, 3)) +>b3 : Symbol(b3, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 27, 11)) var rb4 = x instanceof b4; >rb4 : Symbol(rb4, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 36, 3)) @@ -126,52 +126,52 @@ var rb7 = x instanceof ''; var rb8 = x instanceof o1; >rb8 : Symbol(rb8, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 40, 3)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 4, 3)) ->o1 : Symbol(o1, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 29, 3)) +>o1 : Symbol(o1, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 29, 11)) var rb9 = x instanceof o2; >rb9 : Symbol(rb9, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 41, 3)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 4, 3)) ->o2 : Symbol(o2, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 30, 3)) +>o2 : Symbol(o2, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 30, 11)) var rb10 = x instanceof o3; >rb10 : Symbol(rb10, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 42, 3)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 4, 3)) ->o3 : Symbol(o3, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 31, 3)) +>o3 : Symbol(o3, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 31, 11)) // both operands are invalid var rc1 = '' instanceof {}; >rc1 : Symbol(rc1, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 45, 3)) // @@hasInstance restricts LHS -var o4: {[Symbol.hasInstance](value: { x: number }): boolean;}; ->o4 : Symbol(o4, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 48, 3)) ->[Symbol.hasInstance] : Symbol([Symbol.hasInstance], Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 48, 9)) +declare var o4: {[Symbol.hasInstance](value: { x: number }): boolean;}; +>o4 : Symbol(o4, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 48, 11)) +>[Symbol.hasInstance] : Symbol([Symbol.hasInstance], Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 48, 17)) >Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->value : Symbol(value, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 48, 30)) ->x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 48, 38)) +>value : Symbol(value, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 48, 38)) +>x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 48, 46)) -var o5: { y: string }; ->o5 : Symbol(o5, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 49, 3)) ->y : Symbol(y, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 49, 9)) +declare var o5: { y: string }; +>o5 : Symbol(o5, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 49, 11)) +>y : Symbol(y, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 49, 17)) var ra10 = o5 instanceof o4; >ra10 : Symbol(ra10, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 50, 3)) ->o5 : Symbol(o5, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 49, 3)) ->o4 : Symbol(o4, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 48, 3)) +>o5 : Symbol(o5, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 49, 11)) +>o4 : Symbol(o4, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 48, 11)) // invalid @@hasInstance method return type on RHS -var o6: {[Symbol.hasInstance](value: unknown): number;}; ->o6 : Symbol(o6, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 53, 3)) ->[Symbol.hasInstance] : Symbol([Symbol.hasInstance], Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 53, 9)) +declare var o6: {[Symbol.hasInstance](value: unknown): number;}; +>o6 : Symbol(o6, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 53, 11)) +>[Symbol.hasInstance] : Symbol([Symbol.hasInstance], Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 53, 17)) >Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->value : Symbol(value, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 53, 30)) +>value : Symbol(value, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 53, 38)) var rb11 = x instanceof o6; >rb11 : Symbol(rb11, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 54, 3)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 4, 3)) ->o6 : Symbol(o6, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 53, 3)) +>o6 : Symbol(o6, Decl(instanceofOperatorWithInvalidOperands.es2015.ts, 53, 11)) diff --git a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.types b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.types index e51568e6aaf41..29e9633551de8 100644 --- a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.types +++ b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.types @@ -16,15 +16,15 @@ var x: any; // invalid left operand // the left operand is required to be of type Any, an object type, or a type parameter type -var a1: number; +declare var a1: number; >a1 : number > : ^^^^^^ -var a2: boolean; +declare var a2: boolean; >a2 : boolean > : ^^^^^^^ -var a3: string; +declare var a3: string; >a3 : string > : ^^^^^^ @@ -122,15 +122,15 @@ var ra9 = undefined instanceof x; // invalid right operand // the right operand to be of type Any or a subtype of the 'Function' interface type -var b1: number; +declare var b1: number; >b1 : number > : ^^^^^^ -var b2: boolean; +declare var b2: boolean; >b2 : boolean > : ^^^^^^^ -var b3: string; +declare var b3: string; >b3 : string > : ^^^^^^ @@ -138,15 +138,15 @@ var b4: void; >b4 : void > : ^^^^ -var o1: {}; +declare var o1: {}; >o1 : {} > : ^^ -var o2: Object; +declare var o2: Object; >o2 : Object > : ^^^^^^ -var o3: C; +declare var o3: C; >o3 : C > : ^ @@ -262,7 +262,7 @@ var rc1 = '' instanceof {}; > : ^^ // @@hasInstance restricts LHS -var o4: {[Symbol.hasInstance](value: { x: number }): boolean;}; +declare var o4: {[Symbol.hasInstance](value: { x: number }): boolean;}; >o4 : { [Symbol.hasInstance](value: { x: number; }): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >[Symbol.hasInstance] : (value: { x: number; }) => boolean @@ -278,7 +278,7 @@ var o4: {[Symbol.hasInstance](value: { x: number }): boolean;}; >x : number > : ^^^^^^ -var o5: { y: string }; +declare var o5: { y: string }; >o5 : { y: string; } > : ^^^^^ ^^^ >y : string @@ -295,7 +295,7 @@ var ra10 = o5 instanceof o4; > : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ // invalid @@hasInstance method return type on RHS -var o6: {[Symbol.hasInstance](value: unknown): number;}; +declare var o6: {[Symbol.hasInstance](value: unknown): number;}; >o6 : { [Symbol.hasInstance](value: unknown): number; } > : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >[Symbol.hasInstance] : (value: unknown) => number diff --git a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.js b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.js index 680a04512e1fe..9425be9addc03 100644 --- a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.js +++ b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.js @@ -9,9 +9,9 @@ var x: any; // invalid left operand // the left operand is required to be of type Any, an object type, or a type parameter type -var a1: number; -var a2: boolean; -var a3: string; +declare var a1: number; +declare var a2: boolean; +declare var a3: string; var a4: void; var ra1 = a1 instanceof x; @@ -26,13 +26,13 @@ var ra9 = undefined instanceof x; // invalid right operand // the right operand to be of type Any or a subtype of the 'Function' interface type -var b1: number; -var b2: boolean; -var b3: string; -var b4: void; -var o1: {}; -var o2: Object; -var o3: C; +declare var b1: number; +declare var b2: boolean; +declare var b3: string; +declare var b4: void; +declare var o1: {}; +declare var o2: Object; +declare var o3: C; var rb1 = x instanceof b1; var rb2 = x instanceof b2; @@ -56,11 +56,6 @@ var C = /** @class */ (function () { return C; }()); var x; -// invalid left operand -// the left operand is required to be of type Any, an object type, or a type parameter type -var a1; -var a2; -var a3; var a4; var ra1 = a1 instanceof x; var ra2 = a2 instanceof x; @@ -71,15 +66,6 @@ var ra6 = true instanceof x; var ra7 = '' instanceof x; var ra8 = null instanceof x; var ra9 = undefined instanceof x; -// invalid right operand -// the right operand to be of type Any or a subtype of the 'Function' interface type -var b1; -var b2; -var b3; -var b4; -var o1; -var o2; -var o3; var rb1 = x instanceof b1; var rb2 = x instanceof b2; var rb3 = x instanceof b3; diff --git a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.symbols b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.symbols index 9a10203d97b14..8a344b1885c7d 100644 --- a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.symbols +++ b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.symbols @@ -13,31 +13,31 @@ var x: any; // invalid left operand // the left operand is required to be of type Any, an object type, or a type parameter type -var a1: number; ->a1 : Symbol(a1, Decl(instanceofOperatorWithInvalidOperands.ts, 8, 3)) +declare var a1: number; +>a1 : Symbol(a1, Decl(instanceofOperatorWithInvalidOperands.ts, 8, 11)) -var a2: boolean; ->a2 : Symbol(a2, Decl(instanceofOperatorWithInvalidOperands.ts, 9, 3)) +declare var a2: boolean; +>a2 : Symbol(a2, Decl(instanceofOperatorWithInvalidOperands.ts, 9, 11)) -var a3: string; ->a3 : Symbol(a3, Decl(instanceofOperatorWithInvalidOperands.ts, 10, 3)) +declare var a3: string; +>a3 : Symbol(a3, Decl(instanceofOperatorWithInvalidOperands.ts, 10, 11)) var a4: void; >a4 : Symbol(a4, Decl(instanceofOperatorWithInvalidOperands.ts, 11, 3)) var ra1 = a1 instanceof x; >ra1 : Symbol(ra1, Decl(instanceofOperatorWithInvalidOperands.ts, 13, 3)) ->a1 : Symbol(a1, Decl(instanceofOperatorWithInvalidOperands.ts, 8, 3)) +>a1 : Symbol(a1, Decl(instanceofOperatorWithInvalidOperands.ts, 8, 11)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.ts, 4, 3)) var ra2 = a2 instanceof x; >ra2 : Symbol(ra2, Decl(instanceofOperatorWithInvalidOperands.ts, 14, 3)) ->a2 : Symbol(a2, Decl(instanceofOperatorWithInvalidOperands.ts, 9, 3)) +>a2 : Symbol(a2, Decl(instanceofOperatorWithInvalidOperands.ts, 9, 11)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.ts, 4, 3)) var ra3 = a3 instanceof x; >ra3 : Symbol(ra3, Decl(instanceofOperatorWithInvalidOperands.ts, 15, 3)) ->a3 : Symbol(a3, Decl(instanceofOperatorWithInvalidOperands.ts, 10, 3)) +>a3 : Symbol(a3, Decl(instanceofOperatorWithInvalidOperands.ts, 10, 11)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.ts, 4, 3)) var ra4 = a4 instanceof x; @@ -68,48 +68,48 @@ var ra9 = undefined instanceof x; // invalid right operand // the right operand to be of type Any or a subtype of the 'Function' interface type -var b1: number; ->b1 : Symbol(b1, Decl(instanceofOperatorWithInvalidOperands.ts, 25, 3)) +declare var b1: number; +>b1 : Symbol(b1, Decl(instanceofOperatorWithInvalidOperands.ts, 25, 11)) -var b2: boolean; ->b2 : Symbol(b2, Decl(instanceofOperatorWithInvalidOperands.ts, 26, 3)) +declare var b2: boolean; +>b2 : Symbol(b2, Decl(instanceofOperatorWithInvalidOperands.ts, 26, 11)) -var b3: string; ->b3 : Symbol(b3, Decl(instanceofOperatorWithInvalidOperands.ts, 27, 3)) +declare var b3: string; +>b3 : Symbol(b3, Decl(instanceofOperatorWithInvalidOperands.ts, 27, 11)) -var b4: void; ->b4 : Symbol(b4, Decl(instanceofOperatorWithInvalidOperands.ts, 28, 3)) +declare var b4: void; +>b4 : Symbol(b4, Decl(instanceofOperatorWithInvalidOperands.ts, 28, 11)) -var o1: {}; ->o1 : Symbol(o1, Decl(instanceofOperatorWithInvalidOperands.ts, 29, 3)) +declare var o1: {}; +>o1 : Symbol(o1, Decl(instanceofOperatorWithInvalidOperands.ts, 29, 11)) -var o2: Object; ->o2 : Symbol(o2, Decl(instanceofOperatorWithInvalidOperands.ts, 30, 3)) +declare var o2: Object; +>o2 : Symbol(o2, Decl(instanceofOperatorWithInvalidOperands.ts, 30, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) -var o3: C; ->o3 : Symbol(o3, Decl(instanceofOperatorWithInvalidOperands.ts, 31, 3)) +declare var o3: C; +>o3 : Symbol(o3, Decl(instanceofOperatorWithInvalidOperands.ts, 31, 11)) >C : Symbol(C, Decl(instanceofOperatorWithInvalidOperands.ts, 0, 0)) var rb1 = x instanceof b1; >rb1 : Symbol(rb1, Decl(instanceofOperatorWithInvalidOperands.ts, 33, 3)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.ts, 4, 3)) ->b1 : Symbol(b1, Decl(instanceofOperatorWithInvalidOperands.ts, 25, 3)) +>b1 : Symbol(b1, Decl(instanceofOperatorWithInvalidOperands.ts, 25, 11)) var rb2 = x instanceof b2; >rb2 : Symbol(rb2, Decl(instanceofOperatorWithInvalidOperands.ts, 34, 3)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.ts, 4, 3)) ->b2 : Symbol(b2, Decl(instanceofOperatorWithInvalidOperands.ts, 26, 3)) +>b2 : Symbol(b2, Decl(instanceofOperatorWithInvalidOperands.ts, 26, 11)) var rb3 = x instanceof b3; >rb3 : Symbol(rb3, Decl(instanceofOperatorWithInvalidOperands.ts, 35, 3)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.ts, 4, 3)) ->b3 : Symbol(b3, Decl(instanceofOperatorWithInvalidOperands.ts, 27, 3)) +>b3 : Symbol(b3, Decl(instanceofOperatorWithInvalidOperands.ts, 27, 11)) var rb4 = x instanceof b4; >rb4 : Symbol(rb4, Decl(instanceofOperatorWithInvalidOperands.ts, 36, 3)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.ts, 4, 3)) ->b4 : Symbol(b4, Decl(instanceofOperatorWithInvalidOperands.ts, 28, 3)) +>b4 : Symbol(b4, Decl(instanceofOperatorWithInvalidOperands.ts, 28, 11)) var rb5 = x instanceof 0; >rb5 : Symbol(rb5, Decl(instanceofOperatorWithInvalidOperands.ts, 37, 3)) @@ -126,17 +126,17 @@ var rb7 = x instanceof ''; var rb8 = x instanceof o1; >rb8 : Symbol(rb8, Decl(instanceofOperatorWithInvalidOperands.ts, 40, 3)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.ts, 4, 3)) ->o1 : Symbol(o1, Decl(instanceofOperatorWithInvalidOperands.ts, 29, 3)) +>o1 : Symbol(o1, Decl(instanceofOperatorWithInvalidOperands.ts, 29, 11)) var rb9 = x instanceof o2; >rb9 : Symbol(rb9, Decl(instanceofOperatorWithInvalidOperands.ts, 41, 3)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.ts, 4, 3)) ->o2 : Symbol(o2, Decl(instanceofOperatorWithInvalidOperands.ts, 30, 3)) +>o2 : Symbol(o2, Decl(instanceofOperatorWithInvalidOperands.ts, 30, 11)) var rb10 = x instanceof o3; >rb10 : Symbol(rb10, Decl(instanceofOperatorWithInvalidOperands.ts, 42, 3)) >x : Symbol(x, Decl(instanceofOperatorWithInvalidOperands.ts, 4, 3)) ->o3 : Symbol(o3, Decl(instanceofOperatorWithInvalidOperands.ts, 31, 3)) +>o3 : Symbol(o3, Decl(instanceofOperatorWithInvalidOperands.ts, 31, 11)) // both operands are invalid var rc1 = '' instanceof {}; diff --git a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.types b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.types index a69a90c78ce97..5d625e0357d1e 100644 --- a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.types +++ b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.types @@ -16,15 +16,15 @@ var x: any; // invalid left operand // the left operand is required to be of type Any, an object type, or a type parameter type -var a1: number; +declare var a1: number; >a1 : number > : ^^^^^^ -var a2: boolean; +declare var a2: boolean; >a2 : boolean > : ^^^^^^^ -var a3: string; +declare var a3: string; >a3 : string > : ^^^^^^ @@ -122,31 +122,31 @@ var ra9 = undefined instanceof x; // invalid right operand // the right operand to be of type Any or a subtype of the 'Function' interface type -var b1: number; +declare var b1: number; >b1 : number > : ^^^^^^ -var b2: boolean; +declare var b2: boolean; >b2 : boolean > : ^^^^^^^ -var b3: string; +declare var b3: string; >b3 : string > : ^^^^^^ -var b4: void; +declare var b4: void; >b4 : void > : ^^^^ -var o1: {}; +declare var o1: {}; >o1 : {} > : ^^ -var o2: Object; +declare var o2: Object; >o2 : Object > : ^^^^^^ -var o3: C; +declare var o3: C; >o3 : C > : ^ diff --git a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.errors.txt b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.errors.txt index 32e765fd462a4..45769b668f598 100644 --- a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.errors.txt +++ b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.errors.txt @@ -9,7 +9,7 @@ instantiateNonGenericTypeWithTypeArguments.ts(18,10): error TS2347: Untyped func // all of these are errors class C { - x: string; + x!: string; } var c = new C(); @@ -21,7 +21,7 @@ instantiateNonGenericTypeWithTypeArguments.ts(18,10): error TS2347: Untyped func ~~~~~~ !!! error TS2558: Expected 0 type arguments, but got 1. - var f: { (): void }; + declare var f: { (): void }; var r2 = new f(); ~~~~~~ !!! error TS2558: Expected 0 type arguments, but got 1. diff --git a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.js b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.js index e34f3394a44be..0b4ecc6ccf469 100644 --- a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.js +++ b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.js @@ -5,7 +5,7 @@ // all of these are errors class C { - x: string; + x!: string; } var c = new C(); @@ -13,7 +13,7 @@ var c = new C(); function Foo(): void { } var r = new Foo(); -var f: { (): void }; +declare var f: { (): void }; var r2 = new f(); var a: any; @@ -31,7 +31,6 @@ var C = /** @class */ (function () { var c = new C(); function Foo() { } var r = new Foo(); -var f; var r2 = new f(); var a; // BUG 790977 diff --git a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.symbols b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.symbols index fc22359c8b33e..6342f22294528 100644 --- a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.symbols +++ b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.symbols @@ -7,7 +7,7 @@ class C { >C : Symbol(C, Decl(instantiateNonGenericTypeWithTypeArguments.ts, 0, 0)) - x: string; + x!: string; >x : Symbol(C.x, Decl(instantiateNonGenericTypeWithTypeArguments.ts, 3, 9)) } @@ -22,12 +22,12 @@ var r = new Foo(); >r : Symbol(r, Decl(instantiateNonGenericTypeWithTypeArguments.ts, 10, 3)) >Foo : Symbol(Foo, Decl(instantiateNonGenericTypeWithTypeArguments.ts, 7, 24)) -var f: { (): void }; ->f : Symbol(f, Decl(instantiateNonGenericTypeWithTypeArguments.ts, 12, 3)) +declare var f: { (): void }; +>f : Symbol(f, Decl(instantiateNonGenericTypeWithTypeArguments.ts, 12, 11)) var r2 = new f(); >r2 : Symbol(r2, Decl(instantiateNonGenericTypeWithTypeArguments.ts, 13, 3), Decl(instantiateNonGenericTypeWithTypeArguments.ts, 17, 3)) ->f : Symbol(f, Decl(instantiateNonGenericTypeWithTypeArguments.ts, 12, 3)) +>f : Symbol(f, Decl(instantiateNonGenericTypeWithTypeArguments.ts, 12, 11)) var a: any; >a : Symbol(a, Decl(instantiateNonGenericTypeWithTypeArguments.ts, 15, 3)) diff --git a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types index 122bffd2bd563..a04a58d2e8241 100644 --- a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types +++ b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types @@ -8,7 +8,7 @@ class C { >C : C > : ^ - x: string; + x!: string; >x : string > : ^^^^^^ } @@ -33,7 +33,7 @@ var r = new Foo(); >Foo : () => void > : ^^^^^^ -var f: { (): void }; +declare var f: { (): void }; >f : () => void > : ^^^^^^ diff --git a/tests/baselines/reference/intTypeCheck.errors.txt b/tests/baselines/reference/intTypeCheck.errors.txt index 7555e19a87bbb..106687e9d5c29 100644 --- a/tests/baselines/reference/intTypeCheck.errors.txt +++ b/tests/baselines/reference/intTypeCheck.errors.txt @@ -194,7 +194,7 @@ intTypeCheck.ts(205,21): error TS2351: This expression is not constructable. // // Property signatures // - var obj0: i1; + declare var obj0: i1; var obj1: i1 = { p: null, p3: function ():any { return 0; }, @@ -232,7 +232,7 @@ intTypeCheck.ts(205,21): error TS2351: This expression is not constructable. // // Call signatures // - var obj11: i2; + declare var obj11: i2; var obj12: i2 = {}; ~~~~~ !!! error TS2322: Type '{}' is not assignable to type 'i2'. @@ -267,7 +267,7 @@ intTypeCheck.ts(205,21): error TS2351: This expression is not constructable. // // Construct Signatures // - var obj22: i3; + declare var obj22: i3; var obj23: i3 = {}; ~~~~~ !!! error TS2322: Type '{}' is not assignable to type 'i3'. @@ -303,7 +303,7 @@ intTypeCheck.ts(205,21): error TS2351: This expression is not constructable. // // Index Signatures // - var obj33: i4; + declare var obj33: i4; var obj34: i4 = {}; var obj35: i4 = new Object(); var obj36: i4 = new obj33; @@ -329,7 +329,7 @@ intTypeCheck.ts(205,21): error TS2351: This expression is not constructable. // // Interface Derived I1 // - var obj44: i5; + declare var obj44: i5; var obj45: i5 = {}; ~~~~~ !!! error TS2739: Type '{}' is missing the following properties from type 'i5': p, p3, p6 @@ -364,7 +364,7 @@ intTypeCheck.ts(205,21): error TS2351: This expression is not constructable. // // Interface Derived I2 // - var obj55: i6; + declare var obj55: i6; var obj56: i6 = {}; ~~~~~ !!! error TS2322: Type '{}' is not assignable to type 'i6'. @@ -402,7 +402,7 @@ intTypeCheck.ts(205,21): error TS2351: This expression is not constructable. // // Interface Derived I3 // - var obj66: i7; + declare var obj66: i7; var obj67: i7 = {}; ~~~~~ !!! error TS2322: Type '{}' is not assignable to type 'i7'. @@ -438,7 +438,7 @@ intTypeCheck.ts(205,21): error TS2351: This expression is not constructable. // // Interface Derived I4 // - var obj77: i8; + declare var obj77: i8; var obj78: i8 = {}; var obj79: i8 = new Object(); var obj80: i8 = new obj77; diff --git a/tests/baselines/reference/intTypeCheck.js b/tests/baselines/reference/intTypeCheck.js index 757ed02e5dddf..2efd21cbe1902 100644 --- a/tests/baselines/reference/intTypeCheck.js +++ b/tests/baselines/reference/intTypeCheck.js @@ -92,7 +92,7 @@ var anyVar: any; // // Property signatures // -var obj0: i1; +declare var obj0: i1; var obj1: i1 = { p: null, p3: function ():any { return 0; }, @@ -111,7 +111,7 @@ var obj10: i1 = new {}; // // Call signatures // -var obj11: i2; +declare var obj11: i2; var obj12: i2 = {}; var obj13: i2 = new Object(); var obj14: i2 = new obj11; @@ -125,7 +125,7 @@ var obj21: i2 = new {}; // // Construct Signatures // -var obj22: i3; +declare var obj22: i3; var obj23: i3 = {}; var obj24: i3 = new Object(); var obj25: i3 = new obj22; @@ -139,7 +139,7 @@ var obj32: i3 = new {}; // // Index Signatures // -var obj33: i4; +declare var obj33: i4; var obj34: i4 = {}; var obj35: i4 = new Object(); var obj36: i4 = new obj33; @@ -153,7 +153,7 @@ var obj43: i4 = new {}; // // Interface Derived I1 // -var obj44: i5; +declare var obj44: i5; var obj45: i5 = {}; var obj46: i5 = new Object(); var obj47: i5 = new obj44; @@ -167,7 +167,7 @@ var obj54: i5 = new {}; // // Interface Derived I2 // -var obj55: i6; +declare var obj55: i6; var obj56: i6 = {}; var obj57: i6 = new Object(); var obj58: i6 = new obj55; @@ -181,7 +181,7 @@ var obj65: i6 = new {}; // // Interface Derived I3 // -var obj66: i7; +declare var obj66: i7; var obj67: i7 = {}; var obj68: i7 = new Object(); var obj69: i7 = new obj66; @@ -195,7 +195,7 @@ var obj76: i7 = new {}; // // Interface Derived I4 // -var obj77: i8; +declare var obj77: i8; var obj78: i8 = {}; var obj79: i8 = new Object(); var obj80: i8 = new obj77; @@ -215,10 +215,6 @@ var Base = /** @class */ (function () { return Base; }()); var anyVar; -// -// Property signatures -// -var obj0; var obj1 = { p: null, p3: function () { return 0; }, @@ -234,10 +230,6 @@ var obj6 = function () { }; var obj8 = anyVar; var obj9 = new < i1 > anyVar; var obj10 = new {}; -// -// Call signatures -// -var obj11; var obj12 = {}; var obj13 = new Object(); var obj14 = new obj11; @@ -248,10 +240,6 @@ var obj17 = function () { return 0; }; var obj19 = anyVar; var obj20 = new < i2 > anyVar; var obj21 = new {}; -// -// Construct Signatures -// -var obj22; var obj23 = {}; var obj24 = new Object(); var obj25 = new obj22; @@ -262,10 +250,6 @@ var obj28 = function () { }; var obj30 = anyVar; var obj31 = new < i3 > anyVar; var obj32 = new {}; -// -// Index Signatures -// -var obj33; var obj34 = {}; var obj35 = new Object(); var obj36 = new obj33; @@ -276,10 +260,6 @@ var obj39 = function () { }; var obj41 = anyVar; var obj42 = new < i4 > anyVar; var obj43 = new {}; -// -// Interface Derived I1 -// -var obj44; var obj45 = {}; var obj46 = new Object(); var obj47 = new obj44; @@ -290,10 +270,6 @@ var obj50 = function () { }; var obj52 = anyVar; var obj53 = new < i5 > anyVar; var obj54 = new {}; -// -// Interface Derived I2 -// -var obj55; var obj56 = {}; var obj57 = new Object(); var obj58 = new obj55; @@ -304,10 +280,6 @@ var obj61 = function () { }; var obj63 = anyVar; var obj64 = new < i6 > anyVar; var obj65 = new {}; -// -// Interface Derived I3 -// -var obj66; var obj67 = {}; var obj68 = new Object(); var obj69 = new obj66; @@ -318,10 +290,6 @@ var obj72 = function () { }; var obj74 = anyVar; var obj75 = new < i7 > anyVar; var obj76 = new {}; -// -// Interface Derived I4 -// -var obj77; var obj78 = {}; var obj79 = new Object(); var obj80 = new obj77; diff --git a/tests/baselines/reference/intTypeCheck.symbols b/tests/baselines/reference/intTypeCheck.symbols index dcdddf3eea17f..b156159f70faa 100644 --- a/tests/baselines/reference/intTypeCheck.symbols +++ b/tests/baselines/reference/intTypeCheck.symbols @@ -220,8 +220,8 @@ var anyVar: any; // // Property signatures // -var obj0: i1; ->obj0 : Symbol(obj0, Decl(intTypeCheck.ts, 91, 3)) +declare var obj0: i1; +>obj0 : Symbol(obj0, Decl(intTypeCheck.ts, 91, 11)) >i1 : Symbol(i1, Decl(intTypeCheck.ts, 0, 0)) var obj1: i1 = { @@ -252,7 +252,7 @@ var obj2: i1 = new Object(); var obj3: i1 = new obj0; >obj3 : Symbol(obj3, Decl(intTypeCheck.ts, 99, 3)) >i1 : Symbol(i1, Decl(intTypeCheck.ts, 0, 0)) ->obj0 : Symbol(obj0, Decl(intTypeCheck.ts, 91, 3)) +>obj0 : Symbol(obj0, Decl(intTypeCheck.ts, 91, 11)) var obj4: i1 = new Base; >obj4 : Symbol(obj4, Decl(intTypeCheck.ts, 100, 3)) @@ -286,8 +286,8 @@ var obj10: i1 = new {}; // // Call signatures // -var obj11: i2; ->obj11 : Symbol(obj11, Decl(intTypeCheck.ts, 110, 3)) +declare var obj11: i2; +>obj11 : Symbol(obj11, Decl(intTypeCheck.ts, 110, 11)) >i2 : Symbol(i2, Decl(intTypeCheck.ts, 10, 1)) var obj12: i2 = {}; @@ -302,7 +302,7 @@ var obj13: i2 = new Object(); var obj14: i2 = new obj11; >obj14 : Symbol(obj14, Decl(intTypeCheck.ts, 113, 3)) >i2 : Symbol(i2, Decl(intTypeCheck.ts, 10, 1)) ->obj11 : Symbol(obj11, Decl(intTypeCheck.ts, 110, 3)) +>obj11 : Symbol(obj11, Decl(intTypeCheck.ts, 110, 11)) var obj15: i2 = new Base; >obj15 : Symbol(obj15, Decl(intTypeCheck.ts, 114, 3)) @@ -336,8 +336,8 @@ var obj21: i2 = new {}; // // Construct Signatures // -var obj22: i3; ->obj22 : Symbol(obj22, Decl(intTypeCheck.ts, 124, 3)) +declare var obj22: i3; +>obj22 : Symbol(obj22, Decl(intTypeCheck.ts, 124, 11)) >i3 : Symbol(i3, Decl(intTypeCheck.ts, 21, 1)) var obj23: i3 = {}; @@ -352,7 +352,7 @@ var obj24: i3 = new Object(); var obj25: i3 = new obj22; >obj25 : Symbol(obj25, Decl(intTypeCheck.ts, 127, 3)) >i3 : Symbol(i3, Decl(intTypeCheck.ts, 21, 1)) ->obj22 : Symbol(obj22, Decl(intTypeCheck.ts, 124, 3)) +>obj22 : Symbol(obj22, Decl(intTypeCheck.ts, 124, 11)) var obj26: i3 = new Base; >obj26 : Symbol(obj26, Decl(intTypeCheck.ts, 128, 3)) @@ -386,8 +386,8 @@ var obj32: i3 = new {}; // // Index Signatures // -var obj33: i4; ->obj33 : Symbol(obj33, Decl(intTypeCheck.ts, 138, 3)) +declare var obj33: i4; +>obj33 : Symbol(obj33, Decl(intTypeCheck.ts, 138, 11)) >i4 : Symbol(i4, Decl(intTypeCheck.ts, 31, 1)) var obj34: i4 = {}; @@ -402,7 +402,7 @@ var obj35: i4 = new Object(); var obj36: i4 = new obj33; >obj36 : Symbol(obj36, Decl(intTypeCheck.ts, 141, 3)) >i4 : Symbol(i4, Decl(intTypeCheck.ts, 31, 1)) ->obj33 : Symbol(obj33, Decl(intTypeCheck.ts, 138, 3)) +>obj33 : Symbol(obj33, Decl(intTypeCheck.ts, 138, 11)) var obj37: i4 = new Base; >obj37 : Symbol(obj37, Decl(intTypeCheck.ts, 142, 3)) @@ -436,8 +436,8 @@ var obj43: i4 = new {}; // // Interface Derived I1 // -var obj44: i5; ->obj44 : Symbol(obj44, Decl(intTypeCheck.ts, 152, 3)) +declare var obj44: i5; +>obj44 : Symbol(obj44, Decl(intTypeCheck.ts, 152, 11)) >i5 : Symbol(i5, Decl(intTypeCheck.ts, 38, 1)) var obj45: i5 = {}; @@ -452,7 +452,7 @@ var obj46: i5 = new Object(); var obj47: i5 = new obj44; >obj47 : Symbol(obj47, Decl(intTypeCheck.ts, 155, 3)) >i5 : Symbol(i5, Decl(intTypeCheck.ts, 38, 1)) ->obj44 : Symbol(obj44, Decl(intTypeCheck.ts, 152, 3)) +>obj44 : Symbol(obj44, Decl(intTypeCheck.ts, 152, 11)) var obj48: i5 = new Base; >obj48 : Symbol(obj48, Decl(intTypeCheck.ts, 156, 3)) @@ -486,8 +486,8 @@ var obj54: i5 = new {}; // // Interface Derived I2 // -var obj55: i6; ->obj55 : Symbol(obj55, Decl(intTypeCheck.ts, 166, 3)) +declare var obj55: i6; +>obj55 : Symbol(obj55, Decl(intTypeCheck.ts, 166, 11)) >i6 : Symbol(i6, Decl(intTypeCheck.ts, 39, 27)) var obj56: i6 = {}; @@ -502,7 +502,7 @@ var obj57: i6 = new Object(); var obj58: i6 = new obj55; >obj58 : Symbol(obj58, Decl(intTypeCheck.ts, 169, 3)) >i6 : Symbol(i6, Decl(intTypeCheck.ts, 39, 27)) ->obj55 : Symbol(obj55, Decl(intTypeCheck.ts, 166, 3)) +>obj55 : Symbol(obj55, Decl(intTypeCheck.ts, 166, 11)) var obj59: i6 = new Base; >obj59 : Symbol(obj59, Decl(intTypeCheck.ts, 170, 3)) @@ -536,8 +536,8 @@ var obj65: i6 = new {}; // // Interface Derived I3 // -var obj66: i7; ->obj66 : Symbol(obj66, Decl(intTypeCheck.ts, 180, 3)) +declare var obj66: i7; +>obj66 : Symbol(obj66, Decl(intTypeCheck.ts, 180, 11)) >i7 : Symbol(i7, Decl(intTypeCheck.ts, 40, 27)) var obj67: i7 = {}; @@ -552,7 +552,7 @@ var obj68: i7 = new Object(); var obj69: i7 = new obj66; >obj69 : Symbol(obj69, Decl(intTypeCheck.ts, 183, 3)) >i7 : Symbol(i7, Decl(intTypeCheck.ts, 40, 27)) ->obj66 : Symbol(obj66, Decl(intTypeCheck.ts, 180, 3)) +>obj66 : Symbol(obj66, Decl(intTypeCheck.ts, 180, 11)) var obj70: i7 = new Base; >obj70 : Symbol(obj70, Decl(intTypeCheck.ts, 184, 3)) @@ -587,8 +587,8 @@ var obj76: i7 = new {}; // // Interface Derived I4 // -var obj77: i8; ->obj77 : Symbol(obj77, Decl(intTypeCheck.ts, 194, 3)) +declare var obj77: i8; +>obj77 : Symbol(obj77, Decl(intTypeCheck.ts, 194, 11)) >i8 : Symbol(i8, Decl(intTypeCheck.ts, 41, 27)) var obj78: i8 = {}; @@ -603,7 +603,7 @@ var obj79: i8 = new Object(); var obj80: i8 = new obj77; >obj80 : Symbol(obj80, Decl(intTypeCheck.ts, 197, 3)) >i8 : Symbol(i8, Decl(intTypeCheck.ts, 41, 27)) ->obj77 : Symbol(obj77, Decl(intTypeCheck.ts, 194, 3)) +>obj77 : Symbol(obj77, Decl(intTypeCheck.ts, 194, 11)) var obj81: i8 = new Base; >obj81 : Symbol(obj81, Decl(intTypeCheck.ts, 198, 3)) diff --git a/tests/baselines/reference/intTypeCheck.types b/tests/baselines/reference/intTypeCheck.types index cf1d1dc400001..ad188272b3de0 100644 --- a/tests/baselines/reference/intTypeCheck.types +++ b/tests/baselines/reference/intTypeCheck.types @@ -267,7 +267,7 @@ var anyVar: any; // // Property signatures // -var obj0: i1; +declare var obj0: i1; >obj0 : i1 > : ^^ @@ -382,7 +382,7 @@ var obj10: i1 = new {}; // // Call signatures // -var obj11: i2; +declare var obj11: i2; >obj11 : i2 > : ^^ @@ -464,7 +464,7 @@ var obj21: i2 = new {}; // // Construct Signatures // -var obj22: i3; +declare var obj22: i3; >obj22 : i3 > : ^^ @@ -544,7 +544,7 @@ var obj32: i3 = new {}; // // Index Signatures // -var obj33: i4; +declare var obj33: i4; >obj33 : i4 > : ^^ @@ -624,7 +624,7 @@ var obj43: i4 = new {}; // // Interface Derived I1 // -var obj44: i5; +declare var obj44: i5; >obj44 : i5 > : ^^ @@ -704,7 +704,7 @@ var obj54: i5 = new {}; // // Interface Derived I2 // -var obj55: i6; +declare var obj55: i6; >obj55 : i6 > : ^^ @@ -784,7 +784,7 @@ var obj65: i6 = new {}; // // Interface Derived I3 // -var obj66: i7; +declare var obj66: i7; >obj66 : i7 > : ^^ @@ -866,7 +866,7 @@ var obj76: i7 = new {}; // // Interface Derived I4 // -var obj77: i8; +declare var obj77: i8; >obj77 : i8 > : ^^ diff --git a/tests/baselines/reference/interfaceExtendingClassWithPrivates.errors.txt b/tests/baselines/reference/interfaceExtendingClassWithPrivates.errors.txt index 47e3f90201708..098b8307e1944 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithPrivates.errors.txt +++ b/tests/baselines/reference/interfaceExtendingClassWithPrivates.errors.txt @@ -5,7 +5,7 @@ interfaceExtendingClassWithPrivates.ts(15,12): error TS2341: Property 'x' is pri ==== interfaceExtendingClassWithPrivates.ts (2 errors) ==== class Foo { - private x: string; + private x!: string; } interface I extends Foo { // error @@ -19,7 +19,7 @@ interfaceExtendingClassWithPrivates.ts(15,12): error TS2341: Property 'x' is pri y: string; } - var i: I2; + declare var i: I2; var r = i.y; var r2 = i.x; // error ~ diff --git a/tests/baselines/reference/interfaceExtendingClassWithPrivates.js b/tests/baselines/reference/interfaceExtendingClassWithPrivates.js index e65f79cc841e9..57fc7fe3b6d23 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithPrivates.js +++ b/tests/baselines/reference/interfaceExtendingClassWithPrivates.js @@ -2,7 +2,7 @@ //// [interfaceExtendingClassWithPrivates.ts] class Foo { - private x: string; + private x!: string; } interface I extends Foo { // error @@ -13,7 +13,7 @@ interface I2 extends Foo { y: string; } -var i: I2; +declare var i: I2; var r = i.y; var r2 = i.x; // error @@ -23,6 +23,5 @@ var Foo = /** @class */ (function () { } return Foo; }()); -var i; var r = i.y; var r2 = i.x; // error diff --git a/tests/baselines/reference/interfaceExtendingClassWithPrivates.symbols b/tests/baselines/reference/interfaceExtendingClassWithPrivates.symbols index b592c0b2be2d1..81c0af39777c4 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithPrivates.symbols +++ b/tests/baselines/reference/interfaceExtendingClassWithPrivates.symbols @@ -4,7 +4,7 @@ class Foo { >Foo : Symbol(Foo, Decl(interfaceExtendingClassWithPrivates.ts, 0, 0)) - private x: string; + private x!: string; >x : Symbol(Foo.x, Decl(interfaceExtendingClassWithPrivates.ts, 0, 11)) } @@ -24,19 +24,19 @@ interface I2 extends Foo { >y : Symbol(I2.y, Decl(interfaceExtendingClassWithPrivates.ts, 8, 26)) } -var i: I2; ->i : Symbol(i, Decl(interfaceExtendingClassWithPrivates.ts, 12, 3)) +declare var i: I2; +>i : Symbol(i, Decl(interfaceExtendingClassWithPrivates.ts, 12, 11)) >I2 : Symbol(I2, Decl(interfaceExtendingClassWithPrivates.ts, 6, 1)) var r = i.y; >r : Symbol(r, Decl(interfaceExtendingClassWithPrivates.ts, 13, 3)) >i.y : Symbol(I2.y, Decl(interfaceExtendingClassWithPrivates.ts, 8, 26)) ->i : Symbol(i, Decl(interfaceExtendingClassWithPrivates.ts, 12, 3)) +>i : Symbol(i, Decl(interfaceExtendingClassWithPrivates.ts, 12, 11)) >y : Symbol(I2.y, Decl(interfaceExtendingClassWithPrivates.ts, 8, 26)) var r2 = i.x; // error >r2 : Symbol(r2, Decl(interfaceExtendingClassWithPrivates.ts, 14, 3)) >i.x : Symbol(Foo.x, Decl(interfaceExtendingClassWithPrivates.ts, 0, 11)) ->i : Symbol(i, Decl(interfaceExtendingClassWithPrivates.ts, 12, 3)) +>i : Symbol(i, Decl(interfaceExtendingClassWithPrivates.ts, 12, 11)) >x : Symbol(Foo.x, Decl(interfaceExtendingClassWithPrivates.ts, 0, 11)) diff --git a/tests/baselines/reference/interfaceExtendingClassWithPrivates.types b/tests/baselines/reference/interfaceExtendingClassWithPrivates.types index e9a39f256bcb7..b024ac3bd7c22 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithPrivates.types +++ b/tests/baselines/reference/interfaceExtendingClassWithPrivates.types @@ -5,7 +5,7 @@ class Foo { >Foo : Foo > : ^^^ - private x: string; + private x!: string; >x : string > : ^^^^^^ } @@ -22,7 +22,7 @@ interface I2 extends Foo { > : ^^^^^^ } -var i: I2; +declare var i: I2; >i : I2 > : ^^ diff --git a/tests/baselines/reference/interfaceExtendingClassWithPrivates2.errors.txt b/tests/baselines/reference/interfaceExtendingClassWithPrivates2.errors.txt index 83b2eaad3e5c2..75ae60ea9a0ff 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithPrivates2.errors.txt +++ b/tests/baselines/reference/interfaceExtendingClassWithPrivates2.errors.txt @@ -10,11 +10,11 @@ interfaceExtendingClassWithPrivates2.ts(27,12): error TS2341: Property 'y' is pr ==== interfaceExtendingClassWithPrivates2.ts (5 errors) ==== class Foo { - private x: string; + private x!: string; } class Bar { - private x: string; + private x!: string; } interface I3 extends Foo, Bar { // error @@ -34,14 +34,14 @@ interfaceExtendingClassWithPrivates2.ts(27,12): error TS2341: Property 'y' is pr } class Baz { - private y: string; + private y!: string; } interface I5 extends Foo, Baz { z: string; } - var i: I5; + declare var i: I5; var r: string = i.z; var r2 = i.x; // error ~ diff --git a/tests/baselines/reference/interfaceExtendingClassWithPrivates2.js b/tests/baselines/reference/interfaceExtendingClassWithPrivates2.js index 10180549c2dcb..d7de9354dbd79 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithPrivates2.js +++ b/tests/baselines/reference/interfaceExtendingClassWithPrivates2.js @@ -2,11 +2,11 @@ //// [interfaceExtendingClassWithPrivates2.ts] class Foo { - private x: string; + private x!: string; } class Bar { - private x: string; + private x!: string; } interface I3 extends Foo, Bar { // error @@ -17,14 +17,14 @@ interface I4 extends Foo, Bar { // error } class Baz { - private y: string; + private y!: string; } interface I5 extends Foo, Baz { z: string; } -var i: I5; +declare var i: I5; var r: string = i.z; var r2 = i.x; // error var r3 = i.y; // error @@ -45,7 +45,6 @@ var Baz = /** @class */ (function () { } return Baz; }()); -var i; var r = i.z; var r2 = i.x; // error var r3 = i.y; // error diff --git a/tests/baselines/reference/interfaceExtendingClassWithPrivates2.symbols b/tests/baselines/reference/interfaceExtendingClassWithPrivates2.symbols index 43739965c1552..1f29df2670527 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithPrivates2.symbols +++ b/tests/baselines/reference/interfaceExtendingClassWithPrivates2.symbols @@ -4,14 +4,14 @@ class Foo { >Foo : Symbol(Foo, Decl(interfaceExtendingClassWithPrivates2.ts, 0, 0)) - private x: string; + private x!: string; >x : Symbol(Foo.x, Decl(interfaceExtendingClassWithPrivates2.ts, 0, 11)) } class Bar { >Bar : Symbol(Bar, Decl(interfaceExtendingClassWithPrivates2.ts, 2, 1)) - private x: string; + private x!: string; >x : Symbol(Bar.x, Decl(interfaceExtendingClassWithPrivates2.ts, 4, 11)) } @@ -33,7 +33,7 @@ interface I4 extends Foo, Bar { // error class Baz { >Baz : Symbol(Baz, Decl(interfaceExtendingClassWithPrivates2.ts, 13, 1)) - private y: string; + private y!: string; >y : Symbol(Baz.y, Decl(interfaceExtendingClassWithPrivates2.ts, 15, 11)) } @@ -46,25 +46,25 @@ interface I5 extends Foo, Baz { >z : Symbol(I5.z, Decl(interfaceExtendingClassWithPrivates2.ts, 19, 31)) } -var i: I5; ->i : Symbol(i, Decl(interfaceExtendingClassWithPrivates2.ts, 23, 3)) +declare var i: I5; +>i : Symbol(i, Decl(interfaceExtendingClassWithPrivates2.ts, 23, 11)) >I5 : Symbol(I5, Decl(interfaceExtendingClassWithPrivates2.ts, 17, 1)) var r: string = i.z; >r : Symbol(r, Decl(interfaceExtendingClassWithPrivates2.ts, 24, 3)) >i.z : Symbol(I5.z, Decl(interfaceExtendingClassWithPrivates2.ts, 19, 31)) ->i : Symbol(i, Decl(interfaceExtendingClassWithPrivates2.ts, 23, 3)) +>i : Symbol(i, Decl(interfaceExtendingClassWithPrivates2.ts, 23, 11)) >z : Symbol(I5.z, Decl(interfaceExtendingClassWithPrivates2.ts, 19, 31)) var r2 = i.x; // error >r2 : Symbol(r2, Decl(interfaceExtendingClassWithPrivates2.ts, 25, 3)) >i.x : Symbol(Foo.x, Decl(interfaceExtendingClassWithPrivates2.ts, 0, 11)) ->i : Symbol(i, Decl(interfaceExtendingClassWithPrivates2.ts, 23, 3)) +>i : Symbol(i, Decl(interfaceExtendingClassWithPrivates2.ts, 23, 11)) >x : Symbol(Foo.x, Decl(interfaceExtendingClassWithPrivates2.ts, 0, 11)) var r3 = i.y; // error >r3 : Symbol(r3, Decl(interfaceExtendingClassWithPrivates2.ts, 26, 3)) >i.y : Symbol(Baz.y, Decl(interfaceExtendingClassWithPrivates2.ts, 15, 11)) ->i : Symbol(i, Decl(interfaceExtendingClassWithPrivates2.ts, 23, 3)) +>i : Symbol(i, Decl(interfaceExtendingClassWithPrivates2.ts, 23, 11)) >y : Symbol(Baz.y, Decl(interfaceExtendingClassWithPrivates2.ts, 15, 11)) diff --git a/tests/baselines/reference/interfaceExtendingClassWithPrivates2.types b/tests/baselines/reference/interfaceExtendingClassWithPrivates2.types index ac1436e405c6c..fb5735221e94b 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithPrivates2.types +++ b/tests/baselines/reference/interfaceExtendingClassWithPrivates2.types @@ -5,7 +5,7 @@ class Foo { >Foo : Foo > : ^^^ - private x: string; + private x!: string; >x : string > : ^^^^^^ } @@ -14,7 +14,7 @@ class Bar { >Bar : Bar > : ^^^ - private x: string; + private x!: string; >x : string > : ^^^^^^ } @@ -32,7 +32,7 @@ class Baz { >Baz : Baz > : ^^^ - private y: string; + private y!: string; >y : string > : ^^^^^^ } @@ -43,7 +43,7 @@ interface I5 extends Foo, Baz { > : ^^^^^^ } -var i: I5; +declare var i: I5; >i : I5 > : ^^ diff --git a/tests/baselines/reference/interfaceExtendingClassWithProtecteds.errors.txt b/tests/baselines/reference/interfaceExtendingClassWithProtecteds.errors.txt index 179b5b81e0d03..4694288621c0f 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithProtecteds.errors.txt +++ b/tests/baselines/reference/interfaceExtendingClassWithProtecteds.errors.txt @@ -5,7 +5,7 @@ interfaceExtendingClassWithProtecteds.ts(15,12): error TS2445: Property 'x' is p ==== interfaceExtendingClassWithProtecteds.ts (2 errors) ==== class Foo { - protected x: string; + protected x!: string; } interface I extends Foo { // error @@ -19,7 +19,7 @@ interfaceExtendingClassWithProtecteds.ts(15,12): error TS2445: Property 'x' is p y: string; } - var i: I2; + declare var i: I2; var r = i.y; var r2 = i.x; // error ~ diff --git a/tests/baselines/reference/interfaceExtendingClassWithProtecteds.js b/tests/baselines/reference/interfaceExtendingClassWithProtecteds.js index 60174da5d4ac9..a31d644cbae70 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithProtecteds.js +++ b/tests/baselines/reference/interfaceExtendingClassWithProtecteds.js @@ -2,7 +2,7 @@ //// [interfaceExtendingClassWithProtecteds.ts] class Foo { - protected x: string; + protected x!: string; } interface I extends Foo { // error @@ -13,7 +13,7 @@ interface I2 extends Foo { y: string; } -var i: I2; +declare var i: I2; var r = i.y; var r2 = i.x; // error @@ -23,6 +23,5 @@ var Foo = /** @class */ (function () { } return Foo; }()); -var i; var r = i.y; var r2 = i.x; // error diff --git a/tests/baselines/reference/interfaceExtendingClassWithProtecteds.symbols b/tests/baselines/reference/interfaceExtendingClassWithProtecteds.symbols index d46b386b3aad5..ef037931b4b86 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithProtecteds.symbols +++ b/tests/baselines/reference/interfaceExtendingClassWithProtecteds.symbols @@ -4,7 +4,7 @@ class Foo { >Foo : Symbol(Foo, Decl(interfaceExtendingClassWithProtecteds.ts, 0, 0)) - protected x: string; + protected x!: string; >x : Symbol(Foo.x, Decl(interfaceExtendingClassWithProtecteds.ts, 0, 11)) } @@ -24,19 +24,19 @@ interface I2 extends Foo { >y : Symbol(I2.y, Decl(interfaceExtendingClassWithProtecteds.ts, 8, 26)) } -var i: I2; ->i : Symbol(i, Decl(interfaceExtendingClassWithProtecteds.ts, 12, 3)) +declare var i: I2; +>i : Symbol(i, Decl(interfaceExtendingClassWithProtecteds.ts, 12, 11)) >I2 : Symbol(I2, Decl(interfaceExtendingClassWithProtecteds.ts, 6, 1)) var r = i.y; >r : Symbol(r, Decl(interfaceExtendingClassWithProtecteds.ts, 13, 3)) >i.y : Symbol(I2.y, Decl(interfaceExtendingClassWithProtecteds.ts, 8, 26)) ->i : Symbol(i, Decl(interfaceExtendingClassWithProtecteds.ts, 12, 3)) +>i : Symbol(i, Decl(interfaceExtendingClassWithProtecteds.ts, 12, 11)) >y : Symbol(I2.y, Decl(interfaceExtendingClassWithProtecteds.ts, 8, 26)) var r2 = i.x; // error >r2 : Symbol(r2, Decl(interfaceExtendingClassWithProtecteds.ts, 14, 3)) >i.x : Symbol(Foo.x, Decl(interfaceExtendingClassWithProtecteds.ts, 0, 11)) ->i : Symbol(i, Decl(interfaceExtendingClassWithProtecteds.ts, 12, 3)) +>i : Symbol(i, Decl(interfaceExtendingClassWithProtecteds.ts, 12, 11)) >x : Symbol(Foo.x, Decl(interfaceExtendingClassWithProtecteds.ts, 0, 11)) diff --git a/tests/baselines/reference/interfaceExtendingClassWithProtecteds.types b/tests/baselines/reference/interfaceExtendingClassWithProtecteds.types index 14884a641f93a..7fc8b87651cd8 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithProtecteds.types +++ b/tests/baselines/reference/interfaceExtendingClassWithProtecteds.types @@ -5,7 +5,7 @@ class Foo { >Foo : Foo > : ^^^ - protected x: string; + protected x!: string; >x : string > : ^^^^^^ } @@ -22,7 +22,7 @@ interface I2 extends Foo { > : ^^^^^^ } -var i: I2; +declare var i: I2; >i : I2 > : ^^ diff --git a/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.errors.txt b/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.errors.txt index 32d216df96efe..8857a876a307b 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.errors.txt +++ b/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.errors.txt @@ -10,11 +10,11 @@ interfaceExtendingClassWithProtecteds2.ts(27,12): error TS2445: Property 'y' is ==== interfaceExtendingClassWithProtecteds2.ts (5 errors) ==== class Foo { - protected x: string; + protected x!: string; } class Bar { - protected x: string; + protected x!: string; } interface I3 extends Foo, Bar { // error @@ -34,14 +34,14 @@ interfaceExtendingClassWithProtecteds2.ts(27,12): error TS2445: Property 'y' is } class Baz { - protected y: string; + protected y!: string; } interface I5 extends Foo, Baz { z: string; } - var i: I5; + declare var i: I5; var r: string = i.z; var r2 = i.x; // error ~ diff --git a/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.js b/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.js index 355280637879d..21038846b855b 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.js +++ b/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.js @@ -2,11 +2,11 @@ //// [interfaceExtendingClassWithProtecteds2.ts] class Foo { - protected x: string; + protected x!: string; } class Bar { - protected x: string; + protected x!: string; } interface I3 extends Foo, Bar { // error @@ -17,14 +17,14 @@ interface I4 extends Foo, Bar { // error } class Baz { - protected y: string; + protected y!: string; } interface I5 extends Foo, Baz { z: string; } -var i: I5; +declare var i: I5; var r: string = i.z; var r2 = i.x; // error var r3 = i.y; // error @@ -45,7 +45,6 @@ var Baz = /** @class */ (function () { } return Baz; }()); -var i; var r = i.z; var r2 = i.x; // error var r3 = i.y; // error diff --git a/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.symbols b/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.symbols index 28d6f5993863a..c5075db92763c 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.symbols +++ b/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.symbols @@ -4,14 +4,14 @@ class Foo { >Foo : Symbol(Foo, Decl(interfaceExtendingClassWithProtecteds2.ts, 0, 0)) - protected x: string; + protected x!: string; >x : Symbol(Foo.x, Decl(interfaceExtendingClassWithProtecteds2.ts, 0, 11)) } class Bar { >Bar : Symbol(Bar, Decl(interfaceExtendingClassWithProtecteds2.ts, 2, 1)) - protected x: string; + protected x!: string; >x : Symbol(Bar.x, Decl(interfaceExtendingClassWithProtecteds2.ts, 4, 11)) } @@ -33,7 +33,7 @@ interface I4 extends Foo, Bar { // error class Baz { >Baz : Symbol(Baz, Decl(interfaceExtendingClassWithProtecteds2.ts, 13, 1)) - protected y: string; + protected y!: string; >y : Symbol(Baz.y, Decl(interfaceExtendingClassWithProtecteds2.ts, 15, 11)) } @@ -46,25 +46,25 @@ interface I5 extends Foo, Baz { >z : Symbol(I5.z, Decl(interfaceExtendingClassWithProtecteds2.ts, 19, 31)) } -var i: I5; ->i : Symbol(i, Decl(interfaceExtendingClassWithProtecteds2.ts, 23, 3)) +declare var i: I5; +>i : Symbol(i, Decl(interfaceExtendingClassWithProtecteds2.ts, 23, 11)) >I5 : Symbol(I5, Decl(interfaceExtendingClassWithProtecteds2.ts, 17, 1)) var r: string = i.z; >r : Symbol(r, Decl(interfaceExtendingClassWithProtecteds2.ts, 24, 3)) >i.z : Symbol(I5.z, Decl(interfaceExtendingClassWithProtecteds2.ts, 19, 31)) ->i : Symbol(i, Decl(interfaceExtendingClassWithProtecteds2.ts, 23, 3)) +>i : Symbol(i, Decl(interfaceExtendingClassWithProtecteds2.ts, 23, 11)) >z : Symbol(I5.z, Decl(interfaceExtendingClassWithProtecteds2.ts, 19, 31)) var r2 = i.x; // error >r2 : Symbol(r2, Decl(interfaceExtendingClassWithProtecteds2.ts, 25, 3)) >i.x : Symbol(Foo.x, Decl(interfaceExtendingClassWithProtecteds2.ts, 0, 11)) ->i : Symbol(i, Decl(interfaceExtendingClassWithProtecteds2.ts, 23, 3)) +>i : Symbol(i, Decl(interfaceExtendingClassWithProtecteds2.ts, 23, 11)) >x : Symbol(Foo.x, Decl(interfaceExtendingClassWithProtecteds2.ts, 0, 11)) var r3 = i.y; // error >r3 : Symbol(r3, Decl(interfaceExtendingClassWithProtecteds2.ts, 26, 3)) >i.y : Symbol(Baz.y, Decl(interfaceExtendingClassWithProtecteds2.ts, 15, 11)) ->i : Symbol(i, Decl(interfaceExtendingClassWithProtecteds2.ts, 23, 3)) +>i : Symbol(i, Decl(interfaceExtendingClassWithProtecteds2.ts, 23, 11)) >y : Symbol(Baz.y, Decl(interfaceExtendingClassWithProtecteds2.ts, 15, 11)) diff --git a/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.types b/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.types index 59fb1d4a71aff..8e0e6976bf603 100644 --- a/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.types +++ b/tests/baselines/reference/interfaceExtendingClassWithProtecteds2.types @@ -5,7 +5,7 @@ class Foo { >Foo : Foo > : ^^^ - protected x: string; + protected x!: string; >x : string > : ^^^^^^ } @@ -14,7 +14,7 @@ class Bar { >Bar : Bar > : ^^^ - protected x: string; + protected x!: string; >x : string > : ^^^^^^ } @@ -32,7 +32,7 @@ class Baz { >Baz : Baz > : ^^^ - protected y: string; + protected y!: string; >y : string > : ^^^^^^ } @@ -43,7 +43,7 @@ interface I5 extends Foo, Baz { > : ^^^^^^ } -var i: I5; +declare var i: I5; >i : I5 > : ^^ diff --git a/tests/baselines/reference/interfaceExtendsClassWithPrivate1.errors.txt b/tests/baselines/reference/interfaceExtendsClassWithPrivate1.errors.txt index 0be832ddc238a..dd09fa28c06f5 100644 --- a/tests/baselines/reference/interfaceExtendsClassWithPrivate1.errors.txt +++ b/tests/baselines/reference/interfaceExtendsClassWithPrivate1.errors.txt @@ -20,8 +20,8 @@ interfaceExtendsClassWithPrivate1.ts(27,1): error TS2739: Type 'C' is missing th } var c: C; - var i: I; - var d: D; + declare var i: I; + declare var d: D; c = i; i = c; // error diff --git a/tests/baselines/reference/interfaceExtendsClassWithPrivate1.js b/tests/baselines/reference/interfaceExtendsClassWithPrivate1.js index 8d8f0e3ef712b..7ae863d8e923c 100644 --- a/tests/baselines/reference/interfaceExtendsClassWithPrivate1.js +++ b/tests/baselines/reference/interfaceExtendsClassWithPrivate1.js @@ -17,8 +17,8 @@ class D extends C implements I { } var c: C; -var i: I; -var d: D; +declare var i: I; +declare var d: D; c = i; i = c; // error @@ -63,8 +63,6 @@ var D = /** @class */ (function (_super) { return D; }(C)); var c; -var i; -var d; c = i; i = c; // error i = d; diff --git a/tests/baselines/reference/interfaceExtendsClassWithPrivate1.symbols b/tests/baselines/reference/interfaceExtendsClassWithPrivate1.symbols index 930127968065f..e89706a713e13 100644 --- a/tests/baselines/reference/interfaceExtendsClassWithPrivate1.symbols +++ b/tests/baselines/reference/interfaceExtendsClassWithPrivate1.symbols @@ -45,35 +45,35 @@ var c: C; >c : Symbol(c, Decl(interfaceExtendsClassWithPrivate1.ts, 15, 3)) >C : Symbol(C, Decl(interfaceExtendsClassWithPrivate1.ts, 0, 0)) -var i: I; ->i : Symbol(i, Decl(interfaceExtendsClassWithPrivate1.ts, 16, 3)) +declare var i: I; +>i : Symbol(i, Decl(interfaceExtendsClassWithPrivate1.ts, 16, 11)) >I : Symbol(I, Decl(interfaceExtendsClassWithPrivate1.ts, 3, 1)) -var d: D; ->d : Symbol(d, Decl(interfaceExtendsClassWithPrivate1.ts, 17, 3)) +declare var d: D; +>d : Symbol(d, Decl(interfaceExtendsClassWithPrivate1.ts, 17, 11)) >D : Symbol(D, Decl(interfaceExtendsClassWithPrivate1.ts, 7, 1)) c = i; >c : Symbol(c, Decl(interfaceExtendsClassWithPrivate1.ts, 15, 3)) ->i : Symbol(i, Decl(interfaceExtendsClassWithPrivate1.ts, 16, 3)) +>i : Symbol(i, Decl(interfaceExtendsClassWithPrivate1.ts, 16, 11)) i = c; // error ->i : Symbol(i, Decl(interfaceExtendsClassWithPrivate1.ts, 16, 3)) +>i : Symbol(i, Decl(interfaceExtendsClassWithPrivate1.ts, 16, 11)) >c : Symbol(c, Decl(interfaceExtendsClassWithPrivate1.ts, 15, 3)) i = d; ->i : Symbol(i, Decl(interfaceExtendsClassWithPrivate1.ts, 16, 3)) ->d : Symbol(d, Decl(interfaceExtendsClassWithPrivate1.ts, 17, 3)) +>i : Symbol(i, Decl(interfaceExtendsClassWithPrivate1.ts, 16, 11)) +>d : Symbol(d, Decl(interfaceExtendsClassWithPrivate1.ts, 17, 11)) d = i; // error ->d : Symbol(d, Decl(interfaceExtendsClassWithPrivate1.ts, 17, 3)) ->i : Symbol(i, Decl(interfaceExtendsClassWithPrivate1.ts, 16, 3)) +>d : Symbol(d, Decl(interfaceExtendsClassWithPrivate1.ts, 17, 11)) +>i : Symbol(i, Decl(interfaceExtendsClassWithPrivate1.ts, 16, 11)) c = d; >c : Symbol(c, Decl(interfaceExtendsClassWithPrivate1.ts, 15, 3)) ->d : Symbol(d, Decl(interfaceExtendsClassWithPrivate1.ts, 17, 3)) +>d : Symbol(d, Decl(interfaceExtendsClassWithPrivate1.ts, 17, 11)) d = c; // error ->d : Symbol(d, Decl(interfaceExtendsClassWithPrivate1.ts, 17, 3)) +>d : Symbol(d, Decl(interfaceExtendsClassWithPrivate1.ts, 17, 11)) >c : Symbol(c, Decl(interfaceExtendsClassWithPrivate1.ts, 15, 3)) diff --git a/tests/baselines/reference/interfaceExtendsClassWithPrivate1.types b/tests/baselines/reference/interfaceExtendsClassWithPrivate1.types index 8b9602e5534f7..d187dc22086c7 100644 --- a/tests/baselines/reference/interfaceExtendsClassWithPrivate1.types +++ b/tests/baselines/reference/interfaceExtendsClassWithPrivate1.types @@ -59,11 +59,11 @@ var c: C; >c : C > : ^ -var i: I; +declare var i: I; >i : I > : ^ -var d: D; +declare var d: D; >d : D > : ^ diff --git a/tests/baselines/reference/interfaceImplementation1.errors.txt b/tests/baselines/reference/interfaceImplementation1.errors.txt index 7de348c7ce7b4..bc99f57704f8c 100644 --- a/tests/baselines/reference/interfaceImplementation1.errors.txt +++ b/tests/baselines/reference/interfaceImplementation1.errors.txt @@ -28,8 +28,8 @@ interfaceImplementation1.ts(34,5): error TS2322: Type '() => C2' is not assignab private iFn(); private iFn(n?:number, s?:string) { } private iAny:any; - private iNum:number; - private iObj:{ }; + private iNum!:number; + private iObj!:{ }; } interface I3 { @@ -58,7 +58,7 @@ interfaceImplementation1.ts(34,5): error TS2322: Type '() => C2' is not assignab new b(); */ - var c:I4; + declare var c:I4; c[5]; c["foo"]; \ No newline at end of file diff --git a/tests/baselines/reference/interfaceImplementation1.js b/tests/baselines/reference/interfaceImplementation1.js index ae6e09bef4df6..9fd852e9ca3e9 100644 --- a/tests/baselines/reference/interfaceImplementation1.js +++ b/tests/baselines/reference/interfaceImplementation1.js @@ -16,8 +16,8 @@ class C1 implements I1,I2 { private iFn(); private iFn(n?:number, s?:string) { } private iAny:any; - private iNum:number; - private iObj:{ }; + private iNum!:number; + private iObj!:{ }; } interface I3 { @@ -43,7 +43,7 @@ new a(); new b(); */ -var c:I4; +declare var c:I4; c[5]; c["foo"]; @@ -65,9 +65,5 @@ var a = function () { return new C2(); }; new a(); -/*var b:I4 = C2; -new b(); -*/ -var c; c[5]; c["foo"]; diff --git a/tests/baselines/reference/interfaceImplementation1.symbols b/tests/baselines/reference/interfaceImplementation1.symbols index 9cfe5e1e4518b..153b84aa841c0 100644 --- a/tests/baselines/reference/interfaceImplementation1.symbols +++ b/tests/baselines/reference/interfaceImplementation1.symbols @@ -42,11 +42,11 @@ class C1 implements I1,I2 { private iAny:any; >iAny : Symbol(C1.iAny, Decl(interfaceImplementation1.ts, 13, 38)) - private iNum:number; + private iNum!:number; >iNum : Symbol(C1.iNum, Decl(interfaceImplementation1.ts, 14, 21)) - private iObj:{ }; ->iObj : Symbol(C1.iObj, Decl(interfaceImplementation1.ts, 15, 24)) + private iObj!:{ }; +>iObj : Symbol(C1.iObj, Decl(interfaceImplementation1.ts, 15, 25)) } interface I3 { @@ -91,13 +91,13 @@ new a(); new b(); */ -var c:I4; ->c : Symbol(c, Decl(interfaceImplementation1.ts, 42, 3)) +declare var c:I4; +>c : Symbol(c, Decl(interfaceImplementation1.ts, 42, 11)) >I4 : Symbol(I4, Decl(interfaceImplementation1.ts, 21, 1)) c[5]; ->c : Symbol(c, Decl(interfaceImplementation1.ts, 42, 3)) +>c : Symbol(c, Decl(interfaceImplementation1.ts, 42, 11)) c["foo"]; ->c : Symbol(c, Decl(interfaceImplementation1.ts, 42, 3)) +>c : Symbol(c, Decl(interfaceImplementation1.ts, 42, 11)) diff --git a/tests/baselines/reference/interfaceImplementation1.types b/tests/baselines/reference/interfaceImplementation1.types index d00a06ed54224..19ba91c9fb7b3 100644 --- a/tests/baselines/reference/interfaceImplementation1.types +++ b/tests/baselines/reference/interfaceImplementation1.types @@ -49,11 +49,11 @@ class C1 implements I1,I2 { >iAny : any > : ^^^ - private iNum:number; + private iNum!:number; >iNum : number > : ^^^^^^ - private iObj:{ }; + private iObj!:{ }; >iObj : {} > : ^^ } @@ -105,7 +105,7 @@ new a(); new b(); */ -var c:I4; +declare var c:I4; >c : I4 > : ^^ diff --git a/tests/baselines/reference/interfaceInheritance.errors.txt b/tests/baselines/reference/interfaceInheritance.errors.txt index 18c263919df0a..6afb6e902beda 100644 --- a/tests/baselines/reference/interfaceInheritance.errors.txt +++ b/tests/baselines/reference/interfaceInheritance.errors.txt @@ -35,12 +35,12 @@ interfaceInheritance.ts(38,1): error TS2322: Type 'I4' is not assignable to type ~~ !!! error TS2420: Class 'C1' incorrectly implements interface 'I2'. !!! error TS2420: Type 'C1' is missing the following properties from type 'I2': i1P1, i1P2 - public i2P1: string; + public i2P1!: string; } - var i2: I2; + declare var i2: I2; var i1: I1; - var i3: I3; + declare var i3: I3; i1 = i2; i2 = i3; // should be an error - i3 does not implement the members of i1 ~~ @@ -48,8 +48,8 @@ interfaceInheritance.ts(38,1): error TS2322: Type 'I4' is not assignable to type var c1: C1; - var i4: I4; - var i5: I5; + declare var i4: I4; + declare var i5: I5; i4 = i5; // should be an error ~~ diff --git a/tests/baselines/reference/interfaceInheritance.js b/tests/baselines/reference/interfaceInheritance.js index 2c4ec8b8a0800..9b3f38735ca06 100644 --- a/tests/baselines/reference/interfaceInheritance.js +++ b/tests/baselines/reference/interfaceInheritance.js @@ -23,19 +23,19 @@ interface I5 { } class C1 implements I2 { // should be an error - it doesn't implement the members of I1 - public i2P1: string; + public i2P1!: string; } -var i2: I2; +declare var i2: I2; var i1: I1; -var i3: I3; +declare var i3: I3; i1 = i2; i2 = i3; // should be an error - i3 does not implement the members of i1 var c1: C1; -var i4: I4; -var i5: I5; +declare var i4: I4; +declare var i5: I5; i4 = i5; // should be an error i5 = i4; // should be an error @@ -48,13 +48,9 @@ var C1 = /** @class */ (function () { } return C1; }()); -var i2; var i1; -var i3; i1 = i2; i2 = i3; // should be an error - i3 does not implement the members of i1 var c1; -var i4; -var i5; i4 = i5; // should be an error i5 = i4; // should be an error diff --git a/tests/baselines/reference/interfaceInheritance.symbols b/tests/baselines/reference/interfaceInheritance.symbols index ecb3e6b2b7f6f..0ae5f8b44bb68 100644 --- a/tests/baselines/reference/interfaceInheritance.symbols +++ b/tests/baselines/reference/interfaceInheritance.symbols @@ -44,48 +44,48 @@ class C1 implements I2 { // should be an error - it doesn't implement the member >C1 : Symbol(C1, Decl(interfaceInheritance.ts, 19, 1)) >I2 : Symbol(I2, Decl(interfaceInheritance.ts, 3, 1)) - public i2P1: string; + public i2P1!: string; >i2P1 : Symbol(C1.i2P1, Decl(interfaceInheritance.ts, 21, 24)) } -var i2: I2; ->i2 : Symbol(i2, Decl(interfaceInheritance.ts, 25, 3)) +declare var i2: I2; +>i2 : Symbol(i2, Decl(interfaceInheritance.ts, 25, 11)) >I2 : Symbol(I2, Decl(interfaceInheritance.ts, 3, 1)) var i1: I1; >i1 : Symbol(i1, Decl(interfaceInheritance.ts, 26, 3)) >I1 : Symbol(I1, Decl(interfaceInheritance.ts, 0, 0)) -var i3: I3; ->i3 : Symbol(i3, Decl(interfaceInheritance.ts, 27, 3)) +declare var i3: I3; +>i3 : Symbol(i3, Decl(interfaceInheritance.ts, 27, 11)) >I3 : Symbol(I3, Decl(interfaceInheritance.ts, 7, 1)) i1 = i2; >i1 : Symbol(i1, Decl(interfaceInheritance.ts, 26, 3)) ->i2 : Symbol(i2, Decl(interfaceInheritance.ts, 25, 3)) +>i2 : Symbol(i2, Decl(interfaceInheritance.ts, 25, 11)) i2 = i3; // should be an error - i3 does not implement the members of i1 ->i2 : Symbol(i2, Decl(interfaceInheritance.ts, 25, 3)) ->i3 : Symbol(i3, Decl(interfaceInheritance.ts, 27, 3)) +>i2 : Symbol(i2, Decl(interfaceInheritance.ts, 25, 11)) +>i3 : Symbol(i3, Decl(interfaceInheritance.ts, 27, 11)) var c1: C1; >c1 : Symbol(c1, Decl(interfaceInheritance.ts, 31, 3)) >C1 : Symbol(C1, Decl(interfaceInheritance.ts, 19, 1)) -var i4: I4; ->i4 : Symbol(i4, Decl(interfaceInheritance.ts, 33, 3)) +declare var i4: I4; +>i4 : Symbol(i4, Decl(interfaceInheritance.ts, 33, 11)) >I4 : Symbol(I4, Decl(interfaceInheritance.ts, 11, 1)) -var i5: I5; ->i5 : Symbol(i5, Decl(interfaceInheritance.ts, 34, 3)) +declare var i5: I5; +>i5 : Symbol(i5, Decl(interfaceInheritance.ts, 34, 11)) >I5 : Symbol(I5, Decl(interfaceInheritance.ts, 15, 1)) i4 = i5; // should be an error ->i4 : Symbol(i4, Decl(interfaceInheritance.ts, 33, 3)) ->i5 : Symbol(i5, Decl(interfaceInheritance.ts, 34, 3)) +>i4 : Symbol(i4, Decl(interfaceInheritance.ts, 33, 11)) +>i5 : Symbol(i5, Decl(interfaceInheritance.ts, 34, 11)) i5 = i4; // should be an error ->i5 : Symbol(i5, Decl(interfaceInheritance.ts, 34, 3)) ->i4 : Symbol(i4, Decl(interfaceInheritance.ts, 33, 3)) +>i5 : Symbol(i5, Decl(interfaceInheritance.ts, 34, 11)) +>i4 : Symbol(i4, Decl(interfaceInheritance.ts, 33, 11)) diff --git a/tests/baselines/reference/interfaceInheritance.types b/tests/baselines/reference/interfaceInheritance.types index 570d997e999d9..c07af14a26b18 100644 --- a/tests/baselines/reference/interfaceInheritance.types +++ b/tests/baselines/reference/interfaceInheritance.types @@ -39,12 +39,12 @@ class C1 implements I2 { // should be an error - it doesn't implement the member >C1 : C1 > : ^^ - public i2P1: string; + public i2P1!: string; >i2P1 : string > : ^^^^^^ } -var i2: I2; +declare var i2: I2; >i2 : I2 > : ^^ @@ -52,7 +52,7 @@ var i1: I1; >i1 : I1 > : ^^ -var i3: I3; +declare var i3: I3; >i3 : I3 > : ^^ @@ -76,11 +76,11 @@ var c1: C1; >c1 : C1 > : ^^ -var i4: I4; +declare var i4: I4; >i4 : I4 > : ^^ -var i5: I5; +declare var i5: I5; >i5 : I5 > : ^^ diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.errors.txt b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.errors.txt index 7a702689ed566..51b5505aae3c4 100644 --- a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.errors.txt +++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.errors.txt @@ -12,7 +12,7 @@ internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts(16, export namespace c { import b = a.b; - export var x: b.I; + export declare var x: b.I; x.foo(); } diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.js b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.js index a08dcb4ac9e2d..2b2674ba95d4a 100644 --- a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.js +++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.js @@ -11,7 +11,7 @@ export namespace a { export namespace c { import b = a.b; - export var x: b.I; + export declare var x: b.I; x.foo(); } diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.symbols b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.symbols index 2173f7455f860..249c73b2dd3cb 100644 --- a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.symbols +++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.symbols @@ -24,14 +24,14 @@ export namespace c { >a : Symbol(a, Decl(internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts, 0, 0)) >b : Symbol(b, Decl(internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts, 0, 20)) - export var x: b.I; ->x : Symbol(x, Decl(internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts, 10, 14)) + export declare var x: b.I; +>x : Symbol(x, Decl(internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts, 10, 22)) >b : Symbol(b, Decl(internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts, 8, 20)) >I : Symbol(b.I, Decl(internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts, 1, 24)) x.foo(); >x.foo : Symbol(b.I.foo, Decl(internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts, 2, 28)) ->x : Symbol(x, Decl(internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts, 10, 14)) +>x : Symbol(x, Decl(internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts, 10, 22)) >foo : Symbol(b.I.foo, Decl(internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts, 2, 28)) } diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.types b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.types index 530a15c3eac31..b2e497da539f3 100644 --- a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.types +++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.types @@ -23,7 +23,7 @@ export namespace c { >b : any > : ^^^ - export var x: b.I; + export declare var x: b.I; >x : b.I > : ^^^ >b : any diff --git a/tests/baselines/reference/intersectionTypeAssignment.errors.txt b/tests/baselines/reference/intersectionTypeAssignment.errors.txt index e65c089752d7d..57017acf18057 100644 --- a/tests/baselines/reference/intersectionTypeAssignment.errors.txt +++ b/tests/baselines/reference/intersectionTypeAssignment.errors.txt @@ -7,34 +7,34 @@ intersectionTypeAssignment.ts(14,1): error TS2322: Type '{ b: string; }' is not ==== intersectionTypeAssignment.ts (4 errors) ==== - var a: { a: string }; - var b: { b: string }; - var x: { a: string, b: string }; - var y: { a: string } & { b: string }; + declare var a: { a: string }; + declare var b: { b: string }; + declare var x: { a: string, b: string }; + declare var y: { a: string } & { b: string }; a = x; a = y; x = a; // Error ~ !!! error TS2741: Property 'b' is missing in type '{ a: string; }' but required in type '{ a: string; b: string; }'. -!!! related TS2728 intersectionTypeAssignment.ts:3:21: 'b' is declared here. +!!! related TS2728 intersectionTypeAssignment.ts:3:29: 'b' is declared here. y = a; // Error ~ !!! error TS2322: Type '{ a: string; }' is not assignable to type '{ a: string; } & { b: string; }'. !!! error TS2322: Property 'b' is missing in type '{ a: string; }' but required in type '{ b: string; }'. -!!! related TS2728 intersectionTypeAssignment.ts:4:26: 'b' is declared here. +!!! related TS2728 intersectionTypeAssignment.ts:4:34: 'b' is declared here. b = x; b = y; x = b; // Error ~ !!! error TS2741: Property 'a' is missing in type '{ b: string; }' but required in type '{ a: string; b: string; }'. -!!! related TS2728 intersectionTypeAssignment.ts:3:10: 'a' is declared here. +!!! related TS2728 intersectionTypeAssignment.ts:3:18: 'a' is declared here. y = b; // Error ~ !!! error TS2322: Type '{ b: string; }' is not assignable to type '{ a: string; } & { b: string; }'. !!! error TS2322: Property 'a' is missing in type '{ b: string; }' but required in type '{ a: string; }'. -!!! related TS2728 intersectionTypeAssignment.ts:4:10: 'a' is declared here. +!!! related TS2728 intersectionTypeAssignment.ts:4:18: 'a' is declared here. x = y; y = x; diff --git a/tests/baselines/reference/intersectionTypeAssignment.js b/tests/baselines/reference/intersectionTypeAssignment.js index be3e620ba40df..3970c72e95a72 100644 --- a/tests/baselines/reference/intersectionTypeAssignment.js +++ b/tests/baselines/reference/intersectionTypeAssignment.js @@ -1,10 +1,10 @@ //// [tests/cases/conformance/types/intersection/intersectionTypeAssignment.ts] //// //// [intersectionTypeAssignment.ts] -var a: { a: string }; -var b: { b: string }; -var x: { a: string, b: string }; -var y: { a: string } & { b: string }; +declare var a: { a: string }; +declare var b: { b: string }; +declare var x: { a: string, b: string }; +declare var y: { a: string } & { b: string }; a = x; a = y; @@ -21,10 +21,6 @@ y = x; //// [intersectionTypeAssignment.js] -var a; -var b; -var x; -var y; a = x; a = y; x = a; // Error diff --git a/tests/baselines/reference/intersectionTypeAssignment.symbols b/tests/baselines/reference/intersectionTypeAssignment.symbols index 19659e1ed7def..f0dd11264ef08 100644 --- a/tests/baselines/reference/intersectionTypeAssignment.symbols +++ b/tests/baselines/reference/intersectionTypeAssignment.symbols @@ -1,61 +1,61 @@ //// [tests/cases/conformance/types/intersection/intersectionTypeAssignment.ts] //// === intersectionTypeAssignment.ts === -var a: { a: string }; ->a : Symbol(a, Decl(intersectionTypeAssignment.ts, 0, 3)) ->a : Symbol(a, Decl(intersectionTypeAssignment.ts, 0, 8)) +declare var a: { a: string }; +>a : Symbol(a, Decl(intersectionTypeAssignment.ts, 0, 11)) +>a : Symbol(a, Decl(intersectionTypeAssignment.ts, 0, 16)) -var b: { b: string }; ->b : Symbol(b, Decl(intersectionTypeAssignment.ts, 1, 3)) ->b : Symbol(b, Decl(intersectionTypeAssignment.ts, 1, 8)) +declare var b: { b: string }; +>b : Symbol(b, Decl(intersectionTypeAssignment.ts, 1, 11)) +>b : Symbol(b, Decl(intersectionTypeAssignment.ts, 1, 16)) -var x: { a: string, b: string }; ->x : Symbol(x, Decl(intersectionTypeAssignment.ts, 2, 3)) ->a : Symbol(a, Decl(intersectionTypeAssignment.ts, 2, 8)) ->b : Symbol(b, Decl(intersectionTypeAssignment.ts, 2, 19)) +declare var x: { a: string, b: string }; +>x : Symbol(x, Decl(intersectionTypeAssignment.ts, 2, 11)) +>a : Symbol(a, Decl(intersectionTypeAssignment.ts, 2, 16)) +>b : Symbol(b, Decl(intersectionTypeAssignment.ts, 2, 27)) -var y: { a: string } & { b: string }; ->y : Symbol(y, Decl(intersectionTypeAssignment.ts, 3, 3)) ->a : Symbol(a, Decl(intersectionTypeAssignment.ts, 3, 8)) ->b : Symbol(b, Decl(intersectionTypeAssignment.ts, 3, 24)) +declare var y: { a: string } & { b: string }; +>y : Symbol(y, Decl(intersectionTypeAssignment.ts, 3, 11)) +>a : Symbol(a, Decl(intersectionTypeAssignment.ts, 3, 16)) +>b : Symbol(b, Decl(intersectionTypeAssignment.ts, 3, 32)) a = x; ->a : Symbol(a, Decl(intersectionTypeAssignment.ts, 0, 3)) ->x : Symbol(x, Decl(intersectionTypeAssignment.ts, 2, 3)) +>a : Symbol(a, Decl(intersectionTypeAssignment.ts, 0, 11)) +>x : Symbol(x, Decl(intersectionTypeAssignment.ts, 2, 11)) a = y; ->a : Symbol(a, Decl(intersectionTypeAssignment.ts, 0, 3)) ->y : Symbol(y, Decl(intersectionTypeAssignment.ts, 3, 3)) +>a : Symbol(a, Decl(intersectionTypeAssignment.ts, 0, 11)) +>y : Symbol(y, Decl(intersectionTypeAssignment.ts, 3, 11)) x = a; // Error ->x : Symbol(x, Decl(intersectionTypeAssignment.ts, 2, 3)) ->a : Symbol(a, Decl(intersectionTypeAssignment.ts, 0, 3)) +>x : Symbol(x, Decl(intersectionTypeAssignment.ts, 2, 11)) +>a : Symbol(a, Decl(intersectionTypeAssignment.ts, 0, 11)) y = a; // Error ->y : Symbol(y, Decl(intersectionTypeAssignment.ts, 3, 3)) ->a : Symbol(a, Decl(intersectionTypeAssignment.ts, 0, 3)) +>y : Symbol(y, Decl(intersectionTypeAssignment.ts, 3, 11)) +>a : Symbol(a, Decl(intersectionTypeAssignment.ts, 0, 11)) b = x; ->b : Symbol(b, Decl(intersectionTypeAssignment.ts, 1, 3)) ->x : Symbol(x, Decl(intersectionTypeAssignment.ts, 2, 3)) +>b : Symbol(b, Decl(intersectionTypeAssignment.ts, 1, 11)) +>x : Symbol(x, Decl(intersectionTypeAssignment.ts, 2, 11)) b = y; ->b : Symbol(b, Decl(intersectionTypeAssignment.ts, 1, 3)) ->y : Symbol(y, Decl(intersectionTypeAssignment.ts, 3, 3)) +>b : Symbol(b, Decl(intersectionTypeAssignment.ts, 1, 11)) +>y : Symbol(y, Decl(intersectionTypeAssignment.ts, 3, 11)) x = b; // Error ->x : Symbol(x, Decl(intersectionTypeAssignment.ts, 2, 3)) ->b : Symbol(b, Decl(intersectionTypeAssignment.ts, 1, 3)) +>x : Symbol(x, Decl(intersectionTypeAssignment.ts, 2, 11)) +>b : Symbol(b, Decl(intersectionTypeAssignment.ts, 1, 11)) y = b; // Error ->y : Symbol(y, Decl(intersectionTypeAssignment.ts, 3, 3)) ->b : Symbol(b, Decl(intersectionTypeAssignment.ts, 1, 3)) +>y : Symbol(y, Decl(intersectionTypeAssignment.ts, 3, 11)) +>b : Symbol(b, Decl(intersectionTypeAssignment.ts, 1, 11)) x = y; ->x : Symbol(x, Decl(intersectionTypeAssignment.ts, 2, 3)) ->y : Symbol(y, Decl(intersectionTypeAssignment.ts, 3, 3)) +>x : Symbol(x, Decl(intersectionTypeAssignment.ts, 2, 11)) +>y : Symbol(y, Decl(intersectionTypeAssignment.ts, 3, 11)) y = x; ->y : Symbol(y, Decl(intersectionTypeAssignment.ts, 3, 3)) ->x : Symbol(x, Decl(intersectionTypeAssignment.ts, 2, 3)) +>y : Symbol(y, Decl(intersectionTypeAssignment.ts, 3, 11)) +>x : Symbol(x, Decl(intersectionTypeAssignment.ts, 2, 11)) diff --git a/tests/baselines/reference/intersectionTypeAssignment.types b/tests/baselines/reference/intersectionTypeAssignment.types index 6c58a8e4a5ba5..568407e67a045 100644 --- a/tests/baselines/reference/intersectionTypeAssignment.types +++ b/tests/baselines/reference/intersectionTypeAssignment.types @@ -1,19 +1,19 @@ //// [tests/cases/conformance/types/intersection/intersectionTypeAssignment.ts] //// === intersectionTypeAssignment.ts === -var a: { a: string }; +declare var a: { a: string }; >a : { a: string; } > : ^^^^^ ^^^ >a : string > : ^^^^^^ -var b: { b: string }; +declare var b: { b: string }; >b : { b: string; } > : ^^^^^ ^^^ >b : string > : ^^^^^^ -var x: { a: string, b: string }; +declare var x: { a: string, b: string }; >x : { a: string; b: string; } > : ^^^^^ ^^^^^ ^^^ >a : string @@ -21,7 +21,7 @@ var x: { a: string, b: string }; >b : string > : ^^^^^^ -var y: { a: string } & { b: string }; +declare var y: { a: string } & { b: string }; >y : { a: string; } & { b: string; } > : ^^^^^ ^^^^^^^^^^^ ^^^ >a : string diff --git a/tests/baselines/reference/intersectionTypeInference.errors.txt b/tests/baselines/reference/intersectionTypeInference.errors.txt index 20c4a70a9938a..bed738785acf6 100644 --- a/tests/baselines/reference/intersectionTypeInference.errors.txt +++ b/tests/baselines/reference/intersectionTypeInference.errors.txt @@ -8,7 +8,7 @@ intersectionTypeInference.ts(6,5): error TS2322: Type 'U' is not assignable to t ==== intersectionTypeInference.ts (2 errors) ==== function extend(obj1: T, obj2: U): T & U { - var result: T & U; + var result!: T & U; obj1 = result; obj2 = result; result = obj1; // Error diff --git a/tests/baselines/reference/intersectionTypeInference.js b/tests/baselines/reference/intersectionTypeInference.js index deaeac6499707..601a88e3753f5 100644 --- a/tests/baselines/reference/intersectionTypeInference.js +++ b/tests/baselines/reference/intersectionTypeInference.js @@ -2,7 +2,7 @@ //// [intersectionTypeInference.ts] function extend(obj1: T, obj2: U): T & U { - var result: T & U; + var result!: T & U; obj1 = result; obj2 = result; result = obj1; // Error diff --git a/tests/baselines/reference/intersectionTypeInference.symbols b/tests/baselines/reference/intersectionTypeInference.symbols index 82300e0131829..e4f0e09be077b 100644 --- a/tests/baselines/reference/intersectionTypeInference.symbols +++ b/tests/baselines/reference/intersectionTypeInference.symbols @@ -12,7 +12,7 @@ function extend(obj1: T, obj2: U): T & U { >T : Symbol(T, Decl(intersectionTypeInference.ts, 0, 16)) >U : Symbol(U, Decl(intersectionTypeInference.ts, 0, 18)) - var result: T & U; + var result!: T & U; >result : Symbol(result, Decl(intersectionTypeInference.ts, 1, 7)) >T : Symbol(T, Decl(intersectionTypeInference.ts, 0, 16)) >U : Symbol(U, Decl(intersectionTypeInference.ts, 0, 18)) diff --git a/tests/baselines/reference/intersectionTypeInference.types b/tests/baselines/reference/intersectionTypeInference.types index 6b946847277f2..f15f9a748536e 100644 --- a/tests/baselines/reference/intersectionTypeInference.types +++ b/tests/baselines/reference/intersectionTypeInference.types @@ -9,7 +9,7 @@ function extend(obj1: T, obj2: U): T & U { >obj2 : U > : ^ - var result: T & U; + var result!: T & U; >result : T & U > : ^^^^^ diff --git a/tests/baselines/reference/intersectionTypeReadonly.errors.txt b/tests/baselines/reference/intersectionTypeReadonly.errors.txt index c99d3cb25cf1d..217a30bf6880e 100644 --- a/tests/baselines/reference/intersectionTypeReadonly.errors.txt +++ b/tests/baselines/reference/intersectionTypeReadonly.errors.txt @@ -20,21 +20,21 @@ intersectionTypeReadonly.ts(25,15): error TS2540: Cannot assign to 'value' becau interface DifferentName { readonly other: number; } - let base: Base; + declare let base: Base; base.value = 12 // error, lhs can't be a readonly property ~~~~~ !!! error TS2540: Cannot assign to 'value' because it is a read-only property. - let identical: Base & Identical; + declare let identical: Base & Identical; identical.value = 12; // error, lhs can't be a readonly property ~~~~~ !!! error TS2540: Cannot assign to 'value' because it is a read-only property. - let mutable: Base & Mutable; + declare let mutable: Base & Mutable; mutable.value = 12; - let differentType: Base & DifferentType; + declare let differentType: Base & DifferentType; differentType.value = 12; // error, lhs can't be a readonly property ~~~~~ !!! error TS2540: Cannot assign to 'value' because it is a read-only property. - let differentName: Base & DifferentName; + declare let differentName: Base & DifferentName; differentName.value = 12; // error, property 'value' doesn't exist ~~~~~ !!! error TS2540: Cannot assign to 'value' because it is a read-only property. diff --git a/tests/baselines/reference/intersectionTypeReadonly.js b/tests/baselines/reference/intersectionTypeReadonly.js index e286754dc4d2f..d031123d41b08 100644 --- a/tests/baselines/reference/intersectionTypeReadonly.js +++ b/tests/baselines/reference/intersectionTypeReadonly.js @@ -16,26 +16,21 @@ interface DifferentType { interface DifferentName { readonly other: number; } -let base: Base; +declare let base: Base; base.value = 12 // error, lhs can't be a readonly property -let identical: Base & Identical; +declare let identical: Base & Identical; identical.value = 12; // error, lhs can't be a readonly property -let mutable: Base & Mutable; +declare let mutable: Base & Mutable; mutable.value = 12; -let differentType: Base & DifferentType; +declare let differentType: Base & DifferentType; differentType.value = 12; // error, lhs can't be a readonly property -let differentName: Base & DifferentName; +declare let differentName: Base & DifferentName; differentName.value = 12; // error, property 'value' doesn't exist //// [intersectionTypeReadonly.js] -var base; base.value = 12; // error, lhs can't be a readonly property -var identical; identical.value = 12; // error, lhs can't be a readonly property -var mutable; mutable.value = 12; -var differentType; differentType.value = 12; // error, lhs can't be a readonly property -var differentName; differentName.value = 12; // error, property 'value' doesn't exist diff --git a/tests/baselines/reference/intersectionTypeReadonly.symbols b/tests/baselines/reference/intersectionTypeReadonly.symbols index 589138fe5f89b..420121fbee31d 100644 --- a/tests/baselines/reference/intersectionTypeReadonly.symbols +++ b/tests/baselines/reference/intersectionTypeReadonly.symbols @@ -31,52 +31,52 @@ interface DifferentName { readonly other: number; >other : Symbol(DifferentName.other, Decl(intersectionTypeReadonly.ts, 12, 25)) } -let base: Base; ->base : Symbol(base, Decl(intersectionTypeReadonly.ts, 15, 3)) +declare let base: Base; +>base : Symbol(base, Decl(intersectionTypeReadonly.ts, 15, 11)) >Base : Symbol(Base, Decl(intersectionTypeReadonly.ts, 0, 0)) base.value = 12 // error, lhs can't be a readonly property >base.value : Symbol(Base.value, Decl(intersectionTypeReadonly.ts, 0, 16)) ->base : Symbol(base, Decl(intersectionTypeReadonly.ts, 15, 3)) +>base : Symbol(base, Decl(intersectionTypeReadonly.ts, 15, 11)) >value : Symbol(Base.value, Decl(intersectionTypeReadonly.ts, 0, 16)) -let identical: Base & Identical; ->identical : Symbol(identical, Decl(intersectionTypeReadonly.ts, 17, 3)) +declare let identical: Base & Identical; +>identical : Symbol(identical, Decl(intersectionTypeReadonly.ts, 17, 11)) >Base : Symbol(Base, Decl(intersectionTypeReadonly.ts, 0, 0)) >Identical : Symbol(Identical, Decl(intersectionTypeReadonly.ts, 2, 1)) identical.value = 12; // error, lhs can't be a readonly property >identical.value : Symbol(value, Decl(intersectionTypeReadonly.ts, 0, 16), Decl(intersectionTypeReadonly.ts, 3, 21)) ->identical : Symbol(identical, Decl(intersectionTypeReadonly.ts, 17, 3)) +>identical : Symbol(identical, Decl(intersectionTypeReadonly.ts, 17, 11)) >value : Symbol(value, Decl(intersectionTypeReadonly.ts, 0, 16), Decl(intersectionTypeReadonly.ts, 3, 21)) -let mutable: Base & Mutable; ->mutable : Symbol(mutable, Decl(intersectionTypeReadonly.ts, 19, 3)) +declare let mutable: Base & Mutable; +>mutable : Symbol(mutable, Decl(intersectionTypeReadonly.ts, 19, 11)) >Base : Symbol(Base, Decl(intersectionTypeReadonly.ts, 0, 0)) >Mutable : Symbol(Mutable, Decl(intersectionTypeReadonly.ts, 5, 1)) mutable.value = 12; >mutable.value : Symbol(value, Decl(intersectionTypeReadonly.ts, 0, 16), Decl(intersectionTypeReadonly.ts, 6, 19)) ->mutable : Symbol(mutable, Decl(intersectionTypeReadonly.ts, 19, 3)) +>mutable : Symbol(mutable, Decl(intersectionTypeReadonly.ts, 19, 11)) >value : Symbol(value, Decl(intersectionTypeReadonly.ts, 0, 16), Decl(intersectionTypeReadonly.ts, 6, 19)) -let differentType: Base & DifferentType; ->differentType : Symbol(differentType, Decl(intersectionTypeReadonly.ts, 21, 3)) +declare let differentType: Base & DifferentType; +>differentType : Symbol(differentType, Decl(intersectionTypeReadonly.ts, 21, 11)) >Base : Symbol(Base, Decl(intersectionTypeReadonly.ts, 0, 0)) >DifferentType : Symbol(DifferentType, Decl(intersectionTypeReadonly.ts, 8, 1)) differentType.value = 12; // error, lhs can't be a readonly property >differentType.value : Symbol(value, Decl(intersectionTypeReadonly.ts, 0, 16), Decl(intersectionTypeReadonly.ts, 9, 25)) ->differentType : Symbol(differentType, Decl(intersectionTypeReadonly.ts, 21, 3)) +>differentType : Symbol(differentType, Decl(intersectionTypeReadonly.ts, 21, 11)) >value : Symbol(value, Decl(intersectionTypeReadonly.ts, 0, 16), Decl(intersectionTypeReadonly.ts, 9, 25)) -let differentName: Base & DifferentName; ->differentName : Symbol(differentName, Decl(intersectionTypeReadonly.ts, 23, 3)) +declare let differentName: Base & DifferentName; +>differentName : Symbol(differentName, Decl(intersectionTypeReadonly.ts, 23, 11)) >Base : Symbol(Base, Decl(intersectionTypeReadonly.ts, 0, 0)) >DifferentName : Symbol(DifferentName, Decl(intersectionTypeReadonly.ts, 11, 1)) differentName.value = 12; // error, property 'value' doesn't exist >differentName.value : Symbol(Base.value, Decl(intersectionTypeReadonly.ts, 0, 16)) ->differentName : Symbol(differentName, Decl(intersectionTypeReadonly.ts, 23, 3)) +>differentName : Symbol(differentName, Decl(intersectionTypeReadonly.ts, 23, 11)) >value : Symbol(Base.value, Decl(intersectionTypeReadonly.ts, 0, 16)) diff --git a/tests/baselines/reference/intersectionTypeReadonly.types b/tests/baselines/reference/intersectionTypeReadonly.types index 003a28d818102..0188e31e9a055 100644 --- a/tests/baselines/reference/intersectionTypeReadonly.types +++ b/tests/baselines/reference/intersectionTypeReadonly.types @@ -26,7 +26,7 @@ interface DifferentName { >other : number > : ^^^^^^ } -let base: Base; +declare let base: Base; >base : Base > : ^^^^ @@ -42,7 +42,7 @@ base.value = 12 // error, lhs can't be a readonly property >12 : 12 > : ^^ -let identical: Base & Identical; +declare let identical: Base & Identical; >identical : Base & Identical > : ^^^^^^^^^^^^^^^^ @@ -58,7 +58,7 @@ identical.value = 12; // error, lhs can't be a readonly property >12 : 12 > : ^^ -let mutable: Base & Mutable; +declare let mutable: Base & Mutable; >mutable : Base & Mutable > : ^^^^^^^^^^^^^^ @@ -74,7 +74,7 @@ mutable.value = 12; >12 : 12 > : ^^ -let differentType: Base & DifferentType; +declare let differentType: Base & DifferentType; >differentType : Base & DifferentType > : ^^^^^^^^^^^^^^^^^^^^ @@ -90,7 +90,7 @@ differentType.value = 12; // error, lhs can't be a readonly property >12 : 12 > : ^^ -let differentName: Base & DifferentName; +declare let differentName: Base & DifferentName; >differentName : Base & DifferentName > : ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/invalidAssignmentsToVoid.errors.txt b/tests/baselines/reference/invalidAssignmentsToVoid.errors.txt index 5fc31d83ae4fa..9bbc49ff385d5 100644 --- a/tests/baselines/reference/invalidAssignmentsToVoid.errors.txt +++ b/tests/baselines/reference/invalidAssignmentsToVoid.errors.txt @@ -25,8 +25,8 @@ invalidAssignmentsToVoid.ts(22,5): error TS2322: Type '(a: T) => void' is not ~ !!! error TS2322: Type '{}' is not assignable to type 'void'. - class C { foo: string; } - var c: C; + class C { foo!: string; } + declare var c: C; x = C; ~ !!! error TS2322: Type 'typeof C' is not assignable to type 'void'. @@ -35,7 +35,7 @@ invalidAssignmentsToVoid.ts(22,5): error TS2322: Type '(a: T) => void' is not !!! error TS2322: Type 'C' is not assignable to type 'void'. interface I { foo: string; } - var i: I; + declare var i: I; x = i; ~ !!! error TS2322: Type 'I' is not assignable to type 'void'. diff --git a/tests/baselines/reference/invalidAssignmentsToVoid.js b/tests/baselines/reference/invalidAssignmentsToVoid.js index 29a324850a39b..899e90d01d844 100644 --- a/tests/baselines/reference/invalidAssignmentsToVoid.js +++ b/tests/baselines/reference/invalidAssignmentsToVoid.js @@ -7,13 +7,13 @@ x = true; x = ''; x = {} -class C { foo: string; } -var c: C; +class C { foo!: string; } +declare var c: C; x = C; x = c; interface I { foo: string; } -var i: I; +declare var i: I; x = i; namespace M { export var x = 1; } @@ -35,10 +35,8 @@ var C = /** @class */ (function () { } return C; }()); -var c; x = C; x = c; -var i; x = i; var M; (function (M) { diff --git a/tests/baselines/reference/invalidAssignmentsToVoid.symbols b/tests/baselines/reference/invalidAssignmentsToVoid.symbols index 26724370a4cf4..8d30bc2065b8c 100644 --- a/tests/baselines/reference/invalidAssignmentsToVoid.symbols +++ b/tests/baselines/reference/invalidAssignmentsToVoid.symbols @@ -16,12 +16,12 @@ x = ''; x = {} >x : Symbol(x, Decl(invalidAssignmentsToVoid.ts, 0, 3)) -class C { foo: string; } +class C { foo!: string; } >C : Symbol(C, Decl(invalidAssignmentsToVoid.ts, 4, 6)) >foo : Symbol(C.foo, Decl(invalidAssignmentsToVoid.ts, 6, 9)) -var c: C; ->c : Symbol(c, Decl(invalidAssignmentsToVoid.ts, 7, 3)) +declare var c: C; +>c : Symbol(c, Decl(invalidAssignmentsToVoid.ts, 7, 11)) >C : Symbol(C, Decl(invalidAssignmentsToVoid.ts, 4, 6)) x = C; @@ -30,19 +30,19 @@ x = C; x = c; >x : Symbol(x, Decl(invalidAssignmentsToVoid.ts, 0, 3)) ->c : Symbol(c, Decl(invalidAssignmentsToVoid.ts, 7, 3)) +>c : Symbol(c, Decl(invalidAssignmentsToVoid.ts, 7, 11)) interface I { foo: string; } >I : Symbol(I, Decl(invalidAssignmentsToVoid.ts, 9, 6)) >foo : Symbol(I.foo, Decl(invalidAssignmentsToVoid.ts, 11, 13)) -var i: I; ->i : Symbol(i, Decl(invalidAssignmentsToVoid.ts, 12, 3)) +declare var i: I; +>i : Symbol(i, Decl(invalidAssignmentsToVoid.ts, 12, 11)) >I : Symbol(I, Decl(invalidAssignmentsToVoid.ts, 9, 6)) x = i; >x : Symbol(x, Decl(invalidAssignmentsToVoid.ts, 0, 3)) ->i : Symbol(i, Decl(invalidAssignmentsToVoid.ts, 12, 3)) +>i : Symbol(i, Decl(invalidAssignmentsToVoid.ts, 12, 11)) namespace M { export var x = 1; } >M : Symbol(M, Decl(invalidAssignmentsToVoid.ts, 13, 6)) diff --git a/tests/baselines/reference/invalidAssignmentsToVoid.types b/tests/baselines/reference/invalidAssignmentsToVoid.types index 63730d9da3767..9a9118553f884 100644 --- a/tests/baselines/reference/invalidAssignmentsToVoid.types +++ b/tests/baselines/reference/invalidAssignmentsToVoid.types @@ -37,13 +37,13 @@ x = {} >{} : {} > : ^^ -class C { foo: string; } +class C { foo!: string; } >C : C > : ^ >foo : string > : ^^^^^^ -var c: C; +declare var c: C; >c : C > : ^ @@ -67,7 +67,7 @@ interface I { foo: string; } >foo : string > : ^^^^^^ -var i: I; +declare var i: I; >i : I > : ^ diff --git a/tests/baselines/reference/invalidVoidValues.errors.txt b/tests/baselines/reference/invalidVoidValues.errors.txt index 53a20d362a6ba..0c0966dfaadf6 100644 --- a/tests/baselines/reference/invalidVoidValues.errors.txt +++ b/tests/baselines/reference/invalidVoidValues.errors.txt @@ -31,14 +31,14 @@ invalidVoidValues.ts(26,5): error TS2322: Type '(a: T) => void' is not assign ~ !!! error TS2322: Type 'E' is not assignable to type 'void'. - class C { foo: string } - var a: C; + class C { foo!: string } + declare var a: C; x = a; ~ !!! error TS2322: Type 'C' is not assignable to type 'void'. interface I { foo: string } - var b: I; + declare var b: I; x = b; ~ !!! error TS2322: Type 'I' is not assignable to type 'void'. diff --git a/tests/baselines/reference/invalidVoidValues.js b/tests/baselines/reference/invalidVoidValues.js index 4b1a9ccad0b62..1f0bac6e5df46 100644 --- a/tests/baselines/reference/invalidVoidValues.js +++ b/tests/baselines/reference/invalidVoidValues.js @@ -10,12 +10,12 @@ enum E { A } x = E; x = E.A; -class C { foo: string } -var a: C; +class C { foo!: string } +declare var a: C; x = a; interface I { foo: string } -var b: I; +declare var b: I; x = b; x = { f() {} } @@ -44,9 +44,7 @@ var C = /** @class */ (function () { } return C; }()); -var a; x = a; -var b; x = b; x = { f: function () { } }; var M; diff --git a/tests/baselines/reference/invalidVoidValues.symbols b/tests/baselines/reference/invalidVoidValues.symbols index de16e867cdf98..172feb4cc4f57 100644 --- a/tests/baselines/reference/invalidVoidValues.symbols +++ b/tests/baselines/reference/invalidVoidValues.symbols @@ -27,29 +27,29 @@ x = E.A; >E : Symbol(E, Decl(invalidVoidValues.ts, 3, 9)) >A : Symbol(E.A, Decl(invalidVoidValues.ts, 5, 8)) -class C { foo: string } +class C { foo!: string } >C : Symbol(C, Decl(invalidVoidValues.ts, 7, 8)) >foo : Symbol(C.foo, Decl(invalidVoidValues.ts, 9, 9)) -var a: C; ->a : Symbol(a, Decl(invalidVoidValues.ts, 10, 3)) +declare var a: C; +>a : Symbol(a, Decl(invalidVoidValues.ts, 10, 11)) >C : Symbol(C, Decl(invalidVoidValues.ts, 7, 8)) x = a; >x : Symbol(x, Decl(invalidVoidValues.ts, 0, 3)) ->a : Symbol(a, Decl(invalidVoidValues.ts, 10, 3)) +>a : Symbol(a, Decl(invalidVoidValues.ts, 10, 11)) interface I { foo: string } >I : Symbol(I, Decl(invalidVoidValues.ts, 11, 6)) >foo : Symbol(I.foo, Decl(invalidVoidValues.ts, 13, 13)) -var b: I; ->b : Symbol(b, Decl(invalidVoidValues.ts, 14, 3)) +declare var b: I; +>b : Symbol(b, Decl(invalidVoidValues.ts, 14, 11)) >I : Symbol(I, Decl(invalidVoidValues.ts, 11, 6)) x = b; >x : Symbol(x, Decl(invalidVoidValues.ts, 0, 3)) ->b : Symbol(b, Decl(invalidVoidValues.ts, 14, 3)) +>b : Symbol(b, Decl(invalidVoidValues.ts, 14, 11)) x = { f() {} } >x : Symbol(x, Decl(invalidVoidValues.ts, 0, 3)) diff --git a/tests/baselines/reference/invalidVoidValues.types b/tests/baselines/reference/invalidVoidValues.types index ad12d6a458659..cc0d16fe059f2 100644 --- a/tests/baselines/reference/invalidVoidValues.types +++ b/tests/baselines/reference/invalidVoidValues.types @@ -55,13 +55,13 @@ x = E.A; >A : E > : ^ -class C { foo: string } +class C { foo!: string } >C : C > : ^ >foo : string > : ^^^^^^ -var a: C; +declare var a: C; >a : C > : ^ @@ -77,7 +77,7 @@ interface I { foo: string } >foo : string > : ^^^^^^ -var b: I; +declare var b: I; >b : I > : ^ diff --git a/tests/baselines/reference/jsdocCallbackAndType.errors.txt b/tests/baselines/reference/jsdocCallbackAndType.errors.txt index b3a6719491c7d..650d61b5f78f6 100644 --- a/tests/baselines/reference/jsdocCallbackAndType.errors.txt +++ b/tests/baselines/reference/jsdocCallbackAndType.errors.txt @@ -1,13 +1,18 @@ +/a.js(6,5): error TS2322: Type '{}' is not assignable to type 'B'. + Type '{}' provides no match for the signature '(): any'. /a.js(8,3): error TS2554: Expected 0 arguments, but got 1. -==== /a.js (1 errors) ==== +==== /a.js (2 errors) ==== /** * @template T * @callback B */ /** @type {B} */ - let b; + let b = {}; + ~ +!!! error TS2322: Type '{}' is not assignable to type 'B'. +!!! error TS2322: Type '{}' provides no match for the signature '(): any'. b(); b(1); ~ diff --git a/tests/baselines/reference/jsdocCallbackAndType.symbols b/tests/baselines/reference/jsdocCallbackAndType.symbols index f0ae77ce45364..dce8c2eb8305f 100644 --- a/tests/baselines/reference/jsdocCallbackAndType.symbols +++ b/tests/baselines/reference/jsdocCallbackAndType.symbols @@ -6,7 +6,7 @@ * @callback B */ /** @type {B} */ -let b; +let b = {}; >b : Symbol(b, Decl(a.js, 5, 3)) b(); diff --git a/tests/baselines/reference/jsdocCallbackAndType.types b/tests/baselines/reference/jsdocCallbackAndType.types index 720a62178b90d..a5a404ed832e3 100644 --- a/tests/baselines/reference/jsdocCallbackAndType.types +++ b/tests/baselines/reference/jsdocCallbackAndType.types @@ -6,9 +6,11 @@ * @callback B */ /** @type {B} */ -let b; +let b = {}; >b : B > : ^^^^^^^^^ +>{} : {} +> : ^^ b(); >b() : any diff --git a/tests/baselines/reference/jsxFactoryAndReactNamespace.errors.txt b/tests/baselines/reference/jsxFactoryAndReactNamespace.errors.txt index 3784948d57a2f..877adc2e803f7 100644 --- a/tests/baselines/reference/jsxFactoryAndReactNamespace.errors.txt +++ b/tests/baselines/reference/jsxFactoryAndReactNamespace.errors.txt @@ -36,7 +36,7 @@ error TS5053: Option 'reactNamespace' cannot be specified with option 'jsxFactor ==== test.tsx (0 errors) ==== import { Element} from './Element'; - let c: { + declare let c: { a?: { b: string } diff --git a/tests/baselines/reference/jsxFactoryAndReactNamespace.js b/tests/baselines/reference/jsxFactoryAndReactNamespace.js index 243700d76b1d4..fd74fa7225792 100644 --- a/tests/baselines/reference/jsxFactoryAndReactNamespace.js +++ b/tests/baselines/reference/jsxFactoryAndReactNamespace.js @@ -34,7 +34,7 @@ function toCamelCase(text: string): string { //// [test.tsx] import { Element} from './Element'; -let c: { +declare let c: { a?: { b: string } @@ -72,7 +72,6 @@ function toCamelCase(text) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Element_1 = require("./Element"); -let c; class A { view() { return [ diff --git a/tests/baselines/reference/jsxFactoryAndReactNamespace.symbols b/tests/baselines/reference/jsxFactoryAndReactNamespace.symbols index e177e45714a14..24ba3b5817569 100644 --- a/tests/baselines/reference/jsxFactoryAndReactNamespace.symbols +++ b/tests/baselines/reference/jsxFactoryAndReactNamespace.symbols @@ -82,11 +82,11 @@ function toCamelCase(text: string): string { import { Element} from './Element'; >Element : Symbol(Element, Decl(test.tsx, 0, 8)) -let c: { ->c : Symbol(c, Decl(test.tsx, 2, 3)) +declare let c: { +>c : Symbol(c, Decl(test.tsx, 2, 11)) a?: { ->a : Symbol(a, Decl(test.tsx, 2, 8)) +>a : Symbol(a, Decl(test.tsx, 2, 16)) b: string >b : Symbol(b, Decl(test.tsx, 3, 6)) @@ -106,9 +106,9 @@ class A { >content : Symbol(content, Decl(test.tsx, 12, 8)) >c.a!.b : Symbol(b, Decl(test.tsx, 3, 6)) ->c.a : Symbol(a, Decl(test.tsx, 2, 8)) ->c : Symbol(c, Decl(test.tsx, 2, 3)) ->a : Symbol(a, Decl(test.tsx, 2, 8)) +>c.a : Symbol(a, Decl(test.tsx, 2, 16)) +>c : Symbol(c, Decl(test.tsx, 2, 11)) +>a : Symbol(a, Decl(test.tsx, 2, 16)) >b : Symbol(b, Decl(test.tsx, 3, 6)) ]; diff --git a/tests/baselines/reference/jsxFactoryAndReactNamespace.types b/tests/baselines/reference/jsxFactoryAndReactNamespace.types index 021e638349d38..26f147d1dced4 100644 --- a/tests/baselines/reference/jsxFactoryAndReactNamespace.types +++ b/tests/baselines/reference/jsxFactoryAndReactNamespace.types @@ -128,7 +128,7 @@ import { Element} from './Element'; >Element : typeof Element > : ^^^^^^^^^^^^^^ -let c: { +declare let c: { >c : { a?: { b: string; }; } > : ^^^^^^ ^^^ diff --git a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.errors.txt b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.errors.txt index eb27397177344..3077f086fed64 100644 --- a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.errors.txt +++ b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.errors.txt @@ -38,7 +38,7 @@ test.tsx(13,5): error TS2874: This JSX tag requires 'React' to be in scope, but ==== test.tsx (2 errors) ==== import { Element} from './Element'; - let c: { + declare let c: { a?: { b: string } diff --git a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.js b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.js index 4a8c53383b38f..97293555c2973 100644 --- a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.js +++ b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.js @@ -34,7 +34,7 @@ function toCamelCase(text: string): string { //// [test.tsx] import { Element} from './Element'; -let c: { +declare let c: { a?: { b: string } @@ -71,7 +71,6 @@ function toCamelCase(text) { //// [test.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -let c; class A { view() { return [ diff --git a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.symbols b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.symbols index 3fe6e8fe4186d..98229ecaab4d2 100644 --- a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.symbols +++ b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.symbols @@ -82,11 +82,11 @@ function toCamelCase(text: string): string { import { Element} from './Element'; >Element : Symbol(Element, Decl(test.tsx, 0, 8)) -let c: { ->c : Symbol(c, Decl(test.tsx, 2, 3)) +declare let c: { +>c : Symbol(c, Decl(test.tsx, 2, 11)) a?: { ->a : Symbol(a, Decl(test.tsx, 2, 8)) +>a : Symbol(a, Decl(test.tsx, 2, 16)) b: string >b : Symbol(b, Decl(test.tsx, 3, 6)) @@ -106,9 +106,9 @@ class A { >content : Symbol(content, Decl(test.tsx, 12, 8)) >c.a!.b : Symbol(b, Decl(test.tsx, 3, 6)) ->c.a : Symbol(a, Decl(test.tsx, 2, 8)) ->c : Symbol(c, Decl(test.tsx, 2, 3)) ->a : Symbol(a, Decl(test.tsx, 2, 8)) +>c.a : Symbol(a, Decl(test.tsx, 2, 16)) +>c : Symbol(c, Decl(test.tsx, 2, 11)) +>a : Symbol(a, Decl(test.tsx, 2, 16)) >b : Symbol(b, Decl(test.tsx, 3, 6)) ]; diff --git a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.types b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.types index bee5a41234b64..4ab04fda2b60d 100644 --- a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.types +++ b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.types @@ -128,7 +128,7 @@ import { Element} from './Element'; >Element : typeof Element > : ^^^^^^^^^^^^^^ -let c: { +declare let c: { >c : { a?: { b: string; }; } > : ^^^^^^ ^^^ diff --git a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.errors.txt b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.errors.txt index 1e0a70a8debf8..765cf8875431e 100644 --- a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.errors.txt +++ b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.errors.txt @@ -38,7 +38,7 @@ test.tsx(13,5): error TS2874: This JSX tag requires 'React' to be in scope, but ==== test.tsx (2 errors) ==== import { Element} from './Element'; - let c: { + declare let c: { a?: { b: string } diff --git a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.js b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.js index 6d7e2781b8ece..9156caaf750fa 100644 --- a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.js +++ b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.js @@ -34,7 +34,7 @@ function toCamelCase(text: string): string { //// [test.tsx] import { Element} from './Element'; -let c: { +declare let c: { a?: { b: string } @@ -71,7 +71,6 @@ function toCamelCase(text) { //// [test.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -let c; class A { view() { return [ diff --git a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.symbols b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.symbols index 17be608f15f42..c2bd98a800a06 100644 --- a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.symbols +++ b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.symbols @@ -82,11 +82,11 @@ function toCamelCase(text: string): string { import { Element} from './Element'; >Element : Symbol(Element, Decl(test.tsx, 0, 8)) -let c: { ->c : Symbol(c, Decl(test.tsx, 2, 3)) +declare let c: { +>c : Symbol(c, Decl(test.tsx, 2, 11)) a?: { ->a : Symbol(a, Decl(test.tsx, 2, 8)) +>a : Symbol(a, Decl(test.tsx, 2, 16)) b: string >b : Symbol(b, Decl(test.tsx, 3, 6)) @@ -106,9 +106,9 @@ class A { >content : Symbol(content, Decl(test.tsx, 12, 8)) >c.a!.b : Symbol(b, Decl(test.tsx, 3, 6)) ->c.a : Symbol(a, Decl(test.tsx, 2, 8)) ->c : Symbol(c, Decl(test.tsx, 2, 3)) ->a : Symbol(a, Decl(test.tsx, 2, 8)) +>c.a : Symbol(a, Decl(test.tsx, 2, 16)) +>c : Symbol(c, Decl(test.tsx, 2, 11)) +>a : Symbol(a, Decl(test.tsx, 2, 16)) >b : Symbol(b, Decl(test.tsx, 3, 6)) ]; diff --git a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.types b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.types index b44a81844e020..243a230e4556d 100644 --- a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.types +++ b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.types @@ -128,7 +128,7 @@ import { Element} from './Element'; >Element : typeof Element > : ^^^^^^^^^^^^^^ -let c: { +declare let c: { >c : { a?: { b: string; }; } > : ^^^^^^ ^^^ diff --git a/tests/baselines/reference/literalsInComputedProperties1.errors.txt b/tests/baselines/reference/literalsInComputedProperties1.errors.txt index fabe67e261674..6078c332c9324 100644 --- a/tests/baselines/reference/literalsInComputedProperties1.errors.txt +++ b/tests/baselines/reference/literalsInComputedProperties1.errors.txt @@ -23,20 +23,20 @@ literalsInComputedProperties1.ts(42,5): error TS2452: An enum member cannot have ["4"]:number; } - let y:A; + declare let y:A; y[1].toExponential(); y[2].toExponential(); y[3].toExponential(); y[4].toExponential(); class C { - 1:number; - [2]:number; + 1!:number; + [2]!:number; "3":number; - ["4"]:number; + ["4"]!:number; } - let z:C; + declare let z:C; z[1].toExponential(); z[2].toExponential(); z[3].toExponential(); diff --git a/tests/baselines/reference/literalsInComputedProperties1.js b/tests/baselines/reference/literalsInComputedProperties1.js index 2ee167e2ae280..e8a1650793e9f 100644 --- a/tests/baselines/reference/literalsInComputedProperties1.js +++ b/tests/baselines/reference/literalsInComputedProperties1.js @@ -19,20 +19,20 @@ interface A { ["4"]:number; } -let y:A; +declare let y:A; y[1].toExponential(); y[2].toExponential(); y[3].toExponential(); y[4].toExponential(); class C { - 1:number; - [2]:number; + 1!:number; + [2]!:number; "3":number; - ["4"]:number; + ["4"]!:number; } -let z:C; +declare let z:C; z[1].toExponential(); z[2].toExponential(); z[3].toExponential(); @@ -65,7 +65,6 @@ x[1].toExponential(); x[2].toExponential(); x[3].toExponential(); x[4].toExponential(); -var y; y[1].toExponential(); y[2].toExponential(); y[3].toExponential(); @@ -75,7 +74,6 @@ var C = /** @class */ (function () { } return C; }()); -var z; z[1].toExponential(); z[2].toExponential(); z[3].toExponential(); diff --git a/tests/baselines/reference/literalsInComputedProperties1.symbols b/tests/baselines/reference/literalsInComputedProperties1.symbols index 18a9492660176..3a601d48fd444 100644 --- a/tests/baselines/reference/literalsInComputedProperties1.symbols +++ b/tests/baselines/reference/literalsInComputedProperties1.symbols @@ -60,77 +60,77 @@ interface A { >"4" : Symbol(A["4"], Decl(literalsInComputedProperties1.ts, 14, 15)) } -let y:A; ->y : Symbol(y, Decl(literalsInComputedProperties1.ts, 18, 3)) +declare let y:A; +>y : Symbol(y, Decl(literalsInComputedProperties1.ts, 18, 11)) >A : Symbol(A, Decl(literalsInComputedProperties1.ts, 9, 21)) y[1].toExponential(); >y[1].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) ->y : Symbol(y, Decl(literalsInComputedProperties1.ts, 18, 3)) +>y : Symbol(y, Decl(literalsInComputedProperties1.ts, 18, 11)) >1 : Symbol(A[1], Decl(literalsInComputedProperties1.ts, 11, 13)) >toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) y[2].toExponential(); >y[2].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) ->y : Symbol(y, Decl(literalsInComputedProperties1.ts, 18, 3)) +>y : Symbol(y, Decl(literalsInComputedProperties1.ts, 18, 11)) >2 : Symbol(A[2], Decl(literalsInComputedProperties1.ts, 12, 13)) >toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) y[3].toExponential(); >y[3].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) ->y : Symbol(y, Decl(literalsInComputedProperties1.ts, 18, 3)) +>y : Symbol(y, Decl(literalsInComputedProperties1.ts, 18, 11)) >3 : Symbol(A["3"], Decl(literalsInComputedProperties1.ts, 13, 15)) >toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) y[4].toExponential(); >y[4].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) ->y : Symbol(y, Decl(literalsInComputedProperties1.ts, 18, 3)) +>y : Symbol(y, Decl(literalsInComputedProperties1.ts, 18, 11)) >4 : Symbol(A["4"], Decl(literalsInComputedProperties1.ts, 14, 15)) >toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) class C { >C : Symbol(C, Decl(literalsInComputedProperties1.ts, 22, 21)) - 1:number; + 1!:number; >1 : Symbol(C[1], Decl(literalsInComputedProperties1.ts, 24, 9)) - [2]:number; ->[2] : Symbol(C[2], Decl(literalsInComputedProperties1.ts, 25, 13)) ->2 : Symbol(C[2], Decl(literalsInComputedProperties1.ts, 25, 13)) + [2]!:number; +>[2] : Symbol(C[2], Decl(literalsInComputedProperties1.ts, 25, 14)) +>2 : Symbol(C[2], Decl(literalsInComputedProperties1.ts, 25, 14)) "3":number; ->"3" : Symbol(C["3"], Decl(literalsInComputedProperties1.ts, 26, 15)) +>"3" : Symbol(C["3"], Decl(literalsInComputedProperties1.ts, 26, 16)) - ["4"]:number; + ["4"]!:number; >["4"] : Symbol(C["4"], Decl(literalsInComputedProperties1.ts, 27, 15)) >"4" : Symbol(C["4"], Decl(literalsInComputedProperties1.ts, 27, 15)) } -let z:C; ->z : Symbol(z, Decl(literalsInComputedProperties1.ts, 31, 3)) +declare let z:C; +>z : Symbol(z, Decl(literalsInComputedProperties1.ts, 31, 11)) >C : Symbol(C, Decl(literalsInComputedProperties1.ts, 22, 21)) z[1].toExponential(); >z[1].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) ->z : Symbol(z, Decl(literalsInComputedProperties1.ts, 31, 3)) +>z : Symbol(z, Decl(literalsInComputedProperties1.ts, 31, 11)) >1 : Symbol(C[1], Decl(literalsInComputedProperties1.ts, 24, 9)) >toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) z[2].toExponential(); >z[2].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) ->z : Symbol(z, Decl(literalsInComputedProperties1.ts, 31, 3)) ->2 : Symbol(C[2], Decl(literalsInComputedProperties1.ts, 25, 13)) +>z : Symbol(z, Decl(literalsInComputedProperties1.ts, 31, 11)) +>2 : Symbol(C[2], Decl(literalsInComputedProperties1.ts, 25, 14)) >toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) z[3].toExponential(); >z[3].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) ->z : Symbol(z, Decl(literalsInComputedProperties1.ts, 31, 3)) ->3 : Symbol(C["3"], Decl(literalsInComputedProperties1.ts, 26, 15)) +>z : Symbol(z, Decl(literalsInComputedProperties1.ts, 31, 11)) +>3 : Symbol(C["3"], Decl(literalsInComputedProperties1.ts, 26, 16)) >toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) z[4].toExponential(); >z[4].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) ->z : Symbol(z, Decl(literalsInComputedProperties1.ts, 31, 3)) +>z : Symbol(z, Decl(literalsInComputedProperties1.ts, 31, 11)) >4 : Symbol(C["4"], Decl(literalsInComputedProperties1.ts, 27, 15)) >toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/literalsInComputedProperties1.types b/tests/baselines/reference/literalsInComputedProperties1.types index 3df57877b2b03..ceab8b6f63740 100644 --- a/tests/baselines/reference/literalsInComputedProperties1.types +++ b/tests/baselines/reference/literalsInComputedProperties1.types @@ -113,7 +113,7 @@ interface A { > : ^^^ } -let y:A; +declare let y:A; >y : A > : ^ @@ -177,11 +177,11 @@ class C { >C : C > : ^ - 1:number; + 1!:number; >1 : number > : ^^^^^^ - [2]:number; + [2]!:number; >[2] : number > : ^^^^^^ >2 : 2 @@ -191,14 +191,14 @@ class C { >"3" : number > : ^^^^^^ - ["4"]:number; + ["4"]!:number; >["4"] : number > : ^^^^^^ >"4" : "4" > : ^^^ } -let z:C; +declare let z:C; >z : C > : ^ diff --git a/tests/baselines/reference/logicalAndOperatorWithEveryType.errors.txt b/tests/baselines/reference/logicalAndOperatorWithEveryType.errors.txt index 7f10b53cd3f30..94207877d0449 100644 --- a/tests/baselines/reference/logicalAndOperatorWithEveryType.errors.txt +++ b/tests/baselines/reference/logicalAndOperatorWithEveryType.errors.txt @@ -37,13 +37,13 @@ logicalAndOperatorWithEveryType.ts(123,12): error TS2873: This kind of expressio enum E { a, b, c } var a1: any; - var a2: boolean; - var a3: number - var a4: string; - var a5: void; - var a6: E; - var a7: {}; - var a8: string[]; + declare var a2: boolean; + declare var a3: number; + declare var a4: string; + declare var a5: void; + declare var a6: E; + declare var a7: {}; + declare var a8: string[]; var ra1 = a1 && a1; var ra2 = a2 && a1; diff --git a/tests/baselines/reference/logicalAndOperatorWithEveryType.js b/tests/baselines/reference/logicalAndOperatorWithEveryType.js index 3f39c5efbe39b..6ad32731b4b56 100644 --- a/tests/baselines/reference/logicalAndOperatorWithEveryType.js +++ b/tests/baselines/reference/logicalAndOperatorWithEveryType.js @@ -7,13 +7,13 @@ enum E { a, b, c } var a1: any; -var a2: boolean; -var a3: number -var a4: string; -var a5: void; -var a6: E; -var a7: {}; -var a8: string[]; +declare var a2: boolean; +declare var a3: number; +declare var a4: string; +declare var a5: void; +declare var a6: E; +declare var a7: {}; +declare var a8: string[]; var ra1 = a1 && a1; var ra2 = a2 && a1; @@ -135,13 +135,6 @@ var E; E[E["c"] = 2] = "c"; })(E || (E = {})); var a1; -var a2; -var a3; -var a4; -var a5; -var a6; -var a7; -var a8; var ra1 = a1 && a1; var ra2 = a2 && a1; var ra3 = a3 && a1; diff --git a/tests/baselines/reference/logicalAndOperatorWithEveryType.symbols b/tests/baselines/reference/logicalAndOperatorWithEveryType.symbols index d07b3fd505b63..4e3b1f76cea3a 100644 --- a/tests/baselines/reference/logicalAndOperatorWithEveryType.symbols +++ b/tests/baselines/reference/logicalAndOperatorWithEveryType.symbols @@ -13,27 +13,27 @@ enum E { a, b, c } var a1: any; >a1 : Symbol(a1, Decl(logicalAndOperatorWithEveryType.ts, 5, 3)) -var a2: boolean; ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) +declare var a2: boolean; +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) -var a3: number ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) +declare var a3: number; +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) -var a4: string; ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) +declare var a4: string; +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) -var a5: void; ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) +declare var a5: void; +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) -var a6: E; ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) +declare var a6: E; +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) >E : Symbol(E, Decl(logicalAndOperatorWithEveryType.ts, 0, 0)) -var a7: {}; ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) +declare var a7: {}; +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) -var a8: string[]; ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) +declare var a8: string[]; +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) var ra1 = a1 && a1; >ra1 : Symbol(ra1, Decl(logicalAndOperatorWithEveryType.ts, 14, 3)) @@ -42,37 +42,37 @@ var ra1 = a1 && a1; var ra2 = a2 && a1; >ra2 : Symbol(ra2, Decl(logicalAndOperatorWithEveryType.ts, 15, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) >a1 : Symbol(a1, Decl(logicalAndOperatorWithEveryType.ts, 5, 3)) var ra3 = a3 && a1; >ra3 : Symbol(ra3, Decl(logicalAndOperatorWithEveryType.ts, 16, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) >a1 : Symbol(a1, Decl(logicalAndOperatorWithEveryType.ts, 5, 3)) var ra4 = a4 && a1; >ra4 : Symbol(ra4, Decl(logicalAndOperatorWithEveryType.ts, 17, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) >a1 : Symbol(a1, Decl(logicalAndOperatorWithEveryType.ts, 5, 3)) var ra5 = a5 && a1; >ra5 : Symbol(ra5, Decl(logicalAndOperatorWithEveryType.ts, 18, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) >a1 : Symbol(a1, Decl(logicalAndOperatorWithEveryType.ts, 5, 3)) var ra6 = a6 && a1; >ra6 : Symbol(ra6, Decl(logicalAndOperatorWithEveryType.ts, 19, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) >a1 : Symbol(a1, Decl(logicalAndOperatorWithEveryType.ts, 5, 3)) var ra7 = a7 && a1; >ra7 : Symbol(ra7, Decl(logicalAndOperatorWithEveryType.ts, 20, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) >a1 : Symbol(a1, Decl(logicalAndOperatorWithEveryType.ts, 5, 3)) var ra8 = a8 && a1; >ra8 : Symbol(ra8, Decl(logicalAndOperatorWithEveryType.ts, 21, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) >a1 : Symbol(a1, Decl(logicalAndOperatorWithEveryType.ts, 5, 3)) var ra9 = null && a1; @@ -87,345 +87,345 @@ var ra10 = undefined && a1; var rb1 = a1 && a2; >rb1 : Symbol(rb1, Decl(logicalAndOperatorWithEveryType.ts, 25, 3)) >a1 : Symbol(a1, Decl(logicalAndOperatorWithEveryType.ts, 5, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) var rb2 = a2 && a2; >rb2 : Symbol(rb2, Decl(logicalAndOperatorWithEveryType.ts, 26, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) var rb3 = a3 && a2; >rb3 : Symbol(rb3, Decl(logicalAndOperatorWithEveryType.ts, 27, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) var rb4 = a4 && a2; >rb4 : Symbol(rb4, Decl(logicalAndOperatorWithEveryType.ts, 28, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) var rb5 = a5 && a2; >rb5 : Symbol(rb5, Decl(logicalAndOperatorWithEveryType.ts, 29, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) var rb6 = a6 && a2; >rb6 : Symbol(rb6, Decl(logicalAndOperatorWithEveryType.ts, 30, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) var rb7 = a7 && a2; >rb7 : Symbol(rb7, Decl(logicalAndOperatorWithEveryType.ts, 31, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) var rb8 = a8 && a2; >rb8 : Symbol(rb8, Decl(logicalAndOperatorWithEveryType.ts, 32, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) var rb9 = null && a2; >rb9 : Symbol(rb9, Decl(logicalAndOperatorWithEveryType.ts, 33, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) var rb10 = undefined && a2; >rb10 : Symbol(rb10, Decl(logicalAndOperatorWithEveryType.ts, 34, 3)) >undefined : Symbol(undefined) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) var rc1 = a1 && a3; >rc1 : Symbol(rc1, Decl(logicalAndOperatorWithEveryType.ts, 36, 3)) >a1 : Symbol(a1, Decl(logicalAndOperatorWithEveryType.ts, 5, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) var rc2 = a2 && a3; >rc2 : Symbol(rc2, Decl(logicalAndOperatorWithEveryType.ts, 37, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) var rc3 = a3 && a3; >rc3 : Symbol(rc3, Decl(logicalAndOperatorWithEveryType.ts, 38, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) var rc4 = a4 && a3; >rc4 : Symbol(rc4, Decl(logicalAndOperatorWithEveryType.ts, 39, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) var rc5 = a5 && a3; >rc5 : Symbol(rc5, Decl(logicalAndOperatorWithEveryType.ts, 40, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) var rc6 = a6 && a3; >rc6 : Symbol(rc6, Decl(logicalAndOperatorWithEveryType.ts, 41, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) var rc7 = a7 && a3; >rc7 : Symbol(rc7, Decl(logicalAndOperatorWithEveryType.ts, 42, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) var rc8 = a8 && a3; >rc8 : Symbol(rc8, Decl(logicalAndOperatorWithEveryType.ts, 43, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) var rc9 = null && a3; >rc9 : Symbol(rc9, Decl(logicalAndOperatorWithEveryType.ts, 44, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) var rc10 = undefined && a3; >rc10 : Symbol(rc10, Decl(logicalAndOperatorWithEveryType.ts, 45, 3)) >undefined : Symbol(undefined) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) var rd1 = a1 && a4; >rd1 : Symbol(rd1, Decl(logicalAndOperatorWithEveryType.ts, 47, 3)) >a1 : Symbol(a1, Decl(logicalAndOperatorWithEveryType.ts, 5, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) var rd2 = a2 && a4; >rd2 : Symbol(rd2, Decl(logicalAndOperatorWithEveryType.ts, 48, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) var rd3 = a3 && a4; >rd3 : Symbol(rd3, Decl(logicalAndOperatorWithEveryType.ts, 49, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) var rd4 = a4 && a4; >rd4 : Symbol(rd4, Decl(logicalAndOperatorWithEveryType.ts, 50, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) var rd5 = a5 && a4; >rd5 : Symbol(rd5, Decl(logicalAndOperatorWithEveryType.ts, 51, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) var rd6 = a6 && a4; >rd6 : Symbol(rd6, Decl(logicalAndOperatorWithEveryType.ts, 52, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) var rd7 = a7 && a4; >rd7 : Symbol(rd7, Decl(logicalAndOperatorWithEveryType.ts, 53, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) var rd8 = a8 && a4; >rd8 : Symbol(rd8, Decl(logicalAndOperatorWithEveryType.ts, 54, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) var rd9 = null && a4; >rd9 : Symbol(rd9, Decl(logicalAndOperatorWithEveryType.ts, 55, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) var rd10 = undefined && a4; >rd10 : Symbol(rd10, Decl(logicalAndOperatorWithEveryType.ts, 56, 3)) >undefined : Symbol(undefined) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) var re1 = a1 && a5; >re1 : Symbol(re1, Decl(logicalAndOperatorWithEveryType.ts, 58, 3)) >a1 : Symbol(a1, Decl(logicalAndOperatorWithEveryType.ts, 5, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) var re2 = a2 && a5; >re2 : Symbol(re2, Decl(logicalAndOperatorWithEveryType.ts, 59, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) var re3 = a3 && a5; >re3 : Symbol(re3, Decl(logicalAndOperatorWithEveryType.ts, 60, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) var re4 = a4 && a5; >re4 : Symbol(re4, Decl(logicalAndOperatorWithEveryType.ts, 61, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) var re5 = a5 && a5; >re5 : Symbol(re5, Decl(logicalAndOperatorWithEveryType.ts, 62, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) var re6 = a6 && a5; >re6 : Symbol(re6, Decl(logicalAndOperatorWithEveryType.ts, 63, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) var re7 = a7 && a5; >re7 : Symbol(re7, Decl(logicalAndOperatorWithEveryType.ts, 64, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) var re8 = a8 && a5; >re8 : Symbol(re8, Decl(logicalAndOperatorWithEveryType.ts, 65, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) var re9 = null && a5; >re9 : Symbol(re9, Decl(logicalAndOperatorWithEveryType.ts, 66, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) var re10 = undefined && a5; >re10 : Symbol(re10, Decl(logicalAndOperatorWithEveryType.ts, 67, 3)) >undefined : Symbol(undefined) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) var rf1 = a1 && a6; >rf1 : Symbol(rf1, Decl(logicalAndOperatorWithEveryType.ts, 69, 3)) >a1 : Symbol(a1, Decl(logicalAndOperatorWithEveryType.ts, 5, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) var rf2 = a2 && a6; >rf2 : Symbol(rf2, Decl(logicalAndOperatorWithEveryType.ts, 70, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) var rf3 = a3 && a6; >rf3 : Symbol(rf3, Decl(logicalAndOperatorWithEveryType.ts, 71, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) var rf4 = a4 && a6; >rf4 : Symbol(rf4, Decl(logicalAndOperatorWithEveryType.ts, 72, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) var rf5 = a5 && a6; >rf5 : Symbol(rf5, Decl(logicalAndOperatorWithEveryType.ts, 73, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) var rf6 = a6 && a6; >rf6 : Symbol(rf6, Decl(logicalAndOperatorWithEveryType.ts, 74, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) var rf7 = a7 && a6; >rf7 : Symbol(rf7, Decl(logicalAndOperatorWithEveryType.ts, 75, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) var rf8 = a8 && a6; >rf8 : Symbol(rf8, Decl(logicalAndOperatorWithEveryType.ts, 76, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) var rf9 = null && a6; >rf9 : Symbol(rf9, Decl(logicalAndOperatorWithEveryType.ts, 77, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) var rf10 = undefined && a6; >rf10 : Symbol(rf10, Decl(logicalAndOperatorWithEveryType.ts, 78, 3)) >undefined : Symbol(undefined) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) var rg1 = a1 && a7; >rg1 : Symbol(rg1, Decl(logicalAndOperatorWithEveryType.ts, 80, 3)) >a1 : Symbol(a1, Decl(logicalAndOperatorWithEveryType.ts, 5, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) var rg2 = a2 && a7; >rg2 : Symbol(rg2, Decl(logicalAndOperatorWithEveryType.ts, 81, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) var rg3 = a3 && a7; >rg3 : Symbol(rg3, Decl(logicalAndOperatorWithEveryType.ts, 82, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) var rg4 = a4 && a7; >rg4 : Symbol(rg4, Decl(logicalAndOperatorWithEveryType.ts, 83, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) var rg5 = a5 && a7; >rg5 : Symbol(rg5, Decl(logicalAndOperatorWithEveryType.ts, 84, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) var rg6 = a6 && a7; >rg6 : Symbol(rg6, Decl(logicalAndOperatorWithEveryType.ts, 85, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) var rg7 = a7 && a7; >rg7 : Symbol(rg7, Decl(logicalAndOperatorWithEveryType.ts, 86, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) var rg8 = a8 && a7; >rg8 : Symbol(rg8, Decl(logicalAndOperatorWithEveryType.ts, 87, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) var rg9 = null && a7; >rg9 : Symbol(rg9, Decl(logicalAndOperatorWithEveryType.ts, 88, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) var rg10 = undefined && a7; >rg10 : Symbol(rg10, Decl(logicalAndOperatorWithEveryType.ts, 89, 3)) >undefined : Symbol(undefined) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) var rh1 = a1 && a8; >rh1 : Symbol(rh1, Decl(logicalAndOperatorWithEveryType.ts, 91, 3)) >a1 : Symbol(a1, Decl(logicalAndOperatorWithEveryType.ts, 5, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) var rh2 = a2 && a8; >rh2 : Symbol(rh2, Decl(logicalAndOperatorWithEveryType.ts, 92, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) var rh3 = a3 && a8; >rh3 : Symbol(rh3, Decl(logicalAndOperatorWithEveryType.ts, 93, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) var rh4 = a4 && a8; >rh4 : Symbol(rh4, Decl(logicalAndOperatorWithEveryType.ts, 94, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) var rh5 = a5 && a8; >rh5 : Symbol(rh5, Decl(logicalAndOperatorWithEveryType.ts, 95, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) var rh6 = a6 && a8; >rh6 : Symbol(rh6, Decl(logicalAndOperatorWithEveryType.ts, 96, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) var rh7 = a7 && a8; >rh7 : Symbol(rh7, Decl(logicalAndOperatorWithEveryType.ts, 97, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) var rh8 = a8 && a8; >rh8 : Symbol(rh8, Decl(logicalAndOperatorWithEveryType.ts, 98, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) var rh9 = null && a8; >rh9 : Symbol(rh9, Decl(logicalAndOperatorWithEveryType.ts, 99, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) var rh10 = undefined && a8; >rh10 : Symbol(rh10, Decl(logicalAndOperatorWithEveryType.ts, 100, 3)) >undefined : Symbol(undefined) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) var ri1 = a1 && null; >ri1 : Symbol(ri1, Decl(logicalAndOperatorWithEveryType.ts, 102, 3)) @@ -433,31 +433,31 @@ var ri1 = a1 && null; var ri2 = a2 && null; >ri2 : Symbol(ri2, Decl(logicalAndOperatorWithEveryType.ts, 103, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) var ri3 = a3 && null; >ri3 : Symbol(ri3, Decl(logicalAndOperatorWithEveryType.ts, 104, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) var ri4 = a4 && null; >ri4 : Symbol(ri4, Decl(logicalAndOperatorWithEveryType.ts, 105, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) var ri5 = a5 && null; >ri5 : Symbol(ri5, Decl(logicalAndOperatorWithEveryType.ts, 106, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) var ri6 = a6 && null; >ri6 : Symbol(ri6, Decl(logicalAndOperatorWithEveryType.ts, 107, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) var ri7 = a7 && null; >ri7 : Symbol(ri7, Decl(logicalAndOperatorWithEveryType.ts, 108, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) var ri8 = a8 && null; >ri8 : Symbol(ri8, Decl(logicalAndOperatorWithEveryType.ts, 109, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) var ri9 = null && null; >ri9 : Symbol(ri9, Decl(logicalAndOperatorWithEveryType.ts, 110, 3)) @@ -473,37 +473,37 @@ var rj1 = a1 && undefined; var rj2 = a2 && undefined; >rj2 : Symbol(rj2, Decl(logicalAndOperatorWithEveryType.ts, 114, 3)) ->a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 3)) +>a2 : Symbol(a2, Decl(logicalAndOperatorWithEveryType.ts, 6, 11)) >undefined : Symbol(undefined) var rj3 = a3 && undefined; >rj3 : Symbol(rj3, Decl(logicalAndOperatorWithEveryType.ts, 115, 3)) ->a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 3)) +>a3 : Symbol(a3, Decl(logicalAndOperatorWithEveryType.ts, 7, 11)) >undefined : Symbol(undefined) var rj4 = a4 && undefined; >rj4 : Symbol(rj4, Decl(logicalAndOperatorWithEveryType.ts, 116, 3)) ->a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 3)) +>a4 : Symbol(a4, Decl(logicalAndOperatorWithEveryType.ts, 8, 11)) >undefined : Symbol(undefined) var rj5 = a5 && undefined; >rj5 : Symbol(rj5, Decl(logicalAndOperatorWithEveryType.ts, 117, 3)) ->a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 3)) +>a5 : Symbol(a5, Decl(logicalAndOperatorWithEveryType.ts, 9, 11)) >undefined : Symbol(undefined) var rj6 = a6 && undefined; >rj6 : Symbol(rj6, Decl(logicalAndOperatorWithEveryType.ts, 118, 3)) ->a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 3)) +>a6 : Symbol(a6, Decl(logicalAndOperatorWithEveryType.ts, 10, 11)) >undefined : Symbol(undefined) var rj7 = a7 && undefined; >rj7 : Symbol(rj7, Decl(logicalAndOperatorWithEveryType.ts, 119, 3)) ->a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 3)) +>a7 : Symbol(a7, Decl(logicalAndOperatorWithEveryType.ts, 11, 11)) >undefined : Symbol(undefined) var rj8 = a8 && undefined; >rj8 : Symbol(rj8, Decl(logicalAndOperatorWithEveryType.ts, 120, 3)) ->a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 3)) +>a8 : Symbol(a8, Decl(logicalAndOperatorWithEveryType.ts, 12, 11)) >undefined : Symbol(undefined) var rj9 = null && undefined; diff --git a/tests/baselines/reference/logicalAndOperatorWithEveryType.types b/tests/baselines/reference/logicalAndOperatorWithEveryType.types index f44d3ee366c39..519f350c13d52 100644 --- a/tests/baselines/reference/logicalAndOperatorWithEveryType.types +++ b/tests/baselines/reference/logicalAndOperatorWithEveryType.types @@ -18,31 +18,31 @@ var a1: any; >a1 : any > : ^^^ -var a2: boolean; +declare var a2: boolean; >a2 : boolean > : ^^^^^^^ -var a3: number +declare var a3: number; >a3 : number > : ^^^^^^ -var a4: string; +declare var a4: string; >a4 : string > : ^^^^^^ -var a5: void; +declare var a5: void; >a5 : void > : ^^^^ -var a6: E; +declare var a6: E; >a6 : E > : ^ -var a7: {}; +declare var a7: {}; >a7 : {} > : ^^ -var a8: string[]; +declare var a8: string[]; >a8 : string[] > : ^^^^^^^^ diff --git a/tests/baselines/reference/logicalNotOperatorInvalidOperations.errors.txt b/tests/baselines/reference/logicalNotOperatorInvalidOperations.errors.txt index 82af107f6874d..f90bdea67846f 100644 --- a/tests/baselines/reference/logicalNotOperatorInvalidOperations.errors.txt +++ b/tests/baselines/reference/logicalNotOperatorInvalidOperations.errors.txt @@ -4,7 +4,7 @@ logicalNotOperatorInvalidOperations.ts(11,16): error TS1109: Expression expected ==== logicalNotOperatorInvalidOperations.ts (2 errors) ==== // Unary operator ! - var b: number; + declare var b: number; // operand before ! var BOOLEAN1 = b!; //expect error diff --git a/tests/baselines/reference/logicalNotOperatorInvalidOperations.js b/tests/baselines/reference/logicalNotOperatorInvalidOperations.js index e8c509e372a5a..ad0f41bb1d15a 100644 --- a/tests/baselines/reference/logicalNotOperatorInvalidOperations.js +++ b/tests/baselines/reference/logicalNotOperatorInvalidOperations.js @@ -2,7 +2,7 @@ //// [logicalNotOperatorInvalidOperations.ts] // Unary operator ! -var b: number; +declare var b: number; // operand before ! var BOOLEAN1 = b!; //expect error @@ -14,8 +14,6 @@ var BOOLEAN2 = !b + b; var BOOLEAN3 =!; //// [logicalNotOperatorInvalidOperations.js] -// Unary operator ! -var b; // operand before ! var BOOLEAN1 = b; //expect error // miss parentheses diff --git a/tests/baselines/reference/logicalNotOperatorInvalidOperations.symbols b/tests/baselines/reference/logicalNotOperatorInvalidOperations.symbols index 370b44b759950..371479d049fb3 100644 --- a/tests/baselines/reference/logicalNotOperatorInvalidOperations.symbols +++ b/tests/baselines/reference/logicalNotOperatorInvalidOperations.symbols @@ -2,19 +2,19 @@ === logicalNotOperatorInvalidOperations.ts === // Unary operator ! -var b: number; ->b : Symbol(b, Decl(logicalNotOperatorInvalidOperations.ts, 1, 3)) +declare var b: number; +>b : Symbol(b, Decl(logicalNotOperatorInvalidOperations.ts, 1, 11)) // operand before ! var BOOLEAN1 = b!; //expect error >BOOLEAN1 : Symbol(BOOLEAN1, Decl(logicalNotOperatorInvalidOperations.ts, 4, 3)) ->b : Symbol(b, Decl(logicalNotOperatorInvalidOperations.ts, 1, 3)) +>b : Symbol(b, Decl(logicalNotOperatorInvalidOperations.ts, 1, 11)) // miss parentheses var BOOLEAN2 = !b + b; >BOOLEAN2 : Symbol(BOOLEAN2, Decl(logicalNotOperatorInvalidOperations.ts, 7, 3)) ->b : Symbol(b, Decl(logicalNotOperatorInvalidOperations.ts, 1, 3)) ->b : Symbol(b, Decl(logicalNotOperatorInvalidOperations.ts, 1, 3)) +>b : Symbol(b, Decl(logicalNotOperatorInvalidOperations.ts, 1, 11)) +>b : Symbol(b, Decl(logicalNotOperatorInvalidOperations.ts, 1, 11)) // miss an operand var BOOLEAN3 =!; diff --git a/tests/baselines/reference/logicalNotOperatorInvalidOperations.types b/tests/baselines/reference/logicalNotOperatorInvalidOperations.types index 817e92db0ffa2..76d5b68ab9e0a 100644 --- a/tests/baselines/reference/logicalNotOperatorInvalidOperations.types +++ b/tests/baselines/reference/logicalNotOperatorInvalidOperations.types @@ -2,7 +2,7 @@ === logicalNotOperatorInvalidOperations.ts === // Unary operator ! -var b: number; +declare var b: number; >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.errors.txt b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.errors.txt index 043289f9b7523..0c22adf45301a 100644 --- a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.errors.txt +++ b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.errors.txt @@ -12,7 +12,7 @@ logicalNotOperatorWithAnyOtherType.ts(57,1): error TS2695: Left side of comma op var ANY: any; var ANY1; var ANY2: any[] = ["", ""]; - var obj: () => {} + declare var obj: () => {} var obj1 = { x: "", y: () => { }}; function foo(): any { var a; diff --git a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.js b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.js index 0d36d1e07af8c..e72bc55b517c8 100644 --- a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.js +++ b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.js @@ -6,7 +6,7 @@ var ANY: any; var ANY1; var ANY2: any[] = ["", ""]; -var obj: () => {} +declare var obj: () => {} var obj1 = { x: "", y: () => { }}; function foo(): any { var a; @@ -66,7 +66,6 @@ var ResultIsBoolean21 = !!!(ANY + ANY1); var ANY; var ANY1; var ANY2 = ["", ""]; -var obj; var obj1 = { x: "", y: function () { } }; function foo() { var a; diff --git a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.symbols b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.symbols index 74db3a79283cf..8031565c0db58 100644 --- a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.symbols +++ b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.symbols @@ -12,8 +12,8 @@ var ANY1; var ANY2: any[] = ["", ""]; >ANY2 : Symbol(ANY2, Decl(logicalNotOperatorWithAnyOtherType.ts, 4, 3)) -var obj: () => {} ->obj : Symbol(obj, Decl(logicalNotOperatorWithAnyOtherType.ts, 5, 3)) +declare var obj: () => {} +>obj : Symbol(obj, Decl(logicalNotOperatorWithAnyOtherType.ts, 5, 11)) var obj1 = { x: "", y: () => { }}; >obj1 : Symbol(obj1, Decl(logicalNotOperatorWithAnyOtherType.ts, 6, 3)) @@ -74,7 +74,7 @@ var ResultIsBoolean4 = !M; var ResultIsBoolean5 = !obj; >ResultIsBoolean5 : Symbol(ResultIsBoolean5, Decl(logicalNotOperatorWithAnyOtherType.ts, 28, 3)) ->obj : Symbol(obj, Decl(logicalNotOperatorWithAnyOtherType.ts, 5, 3)) +>obj : Symbol(obj, Decl(logicalNotOperatorWithAnyOtherType.ts, 5, 11)) var ResultIsBoolean6 = !obj1; >ResultIsBoolean6 : Symbol(ResultIsBoolean6, Decl(logicalNotOperatorWithAnyOtherType.ts, 29, 3)) diff --git a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.types b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.types index 2008f78882470..843d715802911 100644 --- a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.types @@ -21,7 +21,7 @@ var ANY2: any[] = ["", ""]; >"" : "" > : ^^ -var obj: () => {} +declare var obj: () => {} >obj : () => {} > : ^^^^^^ diff --git a/tests/baselines/reference/logicalNotOperatorWithBooleanType.errors.txt b/tests/baselines/reference/logicalNotOperatorWithBooleanType.errors.txt index cb601859fb889..7f4a6b7ff891e 100644 --- a/tests/baselines/reference/logicalNotOperatorWithBooleanType.errors.txt +++ b/tests/baselines/reference/logicalNotOperatorWithBooleanType.errors.txt @@ -4,16 +4,16 @@ logicalNotOperatorWithBooleanType.ts(36,1): error TS2695: Left side of comma ope ==== logicalNotOperatorWithBooleanType.ts (2 errors) ==== // ! operator on boolean type - var BOOLEAN: boolean; + declare var BOOLEAN: boolean; function foo(): boolean { return true; } class A { - public a: boolean; + public a!: boolean; static foo() { return false; } } namespace M { - export var n: boolean; + export declare var n: boolean; } var objA = new A(); diff --git a/tests/baselines/reference/logicalNotOperatorWithBooleanType.js b/tests/baselines/reference/logicalNotOperatorWithBooleanType.js index 3ba85d07e8fe4..605c1960eea1a 100644 --- a/tests/baselines/reference/logicalNotOperatorWithBooleanType.js +++ b/tests/baselines/reference/logicalNotOperatorWithBooleanType.js @@ -2,16 +2,16 @@ //// [logicalNotOperatorWithBooleanType.ts] // ! operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; function foo(): boolean { return true; } class A { - public a: boolean; + public a!: boolean; static foo() { return false; } } namespace M { - export var n: boolean; + export declare var n: boolean; } var objA = new A(); @@ -41,8 +41,6 @@ var ResultIsBoolean = !!BOOLEAN; !M.n; //// [logicalNotOperatorWithBooleanType.js] -// ! operator on boolean type -var BOOLEAN; function foo() { return true; } var A = /** @class */ (function () { function A() { diff --git a/tests/baselines/reference/logicalNotOperatorWithBooleanType.symbols b/tests/baselines/reference/logicalNotOperatorWithBooleanType.symbols index b70b8a19fedb4..88709f1acb5c7 100644 --- a/tests/baselines/reference/logicalNotOperatorWithBooleanType.symbols +++ b/tests/baselines/reference/logicalNotOperatorWithBooleanType.symbols @@ -2,26 +2,26 @@ === logicalNotOperatorWithBooleanType.ts === // ! operator on boolean type -var BOOLEAN: boolean; ->BOOLEAN : Symbol(BOOLEAN, Decl(logicalNotOperatorWithBooleanType.ts, 1, 3)) +declare var BOOLEAN: boolean; +>BOOLEAN : Symbol(BOOLEAN, Decl(logicalNotOperatorWithBooleanType.ts, 1, 11)) function foo(): boolean { return true; } ->foo : Symbol(foo, Decl(logicalNotOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(logicalNotOperatorWithBooleanType.ts, 1, 29)) class A { >A : Symbol(A, Decl(logicalNotOperatorWithBooleanType.ts, 3, 40)) - public a: boolean; + public a!: boolean; >a : Symbol(A.a, Decl(logicalNotOperatorWithBooleanType.ts, 5, 9)) static foo() { return false; } ->foo : Symbol(A.foo, Decl(logicalNotOperatorWithBooleanType.ts, 6, 22)) +>foo : Symbol(A.foo, Decl(logicalNotOperatorWithBooleanType.ts, 6, 23)) } namespace M { >M : Symbol(M, Decl(logicalNotOperatorWithBooleanType.ts, 8, 1)) - export var n: boolean; ->n : Symbol(n, Decl(logicalNotOperatorWithBooleanType.ts, 10, 14)) + export declare var n: boolean; +>n : Symbol(n, Decl(logicalNotOperatorWithBooleanType.ts, 10, 22)) } var objA = new A(); @@ -31,7 +31,7 @@ var objA = new A(); // boolean type var var ResultIsBoolean1 = !BOOLEAN; >ResultIsBoolean1 : Symbol(ResultIsBoolean1, Decl(logicalNotOperatorWithBooleanType.ts, 16, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(logicalNotOperatorWithBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(logicalNotOperatorWithBooleanType.ts, 1, 11)) // boolean type literal var ResultIsBoolean2 = !true; @@ -51,32 +51,32 @@ var ResultIsBoolean4 = !objA.a; var ResultIsBoolean5 = !M.n; >ResultIsBoolean5 : Symbol(ResultIsBoolean5, Decl(logicalNotOperatorWithBooleanType.ts, 24, 3)) ->M.n : Symbol(M.n, Decl(logicalNotOperatorWithBooleanType.ts, 10, 14)) +>M.n : Symbol(M.n, Decl(logicalNotOperatorWithBooleanType.ts, 10, 22)) >M : Symbol(M, Decl(logicalNotOperatorWithBooleanType.ts, 8, 1)) ->n : Symbol(M.n, Decl(logicalNotOperatorWithBooleanType.ts, 10, 14)) +>n : Symbol(M.n, Decl(logicalNotOperatorWithBooleanType.ts, 10, 22)) var ResultIsBoolean6 = !foo(); >ResultIsBoolean6 : Symbol(ResultIsBoolean6, Decl(logicalNotOperatorWithBooleanType.ts, 25, 3)) ->foo : Symbol(foo, Decl(logicalNotOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(logicalNotOperatorWithBooleanType.ts, 1, 29)) var ResultIsBoolean7 = !A.foo(); >ResultIsBoolean7 : Symbol(ResultIsBoolean7, Decl(logicalNotOperatorWithBooleanType.ts, 26, 3)) ->A.foo : Symbol(A.foo, Decl(logicalNotOperatorWithBooleanType.ts, 6, 22)) +>A.foo : Symbol(A.foo, Decl(logicalNotOperatorWithBooleanType.ts, 6, 23)) >A : Symbol(A, Decl(logicalNotOperatorWithBooleanType.ts, 3, 40)) ->foo : Symbol(A.foo, Decl(logicalNotOperatorWithBooleanType.ts, 6, 22)) +>foo : Symbol(A.foo, Decl(logicalNotOperatorWithBooleanType.ts, 6, 23)) // multiple ! operators var ResultIsBoolean = !!BOOLEAN; >ResultIsBoolean : Symbol(ResultIsBoolean, Decl(logicalNotOperatorWithBooleanType.ts, 29, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(logicalNotOperatorWithBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(logicalNotOperatorWithBooleanType.ts, 1, 11)) // miss assignment operators !true; !BOOLEAN; ->BOOLEAN : Symbol(BOOLEAN, Decl(logicalNotOperatorWithBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(logicalNotOperatorWithBooleanType.ts, 1, 11)) !foo(); ->foo : Symbol(foo, Decl(logicalNotOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(logicalNotOperatorWithBooleanType.ts, 1, 29)) !true, false; !objA.a; @@ -85,7 +85,7 @@ var ResultIsBoolean = !!BOOLEAN; >a : Symbol(A.a, Decl(logicalNotOperatorWithBooleanType.ts, 5, 9)) !M.n; ->M.n : Symbol(M.n, Decl(logicalNotOperatorWithBooleanType.ts, 10, 14)) +>M.n : Symbol(M.n, Decl(logicalNotOperatorWithBooleanType.ts, 10, 22)) >M : Symbol(M, Decl(logicalNotOperatorWithBooleanType.ts, 8, 1)) ->n : Symbol(M.n, Decl(logicalNotOperatorWithBooleanType.ts, 10, 14)) +>n : Symbol(M.n, Decl(logicalNotOperatorWithBooleanType.ts, 10, 22)) diff --git a/tests/baselines/reference/logicalNotOperatorWithBooleanType.types b/tests/baselines/reference/logicalNotOperatorWithBooleanType.types index 12bdf272c643e..f073f8e8de9b3 100644 --- a/tests/baselines/reference/logicalNotOperatorWithBooleanType.types +++ b/tests/baselines/reference/logicalNotOperatorWithBooleanType.types @@ -2,7 +2,7 @@ === logicalNotOperatorWithBooleanType.ts === // ! operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; >BOOLEAN : boolean > : ^^^^^^^ @@ -16,7 +16,7 @@ class A { >A : A > : ^ - public a: boolean; + public a!: boolean; >a : boolean > : ^^^^^^^ @@ -30,7 +30,7 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: boolean; + export declare var n: boolean; >n : boolean > : ^^^^^^^ } diff --git a/tests/baselines/reference/logicalNotOperatorWithNumberType.errors.txt b/tests/baselines/reference/logicalNotOperatorWithNumberType.errors.txt index a81e764f76862..6e81484323eac 100644 --- a/tests/baselines/reference/logicalNotOperatorWithNumberType.errors.txt +++ b/tests/baselines/reference/logicalNotOperatorWithNumberType.errors.txt @@ -5,17 +5,17 @@ logicalNotOperatorWithNumberType.ts(45,1): error TS2695: Left side of comma oper ==== logicalNotOperatorWithNumberType.ts (3 errors) ==== // ! operator on number type - var NUMBER: number; + declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } class A { - public a: number; + public a!: number; static foo() { return 1; } } namespace M { - export var n: number; + export declare var n: number; } var objA = new A(); diff --git a/tests/baselines/reference/logicalNotOperatorWithNumberType.js b/tests/baselines/reference/logicalNotOperatorWithNumberType.js index 513b10d0add6a..0242fa51fbec0 100644 --- a/tests/baselines/reference/logicalNotOperatorWithNumberType.js +++ b/tests/baselines/reference/logicalNotOperatorWithNumberType.js @@ -2,17 +2,17 @@ //// [logicalNotOperatorWithNumberType.ts] // ! operator on number type -var NUMBER: number; +declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } class A { - public a: number; + public a!: number; static foo() { return 1; } } namespace M { - export var n: number; + export declare var n: number; } var objA = new A(); @@ -48,8 +48,6 @@ var ResultIsBoolean13 = !!!(NUMBER + NUMBER); !objA.a, M.n; //// [logicalNotOperatorWithNumberType.js] -// ! operator on number type -var NUMBER; var NUMBER1 = [1, 2]; function foo() { return 1; } var A = /** @class */ (function () { diff --git a/tests/baselines/reference/logicalNotOperatorWithNumberType.symbols b/tests/baselines/reference/logicalNotOperatorWithNumberType.symbols index b67517c14ae5b..a5b24f962bad5 100644 --- a/tests/baselines/reference/logicalNotOperatorWithNumberType.symbols +++ b/tests/baselines/reference/logicalNotOperatorWithNumberType.symbols @@ -2,8 +2,8 @@ === logicalNotOperatorWithNumberType.ts === // ! operator on number type -var NUMBER: number; ->NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 3)) +declare var NUMBER: number; +>NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 11)) var NUMBER1: number[] = [1, 2]; >NUMBER1 : Symbol(NUMBER1, Decl(logicalNotOperatorWithNumberType.ts, 2, 3)) @@ -14,17 +14,17 @@ function foo(): number { return 1; } class A { >A : Symbol(A, Decl(logicalNotOperatorWithNumberType.ts, 4, 36)) - public a: number; + public a!: number; >a : Symbol(A.a, Decl(logicalNotOperatorWithNumberType.ts, 6, 9)) static foo() { return 1; } ->foo : Symbol(A.foo, Decl(logicalNotOperatorWithNumberType.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(logicalNotOperatorWithNumberType.ts, 7, 22)) } namespace M { >M : Symbol(M, Decl(logicalNotOperatorWithNumberType.ts, 9, 1)) - export var n: number; ->n : Symbol(n, Decl(logicalNotOperatorWithNumberType.ts, 11, 14)) + export declare var n: number; +>n : Symbol(n, Decl(logicalNotOperatorWithNumberType.ts, 11, 22)) } var objA = new A(); @@ -34,7 +34,7 @@ var objA = new A(); // number type var var ResultIsBoolean1 = !NUMBER; >ResultIsBoolean1 : Symbol(ResultIsBoolean1, Decl(logicalNotOperatorWithNumberType.ts, 17, 3)) ->NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 11)) var ResultIsBoolean2 = !NUMBER1; >ResultIsBoolean2 : Symbol(ResultIsBoolean2, Decl(logicalNotOperatorWithNumberType.ts, 18, 3)) @@ -65,9 +65,9 @@ var ResultIsBoolean6 = !objA.a; var ResultIsBoolean7 = !M.n; >ResultIsBoolean7 : Symbol(ResultIsBoolean7, Decl(logicalNotOperatorWithNumberType.ts, 27, 3)) ->M.n : Symbol(M.n, Decl(logicalNotOperatorWithNumberType.ts, 11, 14)) +>M.n : Symbol(M.n, Decl(logicalNotOperatorWithNumberType.ts, 11, 22)) >M : Symbol(M, Decl(logicalNotOperatorWithNumberType.ts, 9, 1)) ->n : Symbol(M.n, Decl(logicalNotOperatorWithNumberType.ts, 11, 14)) +>n : Symbol(M.n, Decl(logicalNotOperatorWithNumberType.ts, 11, 22)) var ResultIsBoolean8 = !NUMBER1[0]; >ResultIsBoolean8 : Symbol(ResultIsBoolean8, Decl(logicalNotOperatorWithNumberType.ts, 28, 3)) @@ -79,29 +79,29 @@ var ResultIsBoolean9 = !foo(); var ResultIsBoolean10 = !A.foo(); >ResultIsBoolean10 : Symbol(ResultIsBoolean10, Decl(logicalNotOperatorWithNumberType.ts, 30, 3)) ->A.foo : Symbol(A.foo, Decl(logicalNotOperatorWithNumberType.ts, 7, 21)) +>A.foo : Symbol(A.foo, Decl(logicalNotOperatorWithNumberType.ts, 7, 22)) >A : Symbol(A, Decl(logicalNotOperatorWithNumberType.ts, 4, 36)) ->foo : Symbol(A.foo, Decl(logicalNotOperatorWithNumberType.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(logicalNotOperatorWithNumberType.ts, 7, 22)) var ResultIsBoolean11 = !(NUMBER + NUMBER); >ResultIsBoolean11 : Symbol(ResultIsBoolean11, Decl(logicalNotOperatorWithNumberType.ts, 31, 3)) ->NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 3)) ->NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 11)) +>NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 11)) // multiple ! operator var ResultIsBoolean12 = !!NUMBER; >ResultIsBoolean12 : Symbol(ResultIsBoolean12, Decl(logicalNotOperatorWithNumberType.ts, 34, 3)) ->NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 11)) var ResultIsBoolean13 = !!!(NUMBER + NUMBER); >ResultIsBoolean13 : Symbol(ResultIsBoolean13, Decl(logicalNotOperatorWithNumberType.ts, 35, 3)) ->NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 3)) ->NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 11)) +>NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 11)) // miss assignment operators !1; !NUMBER; ->NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(logicalNotOperatorWithNumberType.ts, 1, 11)) !NUMBER1; >NUMBER1 : Symbol(NUMBER1, Decl(logicalNotOperatorWithNumberType.ts, 2, 3)) @@ -115,15 +115,15 @@ var ResultIsBoolean13 = !!!(NUMBER + NUMBER); >a : Symbol(A.a, Decl(logicalNotOperatorWithNumberType.ts, 6, 9)) !M.n; ->M.n : Symbol(M.n, Decl(logicalNotOperatorWithNumberType.ts, 11, 14)) +>M.n : Symbol(M.n, Decl(logicalNotOperatorWithNumberType.ts, 11, 22)) >M : Symbol(M, Decl(logicalNotOperatorWithNumberType.ts, 9, 1)) ->n : Symbol(M.n, Decl(logicalNotOperatorWithNumberType.ts, 11, 14)) +>n : Symbol(M.n, Decl(logicalNotOperatorWithNumberType.ts, 11, 22)) !objA.a, M.n; >objA.a : Symbol(A.a, Decl(logicalNotOperatorWithNumberType.ts, 6, 9)) >objA : Symbol(objA, Decl(logicalNotOperatorWithNumberType.ts, 14, 3)) >a : Symbol(A.a, Decl(logicalNotOperatorWithNumberType.ts, 6, 9)) ->M.n : Symbol(M.n, Decl(logicalNotOperatorWithNumberType.ts, 11, 14)) +>M.n : Symbol(M.n, Decl(logicalNotOperatorWithNumberType.ts, 11, 22)) >M : Symbol(M, Decl(logicalNotOperatorWithNumberType.ts, 9, 1)) ->n : Symbol(M.n, Decl(logicalNotOperatorWithNumberType.ts, 11, 14)) +>n : Symbol(M.n, Decl(logicalNotOperatorWithNumberType.ts, 11, 22)) diff --git a/tests/baselines/reference/logicalNotOperatorWithNumberType.types b/tests/baselines/reference/logicalNotOperatorWithNumberType.types index f1f661e88a70c..f527de0112f65 100644 --- a/tests/baselines/reference/logicalNotOperatorWithNumberType.types +++ b/tests/baselines/reference/logicalNotOperatorWithNumberType.types @@ -2,7 +2,7 @@ === logicalNotOperatorWithNumberType.ts === // ! operator on number type -var NUMBER: number; +declare var NUMBER: number; >NUMBER : number > : ^^^^^^ @@ -26,7 +26,7 @@ class A { >A : A > : ^ - public a: number; + public a!: number; >a : number > : ^^^^^^ @@ -40,7 +40,7 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: number; + export declare var n: number; >n : number > : ^^^^^^ } diff --git a/tests/baselines/reference/logicalNotOperatorWithStringType.errors.txt b/tests/baselines/reference/logicalNotOperatorWithStringType.errors.txt index a03d7785b3b69..55190b5507138 100644 --- a/tests/baselines/reference/logicalNotOperatorWithStringType.errors.txt +++ b/tests/baselines/reference/logicalNotOperatorWithStringType.errors.txt @@ -7,17 +7,17 @@ logicalNotOperatorWithStringType.ts(44,1): error TS2695: Left side of comma oper ==== logicalNotOperatorWithStringType.ts (5 errors) ==== // ! operator on string type - var STRING: string; + declare var STRING: string; var STRING1: string[] = ["", "abc"]; function foo(): string { return "abc"; } class A { - public a: string; + public a!: string; static foo() { return ""; } } namespace M { - export var n: string; + export declare var n: string; } var objA = new A(); diff --git a/tests/baselines/reference/logicalNotOperatorWithStringType.js b/tests/baselines/reference/logicalNotOperatorWithStringType.js index a958ace014f5f..b40db09e300a0 100644 --- a/tests/baselines/reference/logicalNotOperatorWithStringType.js +++ b/tests/baselines/reference/logicalNotOperatorWithStringType.js @@ -2,17 +2,17 @@ //// [logicalNotOperatorWithStringType.ts] // ! operator on string type -var STRING: string; +declare var STRING: string; var STRING1: string[] = ["", "abc"]; function foo(): string { return "abc"; } class A { - public a: string; + public a!: string; static foo() { return ""; } } namespace M { - export var n: string; + export declare var n: string; } var objA = new A(); @@ -47,8 +47,6 @@ var ResultIsBoolean14 = !!!(STRING + STRING); !objA.a,M.n; //// [logicalNotOperatorWithStringType.js] -// ! operator on string type -var STRING; var STRING1 = ["", "abc"]; function foo() { return "abc"; } var A = /** @class */ (function () { diff --git a/tests/baselines/reference/logicalNotOperatorWithStringType.symbols b/tests/baselines/reference/logicalNotOperatorWithStringType.symbols index 0c4d3f3141fba..f70a944afc1ff 100644 --- a/tests/baselines/reference/logicalNotOperatorWithStringType.symbols +++ b/tests/baselines/reference/logicalNotOperatorWithStringType.symbols @@ -2,8 +2,8 @@ === logicalNotOperatorWithStringType.ts === // ! operator on string type -var STRING: string; ->STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 3)) +declare var STRING: string; +>STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 11)) var STRING1: string[] = ["", "abc"]; >STRING1 : Symbol(STRING1, Decl(logicalNotOperatorWithStringType.ts, 2, 3)) @@ -14,17 +14,17 @@ function foo(): string { return "abc"; } class A { >A : Symbol(A, Decl(logicalNotOperatorWithStringType.ts, 4, 40)) - public a: string; + public a!: string; >a : Symbol(A.a, Decl(logicalNotOperatorWithStringType.ts, 6, 9)) static foo() { return ""; } ->foo : Symbol(A.foo, Decl(logicalNotOperatorWithStringType.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(logicalNotOperatorWithStringType.ts, 7, 22)) } namespace M { >M : Symbol(M, Decl(logicalNotOperatorWithStringType.ts, 9, 1)) - export var n: string; ->n : Symbol(n, Decl(logicalNotOperatorWithStringType.ts, 11, 14)) + export declare var n: string; +>n : Symbol(n, Decl(logicalNotOperatorWithStringType.ts, 11, 22)) } var objA = new A(); @@ -34,7 +34,7 @@ var objA = new A(); // string type var var ResultIsBoolean1 = !STRING; >ResultIsBoolean1 : Symbol(ResultIsBoolean1, Decl(logicalNotOperatorWithStringType.ts, 17, 3)) ->STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 11)) var ResultIsBoolean2 = !STRING1; >ResultIsBoolean2 : Symbol(ResultIsBoolean2, Decl(logicalNotOperatorWithStringType.ts, 18, 3)) @@ -65,9 +65,9 @@ var ResultIsBoolean6 = !objA.a; var ResultIsBoolean7 = !M.n; >ResultIsBoolean7 : Symbol(ResultIsBoolean7, Decl(logicalNotOperatorWithStringType.ts, 27, 3)) ->M.n : Symbol(M.n, Decl(logicalNotOperatorWithStringType.ts, 11, 14)) +>M.n : Symbol(M.n, Decl(logicalNotOperatorWithStringType.ts, 11, 22)) >M : Symbol(M, Decl(logicalNotOperatorWithStringType.ts, 9, 1)) ->n : Symbol(M.n, Decl(logicalNotOperatorWithStringType.ts, 11, 14)) +>n : Symbol(M.n, Decl(logicalNotOperatorWithStringType.ts, 11, 22)) var ResultIsBoolean8 = !STRING1[0]; >ResultIsBoolean8 : Symbol(ResultIsBoolean8, Decl(logicalNotOperatorWithStringType.ts, 28, 3)) @@ -79,35 +79,35 @@ var ResultIsBoolean9 = !foo(); var ResultIsBoolean10 = !A.foo(); >ResultIsBoolean10 : Symbol(ResultIsBoolean10, Decl(logicalNotOperatorWithStringType.ts, 30, 3)) ->A.foo : Symbol(A.foo, Decl(logicalNotOperatorWithStringType.ts, 7, 21)) +>A.foo : Symbol(A.foo, Decl(logicalNotOperatorWithStringType.ts, 7, 22)) >A : Symbol(A, Decl(logicalNotOperatorWithStringType.ts, 4, 40)) ->foo : Symbol(A.foo, Decl(logicalNotOperatorWithStringType.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(logicalNotOperatorWithStringType.ts, 7, 22)) var ResultIsBoolean11 = !(STRING + STRING); >ResultIsBoolean11 : Symbol(ResultIsBoolean11, Decl(logicalNotOperatorWithStringType.ts, 31, 3)) ->STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 3)) ->STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 11)) +>STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 11)) var ResultIsBoolean12 = !STRING.charAt(0); >ResultIsBoolean12 : Symbol(ResultIsBoolean12, Decl(logicalNotOperatorWithStringType.ts, 32, 3)) >STRING.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) ->STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 11)) >charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) // multiple ! operator var ResultIsBoolean13 = !!STRING; >ResultIsBoolean13 : Symbol(ResultIsBoolean13, Decl(logicalNotOperatorWithStringType.ts, 35, 3)) ->STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 11)) var ResultIsBoolean14 = !!!(STRING + STRING); >ResultIsBoolean14 : Symbol(ResultIsBoolean14, Decl(logicalNotOperatorWithStringType.ts, 36, 3)) ->STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 3)) ->STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 11)) +>STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 11)) // miss assignment operators !""; !STRING; ->STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 11)) !STRING1; >STRING1 : Symbol(STRING1, Decl(logicalNotOperatorWithStringType.ts, 2, 3)) @@ -119,7 +119,7 @@ var ResultIsBoolean14 = !!!(STRING + STRING); >objA.a : Symbol(A.a, Decl(logicalNotOperatorWithStringType.ts, 6, 9)) >objA : Symbol(objA, Decl(logicalNotOperatorWithStringType.ts, 14, 3)) >a : Symbol(A.a, Decl(logicalNotOperatorWithStringType.ts, 6, 9)) ->M.n : Symbol(M.n, Decl(logicalNotOperatorWithStringType.ts, 11, 14)) +>M.n : Symbol(M.n, Decl(logicalNotOperatorWithStringType.ts, 11, 22)) >M : Symbol(M, Decl(logicalNotOperatorWithStringType.ts, 9, 1)) ->n : Symbol(M.n, Decl(logicalNotOperatorWithStringType.ts, 11, 14)) +>n : Symbol(M.n, Decl(logicalNotOperatorWithStringType.ts, 11, 22)) diff --git a/tests/baselines/reference/logicalNotOperatorWithStringType.types b/tests/baselines/reference/logicalNotOperatorWithStringType.types index 833ff05adc6f9..4089937448771 100644 --- a/tests/baselines/reference/logicalNotOperatorWithStringType.types +++ b/tests/baselines/reference/logicalNotOperatorWithStringType.types @@ -2,7 +2,7 @@ === logicalNotOperatorWithStringType.ts === // ! operator on string type -var STRING: string; +declare var STRING: string; >STRING : string > : ^^^^^^ @@ -26,7 +26,7 @@ class A { >A : A > : ^ - public a: string; + public a!: string; >a : string > : ^^^^^^ @@ -40,7 +40,7 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: string; + export declare var n: string; >n : string > : ^^^^^^ } diff --git a/tests/baselines/reference/logicalOrOperatorWithEveryType.errors.txt b/tests/baselines/reference/logicalOrOperatorWithEveryType.errors.txt index 86b419f8e4a9f..f51d8cce31fad 100644 --- a/tests/baselines/reference/logicalOrOperatorWithEveryType.errors.txt +++ b/tests/baselines/reference/logicalOrOperatorWithEveryType.errors.txt @@ -39,13 +39,13 @@ logicalOrOperatorWithEveryType.ts(125,12): error TS2873: This kind of expression enum E { a, b, c } var a1: any; - var a2: boolean; - var a3: number - var a4: string; - var a5: void; - var a6: E; - var a7: {a: string}; - var a8: string[]; + declare var a2: boolean; + declare var a3: number; + declare var a4: string; + declare var a5: void; + declare var a6: E; + declare var a7: {a: string}; + declare var a8: string[]; var ra1 = a1 || a1; // any || any is any var ra2 = a2 || a1; // boolean || any is any diff --git a/tests/baselines/reference/logicalOrOperatorWithEveryType.js b/tests/baselines/reference/logicalOrOperatorWithEveryType.js index be589fa0554c8..8cc3a145693b8 100644 --- a/tests/baselines/reference/logicalOrOperatorWithEveryType.js +++ b/tests/baselines/reference/logicalOrOperatorWithEveryType.js @@ -9,13 +9,13 @@ enum E { a, b, c } var a1: any; -var a2: boolean; -var a3: number -var a4: string; -var a5: void; -var a6: E; -var a7: {a: string}; -var a8: string[]; +declare var a2: boolean; +declare var a3: number; +declare var a4: string; +declare var a5: void; +declare var a6: E; +declare var a7: {a: string}; +declare var a8: string[]; var ra1 = a1 || a1; // any || any is any var ra2 = a2 || a1; // boolean || any is any @@ -139,13 +139,6 @@ var E; E[E["c"] = 2] = "c"; })(E || (E = {})); var a1; -var a2; -var a3; -var a4; -var a5; -var a6; -var a7; -var a8; var ra1 = a1 || a1; // any || any is any var ra2 = a2 || a1; // boolean || any is any var ra3 = a3 || a1; // number || any is any diff --git a/tests/baselines/reference/logicalOrOperatorWithEveryType.symbols b/tests/baselines/reference/logicalOrOperatorWithEveryType.symbols index a90da3f14adbd..9ac758ace4b80 100644 --- a/tests/baselines/reference/logicalOrOperatorWithEveryType.symbols +++ b/tests/baselines/reference/logicalOrOperatorWithEveryType.symbols @@ -15,28 +15,28 @@ enum E { a, b, c } var a1: any; >a1 : Symbol(a1, Decl(logicalOrOperatorWithEveryType.ts, 7, 3)) -var a2: boolean; ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) +declare var a2: boolean; +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) -var a3: number ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) +declare var a3: number; +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) -var a4: string; ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) +declare var a4: string; +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) -var a5: void; ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) +declare var a5: void; +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) -var a6: E; ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) +declare var a6: E; +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) >E : Symbol(E, Decl(logicalOrOperatorWithEveryType.ts, 0, 0)) -var a7: {a: string}; ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) ->a : Symbol(a, Decl(logicalOrOperatorWithEveryType.ts, 13, 9)) +declare var a7: {a: string}; +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) +>a : Symbol(a, Decl(logicalOrOperatorWithEveryType.ts, 13, 17)) -var a8: string[]; ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) +declare var a8: string[]; +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) var ra1 = a1 || a1; // any || any is any >ra1 : Symbol(ra1, Decl(logicalOrOperatorWithEveryType.ts, 16, 3)) @@ -45,37 +45,37 @@ var ra1 = a1 || a1; // any || any is any var ra2 = a2 || a1; // boolean || any is any >ra2 : Symbol(ra2, Decl(logicalOrOperatorWithEveryType.ts, 17, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) >a1 : Symbol(a1, Decl(logicalOrOperatorWithEveryType.ts, 7, 3)) var ra3 = a3 || a1; // number || any is any >ra3 : Symbol(ra3, Decl(logicalOrOperatorWithEveryType.ts, 18, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) >a1 : Symbol(a1, Decl(logicalOrOperatorWithEveryType.ts, 7, 3)) var ra4 = a4 || a1; // string || any is any >ra4 : Symbol(ra4, Decl(logicalOrOperatorWithEveryType.ts, 19, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) >a1 : Symbol(a1, Decl(logicalOrOperatorWithEveryType.ts, 7, 3)) var ra5 = a5 || a1; // void || any is any >ra5 : Symbol(ra5, Decl(logicalOrOperatorWithEveryType.ts, 20, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) >a1 : Symbol(a1, Decl(logicalOrOperatorWithEveryType.ts, 7, 3)) var ra6 = a6 || a1; // enum || any is any >ra6 : Symbol(ra6, Decl(logicalOrOperatorWithEveryType.ts, 21, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) >a1 : Symbol(a1, Decl(logicalOrOperatorWithEveryType.ts, 7, 3)) var ra7 = a7 || a1; // object || any is any >ra7 : Symbol(ra7, Decl(logicalOrOperatorWithEveryType.ts, 22, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) >a1 : Symbol(a1, Decl(logicalOrOperatorWithEveryType.ts, 7, 3)) var ra8 = a8 || a1; // array || any is any >ra8 : Symbol(ra8, Decl(logicalOrOperatorWithEveryType.ts, 23, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) >a1 : Symbol(a1, Decl(logicalOrOperatorWithEveryType.ts, 7, 3)) var ra9 = null || a1; // null || any is any @@ -90,345 +90,345 @@ var ra10 = undefined || a1; // undefined || any is any var rb1 = a1 || a2; // any || boolean is any >rb1 : Symbol(rb1, Decl(logicalOrOperatorWithEveryType.ts, 27, 3)) >a1 : Symbol(a1, Decl(logicalOrOperatorWithEveryType.ts, 7, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) var rb2 = a2 || a2; // boolean || boolean is boolean >rb2 : Symbol(rb2, Decl(logicalOrOperatorWithEveryType.ts, 28, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) var rb3 = a3 || a2; // number || boolean is number | boolean >rb3 : Symbol(rb3, Decl(logicalOrOperatorWithEveryType.ts, 29, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) var rb4 = a4 || a2; // string || boolean is string | boolean >rb4 : Symbol(rb4, Decl(logicalOrOperatorWithEveryType.ts, 30, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) var rb5 = a5 || a2; // void || boolean is void | boolean >rb5 : Symbol(rb5, Decl(logicalOrOperatorWithEveryType.ts, 31, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) var rb6 = a6 || a2; // enum || boolean is E | boolean >rb6 : Symbol(rb6, Decl(logicalOrOperatorWithEveryType.ts, 32, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) var rb7 = a7 || a2; // object || boolean is object | boolean >rb7 : Symbol(rb7, Decl(logicalOrOperatorWithEveryType.ts, 33, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) var rb8 = a8 || a2; // array || boolean is array | boolean >rb8 : Symbol(rb8, Decl(logicalOrOperatorWithEveryType.ts, 34, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) var rb9 = null || a2; // null || boolean is boolean >rb9 : Symbol(rb9, Decl(logicalOrOperatorWithEveryType.ts, 35, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) var rb10= undefined || a2; // undefined || boolean is boolean >rb10 : Symbol(rb10, Decl(logicalOrOperatorWithEveryType.ts, 36, 3)) >undefined : Symbol(undefined) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) var rc1 = a1 || a3; // any || number is any >rc1 : Symbol(rc1, Decl(logicalOrOperatorWithEveryType.ts, 38, 3)) >a1 : Symbol(a1, Decl(logicalOrOperatorWithEveryType.ts, 7, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) var rc2 = a2 || a3; // boolean || number is boolean | number >rc2 : Symbol(rc2, Decl(logicalOrOperatorWithEveryType.ts, 39, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) var rc3 = a3 || a3; // number || number is number >rc3 : Symbol(rc3, Decl(logicalOrOperatorWithEveryType.ts, 40, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) var rc4 = a4 || a3; // string || number is string | number >rc4 : Symbol(rc4, Decl(logicalOrOperatorWithEveryType.ts, 41, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) var rc5 = a5 || a3; // void || number is void | number >rc5 : Symbol(rc5, Decl(logicalOrOperatorWithEveryType.ts, 42, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) var rc6 = a6 || a3; // enum || number is number >rc6 : Symbol(rc6, Decl(logicalOrOperatorWithEveryType.ts, 43, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) var rc7 = a7 || a3; // object || number is object | number >rc7 : Symbol(rc7, Decl(logicalOrOperatorWithEveryType.ts, 44, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) var rc8 = a8 || a3; // array || number is array | number >rc8 : Symbol(rc8, Decl(logicalOrOperatorWithEveryType.ts, 45, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) var rc9 = null || a3; // null || number is number >rc9 : Symbol(rc9, Decl(logicalOrOperatorWithEveryType.ts, 46, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) var rc10 = undefined || a3; // undefined || number is number >rc10 : Symbol(rc10, Decl(logicalOrOperatorWithEveryType.ts, 47, 3)) >undefined : Symbol(undefined) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) var rd1 = a1 || a4; // any || string is any >rd1 : Symbol(rd1, Decl(logicalOrOperatorWithEveryType.ts, 49, 3)) >a1 : Symbol(a1, Decl(logicalOrOperatorWithEveryType.ts, 7, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) var rd2 = a2 || a4; // boolean || string is boolean | string >rd2 : Symbol(rd2, Decl(logicalOrOperatorWithEveryType.ts, 50, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) var rd3 = a3 || a4; // number || string is number | string >rd3 : Symbol(rd3, Decl(logicalOrOperatorWithEveryType.ts, 51, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) var rd4 = a4 || a4; // string || string is string >rd4 : Symbol(rd4, Decl(logicalOrOperatorWithEveryType.ts, 52, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) var rd5 = a5 || a4; // void || string is void | string >rd5 : Symbol(rd5, Decl(logicalOrOperatorWithEveryType.ts, 53, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) var rd6 = a6 || a4; // enum || string is enum | string >rd6 : Symbol(rd6, Decl(logicalOrOperatorWithEveryType.ts, 54, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) var rd7 = a7 || a4; // object || string is object | string >rd7 : Symbol(rd7, Decl(logicalOrOperatorWithEveryType.ts, 55, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) var rd8 = a8 || a4; // array || string is array | string >rd8 : Symbol(rd8, Decl(logicalOrOperatorWithEveryType.ts, 56, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) var rd9 = null || a4; // null || string is string >rd9 : Symbol(rd9, Decl(logicalOrOperatorWithEveryType.ts, 57, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) var rd10 = undefined || a4; // undefined || string is string >rd10 : Symbol(rd10, Decl(logicalOrOperatorWithEveryType.ts, 58, 3)) >undefined : Symbol(undefined) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) var re1 = a1 || a5; // any || void is any >re1 : Symbol(re1, Decl(logicalOrOperatorWithEveryType.ts, 60, 3)) >a1 : Symbol(a1, Decl(logicalOrOperatorWithEveryType.ts, 7, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) var re2 = a2 || a5; // boolean || void is boolean | void >re2 : Symbol(re2, Decl(logicalOrOperatorWithEveryType.ts, 61, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) var re3 = a3 || a5; // number || void is number | void >re3 : Symbol(re3, Decl(logicalOrOperatorWithEveryType.ts, 62, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) var re4 = a4 || a5; // string || void is string | void >re4 : Symbol(re4, Decl(logicalOrOperatorWithEveryType.ts, 63, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) var re5 = a5 || a5; // void || void is void >re5 : Symbol(re5, Decl(logicalOrOperatorWithEveryType.ts, 64, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) var re6 = a6 || a5; // enum || void is enum | void >re6 : Symbol(re6, Decl(logicalOrOperatorWithEveryType.ts, 65, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) var re7 = a7 || a5; // object || void is object | void >re7 : Symbol(re7, Decl(logicalOrOperatorWithEveryType.ts, 66, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) var re8 = a8 || a5; // array || void is array | void >re8 : Symbol(re8, Decl(logicalOrOperatorWithEveryType.ts, 67, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) var re9 = null || a5; // null || void is void >re9 : Symbol(re9, Decl(logicalOrOperatorWithEveryType.ts, 68, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) var re10 = undefined || a5; // undefined || void is void >re10 : Symbol(re10, Decl(logicalOrOperatorWithEveryType.ts, 69, 3)) >undefined : Symbol(undefined) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) var rg1 = a1 || a6; // any || enum is any >rg1 : Symbol(rg1, Decl(logicalOrOperatorWithEveryType.ts, 71, 3)) >a1 : Symbol(a1, Decl(logicalOrOperatorWithEveryType.ts, 7, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) var rg2 = a2 || a6; // boolean || enum is boolean | enum >rg2 : Symbol(rg2, Decl(logicalOrOperatorWithEveryType.ts, 72, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) var rg3 = a3 || a6; // number || enum is number >rg3 : Symbol(rg3, Decl(logicalOrOperatorWithEveryType.ts, 73, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) var rg4 = a4 || a6; // string || enum is string | enum >rg4 : Symbol(rg4, Decl(logicalOrOperatorWithEveryType.ts, 74, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) var rg5 = a5 || a6; // void || enum is void | enum >rg5 : Symbol(rg5, Decl(logicalOrOperatorWithEveryType.ts, 75, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) var rg6 = a6 || a6; // enum || enum is E >rg6 : Symbol(rg6, Decl(logicalOrOperatorWithEveryType.ts, 76, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) var rg7 = a7 || a6; // object || enum is object | enum >rg7 : Symbol(rg7, Decl(logicalOrOperatorWithEveryType.ts, 77, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) var rg8 = a8 || a6; // array || enum is array | enum >rg8 : Symbol(rg8, Decl(logicalOrOperatorWithEveryType.ts, 78, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) var rg9 = null || a6; // null || enum is E >rg9 : Symbol(rg9, Decl(logicalOrOperatorWithEveryType.ts, 79, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) var rg10 = undefined || a6; // undefined || enum is E >rg10 : Symbol(rg10, Decl(logicalOrOperatorWithEveryType.ts, 80, 3)) >undefined : Symbol(undefined) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) var rh1 = a1 || a7; // any || object is any >rh1 : Symbol(rh1, Decl(logicalOrOperatorWithEveryType.ts, 82, 3)) >a1 : Symbol(a1, Decl(logicalOrOperatorWithEveryType.ts, 7, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) var rh2 = a2 || a7; // boolean || object is boolean | object >rh2 : Symbol(rh2, Decl(logicalOrOperatorWithEveryType.ts, 83, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) var rh3 = a3 || a7; // number || object is number | object >rh3 : Symbol(rh3, Decl(logicalOrOperatorWithEveryType.ts, 84, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) var rh4 = a4 || a7; // string || object is string | object >rh4 : Symbol(rh4, Decl(logicalOrOperatorWithEveryType.ts, 85, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) var rh5 = a5 || a7; // void || object is void | object >rh5 : Symbol(rh5, Decl(logicalOrOperatorWithEveryType.ts, 86, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) var rh6 = a6 || a7; // enum || object is enum | object >rh6 : Symbol(rh6, Decl(logicalOrOperatorWithEveryType.ts, 87, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) var rh7 = a7 || a7; // object || object is object >rh7 : Symbol(rh7, Decl(logicalOrOperatorWithEveryType.ts, 88, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) var rh8 = a8 || a7; // array || object is array | object >rh8 : Symbol(rh8, Decl(logicalOrOperatorWithEveryType.ts, 89, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) var rh9 = null || a7; // null || object is object >rh9 : Symbol(rh9, Decl(logicalOrOperatorWithEveryType.ts, 90, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) var rh10 = undefined || a7; // undefined || object is object >rh10 : Symbol(rh10, Decl(logicalOrOperatorWithEveryType.ts, 91, 3)) >undefined : Symbol(undefined) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) var ri1 = a1 || a8; // any || array is any >ri1 : Symbol(ri1, Decl(logicalOrOperatorWithEveryType.ts, 93, 3)) >a1 : Symbol(a1, Decl(logicalOrOperatorWithEveryType.ts, 7, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) var ri2 = a2 || a8; // boolean || array is boolean | array >ri2 : Symbol(ri2, Decl(logicalOrOperatorWithEveryType.ts, 94, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) var ri3 = a3 || a8; // number || array is number | array >ri3 : Symbol(ri3, Decl(logicalOrOperatorWithEveryType.ts, 95, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) var ri4 = a4 || a8; // string || array is string | array >ri4 : Symbol(ri4, Decl(logicalOrOperatorWithEveryType.ts, 96, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) var ri5 = a5 || a8; // void || array is void | array >ri5 : Symbol(ri5, Decl(logicalOrOperatorWithEveryType.ts, 97, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) var ri6 = a6 || a8; // enum || array is enum | array >ri6 : Symbol(ri6, Decl(logicalOrOperatorWithEveryType.ts, 98, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) var ri7 = a7 || a8; // object || array is object | array >ri7 : Symbol(ri7, Decl(logicalOrOperatorWithEveryType.ts, 99, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) var ri8 = a8 || a8; // array || array is array >ri8 : Symbol(ri8, Decl(logicalOrOperatorWithEveryType.ts, 100, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) var ri9 = null || a8; // null || array is array >ri9 : Symbol(ri9, Decl(logicalOrOperatorWithEveryType.ts, 101, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) var ri10 = undefined || a8; // undefined || array is array >ri10 : Symbol(ri10, Decl(logicalOrOperatorWithEveryType.ts, 102, 3)) >undefined : Symbol(undefined) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) var rj1 = a1 || null; // any || null is any >rj1 : Symbol(rj1, Decl(logicalOrOperatorWithEveryType.ts, 104, 3)) @@ -436,31 +436,31 @@ var rj1 = a1 || null; // any || null is any var rj2 = a2 || null; // boolean || null is boolean >rj2 : Symbol(rj2, Decl(logicalOrOperatorWithEveryType.ts, 105, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) var rj3 = a3 || null; // number || null is number >rj3 : Symbol(rj3, Decl(logicalOrOperatorWithEveryType.ts, 106, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) var rj4 = a4 || null; // string || null is string >rj4 : Symbol(rj4, Decl(logicalOrOperatorWithEveryType.ts, 107, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) var rj5 = a5 || null; // void || null is void >rj5 : Symbol(rj5, Decl(logicalOrOperatorWithEveryType.ts, 108, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) var rj6 = a6 || null; // enum || null is E >rj6 : Symbol(rj6, Decl(logicalOrOperatorWithEveryType.ts, 109, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) var rj7 = a7 || null; // object || null is object >rj7 : Symbol(rj7, Decl(logicalOrOperatorWithEveryType.ts, 110, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) var rj8 = a8 || null; // array || null is array >rj8 : Symbol(rj8, Decl(logicalOrOperatorWithEveryType.ts, 111, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) var rj9 = null || null; // null || null is any >rj9 : Symbol(rj9, Decl(logicalOrOperatorWithEveryType.ts, 112, 3)) @@ -476,37 +476,37 @@ var rf1 = a1 || undefined; // any || undefined is any var rf2 = a2 || undefined; // boolean || undefined is boolean >rf2 : Symbol(rf2, Decl(logicalOrOperatorWithEveryType.ts, 116, 3)) ->a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 3)) +>a2 : Symbol(a2, Decl(logicalOrOperatorWithEveryType.ts, 8, 11)) >undefined : Symbol(undefined) var rf3 = a3 || undefined; // number || undefined is number >rf3 : Symbol(rf3, Decl(logicalOrOperatorWithEveryType.ts, 117, 3)) ->a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 3)) +>a3 : Symbol(a3, Decl(logicalOrOperatorWithEveryType.ts, 9, 11)) >undefined : Symbol(undefined) var rf4 = a4 || undefined; // string || undefined is string >rf4 : Symbol(rf4, Decl(logicalOrOperatorWithEveryType.ts, 118, 3)) ->a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 3)) +>a4 : Symbol(a4, Decl(logicalOrOperatorWithEveryType.ts, 10, 11)) >undefined : Symbol(undefined) var rf5 = a5 || undefined; // void || undefined is void >rf5 : Symbol(rf5, Decl(logicalOrOperatorWithEveryType.ts, 119, 3)) ->a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 3)) +>a5 : Symbol(a5, Decl(logicalOrOperatorWithEveryType.ts, 11, 11)) >undefined : Symbol(undefined) var rf6 = a6 || undefined; // enum || undefined is E >rf6 : Symbol(rf6, Decl(logicalOrOperatorWithEveryType.ts, 120, 3)) ->a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 3)) +>a6 : Symbol(a6, Decl(logicalOrOperatorWithEveryType.ts, 12, 11)) >undefined : Symbol(undefined) var rf7 = a7 || undefined; // object || undefined is object >rf7 : Symbol(rf7, Decl(logicalOrOperatorWithEveryType.ts, 121, 3)) ->a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 3)) +>a7 : Symbol(a7, Decl(logicalOrOperatorWithEveryType.ts, 13, 11)) >undefined : Symbol(undefined) var rf8 = a8 || undefined; // array || undefined is array >rf8 : Symbol(rf8, Decl(logicalOrOperatorWithEveryType.ts, 122, 3)) ->a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 3)) +>a8 : Symbol(a8, Decl(logicalOrOperatorWithEveryType.ts, 14, 11)) >undefined : Symbol(undefined) var rf9 = null || undefined; // null || undefined is any diff --git a/tests/baselines/reference/logicalOrOperatorWithEveryType.types b/tests/baselines/reference/logicalOrOperatorWithEveryType.types index bc39f9219c7c0..9f8e09559e89a 100644 --- a/tests/baselines/reference/logicalOrOperatorWithEveryType.types +++ b/tests/baselines/reference/logicalOrOperatorWithEveryType.types @@ -20,33 +20,33 @@ var a1: any; >a1 : any > : ^^^ -var a2: boolean; +declare var a2: boolean; >a2 : boolean > : ^^^^^^^ -var a3: number +declare var a3: number; >a3 : number > : ^^^^^^ -var a4: string; +declare var a4: string; >a4 : string > : ^^^^^^ -var a5: void; +declare var a5: void; >a5 : void > : ^^^^ -var a6: E; +declare var a6: E; >a6 : E > : ^ -var a7: {a: string}; +declare var a7: {a: string}; >a7 : { a: string; } > : ^^^^^ ^^^ >a : string > : ^^^^^^ -var a8: string[]; +declare var a8: string[]; >a8 : string[] > : ^^^^^^^^ diff --git a/tests/baselines/reference/looseThisTypeInFunctions.errors.txt b/tests/baselines/reference/looseThisTypeInFunctions.errors.txt index d5a7ed58fb7c3..192093aa9c635 100644 --- a/tests/baselines/reference/looseThisTypeInFunctions.errors.txt +++ b/tests/baselines/reference/looseThisTypeInFunctions.errors.txt @@ -16,7 +16,7 @@ looseThisTypeInFunctions.ts(46,20): error TS2339: Property 'length' does not exi implicitNoThis(m: number): number; } class C implements I { - n: number; + n!: number; explicitThis(this: this, m: number): number { return this.n + m; } @@ -55,7 +55,7 @@ looseThisTypeInFunctions.ts(46,20): error TS2339: Property 'length' does not exi let n = x(12); // callee:void doesn't match this:I ~~~~~ !!! error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'I'. - let u: Unused; + declare let u: Unused; let y = u.implicitNoThis; n = y(12); // ok, callee:void matches this:any c.explicitVoid = c.implicitThis // ok, implicitThis(this:any) diff --git a/tests/baselines/reference/looseThisTypeInFunctions.js b/tests/baselines/reference/looseThisTypeInFunctions.js index b738556f05bcc..951c6234841db 100644 --- a/tests/baselines/reference/looseThisTypeInFunctions.js +++ b/tests/baselines/reference/looseThisTypeInFunctions.js @@ -9,7 +9,7 @@ interface Unused { implicitNoThis(m: number): number; } class C implements I { - n: number; + n!: number; explicitThis(this: this, m: number): number { return this.n + m; } @@ -38,7 +38,7 @@ let o2: I = { } let x = i.explicitThis; let n = x(12); // callee:void doesn't match this:I -let u: Unused; +declare let u: Unused; let y = u.implicitNoThis; n = y(12); // ok, callee:void matches this:any c.explicitVoid = c.implicitThis // ok, implicitThis(this:any) @@ -83,7 +83,6 @@ var o2 = { }; var x = i.explicitThis; var n = x(12); // callee:void doesn't match this:I -var u; var y = u.implicitNoThis; n = y(12); // ok, callee:void matches this:any c.explicitVoid = c.implicitThis; // ok, implicitThis(this:any) diff --git a/tests/baselines/reference/looseThisTypeInFunctions.symbols b/tests/baselines/reference/looseThisTypeInFunctions.symbols index 44de155a8886c..304596e60ff7c 100644 --- a/tests/baselines/reference/looseThisTypeInFunctions.symbols +++ b/tests/baselines/reference/looseThisTypeInFunctions.symbols @@ -23,11 +23,11 @@ class C implements I { >C : Symbol(C, Decl(looseThisTypeInFunctions.ts, 6, 1)) >I : Symbol(I, Decl(looseThisTypeInFunctions.ts, 0, 0)) - n: number; + n!: number; >n : Symbol(C.n, Decl(looseThisTypeInFunctions.ts, 7, 22)) explicitThis(this: this, m: number): number { ->explicitThis : Symbol(C.explicitThis, Decl(looseThisTypeInFunctions.ts, 8, 14)) +>explicitThis : Symbol(C.explicitThis, Decl(looseThisTypeInFunctions.ts, 8, 15)) >this : Symbol(this, Decl(looseThisTypeInFunctions.ts, 9, 17)) >m : Symbol(m, Decl(looseThisTypeInFunctions.ts, 9, 28)) @@ -64,9 +64,9 @@ c.explicitVoid = c.explicitThis; // error, 'void' is missing everything >c.explicitVoid : Symbol(C.explicitVoid, Decl(looseThisTypeInFunctions.ts, 14, 5)) >c : Symbol(c, Decl(looseThisTypeInFunctions.ts, 19, 3)) >explicitVoid : Symbol(C.explicitVoid, Decl(looseThisTypeInFunctions.ts, 14, 5)) ->c.explicitThis : Symbol(C.explicitThis, Decl(looseThisTypeInFunctions.ts, 8, 14)) +>c.explicitThis : Symbol(C.explicitThis, Decl(looseThisTypeInFunctions.ts, 8, 15)) >c : Symbol(c, Decl(looseThisTypeInFunctions.ts, 19, 3)) ->explicitThis : Symbol(C.explicitThis, Decl(looseThisTypeInFunctions.ts, 8, 14)) +>explicitThis : Symbol(C.explicitThis, Decl(looseThisTypeInFunctions.ts, 8, 15)) let o = { >o : Symbol(o, Decl(looseThisTypeInFunctions.ts, 21, 3)) @@ -125,14 +125,14 @@ let n = x(12); // callee:void doesn't match this:I >n : Symbol(n, Decl(looseThisTypeInFunctions.ts, 36, 3)) >x : Symbol(x, Decl(looseThisTypeInFunctions.ts, 35, 3)) -let u: Unused; ->u : Symbol(u, Decl(looseThisTypeInFunctions.ts, 37, 3)) +declare let u: Unused; +>u : Symbol(u, Decl(looseThisTypeInFunctions.ts, 37, 11)) >Unused : Symbol(Unused, Decl(looseThisTypeInFunctions.ts, 3, 1)) let y = u.implicitNoThis; >y : Symbol(y, Decl(looseThisTypeInFunctions.ts, 38, 3)) >u.implicitNoThis : Symbol(Unused.implicitNoThis, Decl(looseThisTypeInFunctions.ts, 4, 18)) ->u : Symbol(u, Decl(looseThisTypeInFunctions.ts, 37, 3)) +>u : Symbol(u, Decl(looseThisTypeInFunctions.ts, 37, 11)) >implicitNoThis : Symbol(Unused.implicitNoThis, Decl(looseThisTypeInFunctions.ts, 4, 18)) n = y(12); // ok, callee:void matches this:any @@ -159,9 +159,9 @@ o.implicitThis = c.explicitThis; // ok, implicitThis(this:any) is assignable to >o.implicitThis : Symbol(implicitThis, Decl(looseThisTypeInFunctions.ts, 25, 6)) >o : Symbol(o, Decl(looseThisTypeInFunctions.ts, 21, 3)) >implicitThis : Symbol(implicitThis, Decl(looseThisTypeInFunctions.ts, 25, 6)) ->c.explicitThis : Symbol(C.explicitThis, Decl(looseThisTypeInFunctions.ts, 8, 14)) +>c.explicitThis : Symbol(C.explicitThis, Decl(looseThisTypeInFunctions.ts, 8, 15)) >c : Symbol(c, Decl(looseThisTypeInFunctions.ts, 19, 3)) ->explicitThis : Symbol(C.explicitThis, Decl(looseThisTypeInFunctions.ts, 8, 14)) +>explicitThis : Symbol(C.explicitThis, Decl(looseThisTypeInFunctions.ts, 8, 15)) o.implicitThis = i.explicitThis; >o.implicitThis : Symbol(implicitThis, Decl(looseThisTypeInFunctions.ts, 25, 6)) diff --git a/tests/baselines/reference/looseThisTypeInFunctions.types b/tests/baselines/reference/looseThisTypeInFunctions.types index 094d633a0bf9c..5be46ad725b49 100644 --- a/tests/baselines/reference/looseThisTypeInFunctions.types +++ b/tests/baselines/reference/looseThisTypeInFunctions.types @@ -25,7 +25,7 @@ class C implements I { >C : C > : ^ - n: number; + n!: number; >n : number > : ^^^^^^ @@ -218,7 +218,7 @@ let n = x(12); // callee:void doesn't match this:I >12 : 12 > : ^^ -let u: Unused; +declare let u: Unused; >u : Unused > : ^^^^^^ diff --git a/tests/baselines/reference/mappedTypeRecursiveInference.errors.txt b/tests/baselines/reference/mappedTypeRecursiveInference.errors.txt index c893f5d8a2072..519469d28e139 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference.errors.txt +++ b/tests/baselines/reference/mappedTypeRecursiveInference.errors.txt @@ -30,7 +30,7 @@ mappedTypeRecursiveInference.ts(19,18): error TS2345: Argument of type 'XMLHttpR oub.b.b oub.b.a.n.a.n.a - let xhr: XMLHttpRequest; + declare let xhr: XMLHttpRequest; const out2 = foo(xhr); ~~~ !!! error TS2345: Argument of type 'XMLHttpRequest' is not assignable to parameter of type 'Deep<{ onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; readonly textContent: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforematch: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerrawupdate: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; moveBefore: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; }>'. diff --git a/tests/baselines/reference/mappedTypeRecursiveInference.js b/tests/baselines/reference/mappedTypeRecursiveInference.js index a63f20d996421..cd6547dde2f79 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference.js +++ b/tests/baselines/reference/mappedTypeRecursiveInference.js @@ -18,7 +18,7 @@ oub.b oub.b.b oub.b.a.n.a.n.a -let xhr: XMLHttpRequest; +declare let xhr: XMLHttpRequest; const out2 = foo(xhr); out2.responseXML out2.responseXML.activeElement.className.length @@ -33,7 +33,6 @@ var oub = foo(b); oub.b; oub.b.b; oub.b.a.n.a.n.a; -var xhr; var out2 = foo(xhr); out2.responseXML; out2.responseXML.activeElement.className.length; diff --git a/tests/baselines/reference/mappedTypeRecursiveInference.symbols b/tests/baselines/reference/mappedTypeRecursiveInference.symbols index 55804b8fbc3eb..0aaf5e6d2a08e 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference.symbols +++ b/tests/baselines/reference/mappedTypeRecursiveInference.symbols @@ -85,14 +85,14 @@ oub.b.b oub.b.a.n.a.n.a >oub : Symbol(oub, Decl(mappedTypeRecursiveInference.ts, 12, 5)) -let xhr: XMLHttpRequest; ->xhr : Symbol(xhr, Decl(mappedTypeRecursiveInference.ts, 17, 3)) +declare let xhr: XMLHttpRequest; +>xhr : Symbol(xhr, Decl(mappedTypeRecursiveInference.ts, 17, 11)) >XMLHttpRequest : Symbol(XMLHttpRequest, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) const out2 = foo(xhr); >out2 : Symbol(out2, Decl(mappedTypeRecursiveInference.ts, 18, 5)) >foo : Symbol(foo, Decl(mappedTypeRecursiveInference.ts, 2, 45)) ->xhr : Symbol(xhr, Decl(mappedTypeRecursiveInference.ts, 17, 3)) +>xhr : Symbol(xhr, Decl(mappedTypeRecursiveInference.ts, 17, 11)) out2.responseXML >out2.responseXML : Symbol(responseXML, Decl(lib.dom.d.ts, --, --)) diff --git a/tests/baselines/reference/mappedTypeRecursiveInference.types b/tests/baselines/reference/mappedTypeRecursiveInference.types index b84f220cd62a0..4a8d81cd63b7b 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference.types +++ b/tests/baselines/reference/mappedTypeRecursiveInference.types @@ -154,7 +154,7 @@ oub.b.a.n.a.n.a >a : { [x: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^ -let xhr: XMLHttpRequest; +declare let xhr: XMLHttpRequest; >xhr : XMLHttpRequest > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/memberFunctionsWithPrivateOverloads.errors.txt b/tests/baselines/reference/memberFunctionsWithPrivateOverloads.errors.txt index bcd97026f3bdc..ef40943d67fc5 100644 --- a/tests/baselines/reference/memberFunctionsWithPrivateOverloads.errors.txt +++ b/tests/baselines/reference/memberFunctionsWithPrivateOverloads.errors.txt @@ -46,12 +46,12 @@ memberFunctionsWithPrivateOverloads.ts(49,12): error TS2341: Property 'bar' is p } - var c: C; + declare var c: C; var r = c.foo(1); // error ~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'C'. - var d: D; + declare var d: D; var r2 = d.foo(2); // error ~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'D'. diff --git a/tests/baselines/reference/memberFunctionsWithPrivateOverloads.js b/tests/baselines/reference/memberFunctionsWithPrivateOverloads.js index faf752124909a..b71039879a36c 100644 --- a/tests/baselines/reference/memberFunctionsWithPrivateOverloads.js +++ b/tests/baselines/reference/memberFunctionsWithPrivateOverloads.js @@ -42,10 +42,10 @@ class D { } -var c: C; +declare var c: C; var r = c.foo(1); // error -var d: D; +declare var d: D; var r2 = d.foo(2); // error var r3 = C.foo(1); // error @@ -70,9 +70,7 @@ var D = /** @class */ (function () { D.bar = function (x, y) { }; return D; }()); -var c; var r = c.foo(1); // error -var d; var r2 = d.foo(2); // error var r3 = C.foo(1); // error var r4 = D.bar(''); // error diff --git a/tests/baselines/reference/memberFunctionsWithPrivateOverloads.symbols b/tests/baselines/reference/memberFunctionsWithPrivateOverloads.symbols index 6a31867035c59..b95bbf0bd2cbc 100644 --- a/tests/baselines/reference/memberFunctionsWithPrivateOverloads.symbols +++ b/tests/baselines/reference/memberFunctionsWithPrivateOverloads.symbols @@ -143,24 +143,24 @@ class D { } -var c: C; ->c : Symbol(c, Decl(memberFunctionsWithPrivateOverloads.ts, 41, 3)) +declare var c: C; +>c : Symbol(c, Decl(memberFunctionsWithPrivateOverloads.ts, 41, 11)) >C : Symbol(C, Decl(memberFunctionsWithPrivateOverloads.ts, 0, 0)) var r = c.foo(1); // error >r : Symbol(r, Decl(memberFunctionsWithPrivateOverloads.ts, 42, 3)) >c.foo : Symbol(C.foo, Decl(memberFunctionsWithPrivateOverloads.ts, 0, 9), Decl(memberFunctionsWithPrivateOverloads.ts, 1, 27), Decl(memberFunctionsWithPrivateOverloads.ts, 2, 38)) ->c : Symbol(c, Decl(memberFunctionsWithPrivateOverloads.ts, 41, 3)) +>c : Symbol(c, Decl(memberFunctionsWithPrivateOverloads.ts, 41, 11)) >foo : Symbol(C.foo, Decl(memberFunctionsWithPrivateOverloads.ts, 0, 9), Decl(memberFunctionsWithPrivateOverloads.ts, 1, 27), Decl(memberFunctionsWithPrivateOverloads.ts, 2, 38)) -var d: D; ->d : Symbol(d, Decl(memberFunctionsWithPrivateOverloads.ts, 44, 3)) +declare var d: D; +>d : Symbol(d, Decl(memberFunctionsWithPrivateOverloads.ts, 44, 11)) >D : Symbol(D, Decl(memberFunctionsWithPrivateOverloads.ts, 18, 1)) var r2 = d.foo(2); // error >r2 : Symbol(r2, Decl(memberFunctionsWithPrivateOverloads.ts, 45, 3)) >d.foo : Symbol(D.foo, Decl(memberFunctionsWithPrivateOverloads.ts, 20, 12), Decl(memberFunctionsWithPrivateOverloads.ts, 21, 27), Decl(memberFunctionsWithPrivateOverloads.ts, 22, 28)) ->d : Symbol(d, Decl(memberFunctionsWithPrivateOverloads.ts, 44, 3)) +>d : Symbol(d, Decl(memberFunctionsWithPrivateOverloads.ts, 44, 11)) >foo : Symbol(D.foo, Decl(memberFunctionsWithPrivateOverloads.ts, 20, 12), Decl(memberFunctionsWithPrivateOverloads.ts, 21, 27), Decl(memberFunctionsWithPrivateOverloads.ts, 22, 28)) var r3 = C.foo(1); // error diff --git a/tests/baselines/reference/memberFunctionsWithPrivateOverloads.types b/tests/baselines/reference/memberFunctionsWithPrivateOverloads.types index bef0bd6187da7..710da6e2c3022 100644 --- a/tests/baselines/reference/memberFunctionsWithPrivateOverloads.types +++ b/tests/baselines/reference/memberFunctionsWithPrivateOverloads.types @@ -212,7 +212,7 @@ class D { } -var c: C; +declare var c: C; >c : C > : ^ @@ -230,7 +230,7 @@ var r = c.foo(1); // error >1 : 1 > : ^ -var d: D; +declare var d: D; >d : D > : ^^^^^^^^^ diff --git a/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.errors.txt b/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.errors.txt index 14ccfb28be548..a7d9ce47e81d5 100644 --- a/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.errors.txt +++ b/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.errors.txt @@ -99,12 +99,12 @@ memberFunctionsWithPublicPrivateOverloads.ts(62,12): error TS2341: Property 'foo protected static baz(x: any, y?: any) { } } - var c: C; + declare var c: C; var r = c.foo(1); // error ~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'C'. - var d: D; + declare var d: D; var r2 = d.foo(2); // error ~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'D'. \ No newline at end of file diff --git a/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.js b/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.js index 0f1f333e461cc..72b0d2f011992 100644 --- a/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.js +++ b/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.js @@ -58,10 +58,10 @@ class D { protected static baz(x: any, y?: any) { } } -var c: C; +declare var c: C; var r = c.foo(1); // error -var d: D; +declare var d: D; var r2 = d.foo(2); // error //// [memberFunctionsWithPublicPrivateOverloads.js] @@ -87,7 +87,5 @@ var D = /** @class */ (function () { D.baz = function (x, y) { }; return D; }()); -var c; var r = c.foo(1); // error -var d; var r2 = d.foo(2); // error diff --git a/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.symbols b/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.symbols index 42435dd64e99d..33602b22b6479 100644 --- a/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.symbols +++ b/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.symbols @@ -202,23 +202,23 @@ class D { >y : Symbol(y, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 54, 32)) } -var c: C; ->c : Symbol(c, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 57, 3)) +declare var c: C; +>c : Symbol(c, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 57, 11)) >C : Symbol(C, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 0, 0)) var r = c.foo(1); // error >r : Symbol(r, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 58, 3)) >c.foo : Symbol(C.foo, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 0, 9), Decl(memberFunctionsWithPublicPrivateOverloads.ts, 1, 27), Decl(memberFunctionsWithPublicPrivateOverloads.ts, 2, 37)) ->c : Symbol(c, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 57, 3)) +>c : Symbol(c, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 57, 11)) >foo : Symbol(C.foo, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 0, 9), Decl(memberFunctionsWithPublicPrivateOverloads.ts, 1, 27), Decl(memberFunctionsWithPublicPrivateOverloads.ts, 2, 37)) -var d: D; ->d : Symbol(d, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 60, 3)) +declare var d: D; +>d : Symbol(d, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 60, 11)) >D : Symbol(D, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 27, 1)) var r2 = d.foo(2); // error >r2 : Symbol(r2, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 61, 3)) >d.foo : Symbol(D.foo, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 29, 12), Decl(memberFunctionsWithPublicPrivateOverloads.ts, 30, 27), Decl(memberFunctionsWithPublicPrivateOverloads.ts, 31, 27)) ->d : Symbol(d, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 60, 3)) +>d : Symbol(d, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 60, 11)) >foo : Symbol(D.foo, Decl(memberFunctionsWithPublicPrivateOverloads.ts, 29, 12), Decl(memberFunctionsWithPublicPrivateOverloads.ts, 30, 27), Decl(memberFunctionsWithPublicPrivateOverloads.ts, 31, 27)) diff --git a/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.types b/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.types index 47ca9abf3fc24..3abdd98cae1c6 100644 --- a/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.types +++ b/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.types @@ -305,7 +305,7 @@ class D { > : ^^^ } -var c: C; +declare var c: C; >c : C > : ^ @@ -323,7 +323,7 @@ var r = c.foo(1); // error >1 : 1 > : ^ -var d: D; +declare var d: D; >d : D > : ^^^^^^^^^ diff --git a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.errors.txt b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.errors.txt index c4b68ea4256de..703f3b87c86b3 100644 --- a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.errors.txt +++ b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.errors.txt @@ -7,7 +7,7 @@ mergedInterfacesWithInheritedPrivates.ts(26,11): error TS2341: Property 'x' is p ==== mergedInterfacesWithInheritedPrivates.ts (3 errors) ==== class C { - private x: number; + private x!: number; } interface A extends C { @@ -22,21 +22,21 @@ mergedInterfacesWithInheritedPrivates.ts(26,11): error TS2341: Property 'x' is p ~ !!! error TS2420: Class 'D' incorrectly implements interface 'A'. !!! error TS2420: Types have separate declarations of a private property 'x'. - private x: number; - y: string; - z: string; + private x!: number; + y!: string; + z!: string; } class E implements A { // error ~ !!! error TS2420: Class 'E' incorrectly implements interface 'A'. !!! error TS2420: Property 'x' is private in type 'A' but not in type 'E'. - x: number; - y: string; - z: string; + x!: number; + y!: string; + z!: string; } - var a: A; + declare var a: A; var r = a.x; // error ~ !!! error TS2341: Property 'x' is private and only accessible within class 'C'. \ No newline at end of file diff --git a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.js b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.js index 87e2ae1b1c504..dbb09dc88cc42 100644 --- a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.js +++ b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.js @@ -2,7 +2,7 @@ //// [mergedInterfacesWithInheritedPrivates.ts] class C { - private x: number; + private x!: number; } interface A extends C { @@ -14,18 +14,18 @@ interface A { } class D implements A { // error - private x: number; - y: string; - z: string; + private x!: number; + y!: string; + z!: string; } class E implements A { // error - x: number; - y: string; - z: string; + x!: number; + y!: string; + z!: string; } -var a: A; +declare var a: A; var r = a.x; // error //// [mergedInterfacesWithInheritedPrivates.js] @@ -44,5 +44,4 @@ var E = /** @class */ (function () { } return E; }()); -var a; var r = a.x; // error diff --git a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.symbols b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.symbols index 1868a1c119e06..01f936baeb319 100644 --- a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.symbols +++ b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.symbols @@ -4,7 +4,7 @@ class C { >C : Symbol(C, Decl(mergedInterfacesWithInheritedPrivates.ts, 0, 0)) - private x: number; + private x!: number; >x : Symbol(C.x, Decl(mergedInterfacesWithInheritedPrivates.ts, 0, 9)) } @@ -27,37 +27,37 @@ class D implements A { // error >D : Symbol(D, Decl(mergedInterfacesWithInheritedPrivates.ts, 10, 1)) >A : Symbol(A, Decl(mergedInterfacesWithInheritedPrivates.ts, 2, 1), Decl(mergedInterfacesWithInheritedPrivates.ts, 6, 1)) - private x: number; + private x!: number; >x : Symbol(D.x, Decl(mergedInterfacesWithInheritedPrivates.ts, 12, 22)) - y: string; ->y : Symbol(D.y, Decl(mergedInterfacesWithInheritedPrivates.ts, 13, 22)) + y!: string; +>y : Symbol(D.y, Decl(mergedInterfacesWithInheritedPrivates.ts, 13, 23)) - z: string; ->z : Symbol(D.z, Decl(mergedInterfacesWithInheritedPrivates.ts, 14, 14)) + z!: string; +>z : Symbol(D.z, Decl(mergedInterfacesWithInheritedPrivates.ts, 14, 15)) } class E implements A { // error >E : Symbol(E, Decl(mergedInterfacesWithInheritedPrivates.ts, 16, 1)) >A : Symbol(A, Decl(mergedInterfacesWithInheritedPrivates.ts, 2, 1), Decl(mergedInterfacesWithInheritedPrivates.ts, 6, 1)) - x: number; + x!: number; >x : Symbol(E.x, Decl(mergedInterfacesWithInheritedPrivates.ts, 18, 22)) - y: string; ->y : Symbol(E.y, Decl(mergedInterfacesWithInheritedPrivates.ts, 19, 14)) + y!: string; +>y : Symbol(E.y, Decl(mergedInterfacesWithInheritedPrivates.ts, 19, 15)) - z: string; ->z : Symbol(E.z, Decl(mergedInterfacesWithInheritedPrivates.ts, 20, 14)) + z!: string; +>z : Symbol(E.z, Decl(mergedInterfacesWithInheritedPrivates.ts, 20, 15)) } -var a: A; ->a : Symbol(a, Decl(mergedInterfacesWithInheritedPrivates.ts, 24, 3)) +declare var a: A; +>a : Symbol(a, Decl(mergedInterfacesWithInheritedPrivates.ts, 24, 11)) >A : Symbol(A, Decl(mergedInterfacesWithInheritedPrivates.ts, 2, 1), Decl(mergedInterfacesWithInheritedPrivates.ts, 6, 1)) var r = a.x; // error >r : Symbol(r, Decl(mergedInterfacesWithInheritedPrivates.ts, 25, 3)) >a.x : Symbol(C.x, Decl(mergedInterfacesWithInheritedPrivates.ts, 0, 9)) ->a : Symbol(a, Decl(mergedInterfacesWithInheritedPrivates.ts, 24, 3)) +>a : Symbol(a, Decl(mergedInterfacesWithInheritedPrivates.ts, 24, 11)) >x : Symbol(C.x, Decl(mergedInterfacesWithInheritedPrivates.ts, 0, 9)) diff --git a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.types b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.types index e67dd805dfdb4..2564cc69e67f1 100644 --- a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.types +++ b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates.types @@ -5,7 +5,7 @@ class C { >C : C > : ^ - private x: number; + private x!: number; >x : number > : ^^^^^^ } @@ -26,15 +26,15 @@ class D implements A { // error >D : D > : ^ - private x: number; + private x!: number; >x : number > : ^^^^^^ - y: string; + y!: string; >y : string > : ^^^^^^ - z: string; + z!: string; >z : string > : ^^^^^^ } @@ -43,20 +43,20 @@ class E implements A { // error >E : E > : ^ - x: number; + x!: number; >x : number > : ^^^^^^ - y: string; + y!: string; >y : string > : ^^^^^^ - z: string; + z!: string; >z : string > : ^^^^^^ } -var a: A; +declare var a: A; >a : A > : ^ diff --git a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.errors.txt b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.errors.txt index d43580c04f92b..2f5ad182f75ce 100644 --- a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.errors.txt +++ b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.errors.txt @@ -10,11 +10,11 @@ mergedInterfacesWithInheritedPrivates2.ts(31,12): error TS2341: Property 'w' is ==== mergedInterfacesWithInheritedPrivates2.ts (5 errors) ==== class C { - private x: number; + private x!: number; } class C2 { - private w: number; + private w!: number; } interface A extends C { @@ -29,9 +29,9 @@ mergedInterfacesWithInheritedPrivates2.ts(31,12): error TS2341: Property 'w' is ~ !!! error TS2420: Class 'D' incorrectly implements interface 'A'. !!! error TS2420: Types have separate declarations of a private property 'w'. - private w: number; - y: string; - z: string; + private w!: number; + y!: string; + z!: string; } class E extends C2 implements A { // error @@ -42,12 +42,12 @@ mergedInterfacesWithInheritedPrivates2.ts(31,12): error TS2341: Property 'w' is !!! error TS2420: Class 'E' incorrectly implements interface 'A'. !!! error TS2420: Property 'x' is missing in type 'E' but required in type 'A'. !!! related TS2728 mergedInterfacesWithInheritedPrivates2.ts:2:13: 'x' is declared here. - w: number; - y: string; - z: string; + w!: number; + y!: string; + z!: string; } - var a: A; + declare var a: A; var r = a.x; // error ~ !!! error TS2341: Property 'x' is private and only accessible within class 'C'. diff --git a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.js b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.js index e58d454f3873b..9111c795c8a6b 100644 --- a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.js +++ b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.js @@ -2,11 +2,11 @@ //// [mergedInterfacesWithInheritedPrivates2.ts] class C { - private x: number; + private x!: number; } class C2 { - private w: number; + private w!: number; } interface A extends C { @@ -18,18 +18,18 @@ interface A extends C2 { } class D extends C implements A { // error - private w: number; - y: string; - z: string; + private w!: number; + y!: string; + z!: string; } class E extends C2 implements A { // error - w: number; - y: string; - z: string; + w!: number; + y!: string; + z!: string; } -var a: A; +declare var a: A; var r = a.x; // error var r2 = a.w; // error @@ -73,6 +73,5 @@ var E = /** @class */ (function (_super) { } return E; }(C2)); -var a; var r = a.x; // error var r2 = a.w; // error diff --git a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.symbols b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.symbols index caa0da8615faf..ac501abb6d22a 100644 --- a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.symbols +++ b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.symbols @@ -4,14 +4,14 @@ class C { >C : Symbol(C, Decl(mergedInterfacesWithInheritedPrivates2.ts, 0, 0)) - private x: number; + private x!: number; >x : Symbol(C.x, Decl(mergedInterfacesWithInheritedPrivates2.ts, 0, 9)) } class C2 { >C2 : Symbol(C2, Decl(mergedInterfacesWithInheritedPrivates2.ts, 2, 1)) - private w: number; + private w!: number; >w : Symbol(C2.w, Decl(mergedInterfacesWithInheritedPrivates2.ts, 4, 10)) } @@ -36,14 +36,14 @@ class D extends C implements A { // error >C : Symbol(C, Decl(mergedInterfacesWithInheritedPrivates2.ts, 0, 0)) >A : Symbol(A, Decl(mergedInterfacesWithInheritedPrivates2.ts, 6, 1), Decl(mergedInterfacesWithInheritedPrivates2.ts, 10, 1)) - private w: number; + private w!: number; >w : Symbol(D.w, Decl(mergedInterfacesWithInheritedPrivates2.ts, 16, 32)) - y: string; ->y : Symbol(D.y, Decl(mergedInterfacesWithInheritedPrivates2.ts, 17, 22)) + y!: string; +>y : Symbol(D.y, Decl(mergedInterfacesWithInheritedPrivates2.ts, 17, 23)) - z: string; ->z : Symbol(D.z, Decl(mergedInterfacesWithInheritedPrivates2.ts, 18, 14)) + z!: string; +>z : Symbol(D.z, Decl(mergedInterfacesWithInheritedPrivates2.ts, 18, 15)) } class E extends C2 implements A { // error @@ -51,29 +51,29 @@ class E extends C2 implements A { // error >C2 : Symbol(C2, Decl(mergedInterfacesWithInheritedPrivates2.ts, 2, 1)) >A : Symbol(A, Decl(mergedInterfacesWithInheritedPrivates2.ts, 6, 1), Decl(mergedInterfacesWithInheritedPrivates2.ts, 10, 1)) - w: number; + w!: number; >w : Symbol(E.w, Decl(mergedInterfacesWithInheritedPrivates2.ts, 22, 33)) - y: string; ->y : Symbol(E.y, Decl(mergedInterfacesWithInheritedPrivates2.ts, 23, 14)) + y!: string; +>y : Symbol(E.y, Decl(mergedInterfacesWithInheritedPrivates2.ts, 23, 15)) - z: string; ->z : Symbol(E.z, Decl(mergedInterfacesWithInheritedPrivates2.ts, 24, 14)) + z!: string; +>z : Symbol(E.z, Decl(mergedInterfacesWithInheritedPrivates2.ts, 24, 15)) } -var a: A; ->a : Symbol(a, Decl(mergedInterfacesWithInheritedPrivates2.ts, 28, 3)) +declare var a: A; +>a : Symbol(a, Decl(mergedInterfacesWithInheritedPrivates2.ts, 28, 11)) >A : Symbol(A, Decl(mergedInterfacesWithInheritedPrivates2.ts, 6, 1), Decl(mergedInterfacesWithInheritedPrivates2.ts, 10, 1)) var r = a.x; // error >r : Symbol(r, Decl(mergedInterfacesWithInheritedPrivates2.ts, 29, 3)) >a.x : Symbol(C.x, Decl(mergedInterfacesWithInheritedPrivates2.ts, 0, 9)) ->a : Symbol(a, Decl(mergedInterfacesWithInheritedPrivates2.ts, 28, 3)) +>a : Symbol(a, Decl(mergedInterfacesWithInheritedPrivates2.ts, 28, 11)) >x : Symbol(C.x, Decl(mergedInterfacesWithInheritedPrivates2.ts, 0, 9)) var r2 = a.w; // error >r2 : Symbol(r2, Decl(mergedInterfacesWithInheritedPrivates2.ts, 30, 3)) >a.w : Symbol(C2.w, Decl(mergedInterfacesWithInheritedPrivates2.ts, 4, 10)) ->a : Symbol(a, Decl(mergedInterfacesWithInheritedPrivates2.ts, 28, 3)) +>a : Symbol(a, Decl(mergedInterfacesWithInheritedPrivates2.ts, 28, 11)) >w : Symbol(C2.w, Decl(mergedInterfacesWithInheritedPrivates2.ts, 4, 10)) diff --git a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.types b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.types index 4e6978950c3ed..e9dc6134f0392 100644 --- a/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.types +++ b/tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.types @@ -5,7 +5,7 @@ class C { >C : C > : ^ - private x: number; + private x!: number; >x : number > : ^^^^^^ } @@ -14,7 +14,7 @@ class C2 { >C2 : C2 > : ^^ - private w: number; + private w!: number; >w : number > : ^^^^^^ } @@ -37,15 +37,15 @@ class D extends C implements A { // error >C : C > : ^ - private w: number; + private w!: number; >w : number > : ^^^^^^ - y: string; + y!: string; >y : string > : ^^^^^^ - z: string; + z!: string; >z : string > : ^^^^^^ } @@ -56,20 +56,20 @@ class E extends C2 implements A { // error >C2 : C2 > : ^^ - w: number; + w!: number; >w : number > : ^^^^^^ - y: string; + y!: string; >y : string > : ^^^^^^ - z: string; + z!: string; >z : string > : ^^^^^^ } -var a: A; +declare var a: A; >a : A > : ^ diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports2.errors.txt b/tests/baselines/reference/moduleAugmentationImportsAndExports2.errors.txt index f472daec04d69..d32339fb36803 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports2.errors.txt +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports2.errors.txt @@ -11,7 +11,7 @@ f4.ts(5,11): error TS2339: Property 'foo' does not exist on type 'A'. ==== f2.ts (0 errors) ==== export class B { - n: number; + n!: number; } ==== f3.ts (5 errors) ==== @@ -51,7 +51,7 @@ f4.ts(5,11): error TS2339: Property 'foo' does not exist on type 'A'. import {A} from "./f1"; import "./f3"; - let a: A; + declare let a: A; let b = a.foo().n; ~~~ !!! error TS2339: Property 'foo' does not exist on type 'A'. \ No newline at end of file diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports2.js b/tests/baselines/reference/moduleAugmentationImportsAndExports2.js index fc036be496f20..eb91dfeda615b 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports2.js +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports2.js @@ -5,7 +5,7 @@ export class A {} //// [f2.ts] export class B { - n: number; + n!: number; } //// [f3.ts] @@ -35,7 +35,7 @@ declare module "./f1" { import {A} from "./f1"; import "./f3"; -let a: A; +declare let a: A; let b = a.foo().n; //// [f1.js] @@ -67,7 +67,6 @@ f1_1.A.prototype.foo = function () { return undefined; }; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("./f3"); -var a; var b = a.foo().n; diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports2.symbols b/tests/baselines/reference/moduleAugmentationImportsAndExports2.symbols index 1cadf1bd8d8a8..657c82db14ed2 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports2.symbols +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports2.symbols @@ -8,7 +8,7 @@ export class A {} export class B { >B : Symbol(B, Decl(f2.ts, 0, 0)) - n: number; + n!: number; >n : Symbol(B.n, Decl(f2.ts, 0, 16)) } @@ -77,11 +77,11 @@ import {A} from "./f1"; import "./f3"; -let a: A; ->a : Symbol(a, Decl(f4.ts, 3, 3)) +declare let a: A; +>a : Symbol(a, Decl(f4.ts, 3, 11)) >A : Symbol(A, Decl(f4.ts, 0, 8)) let b = a.foo().n; >b : Symbol(b, Decl(f4.ts, 4, 3)) ->a : Symbol(a, Decl(f4.ts, 3, 3)) +>a : Symbol(a, Decl(f4.ts, 3, 11)) diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports2.types b/tests/baselines/reference/moduleAugmentationImportsAndExports2.types index f120426e0aa12..111dc08d4383f 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports2.types +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports2.types @@ -10,7 +10,7 @@ export class B { >B : B > : ^ - n: number; + n!: number; >n : number > : ^^^^^^ } @@ -99,7 +99,7 @@ import {A} from "./f1"; import "./f3"; -let a: A; +declare let a: A; >a : A > : ^ diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports3.errors.txt b/tests/baselines/reference/moduleAugmentationImportsAndExports3.errors.txt index f66ce9db2bfdd..8bc5549022fe6 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports3.errors.txt +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports3.errors.txt @@ -7,7 +7,7 @@ f3.ts(11,21): error TS2307: Cannot find module './f2' or its corresponding type ==== f2.ts (0 errors) ==== export class B { - n: number; + n!: number; } ==== f3.ts (2 errors) ==== @@ -39,5 +39,5 @@ f3.ts(11,21): error TS2307: Cannot find module './f2' or its corresponding type import {A} from "./f1"; import "./f3"; - let a: A; + declare let a: A; let b = a.foo().n; \ No newline at end of file diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports3.js b/tests/baselines/reference/moduleAugmentationImportsAndExports3.js index 905f347ea992a..18b76ee098aeb 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports3.js +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports3.js @@ -5,7 +5,7 @@ export class A {} //// [f2.ts] export class B { - n: number; + n!: number; } //// [f3.ts] @@ -33,7 +33,7 @@ declare module "./f1" { import {A} from "./f1"; import "./f3"; -let a: A; +declare let a: A; let b = a.foo().n; //// [f1.js] @@ -65,7 +65,6 @@ f1_1.A.prototype.foo = function () { return undefined; }; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("./f3"); -var a; var b = a.foo().n; diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports3.symbols b/tests/baselines/reference/moduleAugmentationImportsAndExports3.symbols index d2e1435215640..5725a2a605de0 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports3.symbols +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports3.symbols @@ -8,7 +8,7 @@ export class A {} export class B { >B : Symbol(B, Decl(f2.ts, 0, 0)) - n: number; + n!: number; >n : Symbol(B.n, Decl(f2.ts, 0, 16)) } @@ -75,13 +75,13 @@ import {A} from "./f1"; import "./f3"; -let a: A; ->a : Symbol(a, Decl(f4.ts, 3, 3)) +declare let a: A; +>a : Symbol(a, Decl(f4.ts, 3, 11)) >A : Symbol(A, Decl(f4.ts, 0, 8)) let b = a.foo().n; >b : Symbol(b, Decl(f4.ts, 4, 3)) >a.foo : Symbol(A.foo, Decl(f3.ts, 13, 17)) ->a : Symbol(a, Decl(f4.ts, 3, 3)) +>a : Symbol(a, Decl(f4.ts, 3, 11)) >foo : Symbol(A.foo, Decl(f3.ts, 13, 17)) diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports3.types b/tests/baselines/reference/moduleAugmentationImportsAndExports3.types index 17d9fc3f6e23e..c49ba0985110a 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports3.types +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports3.types @@ -10,7 +10,7 @@ export class B { >B : B > : ^ - n: number; + n!: number; >n : number > : ^^^^^^ } @@ -94,7 +94,7 @@ import {A} from "./f1"; import "./f3"; -let a: A; +declare let a: A; >a : A > : ^ diff --git a/tests/baselines/reference/multiLineErrors.errors.txt b/tests/baselines/reference/multiLineErrors.errors.txt index 666b71aac6d06..52c522bba2070 100644 --- a/tests/baselines/reference/multiLineErrors.errors.txt +++ b/tests/baselines/reference/multiLineErrors.errors.txt @@ -28,8 +28,8 @@ multiLineErrors.ts(21,1): error TS2322: Type 'A2' is not assignable to type 'A1' x: { y: string; }; } - var t1: A1; - var t2: A2; + declare var t1: A1; + declare var t2: A2; t1 = t2; ~~ !!! error TS2322: Type 'A2' is not assignable to type 'A1'. diff --git a/tests/baselines/reference/multiLineErrors.js b/tests/baselines/reference/multiLineErrors.js index d09dd6f238bdf..e789db15e9179 100644 --- a/tests/baselines/reference/multiLineErrors.js +++ b/tests/baselines/reference/multiLineErrors.js @@ -19,8 +19,8 @@ interface A2 { x: { y: string; }; } -var t1: A1; -var t2: A2; +declare var t1: A1; +declare var t2: A2; t1 = t2; @@ -30,6 +30,4 @@ function noReturn() { var x = 4; var y = 10; } -var t1; -var t2; t1 = t2; diff --git a/tests/baselines/reference/multiLineErrors.symbols b/tests/baselines/reference/multiLineErrors.symbols index 3835ed36da899..cab8cecb38374 100644 --- a/tests/baselines/reference/multiLineErrors.symbols +++ b/tests/baselines/reference/multiLineErrors.symbols @@ -36,15 +36,15 @@ interface A2 { >y : Symbol(y, Decl(multiLineErrors.ts, 15, 8)) } -var t1: A1; ->t1 : Symbol(t1, Decl(multiLineErrors.ts, 18, 3)) +declare var t1: A1; +>t1 : Symbol(t1, Decl(multiLineErrors.ts, 18, 11)) >A1 : Symbol(A1, Decl(multiLineErrors.ts, 9, 1)) -var t2: A2; ->t2 : Symbol(t2, Decl(multiLineErrors.ts, 19, 3)) +declare var t2: A2; +>t2 : Symbol(t2, Decl(multiLineErrors.ts, 19, 11)) >A2 : Symbol(A2, Decl(multiLineErrors.ts, 13, 1)) t1 = t2; ->t1 : Symbol(t1, Decl(multiLineErrors.ts, 18, 3)) ->t2 : Symbol(t2, Decl(multiLineErrors.ts, 19, 3)) +>t1 : Symbol(t1, Decl(multiLineErrors.ts, 18, 11)) +>t2 : Symbol(t2, Decl(multiLineErrors.ts, 19, 11)) diff --git a/tests/baselines/reference/multiLineErrors.types b/tests/baselines/reference/multiLineErrors.types index 39c37ff50216d..e824a4a99b110 100644 --- a/tests/baselines/reference/multiLineErrors.types +++ b/tests/baselines/reference/multiLineErrors.types @@ -48,11 +48,11 @@ interface A2 { > : ^^^^^^ } -var t1: A1; +declare var t1: A1; >t1 : A1 > : ^^ -var t2: A2; +declare var t2: A2; >t2 : A2 > : ^^ diff --git a/tests/baselines/reference/multipleExportAssignments.errors.txt b/tests/baselines/reference/multipleExportAssignments.errors.txt index ad7b34315aee3..eb4cf8cdd7c7b 100644 --- a/tests/baselines/reference/multipleExportAssignments.errors.txt +++ b/tests/baselines/reference/multipleExportAssignments.errors.txt @@ -10,7 +10,7 @@ multipleExportAssignments.ts(14,10): error TS2300: Duplicate identifier 'export= use: (mod: connectModule) => connectExport; listen: (port: number) => void; } - var server: { + declare const server: { (): connectExport; test1: connectModule; test2(): connectModule; diff --git a/tests/baselines/reference/multipleExportAssignments.js b/tests/baselines/reference/multipleExportAssignments.js index 8601870b3174d..169ef99a3abe0 100644 --- a/tests/baselines/reference/multipleExportAssignments.js +++ b/tests/baselines/reference/multipleExportAssignments.js @@ -8,7 +8,7 @@ interface connectExport { use: (mod: connectModule) => connectExport; listen: (port: number) => void; } -var server: { +declare const server: { (): connectExport; test1: connectModule; test2(): connectModule; @@ -20,5 +20,4 @@ export = connectExport; //// [multipleExportAssignments.js] "use strict"; -var server; module.exports = server; diff --git a/tests/baselines/reference/multipleExportAssignments.symbols b/tests/baselines/reference/multipleExportAssignments.symbols index 2670ac50fbba9..ec465622050c6 100644 --- a/tests/baselines/reference/multipleExportAssignments.symbols +++ b/tests/baselines/reference/multipleExportAssignments.symbols @@ -22,8 +22,8 @@ interface connectExport { >listen : Symbol(connectExport.listen, Decl(multipleExportAssignments.ts, 4, 47)) >port : Symbol(port, Decl(multipleExportAssignments.ts, 5, 13)) } -var server: { ->server : Symbol(server, Decl(multipleExportAssignments.ts, 7, 3)) +declare const server: { +>server : Symbol(server, Decl(multipleExportAssignments.ts, 7, 13)) (): connectExport; >connectExport : Symbol(connectExport, Decl(multipleExportAssignments.ts, 2, 1)) @@ -38,7 +38,7 @@ var server: { }; export = server; ->server : Symbol(server, Decl(multipleExportAssignments.ts, 7, 3)) +>server : Symbol(server, Decl(multipleExportAssignments.ts, 7, 13)) export = connectExport; >connectExport : Symbol(connectExport, Decl(multipleExportAssignments.ts, 2, 1)) diff --git a/tests/baselines/reference/multipleExportAssignments.types b/tests/baselines/reference/multipleExportAssignments.types index e484dbb1b147f..263eed4f594f8 100644 --- a/tests/baselines/reference/multipleExportAssignments.types +++ b/tests/baselines/reference/multipleExportAssignments.types @@ -23,7 +23,7 @@ interface connectExport { >port : number > : ^^^^^^ } -var server: { +declare const server: { >server : { (): connectExport; test1: connectModule; test2(): connectModule; } > : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/namedImportNonExistentName.errors.txt b/tests/baselines/reference/namedImportNonExistentName.errors.txt index 76e60a085ed74..ab93ba7bcfc5e 100644 --- a/tests/baselines/reference/namedImportNonExistentName.errors.txt +++ b/tests/baselines/reference/namedImportNonExistentName.errors.txt @@ -15,7 +15,7 @@ bar.ts(3,22): error TS2305: Module '"./foo2"' has no exported member 'toString'. } ==== foo2.ts (0 errors) ==== - let x: { a: string; c: string; } | { b: number; c: number; }; + declare let x: { a: string; c: string; } | { b: number; c: number; }; export = x ==== bar.ts (6 errors) ==== diff --git a/tests/baselines/reference/namedImportNonExistentName.js b/tests/baselines/reference/namedImportNonExistentName.js index 057aa65dbac33..33446cf30e94d 100644 --- a/tests/baselines/reference/namedImportNonExistentName.js +++ b/tests/baselines/reference/namedImportNonExistentName.js @@ -9,7 +9,7 @@ declare namespace Foo { } //// [foo2.ts] -let x: { a: string; c: string; } | { b: number; c: number; }; +declare let x: { a: string; c: string; } | { b: number; c: number; }; export = x //// [bar.ts] @@ -20,7 +20,6 @@ c; //// [foo2.js] "use strict"; -var x; module.exports = x; //// [bar.js] "use strict"; diff --git a/tests/baselines/reference/namedImportNonExistentName.symbols b/tests/baselines/reference/namedImportNonExistentName.symbols index 2a4fe5fa1327c..36a51f4d0867e 100644 --- a/tests/baselines/reference/namedImportNonExistentName.symbols +++ b/tests/baselines/reference/namedImportNonExistentName.symbols @@ -15,15 +15,15 @@ declare namespace Foo { } === foo2.ts === -let x: { a: string; c: string; } | { b: number; c: number; }; ->x : Symbol(x, Decl(foo2.ts, 0, 3)) ->a : Symbol(a, Decl(foo2.ts, 0, 8)) ->c : Symbol(c, Decl(foo2.ts, 0, 19)) ->b : Symbol(b, Decl(foo2.ts, 0, 36)) ->c : Symbol(c, Decl(foo2.ts, 0, 47)) +declare let x: { a: string; c: string; } | { b: number; c: number; }; +>x : Symbol(x, Decl(foo2.ts, 0, 11)) +>a : Symbol(a, Decl(foo2.ts, 0, 16)) +>c : Symbol(c, Decl(foo2.ts, 0, 27)) +>b : Symbol(b, Decl(foo2.ts, 0, 44)) +>c : Symbol(c, Decl(foo2.ts, 0, 55)) export = x ->x : Symbol(x, Decl(foo2.ts, 0, 3)) +>x : Symbol(x, Decl(foo2.ts, 0, 11)) === bar.ts === import { Bar, toString, foo } from './foo'; diff --git a/tests/baselines/reference/namedImportNonExistentName.types b/tests/baselines/reference/namedImportNonExistentName.types index 37e863dc4815f..f35400d43ad58 100644 --- a/tests/baselines/reference/namedImportNonExistentName.types +++ b/tests/baselines/reference/namedImportNonExistentName.types @@ -19,7 +19,7 @@ declare namespace Foo { } === foo2.ts === -let x: { a: string; c: string; } | { b: number; c: number; }; +declare let x: { a: string; c: string; } | { b: number; c: number; }; >x : { a: string; c: string; } | { b: number; c: number; } > : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >a : string diff --git a/tests/baselines/reference/negateOperatorWithAnyOtherType.errors.txt b/tests/baselines/reference/negateOperatorWithAnyOtherType.errors.txt index 8470f20aff24e..dcded0e487843 100644 --- a/tests/baselines/reference/negateOperatorWithAnyOtherType.errors.txt +++ b/tests/baselines/reference/negateOperatorWithAnyOtherType.errors.txt @@ -17,7 +17,7 @@ negateOperatorWithAnyOtherType.ts(51,1): error TS2695: Left side of comma operat return a; } class A { - public a: any; + public a!: any; static foo(): any { var a; return a; diff --git a/tests/baselines/reference/negateOperatorWithAnyOtherType.js b/tests/baselines/reference/negateOperatorWithAnyOtherType.js index 2434d8aa05d38..3a358f1da8f59 100644 --- a/tests/baselines/reference/negateOperatorWithAnyOtherType.js +++ b/tests/baselines/reference/negateOperatorWithAnyOtherType.js @@ -14,7 +14,7 @@ function foo(): any { return a; } class A { - public a: any; + public a!: any; static foo(): any { var a; return a; diff --git a/tests/baselines/reference/negateOperatorWithAnyOtherType.symbols b/tests/baselines/reference/negateOperatorWithAnyOtherType.symbols index 1b726ddd565f7..185921e894964 100644 --- a/tests/baselines/reference/negateOperatorWithAnyOtherType.symbols +++ b/tests/baselines/reference/negateOperatorWithAnyOtherType.symbols @@ -32,11 +32,11 @@ function foo(): any { class A { >A : Symbol(A, Decl(negateOperatorWithAnyOtherType.ts, 11, 1)) - public a: any; + public a!: any; >a : Symbol(A.a, Decl(negateOperatorWithAnyOtherType.ts, 12, 9)) static foo(): any { ->foo : Symbol(A.foo, Decl(negateOperatorWithAnyOtherType.ts, 13, 18)) +>foo : Symbol(A.foo, Decl(negateOperatorWithAnyOtherType.ts, 13, 19)) var a; >a : Symbol(a, Decl(negateOperatorWithAnyOtherType.ts, 15, 11)) @@ -123,9 +123,9 @@ var ResultIsNumber13 = -foo(); var ResultIsNumber14 = -A.foo(); >ResultIsNumber14 : Symbol(ResultIsNumber14, Decl(negateOperatorWithAnyOtherType.ts, 43, 3)) ->A.foo : Symbol(A.foo, Decl(negateOperatorWithAnyOtherType.ts, 13, 18)) +>A.foo : Symbol(A.foo, Decl(negateOperatorWithAnyOtherType.ts, 13, 19)) >A : Symbol(A, Decl(negateOperatorWithAnyOtherType.ts, 11, 1)) ->foo : Symbol(A.foo, Decl(negateOperatorWithAnyOtherType.ts, 13, 18)) +>foo : Symbol(A.foo, Decl(negateOperatorWithAnyOtherType.ts, 13, 19)) var ResultIsNumber15 = -(ANY - ANY1); >ResultIsNumber15 : Symbol(ResultIsNumber15, Decl(negateOperatorWithAnyOtherType.ts, 44, 3)) diff --git a/tests/baselines/reference/negateOperatorWithAnyOtherType.types b/tests/baselines/reference/negateOperatorWithAnyOtherType.types index beb251f9743a6..5e275f18bfcd2 100644 --- a/tests/baselines/reference/negateOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/negateOperatorWithAnyOtherType.types @@ -55,7 +55,7 @@ class A { >A : A > : ^ - public a: any; + public a!: any; >a : any > : ^^^ diff --git a/tests/baselines/reference/negateOperatorWithBooleanType.errors.txt b/tests/baselines/reference/negateOperatorWithBooleanType.errors.txt index 7a7bf05bbe394..ac062be68cb95 100644 --- a/tests/baselines/reference/negateOperatorWithBooleanType.errors.txt +++ b/tests/baselines/reference/negateOperatorWithBooleanType.errors.txt @@ -3,16 +3,16 @@ negateOperatorWithBooleanType.ts(33,1): error TS2695: Left side of comma operato ==== negateOperatorWithBooleanType.ts (1 errors) ==== // - operator on boolean type - var BOOLEAN: boolean; + declare var BOOLEAN: boolean; function foo(): boolean { return true; } class A { - public a: boolean; + public a!: boolean; static foo() { return false; } } namespace M { - export var n: boolean; + export declare var n: boolean; } var objA = new A(); diff --git a/tests/baselines/reference/negateOperatorWithBooleanType.js b/tests/baselines/reference/negateOperatorWithBooleanType.js index abe50078a187d..2f9e72b4ec718 100644 --- a/tests/baselines/reference/negateOperatorWithBooleanType.js +++ b/tests/baselines/reference/negateOperatorWithBooleanType.js @@ -2,16 +2,16 @@ //// [negateOperatorWithBooleanType.ts] // - operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; function foo(): boolean { return true; } class A { - public a: boolean; + public a!: boolean; static foo() { return false; } } namespace M { - export var n: boolean; + export declare var n: boolean; } var objA = new A(); @@ -38,8 +38,6 @@ var ResultIsNumber7 = -A.foo(); -M.n; //// [negateOperatorWithBooleanType.js] -// - operator on boolean type -var BOOLEAN; function foo() { return true; } var A = /** @class */ (function () { function A() { diff --git a/tests/baselines/reference/negateOperatorWithBooleanType.symbols b/tests/baselines/reference/negateOperatorWithBooleanType.symbols index 14e8dd137a24b..d2e63e9c11c32 100644 --- a/tests/baselines/reference/negateOperatorWithBooleanType.symbols +++ b/tests/baselines/reference/negateOperatorWithBooleanType.symbols @@ -2,26 +2,26 @@ === negateOperatorWithBooleanType.ts === // - operator on boolean type -var BOOLEAN: boolean; ->BOOLEAN : Symbol(BOOLEAN, Decl(negateOperatorWithBooleanType.ts, 1, 3)) +declare var BOOLEAN: boolean; +>BOOLEAN : Symbol(BOOLEAN, Decl(negateOperatorWithBooleanType.ts, 1, 11)) function foo(): boolean { return true; } ->foo : Symbol(foo, Decl(negateOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(negateOperatorWithBooleanType.ts, 1, 29)) class A { >A : Symbol(A, Decl(negateOperatorWithBooleanType.ts, 3, 40)) - public a: boolean; + public a!: boolean; >a : Symbol(A.a, Decl(negateOperatorWithBooleanType.ts, 5, 9)) static foo() { return false; } ->foo : Symbol(A.foo, Decl(negateOperatorWithBooleanType.ts, 6, 22)) +>foo : Symbol(A.foo, Decl(negateOperatorWithBooleanType.ts, 6, 23)) } namespace M { >M : Symbol(M, Decl(negateOperatorWithBooleanType.ts, 8, 1)) - export var n: boolean; ->n : Symbol(n, Decl(negateOperatorWithBooleanType.ts, 10, 14)) + export declare var n: boolean; +>n : Symbol(n, Decl(negateOperatorWithBooleanType.ts, 10, 22)) } var objA = new A(); @@ -31,7 +31,7 @@ var objA = new A(); // boolean type var var ResultIsNumber1 = -BOOLEAN; >ResultIsNumber1 : Symbol(ResultIsNumber1, Decl(negateOperatorWithBooleanType.ts, 16, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(negateOperatorWithBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(negateOperatorWithBooleanType.ts, 1, 11)) // boolean type literal var ResultIsNumber2 = -true; @@ -51,27 +51,27 @@ var ResultIsNumber4 = -objA.a; var ResultIsNumber5 = -M.n; >ResultIsNumber5 : Symbol(ResultIsNumber5, Decl(negateOperatorWithBooleanType.ts, 24, 3)) ->M.n : Symbol(M.n, Decl(negateOperatorWithBooleanType.ts, 10, 14)) +>M.n : Symbol(M.n, Decl(negateOperatorWithBooleanType.ts, 10, 22)) >M : Symbol(M, Decl(negateOperatorWithBooleanType.ts, 8, 1)) ->n : Symbol(M.n, Decl(negateOperatorWithBooleanType.ts, 10, 14)) +>n : Symbol(M.n, Decl(negateOperatorWithBooleanType.ts, 10, 22)) var ResultIsNumber6 = -foo(); >ResultIsNumber6 : Symbol(ResultIsNumber6, Decl(negateOperatorWithBooleanType.ts, 25, 3)) ->foo : Symbol(foo, Decl(negateOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(negateOperatorWithBooleanType.ts, 1, 29)) var ResultIsNumber7 = -A.foo(); >ResultIsNumber7 : Symbol(ResultIsNumber7, Decl(negateOperatorWithBooleanType.ts, 26, 3)) ->A.foo : Symbol(A.foo, Decl(negateOperatorWithBooleanType.ts, 6, 22)) +>A.foo : Symbol(A.foo, Decl(negateOperatorWithBooleanType.ts, 6, 23)) >A : Symbol(A, Decl(negateOperatorWithBooleanType.ts, 3, 40)) ->foo : Symbol(A.foo, Decl(negateOperatorWithBooleanType.ts, 6, 22)) +>foo : Symbol(A.foo, Decl(negateOperatorWithBooleanType.ts, 6, 23)) // miss assignment operators -true; -BOOLEAN; ->BOOLEAN : Symbol(BOOLEAN, Decl(negateOperatorWithBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(negateOperatorWithBooleanType.ts, 1, 11)) -foo(); ->foo : Symbol(foo, Decl(negateOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(negateOperatorWithBooleanType.ts, 1, 29)) -true, false; -objA.a; @@ -80,7 +80,7 @@ var ResultIsNumber7 = -A.foo(); >a : Symbol(A.a, Decl(negateOperatorWithBooleanType.ts, 5, 9)) -M.n; ->M.n : Symbol(M.n, Decl(negateOperatorWithBooleanType.ts, 10, 14)) +>M.n : Symbol(M.n, Decl(negateOperatorWithBooleanType.ts, 10, 22)) >M : Symbol(M, Decl(negateOperatorWithBooleanType.ts, 8, 1)) ->n : Symbol(M.n, Decl(negateOperatorWithBooleanType.ts, 10, 14)) +>n : Symbol(M.n, Decl(negateOperatorWithBooleanType.ts, 10, 22)) diff --git a/tests/baselines/reference/negateOperatorWithBooleanType.types b/tests/baselines/reference/negateOperatorWithBooleanType.types index edf1a2f4de5b0..0ea2f5e1f2aec 100644 --- a/tests/baselines/reference/negateOperatorWithBooleanType.types +++ b/tests/baselines/reference/negateOperatorWithBooleanType.types @@ -2,7 +2,7 @@ === negateOperatorWithBooleanType.ts === // - operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; >BOOLEAN : boolean > : ^^^^^^^ @@ -16,7 +16,7 @@ class A { >A : A > : ^ - public a: boolean; + public a!: boolean; >a : boolean > : ^^^^^^^ @@ -30,7 +30,7 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: boolean; + export declare var n: boolean; >n : boolean > : ^^^^^^^ } diff --git a/tests/baselines/reference/negateOperatorWithNumberType.errors.txt b/tests/baselines/reference/negateOperatorWithNumberType.errors.txt index a8989f6bc0500..40e41efbc1c44 100644 --- a/tests/baselines/reference/negateOperatorWithNumberType.errors.txt +++ b/tests/baselines/reference/negateOperatorWithNumberType.errors.txt @@ -3,17 +3,17 @@ negateOperatorWithNumberType.ts(41,1): error TS2695: Left side of comma operator ==== negateOperatorWithNumberType.ts (1 errors) ==== // - operator on number type - var NUMBER: number; + declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } class A { - public a: number; + public a!: number; static foo() { return 1; } } namespace M { - export var n: number; + export declare var n: number; } var objA = new A(); diff --git a/tests/baselines/reference/negateOperatorWithNumberType.js b/tests/baselines/reference/negateOperatorWithNumberType.js index 1f6b029fbfe3a..134bd0d1b7611 100644 --- a/tests/baselines/reference/negateOperatorWithNumberType.js +++ b/tests/baselines/reference/negateOperatorWithNumberType.js @@ -2,17 +2,17 @@ //// [negateOperatorWithNumberType.ts] // - operator on number type -var NUMBER: number; +declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } class A { - public a: number; + public a!: number; static foo() { return 1; } } namespace M { - export var n: number; + export declare var n: number; } var objA = new A(); @@ -44,8 +44,6 @@ var ResultIsNumber11 = -(NUMBER - NUMBER); -objA.a, M.n; //// [negateOperatorWithNumberType.js] -// - operator on number type -var NUMBER; var NUMBER1 = [1, 2]; function foo() { return 1; } var A = /** @class */ (function () { diff --git a/tests/baselines/reference/negateOperatorWithNumberType.symbols b/tests/baselines/reference/negateOperatorWithNumberType.symbols index 0b9f34f75e562..78e05fd7ed1ca 100644 --- a/tests/baselines/reference/negateOperatorWithNumberType.symbols +++ b/tests/baselines/reference/negateOperatorWithNumberType.symbols @@ -2,8 +2,8 @@ === negateOperatorWithNumberType.ts === // - operator on number type -var NUMBER: number; ->NUMBER : Symbol(NUMBER, Decl(negateOperatorWithNumberType.ts, 1, 3)) +declare var NUMBER: number; +>NUMBER : Symbol(NUMBER, Decl(negateOperatorWithNumberType.ts, 1, 11)) var NUMBER1: number[] = [1, 2]; >NUMBER1 : Symbol(NUMBER1, Decl(negateOperatorWithNumberType.ts, 2, 3)) @@ -14,17 +14,17 @@ function foo(): number { return 1; } class A { >A : Symbol(A, Decl(negateOperatorWithNumberType.ts, 4, 36)) - public a: number; + public a!: number; >a : Symbol(A.a, Decl(negateOperatorWithNumberType.ts, 6, 9)) static foo() { return 1; } ->foo : Symbol(A.foo, Decl(negateOperatorWithNumberType.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(negateOperatorWithNumberType.ts, 7, 22)) } namespace M { >M : Symbol(M, Decl(negateOperatorWithNumberType.ts, 9, 1)) - export var n: number; ->n : Symbol(n, Decl(negateOperatorWithNumberType.ts, 11, 14)) + export declare var n: number; +>n : Symbol(n, Decl(negateOperatorWithNumberType.ts, 11, 22)) } var objA = new A(); @@ -34,7 +34,7 @@ var objA = new A(); // number type var var ResultIsNumber1 = -NUMBER; >ResultIsNumber1 : Symbol(ResultIsNumber1, Decl(negateOperatorWithNumberType.ts, 17, 3)) ->NUMBER : Symbol(NUMBER, Decl(negateOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(negateOperatorWithNumberType.ts, 1, 11)) var ResultIsNumber2 = -NUMBER1; >ResultIsNumber2 : Symbol(ResultIsNumber2, Decl(negateOperatorWithNumberType.ts, 18, 3)) @@ -65,9 +65,9 @@ var ResultIsNumber6 = -objA.a; var ResultIsNumber7 = -M.n; >ResultIsNumber7 : Symbol(ResultIsNumber7, Decl(negateOperatorWithNumberType.ts, 27, 3)) ->M.n : Symbol(M.n, Decl(negateOperatorWithNumberType.ts, 11, 14)) +>M.n : Symbol(M.n, Decl(negateOperatorWithNumberType.ts, 11, 22)) >M : Symbol(M, Decl(negateOperatorWithNumberType.ts, 9, 1)) ->n : Symbol(M.n, Decl(negateOperatorWithNumberType.ts, 11, 14)) +>n : Symbol(M.n, Decl(negateOperatorWithNumberType.ts, 11, 22)) var ResultIsNumber8 = -NUMBER1[0]; >ResultIsNumber8 : Symbol(ResultIsNumber8, Decl(negateOperatorWithNumberType.ts, 28, 3)) @@ -79,19 +79,19 @@ var ResultIsNumber9 = -foo(); var ResultIsNumber10 = -A.foo(); >ResultIsNumber10 : Symbol(ResultIsNumber10, Decl(negateOperatorWithNumberType.ts, 30, 3)) ->A.foo : Symbol(A.foo, Decl(negateOperatorWithNumberType.ts, 7, 21)) +>A.foo : Symbol(A.foo, Decl(negateOperatorWithNumberType.ts, 7, 22)) >A : Symbol(A, Decl(negateOperatorWithNumberType.ts, 4, 36)) ->foo : Symbol(A.foo, Decl(negateOperatorWithNumberType.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(negateOperatorWithNumberType.ts, 7, 22)) var ResultIsNumber11 = -(NUMBER - NUMBER); >ResultIsNumber11 : Symbol(ResultIsNumber11, Decl(negateOperatorWithNumberType.ts, 31, 3)) ->NUMBER : Symbol(NUMBER, Decl(negateOperatorWithNumberType.ts, 1, 3)) ->NUMBER : Symbol(NUMBER, Decl(negateOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(negateOperatorWithNumberType.ts, 1, 11)) +>NUMBER : Symbol(NUMBER, Decl(negateOperatorWithNumberType.ts, 1, 11)) // miss assignment operators -1; -NUMBER; ->NUMBER : Symbol(NUMBER, Decl(negateOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(negateOperatorWithNumberType.ts, 1, 11)) -NUMBER1; >NUMBER1 : Symbol(NUMBER1, Decl(negateOperatorWithNumberType.ts, 2, 3)) @@ -105,15 +105,15 @@ var ResultIsNumber11 = -(NUMBER - NUMBER); >a : Symbol(A.a, Decl(negateOperatorWithNumberType.ts, 6, 9)) -M.n; ->M.n : Symbol(M.n, Decl(negateOperatorWithNumberType.ts, 11, 14)) +>M.n : Symbol(M.n, Decl(negateOperatorWithNumberType.ts, 11, 22)) >M : Symbol(M, Decl(negateOperatorWithNumberType.ts, 9, 1)) ->n : Symbol(M.n, Decl(negateOperatorWithNumberType.ts, 11, 14)) +>n : Symbol(M.n, Decl(negateOperatorWithNumberType.ts, 11, 22)) -objA.a, M.n; >objA.a : Symbol(A.a, Decl(negateOperatorWithNumberType.ts, 6, 9)) >objA : Symbol(objA, Decl(negateOperatorWithNumberType.ts, 14, 3)) >a : Symbol(A.a, Decl(negateOperatorWithNumberType.ts, 6, 9)) ->M.n : Symbol(M.n, Decl(negateOperatorWithNumberType.ts, 11, 14)) +>M.n : Symbol(M.n, Decl(negateOperatorWithNumberType.ts, 11, 22)) >M : Symbol(M, Decl(negateOperatorWithNumberType.ts, 9, 1)) ->n : Symbol(M.n, Decl(negateOperatorWithNumberType.ts, 11, 14)) +>n : Symbol(M.n, Decl(negateOperatorWithNumberType.ts, 11, 22)) diff --git a/tests/baselines/reference/negateOperatorWithNumberType.types b/tests/baselines/reference/negateOperatorWithNumberType.types index a90192bed6104..c99ed4c70828f 100644 --- a/tests/baselines/reference/negateOperatorWithNumberType.types +++ b/tests/baselines/reference/negateOperatorWithNumberType.types @@ -2,7 +2,7 @@ === negateOperatorWithNumberType.ts === // - operator on number type -var NUMBER: number; +declare var NUMBER: number; >NUMBER : number > : ^^^^^^ @@ -26,7 +26,7 @@ class A { >A : A > : ^ - public a: number; + public a!: number; >a : number > : ^^^^^^ @@ -40,7 +40,7 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: number; + export declare var n: number; >n : number > : ^^^^^^ } diff --git a/tests/baselines/reference/negateOperatorWithStringType.errors.txt b/tests/baselines/reference/negateOperatorWithStringType.errors.txt index 6bb99cf65f89f..dc242c2b4867f 100644 --- a/tests/baselines/reference/negateOperatorWithStringType.errors.txt +++ b/tests/baselines/reference/negateOperatorWithStringType.errors.txt @@ -3,17 +3,17 @@ negateOperatorWithStringType.ts(40,1): error TS2695: Left side of comma operator ==== negateOperatorWithStringType.ts (1 errors) ==== // - operator on string type - var STRING: string; + declare var STRING: string; var STRING1: string[] = ["", "abc"]; function foo(): string { return "abc"; } class A { - public a: string; + public a!: string; static foo() { return ""; } } namespace M { - export var n: string; + export var n: string = ""; } var objA = new A(); diff --git a/tests/baselines/reference/negateOperatorWithStringType.js b/tests/baselines/reference/negateOperatorWithStringType.js index 4583e60272c36..079e955f1a479 100644 --- a/tests/baselines/reference/negateOperatorWithStringType.js +++ b/tests/baselines/reference/negateOperatorWithStringType.js @@ -2,17 +2,17 @@ //// [negateOperatorWithStringType.ts] // - operator on string type -var STRING: string; +declare var STRING: string; var STRING1: string[] = ["", "abc"]; function foo(): string { return "abc"; } class A { - public a: string; + public a!: string; static foo() { return ""; } } namespace M { - export var n: string; + export var n: string = ""; } var objA = new A(); @@ -43,8 +43,6 @@ var ResultIsNumber12 = -STRING.charAt(0); -objA.a,M.n; //// [negateOperatorWithStringType.js] -// - operator on string type -var STRING; var STRING1 = ["", "abc"]; function foo() { return "abc"; } var A = /** @class */ (function () { @@ -55,6 +53,7 @@ var A = /** @class */ (function () { }()); var M; (function (M) { + M.n = ""; })(M || (M = {})); var objA = new A(); // string type var diff --git a/tests/baselines/reference/negateOperatorWithStringType.symbols b/tests/baselines/reference/negateOperatorWithStringType.symbols index 048e88fea9851..5351c4c98ee9d 100644 --- a/tests/baselines/reference/negateOperatorWithStringType.symbols +++ b/tests/baselines/reference/negateOperatorWithStringType.symbols @@ -2,8 +2,8 @@ === negateOperatorWithStringType.ts === // - operator on string type -var STRING: string; ->STRING : Symbol(STRING, Decl(negateOperatorWithStringType.ts, 1, 3)) +declare var STRING: string; +>STRING : Symbol(STRING, Decl(negateOperatorWithStringType.ts, 1, 11)) var STRING1: string[] = ["", "abc"]; >STRING1 : Symbol(STRING1, Decl(negateOperatorWithStringType.ts, 2, 3)) @@ -14,16 +14,16 @@ function foo(): string { return "abc"; } class A { >A : Symbol(A, Decl(negateOperatorWithStringType.ts, 4, 40)) - public a: string; + public a!: string; >a : Symbol(A.a, Decl(negateOperatorWithStringType.ts, 6, 9)) static foo() { return ""; } ->foo : Symbol(A.foo, Decl(negateOperatorWithStringType.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(negateOperatorWithStringType.ts, 7, 22)) } namespace M { >M : Symbol(M, Decl(negateOperatorWithStringType.ts, 9, 1)) - export var n: string; + export var n: string = ""; >n : Symbol(n, Decl(negateOperatorWithStringType.ts, 11, 14)) } @@ -34,7 +34,7 @@ var objA = new A(); // string type var var ResultIsNumber1 = -STRING; >ResultIsNumber1 : Symbol(ResultIsNumber1, Decl(negateOperatorWithStringType.ts, 17, 3)) ->STRING : Symbol(STRING, Decl(negateOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(negateOperatorWithStringType.ts, 1, 11)) var ResultIsNumber2 = -STRING1; >ResultIsNumber2 : Symbol(ResultIsNumber2, Decl(negateOperatorWithStringType.ts, 18, 3)) @@ -79,25 +79,25 @@ var ResultIsNumber9 = -foo(); var ResultIsNumber10 = -A.foo(); >ResultIsNumber10 : Symbol(ResultIsNumber10, Decl(negateOperatorWithStringType.ts, 30, 3)) ->A.foo : Symbol(A.foo, Decl(negateOperatorWithStringType.ts, 7, 21)) +>A.foo : Symbol(A.foo, Decl(negateOperatorWithStringType.ts, 7, 22)) >A : Symbol(A, Decl(negateOperatorWithStringType.ts, 4, 40)) ->foo : Symbol(A.foo, Decl(negateOperatorWithStringType.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(negateOperatorWithStringType.ts, 7, 22)) var ResultIsNumber11 = -(STRING + STRING); >ResultIsNumber11 : Symbol(ResultIsNumber11, Decl(negateOperatorWithStringType.ts, 31, 3)) ->STRING : Symbol(STRING, Decl(negateOperatorWithStringType.ts, 1, 3)) ->STRING : Symbol(STRING, Decl(negateOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(negateOperatorWithStringType.ts, 1, 11)) +>STRING : Symbol(STRING, Decl(negateOperatorWithStringType.ts, 1, 11)) var ResultIsNumber12 = -STRING.charAt(0); >ResultIsNumber12 : Symbol(ResultIsNumber12, Decl(negateOperatorWithStringType.ts, 32, 3)) >STRING.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) ->STRING : Symbol(STRING, Decl(negateOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(negateOperatorWithStringType.ts, 1, 11)) >charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) // miss assignment operators -""; -STRING; ->STRING : Symbol(STRING, Decl(negateOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(negateOperatorWithStringType.ts, 1, 11)) -STRING1; >STRING1 : Symbol(STRING1, Decl(negateOperatorWithStringType.ts, 2, 3)) diff --git a/tests/baselines/reference/negateOperatorWithStringType.types b/tests/baselines/reference/negateOperatorWithStringType.types index ce90e74df7d5a..42617d78d2814 100644 --- a/tests/baselines/reference/negateOperatorWithStringType.types +++ b/tests/baselines/reference/negateOperatorWithStringType.types @@ -2,7 +2,7 @@ === negateOperatorWithStringType.ts === // - operator on string type -var STRING: string; +declare var STRING: string; >STRING : string > : ^^^^^^ @@ -26,7 +26,7 @@ class A { >A : A > : ^ - public a: string; + public a!: string; >a : string > : ^^^^^^ @@ -40,9 +40,11 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: string; + export var n: string = ""; >n : string > : ^^^^^^ +>"" : "" +> : ^^ } var objA = new A(); diff --git a/tests/baselines/reference/noCrashOnNoLib.errors.txt b/tests/baselines/reference/noCrashOnNoLib.errors.txt index 2faa74d47c86a..e8c7885ffadc3 100644 --- a/tests/baselines/reference/noCrashOnNoLib.errors.txt +++ b/tests/baselines/reference/noCrashOnNoLib.errors.txt @@ -18,7 +18,7 @@ error TS2318: Cannot find global type 'String'. !!! error TS2318: Cannot find global type 'String'. ==== noCrashOnNoLib.ts (0 errors) ==== export function f() { - let e: {}[]; + let e: {}[] = []; while (true) { e = [...(e || [])]; } diff --git a/tests/baselines/reference/noCrashOnNoLib.js b/tests/baselines/reference/noCrashOnNoLib.js index 252687ed30e2a..e54b0c8eaa3e5 100644 --- a/tests/baselines/reference/noCrashOnNoLib.js +++ b/tests/baselines/reference/noCrashOnNoLib.js @@ -2,7 +2,7 @@ //// [noCrashOnNoLib.ts] export function f() { - let e: {}[]; + let e: {}[] = []; while (true) { e = [...(e || [])]; } @@ -22,7 +22,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { Object.defineProperty(exports, "__esModule", { value: true }); exports.f = f; function f() { - var e; + var e = []; while (true) { e = __spreadArray([], (e || []), true); } diff --git a/tests/baselines/reference/noCrashOnNoLib.symbols b/tests/baselines/reference/noCrashOnNoLib.symbols index f251dc86504e5..d53ac420a0fb5 100644 --- a/tests/baselines/reference/noCrashOnNoLib.symbols +++ b/tests/baselines/reference/noCrashOnNoLib.symbols @@ -4,7 +4,7 @@ export function f() { >f : Symbol(f, Decl(noCrashOnNoLib.ts, 0, 0)) - let e: {}[]; + let e: {}[] = []; >e : Symbol(e, Decl(noCrashOnNoLib.ts, 1, 7)) while (true) { diff --git a/tests/baselines/reference/noCrashOnNoLib.types b/tests/baselines/reference/noCrashOnNoLib.types index 5c15b9ec1db81..9fde42af8149a 100644 --- a/tests/baselines/reference/noCrashOnNoLib.types +++ b/tests/baselines/reference/noCrashOnNoLib.types @@ -5,9 +5,11 @@ export function f() { >f : () => void > : ^^^^^^^^^^ - let e: {}[]; + let e: {}[] = []; >e : {} > : ^^ +>[] : {} +> : ^^ while (true) { >true : true diff --git a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.errors.txt b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.errors.txt index 3ca982dc24782..3b16db314f11b 100644 --- a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.errors.txt +++ b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.errors.txt @@ -170,7 +170,7 @@ noImplicitAnyStringIndexerOnObject.ts(99,1): error TS7052: Element implicitly ha !!! error TS7053: Property '[sym]' does not exist on type '{ a: number; }'. enum NumEnum { a, b } - let numEnumKey: NumEnum; + declare let numEnumKey: NumEnum; o[numEnumKey]; ~~~~~~~~~~~~~ !!! error TS7053: Element implicitly has an 'any' type because expression of type 'NumEnum' can't be used to index type '{ a: number; }'. @@ -178,7 +178,7 @@ noImplicitAnyStringIndexerOnObject.ts(99,1): error TS7052: Element implicitly ha enum StrEnum { a = "a", b = "b" } - let strEnumKey: StrEnum; + declare let strEnumKey: StrEnum; o[strEnumKey]; ~~~~~~~~~~~~~ !!! error TS7053: Element implicitly has an 'any' type because expression of type 'StrEnum' can't be used to index type '{ a: number; }'. diff --git a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.js b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.js index f9d7693136e82..c9430c443a1ea 100644 --- a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.js +++ b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.js @@ -75,12 +75,12 @@ declare const sym : unique symbol; o[sym]; enum NumEnum { a, b } -let numEnumKey: NumEnum; +declare let numEnumKey: NumEnum; o[numEnumKey]; enum StrEnum { a = "a", b = "b" } -let strEnumKey: StrEnum; +declare let strEnumKey: StrEnum; o[strEnumKey]; @@ -165,14 +165,12 @@ var NumEnum; NumEnum[NumEnum["a"] = 0] = "a"; NumEnum[NumEnum["b"] = 1] = "b"; })(NumEnum || (NumEnum = {})); -var numEnumKey; o[numEnumKey]; var StrEnum; (function (StrEnum) { StrEnum["a"] = "a"; StrEnum["b"] = "b"; })(StrEnum || (StrEnum = {})); -var strEnumKey; o[strEnumKey]; var rover = { bark: function () { } }; map[rover] = "Rover"; diff --git a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.symbols b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.symbols index 3e099cb984003..ca605eef8b14a 100644 --- a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.symbols +++ b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.symbols @@ -219,13 +219,13 @@ enum NumEnum { a, b } >a : Symbol(NumEnum.a, Decl(noImplicitAnyStringIndexerOnObject.ts, 73, 14)) >b : Symbol(NumEnum.b, Decl(noImplicitAnyStringIndexerOnObject.ts, 73, 17)) -let numEnumKey: NumEnum; ->numEnumKey : Symbol(numEnumKey, Decl(noImplicitAnyStringIndexerOnObject.ts, 74, 3)) +declare let numEnumKey: NumEnum; +>numEnumKey : Symbol(numEnumKey, Decl(noImplicitAnyStringIndexerOnObject.ts, 74, 11)) >NumEnum : Symbol(NumEnum, Decl(noImplicitAnyStringIndexerOnObject.ts, 71, 7)) o[numEnumKey]; >o : Symbol(o, Decl(noImplicitAnyStringIndexerOnObject.ts, 61, 5)) ->numEnumKey : Symbol(numEnumKey, Decl(noImplicitAnyStringIndexerOnObject.ts, 74, 3)) +>numEnumKey : Symbol(numEnumKey, Decl(noImplicitAnyStringIndexerOnObject.ts, 74, 11)) enum StrEnum { a = "a", b = "b" } @@ -233,13 +233,13 @@ enum StrEnum { a = "a", b = "b" } >a : Symbol(StrEnum.a, Decl(noImplicitAnyStringIndexerOnObject.ts, 78, 14)) >b : Symbol(StrEnum.b, Decl(noImplicitAnyStringIndexerOnObject.ts, 78, 23)) -let strEnumKey: StrEnum; ->strEnumKey : Symbol(strEnumKey, Decl(noImplicitAnyStringIndexerOnObject.ts, 79, 3)) +declare let strEnumKey: StrEnum; +>strEnumKey : Symbol(strEnumKey, Decl(noImplicitAnyStringIndexerOnObject.ts, 79, 11)) >StrEnum : Symbol(StrEnum, Decl(noImplicitAnyStringIndexerOnObject.ts, 75, 14)) o[strEnumKey]; >o : Symbol(o, Decl(noImplicitAnyStringIndexerOnObject.ts, 61, 5)) ->strEnumKey : Symbol(strEnumKey, Decl(noImplicitAnyStringIndexerOnObject.ts, 79, 3)) +>strEnumKey : Symbol(strEnumKey, Decl(noImplicitAnyStringIndexerOnObject.ts, 79, 11)) interface MyMap { diff --git a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.types b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.types index 534eb2113b5b5..97d325f4aea64 100644 --- a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.types +++ b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.types @@ -623,7 +623,7 @@ enum NumEnum { a, b } >b : NumEnum.b > : ^^^^^^^^^ -let numEnumKey: NumEnum; +declare let numEnumKey: NumEnum; >numEnumKey : NumEnum > : ^^^^^^^ @@ -648,7 +648,7 @@ enum StrEnum { a = "a", b = "b" } >"b" : "b" > : ^^^ -let strEnumKey: StrEnum; +declare let strEnumKey: StrEnum; >strEnumKey : StrEnum > : ^^^^^^^ diff --git a/tests/baselines/reference/nonPrimitiveAccessProperty.errors.txt b/tests/baselines/reference/nonPrimitiveAccessProperty.errors.txt index 6d6bf24fea1b5..69b90ec317801 100644 --- a/tests/baselines/reference/nonPrimitiveAccessProperty.errors.txt +++ b/tests/baselines/reference/nonPrimitiveAccessProperty.errors.txt @@ -3,7 +3,7 @@ nonPrimitiveAccessProperty.ts(5,7): error TS2339: Property 'destructuring' does ==== nonPrimitiveAccessProperty.ts (2 errors) ==== - var a: object; + var a: object = {}; a.toString(); a.nonExist(); // error ~~~~~~~~ diff --git a/tests/baselines/reference/nonPrimitiveAccessProperty.js b/tests/baselines/reference/nonPrimitiveAccessProperty.js index 67f01d0062b94..41d9b8873ad6e 100644 --- a/tests/baselines/reference/nonPrimitiveAccessProperty.js +++ b/tests/baselines/reference/nonPrimitiveAccessProperty.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/types/nonPrimitive/nonPrimitiveAccessProperty.ts] //// //// [nonPrimitiveAccessProperty.ts] -var a: object; +var a: object = {}; a.toString(); a.nonExist(); // error @@ -21,7 +21,7 @@ var __rest = (this && this.__rest) || function (s, e) { } return t; }; -var a; +var a = {}; a.toString(); a.nonExist(); // error var destructuring = a.destructuring; // error diff --git a/tests/baselines/reference/nonPrimitiveAccessProperty.symbols b/tests/baselines/reference/nonPrimitiveAccessProperty.symbols index 266033651b486..69a5e551895d4 100644 --- a/tests/baselines/reference/nonPrimitiveAccessProperty.symbols +++ b/tests/baselines/reference/nonPrimitiveAccessProperty.symbols @@ -1,7 +1,7 @@ //// [tests/cases/conformance/types/nonPrimitive/nonPrimitiveAccessProperty.ts] //// === nonPrimitiveAccessProperty.ts === -var a: object; +var a: object = {}; >a : Symbol(a, Decl(nonPrimitiveAccessProperty.ts, 0, 3)) a.toString(); diff --git a/tests/baselines/reference/nonPrimitiveAccessProperty.types b/tests/baselines/reference/nonPrimitiveAccessProperty.types index af249331e2a41..e2ed330c334f9 100644 --- a/tests/baselines/reference/nonPrimitiveAccessProperty.types +++ b/tests/baselines/reference/nonPrimitiveAccessProperty.types @@ -1,9 +1,11 @@ //// [tests/cases/conformance/types/nonPrimitive/nonPrimitiveAccessProperty.ts] //// === nonPrimitiveAccessProperty.ts === -var a: object; +var a: object = {}; >a : object > : ^^^^^^ +>{} : {} +> : ^^ a.toString(); >a.toString() : string diff --git a/tests/baselines/reference/nonPrimitiveAssignError.errors.txt b/tests/baselines/reference/nonPrimitiveAssignError.errors.txt index 5316da5b70e9f..338a00baf0dee 100644 --- a/tests/baselines/reference/nonPrimitiveAssignError.errors.txt +++ b/tests/baselines/reference/nonPrimitiveAssignError.errors.txt @@ -10,7 +10,7 @@ nonPrimitiveAssignError.ts(19,1): error TS2322: Type 'object' is not assignable ==== nonPrimitiveAssignError.ts (7 errors) ==== var x = {}; var y = {foo: "bar"}; - var a: object; + var a: object = {}; x = a; y = a; // expect error ~ diff --git a/tests/baselines/reference/nonPrimitiveAssignError.js b/tests/baselines/reference/nonPrimitiveAssignError.js index b7f3a6da076d4..a064c662de7cd 100644 --- a/tests/baselines/reference/nonPrimitiveAssignError.js +++ b/tests/baselines/reference/nonPrimitiveAssignError.js @@ -3,7 +3,7 @@ //// [nonPrimitiveAssignError.ts] var x = {}; var y = {foo: "bar"}; -var a: object; +var a: object = {}; x = a; y = a; // expect error a = x; @@ -33,7 +33,7 @@ a = strObj; // ok //// [nonPrimitiveAssignError.js] var x = {}; var y = { foo: "bar" }; -var a; +var a = {}; x = a; y = a; // expect error a = x; diff --git a/tests/baselines/reference/nonPrimitiveAssignError.symbols b/tests/baselines/reference/nonPrimitiveAssignError.symbols index afc0a3813d723..e14c7b596a26e 100644 --- a/tests/baselines/reference/nonPrimitiveAssignError.symbols +++ b/tests/baselines/reference/nonPrimitiveAssignError.symbols @@ -8,7 +8,7 @@ var y = {foo: "bar"}; >y : Symbol(y, Decl(nonPrimitiveAssignError.ts, 1, 3)) >foo : Symbol(foo, Decl(nonPrimitiveAssignError.ts, 1, 9)) -var a: object; +var a: object = {}; >a : Symbol(a, Decl(nonPrimitiveAssignError.ts, 2, 3)) x = a; diff --git a/tests/baselines/reference/nonPrimitiveAssignError.types b/tests/baselines/reference/nonPrimitiveAssignError.types index bd836112c0460..f99b0e92376bb 100644 --- a/tests/baselines/reference/nonPrimitiveAssignError.types +++ b/tests/baselines/reference/nonPrimitiveAssignError.types @@ -17,9 +17,11 @@ var y = {foo: "bar"}; >"bar" : "bar" > : ^^^^^ -var a: object; +var a: object = {}; >a : object > : ^^^^^^ +>{} : {} +> : ^^ x = a; >x = a : object diff --git a/tests/baselines/reference/nonPrimitiveInFunction.errors.txt b/tests/baselines/reference/nonPrimitiveInFunction.errors.txt index 687f15cb02794..d74d3ae676441 100644 --- a/tests/baselines/reference/nonPrimitiveInFunction.errors.txt +++ b/tests/baselines/reference/nonPrimitiveInFunction.errors.txt @@ -9,7 +9,7 @@ nonPrimitiveInFunction.ts(17,5): error TS2322: Type 'number' is not assignable t return {}; } - var nonPrimitive: object; + var nonPrimitive: object = {}; var primitive: boolean; takeObject(nonPrimitive); diff --git a/tests/baselines/reference/nonPrimitiveInFunction.js b/tests/baselines/reference/nonPrimitiveInFunction.js index 4b2960c25e0fe..03b1b872c200a 100644 --- a/tests/baselines/reference/nonPrimitiveInFunction.js +++ b/tests/baselines/reference/nonPrimitiveInFunction.js @@ -6,7 +6,7 @@ function returnObject(): object { return {}; } -var nonPrimitive: object; +var nonPrimitive: object = {}; var primitive: boolean; takeObject(nonPrimitive); @@ -26,7 +26,7 @@ function takeObject(o) { } function returnObject() { return {}; } -var nonPrimitive; +var nonPrimitive = {}; var primitive; takeObject(nonPrimitive); nonPrimitive = returnObject(); diff --git a/tests/baselines/reference/nonPrimitiveInFunction.symbols b/tests/baselines/reference/nonPrimitiveInFunction.symbols index eb0a7c80ab897..5b919256fad63 100644 --- a/tests/baselines/reference/nonPrimitiveInFunction.symbols +++ b/tests/baselines/reference/nonPrimitiveInFunction.symbols @@ -11,7 +11,7 @@ function returnObject(): object { return {}; } -var nonPrimitive: object; +var nonPrimitive: object = {}; >nonPrimitive : Symbol(nonPrimitive, Decl(nonPrimitiveInFunction.ts, 5, 3)) var primitive: boolean; diff --git a/tests/baselines/reference/nonPrimitiveInFunction.types b/tests/baselines/reference/nonPrimitiveInFunction.types index a11ac1b683c70..d26686bc76da1 100644 --- a/tests/baselines/reference/nonPrimitiveInFunction.types +++ b/tests/baselines/reference/nonPrimitiveInFunction.types @@ -16,9 +16,11 @@ function returnObject(): object { > : ^^ } -var nonPrimitive: object; +var nonPrimitive: object = {}; >nonPrimitive : object > : ^^^^^^ +>{} : {} +> : ^^ var primitive: boolean; >primitive : boolean diff --git a/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.errors.txt b/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.errors.txt deleted file mode 100644 index 67edeef6da26d..0000000000000 --- a/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.errors.txt +++ /dev/null @@ -1,14 +0,0 @@ -nonPrimitiveIndexingWithForInNoImplicitAny.ts(4,17): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}'. - No index signature with a parameter of type 'string' was found on type '{}'. - - -==== nonPrimitiveIndexingWithForInNoImplicitAny.ts (1 errors) ==== - var a: object; - - for (var key in a) { - var value = a[key]; // error - ~~~~~~ -!!! error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}'. -!!! error TS7053: No index signature with a parameter of type 'string' was found on type '{}'. - } - \ No newline at end of file diff --git a/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.js b/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.js index 45c34d2738bb0..b447629cec0b9 100644 --- a/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.js +++ b/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInNoImplicitAny.ts] //// //// [nonPrimitiveIndexingWithForInNoImplicitAny.ts] -var a: object; +var a: object = {}; for (var key in a) { var value = a[key]; // error @@ -9,7 +9,7 @@ for (var key in a) { //// [nonPrimitiveIndexingWithForInNoImplicitAny.js] -var a; +var a = {}; for (var key in a) { var value = a[key]; // error } diff --git a/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.symbols b/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.symbols index bcf59f021afb0..62223a0dd734a 100644 --- a/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.symbols +++ b/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.symbols @@ -1,7 +1,7 @@ //// [tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInNoImplicitAny.ts] //// === nonPrimitiveIndexingWithForInNoImplicitAny.ts === -var a: object; +var a: object = {}; >a : Symbol(a, Decl(nonPrimitiveIndexingWithForInNoImplicitAny.ts, 0, 3)) for (var key in a) { diff --git a/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.types b/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.types index 1e221259fd9cd..79c65771c083c 100644 --- a/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.types +++ b/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.types @@ -1,9 +1,11 @@ //// [tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInNoImplicitAny.ts] //// === nonPrimitiveIndexingWithForInNoImplicitAny.ts === -var a: object; +var a: object = {}; >a : object > : ^^^^^^ +>{} : {} +> : ^^ for (var key in a) { >key : string @@ -12,10 +14,8 @@ for (var key in a) { > : ^^^^^^ var value = a[key]; // error ->value : any -> : ^^^ ->a[key] : any -> : ^^^ +>value : error +>a[key] : error >a : object > : ^^^^^^ >key : string diff --git a/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.errors.txt b/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.errors.txt index 6f1c412623127..f8d146b3988b2 100644 --- a/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.errors.txt +++ b/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.errors.txt @@ -5,7 +5,7 @@ nonPrimitiveIndexingWithForInSupressError.ts(4,17): error TS7053: Element implic !!! error TS5102: Option 'suppressImplicitAnyIndexErrors' has been removed. Please remove it from your configuration. ==== nonPrimitiveIndexingWithForInSupressError.ts (1 errors) ==== - var a: object; + var a: object = {}; for (var key in a) { var value = a[key]; diff --git a/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.js b/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.js index d53785f99d3a5..fefa7350782da 100644 --- a/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.js +++ b/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInSupressError.ts] //// //// [nonPrimitiveIndexingWithForInSupressError.ts] -var a: object; +var a: object = {}; for (var key in a) { var value = a[key]; @@ -9,7 +9,7 @@ for (var key in a) { //// [nonPrimitiveIndexingWithForInSupressError.js] -var a; +var a = {}; for (var key in a) { var value = a[key]; } diff --git a/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.symbols b/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.symbols index 89c047c912111..69aac0a68c7ee 100644 --- a/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.symbols +++ b/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.symbols @@ -1,7 +1,7 @@ //// [tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInSupressError.ts] //// === nonPrimitiveIndexingWithForInSupressError.ts === -var a: object; +var a: object = {}; >a : Symbol(a, Decl(nonPrimitiveIndexingWithForInSupressError.ts, 0, 3)) for (var key in a) { diff --git a/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.types b/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.types index b44e9ea14a831..2531b50547d9c 100644 --- a/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.types +++ b/tests/baselines/reference/nonPrimitiveIndexingWithForInSupressError.types @@ -1,9 +1,11 @@ //// [tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInSupressError.ts] //// === nonPrimitiveIndexingWithForInSupressError.ts === -var a: object; +var a: object = {}; >a : object > : ^^^^^^ +>{} : {} +> : ^^ for (var key in a) { >key : string diff --git a/tests/baselines/reference/nonPrimitiveNarrow.errors.txt b/tests/baselines/reference/nonPrimitiveNarrow.errors.txt index f93b5b3d87435..a359b5b9f7e19 100644 --- a/tests/baselines/reference/nonPrimitiveNarrow.errors.txt +++ b/tests/baselines/reference/nonPrimitiveNarrow.errors.txt @@ -5,10 +5,10 @@ nonPrimitiveNarrow.ts(21,6): error TS2339: Property 'toString' does not exist on ==== nonPrimitiveNarrow.ts (3 errors) ==== class Narrow { - narrowed: boolean + narrowed!: boolean } - var a: object + declare var a: object; if (a instanceof Narrow) { a.narrowed; // ok @@ -23,7 +23,7 @@ nonPrimitiveNarrow.ts(21,6): error TS2339: Property 'toString' does not exist on !!! error TS2339: Property 'toFixed' does not exist on type 'never'. } - var b: object | null + declare var b: object | null; if (typeof b === 'object') { b.toString(); // ok, object | null diff --git a/tests/baselines/reference/nonPrimitiveNarrow.js b/tests/baselines/reference/nonPrimitiveNarrow.js index 1122f619476cd..92eaafaabd477 100644 --- a/tests/baselines/reference/nonPrimitiveNarrow.js +++ b/tests/baselines/reference/nonPrimitiveNarrow.js @@ -2,10 +2,10 @@ //// [nonPrimitiveNarrow.ts] class Narrow { - narrowed: boolean + narrowed!: boolean } -var a: object +declare var a: object; if (a instanceof Narrow) { a.narrowed; // ok @@ -16,7 +16,7 @@ if (typeof a === 'number') { a.toFixed(); // error, never } -var b: object | null +declare var b: object | null; if (typeof b === 'object') { b.toString(); // ok, object | null @@ -31,7 +31,6 @@ var Narrow = /** @class */ (function () { } return Narrow; }()); -var a; if (a instanceof Narrow) { a.narrowed; // ok a = 123; // error @@ -39,7 +38,6 @@ if (a instanceof Narrow) { if (typeof a === 'number') { a.toFixed(); // error, never } -var b; if (typeof b === 'object') { b.toString(); // ok, object | null } diff --git a/tests/baselines/reference/nonPrimitiveNarrow.symbols b/tests/baselines/reference/nonPrimitiveNarrow.symbols index 66cc2f79baa0e..1decf247d1414 100644 --- a/tests/baselines/reference/nonPrimitiveNarrow.symbols +++ b/tests/baselines/reference/nonPrimitiveNarrow.symbols @@ -4,46 +4,46 @@ class Narrow { >Narrow : Symbol(Narrow, Decl(nonPrimitiveNarrow.ts, 0, 0)) - narrowed: boolean + narrowed!: boolean >narrowed : Symbol(Narrow.narrowed, Decl(nonPrimitiveNarrow.ts, 0, 14)) } -var a: object ->a : Symbol(a, Decl(nonPrimitiveNarrow.ts, 4, 3)) +declare var a: object; +>a : Symbol(a, Decl(nonPrimitiveNarrow.ts, 4, 11)) if (a instanceof Narrow) { ->a : Symbol(a, Decl(nonPrimitiveNarrow.ts, 4, 3)) +>a : Symbol(a, Decl(nonPrimitiveNarrow.ts, 4, 11)) >Narrow : Symbol(Narrow, Decl(nonPrimitiveNarrow.ts, 0, 0)) a.narrowed; // ok >a.narrowed : Symbol(Narrow.narrowed, Decl(nonPrimitiveNarrow.ts, 0, 14)) ->a : Symbol(a, Decl(nonPrimitiveNarrow.ts, 4, 3)) +>a : Symbol(a, Decl(nonPrimitiveNarrow.ts, 4, 11)) >narrowed : Symbol(Narrow.narrowed, Decl(nonPrimitiveNarrow.ts, 0, 14)) a = 123; // error ->a : Symbol(a, Decl(nonPrimitiveNarrow.ts, 4, 3)) +>a : Symbol(a, Decl(nonPrimitiveNarrow.ts, 4, 11)) } if (typeof a === 'number') { ->a : Symbol(a, Decl(nonPrimitiveNarrow.ts, 4, 3)) +>a : Symbol(a, Decl(nonPrimitiveNarrow.ts, 4, 11)) a.toFixed(); // error, never ->a : Symbol(a, Decl(nonPrimitiveNarrow.ts, 4, 3)) +>a : Symbol(a, Decl(nonPrimitiveNarrow.ts, 4, 11)) } -var b: object | null ->b : Symbol(b, Decl(nonPrimitiveNarrow.ts, 15, 3)) +declare var b: object | null; +>b : Symbol(b, Decl(nonPrimitiveNarrow.ts, 15, 11)) if (typeof b === 'object') { ->b : Symbol(b, Decl(nonPrimitiveNarrow.ts, 15, 3)) +>b : Symbol(b, Decl(nonPrimitiveNarrow.ts, 15, 11)) b.toString(); // ok, object | null >b.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) ->b : Symbol(b, Decl(nonPrimitiveNarrow.ts, 15, 3)) +>b : Symbol(b, Decl(nonPrimitiveNarrow.ts, 15, 11)) >toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) } else { b.toString(); // error, never ->b : Symbol(b, Decl(nonPrimitiveNarrow.ts, 15, 3)) +>b : Symbol(b, Decl(nonPrimitiveNarrow.ts, 15, 11)) } diff --git a/tests/baselines/reference/nonPrimitiveNarrow.types b/tests/baselines/reference/nonPrimitiveNarrow.types index 72d16fcdccb77..f0af6ff8686de 100644 --- a/tests/baselines/reference/nonPrimitiveNarrow.types +++ b/tests/baselines/reference/nonPrimitiveNarrow.types @@ -5,12 +5,12 @@ class Narrow { >Narrow : Narrow > : ^^^^^^ - narrowed: boolean + narrowed!: boolean >narrowed : boolean > : ^^^^^^^ } -var a: object +declare var a: object; >a : object > : ^^^^^^ @@ -60,7 +60,7 @@ if (typeof a === 'number') { > : ^^^ } -var b: object | null +declare var b: object | null; >b : object > : ^^^^^^ diff --git a/tests/baselines/reference/numberVsBigIntOperations.errors.txt b/tests/baselines/reference/numberVsBigIntOperations.errors.txt index a4eb7e72d3a54..318d63967d7b0 100644 --- a/tests/baselines/reference/numberVsBigIntOperations.errors.txt +++ b/tests/baselines/reference/numberVsBigIntOperations.errors.txt @@ -60,13 +60,11 @@ numberVsBigIntOperations.ts(57,17): error TS2363: The right-hand side of an arit numberVsBigIntOperations.ts(60,1): error TS2365: Operator '+' cannot be applied to types 'number | bigint' and 'number | bigint'. numberVsBigIntOperations.ts(61,1): error TS2365: Operator '<<' cannot be applied to types 'number | bigint' and 'number | bigint'. numberVsBigIntOperations.ts(70,2): error TS2736: Operator '+' cannot be applied to type 'number | bigint'. -numberVsBigIntOperations.ts(86,7): error TS1155: 'const' declarations must be initialized. -numberVsBigIntOperations.ts(93,7): error TS1155: 'const' declarations must be initialized. numberVsBigIntOperations.ts(98,6): error TS2736: Operator '+' cannot be applied to type 'S'. numberVsBigIntOperations.ts(99,5): error TS2365: Operator '+' cannot be applied to types 'number' and 'S'. -==== numberVsBigIntOperations.ts (66 errors) ==== +==== numberVsBigIntOperations.ts (64 errors) ==== // Cannot mix bigints and numbers let bigInt = 1n, num = 2; bigInt = 1n; bigInt = 2; num = 1n; num = 2; @@ -243,7 +241,7 @@ numberVsBigIntOperations.ts(99,5): error TS2365: Operator '+' cannot be applied ~~~~~ !!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. num = ~"3"; num = -false; // should infer number - let bigIntOrNumber: bigint | number; + declare let bigIntOrNumber: bigint | number; bigIntOrNumber + bigIntOrNumber; // should error, result in any ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2365: Operator '+' cannot be applied to types 'number | bigint' and 'number | bigint'. @@ -276,18 +274,14 @@ numberVsBigIntOperations.ts(99,5): error TS2365: Operator '+' cannot be applied // Distinguishing numbers from bigints with typeof const isBigInt: (x: 0n | 1n) => bigint = (x: 0n | 1n) => x; const isNumber: (x: 0 | 1) => number = (x: 0 | 1) => x; - const zeroOrBigOne: 0 | 1n; - ~~~~~~~~~~~~ -!!! error TS1155: 'const' declarations must be initialized. + declare const zeroOrBigOne: 0 | 1n; if (typeof zeroOrBigOne === "bigint") isBigInt(zeroOrBigOne); else isNumber(zeroOrBigOne); // Distinguishing truthy from falsy const isOne = (x: 1 | 1n) => x; if (zeroOrBigOne) isOne(zeroOrBigOne); - const bigZeroOrOne: 0n | 1; - ~~~~~~~~~~~~ -!!! error TS1155: 'const' declarations must be initialized. + declare const bigZeroOrOne: 0n | 1; if (bigZeroOrOne) isOne(bigZeroOrOne); type NumberOrBigint = number | bigint; diff --git a/tests/baselines/reference/numberVsBigIntOperations.js b/tests/baselines/reference/numberVsBigIntOperations.js index c0bc2bcd77bcd..c895cd09b4549 100644 --- a/tests/baselines/reference/numberVsBigIntOperations.js +++ b/tests/baselines/reference/numberVsBigIntOperations.js @@ -59,7 +59,7 @@ result = bigInt !== num; num = "3" & 5; num = 2 ** false; // should error, but infer number "3" & 5n; 2n ** false; // should error, result in any num = ~"3"; num = -false; // should infer number -let bigIntOrNumber: bigint | number; +declare let bigIntOrNumber: bigint | number; bigIntOrNumber + bigIntOrNumber; // should error, result in any bigIntOrNumber << bigIntOrNumber; // should error, result in any if (typeof bigIntOrNumber === "bigint") { @@ -86,14 +86,14 @@ anyValue--; // should infer number // Distinguishing numbers from bigints with typeof const isBigInt: (x: 0n | 1n) => bigint = (x: 0n | 1n) => x; const isNumber: (x: 0 | 1) => number = (x: 0 | 1) => x; -const zeroOrBigOne: 0 | 1n; +declare const zeroOrBigOne: 0 | 1n; if (typeof zeroOrBigOne === "bigint") isBigInt(zeroOrBigOne); else isNumber(zeroOrBigOne); // Distinguishing truthy from falsy const isOne = (x: 1 | 1n) => x; if (zeroOrBigOne) isOne(zeroOrBigOne); -const bigZeroOrOne: 0n | 1; +declare const bigZeroOrOne: 0n | 1; if (bigZeroOrOne) isOne(bigZeroOrOne); type NumberOrBigint = number | bigint; @@ -243,7 +243,6 @@ num = 2 ** false; // should error, but infer number 2n ** false; // should error, result in any num = ~"3"; num = -false; // should infer number -let bigIntOrNumber; bigIntOrNumber + bigIntOrNumber; // should error, result in any bigIntOrNumber << bigIntOrNumber; // should error, result in any if (typeof bigIntOrNumber === "bigint") { @@ -269,7 +268,6 @@ anyValue--; // should infer number // Distinguishing numbers from bigints with typeof const isBigInt = (x) => x; const isNumber = (x) => x; -const zeroOrBigOne; if (typeof zeroOrBigOne === "bigint") isBigInt(zeroOrBigOne); else @@ -278,7 +276,6 @@ else const isOne = (x) => x; if (zeroOrBigOne) isOne(zeroOrBigOne); -const bigZeroOrOne; if (bigZeroOrOne) isOne(bigZeroOrOne); function getKey(key) { diff --git a/tests/baselines/reference/numberVsBigIntOperations.symbols b/tests/baselines/reference/numberVsBigIntOperations.symbols index 5c1fb6f07a64e..aeeb9b704d2ab 100644 --- a/tests/baselines/reference/numberVsBigIntOperations.symbols +++ b/tests/baselines/reference/numberVsBigIntOperations.symbols @@ -238,46 +238,46 @@ num = ~"3"; num = -false; // should infer number >num : Symbol(num, Decl(numberVsBigIntOperations.ts, 1, 16)) >num : Symbol(num, Decl(numberVsBigIntOperations.ts, 1, 16)) -let bigIntOrNumber: bigint | number; ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) +declare let bigIntOrNumber: bigint | number; +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) bigIntOrNumber + bigIntOrNumber; // should error, result in any ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) bigIntOrNumber << bigIntOrNumber; // should error, result in any ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) if (typeof bigIntOrNumber === "bigint") { ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) // Allowed, as type is narrowed to bigint bigIntOrNumber = bigIntOrNumber << bigIntOrNumber; ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) } if (typeof bigIntOrNumber === "number") { ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) // Allowed, as type is narrowed to number bigIntOrNumber = bigIntOrNumber << bigIntOrNumber; ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) } +bigIntOrNumber; // should error, result in number ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) ~bigIntOrNumber; // should infer number | bigint ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) bigIntOrNumber++; // should infer number | bigint ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) ++bigIntOrNumber; // should infer number | bigint ->bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 3)) +>bigIntOrNumber : Symbol(bigIntOrNumber, Decl(numberVsBigIntOperations.ts, 58, 11)) let anyValue: any; >anyValue : Symbol(anyValue, Decl(numberVsBigIntOperations.ts, 73, 3)) @@ -319,17 +319,17 @@ const isNumber: (x: 0 | 1) => number = (x: 0 | 1) => x; >x : Symbol(x, Decl(numberVsBigIntOperations.ts, 84, 40)) >x : Symbol(x, Decl(numberVsBigIntOperations.ts, 84, 40)) -const zeroOrBigOne: 0 | 1n; ->zeroOrBigOne : Symbol(zeroOrBigOne, Decl(numberVsBigIntOperations.ts, 85, 5)) +declare const zeroOrBigOne: 0 | 1n; +>zeroOrBigOne : Symbol(zeroOrBigOne, Decl(numberVsBigIntOperations.ts, 85, 13)) if (typeof zeroOrBigOne === "bigint") isBigInt(zeroOrBigOne); ->zeroOrBigOne : Symbol(zeroOrBigOne, Decl(numberVsBigIntOperations.ts, 85, 5)) +>zeroOrBigOne : Symbol(zeroOrBigOne, Decl(numberVsBigIntOperations.ts, 85, 13)) >isBigInt : Symbol(isBigInt, Decl(numberVsBigIntOperations.ts, 83, 5)) ->zeroOrBigOne : Symbol(zeroOrBigOne, Decl(numberVsBigIntOperations.ts, 85, 5)) +>zeroOrBigOne : Symbol(zeroOrBigOne, Decl(numberVsBigIntOperations.ts, 85, 13)) else isNumber(zeroOrBigOne); >isNumber : Symbol(isNumber, Decl(numberVsBigIntOperations.ts, 84, 5)) ->zeroOrBigOne : Symbol(zeroOrBigOne, Decl(numberVsBigIntOperations.ts, 85, 5)) +>zeroOrBigOne : Symbol(zeroOrBigOne, Decl(numberVsBigIntOperations.ts, 85, 13)) // Distinguishing truthy from falsy const isOne = (x: 1 | 1n) => x; @@ -338,17 +338,17 @@ const isOne = (x: 1 | 1n) => x; >x : Symbol(x, Decl(numberVsBigIntOperations.ts, 90, 15)) if (zeroOrBigOne) isOne(zeroOrBigOne); ->zeroOrBigOne : Symbol(zeroOrBigOne, Decl(numberVsBigIntOperations.ts, 85, 5)) +>zeroOrBigOne : Symbol(zeroOrBigOne, Decl(numberVsBigIntOperations.ts, 85, 13)) >isOne : Symbol(isOne, Decl(numberVsBigIntOperations.ts, 90, 5)) ->zeroOrBigOne : Symbol(zeroOrBigOne, Decl(numberVsBigIntOperations.ts, 85, 5)) +>zeroOrBigOne : Symbol(zeroOrBigOne, Decl(numberVsBigIntOperations.ts, 85, 13)) -const bigZeroOrOne: 0n | 1; ->bigZeroOrOne : Symbol(bigZeroOrOne, Decl(numberVsBigIntOperations.ts, 92, 5)) +declare const bigZeroOrOne: 0n | 1; +>bigZeroOrOne : Symbol(bigZeroOrOne, Decl(numberVsBigIntOperations.ts, 92, 13)) if (bigZeroOrOne) isOne(bigZeroOrOne); ->bigZeroOrOne : Symbol(bigZeroOrOne, Decl(numberVsBigIntOperations.ts, 92, 5)) +>bigZeroOrOne : Symbol(bigZeroOrOne, Decl(numberVsBigIntOperations.ts, 92, 13)) >isOne : Symbol(isOne, Decl(numberVsBigIntOperations.ts, 90, 5)) ->bigZeroOrOne : Symbol(bigZeroOrOne, Decl(numberVsBigIntOperations.ts, 92, 5)) +>bigZeroOrOne : Symbol(bigZeroOrOne, Decl(numberVsBigIntOperations.ts, 92, 13)) type NumberOrBigint = number | bigint; >NumberOrBigint : Symbol(NumberOrBigint, Decl(numberVsBigIntOperations.ts, 93, 38)) diff --git a/tests/baselines/reference/numberVsBigIntOperations.types b/tests/baselines/reference/numberVsBigIntOperations.types index 1d54ea840370a..4a5533b02b799 100644 --- a/tests/baselines/reference/numberVsBigIntOperations.types +++ b/tests/baselines/reference/numberVsBigIntOperations.types @@ -1070,7 +1070,7 @@ num = ~"3"; num = -false; // should infer number >false : false > : ^^^^^ -let bigIntOrNumber: bigint | number; +declare let bigIntOrNumber: bigint | number; >bigIntOrNumber : number | bigint > : ^^^^^^^^^^^^^^^ @@ -1237,7 +1237,7 @@ const isNumber: (x: 0 | 1) => number = (x: 0 | 1) => x; >x : 0 | 1 > : ^^^^^ -const zeroOrBigOne: 0 | 1n; +declare const zeroOrBigOne: 0 | 1n; >zeroOrBigOne : 0 | 1n > : ^^^^^^ @@ -1286,7 +1286,7 @@ if (zeroOrBigOne) isOne(zeroOrBigOne); >zeroOrBigOne : 1n > : ^^ -const bigZeroOrOne: 0n | 1; +declare const bigZeroOrOne: 0n | 1; >bigZeroOrOne : 0n | 1 > : ^^^^^^ diff --git a/tests/baselines/reference/numericIndexExpressions.errors.txt b/tests/baselines/reference/numericIndexExpressions.errors.txt index 57ca735d19a85..1e88a632eb655 100644 --- a/tests/baselines/reference/numericIndexExpressions.errors.txt +++ b/tests/baselines/reference/numericIndexExpressions.errors.txt @@ -13,7 +13,7 @@ numericIndexExpressions.ts(15,1): error TS2322: Type 'number' is not assignable } - var x: Numbers1; + declare var x: Numbers1; x[1] = 4; // error ~~~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. @@ -21,7 +21,7 @@ numericIndexExpressions.ts(15,1): error TS2322: Type 'number' is not assignable ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. - var y: Strings1; + declare var y: Strings1; y['1'] = 4; // should be error ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. diff --git a/tests/baselines/reference/numericIndexExpressions.js b/tests/baselines/reference/numericIndexExpressions.js index 11b0e1c43f6da..2b4fbad5ceece 100644 --- a/tests/baselines/reference/numericIndexExpressions.js +++ b/tests/baselines/reference/numericIndexExpressions.js @@ -9,18 +9,16 @@ interface Strings1 { } -var x: Numbers1; +declare var x: Numbers1; x[1] = 4; // error x['1'] = 4; // error -var y: Strings1; +declare var y: Strings1; y['1'] = 4; // should be error y[1] = 4; // should be error //// [numericIndexExpressions.js] -var x; x[1] = 4; // error x['1'] = 4; // error -var y; y['1'] = 4; // should be error y[1] = 4; // should be error diff --git a/tests/baselines/reference/numericIndexExpressions.symbols b/tests/baselines/reference/numericIndexExpressions.symbols index 616a542809ca9..f9301930dc3f4 100644 --- a/tests/baselines/reference/numericIndexExpressions.symbols +++ b/tests/baselines/reference/numericIndexExpressions.symbols @@ -15,27 +15,27 @@ interface Strings1 { } -var x: Numbers1; ->x : Symbol(x, Decl(numericIndexExpressions.ts, 8, 3)) +declare var x: Numbers1; +>x : Symbol(x, Decl(numericIndexExpressions.ts, 8, 11)) >Numbers1 : Symbol(Numbers1, Decl(numericIndexExpressions.ts, 0, 0)) x[1] = 4; // error ->x : Symbol(x, Decl(numericIndexExpressions.ts, 8, 3)) +>x : Symbol(x, Decl(numericIndexExpressions.ts, 8, 11)) >1 : Symbol(Numbers1[1], Decl(numericIndexExpressions.ts, 0, 20)) x['1'] = 4; // error ->x : Symbol(x, Decl(numericIndexExpressions.ts, 8, 3)) +>x : Symbol(x, Decl(numericIndexExpressions.ts, 8, 11)) >'1' : Symbol(Numbers1[1], Decl(numericIndexExpressions.ts, 0, 20)) -var y: Strings1; ->y : Symbol(y, Decl(numericIndexExpressions.ts, 12, 3)) +declare var y: Strings1; +>y : Symbol(y, Decl(numericIndexExpressions.ts, 12, 11)) >Strings1 : Symbol(Strings1, Decl(numericIndexExpressions.ts, 2, 1)) y['1'] = 4; // should be error ->y : Symbol(y, Decl(numericIndexExpressions.ts, 12, 3)) +>y : Symbol(y, Decl(numericIndexExpressions.ts, 12, 11)) >'1' : Symbol(Strings1['1'], Decl(numericIndexExpressions.ts, 3, 20)) y[1] = 4; // should be error ->y : Symbol(y, Decl(numericIndexExpressions.ts, 12, 3)) +>y : Symbol(y, Decl(numericIndexExpressions.ts, 12, 11)) >1 : Symbol(Strings1['1'], Decl(numericIndexExpressions.ts, 3, 20)) diff --git a/tests/baselines/reference/numericIndexExpressions.types b/tests/baselines/reference/numericIndexExpressions.types index d92366b24ec2f..a88695d800398 100644 --- a/tests/baselines/reference/numericIndexExpressions.types +++ b/tests/baselines/reference/numericIndexExpressions.types @@ -13,7 +13,7 @@ interface Strings1 { } -var x: Numbers1; +declare var x: Numbers1; >x : Numbers1 > : ^^^^^^^^ @@ -41,7 +41,7 @@ x['1'] = 4; // error >4 : 4 > : ^ -var y: Strings1; +declare var y: Strings1; >y : Strings1 > : ^^^^^^^^ diff --git a/tests/baselines/reference/numericIndexerConstraint1.errors.txt b/tests/baselines/reference/numericIndexerConstraint1.errors.txt index ee8e910c2fb4f..4a2fda6b8320a 100644 --- a/tests/baselines/reference/numericIndexerConstraint1.errors.txt +++ b/tests/baselines/reference/numericIndexerConstraint1.errors.txt @@ -3,7 +3,7 @@ numericIndexerConstraint1.ts(3,5): error TS2322: Type 'number' is not assignable ==== numericIndexerConstraint1.ts (1 errors) ==== class Foo { foo() { } } - var x: { [index: string]: number; }; + declare var x: { [index: string]: number; }; var result: Foo = x["one"]; // error ~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'Foo'. diff --git a/tests/baselines/reference/numericIndexerConstraint1.js b/tests/baselines/reference/numericIndexerConstraint1.js index 1e009d0fc6150..bde751800f53a 100644 --- a/tests/baselines/reference/numericIndexerConstraint1.js +++ b/tests/baselines/reference/numericIndexerConstraint1.js @@ -2,7 +2,7 @@ //// [numericIndexerConstraint1.ts] class Foo { foo() { } } -var x: { [index: string]: number; }; +declare var x: { [index: string]: number; }; var result: Foo = x["one"]; // error @@ -13,5 +13,4 @@ var Foo = /** @class */ (function () { Foo.prototype.foo = function () { }; return Foo; }()); -var x; var result = x["one"]; // error diff --git a/tests/baselines/reference/numericIndexerConstraint1.symbols b/tests/baselines/reference/numericIndexerConstraint1.symbols index 8e95e2172bc4a..3324af8acdecb 100644 --- a/tests/baselines/reference/numericIndexerConstraint1.symbols +++ b/tests/baselines/reference/numericIndexerConstraint1.symbols @@ -5,12 +5,12 @@ class Foo { foo() { } } >Foo : Symbol(Foo, Decl(numericIndexerConstraint1.ts, 0, 0)) >foo : Symbol(Foo.foo, Decl(numericIndexerConstraint1.ts, 0, 11)) -var x: { [index: string]: number; }; ->x : Symbol(x, Decl(numericIndexerConstraint1.ts, 1, 3)) ->index : Symbol(index, Decl(numericIndexerConstraint1.ts, 1, 10)) +declare var x: { [index: string]: number; }; +>x : Symbol(x, Decl(numericIndexerConstraint1.ts, 1, 11)) +>index : Symbol(index, Decl(numericIndexerConstraint1.ts, 1, 18)) var result: Foo = x["one"]; // error >result : Symbol(result, Decl(numericIndexerConstraint1.ts, 2, 3)) >Foo : Symbol(Foo, Decl(numericIndexerConstraint1.ts, 0, 0)) ->x : Symbol(x, Decl(numericIndexerConstraint1.ts, 1, 3)) +>x : Symbol(x, Decl(numericIndexerConstraint1.ts, 1, 11)) diff --git a/tests/baselines/reference/numericIndexerConstraint1.types b/tests/baselines/reference/numericIndexerConstraint1.types index 7d288c77529dc..cf5c90b7f0af7 100644 --- a/tests/baselines/reference/numericIndexerConstraint1.types +++ b/tests/baselines/reference/numericIndexerConstraint1.types @@ -7,7 +7,7 @@ class Foo { foo() { } } >foo : () => void > : ^^^^^^^^^^ -var x: { [index: string]: number; }; +declare var x: { [index: string]: number; }; >x : { [index: string]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >index : string diff --git a/tests/baselines/reference/numericIndexerConstraint2.errors.txt b/tests/baselines/reference/numericIndexerConstraint2.errors.txt index ab490864e3611..fe4593f5dae81 100644 --- a/tests/baselines/reference/numericIndexerConstraint2.errors.txt +++ b/tests/baselines/reference/numericIndexerConstraint2.errors.txt @@ -5,8 +5,8 @@ numericIndexerConstraint2.ts(4,1): error TS2322: Type '{ one: number; }' is not ==== numericIndexerConstraint2.ts (1 errors) ==== class Foo { foo() { } } - var x: { [index: string]: Foo; }; - var a: { one: number; }; + declare var x: { [index: string]: Foo; }; + var a: { one: number; } = { one: 1 }; x = a; ~ !!! error TS2322: Type '{ one: number; }' is not assignable to type '{ [index: string]: Foo; }'. diff --git a/tests/baselines/reference/numericIndexerConstraint2.js b/tests/baselines/reference/numericIndexerConstraint2.js index f9f4d10b52be2..8cb4493468d87 100644 --- a/tests/baselines/reference/numericIndexerConstraint2.js +++ b/tests/baselines/reference/numericIndexerConstraint2.js @@ -2,8 +2,8 @@ //// [numericIndexerConstraint2.ts] class Foo { foo() { } } -var x: { [index: string]: Foo; }; -var a: { one: number; }; +declare var x: { [index: string]: Foo; }; +var a: { one: number; } = { one: 1 }; x = a; //// [numericIndexerConstraint2.js] @@ -13,6 +13,5 @@ var Foo = /** @class */ (function () { Foo.prototype.foo = function () { }; return Foo; }()); -var x; -var a; +var a = { one: 1 }; x = a; diff --git a/tests/baselines/reference/numericIndexerConstraint2.symbols b/tests/baselines/reference/numericIndexerConstraint2.symbols index 65cc94e02e8c2..61cf8f8992e24 100644 --- a/tests/baselines/reference/numericIndexerConstraint2.symbols +++ b/tests/baselines/reference/numericIndexerConstraint2.symbols @@ -5,16 +5,17 @@ class Foo { foo() { } } >Foo : Symbol(Foo, Decl(numericIndexerConstraint2.ts, 0, 0)) >foo : Symbol(Foo.foo, Decl(numericIndexerConstraint2.ts, 0, 11)) -var x: { [index: string]: Foo; }; ->x : Symbol(x, Decl(numericIndexerConstraint2.ts, 1, 3)) ->index : Symbol(index, Decl(numericIndexerConstraint2.ts, 1, 10)) +declare var x: { [index: string]: Foo; }; +>x : Symbol(x, Decl(numericIndexerConstraint2.ts, 1, 11)) +>index : Symbol(index, Decl(numericIndexerConstraint2.ts, 1, 18)) >Foo : Symbol(Foo, Decl(numericIndexerConstraint2.ts, 0, 0)) -var a: { one: number; }; +var a: { one: number; } = { one: 1 }; >a : Symbol(a, Decl(numericIndexerConstraint2.ts, 2, 3)) >one : Symbol(one, Decl(numericIndexerConstraint2.ts, 2, 8)) +>one : Symbol(one, Decl(numericIndexerConstraint2.ts, 2, 27)) x = a; ->x : Symbol(x, Decl(numericIndexerConstraint2.ts, 1, 3)) +>x : Symbol(x, Decl(numericIndexerConstraint2.ts, 1, 11)) >a : Symbol(a, Decl(numericIndexerConstraint2.ts, 2, 3)) diff --git a/tests/baselines/reference/numericIndexerConstraint2.types b/tests/baselines/reference/numericIndexerConstraint2.types index dc2f51b285e19..ee44f5bfeac5e 100644 --- a/tests/baselines/reference/numericIndexerConstraint2.types +++ b/tests/baselines/reference/numericIndexerConstraint2.types @@ -7,17 +7,23 @@ class Foo { foo() { } } >foo : () => void > : ^^^^^^^^^^ -var x: { [index: string]: Foo; }; +declare var x: { [index: string]: Foo; }; >x : { [index: string]: Foo; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >index : string > : ^^^^^^ -var a: { one: number; }; +var a: { one: number; } = { one: 1 }; >a : { one: number; } > : ^^^^^^^ ^^^ >one : number > : ^^^^^^ +>{ one: 1 } : { one: number; } +> : ^^^^^^^^^^^^^^^^ +>one : number +> : ^^^^^^ +>1 : 1 +> : ^ x = a; >x = a : { one: number; } diff --git a/tests/baselines/reference/numericIndexerTyping1.errors.txt b/tests/baselines/reference/numericIndexerTyping1.errors.txt index e7f2a9cd9c443..d2268750fc530 100644 --- a/tests/baselines/reference/numericIndexerTyping1.errors.txt +++ b/tests/baselines/reference/numericIndexerTyping1.errors.txt @@ -10,12 +10,12 @@ numericIndexerTyping1.ts(12,5): error TS2322: Type 'Date' is not assignable to t interface I2 extends I { } - var i: I; + declare var i: I; var r: string = i[1]; // error: numeric indexer returns the type of the string indexer ~ !!! error TS2322: Type 'Date' is not assignable to type 'string'. - var i2: I2; + declare var i2: I2; var r2: string = i2[1]; // error: numeric indexer returns the type of the string indexer ~~ !!! error TS2322: Type 'Date' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/numericIndexerTyping1.js b/tests/baselines/reference/numericIndexerTyping1.js index 4a3905b042c53..57289320bde72 100644 --- a/tests/baselines/reference/numericIndexerTyping1.js +++ b/tests/baselines/reference/numericIndexerTyping1.js @@ -8,14 +8,12 @@ interface I { interface I2 extends I { } -var i: I; +declare var i: I; var r: string = i[1]; // error: numeric indexer returns the type of the string indexer -var i2: I2; +declare var i2: I2; var r2: string = i2[1]; // error: numeric indexer returns the type of the string indexer //// [numericIndexerTyping1.js] -var i; var r = i[1]; // error: numeric indexer returns the type of the string indexer -var i2; var r2 = i2[1]; // error: numeric indexer returns the type of the string indexer diff --git a/tests/baselines/reference/numericIndexerTyping1.symbols b/tests/baselines/reference/numericIndexerTyping1.symbols index 0a673ac898454..f1d2762b3b721 100644 --- a/tests/baselines/reference/numericIndexerTyping1.symbols +++ b/tests/baselines/reference/numericIndexerTyping1.symbols @@ -14,19 +14,19 @@ interface I2 extends I { >I : Symbol(I, Decl(numericIndexerTyping1.ts, 0, 0)) } -var i: I; ->i : Symbol(i, Decl(numericIndexerTyping1.ts, 7, 3)) +declare var i: I; +>i : Symbol(i, Decl(numericIndexerTyping1.ts, 7, 11)) >I : Symbol(I, Decl(numericIndexerTyping1.ts, 0, 0)) var r: string = i[1]; // error: numeric indexer returns the type of the string indexer >r : Symbol(r, Decl(numericIndexerTyping1.ts, 8, 3)) ->i : Symbol(i, Decl(numericIndexerTyping1.ts, 7, 3)) +>i : Symbol(i, Decl(numericIndexerTyping1.ts, 7, 11)) -var i2: I2; ->i2 : Symbol(i2, Decl(numericIndexerTyping1.ts, 10, 3)) +declare var i2: I2; +>i2 : Symbol(i2, Decl(numericIndexerTyping1.ts, 10, 11)) >I2 : Symbol(I2, Decl(numericIndexerTyping1.ts, 2, 1)) var r2: string = i2[1]; // error: numeric indexer returns the type of the string indexer >r2 : Symbol(r2, Decl(numericIndexerTyping1.ts, 11, 3)) ->i2 : Symbol(i2, Decl(numericIndexerTyping1.ts, 10, 3)) +>i2 : Symbol(i2, Decl(numericIndexerTyping1.ts, 10, 11)) diff --git a/tests/baselines/reference/numericIndexerTyping1.types b/tests/baselines/reference/numericIndexerTyping1.types index 2d5897fb5bc9c..64bf6adb2578c 100644 --- a/tests/baselines/reference/numericIndexerTyping1.types +++ b/tests/baselines/reference/numericIndexerTyping1.types @@ -10,7 +10,7 @@ interface I { interface I2 extends I { } -var i: I; +declare var i: I; >i : I > : ^ @@ -24,7 +24,7 @@ var r: string = i[1]; // error: numeric indexer returns the type of the string i >1 : 1 > : ^ -var i2: I2; +declare var i2: I2; >i2 : I2 > : ^^ diff --git a/tests/baselines/reference/numericIndexerTyping2.errors.txt b/tests/baselines/reference/numericIndexerTyping2.errors.txt index 336f812631cfc..109707bd81ed2 100644 --- a/tests/baselines/reference/numericIndexerTyping2.errors.txt +++ b/tests/baselines/reference/numericIndexerTyping2.errors.txt @@ -10,12 +10,12 @@ numericIndexerTyping2.ts(12,5): error TS2322: Type 'Date' is not assignable to t class I2 extends I { } - var i: I; + declare var i: I; var r: string = i[1]; // error: numeric indexer returns the type of the string indexer ~ !!! error TS2322: Type 'Date' is not assignable to type 'string'. - var i2: I2; + declare var i2: I2; var r2: string = i2[1]; // error: numeric indexer returns the type of the string indexere ~~ !!! error TS2322: Type 'Date' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/numericIndexerTyping2.js b/tests/baselines/reference/numericIndexerTyping2.js index 0506bdb6e0270..ab52dc3c45cbb 100644 --- a/tests/baselines/reference/numericIndexerTyping2.js +++ b/tests/baselines/reference/numericIndexerTyping2.js @@ -8,10 +8,10 @@ class I { class I2 extends I { } -var i: I; +declare var i: I; var r: string = i[1]; // error: numeric indexer returns the type of the string indexer -var i2: I2; +declare var i2: I2; var r2: string = i2[1]; // error: numeric indexer returns the type of the string indexere //// [numericIndexerTyping2.js] @@ -42,7 +42,5 @@ var I2 = /** @class */ (function (_super) { } return I2; }(I)); -var i; var r = i[1]; // error: numeric indexer returns the type of the string indexer -var i2; var r2 = i2[1]; // error: numeric indexer returns the type of the string indexere diff --git a/tests/baselines/reference/numericIndexerTyping2.symbols b/tests/baselines/reference/numericIndexerTyping2.symbols index baea3b88223f7..3e79cfbe794ef 100644 --- a/tests/baselines/reference/numericIndexerTyping2.symbols +++ b/tests/baselines/reference/numericIndexerTyping2.symbols @@ -14,19 +14,19 @@ class I2 extends I { >I : Symbol(I, Decl(numericIndexerTyping2.ts, 0, 0)) } -var i: I; ->i : Symbol(i, Decl(numericIndexerTyping2.ts, 7, 3)) +declare var i: I; +>i : Symbol(i, Decl(numericIndexerTyping2.ts, 7, 11)) >I : Symbol(I, Decl(numericIndexerTyping2.ts, 0, 0)) var r: string = i[1]; // error: numeric indexer returns the type of the string indexer >r : Symbol(r, Decl(numericIndexerTyping2.ts, 8, 3)) ->i : Symbol(i, Decl(numericIndexerTyping2.ts, 7, 3)) +>i : Symbol(i, Decl(numericIndexerTyping2.ts, 7, 11)) -var i2: I2; ->i2 : Symbol(i2, Decl(numericIndexerTyping2.ts, 10, 3)) +declare var i2: I2; +>i2 : Symbol(i2, Decl(numericIndexerTyping2.ts, 10, 11)) >I2 : Symbol(I2, Decl(numericIndexerTyping2.ts, 2, 1)) var r2: string = i2[1]; // error: numeric indexer returns the type of the string indexere >r2 : Symbol(r2, Decl(numericIndexerTyping2.ts, 11, 3)) ->i2 : Symbol(i2, Decl(numericIndexerTyping2.ts, 10, 3)) +>i2 : Symbol(i2, Decl(numericIndexerTyping2.ts, 10, 11)) diff --git a/tests/baselines/reference/numericIndexerTyping2.types b/tests/baselines/reference/numericIndexerTyping2.types index f08cc0205c7ed..408eaad1b0db8 100644 --- a/tests/baselines/reference/numericIndexerTyping2.types +++ b/tests/baselines/reference/numericIndexerTyping2.types @@ -17,7 +17,7 @@ class I2 extends I { > : ^ } -var i: I; +declare var i: I; >i : I > : ^ @@ -31,7 +31,7 @@ var r: string = i[1]; // error: numeric indexer returns the type of the string i >1 : 1 > : ^ -var i2: I2; +declare var i2: I2; >i2 : I2 > : ^^ diff --git a/tests/baselines/reference/objectLiteralIndexerErrors.errors.txt b/tests/baselines/reference/objectLiteralIndexerErrors.errors.txt index c819749e009b0..1a877b12c15ab 100644 --- a/tests/baselines/reference/objectLiteralIndexerErrors.errors.txt +++ b/tests/baselines/reference/objectLiteralIndexerErrors.errors.txt @@ -11,8 +11,8 @@ objectLiteralIndexerErrors.ts(14,14): error TS2741: Property 'y' is missing in t y: string; } - var a: A; - var b: B; + declare var a: A; + declare var b: B; var c: any; var o1: { [s: string]: A;[n: number]: B; } = { x: b, 0: a }; // both indexers are A diff --git a/tests/baselines/reference/objectLiteralIndexerErrors.js b/tests/baselines/reference/objectLiteralIndexerErrors.js index 17351750a5ab6..8db724939e5f2 100644 --- a/tests/baselines/reference/objectLiteralIndexerErrors.js +++ b/tests/baselines/reference/objectLiteralIndexerErrors.js @@ -9,16 +9,14 @@ interface B extends A { y: string; } -var a: A; -var b: B; +declare var a: A; +declare var b: B; var c: any; var o1: { [s: string]: A;[n: number]: B; } = { x: b, 0: a }; // both indexers are A o1 = { x: c, 0: a }; // string indexer is any, number indexer is A //// [objectLiteralIndexerErrors.js] -var a; -var b; var c; var o1 = { x: b, 0: a }; // both indexers are A o1 = { x: c, 0: a }; // string indexer is any, number indexer is A diff --git a/tests/baselines/reference/objectLiteralIndexerErrors.symbols b/tests/baselines/reference/objectLiteralIndexerErrors.symbols index 62399d481a0a0..f58e9e091b51b 100644 --- a/tests/baselines/reference/objectLiteralIndexerErrors.symbols +++ b/tests/baselines/reference/objectLiteralIndexerErrors.symbols @@ -16,12 +16,12 @@ interface B extends A { >y : Symbol(B.y, Decl(objectLiteralIndexerErrors.ts, 4, 23)) } -var a: A; ->a : Symbol(a, Decl(objectLiteralIndexerErrors.ts, 8, 3)) +declare var a: A; +>a : Symbol(a, Decl(objectLiteralIndexerErrors.ts, 8, 11)) >A : Symbol(A, Decl(objectLiteralIndexerErrors.ts, 0, 0)) -var b: B; ->b : Symbol(b, Decl(objectLiteralIndexerErrors.ts, 9, 3)) +declare var b: B; +>b : Symbol(b, Decl(objectLiteralIndexerErrors.ts, 9, 11)) >B : Symbol(B, Decl(objectLiteralIndexerErrors.ts, 2, 1)) var c: any; @@ -34,14 +34,14 @@ var o1: { [s: string]: A;[n: number]: B; } = { x: b, 0: a }; // both indexers ar >n : Symbol(n, Decl(objectLiteralIndexerErrors.ts, 12, 26)) >B : Symbol(B, Decl(objectLiteralIndexerErrors.ts, 2, 1)) >x : Symbol(x, Decl(objectLiteralIndexerErrors.ts, 12, 46)) ->b : Symbol(b, Decl(objectLiteralIndexerErrors.ts, 9, 3)) +>b : Symbol(b, Decl(objectLiteralIndexerErrors.ts, 9, 11)) >0 : Symbol(0, Decl(objectLiteralIndexerErrors.ts, 12, 52)) ->a : Symbol(a, Decl(objectLiteralIndexerErrors.ts, 8, 3)) +>a : Symbol(a, Decl(objectLiteralIndexerErrors.ts, 8, 11)) o1 = { x: c, 0: a }; // string indexer is any, number indexer is A >o1 : Symbol(o1, Decl(objectLiteralIndexerErrors.ts, 12, 3)) >x : Symbol(x, Decl(objectLiteralIndexerErrors.ts, 13, 6)) >c : Symbol(c, Decl(objectLiteralIndexerErrors.ts, 10, 3)) >0 : Symbol(0, Decl(objectLiteralIndexerErrors.ts, 13, 12)) ->a : Symbol(a, Decl(objectLiteralIndexerErrors.ts, 8, 3)) +>a : Symbol(a, Decl(objectLiteralIndexerErrors.ts, 8, 11)) diff --git a/tests/baselines/reference/objectLiteralIndexerErrors.types b/tests/baselines/reference/objectLiteralIndexerErrors.types index a0dcded9806a7..af515fb6c6463 100644 --- a/tests/baselines/reference/objectLiteralIndexerErrors.types +++ b/tests/baselines/reference/objectLiteralIndexerErrors.types @@ -13,11 +13,11 @@ interface B extends A { > : ^^^^^^ } -var a: A; +declare var a: A; >a : A > : ^ -var b: B; +declare var b: B; >b : B > : ^ diff --git a/tests/baselines/reference/objectRest.errors.txt b/tests/baselines/reference/objectRest.errors.txt index 46cb0c0f9996f..23e0e8044c63a 100644 --- a/tests/baselines/reference/objectRest.errors.txt +++ b/tests/baselines/reference/objectRest.errors.txt @@ -18,24 +18,24 @@ objectRest.ts(44,53): error TS2739: Type '{}' is missing the following propertie let o2 = { c: 'terrible idea?', d: 'yes' }; var { d: renamed, ...d } = o2; - let nestedrest: { x: number, n1: { y: number, n2: { z: number, n3: { n4: number } } }, rest: number, restrest: number }; + declare let nestedrest: { x: number, n1: { y: number, n2: { z: number, n3: { n4: number } } }, rest: number, restrest: number }; var { x, n1: { y, n2: { z, n3: { ...nr } } }, ...restrest } = nestedrest; - let complex: { x: { ka, ki }, y: number }; + declare let complex: { x: { ka, ki }, y: number }; var { x: { ka, ...nested }, y: other, ...rest } = complex; ({x: { ka, ...nested }, y: other, ...rest} = complex); var { x, ...fresh } = { x: 1, y: 2 }; ({ x, ...fresh } = { x: 1, y: 2 }); class Removable { - private x: number; - protected y: number; + private x!: number; + protected y!: number; set z(value: number) { } get both(): number { return 12 } set both(value: number) { } m() { } - removed: string; - remainder: string; + removed!: string; + remainder!: string; } interface I { m(): void; diff --git a/tests/baselines/reference/objectRest.js b/tests/baselines/reference/objectRest.js index 753919805bbee..7fcd740a0bd57 100644 --- a/tests/baselines/reference/objectRest.js +++ b/tests/baselines/reference/objectRest.js @@ -12,24 +12,24 @@ var { b: { '0': n, '1': oooo }, ...justA } = o; let o2 = { c: 'terrible idea?', d: 'yes' }; var { d: renamed, ...d } = o2; -let nestedrest: { x: number, n1: { y: number, n2: { z: number, n3: { n4: number } } }, rest: number, restrest: number }; +declare let nestedrest: { x: number, n1: { y: number, n2: { z: number, n3: { n4: number } } }, rest: number, restrest: number }; var { x, n1: { y, n2: { z, n3: { ...nr } } }, ...restrest } = nestedrest; -let complex: { x: { ka, ki }, y: number }; +declare let complex: { x: { ka, ki }, y: number }; var { x: { ka, ...nested }, y: other, ...rest } = complex; ({x: { ka, ...nested }, y: other, ...rest} = complex); var { x, ...fresh } = { x: 1, y: 2 }; ({ x, ...fresh } = { x: 1, y: 2 }); class Removable { - private x: number; - protected y: number; + private x!: number; + protected y!: number; set z(value: number) { } get both(): number { return 12 } set both(value: number) { } m() { } - removed: string; - remainder: string; + removed!: string; + remainder!: string; } interface I { m(): void; @@ -71,9 +71,7 @@ var { 'b': renamed } = o, justA = __rest(o, ['b']); var { b: { '0': n, '1': oooo } } = o, justA = __rest(o, ["b"]); let o2 = { c: 'terrible idea?', d: 'yes' }; var { d: renamed } = o2, d = __rest(o2, ["d"]); -let nestedrest; var { x } = nestedrest, _f = nestedrest.n1, { y } = _f, _g = _f.n2, { z } = _g, nr = __rest(_g.n3, []), restrest = __rest(nestedrest, ["x", "n1"]); -let complex; var _h = complex.x, { ka } = _h, nested = __rest(_h, ["ka"]), { y: other } = complex, rest = __rest(complex, ["x", "y"]); (_a = complex.x, { ka } = _a, nested = __rest(_a, ["ka"]), { y: other } = complex, rest = __rest(complex, ["x", "y"])); var _j = { x: 1, y: 2 }, { x } = _j, fresh = __rest(_j, ["x"]); diff --git a/tests/baselines/reference/objectRest.symbols b/tests/baselines/reference/objectRest.symbols index 520d2de8883d8..34f2a3f368f40 100644 --- a/tests/baselines/reference/objectRest.symbols +++ b/tests/baselines/reference/objectRest.symbols @@ -51,44 +51,44 @@ var { d: renamed, ...d } = o2; >d : Symbol(d, Decl(objectRest.ts, 9, 17)) >o2 : Symbol(o2, Decl(objectRest.ts, 8, 3)) -let nestedrest: { x: number, n1: { y: number, n2: { z: number, n3: { n4: number } } }, rest: number, restrest: number }; ->nestedrest : Symbol(nestedrest, Decl(objectRest.ts, 11, 3)) ->x : Symbol(x, Decl(objectRest.ts, 11, 17)) ->n1 : Symbol(n1, Decl(objectRest.ts, 11, 28)) ->y : Symbol(y, Decl(objectRest.ts, 11, 34)) ->n2 : Symbol(n2, Decl(objectRest.ts, 11, 45)) ->z : Symbol(z, Decl(objectRest.ts, 11, 51)) ->n3 : Symbol(n3, Decl(objectRest.ts, 11, 62)) ->n4 : Symbol(n4, Decl(objectRest.ts, 11, 68)) ->rest : Symbol(rest, Decl(objectRest.ts, 11, 86)) ->restrest : Symbol(restrest, Decl(objectRest.ts, 11, 100)) +declare let nestedrest: { x: number, n1: { y: number, n2: { z: number, n3: { n4: number } } }, rest: number, restrest: number }; +>nestedrest : Symbol(nestedrest, Decl(objectRest.ts, 11, 11)) +>x : Symbol(x, Decl(objectRest.ts, 11, 25)) +>n1 : Symbol(n1, Decl(objectRest.ts, 11, 36)) +>y : Symbol(y, Decl(objectRest.ts, 11, 42)) +>n2 : Symbol(n2, Decl(objectRest.ts, 11, 53)) +>z : Symbol(z, Decl(objectRest.ts, 11, 59)) +>n3 : Symbol(n3, Decl(objectRest.ts, 11, 70)) +>n4 : Symbol(n4, Decl(objectRest.ts, 11, 76)) +>rest : Symbol(rest, Decl(objectRest.ts, 11, 94)) +>restrest : Symbol(restrest, Decl(objectRest.ts, 11, 108)) var { x, n1: { y, n2: { z, n3: { ...nr } } }, ...restrest } = nestedrest; >x : Symbol(x, Decl(objectRest.ts, 12, 5), Decl(objectRest.ts, 17, 5)) ->n1 : Symbol(n1, Decl(objectRest.ts, 11, 28)) +>n1 : Symbol(n1, Decl(objectRest.ts, 11, 36)) >y : Symbol(y, Decl(objectRest.ts, 12, 14)) ->n2 : Symbol(n2, Decl(objectRest.ts, 11, 45)) +>n2 : Symbol(n2, Decl(objectRest.ts, 11, 53)) >z : Symbol(z, Decl(objectRest.ts, 12, 23)) ->n3 : Symbol(n3, Decl(objectRest.ts, 11, 62)) +>n3 : Symbol(n3, Decl(objectRest.ts, 11, 70)) >nr : Symbol(nr, Decl(objectRest.ts, 12, 32)) >restrest : Symbol(restrest, Decl(objectRest.ts, 12, 45)) ->nestedrest : Symbol(nestedrest, Decl(objectRest.ts, 11, 3)) +>nestedrest : Symbol(nestedrest, Decl(objectRest.ts, 11, 11)) -let complex: { x: { ka, ki }, y: number }; ->complex : Symbol(complex, Decl(objectRest.ts, 14, 3)) ->x : Symbol(x, Decl(objectRest.ts, 14, 14)) ->ka : Symbol(ka, Decl(objectRest.ts, 14, 19)) ->ki : Symbol(ki, Decl(objectRest.ts, 14, 23)) ->y : Symbol(y, Decl(objectRest.ts, 14, 29)) +declare let complex: { x: { ka, ki }, y: number }; +>complex : Symbol(complex, Decl(objectRest.ts, 14, 11)) +>x : Symbol(x, Decl(objectRest.ts, 14, 22)) +>ka : Symbol(ka, Decl(objectRest.ts, 14, 27)) +>ki : Symbol(ki, Decl(objectRest.ts, 14, 31)) +>y : Symbol(y, Decl(objectRest.ts, 14, 37)) var { x: { ka, ...nested }, y: other, ...rest } = complex; ->x : Symbol(x, Decl(objectRest.ts, 14, 14)) +>x : Symbol(x, Decl(objectRest.ts, 14, 22)) >ka : Symbol(ka, Decl(objectRest.ts, 15, 10)) >nested : Symbol(nested, Decl(objectRest.ts, 15, 14)) ->y : Symbol(y, Decl(objectRest.ts, 14, 29)) +>y : Symbol(y, Decl(objectRest.ts, 14, 37)) >other : Symbol(other, Decl(objectRest.ts, 15, 27)) >rest : Symbol(rest, Decl(objectRest.ts, 15, 37)) ->complex : Symbol(complex, Decl(objectRest.ts, 14, 3)) +>complex : Symbol(complex, Decl(objectRest.ts, 14, 11)) ({x: { ka, ...nested }, y: other, ...rest} = complex); >x : Symbol(x, Decl(objectRest.ts, 16, 2)) @@ -97,7 +97,7 @@ var { x: { ka, ...nested }, y: other, ...rest } = complex; >y : Symbol(y, Decl(objectRest.ts, 16, 23)) >other : Symbol(other, Decl(objectRest.ts, 15, 27)) >rest : Symbol(rest, Decl(objectRest.ts, 15, 37)) ->complex : Symbol(complex, Decl(objectRest.ts, 14, 3)) +>complex : Symbol(complex, Decl(objectRest.ts, 14, 11)) var { x, ...fresh } = { x: 1, y: 2 }; >x : Symbol(x, Decl(objectRest.ts, 12, 5), Decl(objectRest.ts, 17, 5)) @@ -114,14 +114,14 @@ var { x, ...fresh } = { x: 1, y: 2 }; class Removable { >Removable : Symbol(Removable, Decl(objectRest.ts, 18, 35)) - private x: number; + private x!: number; >x : Symbol(Removable.x, Decl(objectRest.ts, 20, 17)) - protected y: number; ->y : Symbol(Removable.y, Decl(objectRest.ts, 21, 22)) + protected y!: number; +>y : Symbol(Removable.y, Decl(objectRest.ts, 21, 23)) set z(value: number) { } ->z : Symbol(Removable.z, Decl(objectRest.ts, 22, 24)) +>z : Symbol(Removable.z, Decl(objectRest.ts, 22, 25)) >value : Symbol(value, Decl(objectRest.ts, 23, 10)) get both(): number { return 12 } @@ -134,11 +134,11 @@ class Removable { m() { } >m : Symbol(Removable.m, Decl(objectRest.ts, 25, 31)) - removed: string; + removed!: string; >removed : Symbol(Removable.removed, Decl(objectRest.ts, 26, 11)) - remainder: string; ->remainder : Symbol(Removable.remainder, Decl(objectRest.ts, 27, 20)) + remainder!: string; +>remainder : Symbol(Removable.remainder, Decl(objectRest.ts, 27, 21)) } interface I { >I : Symbol(I, Decl(objectRest.ts, 29, 1)) diff --git a/tests/baselines/reference/objectRest.types b/tests/baselines/reference/objectRest.types index f363e066c76c9..7907f02e013f5 100644 --- a/tests/baselines/reference/objectRest.types +++ b/tests/baselines/reference/objectRest.types @@ -95,7 +95,7 @@ var { d: renamed, ...d } = o2; >o2 : { c: string; d: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ -let nestedrest: { x: number, n1: { y: number, n2: { z: number, n3: { n4: number } } }, rest: number, restrest: number }; +declare let nestedrest: { x: number, n1: { y: number, n2: { z: number, n3: { n4: number } } }, rest: number, restrest: number }; >nestedrest : { x: number; n1: { y: number; n2: { z: number; n3: { n4: number; }; }; }; rest: number; restrest: number; } > : ^^^^^ ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^ >x : number @@ -137,7 +137,7 @@ var { x, n1: { y, n2: { z, n3: { ...nr } } }, ...restrest } = nestedrest; >nestedrest : { x: number; n1: { y: number; n2: { z: number; n3: { n4: number; }; }; }; rest: number; restrest: number; } > : ^^^^^ ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^ -let complex: { x: { ka, ki }, y: number }; +declare let complex: { x: { ka, ki }, y: number }; >complex : { x: { ka: any; ki: any; }; y: number; } > : ^^^^^ ^^^ ^^^ ^^^^^ ^^^ >x : { ka: any; ki: any; } @@ -231,11 +231,11 @@ class Removable { >Removable : Removable > : ^^^^^^^^^ - private x: number; + private x!: number; >x : number > : ^^^^^^ - protected y: number; + protected y!: number; >y : number > : ^^^^^^ @@ -261,11 +261,11 @@ class Removable { >m : () => void > : ^^^^^^^^^^ - removed: string; + removed!: string; >removed : string > : ^^^^^^ - remainder: string; + remainder!: string; >remainder : string > : ^^^^^^ } diff --git a/tests/baselines/reference/objectRestNegative.errors.txt b/tests/baselines/reference/objectRestNegative.errors.txt index e8501fa455092..c7be9e03add83 100644 --- a/tests/baselines/reference/objectRestNegative.errors.txt +++ b/tests/baselines/reference/objectRestNegative.errors.txt @@ -36,7 +36,7 @@ objectRestNegative.ts(17,9): error TS2701: The target of an object rest assignme return rest; } - let rest: { b: string } + let rest: { b: string } = { b: "" }; ({a, ...rest.b + rest.b} = o); ~~~~~~~~~~~~~~~ !!! error TS2701: The target of an object rest assignment must be a variable or a property access. diff --git a/tests/baselines/reference/objectRestNegative.js b/tests/baselines/reference/objectRestNegative.js index 9426056434258..70c14379e79e3 100644 --- a/tests/baselines/reference/objectRestNegative.js +++ b/tests/baselines/reference/objectRestNegative.js @@ -16,7 +16,7 @@ function generic(t: T) { return rest; } -let rest: { b: string } +let rest: { b: string } = { b: "" }; ({a, ...rest.b + rest.b} = o); @@ -44,5 +44,5 @@ function generic(t) { var x = t.x, rest = __rest(t, ["x"]); return rest; } -var rest; +var rest = { b: "" }; (a = o.a, rest.b + rest.b = __rest(o, ["a"])); diff --git a/tests/baselines/reference/objectRestNegative.symbols b/tests/baselines/reference/objectRestNegative.symbols index fa8b091501492..3089cc1fa24b8 100644 --- a/tests/baselines/reference/objectRestNegative.symbols +++ b/tests/baselines/reference/objectRestNegative.symbols @@ -48,9 +48,10 @@ function generic(t: T) { >rest : Symbol(rest, Decl(objectRestNegative.ts, 11, 12)) } -let rest: { b: string } +let rest: { b: string } = { b: "" }; >rest : Symbol(rest, Decl(objectRestNegative.ts, 15, 3)) >b : Symbol(b, Decl(objectRestNegative.ts, 15, 11)) +>b : Symbol(b, Decl(objectRestNegative.ts, 15, 27)) ({a, ...rest.b + rest.b} = o); >a : Symbol(a, Decl(objectRestNegative.ts, 16, 2)) diff --git a/tests/baselines/reference/objectRestNegative.types b/tests/baselines/reference/objectRestNegative.types index b57c5777e38a7..0e0aeea16b061 100644 --- a/tests/baselines/reference/objectRestNegative.types +++ b/tests/baselines/reference/objectRestNegative.types @@ -83,11 +83,17 @@ function generic(t: T) { > : ^^^^^^^^^^^^ } -let rest: { b: string } +let rest: { b: string } = { b: "" }; >rest : { b: string; } > : ^^^^^ ^^^ >b : string > : ^^^^^^ +>{ b: "" } : { b: string; } +> : ^^^^^^^^^^^^^^ +>b : string +> : ^^^^^^ +>"" : "" +> : ^^ ({a, ...rest.b + rest.b} = o); >({a, ...rest.b + rest.b} = o) : { a: number; b: string; } diff --git a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.errors.txt b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.errors.txt index b44e3793aac29..0e606228161cd 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.errors.txt +++ b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.errors.txt @@ -10,11 +10,11 @@ lib.es5.d.ts(--,--): error TS2411: Property 'propertyIsEnumerable' of type '(v: ==== objectTypeHidingMembersOfExtendedObject.ts (1 errors) ==== class A { - foo: string; + foo!: string; } class B extends A { - bar: string; + bar!: string; } interface Object { @@ -26,11 +26,11 @@ lib.es5.d.ts(--,--): error TS2411: Property 'propertyIsEnumerable' of type '(v: class C { valueOf() { } - data: B; + data!: B; [x: string]: any; } - var c: C; + declare var c: C; var r1: void = c.valueOf(); var r1b: B = c.data; var r1c = r1b['hm']; // should be 'Object' @@ -42,7 +42,7 @@ lib.es5.d.ts(--,--): error TS2411: Property 'propertyIsEnumerable' of type '(v: [x: string]: any; } - var i: I; + declare var i: I; var r2: void = i.valueOf(); var r2b: B = i.data; var r2c = r2b['hm']; // should be 'Object' @@ -58,7 +58,7 @@ lib.es5.d.ts(--,--): error TS2411: Property 'propertyIsEnumerable' of type '(v: var r3c = r3b['hm']; // should be 'Object' var r3d = i['hm']; - var b: { + declare var b: { valueOf(): void; data: B; [x: string]: any; diff --git a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.js b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.js index 9fbebdecc7834..ea6279b5929e4 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.js +++ b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.js @@ -2,11 +2,11 @@ //// [objectTypeHidingMembersOfExtendedObject.ts] class A { - foo: string; + foo!: string; } class B extends A { - bar: string; + bar!: string; } interface Object { @@ -16,11 +16,11 @@ interface Object { class C { valueOf() { } - data: B; + data!: B; [x: string]: any; } -var c: C; +declare var c: C; var r1: void = c.valueOf(); var r1b: B = c.data; var r1c = r1b['hm']; // should be 'Object' @@ -32,7 +32,7 @@ interface I { [x: string]: any; } -var i: I; +declare var i: I; var r2: void = i.valueOf(); var r2b: B = i.data; var r2c = r2b['hm']; // should be 'Object' @@ -48,7 +48,7 @@ var r3b: B = a.data; var r3c = r3b['hm']; // should be 'Object' var r3d = i['hm']; -var b: { +declare var b: { valueOf(): void; data: B; [x: string]: any; @@ -90,12 +90,10 @@ var C = /** @class */ (function () { C.prototype.valueOf = function () { }; return C; }()); -var c; var r1 = c.valueOf(); var r1b = c.data; var r1c = r1b['hm']; // should be 'Object' var r1d = c['hm']; // should be 'any' -var i; var r2 = i.valueOf(); var r2b = i.data; var r2c = r2b['hm']; // should be 'Object' @@ -108,5 +106,4 @@ var r3 = a.valueOf(); var r3b = a.data; var r3c = r3b['hm']; // should be 'Object' var r3d = i['hm']; -var b; var r4 = b.valueOf(); diff --git a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.symbols b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.symbols index f7a30cb6c6bf3..a5bb51f4b9fff 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.symbols +++ b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.symbols @@ -4,7 +4,7 @@ class A { >A : Symbol(A, Decl(objectTypeHidingMembersOfExtendedObject.ts, 0, 0)) - foo: string; + foo!: string; >foo : Symbol(A.foo, Decl(objectTypeHidingMembersOfExtendedObject.ts, 0, 9)) } @@ -12,7 +12,7 @@ class B extends A { >B : Symbol(B, Decl(objectTypeHidingMembersOfExtendedObject.ts, 2, 1)) >A : Symbol(A, Decl(objectTypeHidingMembersOfExtendedObject.ts, 0, 0)) - bar: string; + bar!: string; >bar : Symbol(B.bar, Decl(objectTypeHidingMembersOfExtendedObject.ts, 4, 19)) } @@ -34,7 +34,7 @@ class C { valueOf() { } >valueOf : Symbol(C.valueOf, Decl(objectTypeHidingMembersOfExtendedObject.ts, 13, 9)) - data: B; + data!: B; >data : Symbol(C.data, Decl(objectTypeHidingMembersOfExtendedObject.ts, 14, 17)) >B : Symbol(B, Decl(objectTypeHidingMembersOfExtendedObject.ts, 2, 1)) @@ -42,21 +42,21 @@ class C { >x : Symbol(x, Decl(objectTypeHidingMembersOfExtendedObject.ts, 16, 5)) } -var c: C; ->c : Symbol(c, Decl(objectTypeHidingMembersOfExtendedObject.ts, 19, 3)) +declare var c: C; +>c : Symbol(c, Decl(objectTypeHidingMembersOfExtendedObject.ts, 19, 11)) >C : Symbol(C, Decl(objectTypeHidingMembersOfExtendedObject.ts, 11, 1)) var r1: void = c.valueOf(); >r1 : Symbol(r1, Decl(objectTypeHidingMembersOfExtendedObject.ts, 20, 3)) >c.valueOf : Symbol(C.valueOf, Decl(objectTypeHidingMembersOfExtendedObject.ts, 13, 9)) ->c : Symbol(c, Decl(objectTypeHidingMembersOfExtendedObject.ts, 19, 3)) +>c : Symbol(c, Decl(objectTypeHidingMembersOfExtendedObject.ts, 19, 11)) >valueOf : Symbol(C.valueOf, Decl(objectTypeHidingMembersOfExtendedObject.ts, 13, 9)) var r1b: B = c.data; >r1b : Symbol(r1b, Decl(objectTypeHidingMembersOfExtendedObject.ts, 21, 3)) >B : Symbol(B, Decl(objectTypeHidingMembersOfExtendedObject.ts, 2, 1)) >c.data : Symbol(C.data, Decl(objectTypeHidingMembersOfExtendedObject.ts, 14, 17)) ->c : Symbol(c, Decl(objectTypeHidingMembersOfExtendedObject.ts, 19, 3)) +>c : Symbol(c, Decl(objectTypeHidingMembersOfExtendedObject.ts, 19, 11)) >data : Symbol(C.data, Decl(objectTypeHidingMembersOfExtendedObject.ts, 14, 17)) var r1c = r1b['hm']; // should be 'Object' @@ -65,7 +65,7 @@ var r1c = r1b['hm']; // should be 'Object' var r1d = c['hm']; // should be 'any' >r1d : Symbol(r1d, Decl(objectTypeHidingMembersOfExtendedObject.ts, 23, 3)) ->c : Symbol(c, Decl(objectTypeHidingMembersOfExtendedObject.ts, 19, 3)) +>c : Symbol(c, Decl(objectTypeHidingMembersOfExtendedObject.ts, 19, 11)) interface I { >I : Symbol(I, Decl(objectTypeHidingMembersOfExtendedObject.ts, 23, 18)) @@ -81,21 +81,21 @@ interface I { >x : Symbol(x, Decl(objectTypeHidingMembersOfExtendedObject.ts, 28, 5)) } -var i: I; ->i : Symbol(i, Decl(objectTypeHidingMembersOfExtendedObject.ts, 31, 3)) +declare var i: I; +>i : Symbol(i, Decl(objectTypeHidingMembersOfExtendedObject.ts, 31, 11)) >I : Symbol(I, Decl(objectTypeHidingMembersOfExtendedObject.ts, 23, 18)) var r2: void = i.valueOf(); >r2 : Symbol(r2, Decl(objectTypeHidingMembersOfExtendedObject.ts, 32, 3)) >i.valueOf : Symbol(I.valueOf, Decl(objectTypeHidingMembersOfExtendedObject.ts, 25, 13)) ->i : Symbol(i, Decl(objectTypeHidingMembersOfExtendedObject.ts, 31, 3)) +>i : Symbol(i, Decl(objectTypeHidingMembersOfExtendedObject.ts, 31, 11)) >valueOf : Symbol(I.valueOf, Decl(objectTypeHidingMembersOfExtendedObject.ts, 25, 13)) var r2b: B = i.data; >r2b : Symbol(r2b, Decl(objectTypeHidingMembersOfExtendedObject.ts, 33, 3)) >B : Symbol(B, Decl(objectTypeHidingMembersOfExtendedObject.ts, 2, 1)) >i.data : Symbol(I.data, Decl(objectTypeHidingMembersOfExtendedObject.ts, 26, 20)) ->i : Symbol(i, Decl(objectTypeHidingMembersOfExtendedObject.ts, 31, 3)) +>i : Symbol(i, Decl(objectTypeHidingMembersOfExtendedObject.ts, 31, 11)) >data : Symbol(I.data, Decl(objectTypeHidingMembersOfExtendedObject.ts, 26, 20)) var r2c = r2b['hm']; // should be 'Object' @@ -104,7 +104,7 @@ var r2c = r2b['hm']; // should be 'Object' var r2d = i['hm']; // should be 'any' >r2d : Symbol(r2d, Decl(objectTypeHidingMembersOfExtendedObject.ts, 35, 3)) ->i : Symbol(i, Decl(objectTypeHidingMembersOfExtendedObject.ts, 31, 3)) +>i : Symbol(i, Decl(objectTypeHidingMembersOfExtendedObject.ts, 31, 11)) var a = { >a : Symbol(a, Decl(objectTypeHidingMembersOfExtendedObject.ts, 37, 3)) @@ -136,13 +136,13 @@ var r3c = r3b['hm']; // should be 'Object' var r3d = i['hm']; >r3d : Symbol(r3d, Decl(objectTypeHidingMembersOfExtendedObject.ts, 45, 3)) ->i : Symbol(i, Decl(objectTypeHidingMembersOfExtendedObject.ts, 31, 3)) +>i : Symbol(i, Decl(objectTypeHidingMembersOfExtendedObject.ts, 31, 11)) -var b: { ->b : Symbol(b, Decl(objectTypeHidingMembersOfExtendedObject.ts, 47, 3)) +declare var b: { +>b : Symbol(b, Decl(objectTypeHidingMembersOfExtendedObject.ts, 47, 11)) valueOf(): void; ->valueOf : Symbol(valueOf, Decl(objectTypeHidingMembersOfExtendedObject.ts, 47, 8)) +>valueOf : Symbol(valueOf, Decl(objectTypeHidingMembersOfExtendedObject.ts, 47, 16)) data: B; >data : Symbol(data, Decl(objectTypeHidingMembersOfExtendedObject.ts, 48, 20)) @@ -154,7 +154,7 @@ var b: { var r4: void = b.valueOf(); >r4 : Symbol(r4, Decl(objectTypeHidingMembersOfExtendedObject.ts, 53, 3)) ->b.valueOf : Symbol(valueOf, Decl(objectTypeHidingMembersOfExtendedObject.ts, 47, 8)) ->b : Symbol(b, Decl(objectTypeHidingMembersOfExtendedObject.ts, 47, 3)) ->valueOf : Symbol(valueOf, Decl(objectTypeHidingMembersOfExtendedObject.ts, 47, 8)) +>b.valueOf : Symbol(valueOf, Decl(objectTypeHidingMembersOfExtendedObject.ts, 47, 16)) +>b : Symbol(b, Decl(objectTypeHidingMembersOfExtendedObject.ts, 47, 11)) +>valueOf : Symbol(valueOf, Decl(objectTypeHidingMembersOfExtendedObject.ts, 47, 16)) diff --git a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.types b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.types index e3e0012ef4e02..7c7a60503bf1d 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.types +++ b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.types @@ -11,7 +11,7 @@ class A { >A : A > : ^ - foo: string; + foo!: string; >foo : string > : ^^^^^^ } @@ -22,7 +22,7 @@ class B extends A { >A : A > : ^ - bar: string; + bar!: string; >bar : string > : ^^^^^^ } @@ -45,7 +45,7 @@ class C { >valueOf : () => void > : ^^^^^^^^^^ - data: B; + data!: B; >data : B > : ^ @@ -54,7 +54,7 @@ class C { > : ^^^^^^ } -var c: C; +declare var c: C; >c : C > : ^ @@ -114,7 +114,7 @@ interface I { > : ^^^^^^ } -var i: I; +declare var i: I; >i : I > : ^ @@ -223,7 +223,7 @@ var r3d = i['hm']; >'hm' : "hm" > : ^^^^ -var b: { +declare var b: { >b : { [x: string]: any; valueOf(): void; data: B; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.errors.txt b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.errors.txt index 8f99731af31fb..777c03c960eb6 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.errors.txt +++ b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.errors.txt @@ -14,8 +14,8 @@ objectTypeHidingMembersOfObjectAssignmentCompat.ts(20,1): error TS2322: Type '{ toString(): void; } - var i: I; - var o: Object; + declare var i: I; + declare var o: Object; o = i; // error ~ !!! error TS2322: Type 'I' is not assignable to type 'Object'. @@ -26,7 +26,7 @@ objectTypeHidingMembersOfObjectAssignmentCompat.ts(20,1): error TS2322: Type '{ class C { toString(): void { } } - var c: C; + declare var c: C; o = c; // error ~ !!! error TS2322: Type 'C' is not assignable to type 'Object'. diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.js b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.js index a3b1ebd74746f..0531fe4fed403 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.js +++ b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.js @@ -5,15 +5,15 @@ interface I { toString(): void; } -var i: I; -var o: Object; +declare var i: I; +declare var o: Object; o = i; // error i = o; // ok class C { toString(): void { } } -var c: C; +declare var c: C; o = c; // error c = o; // ok @@ -24,8 +24,6 @@ o = a; // error a = o; // ok //// [objectTypeHidingMembersOfObjectAssignmentCompat.js] -var i; -var o; o = i; // error i = o; // ok var C = /** @class */ (function () { @@ -34,7 +32,6 @@ var C = /** @class */ (function () { C.prototype.toString = function () { }; return C; }()); -var c; o = c; // error c = o; // ok var a = { diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.symbols b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.symbols index d4aba389a9982..4bda4af36ec58 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.symbols +++ b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.symbols @@ -8,21 +8,21 @@ interface I { >toString : Symbol(I.toString, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 0, 13)) } -var i: I; ->i : Symbol(i, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 4, 3)) +declare var i: I; +>i : Symbol(i, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 4, 11)) >I : Symbol(I, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 0, 0)) -var o: Object; ->o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 3)) +declare var o: Object; +>o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) o = i; // error ->o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 3)) ->i : Symbol(i, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 4, 3)) +>o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 11)) +>i : Symbol(i, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 4, 11)) i = o; // ok ->i : Symbol(i, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 4, 3)) ->o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 3)) +>i : Symbol(i, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 4, 11)) +>o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 11)) class C { >C : Symbol(C, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 7, 6)) @@ -30,17 +30,17 @@ class C { toString(): void { } >toString : Symbol(C.toString, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 9, 9)) } -var c: C; ->c : Symbol(c, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 12, 3)) +declare var c: C; +>c : Symbol(c, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 12, 11)) >C : Symbol(C, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 7, 6)) o = c; // error ->o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 3)) ->c : Symbol(c, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 12, 3)) +>o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 11)) +>c : Symbol(c, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 12, 11)) c = o; // ok ->c : Symbol(c, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 12, 3)) ->o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 3)) +>c : Symbol(c, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 12, 11)) +>o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 11)) var a = { >a : Symbol(a, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 16, 3)) @@ -49,10 +49,10 @@ var a = { >toString : Symbol(toString, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 16, 9)) } o = a; // error ->o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 3)) +>o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 11)) >a : Symbol(a, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 16, 3)) a = o; // ok >a : Symbol(a, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 16, 3)) ->o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 3)) +>o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 11)) diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.types b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.types index 865d4b62f36cd..6058e0e30464a 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.types +++ b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.types @@ -7,11 +7,11 @@ interface I { > : ^^^^^^ } -var i: I; +declare var i: I; >i : I > : ^ -var o: Object; +declare var o: Object; >o : Object > : ^^^^^^ @@ -39,7 +39,7 @@ class C { >toString : () => void > : ^^^^^^ } -var c: C; +declare var c: C; >c : C > : ^ diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.errors.txt b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.errors.txt index 9f99f44f1dc82..e321e9ca091e7 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.errors.txt +++ b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.errors.txt @@ -20,8 +20,8 @@ objectTypeHidingMembersOfObjectAssignmentCompat2.ts(20,1): error TS2322: Type '{ toString(): number; } - var i: I; - var o: Object; + declare var i: I; + declare var o: Object; o = i; // error ~ !!! error TS2322: Type 'I' is not assignable to type 'Object'. @@ -36,7 +36,7 @@ objectTypeHidingMembersOfObjectAssignmentCompat2.ts(20,1): error TS2322: Type '{ class C { toString(): number { return 1; } } - var c: C; + declare var c: C; o = c; // error ~ !!! error TS2322: Type 'C' is not assignable to type 'Object'. diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.js b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.js index 2e3e568d3bacb..b16c3b4a70ad6 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.js +++ b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.js @@ -5,15 +5,15 @@ interface I { toString(): number; } -var i: I; -var o: Object; +declare var i: I; +declare var o: Object; o = i; // error i = o; // error class C { toString(): number { return 1; } } -var c: C; +declare var c: C; o = c; // error c = o; // error @@ -24,8 +24,6 @@ o = a; // error a = o; // ok //// [objectTypeHidingMembersOfObjectAssignmentCompat2.js] -var i; -var o; o = i; // error i = o; // error var C = /** @class */ (function () { @@ -34,7 +32,6 @@ var C = /** @class */ (function () { C.prototype.toString = function () { return 1; }; return C; }()); -var c; o = c; // error c = o; // error var a = { diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.symbols b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.symbols index b5452dd68c29e..021b9cd2b1fd2 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.symbols +++ b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.symbols @@ -8,21 +8,21 @@ interface I { >toString : Symbol(I.toString, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 0, 13)) } -var i: I; ->i : Symbol(i, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 4, 3)) +declare var i: I; +>i : Symbol(i, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 4, 11)) >I : Symbol(I, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 0, 0)) -var o: Object; ->o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 3)) +declare var o: Object; +>o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) o = i; // error ->o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 3)) ->i : Symbol(i, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 4, 3)) +>o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 11)) +>i : Symbol(i, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 4, 11)) i = o; // error ->i : Symbol(i, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 4, 3)) ->o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 3)) +>i : Symbol(i, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 4, 11)) +>o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 11)) class C { >C : Symbol(C, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 7, 6)) @@ -30,17 +30,17 @@ class C { toString(): number { return 1; } >toString : Symbol(C.toString, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 9, 9)) } -var c: C; ->c : Symbol(c, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 12, 3)) +declare var c: C; +>c : Symbol(c, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 12, 11)) >C : Symbol(C, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 7, 6)) o = c; // error ->o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 3)) ->c : Symbol(c, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 12, 3)) +>o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 11)) +>c : Symbol(c, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 12, 11)) c = o; // error ->c : Symbol(c, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 12, 3)) ->o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 3)) +>c : Symbol(c, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 12, 11)) +>o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 11)) var a = { >a : Symbol(a, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 16, 3)) @@ -49,10 +49,10 @@ var a = { >toString : Symbol(toString, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 16, 9)) } o = a; // error ->o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 3)) +>o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 11)) >a : Symbol(a, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 16, 3)) a = o; // ok >a : Symbol(a, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 16, 3)) ->o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 3)) +>o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 11)) diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.types b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.types index 82d62bbbe0cd7..c276ddfaedb8f 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.types +++ b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.types @@ -7,11 +7,11 @@ interface I { > : ^^^^^^ } -var i: I; +declare var i: I; >i : I > : ^ -var o: Object; +declare var o: Object; >o : Object > : ^^^^^^ @@ -41,7 +41,7 @@ class C { >1 : 1 > : ^ } -var c: C; +declare var c: C; >c : C > : ^ diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.errors.txt b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.errors.txt index c11c0880b6542..88d248d1fc9d3 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.errors.txt +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.errors.txt @@ -11,8 +11,8 @@ objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts(14,1): err (): void; } - var i: I; - var f: Object; + declare var i: I; + declare var f: Object; f = i; i = f; ~ @@ -20,7 +20,7 @@ objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts(14,1): err !!! error TS2322: The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead? !!! error TS2322: Type 'Object' provides no match for the signature '(): void'. - var a: { + declare var a: { (): void } f = a; diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.js b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.js index 5457338d3c6e6..6648e544dfe82 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.js +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.js @@ -5,22 +5,19 @@ interface I { (): void; } -var i: I; -var f: Object; +declare var i: I; +declare var f: Object; f = i; i = f; -var a: { +declare var a: { (): void } f = a; a = f; //// [objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.js] -var i; -var f; f = i; i = f; -var a; f = a; a = f; diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.symbols b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.symbols index c9f25230ff0ed..550beeee11bf7 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.symbols +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.symbols @@ -7,32 +7,32 @@ interface I { (): void; } -var i: I; ->i : Symbol(i, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 4, 3)) +declare var i: I; +>i : Symbol(i, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 4, 11)) >I : Symbol(I, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 0, 0)) -var f: Object; ->f : Symbol(f, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 3)) +declare var f: Object; +>f : Symbol(f, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) f = i; ->f : Symbol(f, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 3)) ->i : Symbol(i, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 4, 3)) +>f : Symbol(f, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 11)) +>i : Symbol(i, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 4, 11)) i = f; ->i : Symbol(i, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 4, 3)) ->f : Symbol(f, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 3)) +>i : Symbol(i, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 4, 11)) +>f : Symbol(f, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 11)) -var a: { ->a : Symbol(a, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 9, 3)) +declare var a: { +>a : Symbol(a, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 9, 11)) (): void } f = a; ->f : Symbol(f, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 3)) ->a : Symbol(a, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 9, 3)) +>f : Symbol(f, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 11)) +>a : Symbol(a, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 9, 11)) a = f; ->a : Symbol(a, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 9, 3)) ->f : Symbol(f, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 3)) +>a : Symbol(a, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 9, 11)) +>f : Symbol(f, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 11)) diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.types b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.types index 48208f8f41aeb..93376b881a5a4 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.types +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.types @@ -5,11 +5,11 @@ interface I { (): void; } -var i: I; +declare var i: I; >i : I > : ^ -var f: Object; +declare var f: Object; >f : Object > : ^^^^^^ @@ -29,7 +29,7 @@ i = f; >f : Object > : ^^^^^^ -var a: { +declare var a: { >a : () => void > : ^^^^^^ diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.errors.txt b/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.errors.txt index 557c1260ae9f8..b0d792b6dab18 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.errors.txt +++ b/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.errors.txt @@ -9,14 +9,14 @@ objectTypeWithConstructSignatureAppearsToBeFunctionType.ts(16,18): error TS2348: new(): number; } - var i: I; + declare var i: I; var r2: number = i(); ~~~ !!! error TS2348: Value of type 'I' is not callable. Did you mean to include 'new'? var r2b: number = new i(); var r2c: (x: any, y?: any) => any = i.apply; - var b: { + declare var b: { new(): number; } diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.js b/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.js index 98d6e73f30b72..989e2505c88d4 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.js +++ b/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.js @@ -7,12 +7,12 @@ interface I { new(): number; } -var i: I; +declare var i: I; var r2: number = i(); var r2b: number = new i(); var r2c: (x: any, y?: any) => any = i.apply; -var b: { +declare var b: { new(): number; } @@ -22,11 +22,9 @@ var r4c: (x: any, y?: any) => any = b.apply; //// [objectTypeWithConstructSignatureAppearsToBeFunctionType.js] // no errors expected below -var i; var r2 = i(); var r2b = new i(); var r2c = i.apply; -var b; var r4 = b(); var r4b = new b(); var r4c = b.apply; diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.symbols b/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.symbols index 126bbbea0684d..aa02c178f1d6b 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.symbols +++ b/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.symbols @@ -9,45 +9,45 @@ interface I { new(): number; } -var i: I; ->i : Symbol(i, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 6, 3)) +declare var i: I; +>i : Symbol(i, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 6, 11)) >I : Symbol(I, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 0, 0)) var r2: number = i(); >r2 : Symbol(r2, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 7, 3)) ->i : Symbol(i, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 6, 3)) +>i : Symbol(i, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 6, 11)) var r2b: number = new i(); >r2b : Symbol(r2b, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 8, 3)) ->i : Symbol(i, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 6, 3)) +>i : Symbol(i, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 6, 11)) var r2c: (x: any, y?: any) => any = i.apply; >r2c : Symbol(r2c, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 9, 3)) >x : Symbol(x, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 9, 10)) >y : Symbol(y, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 9, 17)) >i.apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) ->i : Symbol(i, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 6, 3)) +>i : Symbol(i, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 6, 11)) >apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) -var b: { ->b : Symbol(b, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 11, 3)) +declare var b: { +>b : Symbol(b, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 11, 11)) new(): number; } var r4: number = b(); >r4 : Symbol(r4, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 15, 3)) ->b : Symbol(b, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 11, 3)) +>b : Symbol(b, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 11, 11)) var r4b: number = new b(); >r4b : Symbol(r4b, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 16, 3)) ->b : Symbol(b, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 11, 3)) +>b : Symbol(b, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 11, 11)) var r4c: (x: any, y?: any) => any = b.apply; >r4c : Symbol(r4c, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 17, 3)) >x : Symbol(x, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 17, 10)) >y : Symbol(y, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 17, 17)) >b.apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) ->b : Symbol(b, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 11, 3)) +>b : Symbol(b, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 11, 11)) >apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.types b/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.types index 9526daf2cd7a0..2dabbd26b2752 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.types +++ b/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.types @@ -7,7 +7,7 @@ interface I { new(): number; } -var i: I; +declare var i: I; >i : I > : ^ @@ -41,7 +41,7 @@ var r2c: (x: any, y?: any) => any = i.apply; >apply : (this: Function, thisArg: any, argArray?: any) => any > : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ -var b: { +declare var b: { >b : new () => number > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.errors.txt b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.errors.txt index 239e2ed612606..eb95debf29419 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.errors.txt +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.errors.txt @@ -11,8 +11,8 @@ objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts(14,1) new(): any; } - var i: I; - var f: Object; + declare var i: I; + declare var f: Object; f = i; i = f; ~ @@ -20,7 +20,7 @@ objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts(14,1) !!! error TS2322: The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead? !!! error TS2322: Type 'Object' provides no match for the signature 'new (): any'. - var a: { + declare var a: { new(): any } f = a; diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.js b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.js index 9ea8489856810..3bcb1e76c19ea 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.js +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.js @@ -5,22 +5,19 @@ interface I { new(): any; } -var i: I; -var f: Object; +declare var i: I; +declare var f: Object; f = i; i = f; -var a: { +declare var a: { new(): any } f = a; a = f; //// [objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.js] -var i; -var f; f = i; i = f; -var a; f = a; a = f; diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.symbols b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.symbols index 4da43dd94f1e2..78fbe3feff98e 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.symbols +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.symbols @@ -7,32 +7,32 @@ interface I { new(): any; } -var i: I; ->i : Symbol(i, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 4, 3)) +declare var i: I; +>i : Symbol(i, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 4, 11)) >I : Symbol(I, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 0, 0)) -var f: Object; ->f : Symbol(f, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 3)) +declare var f: Object; +>f : Symbol(f, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) f = i; ->f : Symbol(f, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 3)) ->i : Symbol(i, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 4, 3)) +>f : Symbol(f, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 11)) +>i : Symbol(i, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 4, 11)) i = f; ->i : Symbol(i, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 4, 3)) ->f : Symbol(f, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 3)) +>i : Symbol(i, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 4, 11)) +>f : Symbol(f, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 11)) -var a: { ->a : Symbol(a, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 9, 3)) +declare var a: { +>a : Symbol(a, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 9, 11)) new(): any } f = a; ->f : Symbol(f, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 3)) ->a : Symbol(a, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 9, 3)) +>f : Symbol(f, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 11)) +>a : Symbol(a, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 9, 11)) a = f; ->a : Symbol(a, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 9, 3)) ->f : Symbol(f, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 3)) +>a : Symbol(a, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 9, 11)) +>f : Symbol(f, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 11)) diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.types b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.types index 534338085cce2..20b3423d50d3c 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.types +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.types @@ -5,11 +5,11 @@ interface I { new(): any; } -var i: I; +declare var i: I; >i : I > : ^ -var f: Object; +declare var f: Object; >f : Object > : ^^^^^^ @@ -29,7 +29,7 @@ i = f; >f : Object > : ^^^^^^ -var a: { +declare var a: { >a : new () => any > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.errors.txt b/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.errors.txt index a360bc3f2a0f1..b7ee732f31686 100644 --- a/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.errors.txt +++ b/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.errors.txt @@ -18,20 +18,20 @@ lib.es5.d.ts(--,--): error TS2411: Property 'propertyIsEnumerable' of type '(v: var r = o['']; // should be Object class C { - foo: string; + foo!: string; [x: string]: string; } - var c: C; + declare var c: C; var r2: string = c['']; interface I { bar: string; [x: string]: string; } - var i: I; + declare var i: I; var r3: string = i['']; - var o2: { + declare var o2: { baz: string; [x: string]: string; } diff --git a/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.js b/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.js index c15019dd1b67c..95ff596fe0b42 100644 --- a/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.js +++ b/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.js @@ -11,20 +11,20 @@ var o = {}; var r = o['']; // should be Object class C { - foo: string; + foo!: string; [x: string]: string; } -var c: C; +declare var c: C; var r2: string = c['']; interface I { bar: string; [x: string]: string; } -var i: I; +declare var i: I; var r3: string = i['']; -var o2: { +declare var o2: { baz: string; [x: string]: string; } @@ -43,9 +43,6 @@ var C = /** @class */ (function () { } return C; }()); -var c; var r2 = c['']; -var i; var r3 = i['']; -var o2; var r4 = o2['']; diff --git a/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.symbols b/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.symbols index d8147ce2cea4e..426b2140f1748 100644 --- a/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.symbols +++ b/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.symbols @@ -21,19 +21,19 @@ var r = o['']; // should be Object class C { >C : Symbol(C, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 7, 14)) - foo: string; + foo!: string; >foo : Symbol(C.foo, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 9, 9)) [x: string]: string; >x : Symbol(x, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 11, 5)) } -var c: C; ->c : Symbol(c, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 13, 3)) +declare var c: C; +>c : Symbol(c, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 13, 11)) >C : Symbol(C, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 7, 14)) var r2: string = c['']; >r2 : Symbol(r2, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 14, 3)) ->c : Symbol(c, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 13, 3)) +>c : Symbol(c, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 13, 11)) interface I { >I : Symbol(I, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 14, 23)) @@ -44,26 +44,26 @@ interface I { [x: string]: string; >x : Symbol(x, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 18, 5)) } -var i: I; ->i : Symbol(i, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 20, 3)) +declare var i: I; +>i : Symbol(i, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 20, 11)) >I : Symbol(I, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 14, 23)) var r3: string = i['']; >r3 : Symbol(r3, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 21, 3)) ->i : Symbol(i, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 20, 3)) +>i : Symbol(i, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 20, 11)) -var o2: { ->o2 : Symbol(o2, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 23, 3)) +declare var o2: { +>o2 : Symbol(o2, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 23, 11)) baz: string; ->baz : Symbol(baz, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 23, 9)) +>baz : Symbol(baz, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 23, 17)) [x: string]: string; >x : Symbol(x, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 25, 5)) } var r4: string = o2['']; >r4 : Symbol(r4, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 27, 3)) ->o2 : Symbol(o2, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 23, 3)) +>o2 : Symbol(o2, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 23, 11)) diff --git a/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.types b/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.types index 9109d390eb9d4..bf0170da58347 100644 --- a/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.types +++ b/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.types @@ -35,7 +35,7 @@ class C { >C : C > : ^ - foo: string; + foo!: string; >foo : string > : ^^^^^^ @@ -43,7 +43,7 @@ class C { >x : string > : ^^^^^^ } -var c: C; +declare var c: C; >c : C > : ^ @@ -66,7 +66,7 @@ interface I { >x : string > : ^^^^^^ } -var i: I; +declare var i: I; >i : I > : ^ @@ -80,7 +80,7 @@ var r3: string = i['']; >'' : "" > : ^^ -var o2: { +declare var o2: { >o2 : { [x: string]: string; baz: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.errors.txt b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.errors.txt index c42b7285c1524..fc992449f5dad 100644 --- a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.errors.txt +++ b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.errors.txt @@ -24,7 +24,7 @@ objectTypeWithStringNamedNumericProperty.ts(125,13): error TS1121: Octal literal "-1": Date; } - var c: C; + declare var c: C; var r1 = c['0.1']; var r2 = c['.1']; var r3 = c['1']; @@ -59,7 +59,7 @@ objectTypeWithStringNamedNumericProperty.ts(125,13): error TS1121: Octal literal "-1": Date; } - var i: I; + declare var i: I; var r1 = i['0.1']; var r2 = i['.1']; var r3 = i['1']; @@ -83,7 +83,7 @@ objectTypeWithStringNamedNumericProperty.ts(125,13): error TS1121: Octal literal ~~~ !!! error TS1121: Octal literals are not allowed. Use the syntax '-0o1'. - var a: { + declare var a: { "0.1": void; ".1": Object; "1": number; diff --git a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.js b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.js index f8eeeb3e9c337..530dc84165c7c 100644 --- a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.js +++ b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.js @@ -16,7 +16,7 @@ class C { "-1": Date; } -var c: C; +declare var c: C; var r1 = c['0.1']; var r2 = c['.1']; var r3 = c['1']; @@ -47,7 +47,7 @@ interface I { "-1": Date; } -var i: I; +declare var i: I; var r1 = i['0.1']; var r2 = i['.1']; var r3 = i['1']; @@ -67,7 +67,7 @@ var r11 = i[-0x1] var r12 = i[01] var r13 = i[-01] -var a: { +declare var a: { "0.1": void; ".1": Object; "1": number; @@ -137,7 +137,6 @@ var C = /** @class */ (function () { } return C; }()); -var c; var r1 = c['0.1']; var r2 = c['.1']; var r3 = c['1']; @@ -156,7 +155,6 @@ var r10 = i[0x1]; var r11 = i[-0x1]; var r12 = i[1]; var r13 = i[-1]; -var i; var r1 = i['0.1']; var r2 = i['.1']; var r3 = i['1']; @@ -175,7 +173,6 @@ var r10 = i[0x1]; var r11 = i[-0x1]; var r12 = i[1]; var r13 = i[-1]; -var a; var r1 = a['0.1']; var r2 = a['.1']; var r3 = a['1']; diff --git a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.symbols b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.symbols index 7807fd729dbd6..81187b6fad8f4 100644 --- a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.symbols +++ b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.symbols @@ -37,91 +37,91 @@ class C { >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } -var c: C; ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +declare var c: C; +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >C : Symbol(C, Decl(objectTypeWithStringNamedNumericProperty.ts, 0, 0)) var r1 = c['0.1']; >r1 : Symbol(r1, Decl(objectTypeWithStringNamedNumericProperty.ts, 16, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 47, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 77, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 107, 3)) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >'0.1' : Symbol(C["0.1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 4, 9)) var r2 = c['.1']; >r2 : Symbol(r2, Decl(objectTypeWithStringNamedNumericProperty.ts, 17, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 48, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 78, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 108, 3)) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >'.1' : Symbol(C[".1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 5, 16)) var r3 = c['1']; >r3 : Symbol(r3, Decl(objectTypeWithStringNamedNumericProperty.ts, 18, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 19, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 21, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 24, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 49, 3) ... and 11 more) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >'1' : Symbol(C["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 6, 17)) var r3 = c[1]; >r3 : Symbol(r3, Decl(objectTypeWithStringNamedNumericProperty.ts, 18, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 19, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 21, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 24, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 49, 3) ... and 11 more) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >1 : Symbol(C["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 6, 17)) var r4 = c['1.']; >r4 : Symbol(r4, Decl(objectTypeWithStringNamedNumericProperty.ts, 20, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 51, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 81, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 111, 3)) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >'1.' : Symbol(C["1."], Decl(objectTypeWithStringNamedNumericProperty.ts, 7, 16)) var r3 = c[1.]; // same as indexing by 1 when done numerically >r3 : Symbol(r3, Decl(objectTypeWithStringNamedNumericProperty.ts, 18, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 19, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 21, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 24, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 49, 3) ... and 11 more) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >1. : Symbol(C["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 6, 17)) var r5 = c['1..']; >r5 : Symbol(r5, Decl(objectTypeWithStringNamedNumericProperty.ts, 22, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 53, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 83, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 113, 3)) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >'1..' : Symbol(C["1.."], Decl(objectTypeWithStringNamedNumericProperty.ts, 8, 17)) var r6 = c['1.0']; >r6 : Symbol(r6, Decl(objectTypeWithStringNamedNumericProperty.ts, 23, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 54, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 84, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 114, 3)) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >'1.0' : Symbol(C["1.0"], Decl(objectTypeWithStringNamedNumericProperty.ts, 9, 19)) var r3 = c[1.0]; // same as indexing by 1 when done numerically >r3 : Symbol(r3, Decl(objectTypeWithStringNamedNumericProperty.ts, 18, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 19, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 21, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 24, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 49, 3) ... and 11 more) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >1.0 : Symbol(C["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 6, 17)) // BUG 823822 var r7 = i[-1]; >r7 : Symbol(r7, Decl(objectTypeWithStringNamedNumericProperty.ts, 26, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 27, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 57, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 58, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 87, 3) ... and 3 more) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) var r7 = i[-1.0]; >r7 : Symbol(r7, Decl(objectTypeWithStringNamedNumericProperty.ts, 26, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 27, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 57, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 58, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 87, 3) ... and 3 more) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) var r8 = i["-1.0"]; >r8 : Symbol(r8, Decl(objectTypeWithStringNamedNumericProperty.ts, 28, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 59, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 89, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 119, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >"-1.0" : Symbol(I["-1.0"], Decl(objectTypeWithStringNamedNumericProperty.ts, 41, 16)) var r9 = i["-1"]; >r9 : Symbol(r9, Decl(objectTypeWithStringNamedNumericProperty.ts, 29, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 60, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 90, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 120, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >"-1" : Symbol(I["-1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 42, 19)) var r10 = i[0x1] >r10 : Symbol(r10, Decl(objectTypeWithStringNamedNumericProperty.ts, 30, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 61, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 91, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 121, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >0x1 : Symbol(I["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 37, 17)) var r11 = i[-0x1] >r11 : Symbol(r11, Decl(objectTypeWithStringNamedNumericProperty.ts, 31, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 62, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 92, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 122, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) var r12 = i[01] >r12 : Symbol(r12, Decl(objectTypeWithStringNamedNumericProperty.ts, 32, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 63, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 93, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 123, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >01 : Symbol(I["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 37, 17)) var r13 = i[-01] >r13 : Symbol(r13, Decl(objectTypeWithStringNamedNumericProperty.ts, 33, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 64, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 94, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 124, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) interface I { >I : Symbol(I, Decl(objectTypeWithStringNamedNumericProperty.ts, 33, 16)) @@ -155,97 +155,97 @@ interface I { >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } -var i: I; ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +declare var i: I; +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >I : Symbol(I, Decl(objectTypeWithStringNamedNumericProperty.ts, 33, 16)) var r1 = i['0.1']; >r1 : Symbol(r1, Decl(objectTypeWithStringNamedNumericProperty.ts, 16, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 47, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 77, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 107, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >'0.1' : Symbol(I["0.1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 35, 13)) var r2 = i['.1']; >r2 : Symbol(r2, Decl(objectTypeWithStringNamedNumericProperty.ts, 17, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 48, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 78, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 108, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >'.1' : Symbol(I[".1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 36, 16)) var r3 = i['1']; >r3 : Symbol(r3, Decl(objectTypeWithStringNamedNumericProperty.ts, 18, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 19, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 21, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 24, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 49, 3) ... and 11 more) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >'1' : Symbol(I["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 37, 17)) var r3 = c[1]; >r3 : Symbol(r3, Decl(objectTypeWithStringNamedNumericProperty.ts, 18, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 19, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 21, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 24, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 49, 3) ... and 11 more) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >1 : Symbol(C["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 6, 17)) var r4 = i['1.']; >r4 : Symbol(r4, Decl(objectTypeWithStringNamedNumericProperty.ts, 20, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 51, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 81, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 111, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >'1.' : Symbol(I["1."], Decl(objectTypeWithStringNamedNumericProperty.ts, 38, 16)) var r3 = c[1.]; // same as indexing by 1 when done numerically >r3 : Symbol(r3, Decl(objectTypeWithStringNamedNumericProperty.ts, 18, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 19, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 21, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 24, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 49, 3) ... and 11 more) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >1. : Symbol(C["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 6, 17)) var r5 = i['1..']; >r5 : Symbol(r5, Decl(objectTypeWithStringNamedNumericProperty.ts, 22, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 53, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 83, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 113, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >'1..' : Symbol(I["1.."], Decl(objectTypeWithStringNamedNumericProperty.ts, 39, 17)) var r6 = i['1.0']; >r6 : Symbol(r6, Decl(objectTypeWithStringNamedNumericProperty.ts, 23, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 54, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 84, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 114, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >'1.0' : Symbol(I["1.0"], Decl(objectTypeWithStringNamedNumericProperty.ts, 40, 19)) var r3 = c[1.0]; // same as indexing by 1 when done numerically >r3 : Symbol(r3, Decl(objectTypeWithStringNamedNumericProperty.ts, 18, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 19, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 21, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 24, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 49, 3) ... and 11 more) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >1.0 : Symbol(C["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 6, 17)) // BUG 823822 var r7 = i[-1]; >r7 : Symbol(r7, Decl(objectTypeWithStringNamedNumericProperty.ts, 26, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 27, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 57, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 58, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 87, 3) ... and 3 more) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) var r7 = i[-1.0]; >r7 : Symbol(r7, Decl(objectTypeWithStringNamedNumericProperty.ts, 26, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 27, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 57, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 58, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 87, 3) ... and 3 more) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) var r8 = i["-1.0"]; >r8 : Symbol(r8, Decl(objectTypeWithStringNamedNumericProperty.ts, 28, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 59, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 89, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 119, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >"-1.0" : Symbol(I["-1.0"], Decl(objectTypeWithStringNamedNumericProperty.ts, 41, 16)) var r9 = i["-1"]; >r9 : Symbol(r9, Decl(objectTypeWithStringNamedNumericProperty.ts, 29, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 60, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 90, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 120, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >"-1" : Symbol(I["-1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 42, 19)) var r10 = i[0x1] >r10 : Symbol(r10, Decl(objectTypeWithStringNamedNumericProperty.ts, 30, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 61, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 91, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 121, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >0x1 : Symbol(I["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 37, 17)) var r11 = i[-0x1] >r11 : Symbol(r11, Decl(objectTypeWithStringNamedNumericProperty.ts, 31, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 62, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 92, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 122, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) var r12 = i[01] >r12 : Symbol(r12, Decl(objectTypeWithStringNamedNumericProperty.ts, 32, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 63, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 93, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 123, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >01 : Symbol(I["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 37, 17)) var r13 = i[-01] >r13 : Symbol(r13, Decl(objectTypeWithStringNamedNumericProperty.ts, 33, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 64, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 94, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 124, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) -var a: { ->a : Symbol(a, Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 3)) +declare var a: { +>a : Symbol(a, Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 11)) "0.1": void; ->"0.1" : Symbol("0.1", Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 8)) +>"0.1" : Symbol("0.1", Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 16)) ".1": Object; >".1" : Symbol(".1", Decl(objectTypeWithStringNamedNumericProperty.ts, 67, 16)) @@ -275,85 +275,85 @@ var a: { var r1 = a['0.1']; >r1 : Symbol(r1, Decl(objectTypeWithStringNamedNumericProperty.ts, 16, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 47, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 77, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 107, 3)) ->a : Symbol(a, Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 3)) ->'0.1' : Symbol("0.1", Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 8)) +>a : Symbol(a, Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 11)) +>'0.1' : Symbol("0.1", Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 16)) var r2 = a['.1']; >r2 : Symbol(r2, Decl(objectTypeWithStringNamedNumericProperty.ts, 17, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 48, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 78, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 108, 3)) ->a : Symbol(a, Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 3)) +>a : Symbol(a, Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 11)) >'.1' : Symbol(".1", Decl(objectTypeWithStringNamedNumericProperty.ts, 67, 16)) var r3 = a['1']; >r3 : Symbol(r3, Decl(objectTypeWithStringNamedNumericProperty.ts, 18, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 19, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 21, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 24, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 49, 3) ... and 11 more) ->a : Symbol(a, Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 3)) +>a : Symbol(a, Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 11)) >'1' : Symbol("1", Decl(objectTypeWithStringNamedNumericProperty.ts, 68, 17)) var r3 = c[1]; >r3 : Symbol(r3, Decl(objectTypeWithStringNamedNumericProperty.ts, 18, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 19, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 21, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 24, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 49, 3) ... and 11 more) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >1 : Symbol(C["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 6, 17)) var r4 = a['1.']; >r4 : Symbol(r4, Decl(objectTypeWithStringNamedNumericProperty.ts, 20, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 51, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 81, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 111, 3)) ->a : Symbol(a, Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 3)) +>a : Symbol(a, Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 11)) >'1.' : Symbol("1.", Decl(objectTypeWithStringNamedNumericProperty.ts, 69, 16)) var r3 = c[1.]; // same as indexing by 1 when done numerically >r3 : Symbol(r3, Decl(objectTypeWithStringNamedNumericProperty.ts, 18, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 19, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 21, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 24, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 49, 3) ... and 11 more) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >1. : Symbol(C["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 6, 17)) var r5 = a['1..']; >r5 : Symbol(r5, Decl(objectTypeWithStringNamedNumericProperty.ts, 22, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 53, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 83, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 113, 3)) ->a : Symbol(a, Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 3)) +>a : Symbol(a, Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 11)) >'1..' : Symbol("1..", Decl(objectTypeWithStringNamedNumericProperty.ts, 70, 17)) var r6 = a['1.0']; >r6 : Symbol(r6, Decl(objectTypeWithStringNamedNumericProperty.ts, 23, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 54, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 84, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 114, 3)) ->a : Symbol(a, Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 3)) +>a : Symbol(a, Decl(objectTypeWithStringNamedNumericProperty.ts, 66, 11)) >'1.0' : Symbol("1.0", Decl(objectTypeWithStringNamedNumericProperty.ts, 71, 19)) var r3 = c[1.0]; // same as indexing by 1 when done numerically >r3 : Symbol(r3, Decl(objectTypeWithStringNamedNumericProperty.ts, 18, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 19, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 21, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 24, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 49, 3) ... and 11 more) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >1.0 : Symbol(C["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 6, 17)) // BUG 823822 var r7 = i[-1]; >r7 : Symbol(r7, Decl(objectTypeWithStringNamedNumericProperty.ts, 26, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 27, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 57, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 58, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 87, 3) ... and 3 more) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) var r7 = i[-1.0]; >r7 : Symbol(r7, Decl(objectTypeWithStringNamedNumericProperty.ts, 26, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 27, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 57, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 58, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 87, 3) ... and 3 more) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) var r8 = i["-1.0"]; >r8 : Symbol(r8, Decl(objectTypeWithStringNamedNumericProperty.ts, 28, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 59, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 89, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 119, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >"-1.0" : Symbol(I["-1.0"], Decl(objectTypeWithStringNamedNumericProperty.ts, 41, 16)) var r9 = i["-1"]; >r9 : Symbol(r9, Decl(objectTypeWithStringNamedNumericProperty.ts, 29, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 60, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 90, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 120, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >"-1" : Symbol(I["-1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 42, 19)) var r10 = i[0x1] >r10 : Symbol(r10, Decl(objectTypeWithStringNamedNumericProperty.ts, 30, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 61, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 91, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 121, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >0x1 : Symbol(I["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 37, 17)) var r11 = i[-0x1] >r11 : Symbol(r11, Decl(objectTypeWithStringNamedNumericProperty.ts, 31, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 62, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 92, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 122, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) var r12 = i[01] >r12 : Symbol(r12, Decl(objectTypeWithStringNamedNumericProperty.ts, 32, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 63, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 93, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 123, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >01 : Symbol(I["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 37, 17)) var r13 = i[-01] >r13 : Symbol(r13, Decl(objectTypeWithStringNamedNumericProperty.ts, 33, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 64, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 94, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 124, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) var b = { >b : Symbol(b, Decl(objectTypeWithStringNamedNumericProperty.ts, 96, 3)) @@ -404,7 +404,7 @@ var r3 = b['1']; var r3 = c[1]; >r3 : Symbol(r3, Decl(objectTypeWithStringNamedNumericProperty.ts, 18, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 19, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 21, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 24, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 49, 3) ... and 11 more) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >1 : Symbol(C["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 6, 17)) var r4 = b['1.']; @@ -414,7 +414,7 @@ var r4 = b['1.']; var r3 = c[1.]; // same as indexing by 1 when done numerically >r3 : Symbol(r3, Decl(objectTypeWithStringNamedNumericProperty.ts, 18, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 19, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 21, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 24, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 49, 3) ... and 11 more) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >1. : Symbol(C["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 6, 17)) var r5 = b['1..']; @@ -429,43 +429,43 @@ var r6 = b['1.0']; var r3 = c[1.0]; // same as indexing by 1 when done numerically >r3 : Symbol(r3, Decl(objectTypeWithStringNamedNumericProperty.ts, 18, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 19, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 21, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 24, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 49, 3) ... and 11 more) ->c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 3)) +>c : Symbol(c, Decl(objectTypeWithStringNamedNumericProperty.ts, 15, 11)) >1.0 : Symbol(C["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 6, 17)) // BUG 823822 var r7 = i[-1]; >r7 : Symbol(r7, Decl(objectTypeWithStringNamedNumericProperty.ts, 26, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 27, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 57, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 58, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 87, 3) ... and 3 more) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) var r7 = i[-1.0]; >r7 : Symbol(r7, Decl(objectTypeWithStringNamedNumericProperty.ts, 26, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 27, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 57, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 58, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 87, 3) ... and 3 more) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) var r8 = i["-1.0"]; >r8 : Symbol(r8, Decl(objectTypeWithStringNamedNumericProperty.ts, 28, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 59, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 89, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 119, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >"-1.0" : Symbol(I["-1.0"], Decl(objectTypeWithStringNamedNumericProperty.ts, 41, 16)) var r9 = i["-1"]; >r9 : Symbol(r9, Decl(objectTypeWithStringNamedNumericProperty.ts, 29, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 60, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 90, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 120, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >"-1" : Symbol(I["-1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 42, 19)) var r10 = i[0x1] >r10 : Symbol(r10, Decl(objectTypeWithStringNamedNumericProperty.ts, 30, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 61, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 91, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 121, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >0x1 : Symbol(I["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 37, 17)) var r11 = i[-0x1] >r11 : Symbol(r11, Decl(objectTypeWithStringNamedNumericProperty.ts, 31, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 62, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 92, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 122, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) var r12 = i[01] >r12 : Symbol(r12, Decl(objectTypeWithStringNamedNumericProperty.ts, 32, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 63, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 93, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 123, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) >01 : Symbol(I["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 37, 17)) var r13 = i[-01] >r13 : Symbol(r13, Decl(objectTypeWithStringNamedNumericProperty.ts, 33, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 64, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 94, 3), Decl(objectTypeWithStringNamedNumericProperty.ts, 124, 3)) ->i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 3)) +>i : Symbol(i, Decl(objectTypeWithStringNamedNumericProperty.ts, 46, 11)) diff --git a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types index 653fb50d33f09..b1143edd8655b 100644 --- a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types +++ b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types @@ -42,7 +42,7 @@ class C { > : ^^^^ } -var c: C; +declare var c: C; >c : C > : ^ @@ -259,7 +259,7 @@ interface I { > : ^^^^ } -var i: I; +declare var i: I; >i : I > : ^ @@ -442,7 +442,7 @@ var r13 = i[-01] >01 : 1 > : ^ -var a: { +declare var a: { >a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } > : ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/optionalParamAssignmentCompat.errors.txt b/tests/baselines/reference/optionalParamAssignmentCompat.errors.txt index df554d1d1fd01..502ab34260fca 100644 --- a/tests/baselines/reference/optionalParamAssignmentCompat.errors.txt +++ b/tests/baselines/reference/optionalParamAssignmentCompat.errors.txt @@ -11,7 +11,7 @@ optionalParamAssignmentCompat.ts(10,13): error TS2322: Type '(p1?: string) => I1 p1: I1; m1(p1?: string): I1; } - var i2: I2; + declare var i2: I2; var c: I1 = i2.p1; // should be ok var d: I1 = i2.m1; // should error ~~~~~ diff --git a/tests/baselines/reference/optionalParamAssignmentCompat.js b/tests/baselines/reference/optionalParamAssignmentCompat.js index d82ac61570419..a6ef2325f3be0 100644 --- a/tests/baselines/reference/optionalParamAssignmentCompat.js +++ b/tests/baselines/reference/optionalParamAssignmentCompat.js @@ -8,12 +8,11 @@ interface I2 { p1: I1; m1(p1?: string): I1; } -var i2: I2; +declare var i2: I2; var c: I1 = i2.p1; // should be ok var d: I1 = i2.m1; // should error //// [optionalParamAssignmentCompat.js] -var i2; var c = i2.p1; // should be ok var d = i2.m1; // should error diff --git a/tests/baselines/reference/optionalParamAssignmentCompat.symbols b/tests/baselines/reference/optionalParamAssignmentCompat.symbols index d66df3a0542a0..d7f0f556ed9ef 100644 --- a/tests/baselines/reference/optionalParamAssignmentCompat.symbols +++ b/tests/baselines/reference/optionalParamAssignmentCompat.symbols @@ -20,21 +20,21 @@ interface I2 { >p1 : Symbol(p1, Decl(optionalParamAssignmentCompat.ts, 5, 7)) >I1 : Symbol(I1, Decl(optionalParamAssignmentCompat.ts, 0, 0)) } -var i2: I2; ->i2 : Symbol(i2, Decl(optionalParamAssignmentCompat.ts, 7, 3)) +declare var i2: I2; +>i2 : Symbol(i2, Decl(optionalParamAssignmentCompat.ts, 7, 11)) >I2 : Symbol(I2, Decl(optionalParamAssignmentCompat.ts, 2, 1)) var c: I1 = i2.p1; // should be ok >c : Symbol(c, Decl(optionalParamAssignmentCompat.ts, 8, 3)) >I1 : Symbol(I1, Decl(optionalParamAssignmentCompat.ts, 0, 0)) >i2.p1 : Symbol(I2.p1, Decl(optionalParamAssignmentCompat.ts, 3, 14)) ->i2 : Symbol(i2, Decl(optionalParamAssignmentCompat.ts, 7, 3)) +>i2 : Symbol(i2, Decl(optionalParamAssignmentCompat.ts, 7, 11)) >p1 : Symbol(I2.p1, Decl(optionalParamAssignmentCompat.ts, 3, 14)) var d: I1 = i2.m1; // should error >d : Symbol(d, Decl(optionalParamAssignmentCompat.ts, 9, 3)) >I1 : Symbol(I1, Decl(optionalParamAssignmentCompat.ts, 0, 0)) >i2.m1 : Symbol(I2.m1, Decl(optionalParamAssignmentCompat.ts, 4, 11)) ->i2 : Symbol(i2, Decl(optionalParamAssignmentCompat.ts, 7, 3)) +>i2 : Symbol(i2, Decl(optionalParamAssignmentCompat.ts, 7, 11)) >m1 : Symbol(I2.m1, Decl(optionalParamAssignmentCompat.ts, 4, 11)) diff --git a/tests/baselines/reference/optionalParamAssignmentCompat.types b/tests/baselines/reference/optionalParamAssignmentCompat.types index 3cebb1e292b27..0a68f20e71e7d 100644 --- a/tests/baselines/reference/optionalParamAssignmentCompat.types +++ b/tests/baselines/reference/optionalParamAssignmentCompat.types @@ -19,7 +19,7 @@ interface I2 { >p1 : string > : ^^^^^^ } -var i2: I2; +declare var i2: I2; >i2 : I2 > : ^^ diff --git a/tests/baselines/reference/optionalParamTypeComparison.errors.txt b/tests/baselines/reference/optionalParamTypeComparison.errors.txt index a1073e0496fe5..790933f343249 100644 --- a/tests/baselines/reference/optionalParamTypeComparison.errors.txt +++ b/tests/baselines/reference/optionalParamTypeComparison.errors.txt @@ -7,8 +7,8 @@ optionalParamTypeComparison.ts(5,1): error TS2322: Type '(s: string, n?: number) ==== optionalParamTypeComparison.ts (2 errors) ==== - var f: (s: string, n?: number) => void; - var g: (s: string, b?: boolean) => void; + declare var f: (s: string, n?: number) => void; + declare var g: (s: string, b?: boolean) => void; f = g; ~ diff --git a/tests/baselines/reference/optionalParamTypeComparison.js b/tests/baselines/reference/optionalParamTypeComparison.js index c926e403ceaad..558a057b99feb 100644 --- a/tests/baselines/reference/optionalParamTypeComparison.js +++ b/tests/baselines/reference/optionalParamTypeComparison.js @@ -1,14 +1,12 @@ //// [tests/cases/compiler/optionalParamTypeComparison.ts] //// //// [optionalParamTypeComparison.ts] -var f: (s: string, n?: number) => void; -var g: (s: string, b?: boolean) => void; +declare var f: (s: string, n?: number) => void; +declare var g: (s: string, b?: boolean) => void; f = g; g = f; //// [optionalParamTypeComparison.js] -var f; -var g; f = g; g = f; diff --git a/tests/baselines/reference/optionalParamTypeComparison.symbols b/tests/baselines/reference/optionalParamTypeComparison.symbols index 1f1e6bb414f1f..abec5967c11ae 100644 --- a/tests/baselines/reference/optionalParamTypeComparison.symbols +++ b/tests/baselines/reference/optionalParamTypeComparison.symbols @@ -1,21 +1,21 @@ //// [tests/cases/compiler/optionalParamTypeComparison.ts] //// === optionalParamTypeComparison.ts === -var f: (s: string, n?: number) => void; ->f : Symbol(f, Decl(optionalParamTypeComparison.ts, 0, 3)) ->s : Symbol(s, Decl(optionalParamTypeComparison.ts, 0, 8)) ->n : Symbol(n, Decl(optionalParamTypeComparison.ts, 0, 18)) +declare var f: (s: string, n?: number) => void; +>f : Symbol(f, Decl(optionalParamTypeComparison.ts, 0, 11)) +>s : Symbol(s, Decl(optionalParamTypeComparison.ts, 0, 16)) +>n : Symbol(n, Decl(optionalParamTypeComparison.ts, 0, 26)) -var g: (s: string, b?: boolean) => void; ->g : Symbol(g, Decl(optionalParamTypeComparison.ts, 1, 3)) ->s : Symbol(s, Decl(optionalParamTypeComparison.ts, 1, 8)) ->b : Symbol(b, Decl(optionalParamTypeComparison.ts, 1, 18)) +declare var g: (s: string, b?: boolean) => void; +>g : Symbol(g, Decl(optionalParamTypeComparison.ts, 1, 11)) +>s : Symbol(s, Decl(optionalParamTypeComparison.ts, 1, 16)) +>b : Symbol(b, Decl(optionalParamTypeComparison.ts, 1, 26)) f = g; ->f : Symbol(f, Decl(optionalParamTypeComparison.ts, 0, 3)) ->g : Symbol(g, Decl(optionalParamTypeComparison.ts, 1, 3)) +>f : Symbol(f, Decl(optionalParamTypeComparison.ts, 0, 11)) +>g : Symbol(g, Decl(optionalParamTypeComparison.ts, 1, 11)) g = f; ->g : Symbol(g, Decl(optionalParamTypeComparison.ts, 1, 3)) ->f : Symbol(f, Decl(optionalParamTypeComparison.ts, 0, 3)) +>g : Symbol(g, Decl(optionalParamTypeComparison.ts, 1, 11)) +>f : Symbol(f, Decl(optionalParamTypeComparison.ts, 0, 11)) diff --git a/tests/baselines/reference/optionalParamTypeComparison.types b/tests/baselines/reference/optionalParamTypeComparison.types index 3ced38ac55666..a8b1d7941c094 100644 --- a/tests/baselines/reference/optionalParamTypeComparison.types +++ b/tests/baselines/reference/optionalParamTypeComparison.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/optionalParamTypeComparison.ts] //// === optionalParamTypeComparison.ts === -var f: (s: string, n?: number) => void; +declare var f: (s: string, n?: number) => void; >f : (s: string, n?: number) => void > : ^ ^^ ^^ ^^^ ^^^^^ >s : string @@ -9,7 +9,7 @@ var f: (s: string, n?: number) => void; >n : number > : ^^^^^^ -var g: (s: string, b?: boolean) => void; +declare var g: (s: string, b?: boolean) => void; >g : (s: string, b?: boolean) => void > : ^ ^^ ^^ ^^^ ^^^^^ >s : string diff --git a/tests/baselines/reference/optionalPropertiesTest.errors.txt b/tests/baselines/reference/optionalPropertiesTest.errors.txt index eef03891edf85..da823ca258b75 100644 --- a/tests/baselines/reference/optionalPropertiesTest.errors.txt +++ b/tests/baselines/reference/optionalPropertiesTest.errors.txt @@ -50,10 +50,10 @@ optionalPropertiesTest.ts(40,1): error TS2322: Type 'i2' is not assignable to ty var test8: i4 = { M: 5 } test8 = {}; var test9_1: i2; - var test9_2: i1; + declare var test9_2: i1; test9_1 = test9_2; var test10_1: i1; - var test10_2: i2; + declare var test10_2: i2; test10_1 = test10_2; ~~~~~~~~ !!! error TS2322: Type 'i2' is not assignable to type 'i1'. diff --git a/tests/baselines/reference/optionalPropertiesTest.js b/tests/baselines/reference/optionalPropertiesTest.js index b56924ba65946..e6502433556e7 100644 --- a/tests/baselines/reference/optionalPropertiesTest.js +++ b/tests/baselines/reference/optionalPropertiesTest.js @@ -36,10 +36,10 @@ test7 = {}; var test8: i4 = { M: 5 } test8 = {}; var test9_1: i2; -var test9_2: i1; +declare var test9_2: i1; test9_1 = test9_2; var test10_1: i1; -var test10_2: i2; +declare var test10_2: i2; test10_1 = test10_2; //// [optionalPropertiesTest.js] @@ -67,8 +67,6 @@ test7 = {}; var test8 = { M: 5 }; test8 = {}; var test9_1; -var test9_2; test9_1 = test9_2; var test10_1; -var test10_2; test10_1 = test10_2; diff --git a/tests/baselines/reference/optionalPropertiesTest.symbols b/tests/baselines/reference/optionalPropertiesTest.symbols index 771d21a494be8..e9ca81fdb5e77 100644 --- a/tests/baselines/reference/optionalPropertiesTest.symbols +++ b/tests/baselines/reference/optionalPropertiesTest.symbols @@ -120,23 +120,23 @@ var test9_1: i2; >test9_1 : Symbol(test9_1, Decl(optionalPropertiesTest.ts, 34, 3)) >i2 : Symbol(i2, Decl(optionalPropertiesTest.ts, 19, 32)) -var test9_2: i1; ->test9_2 : Symbol(test9_2, Decl(optionalPropertiesTest.ts, 35, 3)) +declare var test9_2: i1; +>test9_2 : Symbol(test9_2, Decl(optionalPropertiesTest.ts, 35, 11)) >i1 : Symbol(i1, Decl(optionalPropertiesTest.ts, 17, 41)) test9_1 = test9_2; >test9_1 : Symbol(test9_1, Decl(optionalPropertiesTest.ts, 34, 3)) ->test9_2 : Symbol(test9_2, Decl(optionalPropertiesTest.ts, 35, 3)) +>test9_2 : Symbol(test9_2, Decl(optionalPropertiesTest.ts, 35, 11)) var test10_1: i1; >test10_1 : Symbol(test10_1, Decl(optionalPropertiesTest.ts, 37, 3)) >i1 : Symbol(i1, Decl(optionalPropertiesTest.ts, 17, 41)) -var test10_2: i2; ->test10_2 : Symbol(test10_2, Decl(optionalPropertiesTest.ts, 38, 3)) +declare var test10_2: i2; +>test10_2 : Symbol(test10_2, Decl(optionalPropertiesTest.ts, 38, 11)) >i2 : Symbol(i2, Decl(optionalPropertiesTest.ts, 19, 32)) test10_1 = test10_2; >test10_1 : Symbol(test10_1, Decl(optionalPropertiesTest.ts, 37, 3)) ->test10_2 : Symbol(test10_2, Decl(optionalPropertiesTest.ts, 38, 3)) +>test10_2 : Symbol(test10_2, Decl(optionalPropertiesTest.ts, 38, 11)) diff --git a/tests/baselines/reference/optionalPropertiesTest.types b/tests/baselines/reference/optionalPropertiesTest.types index 4a907bb1ca1a4..885efbb1ed5b6 100644 --- a/tests/baselines/reference/optionalPropertiesTest.types +++ b/tests/baselines/reference/optionalPropertiesTest.types @@ -221,7 +221,7 @@ var test9_1: i2; >test9_1 : i2 > : ^^ -var test9_2: i1; +declare var test9_2: i1; >test9_2 : i1 > : ^^ @@ -237,7 +237,7 @@ var test10_1: i1; >test10_1 : i1 > : ^^ -var test10_2: i2; +declare var test10_2: i2; >test10_2 : i2 > : ^^ diff --git a/tests/baselines/reference/orderMattersForSignatureGroupIdentity.errors.txt b/tests/baselines/reference/orderMattersForSignatureGroupIdentity.errors.txt index cf8453f2e87b9..d87aa923504e7 100644 --- a/tests/baselines/reference/orderMattersForSignatureGroupIdentity.errors.txt +++ b/tests/baselines/reference/orderMattersForSignatureGroupIdentity.errors.txt @@ -4,7 +4,7 @@ orderMattersForSignatureGroupIdentity.ts(19,1): error TS2769: No overload matche Overload 2 of 2, '(x: { n: number; }): number', gave the following error. Object literal may only specify known properties, and 's' does not exist in type '{ n: number; }'. orderMattersForSignatureGroupIdentity.ts(19,20): error TS2339: Property 'toLowerCase' does not exist on type 'never'. -orderMattersForSignatureGroupIdentity.ts(22,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'w' must be of type 'A', but here has type 'C'. +orderMattersForSignatureGroupIdentity.ts(22,13): error TS2403: Subsequent variable declarations must have the same type. Variable 'w' must be of type 'A', but here has type 'C'. orderMattersForSignatureGroupIdentity.ts(24,1): error TS2769: No overload matches this call. Overload 1 of 2, '(x: { s: string; }): string', gave the following error. Object literal may only specify known properties, and 'n' does not exist in type '{ s: string; }'. @@ -29,8 +29,8 @@ orderMattersForSignatureGroupIdentity.ts(24,20): error TS2339: Property 'toLower (x: { s: string }): string } - var v: A; - var v: B; + declare var v: A; + declare var v: B; v({ s: "", n: 0 }).toLowerCase(); ~ @@ -42,11 +42,11 @@ orderMattersForSignatureGroupIdentity.ts(24,20): error TS2339: Property 'toLower ~~~~~~~~~~~ !!! error TS2339: Property 'toLowerCase' does not exist on type 'never'. - var w: A; - var w: C; - ~ + declare var w: A; + declare var w: C; + ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'w' must be of type 'A', but here has type 'C'. -!!! related TS6203 orderMattersForSignatureGroupIdentity.ts:21:5: 'w' was also declared here. +!!! related TS6203 orderMattersForSignatureGroupIdentity.ts:21:13: 'w' was also declared here. w({ s: "", n: 0 }).toLowerCase(); ~ diff --git a/tests/baselines/reference/orderMattersForSignatureGroupIdentity.js b/tests/baselines/reference/orderMattersForSignatureGroupIdentity.js index 0a82c3abfa72e..2747ce7037a68 100644 --- a/tests/baselines/reference/orderMattersForSignatureGroupIdentity.js +++ b/tests/baselines/reference/orderMattersForSignatureGroupIdentity.js @@ -16,20 +16,16 @@ interface C { (x: { s: string }): string } -var v: A; -var v: B; +declare var v: A; +declare var v: B; v({ s: "", n: 0 }).toLowerCase(); -var w: A; -var w: C; +declare var w: A; +declare var w: C; w({ s: "", n: 0 }).toLowerCase(); //// [orderMattersForSignatureGroupIdentity.js] -var v; -var v; v({ s: "", n: 0 }).toLowerCase(); -var w; -var w; w({ s: "", n: 0 }).toLowerCase(); diff --git a/tests/baselines/reference/orderMattersForSignatureGroupIdentity.symbols b/tests/baselines/reference/orderMattersForSignatureGroupIdentity.symbols index a5fc55b002afe..6a0c7afc0a514 100644 --- a/tests/baselines/reference/orderMattersForSignatureGroupIdentity.symbols +++ b/tests/baselines/reference/orderMattersForSignatureGroupIdentity.symbols @@ -37,29 +37,29 @@ interface C { >s : Symbol(s, Decl(orderMattersForSignatureGroupIdentity.ts, 12, 9)) } -var v: A; ->v : Symbol(v, Decl(orderMattersForSignatureGroupIdentity.ts, 15, 3), Decl(orderMattersForSignatureGroupIdentity.ts, 16, 3)) +declare var v: A; +>v : Symbol(v, Decl(orderMattersForSignatureGroupIdentity.ts, 15, 11), Decl(orderMattersForSignatureGroupIdentity.ts, 16, 11)) >A : Symbol(A, Decl(orderMattersForSignatureGroupIdentity.ts, 0, 0)) -var v: B; ->v : Symbol(v, Decl(orderMattersForSignatureGroupIdentity.ts, 15, 3), Decl(orderMattersForSignatureGroupIdentity.ts, 16, 3)) +declare var v: B; +>v : Symbol(v, Decl(orderMattersForSignatureGroupIdentity.ts, 15, 11), Decl(orderMattersForSignatureGroupIdentity.ts, 16, 11)) >B : Symbol(B, Decl(orderMattersForSignatureGroupIdentity.ts, 3, 1)) v({ s: "", n: 0 }).toLowerCase(); ->v : Symbol(v, Decl(orderMattersForSignatureGroupIdentity.ts, 15, 3), Decl(orderMattersForSignatureGroupIdentity.ts, 16, 3)) +>v : Symbol(v, Decl(orderMattersForSignatureGroupIdentity.ts, 15, 11), Decl(orderMattersForSignatureGroupIdentity.ts, 16, 11)) >s : Symbol(s, Decl(orderMattersForSignatureGroupIdentity.ts, 18, 3)) >n : Symbol(n, Decl(orderMattersForSignatureGroupIdentity.ts, 18, 10)) -var w: A; ->w : Symbol(w, Decl(orderMattersForSignatureGroupIdentity.ts, 20, 3), Decl(orderMattersForSignatureGroupIdentity.ts, 21, 3)) +declare var w: A; +>w : Symbol(w, Decl(orderMattersForSignatureGroupIdentity.ts, 20, 11), Decl(orderMattersForSignatureGroupIdentity.ts, 21, 11)) >A : Symbol(A, Decl(orderMattersForSignatureGroupIdentity.ts, 0, 0)) -var w: C; ->w : Symbol(w, Decl(orderMattersForSignatureGroupIdentity.ts, 20, 3), Decl(orderMattersForSignatureGroupIdentity.ts, 21, 3)) +declare var w: C; +>w : Symbol(w, Decl(orderMattersForSignatureGroupIdentity.ts, 20, 11), Decl(orderMattersForSignatureGroupIdentity.ts, 21, 11)) >C : Symbol(C, Decl(orderMattersForSignatureGroupIdentity.ts, 8, 1)) w({ s: "", n: 0 }).toLowerCase(); ->w : Symbol(w, Decl(orderMattersForSignatureGroupIdentity.ts, 20, 3), Decl(orderMattersForSignatureGroupIdentity.ts, 21, 3)) +>w : Symbol(w, Decl(orderMattersForSignatureGroupIdentity.ts, 20, 11), Decl(orderMattersForSignatureGroupIdentity.ts, 21, 11)) >s : Symbol(s, Decl(orderMattersForSignatureGroupIdentity.ts, 23, 3)) >n : Symbol(n, Decl(orderMattersForSignatureGroupIdentity.ts, 23, 10)) diff --git a/tests/baselines/reference/orderMattersForSignatureGroupIdentity.types b/tests/baselines/reference/orderMattersForSignatureGroupIdentity.types index 38088475c1905..2609b0ebe83f6 100644 --- a/tests/baselines/reference/orderMattersForSignatureGroupIdentity.types +++ b/tests/baselines/reference/orderMattersForSignatureGroupIdentity.types @@ -43,11 +43,11 @@ interface C { > : ^^^^^^ } -var v: A; +declare var v: A; >v : A > : ^ -var v: B; +declare var v: B; >v : A > : ^ @@ -73,11 +73,11 @@ v({ s: "", n: 0 }).toLowerCase(); >toLowerCase : any > : ^^^ -var w: A; +declare var w: A; >w : A > : ^ -var w: C; +declare var w: C; >w : A > : ^ diff --git a/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.errors.txt b/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.errors.txt index 8c10009c3c602..54738a9c24832 100644 --- a/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.errors.txt +++ b/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.errors.txt @@ -8,7 +8,7 @@ overloadErrorMatchesImplementationElaboaration.ts(8,12): error TS2345: Argument publish(event: T): void {} } - var ea: EventAggregator; + declare var ea: EventAggregator; ea.publish([1,2,3]); ~~~~~~~ !!! error TS2345: Argument of type 'number[]' is not assignable to parameter of type 'string'. diff --git a/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.js b/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.js index a253fb65da218..5766b5d61fe7e 100644 --- a/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.js +++ b/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.js @@ -7,7 +7,7 @@ class EventAggregator publish(event: T): void {} } -var ea: EventAggregator; +declare var ea: EventAggregator; ea.publish([1,2,3]); //// [overloadErrorMatchesImplementationElaboaration.js] @@ -17,5 +17,4 @@ var EventAggregator = /** @class */ (function () { EventAggregator.prototype.publish = function (event) { }; return EventAggregator; }()); -var ea; ea.publish([1, 2, 3]); diff --git a/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.symbols b/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.symbols index a38e3fefcfbd7..e91662ff18283 100644 --- a/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.symbols +++ b/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.symbols @@ -16,12 +16,12 @@ class EventAggregator >T : Symbol(T, Decl(overloadErrorMatchesImplementationElaboaration.ts, 3, 12)) } -var ea: EventAggregator; ->ea : Symbol(ea, Decl(overloadErrorMatchesImplementationElaboaration.ts, 6, 3)) +declare var ea: EventAggregator; +>ea : Symbol(ea, Decl(overloadErrorMatchesImplementationElaboaration.ts, 6, 11)) >EventAggregator : Symbol(EventAggregator, Decl(overloadErrorMatchesImplementationElaboaration.ts, 0, 0)) ea.publish([1,2,3]); >ea.publish : Symbol(EventAggregator.publish, Decl(overloadErrorMatchesImplementationElaboaration.ts, 1, 1), Decl(overloadErrorMatchesImplementationElaboaration.ts, 2, 45)) ->ea : Symbol(ea, Decl(overloadErrorMatchesImplementationElaboaration.ts, 6, 3)) +>ea : Symbol(ea, Decl(overloadErrorMatchesImplementationElaboaration.ts, 6, 11)) >publish : Symbol(EventAggregator.publish, Decl(overloadErrorMatchesImplementationElaboaration.ts, 1, 1), Decl(overloadErrorMatchesImplementationElaboaration.ts, 2, 45)) diff --git a/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.types b/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.types index bf4a9a587c9cb..44fceaf7004bd 100644 --- a/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.types +++ b/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.types @@ -20,7 +20,7 @@ class EventAggregator > : ^ } -var ea: EventAggregator; +declare var ea: EventAggregator; >ea : EventAggregator > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt index 87780c965b643..db79bb4856226 100644 --- a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt +++ b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt @@ -29,7 +29,7 @@ overloadOnConstNoAnyImplementation2.ts(21,9): error TS2345: Argument of type '(x } } - var c: C; + declare var c: C; c.x1(1, (x: 'hi') => { return 1; } ); c.x1(1, (x: 'bye') => { return 1; } ); ~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.js b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.js index b0f356fe764fa..b4a3c6c027fc2 100644 --- a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.js +++ b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.js @@ -16,7 +16,7 @@ class C { } } -var c: C; +declare var c: C; c.x1(1, (x: 'hi') => { return 1; } ); c.x1(1, (x: 'bye') => { return 1; } ); c.x1(1, (x) => { return 1; } ); @@ -36,7 +36,6 @@ var C = /** @class */ (function () { }; return C; }()); -var c; c.x1(1, function (x) { return 1; }); c.x1(1, function (x) { return 1; }); c.x1(1, function (x) { return 1; }); diff --git a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.symbols b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.symbols index 2cf2ae24826f9..6a01ddb1dcbb2 100644 --- a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.symbols +++ b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.symbols @@ -44,31 +44,31 @@ class C { } } -var c: C; ->c : Symbol(c, Decl(overloadOnConstNoAnyImplementation2.ts, 15, 3)) +declare var c: C; +>c : Symbol(c, Decl(overloadOnConstNoAnyImplementation2.ts, 15, 11)) >C : Symbol(C, Decl(overloadOnConstNoAnyImplementation2.ts, 2, 1)) c.x1(1, (x: 'hi') => { return 1; } ); >c.x1 : Symbol(C.x1, Decl(overloadOnConstNoAnyImplementation2.ts, 4, 9), Decl(overloadOnConstNoAnyImplementation2.ts, 5, 49)) ->c : Symbol(c, Decl(overloadOnConstNoAnyImplementation2.ts, 15, 3)) +>c : Symbol(c, Decl(overloadOnConstNoAnyImplementation2.ts, 15, 11)) >x1 : Symbol(C.x1, Decl(overloadOnConstNoAnyImplementation2.ts, 4, 9), Decl(overloadOnConstNoAnyImplementation2.ts, 5, 49)) >x : Symbol(x, Decl(overloadOnConstNoAnyImplementation2.ts, 16, 9)) c.x1(1, (x: 'bye') => { return 1; } ); >c.x1 : Symbol(C.x1, Decl(overloadOnConstNoAnyImplementation2.ts, 4, 9), Decl(overloadOnConstNoAnyImplementation2.ts, 5, 49)) ->c : Symbol(c, Decl(overloadOnConstNoAnyImplementation2.ts, 15, 3)) +>c : Symbol(c, Decl(overloadOnConstNoAnyImplementation2.ts, 15, 11)) >x1 : Symbol(C.x1, Decl(overloadOnConstNoAnyImplementation2.ts, 4, 9), Decl(overloadOnConstNoAnyImplementation2.ts, 5, 49)) >x : Symbol(x, Decl(overloadOnConstNoAnyImplementation2.ts, 17, 9)) c.x1(1, (x) => { return 1; } ); >c.x1 : Symbol(C.x1, Decl(overloadOnConstNoAnyImplementation2.ts, 4, 9), Decl(overloadOnConstNoAnyImplementation2.ts, 5, 49)) ->c : Symbol(c, Decl(overloadOnConstNoAnyImplementation2.ts, 15, 3)) +>c : Symbol(c, Decl(overloadOnConstNoAnyImplementation2.ts, 15, 11)) >x1 : Symbol(C.x1, Decl(overloadOnConstNoAnyImplementation2.ts, 4, 9), Decl(overloadOnConstNoAnyImplementation2.ts, 5, 49)) >x : Symbol(x, Decl(overloadOnConstNoAnyImplementation2.ts, 18, 9)) c.x1(1, (x: number) => { return 1; } ); >c.x1 : Symbol(C.x1, Decl(overloadOnConstNoAnyImplementation2.ts, 4, 9), Decl(overloadOnConstNoAnyImplementation2.ts, 5, 49)) ->c : Symbol(c, Decl(overloadOnConstNoAnyImplementation2.ts, 15, 3)) +>c : Symbol(c, Decl(overloadOnConstNoAnyImplementation2.ts, 15, 11)) >x1 : Symbol(C.x1, Decl(overloadOnConstNoAnyImplementation2.ts, 4, 9), Decl(overloadOnConstNoAnyImplementation2.ts, 5, 49)) >x : Symbol(x, Decl(overloadOnConstNoAnyImplementation2.ts, 20, 9)) diff --git a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types index f0950110a396e..f7050d836b79a 100644 --- a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types +++ b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types @@ -77,7 +77,7 @@ class C { } } -var c: C; +declare var c: C; >c : C > : ^ diff --git a/tests/baselines/reference/overloadOnConstNoStringImplementation2.errors.txt b/tests/baselines/reference/overloadOnConstNoStringImplementation2.errors.txt index 89bfe17952419..9b7b8968d1d17 100644 --- a/tests/baselines/reference/overloadOnConstNoStringImplementation2.errors.txt +++ b/tests/baselines/reference/overloadOnConstNoStringImplementation2.errors.txt @@ -22,7 +22,7 @@ overloadOnConstNoStringImplementation2.ts(20,9): error TS2345: Argument of type } } - var c: C; + declare var c: C; c.x1(1, (x: 'hi') => { return 1; } ); c.x1(1, (x: 'bye') => { return 1; } ); ~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/overloadOnConstNoStringImplementation2.js b/tests/baselines/reference/overloadOnConstNoStringImplementation2.js index 831779f35ce72..e95d2280a223e 100644 --- a/tests/baselines/reference/overloadOnConstNoStringImplementation2.js +++ b/tests/baselines/reference/overloadOnConstNoStringImplementation2.js @@ -16,7 +16,7 @@ class C implements I { } } -var c: C; +declare var c: C; c.x1(1, (x: 'hi') => { return 1; } ); c.x1(1, (x: 'bye') => { return 1; } ); c.x1(1, (x: string) => { return 1; } ); @@ -35,7 +35,6 @@ var C = /** @class */ (function () { }; return C; }()); -var c; c.x1(1, function (x) { return 1; }); c.x1(1, function (x) { return 1; }); c.x1(1, function (x) { return 1; }); diff --git a/tests/baselines/reference/overloadOnConstNoStringImplementation2.symbols b/tests/baselines/reference/overloadOnConstNoStringImplementation2.symbols index a23898c0b3f5c..3552e6d270c61 100644 --- a/tests/baselines/reference/overloadOnConstNoStringImplementation2.symbols +++ b/tests/baselines/reference/overloadOnConstNoStringImplementation2.symbols @@ -45,31 +45,31 @@ class C implements I { } } -var c: C; ->c : Symbol(c, Decl(overloadOnConstNoStringImplementation2.ts, 15, 3)) +declare var c: C; +>c : Symbol(c, Decl(overloadOnConstNoStringImplementation2.ts, 15, 11)) >C : Symbol(C, Decl(overloadOnConstNoStringImplementation2.ts, 2, 1)) c.x1(1, (x: 'hi') => { return 1; } ); >c.x1 : Symbol(C.x1, Decl(overloadOnConstNoStringImplementation2.ts, 4, 22), Decl(overloadOnConstNoStringImplementation2.ts, 5, 49)) ->c : Symbol(c, Decl(overloadOnConstNoStringImplementation2.ts, 15, 3)) +>c : Symbol(c, Decl(overloadOnConstNoStringImplementation2.ts, 15, 11)) >x1 : Symbol(C.x1, Decl(overloadOnConstNoStringImplementation2.ts, 4, 22), Decl(overloadOnConstNoStringImplementation2.ts, 5, 49)) >x : Symbol(x, Decl(overloadOnConstNoStringImplementation2.ts, 16, 9)) c.x1(1, (x: 'bye') => { return 1; } ); >c.x1 : Symbol(C.x1, Decl(overloadOnConstNoStringImplementation2.ts, 4, 22), Decl(overloadOnConstNoStringImplementation2.ts, 5, 49)) ->c : Symbol(c, Decl(overloadOnConstNoStringImplementation2.ts, 15, 3)) +>c : Symbol(c, Decl(overloadOnConstNoStringImplementation2.ts, 15, 11)) >x1 : Symbol(C.x1, Decl(overloadOnConstNoStringImplementation2.ts, 4, 22), Decl(overloadOnConstNoStringImplementation2.ts, 5, 49)) >x : Symbol(x, Decl(overloadOnConstNoStringImplementation2.ts, 17, 9)) c.x1(1, (x: string) => { return 1; } ); >c.x1 : Symbol(C.x1, Decl(overloadOnConstNoStringImplementation2.ts, 4, 22), Decl(overloadOnConstNoStringImplementation2.ts, 5, 49)) ->c : Symbol(c, Decl(overloadOnConstNoStringImplementation2.ts, 15, 3)) +>c : Symbol(c, Decl(overloadOnConstNoStringImplementation2.ts, 15, 11)) >x1 : Symbol(C.x1, Decl(overloadOnConstNoStringImplementation2.ts, 4, 22), Decl(overloadOnConstNoStringImplementation2.ts, 5, 49)) >x : Symbol(x, Decl(overloadOnConstNoStringImplementation2.ts, 18, 9)) c.x1(1, (x: number) => { return 1; } ); >c.x1 : Symbol(C.x1, Decl(overloadOnConstNoStringImplementation2.ts, 4, 22), Decl(overloadOnConstNoStringImplementation2.ts, 5, 49)) ->c : Symbol(c, Decl(overloadOnConstNoStringImplementation2.ts, 15, 3)) +>c : Symbol(c, Decl(overloadOnConstNoStringImplementation2.ts, 15, 11)) >x1 : Symbol(C.x1, Decl(overloadOnConstNoStringImplementation2.ts, 4, 22), Decl(overloadOnConstNoStringImplementation2.ts, 5, 49)) >x : Symbol(x, Decl(overloadOnConstNoStringImplementation2.ts, 19, 9)) diff --git a/tests/baselines/reference/overloadOnConstNoStringImplementation2.types b/tests/baselines/reference/overloadOnConstNoStringImplementation2.types index c8994bf9cab05..8eec6b0ff4414 100644 --- a/tests/baselines/reference/overloadOnConstNoStringImplementation2.types +++ b/tests/baselines/reference/overloadOnConstNoStringImplementation2.types @@ -77,7 +77,7 @@ class C implements I { } } -var c: C; +declare var c: C; >c : C > : ^ diff --git a/tests/baselines/reference/overloadResolutionConstructors.errors.txt b/tests/baselines/reference/overloadResolutionConstructors.errors.txt index 2a70698ec11c6..d8a18c8745595 100644 --- a/tests/baselines/reference/overloadResolutionConstructors.errors.txt +++ b/tests/baselines/reference/overloadResolutionConstructors.errors.txt @@ -42,7 +42,7 @@ overloadResolutionConstructors.ts(100,26): error TS2551: Property 'toFixed' does new (s: string): string; new (s: number): number; } - var fn1: fn1; + declare var fn1: fn1; // Ambiguous call picks the first overload in declaration order var s = new fn1(undefined); @@ -62,7 +62,7 @@ overloadResolutionConstructors.ts(100,26): error TS2551: Property 'toFixed' does new (s: string, n: number): number; new (n: number, t: T): T; } - var fn2: fn2; + declare var fn2: fn2; var d = new fn2(0, undefined); var d: Date; @@ -84,7 +84,7 @@ overloadResolutionConstructors.ts(100,26): error TS2551: Property 'toFixed' does new(s: string, t: T, u: U): U; new(v: V, u: U, t: T): number; } - var fn3: fn3; + declare var fn3: fn3; var s = new fn3(3); var s = new fn3('', 3, ''); @@ -106,7 +106,7 @@ overloadResolutionConstructors.ts(100,26): error TS2551: Property 'toFixed' does new(n: T, m: U); new(n: T, m: U); } - var fn4: fn4; + declare var fn4: fn4; new fn4('', 3); new fn4(3, ''); // Error @@ -149,7 +149,7 @@ overloadResolutionConstructors.ts(100,26): error TS2551: Property 'toFixed' does new(f: (n: string) => void): string; new(f: (n: number) => void): number; } - var fn5: fn5; + declare var fn5: fn5; var n = new fn5((n) => n.toFixed()); ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'n' must be of type 'number', but here has type 'string'. diff --git a/tests/baselines/reference/overloadResolutionConstructors.js b/tests/baselines/reference/overloadResolutionConstructors.js index 178c9f981e4bc..0b02b6f757370 100644 --- a/tests/baselines/reference/overloadResolutionConstructors.js +++ b/tests/baselines/reference/overloadResolutionConstructors.js @@ -20,7 +20,7 @@ interface fn1 { new (s: string): string; new (s: number): number; } -var fn1: fn1; +declare var fn1: fn1; // Ambiguous call picks the first overload in declaration order var s = new fn1(undefined); @@ -34,7 +34,7 @@ interface fn2 { new (s: string, n: number): number; new (n: number, t: T): T; } -var fn2: fn2; +declare var fn2: fn2; var d = new fn2(0, undefined); var d: Date; @@ -54,7 +54,7 @@ interface fn3 { new(s: string, t: T, u: U): U; new(v: V, u: U, t: T): number; } -var fn3: fn3; +declare var fn3: fn3; var s = new fn3(3); var s = new fn3('', 3, ''); @@ -74,7 +74,7 @@ interface fn4 { new(n: T, m: U); new(n: T, m: U); } -var fn4: fn4; +declare var fn4: fn4; new fn4('', 3); new fn4(3, ''); // Error @@ -99,7 +99,7 @@ interface fn5 { new(f: (n: string) => void): string; new(f: (n: number) => void): number; } -var fn5: fn5; +declare var fn5: fn5; var n = new fn5((n) => n.toFixed()); var s = new fn5((n) => n.substr(0)); @@ -146,13 +146,11 @@ var SomeDerived3 = /** @class */ (function (_super) { } return SomeDerived3; }(SomeBase)); -var fn1; // Ambiguous call picks the first overload in declaration order var s = new fn1(undefined); var s; // No candidate overloads found new fn1({}); // Error -var fn2; var d = new fn2(0, undefined); var d; // Generic and non - generic overload where generic overload is the only candidate when called without type arguments @@ -161,7 +159,6 @@ var s = new fn2(0, ''); new fn2('', 0); // Error // Generic and non - generic overload where non - generic overload is the only candidate when called without type arguments new fn2('', 0); // OK -var fn3; var s = new fn3(3); var s = new fn3('', 3, ''); var n = new fn3(5, 5, 5); @@ -172,7 +169,6 @@ var s = new fn3('', '', ''); var n = new fn3('', '', 3); // Generic overloads with differing arity called with type argument count that doesn't match any overload new fn3(); // Error -var fn4; new fn4('', 3); new fn4(3, ''); // Error new fn4('', 3); // Error @@ -187,6 +183,5 @@ new fn4(null, null); // Error // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints new fn4(true, null); // Error new fn4(null, true); // Error -var fn5; var n = new fn5(function (n) { return n.toFixed(); }); var s = new fn5(function (n) { return n.substr(0); }); diff --git a/tests/baselines/reference/overloadResolutionConstructors.symbols b/tests/baselines/reference/overloadResolutionConstructors.symbols index 61b234dfd0d00..1e0fc555c58ed 100644 --- a/tests/baselines/reference/overloadResolutionConstructors.symbols +++ b/tests/baselines/reference/overloadResolutionConstructors.symbols @@ -33,7 +33,7 @@ class SomeDerived3 extends SomeBase { } interface fn1 { ->fn1 : Symbol(fn1, Decl(overloadResolutionConstructors.ts, 13, 1), Decl(overloadResolutionConstructors.ts, 19, 3)) +>fn1 : Symbol(fn1, Decl(overloadResolutionConstructors.ts, 13, 1), Decl(overloadResolutionConstructors.ts, 19, 11)) new (s: string): string; >s : Symbol(s, Decl(overloadResolutionConstructors.ts, 16, 9)) @@ -41,14 +41,14 @@ interface fn1 { new (s: number): number; >s : Symbol(s, Decl(overloadResolutionConstructors.ts, 17, 9)) } -var fn1: fn1; ->fn1 : Symbol(fn1, Decl(overloadResolutionConstructors.ts, 13, 1), Decl(overloadResolutionConstructors.ts, 19, 3)) ->fn1 : Symbol(fn1, Decl(overloadResolutionConstructors.ts, 13, 1), Decl(overloadResolutionConstructors.ts, 19, 3)) +declare var fn1: fn1; +>fn1 : Symbol(fn1, Decl(overloadResolutionConstructors.ts, 13, 1), Decl(overloadResolutionConstructors.ts, 19, 11)) +>fn1 : Symbol(fn1, Decl(overloadResolutionConstructors.ts, 13, 1), Decl(overloadResolutionConstructors.ts, 19, 11)) // Ambiguous call picks the first overload in declaration order var s = new fn1(undefined); >s : Symbol(s, Decl(overloadResolutionConstructors.ts, 22, 3), Decl(overloadResolutionConstructors.ts, 23, 3), Decl(overloadResolutionConstructors.ts, 39, 3), Decl(overloadResolutionConstructors.ts, 55, 3), Decl(overloadResolutionConstructors.ts, 56, 3) ... and 3 more) ->fn1 : Symbol(fn1, Decl(overloadResolutionConstructors.ts, 13, 1), Decl(overloadResolutionConstructors.ts, 19, 3)) +>fn1 : Symbol(fn1, Decl(overloadResolutionConstructors.ts, 13, 1), Decl(overloadResolutionConstructors.ts, 19, 11)) >undefined : Symbol(undefined) var s: string; @@ -56,11 +56,11 @@ var s: string; // No candidate overloads found new fn1({}); // Error ->fn1 : Symbol(fn1, Decl(overloadResolutionConstructors.ts, 13, 1), Decl(overloadResolutionConstructors.ts, 19, 3)) +>fn1 : Symbol(fn1, Decl(overloadResolutionConstructors.ts, 13, 1), Decl(overloadResolutionConstructors.ts, 19, 11)) // Generic and non - generic overload where generic overload is the only candidate when called with type arguments interface fn2 { ->fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 3)) +>fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 11)) new (s: string, n: number): number; >s : Symbol(s, Decl(overloadResolutionConstructors.ts, 30, 9)) @@ -73,13 +73,13 @@ interface fn2 { >T : Symbol(T, Decl(overloadResolutionConstructors.ts, 31, 9)) >T : Symbol(T, Decl(overloadResolutionConstructors.ts, 31, 9)) } -var fn2: fn2; ->fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 3)) ->fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 3)) +declare var fn2: fn2; +>fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 11)) +>fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 11)) var d = new fn2(0, undefined); >d : Symbol(d, Decl(overloadResolutionConstructors.ts, 35, 3), Decl(overloadResolutionConstructors.ts, 36, 3)) ->fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 3)) +>fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 11)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >undefined : Symbol(undefined) @@ -90,20 +90,20 @@ var d: Date; // Generic and non - generic overload where generic overload is the only candidate when called without type arguments var s = new fn2(0, ''); >s : Symbol(s, Decl(overloadResolutionConstructors.ts, 22, 3), Decl(overloadResolutionConstructors.ts, 23, 3), Decl(overloadResolutionConstructors.ts, 39, 3), Decl(overloadResolutionConstructors.ts, 55, 3), Decl(overloadResolutionConstructors.ts, 56, 3) ... and 3 more) ->fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 3)) +>fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 11)) // Generic and non - generic overload where non - generic overload is the only candidate when called with type arguments new fn2('', 0); // Error ->fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 3)) +>fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 11)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Generic and non - generic overload where non - generic overload is the only candidate when called without type arguments new fn2('', 0); // OK ->fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 3)) +>fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 11)) // Generic overloads with differing arity called without type arguments interface fn3 { ->fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 3)) +>fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 11)) new(n: T): string; >T : Symbol(T, Decl(overloadResolutionConstructors.ts, 49, 8)) @@ -131,21 +131,21 @@ interface fn3 { >t : Symbol(t, Decl(overloadResolutionConstructors.ts, 51, 28)) >T : Symbol(T, Decl(overloadResolutionConstructors.ts, 51, 8)) } -var fn3: fn3; ->fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 3)) ->fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 3)) +declare var fn3: fn3; +>fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 11)) +>fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 11)) var s = new fn3(3); >s : Symbol(s, Decl(overloadResolutionConstructors.ts, 22, 3), Decl(overloadResolutionConstructors.ts, 23, 3), Decl(overloadResolutionConstructors.ts, 39, 3), Decl(overloadResolutionConstructors.ts, 55, 3), Decl(overloadResolutionConstructors.ts, 56, 3) ... and 3 more) ->fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 3)) +>fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 11)) var s = new fn3('', 3, ''); >s : Symbol(s, Decl(overloadResolutionConstructors.ts, 22, 3), Decl(overloadResolutionConstructors.ts, 23, 3), Decl(overloadResolutionConstructors.ts, 39, 3), Decl(overloadResolutionConstructors.ts, 55, 3), Decl(overloadResolutionConstructors.ts, 56, 3) ... and 3 more) ->fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 3)) +>fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 11)) var n = new fn3(5, 5, 5); >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 57, 3), Decl(overloadResolutionConstructors.ts, 58, 3), Decl(overloadResolutionConstructors.ts, 63, 3), Decl(overloadResolutionConstructors.ts, 99, 3)) ->fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 3)) +>fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 11)) var n: number; >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 57, 3), Decl(overloadResolutionConstructors.ts, 58, 3), Decl(overloadResolutionConstructors.ts, 63, 3), Decl(overloadResolutionConstructors.ts, 99, 3)) @@ -153,23 +153,23 @@ var n: number; // Generic overloads with differing arity called with type arguments matching each overload type parameter count var s = new fn3(4); >s : Symbol(s, Decl(overloadResolutionConstructors.ts, 22, 3), Decl(overloadResolutionConstructors.ts, 23, 3), Decl(overloadResolutionConstructors.ts, 39, 3), Decl(overloadResolutionConstructors.ts, 55, 3), Decl(overloadResolutionConstructors.ts, 56, 3) ... and 3 more) ->fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 3)) +>fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 11)) var s = new fn3('', '', ''); >s : Symbol(s, Decl(overloadResolutionConstructors.ts, 22, 3), Decl(overloadResolutionConstructors.ts, 23, 3), Decl(overloadResolutionConstructors.ts, 39, 3), Decl(overloadResolutionConstructors.ts, 55, 3), Decl(overloadResolutionConstructors.ts, 56, 3) ... and 3 more) ->fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 3)) +>fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 11)) var n = new fn3('', '', 3); >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 57, 3), Decl(overloadResolutionConstructors.ts, 58, 3), Decl(overloadResolutionConstructors.ts, 63, 3), Decl(overloadResolutionConstructors.ts, 99, 3)) ->fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 3)) +>fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 11)) // Generic overloads with differing arity called with type argument count that doesn't match any overload new fn3(); // Error ->fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 3)) +>fn3 : Symbol(fn3, Decl(overloadResolutionConstructors.ts, 45, 15), Decl(overloadResolutionConstructors.ts, 53, 11)) // Generic overloads with constraints called with type arguments that satisfy the constraints interface fn4 { ->fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 3)) +>fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 11)) new(n: T, m: U); >T : Symbol(T, Decl(overloadResolutionConstructors.ts, 70, 8)) @@ -187,51 +187,51 @@ interface fn4 { >m : Symbol(m, Decl(overloadResolutionConstructors.ts, 71, 49)) >U : Symbol(U, Decl(overloadResolutionConstructors.ts, 71, 25)) } -var fn4: fn4; ->fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 3)) ->fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 3)) +declare var fn4: fn4; +>fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 11)) +>fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 11)) new fn4('', 3); ->fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 3)) +>fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 11)) new fn4(3, ''); // Error ->fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 3)) +>fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 11)) new fn4('', 3); // Error ->fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 3)) +>fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 11)) new fn4(3, ''); ->fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 3)) +>fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 11)) // Generic overloads with constraints called without type arguments but with types that satisfy the constraints new fn4('', 3); ->fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 3)) +>fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 11)) new fn4(3, ''); ->fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 3)) +>fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 11)) new fn4(3, undefined); ->fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 3)) +>fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 11)) >undefined : Symbol(undefined) new fn4('', null); ->fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 3)) +>fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 11)) // Generic overloads with constraints called with type arguments that do not satisfy the constraints new fn4(null, null); // Error ->fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 3)) +>fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 11)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints new fn4(true, null); // Error ->fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 3)) +>fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 11)) new fn4(null, true); // Error ->fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 3)) +>fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 11)) // Non - generic overloads where contextual typing of function arguments has errors interface fn5 { ->fn5 : Symbol(fn5, Decl(overloadResolutionConstructors.ts, 91, 20), Decl(overloadResolutionConstructors.ts, 98, 3)) +>fn5 : Symbol(fn5, Decl(overloadResolutionConstructors.ts, 91, 20), Decl(overloadResolutionConstructors.ts, 98, 11)) new(f: (n: string) => void): string; >f : Symbol(f, Decl(overloadResolutionConstructors.ts, 95, 8)) @@ -241,19 +241,19 @@ interface fn5 { >f : Symbol(f, Decl(overloadResolutionConstructors.ts, 96, 8)) >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 96, 12)) } -var fn5: fn5; ->fn5 : Symbol(fn5, Decl(overloadResolutionConstructors.ts, 91, 20), Decl(overloadResolutionConstructors.ts, 98, 3)) ->fn5 : Symbol(fn5, Decl(overloadResolutionConstructors.ts, 91, 20), Decl(overloadResolutionConstructors.ts, 98, 3)) +declare var fn5: fn5; +>fn5 : Symbol(fn5, Decl(overloadResolutionConstructors.ts, 91, 20), Decl(overloadResolutionConstructors.ts, 98, 11)) +>fn5 : Symbol(fn5, Decl(overloadResolutionConstructors.ts, 91, 20), Decl(overloadResolutionConstructors.ts, 98, 11)) var n = new fn5((n) => n.toFixed()); >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 57, 3), Decl(overloadResolutionConstructors.ts, 58, 3), Decl(overloadResolutionConstructors.ts, 63, 3), Decl(overloadResolutionConstructors.ts, 99, 3)) ->fn5 : Symbol(fn5, Decl(overloadResolutionConstructors.ts, 91, 20), Decl(overloadResolutionConstructors.ts, 98, 3)) +>fn5 : Symbol(fn5, Decl(overloadResolutionConstructors.ts, 91, 20), Decl(overloadResolutionConstructors.ts, 98, 11)) >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 99, 17)) >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 99, 17)) var s = new fn5((n) => n.substr(0)); >s : Symbol(s, Decl(overloadResolutionConstructors.ts, 22, 3), Decl(overloadResolutionConstructors.ts, 23, 3), Decl(overloadResolutionConstructors.ts, 39, 3), Decl(overloadResolutionConstructors.ts, 55, 3), Decl(overloadResolutionConstructors.ts, 56, 3) ... and 3 more) ->fn5 : Symbol(fn5, Decl(overloadResolutionConstructors.ts, 91, 20), Decl(overloadResolutionConstructors.ts, 98, 3)) +>fn5 : Symbol(fn5, Decl(overloadResolutionConstructors.ts, 91, 20), Decl(overloadResolutionConstructors.ts, 98, 11)) >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 100, 17)) >n.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 100, 17)) diff --git a/tests/baselines/reference/overloadResolutionConstructors.types b/tests/baselines/reference/overloadResolutionConstructors.types index 5b6ab01d63534..e1e74df9f48a2 100644 --- a/tests/baselines/reference/overloadResolutionConstructors.types +++ b/tests/baselines/reference/overloadResolutionConstructors.types @@ -53,7 +53,7 @@ interface fn1 { >s : number > : ^^^^^^ } -var fn1: fn1; +declare var fn1: fn1; >fn1 : fn1 > : ^^^ @@ -95,7 +95,7 @@ interface fn2 { >t : T > : ^ } -var fn2: fn2; +declare var fn2: fn2; >fn2 : fn2 > : ^^^ @@ -172,7 +172,7 @@ interface fn3 { >t : T > : ^ } -var fn3: fn3; +declare var fn3: fn3; >fn3 : fn3 > : ^^^ @@ -278,7 +278,7 @@ interface fn4 { >m : U > : ^ } -var fn4: fn4; +declare var fn4: fn4; >fn4 : fn4 > : ^^^ @@ -399,7 +399,7 @@ interface fn5 { >n : number > : ^^^^^^ } -var fn5: fn5; +declare var fn5: fn5; >fn5 : fn5 > : ^^^ diff --git a/tests/baselines/reference/overloadingOnConstants1.errors.txt b/tests/baselines/reference/overloadingOnConstants1.errors.txt index 8c3139b94c5ae..e862d55fe92b2 100644 --- a/tests/baselines/reference/overloadingOnConstants1.errors.txt +++ b/tests/baselines/reference/overloadingOnConstants1.errors.txt @@ -17,7 +17,7 @@ overloadingOnConstants1.ts(25,5): error TS2741: Property 'bar' is missing in typ createElement(tagName: string): Base; } - var d2: Document2; + declare var d2: Document2; // these are ok var htmlElement: Base = d2.createElement("yo") diff --git a/tests/baselines/reference/overloadingOnConstants1.js b/tests/baselines/reference/overloadingOnConstants1.js index 11865a43739bb..1c222af9a3d7e 100644 --- a/tests/baselines/reference/overloadingOnConstants1.js +++ b/tests/baselines/reference/overloadingOnConstants1.js @@ -13,7 +13,7 @@ interface Document2 { createElement(tagName: string): Base; } -var d2: Document2; +declare var d2: Document2; // these are ok var htmlElement: Base = d2.createElement("yo") @@ -73,7 +73,6 @@ var Derived3 = /** @class */ (function (_super) { Derived3.prototype.biz = function () { }; return Derived3; }(Base)); -var d2; // these are ok var htmlElement = d2.createElement("yo"); var htmlCanvasElement = d2.createElement("canvas"); diff --git a/tests/baselines/reference/overloadingOnConstants1.symbols b/tests/baselines/reference/overloadingOnConstants1.symbols index 0ec168e92c97c..cee9f28e7fb48 100644 --- a/tests/baselines/reference/overloadingOnConstants1.symbols +++ b/tests/baselines/reference/overloadingOnConstants1.symbols @@ -44,8 +44,8 @@ interface Document2 { >Base : Symbol(Base, Decl(overloadingOnConstants1.ts, 0, 0)) } -var d2: Document2; ->d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 3)) +declare var d2: Document2; +>d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 11)) >Document2 : Symbol(Document2, Decl(overloadingOnConstants1.ts, 3, 41)) // these are ok @@ -53,28 +53,28 @@ var htmlElement: Base = d2.createElement("yo") >htmlElement : Symbol(htmlElement, Decl(overloadingOnConstants1.ts, 15, 3)) >Base : Symbol(Base, Decl(overloadingOnConstants1.ts, 0, 0)) >d2.createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) ->d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 3)) +>d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 11)) >createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) var htmlCanvasElement: Derived1 = d2.createElement("canvas"); >htmlCanvasElement : Symbol(htmlCanvasElement, Decl(overloadingOnConstants1.ts, 16, 3)) >Derived1 : Symbol(Derived1, Decl(overloadingOnConstants1.ts, 0, 24)) >d2.createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) ->d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 3)) +>d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 11)) >createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) var htmlDivElement: Derived2 = d2.createElement("div"); >htmlDivElement : Symbol(htmlDivElement, Decl(overloadingOnConstants1.ts, 17, 3)) >Derived2 : Symbol(Derived2, Decl(overloadingOnConstants1.ts, 1, 41)) >d2.createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) ->d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 3)) +>d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 11)) >createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) var htmlSpanElement: Derived3 = d2.createElement("span"); >htmlSpanElement : Symbol(htmlSpanElement, Decl(overloadingOnConstants1.ts, 18, 3)) >Derived3 : Symbol(Derived3, Decl(overloadingOnConstants1.ts, 2, 41)) >d2.createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) ->d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 3)) +>d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 11)) >createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) // these are errors @@ -82,27 +82,27 @@ var htmlElement2: Derived1 = d2.createElement("yo") >htmlElement2 : Symbol(htmlElement2, Decl(overloadingOnConstants1.ts, 21, 3)) >Derived1 : Symbol(Derived1, Decl(overloadingOnConstants1.ts, 0, 24)) >d2.createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) ->d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 3)) +>d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 11)) >createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) var htmlCanvasElement2: Derived3 = d2.createElement("canvas"); >htmlCanvasElement2 : Symbol(htmlCanvasElement2, Decl(overloadingOnConstants1.ts, 22, 3)) >Derived3 : Symbol(Derived3, Decl(overloadingOnConstants1.ts, 2, 41)) >d2.createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) ->d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 3)) +>d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 11)) >createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) var htmlDivElement2: Derived1 = d2.createElement("div"); >htmlDivElement2 : Symbol(htmlDivElement2, Decl(overloadingOnConstants1.ts, 23, 3)) >Derived1 : Symbol(Derived1, Decl(overloadingOnConstants1.ts, 0, 24)) >d2.createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) ->d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 3)) +>d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 11)) >createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) var htmlSpanElement2: Derived1 = d2.createElement("span"); >htmlSpanElement2 : Symbol(htmlSpanElement2, Decl(overloadingOnConstants1.ts, 24, 3)) >Derived1 : Symbol(Derived1, Decl(overloadingOnConstants1.ts, 0, 24)) >d2.createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) ->d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 3)) +>d2 : Symbol(d2, Decl(overloadingOnConstants1.ts, 12, 11)) >createElement : Symbol(Document2.createElement, Decl(overloadingOnConstants1.ts, 5, 21), Decl(overloadingOnConstants1.ts, 6, 47), Decl(overloadingOnConstants1.ts, 7, 44), Decl(overloadingOnConstants1.ts, 8, 45)) diff --git a/tests/baselines/reference/overloadingOnConstants1.types b/tests/baselines/reference/overloadingOnConstants1.types index d5eaa38fcc370..e5cee4e6f4a36 100644 --- a/tests/baselines/reference/overloadingOnConstants1.types +++ b/tests/baselines/reference/overloadingOnConstants1.types @@ -57,7 +57,7 @@ interface Document2 { > : ^^^^^^ } -var d2: Document2; +declare var d2: Document2; >d2 : Document2 > : ^^^^^^^^^ diff --git a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt index 9a005634ba887..78b4b47928065 100644 --- a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt +++ b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt @@ -38,9 +38,11 @@ overloadresolutionWithConstraintCheckingDeferred.ts(18,27): error TS2769: No ove Property 'q' is missing in type 'B' but required in type 'D'. overloadresolutionWithConstraintCheckingDeferred.ts(19,14): error TS2344: Type 'D' does not satisfy the constraint 'A'. Property 'x' is missing in type 'D' but required in type 'A'. +overloadresolutionWithConstraintCheckingDeferred.ts(19,32): error TS2345: Argument of type 'D' is not assignable to parameter of type 'A'. + Property 'x' is missing in type 'D' but required in type 'A'. -==== overloadresolutionWithConstraintCheckingDeferred.ts (6 errors) ==== +==== overloadresolutionWithConstraintCheckingDeferred.ts (7 errors) ==== interface A { x } interface B { x; y } interface C { z } @@ -112,10 +114,14 @@ overloadresolutionWithConstraintCheckingDeferred.ts(19,14): error TS2344: Type ' !!! error TS2769: Property 'q' is missing in type 'B' but required in type 'D'. !!! related TS2728 overloadresolutionWithConstraintCheckingDeferred.ts:4:15: 'q' is declared here. !!! related TS2728 overloadresolutionWithConstraintCheckingDeferred.ts:4:15: 'q' is declared here. - var y: G; // error that D does not satisfy constraint, y is of type G, entire call to foo is an error + var y: G = new G(x); // error that D does not satisfy constraint, y is of type G, entire call to foo is an error ~~~~~~~~ !!! error TS2344: Type 'D' does not satisfy the constraint 'A'. !!! error TS2344: Property 'x' is missing in type 'D' but required in type 'A'. +!!! related TS2728 overloadresolutionWithConstraintCheckingDeferred.ts:1:15: 'x' is declared here. + ~ +!!! error TS2345: Argument of type 'D' is not assignable to parameter of type 'A'. +!!! error TS2345: Property 'x' is missing in type 'D' but required in type 'A'. !!! related TS2728 overloadresolutionWithConstraintCheckingDeferred.ts:1:15: 'x' is declared here. return y; }); diff --git a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.js b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.js index e9e605652262b..7e87d422609ab 100644 --- a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.js +++ b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.js @@ -19,7 +19,7 @@ var result: number = foo(x => new G(x)); // x has type D, new G(x) fails, so fir var result2: number = foo(x => new G(x)); // x has type D, new G(x) fails, so first overload is picked. var result3: string = foo(x => { // x has type D - var y: G; // error that D does not satisfy constraint, y is of type G, entire call to foo is an error + var y: G = new G(x); // error that D does not satisfy constraint, y is of type G, entire call to foo is an error return y; }); @@ -33,6 +33,6 @@ var G = /** @class */ (function () { var result = foo(function (x) { return new G(x); }); // x has type D, new G(x) fails, so first overload is picked. var result2 = foo(function (x) { return new G(x); }); // x has type D, new G(x) fails, so first overload is picked. var result3 = foo(function (x) { - var y; // error that D does not satisfy constraint, y is of type G, entire call to foo is an error + var y = new G(x); // error that D does not satisfy constraint, y is of type G, entire call to foo is an error return y; }); diff --git a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.symbols b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.symbols index a306f97f43d5f..c06f37a086801 100644 --- a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.symbols +++ b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.symbols @@ -66,9 +66,11 @@ var result3: string = foo(x => { // x has type D >foo : Symbol(foo, Decl(overloadresolutionWithConstraintCheckingDeferred.ts, 7, 1), Decl(overloadresolutionWithConstraintCheckingDeferred.ts, 9, 52), Decl(overloadresolutionWithConstraintCheckingDeferred.ts, 10, 49)) >x : Symbol(x, Decl(overloadresolutionWithConstraintCheckingDeferred.ts, 17, 26)) - var y: G; // error that D does not satisfy constraint, y is of type G, entire call to foo is an error + var y: G = new G(x); // error that D does not satisfy constraint, y is of type G, entire call to foo is an error >y : Symbol(y, Decl(overloadresolutionWithConstraintCheckingDeferred.ts, 18, 7)) >G : Symbol(G, Decl(overloadresolutionWithConstraintCheckingDeferred.ts, 3, 17)) +>x : Symbol(x, Decl(overloadresolutionWithConstraintCheckingDeferred.ts, 17, 26)) +>G : Symbol(G, Decl(overloadresolutionWithConstraintCheckingDeferred.ts, 3, 17)) >x : Symbol(x, Decl(overloadresolutionWithConstraintCheckingDeferred.ts, 17, 26)) return y; diff --git a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types index 335f52b8f58e4..60825160c51b0 100644 --- a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types +++ b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types @@ -93,19 +93,25 @@ var result2: number = foo(x => new G(x)); // x has type D, new G(x) fa var result3: string = foo(x => { // x has type D >result3 : string > : ^^^^^^ ->foo(x => { // x has type D var y: G; // error that D does not satisfy constraint, y is of type G, entire call to foo is an error return y;}) : never -> : ^^^^^ +>foo(x => { // x has type D var y: G = new G(x); // error that D does not satisfy constraint, y is of type G, entire call to foo is an error return y;}) : never +> : ^^^^^ >foo : { (arg: (x: D) => number): string; (arg: (x: C) => any): string; (arg: (x: B) => any): number; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ->x => { // x has type D var y: G; // error that D does not satisfy constraint, y is of type G, entire call to foo is an error return y;} : (x: D) => G -> : ^ ^^^^^^^^^^^^ +>x => { // x has type D var y: G = new G(x); // error that D does not satisfy constraint, y is of type G, entire call to foo is an error return y;} : (x: D) => G +> : ^ ^^^^^^^^^^^^ >x : D > : ^ - var y: G; // error that D does not satisfy constraint, y is of type G, entire call to foo is an error + var y: G = new G(x); // error that D does not satisfy constraint, y is of type G, entire call to foo is an error >y : G > : ^^^^ >x : D +> : ^ +>new G(x) : G +> : ^^^^ +>G : typeof G +> : ^^^^^^^^ +>x : D > : ^ return y; diff --git a/tests/baselines/reference/overloadsWithProvisionalErrors.errors.txt b/tests/baselines/reference/overloadsWithProvisionalErrors.errors.txt index 2cbb7768d07e8..b722283a0a880 100644 --- a/tests/baselines/reference/overloadsWithProvisionalErrors.errors.txt +++ b/tests/baselines/reference/overloadsWithProvisionalErrors.errors.txt @@ -13,7 +13,7 @@ overloadsWithProvisionalErrors.ts(8,17): error TS2304: Cannot find name 'blah'. ==== overloadsWithProvisionalErrors.ts (4 errors) ==== - var func: { + declare var func: { (s: string): number; (lambda: (s: string) => { a: number; b: number }): string; }; diff --git a/tests/baselines/reference/overloadsWithProvisionalErrors.js b/tests/baselines/reference/overloadsWithProvisionalErrors.js index fc10e75b3bae5..0b7cbd109b015 100644 --- a/tests/baselines/reference/overloadsWithProvisionalErrors.js +++ b/tests/baselines/reference/overloadsWithProvisionalErrors.js @@ -1,7 +1,7 @@ //// [tests/cases/compiler/overloadsWithProvisionalErrors.ts] //// //// [overloadsWithProvisionalErrors.ts] -var func: { +declare var func: { (s: string): number; (lambda: (s: string) => { a: number; b: number }): string; }; @@ -11,7 +11,6 @@ func(s => ({ a: blah, b: 3 })); // Only error inside the function, but not outsi func(s => ({ a: blah })); // Two errors here, one for blah not being defined, and one for the overload since it would not be applicable anyway //// [overloadsWithProvisionalErrors.js] -var func; func(function (s) { return ({}); }); // Error for no applicable overload (object type is missing a and b) func(function (s) { return ({ a: blah, b: 3 }); }); // Only error inside the function, but not outside (since it would be applicable if not for the provisional error) func(function (s) { return ({ a: blah }); }); // Two errors here, one for blah not being defined, and one for the overload since it would not be applicable anyway diff --git a/tests/baselines/reference/overloadsWithProvisionalErrors.symbols b/tests/baselines/reference/overloadsWithProvisionalErrors.symbols index f5597565a57b4..32a6652964e02 100644 --- a/tests/baselines/reference/overloadsWithProvisionalErrors.symbols +++ b/tests/baselines/reference/overloadsWithProvisionalErrors.symbols @@ -1,8 +1,8 @@ //// [tests/cases/compiler/overloadsWithProvisionalErrors.ts] //// === overloadsWithProvisionalErrors.ts === -var func: { ->func : Symbol(func, Decl(overloadsWithProvisionalErrors.ts, 0, 3)) +declare var func: { +>func : Symbol(func, Decl(overloadsWithProvisionalErrors.ts, 0, 11)) (s: string): number; >s : Symbol(s, Decl(overloadsWithProvisionalErrors.ts, 1, 5)) @@ -16,17 +16,17 @@ var func: { }; func(s => ({})); // Error for no applicable overload (object type is missing a and b) ->func : Symbol(func, Decl(overloadsWithProvisionalErrors.ts, 0, 3)) +>func : Symbol(func, Decl(overloadsWithProvisionalErrors.ts, 0, 11)) >s : Symbol(s, Decl(overloadsWithProvisionalErrors.ts, 5, 5)) func(s => ({ a: blah, b: 3 })); // Only error inside the function, but not outside (since it would be applicable if not for the provisional error) ->func : Symbol(func, Decl(overloadsWithProvisionalErrors.ts, 0, 3)) +>func : Symbol(func, Decl(overloadsWithProvisionalErrors.ts, 0, 11)) >s : Symbol(s, Decl(overloadsWithProvisionalErrors.ts, 6, 5)) >a : Symbol(a, Decl(overloadsWithProvisionalErrors.ts, 6, 12)) >b : Symbol(b, Decl(overloadsWithProvisionalErrors.ts, 6, 21)) func(s => ({ a: blah })); // Two errors here, one for blah not being defined, and one for the overload since it would not be applicable anyway ->func : Symbol(func, Decl(overloadsWithProvisionalErrors.ts, 0, 3)) +>func : Symbol(func, Decl(overloadsWithProvisionalErrors.ts, 0, 11)) >s : Symbol(s, Decl(overloadsWithProvisionalErrors.ts, 7, 5)) >a : Symbol(a, Decl(overloadsWithProvisionalErrors.ts, 7, 12)) diff --git a/tests/baselines/reference/overloadsWithProvisionalErrors.types b/tests/baselines/reference/overloadsWithProvisionalErrors.types index 669e5c332e166..cc2c261119f55 100644 --- a/tests/baselines/reference/overloadsWithProvisionalErrors.types +++ b/tests/baselines/reference/overloadsWithProvisionalErrors.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/overloadsWithProvisionalErrors.ts] //// === overloadsWithProvisionalErrors.ts === -var func: { +declare var func: { >func : { (s: string): number; (lambda: (s: string) => { a: number; b: number; }): string; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/parserAstSpans1.errors.txt b/tests/baselines/reference/parserAstSpans1.errors.txt index 657aaca97162b..ec2867097cd58 100644 --- a/tests/baselines/reference/parserAstSpans1.errors.txt +++ b/tests/baselines/reference/parserAstSpans1.errors.txt @@ -22,28 +22,28 @@ parserAstSpans1.ts(217,24): error TS2340: Only public and protected methods of t nc_l1: () => void; } class c1 implements i1 { - public i1_p1: number; + public i1_p1!: number; public i1_f1() { } - public i1_l1: () => void; - public i1_nc_p1: number; + public i1_l1!: () => void; + public i1_nc_p1!: number; public i1_nc_f1() { } - public i1_nc_l1: () => void; + public i1_nc_l1!: () => void; /** c1_p1*/ - public p1: number; + public p1!: number; /** c1_f1*/ public f1() { } /** c1_l1*/ - public l1: () => void; + public l1!: () => void; /** c1_nc_p1*/ - public nc_p1: number; + public nc_p1!: number; /** c1_nc_f1*/ public nc_f1() { } /** c1_nc_l1*/ - public nc_l1: () => void; + public nc_l1!: () => void; } var i1_i: i1; i1_i.i1_f1(); @@ -84,14 +84,14 @@ parserAstSpans1.ts(217,24): error TS2340: Only public and protected methods of t public get c2_prop() { return 10; } - public c2_nc_p1: number; + public c2_nc_p1!: number; public c2_nc_f1() { } public get c2_nc_prop() { return 10; } /** c2 p1*/ - public p1: number; + public p1!: number; /** c2 f1*/ public f1() { } @@ -99,7 +99,7 @@ parserAstSpans1.ts(217,24): error TS2340: Only public and protected methods of t public get prop() { return 10; } - public nc_p1: number; + public nc_p1!: number; public nc_f1() { } public get nc_prop() { @@ -118,7 +118,7 @@ parserAstSpans1.ts(217,24): error TS2340: Only public and protected methods of t !!! error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. } /** c3 p1*/ - public p1: number; + public p1!: number; /** c3 f1*/ public f1() { } @@ -126,7 +126,7 @@ parserAstSpans1.ts(217,24): error TS2340: Only public and protected methods of t public get prop() { return 10; } - public nc_p1: number; + public nc_p1!: number; public nc_f1() { } public get nc_prop() { @@ -215,10 +215,10 @@ parserAstSpans1.ts(217,24): error TS2340: Only public and protected methods of t /**c5 class*/ class c5 { - public b: number; + public b!: number; } class c6 extends c5 { - public d; + public d!: any; constructor() { super(); this.d = super.b; diff --git a/tests/baselines/reference/parserAstSpans1.js b/tests/baselines/reference/parserAstSpans1.js index 9d6bbdf7e4ee0..e13e7057ebfd0 100644 --- a/tests/baselines/reference/parserAstSpans1.js +++ b/tests/baselines/reference/parserAstSpans1.js @@ -20,28 +20,28 @@ interface i1 { nc_l1: () => void; } class c1 implements i1 { - public i1_p1: number; + public i1_p1!: number; public i1_f1() { } - public i1_l1: () => void; - public i1_nc_p1: number; + public i1_l1!: () => void; + public i1_nc_p1!: number; public i1_nc_f1() { } - public i1_nc_l1: () => void; + public i1_nc_l1!: () => void; /** c1_p1*/ - public p1: number; + public p1!: number; /** c1_f1*/ public f1() { } /** c1_l1*/ - public l1: () => void; + public l1!: () => void; /** c1_nc_p1*/ - public nc_p1: number; + public nc_p1!: number; /** c1_nc_f1*/ public nc_f1() { } /** c1_nc_l1*/ - public nc_l1: () => void; + public nc_l1!: () => void; } var i1_i: i1; i1_i.i1_f1(); @@ -82,14 +82,14 @@ class c2 { public get c2_prop() { return 10; } - public c2_nc_p1: number; + public c2_nc_p1!: number; public c2_nc_f1() { } public get c2_nc_prop() { return 10; } /** c2 p1*/ - public p1: number; + public p1!: number; /** c2 f1*/ public f1() { } @@ -97,7 +97,7 @@ class c2 { public get prop() { return 10; } - public nc_p1: number; + public nc_p1!: number; public nc_f1() { } public get nc_prop() { @@ -114,7 +114,7 @@ class c3 extends c2 { this.p1 = super.c2_p1; } /** c3 p1*/ - public p1: number; + public p1!: number; /** c3 f1*/ public f1() { } @@ -122,7 +122,7 @@ class c3 extends c2 { public get prop() { return 10; } - public nc_p1: number; + public nc_p1!: number; public nc_f1() { } public get nc_prop() { @@ -211,10 +211,10 @@ i2_i.nc_l1(); /**c5 class*/ class c5 { - public b: number; + public b!: number; } class c6 extends c5 { - public d; + public d!: any; constructor() { super(); this.d = super.b; diff --git a/tests/baselines/reference/parserAstSpans1.symbols b/tests/baselines/reference/parserAstSpans1.symbols index 2779f141730fb..eaab00f94f30d 100644 --- a/tests/baselines/reference/parserAstSpans1.symbols +++ b/tests/baselines/reference/parserAstSpans1.symbols @@ -48,46 +48,46 @@ class c1 implements i1 { >c1 : Symbol(c1, Decl(parserAstSpans1.ts, 17, 1)) >i1 : Symbol(i1, Decl(parserAstSpans1.ts, 0, 0)) - public i1_p1: number; + public i1_p1!: number; >i1_p1 : Symbol(c1.i1_p1, Decl(parserAstSpans1.ts, 18, 24)) public i1_f1() { ->i1_f1 : Symbol(c1.i1_f1, Decl(parserAstSpans1.ts, 19, 25)) +>i1_f1 : Symbol(c1.i1_f1, Decl(parserAstSpans1.ts, 19, 26)) } - public i1_l1: () => void; + public i1_l1!: () => void; >i1_l1 : Symbol(c1.i1_l1, Decl(parserAstSpans1.ts, 21, 5)) - public i1_nc_p1: number; ->i1_nc_p1 : Symbol(c1.i1_nc_p1, Decl(parserAstSpans1.ts, 22, 29)) + public i1_nc_p1!: number; +>i1_nc_p1 : Symbol(c1.i1_nc_p1, Decl(parserAstSpans1.ts, 22, 30)) public i1_nc_f1() { ->i1_nc_f1 : Symbol(c1.i1_nc_f1, Decl(parserAstSpans1.ts, 23, 28)) +>i1_nc_f1 : Symbol(c1.i1_nc_f1, Decl(parserAstSpans1.ts, 23, 29)) } - public i1_nc_l1: () => void; + public i1_nc_l1!: () => void; >i1_nc_l1 : Symbol(c1.i1_nc_l1, Decl(parserAstSpans1.ts, 25, 5)) /** c1_p1*/ - public p1: number; ->p1 : Symbol(c1.p1, Decl(parserAstSpans1.ts, 26, 32)) + public p1!: number; +>p1 : Symbol(c1.p1, Decl(parserAstSpans1.ts, 26, 33)) /** c1_f1*/ public f1() { ->f1 : Symbol(c1.f1, Decl(parserAstSpans1.ts, 28, 22)) +>f1 : Symbol(c1.f1, Decl(parserAstSpans1.ts, 28, 23)) } /** c1_l1*/ - public l1: () => void; + public l1!: () => void; >l1 : Symbol(c1.l1, Decl(parserAstSpans1.ts, 31, 5)) /** c1_nc_p1*/ - public nc_p1: number; ->nc_p1 : Symbol(c1.nc_p1, Decl(parserAstSpans1.ts, 33, 26)) + public nc_p1!: number; +>nc_p1 : Symbol(c1.nc_p1, Decl(parserAstSpans1.ts, 33, 27)) /** c1_nc_f1*/ public nc_f1() { ->nc_f1 : Symbol(c1.nc_f1, Decl(parserAstSpans1.ts, 35, 25)) +>nc_f1 : Symbol(c1.nc_f1, Decl(parserAstSpans1.ts, 35, 26)) } /** c1_nc_l1*/ - public nc_l1: () => void; + public nc_l1!: () => void; >nc_l1 : Symbol(c1.nc_l1, Decl(parserAstSpans1.ts, 38, 5)) } var i1_i: i1; @@ -139,24 +139,24 @@ var c1_i = new c1(); >c1 : Symbol(c1, Decl(parserAstSpans1.ts, 17, 1)) c1_i.i1_f1(); ->c1_i.i1_f1 : Symbol(c1.i1_f1, Decl(parserAstSpans1.ts, 19, 25)) +>c1_i.i1_f1 : Symbol(c1.i1_f1, Decl(parserAstSpans1.ts, 19, 26)) >c1_i : Symbol(c1_i, Decl(parserAstSpans1.ts, 51, 3)) ->i1_f1 : Symbol(c1.i1_f1, Decl(parserAstSpans1.ts, 19, 25)) +>i1_f1 : Symbol(c1.i1_f1, Decl(parserAstSpans1.ts, 19, 26)) c1_i.i1_nc_f1(); ->c1_i.i1_nc_f1 : Symbol(c1.i1_nc_f1, Decl(parserAstSpans1.ts, 23, 28)) +>c1_i.i1_nc_f1 : Symbol(c1.i1_nc_f1, Decl(parserAstSpans1.ts, 23, 29)) >c1_i : Symbol(c1_i, Decl(parserAstSpans1.ts, 51, 3)) ->i1_nc_f1 : Symbol(c1.i1_nc_f1, Decl(parserAstSpans1.ts, 23, 28)) +>i1_nc_f1 : Symbol(c1.i1_nc_f1, Decl(parserAstSpans1.ts, 23, 29)) c1_i.f1(); ->c1_i.f1 : Symbol(c1.f1, Decl(parserAstSpans1.ts, 28, 22)) +>c1_i.f1 : Symbol(c1.f1, Decl(parserAstSpans1.ts, 28, 23)) >c1_i : Symbol(c1_i, Decl(parserAstSpans1.ts, 51, 3)) ->f1 : Symbol(c1.f1, Decl(parserAstSpans1.ts, 28, 22)) +>f1 : Symbol(c1.f1, Decl(parserAstSpans1.ts, 28, 23)) c1_i.nc_f1(); ->c1_i.nc_f1 : Symbol(c1.nc_f1, Decl(parserAstSpans1.ts, 35, 25)) +>c1_i.nc_f1 : Symbol(c1.nc_f1, Decl(parserAstSpans1.ts, 35, 26)) >c1_i : Symbol(c1_i, Decl(parserAstSpans1.ts, 51, 3)) ->nc_f1 : Symbol(c1.nc_f1, Decl(parserAstSpans1.ts, 35, 25)) +>nc_f1 : Symbol(c1.nc_f1, Decl(parserAstSpans1.ts, 35, 26)) c1_i.i1_l1(); >c1_i.i1_l1 : Symbol(c1.i1_l1, Decl(parserAstSpans1.ts, 21, 5)) @@ -240,11 +240,11 @@ class c2 { return 10; } - public c2_nc_p1: number; + public c2_nc_p1!: number; >c2_nc_p1 : Symbol(c2.c2_nc_p1, Decl(parserAstSpans1.ts, 80, 5)) public c2_nc_f1() { ->c2_nc_f1 : Symbol(c2.c2_nc_f1, Decl(parserAstSpans1.ts, 81, 28)) +>c2_nc_f1 : Symbol(c2.c2_nc_f1, Decl(parserAstSpans1.ts, 81, 29)) } public get c2_nc_prop() { >c2_nc_prop : Symbol(c2.c2_nc_prop, Decl(parserAstSpans1.ts, 83, 5)) @@ -252,12 +252,12 @@ class c2 { return 10; } /** c2 p1*/ - public p1: number; + public p1!: number; >p1 : Symbol(c2.p1, Decl(parserAstSpans1.ts, 86, 5)) /** c2 f1*/ public f1() { ->f1 : Symbol(c2.f1, Decl(parserAstSpans1.ts, 88, 22)) +>f1 : Symbol(c2.f1, Decl(parserAstSpans1.ts, 88, 23)) } /** c2 prop*/ public get prop() { @@ -265,11 +265,11 @@ class c2 { return 10; } - public nc_p1: number; + public nc_p1!: number; >nc_p1 : Symbol(c2.nc_p1, Decl(parserAstSpans1.ts, 95, 5)) public nc_f1() { ->nc_f1 : Symbol(c2.nc_f1, Decl(parserAstSpans1.ts, 96, 25)) +>nc_f1 : Symbol(c2.nc_f1, Decl(parserAstSpans1.ts, 96, 26)) } public get nc_prop() { >nc_prop : Symbol(c2.nc_prop, Decl(parserAstSpans1.ts, 98, 5)) @@ -304,12 +304,12 @@ class c3 extends c2 { >c2_p1 : Symbol(c2.c2_p1, Decl(parserAstSpans1.ts, 71, 10)) } /** c3 p1*/ - public p1: number; + public p1!: number; >p1 : Symbol(c3.p1, Decl(parserAstSpans1.ts, 111, 5)) /** c3 f1*/ public f1() { ->f1 : Symbol(c3.f1, Decl(parserAstSpans1.ts, 113, 22)) +>f1 : Symbol(c3.f1, Decl(parserAstSpans1.ts, 113, 23)) } /** c3 prop*/ public get prop() { @@ -317,11 +317,11 @@ class c3 extends c2 { return 10; } - public nc_p1: number; + public nc_p1!: number; >nc_p1 : Symbol(c3.nc_p1, Decl(parserAstSpans1.ts, 120, 5)) public nc_f1() { ->nc_f1 : Symbol(c3.nc_f1, Decl(parserAstSpans1.ts, 121, 25)) +>nc_f1 : Symbol(c3.nc_f1, Decl(parserAstSpans1.ts, 121, 26)) } public get nc_prop() { >nc_prop : Symbol(c3.nc_prop, Decl(parserAstSpans1.ts, 123, 5)) @@ -343,19 +343,19 @@ c2_i.c2_f1(); >c2_f1 : Symbol(c2.c2_f1, Decl(parserAstSpans1.ts, 73, 25)) c2_i.c2_nc_f1(); ->c2_i.c2_nc_f1 : Symbol(c2.c2_nc_f1, Decl(parserAstSpans1.ts, 81, 28)) +>c2_i.c2_nc_f1 : Symbol(c2.c2_nc_f1, Decl(parserAstSpans1.ts, 81, 29)) >c2_i : Symbol(c2_i, Decl(parserAstSpans1.ts, 128, 3)) ->c2_nc_f1 : Symbol(c2.c2_nc_f1, Decl(parserAstSpans1.ts, 81, 28)) +>c2_nc_f1 : Symbol(c2.c2_nc_f1, Decl(parserAstSpans1.ts, 81, 29)) c2_i.f1(); ->c2_i.f1 : Symbol(c2.f1, Decl(parserAstSpans1.ts, 88, 22)) +>c2_i.f1 : Symbol(c2.f1, Decl(parserAstSpans1.ts, 88, 23)) >c2_i : Symbol(c2_i, Decl(parserAstSpans1.ts, 128, 3)) ->f1 : Symbol(c2.f1, Decl(parserAstSpans1.ts, 88, 22)) +>f1 : Symbol(c2.f1, Decl(parserAstSpans1.ts, 88, 23)) c2_i.nc_f1(); ->c2_i.nc_f1 : Symbol(c2.nc_f1, Decl(parserAstSpans1.ts, 96, 25)) +>c2_i.nc_f1 : Symbol(c2.nc_f1, Decl(parserAstSpans1.ts, 96, 26)) >c2_i : Symbol(c2_i, Decl(parserAstSpans1.ts, 128, 3)) ->nc_f1 : Symbol(c2.nc_f1, Decl(parserAstSpans1.ts, 96, 25)) +>nc_f1 : Symbol(c2.nc_f1, Decl(parserAstSpans1.ts, 96, 26)) c3_i.c2_f1(); >c3_i.c2_f1 : Symbol(c2.c2_f1, Decl(parserAstSpans1.ts, 73, 25)) @@ -363,19 +363,19 @@ c3_i.c2_f1(); >c2_f1 : Symbol(c2.c2_f1, Decl(parserAstSpans1.ts, 73, 25)) c3_i.c2_nc_f1(); ->c3_i.c2_nc_f1 : Symbol(c2.c2_nc_f1, Decl(parserAstSpans1.ts, 81, 28)) +>c3_i.c2_nc_f1 : Symbol(c2.c2_nc_f1, Decl(parserAstSpans1.ts, 81, 29)) >c3_i : Symbol(c3_i, Decl(parserAstSpans1.ts, 129, 3)) ->c2_nc_f1 : Symbol(c2.c2_nc_f1, Decl(parserAstSpans1.ts, 81, 28)) +>c2_nc_f1 : Symbol(c2.c2_nc_f1, Decl(parserAstSpans1.ts, 81, 29)) c3_i.f1(); ->c3_i.f1 : Symbol(c3.f1, Decl(parserAstSpans1.ts, 113, 22)) +>c3_i.f1 : Symbol(c3.f1, Decl(parserAstSpans1.ts, 113, 23)) >c3_i : Symbol(c3_i, Decl(parserAstSpans1.ts, 129, 3)) ->f1 : Symbol(c3.f1, Decl(parserAstSpans1.ts, 113, 22)) +>f1 : Symbol(c3.f1, Decl(parserAstSpans1.ts, 113, 23)) c3_i.nc_f1(); ->c3_i.nc_f1 : Symbol(c3.nc_f1, Decl(parserAstSpans1.ts, 121, 25)) +>c3_i.nc_f1 : Symbol(c3.nc_f1, Decl(parserAstSpans1.ts, 121, 26)) >c3_i : Symbol(c3_i, Decl(parserAstSpans1.ts, 129, 3)) ->nc_f1 : Symbol(c3.nc_f1, Decl(parserAstSpans1.ts, 121, 25)) +>nc_f1 : Symbol(c3.nc_f1, Decl(parserAstSpans1.ts, 121, 26)) // assign c2_i = c3_i; @@ -388,19 +388,19 @@ c2_i.c2_f1(); >c2_f1 : Symbol(c2.c2_f1, Decl(parserAstSpans1.ts, 73, 25)) c2_i.c2_nc_f1(); ->c2_i.c2_nc_f1 : Symbol(c2.c2_nc_f1, Decl(parserAstSpans1.ts, 81, 28)) +>c2_i.c2_nc_f1 : Symbol(c2.c2_nc_f1, Decl(parserAstSpans1.ts, 81, 29)) >c2_i : Symbol(c2_i, Decl(parserAstSpans1.ts, 128, 3)) ->c2_nc_f1 : Symbol(c2.c2_nc_f1, Decl(parserAstSpans1.ts, 81, 28)) +>c2_nc_f1 : Symbol(c2.c2_nc_f1, Decl(parserAstSpans1.ts, 81, 29)) c2_i.f1(); ->c2_i.f1 : Symbol(c2.f1, Decl(parserAstSpans1.ts, 88, 22)) +>c2_i.f1 : Symbol(c2.f1, Decl(parserAstSpans1.ts, 88, 23)) >c2_i : Symbol(c2_i, Decl(parserAstSpans1.ts, 128, 3)) ->f1 : Symbol(c2.f1, Decl(parserAstSpans1.ts, 88, 22)) +>f1 : Symbol(c2.f1, Decl(parserAstSpans1.ts, 88, 23)) c2_i.nc_f1(); ->c2_i.nc_f1 : Symbol(c2.nc_f1, Decl(parserAstSpans1.ts, 96, 25)) +>c2_i.nc_f1 : Symbol(c2.nc_f1, Decl(parserAstSpans1.ts, 96, 26)) >c2_i : Symbol(c2_i, Decl(parserAstSpans1.ts, 128, 3)) ->nc_f1 : Symbol(c2.nc_f1, Decl(parserAstSpans1.ts, 96, 25)) +>nc_f1 : Symbol(c2.nc_f1, Decl(parserAstSpans1.ts, 96, 26)) class c4 extends c2 { >c4 : Symbol(c4, Decl(parserAstSpans1.ts, 143, 13)) @@ -617,14 +617,14 @@ i2_i.nc_l1(); class c5 { >c5 : Symbol(c5, Decl(parserAstSpans1.ts, 206, 13)) - public b: number; + public b!: number; >b : Symbol(c5.b, Decl(parserAstSpans1.ts, 209, 10)) } class c6 extends c5 { >c6 : Symbol(c6, Decl(parserAstSpans1.ts, 211, 1)) >c5 : Symbol(c5, Decl(parserAstSpans1.ts, 206, 13)) - public d; + public d!: any; >d : Symbol(c6.d, Decl(parserAstSpans1.ts, 212, 21)) constructor() { diff --git a/tests/baselines/reference/parserAstSpans1.types b/tests/baselines/reference/parserAstSpans1.types index 7c4d7ca4540c0..98f77e579e631 100644 --- a/tests/baselines/reference/parserAstSpans1.types +++ b/tests/baselines/reference/parserAstSpans1.types @@ -58,7 +58,7 @@ class c1 implements i1 { >c1 : c1 > : ^^ - public i1_p1: number; + public i1_p1!: number; >i1_p1 : number > : ^^^^^^ @@ -66,11 +66,11 @@ class c1 implements i1 { >i1_f1 : () => void > : ^^^^^^^^^^ } - public i1_l1: () => void; + public i1_l1!: () => void; >i1_l1 : () => void > : ^^^^^^ - public i1_nc_p1: number; + public i1_nc_p1!: number; >i1_nc_p1 : number > : ^^^^^^ @@ -78,12 +78,12 @@ class c1 implements i1 { >i1_nc_f1 : () => void > : ^^^^^^^^^^ } - public i1_nc_l1: () => void; + public i1_nc_l1!: () => void; >i1_nc_l1 : () => void > : ^^^^^^ /** c1_p1*/ - public p1: number; + public p1!: number; >p1 : number > : ^^^^^^ @@ -93,12 +93,12 @@ class c1 implements i1 { > : ^^^^^^^^^^ } /** c1_l1*/ - public l1: () => void; + public l1!: () => void; >l1 : () => void > : ^^^^^^ /** c1_nc_p1*/ - public nc_p1: number; + public nc_p1!: number; >nc_p1 : number > : ^^^^^^ @@ -108,7 +108,7 @@ class c1 implements i1 { > : ^^^^^^^^^^ } /** c1_nc_l1*/ - public nc_l1: () => void; + public nc_l1!: () => void; >nc_l1 : () => void > : ^^^^^^ } @@ -396,7 +396,7 @@ class c2 { >10 : 10 > : ^^ } - public c2_nc_p1: number; + public c2_nc_p1!: number; >c2_nc_p1 : number > : ^^^^^^ @@ -413,7 +413,7 @@ class c2 { > : ^^ } /** c2 p1*/ - public p1: number; + public p1!: number; >p1 : number > : ^^^^^^ @@ -431,7 +431,7 @@ class c2 { >10 : 10 > : ^^ } - public nc_p1: number; + public nc_p1!: number; >nc_p1 : number > : ^^^^^^ @@ -497,7 +497,7 @@ class c3 extends c2 { > : ^^^^^^ } /** c3 p1*/ - public p1: number; + public p1!: number; >p1 : number > : ^^^^^^ @@ -515,7 +515,7 @@ class c3 extends c2 { >10 : 10 > : ^^ } - public nc_p1: number; + public nc_p1!: number; >nc_p1 : number > : ^^^^^^ @@ -1040,7 +1040,7 @@ class c5 { >c5 : c5 > : ^^ - public b: number; + public b!: number; >b : number > : ^^^^^^ } @@ -1050,7 +1050,7 @@ class c6 extends c5 { >c5 : c5 > : ^^ - public d; + public d!: any; >d : any > : ^^^ diff --git a/tests/baselines/reference/parserAutomaticSemicolonInsertion1.errors.txt b/tests/baselines/reference/parserAutomaticSemicolonInsertion1.errors.txt index d8859a024cb5c..6632f84fb8d79 100644 --- a/tests/baselines/reference/parserAutomaticSemicolonInsertion1.errors.txt +++ b/tests/baselines/reference/parserAutomaticSemicolonInsertion1.errors.txt @@ -11,7 +11,7 @@ parserAutomaticSemicolonInsertion1.ts(14,1): error TS2322: Type 'Object' is not (): void; } - var i: I; + declare var i: I; var o: Object; o = i; i = o; @@ -20,7 +20,7 @@ parserAutomaticSemicolonInsertion1.ts(14,1): error TS2322: Type 'Object' is not !!! error TS2322: The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead? !!! error TS2322: Type 'Object' provides no match for the signature '(): void'. - var a: { + declare var a: { (): void } o = a; diff --git a/tests/baselines/reference/parserAutomaticSemicolonInsertion1.js b/tests/baselines/reference/parserAutomaticSemicolonInsertion1.js index edbeeb983a62a..4fb14b6ccf54f 100644 --- a/tests/baselines/reference/parserAutomaticSemicolonInsertion1.js +++ b/tests/baselines/reference/parserAutomaticSemicolonInsertion1.js @@ -5,12 +5,12 @@ interface I { (): void; } -var i: I; +declare var i: I; var o: Object; o = i; i = o; -var a: { +declare var a: { (): void } o = a; @@ -18,10 +18,8 @@ a = o; //// [parserAutomaticSemicolonInsertion1.js] -var i; var o; o = i; i = o; -var a; o = a; a = o; diff --git a/tests/baselines/reference/parserAutomaticSemicolonInsertion1.symbols b/tests/baselines/reference/parserAutomaticSemicolonInsertion1.symbols index 0b7d10840329c..332e82dc8b65e 100644 --- a/tests/baselines/reference/parserAutomaticSemicolonInsertion1.symbols +++ b/tests/baselines/reference/parserAutomaticSemicolonInsertion1.symbols @@ -7,8 +7,8 @@ interface I { (): void; } -var i: I; ->i : Symbol(i, Decl(parserAutomaticSemicolonInsertion1.ts, 4, 3)) +declare var i: I; +>i : Symbol(i, Decl(parserAutomaticSemicolonInsertion1.ts, 4, 11)) >I : Symbol(I, Decl(parserAutomaticSemicolonInsertion1.ts, 0, 0)) var o: Object; @@ -17,22 +17,22 @@ var o: Object; o = i; >o : Symbol(o, Decl(parserAutomaticSemicolonInsertion1.ts, 5, 3)) ->i : Symbol(i, Decl(parserAutomaticSemicolonInsertion1.ts, 4, 3)) +>i : Symbol(i, Decl(parserAutomaticSemicolonInsertion1.ts, 4, 11)) i = o; ->i : Symbol(i, Decl(parserAutomaticSemicolonInsertion1.ts, 4, 3)) +>i : Symbol(i, Decl(parserAutomaticSemicolonInsertion1.ts, 4, 11)) >o : Symbol(o, Decl(parserAutomaticSemicolonInsertion1.ts, 5, 3)) -var a: { ->a : Symbol(a, Decl(parserAutomaticSemicolonInsertion1.ts, 9, 3)) +declare var a: { +>a : Symbol(a, Decl(parserAutomaticSemicolonInsertion1.ts, 9, 11)) (): void } o = a; >o : Symbol(o, Decl(parserAutomaticSemicolonInsertion1.ts, 5, 3)) ->a : Symbol(a, Decl(parserAutomaticSemicolonInsertion1.ts, 9, 3)) +>a : Symbol(a, Decl(parserAutomaticSemicolonInsertion1.ts, 9, 11)) a = o; ->a : Symbol(a, Decl(parserAutomaticSemicolonInsertion1.ts, 9, 3)) +>a : Symbol(a, Decl(parserAutomaticSemicolonInsertion1.ts, 9, 11)) >o : Symbol(o, Decl(parserAutomaticSemicolonInsertion1.ts, 5, 3)) diff --git a/tests/baselines/reference/parserAutomaticSemicolonInsertion1.types b/tests/baselines/reference/parserAutomaticSemicolonInsertion1.types index 1ad441045c569..92e05974e037e 100644 --- a/tests/baselines/reference/parserAutomaticSemicolonInsertion1.types +++ b/tests/baselines/reference/parserAutomaticSemicolonInsertion1.types @@ -5,7 +5,7 @@ interface I { (): void; } -var i: I; +declare var i: I; >i : I > : ^ @@ -29,7 +29,7 @@ i = o; >o : Object > : ^^^^^^ -var a: { +declare var a: { >a : () => void > : ^^^^^^ diff --git a/tests/baselines/reference/plusOperatorWithAnyOtherType.errors.txt b/tests/baselines/reference/plusOperatorWithAnyOtherType.errors.txt index 31241c511c6a7..bc4054f1ae0a3 100644 --- a/tests/baselines/reference/plusOperatorWithAnyOtherType.errors.txt +++ b/tests/baselines/reference/plusOperatorWithAnyOtherType.errors.txt @@ -9,25 +9,25 @@ plusOperatorWithAnyOtherType.ts(54,1): error TS2695: Left side of comma operator ==== plusOperatorWithAnyOtherType.ts (6 errors) ==== // + operator on any type - var ANY: any; - var ANY1; + declare var ANY: any; + declare var ANY1: any; var ANY2: any[] = ["", ""]; - var obj: () => {} + declare var obj: () => {} var obj1 = { x: (s: string) => { }, y: (s1) => { }}; function foo(): any { - var a; + var a = undefined; return a; } class A { - public a: any; + public a!: any; static foo() { - var a; + var a: any = undefined; return a; } } namespace M { - export var n: any; + export var n: any = undefined; } var objA = new A(); diff --git a/tests/baselines/reference/plusOperatorWithAnyOtherType.js b/tests/baselines/reference/plusOperatorWithAnyOtherType.js index 1f349e616dcb8..32203d8aa5694 100644 --- a/tests/baselines/reference/plusOperatorWithAnyOtherType.js +++ b/tests/baselines/reference/plusOperatorWithAnyOtherType.js @@ -3,25 +3,25 @@ //// [plusOperatorWithAnyOtherType.ts] // + operator on any type -var ANY: any; -var ANY1; +declare var ANY: any; +declare var ANY1: any; var ANY2: any[] = ["", ""]; -var obj: () => {} +declare var obj: () => {} var obj1 = { x: (s: string) => { }, y: (s1) => { }}; function foo(): any { - var a; + var a = undefined; return a; } class A { - public a: any; + public a!: any; static foo() { - var a; + var a: any = undefined; return a; } } namespace M { - export var n: any; + export var n: any = undefined; } var objA = new A(); @@ -60,26 +60,24 @@ var ResultIsNumber19 = +(undefined + undefined); //// [plusOperatorWithAnyOtherType.js] // + operator on any type -var ANY; -var ANY1; var ANY2 = ["", ""]; -var obj; var obj1 = { x: function (s) { }, y: function (s1) { } }; function foo() { - var a; + var a = undefined; return a; } var A = /** @class */ (function () { function A() { } A.foo = function () { - var a; + var a = undefined; return a; }; return A; }()); var M; (function (M) { + M.n = undefined; })(M || (M = {})); var objA = new A(); // any other type var diff --git a/tests/baselines/reference/plusOperatorWithAnyOtherType.symbols b/tests/baselines/reference/plusOperatorWithAnyOtherType.symbols index e6e9bb4786e43..9545d513b47bc 100644 --- a/tests/baselines/reference/plusOperatorWithAnyOtherType.symbols +++ b/tests/baselines/reference/plusOperatorWithAnyOtherType.symbols @@ -3,17 +3,17 @@ === plusOperatorWithAnyOtherType.ts === // + operator on any type -var ANY: any; ->ANY : Symbol(ANY, Decl(plusOperatorWithAnyOtherType.ts, 2, 3)) +declare var ANY: any; +>ANY : Symbol(ANY, Decl(plusOperatorWithAnyOtherType.ts, 2, 11)) -var ANY1; ->ANY1 : Symbol(ANY1, Decl(plusOperatorWithAnyOtherType.ts, 3, 3)) +declare var ANY1: any; +>ANY1 : Symbol(ANY1, Decl(plusOperatorWithAnyOtherType.ts, 3, 11)) var ANY2: any[] = ["", ""]; >ANY2 : Symbol(ANY2, Decl(plusOperatorWithAnyOtherType.ts, 4, 3)) -var obj: () => {} ->obj : Symbol(obj, Decl(plusOperatorWithAnyOtherType.ts, 5, 3)) +declare var obj: () => {} +>obj : Symbol(obj, Decl(plusOperatorWithAnyOtherType.ts, 5, 11)) var obj1 = { x: (s: string) => { }, y: (s1) => { }}; >obj1 : Symbol(obj1, Decl(plusOperatorWithAnyOtherType.ts, 6, 3)) @@ -25,8 +25,9 @@ var obj1 = { x: (s: string) => { }, y: (s1) => { }}; function foo(): any { >foo : Symbol(foo, Decl(plusOperatorWithAnyOtherType.ts, 6, 52)) - var a; + var a = undefined; >a : Symbol(a, Decl(plusOperatorWithAnyOtherType.ts, 9, 7)) +>undefined : Symbol(undefined) return a; >a : Symbol(a, Decl(plusOperatorWithAnyOtherType.ts, 9, 7)) @@ -34,14 +35,15 @@ function foo(): any { class A { >A : Symbol(A, Decl(plusOperatorWithAnyOtherType.ts, 11, 1)) - public a: any; + public a!: any; >a : Symbol(A.a, Decl(plusOperatorWithAnyOtherType.ts, 12, 9)) static foo() { ->foo : Symbol(A.foo, Decl(plusOperatorWithAnyOtherType.ts, 13, 18)) +>foo : Symbol(A.foo, Decl(plusOperatorWithAnyOtherType.ts, 13, 19)) - var a; + var a: any = undefined; >a : Symbol(a, Decl(plusOperatorWithAnyOtherType.ts, 15, 11)) +>undefined : Symbol(undefined) return a; >a : Symbol(a, Decl(plusOperatorWithAnyOtherType.ts, 15, 11)) @@ -50,8 +52,9 @@ class A { namespace M { >M : Symbol(M, Decl(plusOperatorWithAnyOtherType.ts, 18, 1)) - export var n: any; + export var n: any = undefined; >n : Symbol(n, Decl(plusOperatorWithAnyOtherType.ts, 20, 14)) +>undefined : Symbol(undefined) } var objA = new A(); >objA : Symbol(objA, Decl(plusOperatorWithAnyOtherType.ts, 22, 3)) @@ -60,7 +63,7 @@ var objA = new A(); // any other type var var ResultIsNumber1 = +ANY1; >ResultIsNumber1 : Symbol(ResultIsNumber1, Decl(plusOperatorWithAnyOtherType.ts, 25, 3)) ->ANY1 : Symbol(ANY1, Decl(plusOperatorWithAnyOtherType.ts, 3, 3)) +>ANY1 : Symbol(ANY1, Decl(plusOperatorWithAnyOtherType.ts, 3, 11)) var ResultIsNumber2 = +ANY2; >ResultIsNumber2 : Symbol(ResultIsNumber2, Decl(plusOperatorWithAnyOtherType.ts, 26, 3)) @@ -76,7 +79,7 @@ var ResultIsNumber4 = +M; var ResultIsNumber5 = +obj; >ResultIsNumber5 : Symbol(ResultIsNumber5, Decl(plusOperatorWithAnyOtherType.ts, 29, 3)) ->obj : Symbol(obj, Decl(plusOperatorWithAnyOtherType.ts, 5, 3)) +>obj : Symbol(obj, Decl(plusOperatorWithAnyOtherType.ts, 5, 11)) var ResultIsNumber6 = +obj1; >ResultIsNumber6 : Symbol(ResultIsNumber6, Decl(plusOperatorWithAnyOtherType.ts, 30, 3)) @@ -125,14 +128,14 @@ var ResultIsNumber14 = +foo(); var ResultIsNumber15 = +A.foo(); >ResultIsNumber15 : Symbol(ResultIsNumber15, Decl(plusOperatorWithAnyOtherType.ts, 43, 3)) ->A.foo : Symbol(A.foo, Decl(plusOperatorWithAnyOtherType.ts, 13, 18)) +>A.foo : Symbol(A.foo, Decl(plusOperatorWithAnyOtherType.ts, 13, 19)) >A : Symbol(A, Decl(plusOperatorWithAnyOtherType.ts, 11, 1)) ->foo : Symbol(A.foo, Decl(plusOperatorWithAnyOtherType.ts, 13, 18)) +>foo : Symbol(A.foo, Decl(plusOperatorWithAnyOtherType.ts, 13, 19)) var ResultIsNumber16 = +(ANY + ANY1); >ResultIsNumber16 : Symbol(ResultIsNumber16, Decl(plusOperatorWithAnyOtherType.ts, 44, 3)) ->ANY : Symbol(ANY, Decl(plusOperatorWithAnyOtherType.ts, 2, 3)) ->ANY1 : Symbol(ANY1, Decl(plusOperatorWithAnyOtherType.ts, 3, 3)) +>ANY : Symbol(ANY, Decl(plusOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(plusOperatorWithAnyOtherType.ts, 3, 11)) var ResultIsNumber17 = +(null + undefined); >ResultIsNumber17 : Symbol(ResultIsNumber17, Decl(plusOperatorWithAnyOtherType.ts, 45, 3)) @@ -148,17 +151,17 @@ var ResultIsNumber19 = +(undefined + undefined); // miss assignment operators +ANY; ->ANY : Symbol(ANY, Decl(plusOperatorWithAnyOtherType.ts, 2, 3)) +>ANY : Symbol(ANY, Decl(plusOperatorWithAnyOtherType.ts, 2, 11)) +ANY1; ->ANY1 : Symbol(ANY1, Decl(plusOperatorWithAnyOtherType.ts, 3, 3)) +>ANY1 : Symbol(ANY1, Decl(plusOperatorWithAnyOtherType.ts, 3, 11)) +ANY2[0]; >ANY2 : Symbol(ANY2, Decl(plusOperatorWithAnyOtherType.ts, 4, 3)) +ANY, ANY1; ->ANY : Symbol(ANY, Decl(plusOperatorWithAnyOtherType.ts, 2, 3)) ->ANY1 : Symbol(ANY1, Decl(plusOperatorWithAnyOtherType.ts, 3, 3)) +>ANY : Symbol(ANY, Decl(plusOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(plusOperatorWithAnyOtherType.ts, 3, 11)) +objA.a; >objA.a : Symbol(A.a, Decl(plusOperatorWithAnyOtherType.ts, 12, 9)) diff --git a/tests/baselines/reference/plusOperatorWithAnyOtherType.types b/tests/baselines/reference/plusOperatorWithAnyOtherType.types index d0232fc8d9e5b..c40b037d28691 100644 --- a/tests/baselines/reference/plusOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/plusOperatorWithAnyOtherType.types @@ -3,11 +3,11 @@ === plusOperatorWithAnyOtherType.ts === // + operator on any type -var ANY: any; +declare var ANY: any; >ANY : any > : ^^^ -var ANY1; +declare var ANY1: any; >ANY1 : any > : ^^^ @@ -21,7 +21,7 @@ var ANY2: any[] = ["", ""]; >"" : "" > : ^^ -var obj: () => {} +declare var obj: () => {} >obj : () => {} > : ^^^^^^ @@ -47,9 +47,11 @@ function foo(): any { >foo : () => any > : ^^^^^^ - var a; + var a = undefined; >a : any > : ^^^ +>undefined : undefined +> : ^^^^^^^^^ return a; >a : any @@ -59,7 +61,7 @@ class A { >A : A > : ^ - public a: any; + public a!: any; >a : any > : ^^^ @@ -67,9 +69,11 @@ class A { >foo : () => any > : ^^^^^^^^^ - var a; + var a: any = undefined; >a : any > : ^^^ +>undefined : undefined +> : ^^^^^^^^^ return a; >a : any @@ -80,9 +84,11 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: any; + export var n: any = undefined; >n : any > : ^^^ +>undefined : undefined +> : ^^^^^^^^^ } var objA = new A(); >objA : A diff --git a/tests/baselines/reference/plusOperatorWithBooleanType.errors.txt b/tests/baselines/reference/plusOperatorWithBooleanType.errors.txt index e9712b5f4b4a7..9f7137cab9c77 100644 --- a/tests/baselines/reference/plusOperatorWithBooleanType.errors.txt +++ b/tests/baselines/reference/plusOperatorWithBooleanType.errors.txt @@ -3,16 +3,16 @@ plusOperatorWithBooleanType.ts(33,1): error TS2695: Left side of comma operator ==== plusOperatorWithBooleanType.ts (1 errors) ==== // + operator on boolean type - var BOOLEAN: boolean; + declare var BOOLEAN: boolean; function foo(): boolean { return true; } class A { - public a: boolean; + public a!: boolean; static foo() { return false; } } namespace M { - export var n: boolean; + export var n: boolean = false; } var objA = new A(); diff --git a/tests/baselines/reference/plusOperatorWithBooleanType.js b/tests/baselines/reference/plusOperatorWithBooleanType.js index fd16e58407d63..b2c7439db4960 100644 --- a/tests/baselines/reference/plusOperatorWithBooleanType.js +++ b/tests/baselines/reference/plusOperatorWithBooleanType.js @@ -2,16 +2,16 @@ //// [plusOperatorWithBooleanType.ts] // + operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; function foo(): boolean { return true; } class A { - public a: boolean; + public a!: boolean; static foo() { return false; } } namespace M { - export var n: boolean; + export var n: boolean = false; } var objA = new A(); @@ -38,8 +38,6 @@ var ResultIsNumber7 = +A.foo(); +M.n; //// [plusOperatorWithBooleanType.js] -// + operator on boolean type -var BOOLEAN; function foo() { return true; } var A = /** @class */ (function () { function A() { @@ -49,6 +47,7 @@ var A = /** @class */ (function () { }()); var M; (function (M) { + M.n = false; })(M || (M = {})); var objA = new A(); // boolean type var diff --git a/tests/baselines/reference/plusOperatorWithBooleanType.symbols b/tests/baselines/reference/plusOperatorWithBooleanType.symbols index 175000bd2a9fd..f146c1ec3d83c 100644 --- a/tests/baselines/reference/plusOperatorWithBooleanType.symbols +++ b/tests/baselines/reference/plusOperatorWithBooleanType.symbols @@ -2,25 +2,25 @@ === plusOperatorWithBooleanType.ts === // + operator on boolean type -var BOOLEAN: boolean; ->BOOLEAN : Symbol(BOOLEAN, Decl(plusOperatorWithBooleanType.ts, 1, 3)) +declare var BOOLEAN: boolean; +>BOOLEAN : Symbol(BOOLEAN, Decl(plusOperatorWithBooleanType.ts, 1, 11)) function foo(): boolean { return true; } ->foo : Symbol(foo, Decl(plusOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(plusOperatorWithBooleanType.ts, 1, 29)) class A { >A : Symbol(A, Decl(plusOperatorWithBooleanType.ts, 3, 40)) - public a: boolean; + public a!: boolean; >a : Symbol(A.a, Decl(plusOperatorWithBooleanType.ts, 5, 9)) static foo() { return false; } ->foo : Symbol(A.foo, Decl(plusOperatorWithBooleanType.ts, 6, 22)) +>foo : Symbol(A.foo, Decl(plusOperatorWithBooleanType.ts, 6, 23)) } namespace M { >M : Symbol(M, Decl(plusOperatorWithBooleanType.ts, 8, 1)) - export var n: boolean; + export var n: boolean = false; >n : Symbol(n, Decl(plusOperatorWithBooleanType.ts, 10, 14)) } @@ -31,7 +31,7 @@ var objA = new A(); // boolean type var var ResultIsNumber1 = +BOOLEAN; >ResultIsNumber1 : Symbol(ResultIsNumber1, Decl(plusOperatorWithBooleanType.ts, 16, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(plusOperatorWithBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(plusOperatorWithBooleanType.ts, 1, 11)) // boolean type literal var ResultIsNumber2 = +true; @@ -57,21 +57,21 @@ var ResultIsNumber5 = +M.n; var ResultIsNumber6 = +foo(); >ResultIsNumber6 : Symbol(ResultIsNumber6, Decl(plusOperatorWithBooleanType.ts, 25, 3)) ->foo : Symbol(foo, Decl(plusOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(plusOperatorWithBooleanType.ts, 1, 29)) var ResultIsNumber7 = +A.foo(); >ResultIsNumber7 : Symbol(ResultIsNumber7, Decl(plusOperatorWithBooleanType.ts, 26, 3)) ->A.foo : Symbol(A.foo, Decl(plusOperatorWithBooleanType.ts, 6, 22)) +>A.foo : Symbol(A.foo, Decl(plusOperatorWithBooleanType.ts, 6, 23)) >A : Symbol(A, Decl(plusOperatorWithBooleanType.ts, 3, 40)) ->foo : Symbol(A.foo, Decl(plusOperatorWithBooleanType.ts, 6, 22)) +>foo : Symbol(A.foo, Decl(plusOperatorWithBooleanType.ts, 6, 23)) // miss assignment operators +true; +BOOLEAN; ->BOOLEAN : Symbol(BOOLEAN, Decl(plusOperatorWithBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(plusOperatorWithBooleanType.ts, 1, 11)) +foo(); ->foo : Symbol(foo, Decl(plusOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(plusOperatorWithBooleanType.ts, 1, 29)) +true, false; +objA.a; diff --git a/tests/baselines/reference/plusOperatorWithBooleanType.types b/tests/baselines/reference/plusOperatorWithBooleanType.types index 749a233d53ce8..205a1c435ccdc 100644 --- a/tests/baselines/reference/plusOperatorWithBooleanType.types +++ b/tests/baselines/reference/plusOperatorWithBooleanType.types @@ -2,7 +2,7 @@ === plusOperatorWithBooleanType.ts === // + operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; >BOOLEAN : boolean > : ^^^^^^^ @@ -16,7 +16,7 @@ class A { >A : A > : ^ - public a: boolean; + public a!: boolean; >a : boolean > : ^^^^^^^ @@ -30,9 +30,11 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: boolean; + export var n: boolean = false; >n : boolean > : ^^^^^^^ +>false : false +> : ^^^^^ } var objA = new A(); diff --git a/tests/baselines/reference/plusOperatorWithNumberType.errors.txt b/tests/baselines/reference/plusOperatorWithNumberType.errors.txt index ccc2e457c16a4..5a7a537cc97f7 100644 --- a/tests/baselines/reference/plusOperatorWithNumberType.errors.txt +++ b/tests/baselines/reference/plusOperatorWithNumberType.errors.txt @@ -3,17 +3,17 @@ plusOperatorWithNumberType.ts(41,1): error TS2695: Left side of comma operator i ==== plusOperatorWithNumberType.ts (1 errors) ==== // + operator on number type - var NUMBER: number; + declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } class A { - public a: number; + public a!: number; static foo() { return 1; } } namespace M { - export var n: number; + export var n: number = 0; } var objA = new A(); diff --git a/tests/baselines/reference/plusOperatorWithNumberType.js b/tests/baselines/reference/plusOperatorWithNumberType.js index dae064dedea60..d3ac188321f30 100644 --- a/tests/baselines/reference/plusOperatorWithNumberType.js +++ b/tests/baselines/reference/plusOperatorWithNumberType.js @@ -2,17 +2,17 @@ //// [plusOperatorWithNumberType.ts] // + operator on number type -var NUMBER: number; +declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } class A { - public a: number; + public a!: number; static foo() { return 1; } } namespace M { - export var n: number; + export var n: number = 0; } var objA = new A(); @@ -44,8 +44,6 @@ var ResultIsNumber11 = +(NUMBER + NUMBER); +objA.a, M.n; //// [plusOperatorWithNumberType.js] -// + operator on number type -var NUMBER; var NUMBER1 = [1, 2]; function foo() { return 1; } var A = /** @class */ (function () { @@ -56,6 +54,7 @@ var A = /** @class */ (function () { }()); var M; (function (M) { + M.n = 0; })(M || (M = {})); var objA = new A(); // number type var diff --git a/tests/baselines/reference/plusOperatorWithNumberType.symbols b/tests/baselines/reference/plusOperatorWithNumberType.symbols index e8414cdd61990..dc838010b03f5 100644 --- a/tests/baselines/reference/plusOperatorWithNumberType.symbols +++ b/tests/baselines/reference/plusOperatorWithNumberType.symbols @@ -2,8 +2,8 @@ === plusOperatorWithNumberType.ts === // + operator on number type -var NUMBER: number; ->NUMBER : Symbol(NUMBER, Decl(plusOperatorWithNumberType.ts, 1, 3)) +declare var NUMBER: number; +>NUMBER : Symbol(NUMBER, Decl(plusOperatorWithNumberType.ts, 1, 11)) var NUMBER1: number[] = [1, 2]; >NUMBER1 : Symbol(NUMBER1, Decl(plusOperatorWithNumberType.ts, 2, 3)) @@ -14,16 +14,16 @@ function foo(): number { return 1; } class A { >A : Symbol(A, Decl(plusOperatorWithNumberType.ts, 4, 36)) - public a: number; + public a!: number; >a : Symbol(A.a, Decl(plusOperatorWithNumberType.ts, 6, 9)) static foo() { return 1; } ->foo : Symbol(A.foo, Decl(plusOperatorWithNumberType.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(plusOperatorWithNumberType.ts, 7, 22)) } namespace M { >M : Symbol(M, Decl(plusOperatorWithNumberType.ts, 9, 1)) - export var n: number; + export var n: number = 0; >n : Symbol(n, Decl(plusOperatorWithNumberType.ts, 11, 14)) } @@ -34,7 +34,7 @@ var objA = new A(); // number type var var ResultIsNumber1 = +NUMBER; >ResultIsNumber1 : Symbol(ResultIsNumber1, Decl(plusOperatorWithNumberType.ts, 17, 3)) ->NUMBER : Symbol(NUMBER, Decl(plusOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(plusOperatorWithNumberType.ts, 1, 11)) var ResultIsNumber2 = +NUMBER1; >ResultIsNumber2 : Symbol(ResultIsNumber2, Decl(plusOperatorWithNumberType.ts, 18, 3)) @@ -79,19 +79,19 @@ var ResultIsNumber9 = +foo(); var ResultIsNumber10 = +A.foo(); >ResultIsNumber10 : Symbol(ResultIsNumber10, Decl(plusOperatorWithNumberType.ts, 30, 3)) ->A.foo : Symbol(A.foo, Decl(plusOperatorWithNumberType.ts, 7, 21)) +>A.foo : Symbol(A.foo, Decl(plusOperatorWithNumberType.ts, 7, 22)) >A : Symbol(A, Decl(plusOperatorWithNumberType.ts, 4, 36)) ->foo : Symbol(A.foo, Decl(plusOperatorWithNumberType.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(plusOperatorWithNumberType.ts, 7, 22)) var ResultIsNumber11 = +(NUMBER + NUMBER); >ResultIsNumber11 : Symbol(ResultIsNumber11, Decl(plusOperatorWithNumberType.ts, 31, 3)) ->NUMBER : Symbol(NUMBER, Decl(plusOperatorWithNumberType.ts, 1, 3)) ->NUMBER : Symbol(NUMBER, Decl(plusOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(plusOperatorWithNumberType.ts, 1, 11)) +>NUMBER : Symbol(NUMBER, Decl(plusOperatorWithNumberType.ts, 1, 11)) // miss assignment operators +1; +NUMBER; ->NUMBER : Symbol(NUMBER, Decl(plusOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(plusOperatorWithNumberType.ts, 1, 11)) +NUMBER1; >NUMBER1 : Symbol(NUMBER1, Decl(plusOperatorWithNumberType.ts, 2, 3)) diff --git a/tests/baselines/reference/plusOperatorWithNumberType.types b/tests/baselines/reference/plusOperatorWithNumberType.types index 860487df66fc0..ec446169ae399 100644 --- a/tests/baselines/reference/plusOperatorWithNumberType.types +++ b/tests/baselines/reference/plusOperatorWithNumberType.types @@ -2,7 +2,7 @@ === plusOperatorWithNumberType.ts === // + operator on number type -var NUMBER: number; +declare var NUMBER: number; >NUMBER : number > : ^^^^^^ @@ -26,7 +26,7 @@ class A { >A : A > : ^ - public a: number; + public a!: number; >a : number > : ^^^^^^ @@ -40,9 +40,11 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: number; + export var n: number = 0; >n : number > : ^^^^^^ +>0 : 0 +> : ^ } var objA = new A(); diff --git a/tests/baselines/reference/plusOperatorWithStringType.errors.txt b/tests/baselines/reference/plusOperatorWithStringType.errors.txt index 738936e19c77b..66e8f9091992e 100644 --- a/tests/baselines/reference/plusOperatorWithStringType.errors.txt +++ b/tests/baselines/reference/plusOperatorWithStringType.errors.txt @@ -3,17 +3,17 @@ plusOperatorWithStringType.ts(40,1): error TS2695: Left side of comma operator i ==== plusOperatorWithStringType.ts (1 errors) ==== // + operator on string type - var STRING: string; + declare var STRING: string; var STRING1: string[] = ["", "abc"]; function foo(): string { return "abc"; } class A { - public a: string; + public a!: string; static foo() { return ""; } } namespace M { - export var n: string; + export var n: string = ""; } var objA = new A(); diff --git a/tests/baselines/reference/plusOperatorWithStringType.js b/tests/baselines/reference/plusOperatorWithStringType.js index 222c94f425576..42d34eb6d8676 100644 --- a/tests/baselines/reference/plusOperatorWithStringType.js +++ b/tests/baselines/reference/plusOperatorWithStringType.js @@ -2,17 +2,17 @@ //// [plusOperatorWithStringType.ts] // + operator on string type -var STRING: string; +declare var STRING: string; var STRING1: string[] = ["", "abc"]; function foo(): string { return "abc"; } class A { - public a: string; + public a!: string; static foo() { return ""; } } namespace M { - export var n: string; + export var n: string = ""; } var objA = new A(); @@ -43,8 +43,6 @@ var ResultIsNumber12 = +STRING.charAt(0); +objA.a,M.n; //// [plusOperatorWithStringType.js] -// + operator on string type -var STRING; var STRING1 = ["", "abc"]; function foo() { return "abc"; } var A = /** @class */ (function () { @@ -55,6 +53,7 @@ var A = /** @class */ (function () { }()); var M; (function (M) { + M.n = ""; })(M || (M = {})); var objA = new A(); // string type var diff --git a/tests/baselines/reference/plusOperatorWithStringType.symbols b/tests/baselines/reference/plusOperatorWithStringType.symbols index 3480bd8b443a2..88dabd2272531 100644 --- a/tests/baselines/reference/plusOperatorWithStringType.symbols +++ b/tests/baselines/reference/plusOperatorWithStringType.symbols @@ -2,8 +2,8 @@ === plusOperatorWithStringType.ts === // + operator on string type -var STRING: string; ->STRING : Symbol(STRING, Decl(plusOperatorWithStringType.ts, 1, 3)) +declare var STRING: string; +>STRING : Symbol(STRING, Decl(plusOperatorWithStringType.ts, 1, 11)) var STRING1: string[] = ["", "abc"]; >STRING1 : Symbol(STRING1, Decl(plusOperatorWithStringType.ts, 2, 3)) @@ -14,16 +14,16 @@ function foo(): string { return "abc"; } class A { >A : Symbol(A, Decl(plusOperatorWithStringType.ts, 4, 40)) - public a: string; + public a!: string; >a : Symbol(A.a, Decl(plusOperatorWithStringType.ts, 6, 9)) static foo() { return ""; } ->foo : Symbol(A.foo, Decl(plusOperatorWithStringType.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(plusOperatorWithStringType.ts, 7, 22)) } namespace M { >M : Symbol(M, Decl(plusOperatorWithStringType.ts, 9, 1)) - export var n: string; + export var n: string = ""; >n : Symbol(n, Decl(plusOperatorWithStringType.ts, 11, 14)) } @@ -34,7 +34,7 @@ var objA = new A(); // string type var var ResultIsNumber1 = +STRING; >ResultIsNumber1 : Symbol(ResultIsNumber1, Decl(plusOperatorWithStringType.ts, 17, 3)) ->STRING : Symbol(STRING, Decl(plusOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(plusOperatorWithStringType.ts, 1, 11)) var ResultIsNumber2 = +STRING1; >ResultIsNumber2 : Symbol(ResultIsNumber2, Decl(plusOperatorWithStringType.ts, 18, 3)) @@ -79,25 +79,25 @@ var ResultIsNumber9 = +foo(); var ResultIsNumber10 = +A.foo(); >ResultIsNumber10 : Symbol(ResultIsNumber10, Decl(plusOperatorWithStringType.ts, 30, 3)) ->A.foo : Symbol(A.foo, Decl(plusOperatorWithStringType.ts, 7, 21)) +>A.foo : Symbol(A.foo, Decl(plusOperatorWithStringType.ts, 7, 22)) >A : Symbol(A, Decl(plusOperatorWithStringType.ts, 4, 40)) ->foo : Symbol(A.foo, Decl(plusOperatorWithStringType.ts, 7, 21)) +>foo : Symbol(A.foo, Decl(plusOperatorWithStringType.ts, 7, 22)) var ResultIsNumber11 = +(STRING + STRING); >ResultIsNumber11 : Symbol(ResultIsNumber11, Decl(plusOperatorWithStringType.ts, 31, 3)) ->STRING : Symbol(STRING, Decl(plusOperatorWithStringType.ts, 1, 3)) ->STRING : Symbol(STRING, Decl(plusOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(plusOperatorWithStringType.ts, 1, 11)) +>STRING : Symbol(STRING, Decl(plusOperatorWithStringType.ts, 1, 11)) var ResultIsNumber12 = +STRING.charAt(0); >ResultIsNumber12 : Symbol(ResultIsNumber12, Decl(plusOperatorWithStringType.ts, 32, 3)) >STRING.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) ->STRING : Symbol(STRING, Decl(plusOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(plusOperatorWithStringType.ts, 1, 11)) >charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) // miss assignment operators +""; +STRING; ->STRING : Symbol(STRING, Decl(plusOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(plusOperatorWithStringType.ts, 1, 11)) +STRING1; >STRING1 : Symbol(STRING1, Decl(plusOperatorWithStringType.ts, 2, 3)) diff --git a/tests/baselines/reference/plusOperatorWithStringType.types b/tests/baselines/reference/plusOperatorWithStringType.types index d588036ed2892..e368676bb73b5 100644 --- a/tests/baselines/reference/plusOperatorWithStringType.types +++ b/tests/baselines/reference/plusOperatorWithStringType.types @@ -2,7 +2,7 @@ === plusOperatorWithStringType.ts === // + operator on string type -var STRING: string; +declare var STRING: string; >STRING : string > : ^^^^^^ @@ -26,7 +26,7 @@ class A { >A : A > : ^ - public a: string; + public a!: string; >a : string > : ^^^^^^ @@ -40,9 +40,11 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: string; + export var n: string = ""; >n : string > : ^^^^^^ +>"" : "" +> : ^^ } var objA = new A(); diff --git a/tests/baselines/reference/primitiveMembers.errors.txt b/tests/baselines/reference/primitiveMembers.errors.txt index a68f220c4244b..3118230d87b8a 100644 --- a/tests/baselines/reference/primitiveMembers.errors.txt +++ b/tests/baselines/reference/primitiveMembers.errors.txt @@ -15,7 +15,7 @@ primitiveMembers.ts(21,10): error TS2872: This kind of expression is always trut x.toString(); var n = 0; - var N: Number; + declare var N: Number; n = N; // should not work, as 'number' has a different brand ~ diff --git a/tests/baselines/reference/primitiveMembers.js b/tests/baselines/reference/primitiveMembers.js index 1ca0715438301..924f510714a52 100644 --- a/tests/baselines/reference/primitiveMembers.js +++ b/tests/baselines/reference/primitiveMembers.js @@ -9,7 +9,7 @@ x.toBAZ(); x.toString(); var n = 0; -var N: Number; +declare var N: Number; n = N; // should not work, as 'number' has a different brand N = n; // should work @@ -55,7 +55,6 @@ r.source; x.toBAZ(); x.toString(); var n = 0; -var N; n = N; // should not work, as 'number' has a different brand N = n; // should work var o = {}; diff --git a/tests/baselines/reference/primitiveMembers.symbols b/tests/baselines/reference/primitiveMembers.symbols index 0d9f89691014b..71942f82f6b32 100644 --- a/tests/baselines/reference/primitiveMembers.symbols +++ b/tests/baselines/reference/primitiveMembers.symbols @@ -23,16 +23,16 @@ x.toString(); var n = 0; >n : Symbol(n, Decl(primitiveMembers.ts, 7, 3)) -var N: Number; ->N : Symbol(N, Decl(primitiveMembers.ts, 8, 3)) +declare var N: Number; +>N : Symbol(N, Decl(primitiveMembers.ts, 8, 11)) >Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) n = N; // should not work, as 'number' has a different brand >n : Symbol(n, Decl(primitiveMembers.ts, 7, 3)) ->N : Symbol(N, Decl(primitiveMembers.ts, 8, 3)) +>N : Symbol(N, Decl(primitiveMembers.ts, 8, 11)) N = n; // should work ->N : Symbol(N, Decl(primitiveMembers.ts, 8, 3)) +>N : Symbol(N, Decl(primitiveMembers.ts, 8, 11)) >n : Symbol(n, Decl(primitiveMembers.ts, 7, 3)) var o: Object = {} diff --git a/tests/baselines/reference/primitiveMembers.types b/tests/baselines/reference/primitiveMembers.types index bd2f700c7279d..61e8920ff3e4b 100644 --- a/tests/baselines/reference/primitiveMembers.types +++ b/tests/baselines/reference/primitiveMembers.types @@ -47,7 +47,7 @@ var n = 0; >0 : 0 > : ^ -var N: Number; +declare var N: Number; >N : Number > : ^^^^^^ diff --git a/tests/baselines/reference/promisePermutations.errors.txt b/tests/baselines/reference/promisePermutations.errors.txt index 58ef3d36a79c2..89f3b21b8a3ef 100644 --- a/tests/baselines/reference/promisePermutations.errors.txt +++ b/tests/baselines/reference/promisePermutations.errors.txt @@ -200,29 +200,29 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. declare function testFunction12P(x: T): IPromise; declare function testFunction12P(x: T, y: T): Promise; - var r1: IPromise; + declare var r1: IPromise; var r1a = r1.then(testFunction, testFunction, testFunction); var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); - var s1: Promise; + declare var s1: Promise; var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); - var r2: IPromise<{ x: number; }>; + declare var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); - var s2: Promise<{ x: number; }>; + declare var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); - var r3: IPromise; + declare var r3: IPromise; var r3a = r3.then(testFunction3, testFunction3, testFunction3); var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); - var s3: Promise; + declare var s3: Promise; var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); @@ -235,9 +235,9 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! error TS2769: Type 'IPromise' is not assignable to type 'number'. !!! related TS2771 promisePermutations.ts:5:5: The last overload is declared here. - var r4: IPromise; - var sIPromise: (x: any) => IPromise; - var sPromise: (x: any) => Promise; + declare var r4: IPromise; + declare var sIPromise: (x: any) => IPromise; + declare var sPromise: (x: any) => Promise; var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -247,7 +247,7 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! error TS2769: Type 'string' is not assignable to type 'number'. !!! related TS2771 promisePermutations.ts:13:5: The last overload is declared here. var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok - var s4: Promise; + declare var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -274,7 +274,7 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! related TS2771 promisePermutations.ts:5:5: The last overload is declared here. var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); - var r5: IPromise; + declare var r5: IPromise; var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -283,7 +283,7 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! error TS2769: Target signature provides too few arguments. Expected 2 or more, but got 1. !!! related TS2771 promisePermutations.ts:13:5: The last overload is declared here. var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok - var s5: Promise; + declare var s5: Promise; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -307,7 +307,7 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! related TS2771 promisePermutations.ts:5:5: The last overload is declared here. var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok - var r6: IPromise; + declare var r6: IPromise; var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -316,7 +316,7 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! error TS2769: Target signature provides too few arguments. Expected 2 or more, but got 1. !!! related TS2771 promisePermutations.ts:13:5: The last overload is declared here. var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok - var s6: Promise; + declare var s6: Promise; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -340,7 +340,7 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! related TS2771 promisePermutations.ts:5:5: The last overload is declared here. var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok - var r7: IPromise; + declare var r7: IPromise; var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -350,7 +350,7 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! error TS2769: Type 'string' is not assignable to type '(a: T) => T'. !!! related TS2771 promisePermutations.ts:13:5: The last overload is declared here. var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok - var s7: Promise; + declare var s7: Promise; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -377,9 +377,9 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! related TS2771 promisePermutations.ts:13:5: The last overload is declared here. var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? - var r8: IPromise; - var nIPromise: (x: any) => IPromise; - var nPromise: (x: any) => Promise; + declare var r8: IPromise; + declare var nIPromise: (x: any) => IPromise; + declare var nPromise: (x: any) => Promise; var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -412,7 +412,7 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! related TS2771 promisePermutations.ts:5:5: The last overload is declared here. var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok - var r9: IPromise; + declare var r9: IPromise; var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -431,7 +431,7 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! error TS2769: Type 'string' is not assignable to type 'number'. !!! related TS2771 promisePermutations.ts:13:5: The last overload is declared here. var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok - var s9: Promise; + declare var s9: Promise; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -493,7 +493,7 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! related TS2771 promisePermutations.ts:5:5: The last overload is declared here. var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok - var r11: IPromise; + declare var r11: IPromise; var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error ~~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -502,7 +502,7 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! error TS2769: Type 'IPromise' is not assignable to type 'IPromise'. !!! error TS2769: Type 'number' is not assignable to type 'string'. !!! related TS2771 promisePermutations.ts:13:5: The last overload is declared here. - var s11: Promise; + declare var s11: Promise; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok ~~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. diff --git a/tests/baselines/reference/promisePermutations.js b/tests/baselines/reference/promisePermutations.js index 8cc6fae972954..a8f1924fb1f0e 100644 --- a/tests/baselines/reference/promisePermutations.js +++ b/tests/baselines/reference/promisePermutations.js @@ -48,75 +48,75 @@ declare function testFunction12(x: T, y: T): IPromise; declare function testFunction12P(x: T): IPromise; declare function testFunction12P(x: T, y: T): Promise; -var r1: IPromise; +declare var r1: IPromise; var r1a = r1.then(testFunction, testFunction, testFunction); var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); -var s1: Promise; +declare var s1: Promise; var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); -var r2: IPromise<{ x: number; }>; +declare var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var s2: Promise<{ x: number; }>; +declare var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var r3: IPromise; +declare var r3: IPromise; var r3a = r3.then(testFunction3, testFunction3, testFunction3); var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); -var s3: Promise; +declare var s3: Promise; var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // error -var r4: IPromise; -var sIPromise: (x: any) => IPromise; -var sPromise: (x: any) => Promise; +declare var r4: IPromise; +declare var sIPromise: (x: any) => IPromise; +declare var sPromise: (x: any) => Promise; var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok -var s4: Promise; +declare var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); -var r5: IPromise; +declare var r5: IPromise; var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s5: Promise; +declare var s5: Promise; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r6: IPromise; +declare var r6: IPromise; var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s6: Promise; +declare var s6: Promise; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r7: IPromise; +declare var r7: IPromise; var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s7: Promise; +declare var s7: Promise; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? -var r8: IPromise; -var nIPromise: (x: any) => IPromise; -var nPromise: (x: any) => Promise; +declare var r8: IPromise; +declare var nIPromise: (x: any) => IPromise; +declare var nPromise: (x: any) => Promise; var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok var s8: Promise; @@ -125,13 +125,13 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok -var r9: IPromise; +declare var r9: IPromise; var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok var r9d = r9.then(testFunction, sIPromise, nIPromise); // ok var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s9: Promise; +declare var s9: Promise; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error @@ -155,9 +155,9 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok -var r11: IPromise; +declare var r11: IPromise; var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error -var s11: Promise; +declare var s11: Promise; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error @@ -170,68 +170,49 @@ var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok //// [promisePermutations.js] -var r1; var r1a = r1.then(testFunction, testFunction, testFunction); var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); -var s1; var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); -var r2; var r2a = r2.then(testFunction2, testFunction2, testFunction2); var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var s2; var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var r3; var r3a = r3.then(testFunction3, testFunction3, testFunction3); var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); -var s3; var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // error -var r4; -var sIPromise; -var sPromise; var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok -var s4; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); -var r5; var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s5; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r6; var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s6; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r7; var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s7; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? -var r8; -var nIPromise; -var nPromise; var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok var s8; @@ -239,13 +220,11 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok -var r9; var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok var r9d = r9.then(testFunction, sIPromise, nIPromise); // ok var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s9; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error @@ -267,9 +246,7 @@ var s10d = s10.then(sPromise, sPromise, sPromise); // ok var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok -var r11; var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error -var s11; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error diff --git a/tests/baselines/reference/promisePermutations.symbols b/tests/baselines/reference/promisePermutations.symbols index 0bdab5102b05a..e71489914c4cf 100644 --- a/tests/baselines/reference/promisePermutations.symbols +++ b/tests/baselines/reference/promisePermutations.symbols @@ -381,14 +381,14 @@ declare function testFunction12P(x: T, y: T): Promise; >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) >T : Symbol(T, Decl(promisePermutations.ts, 45, 33)) -var r1: IPromise; ->r1 : Symbol(r1, Decl(promisePermutations.ts, 47, 3)) +declare var r1: IPromise; +>r1 : Symbol(r1, Decl(promisePermutations.ts, 47, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations.ts, 6, 1)) var r1a = r1.then(testFunction, testFunction, testFunction); >r1a : Symbol(r1a, Decl(promisePermutations.ts, 48, 3)) >r1.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r1 : Symbol(r1, Decl(promisePermutations.ts, 47, 3)) +>r1 : Symbol(r1, Decl(promisePermutations.ts, 47, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) @@ -398,7 +398,7 @@ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, t >r1b : Symbol(r1b, Decl(promisePermutations.ts, 49, 3)) >r1.then(testFunction, testFunction, testFunction).then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >r1.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r1 : Symbol(r1, Decl(promisePermutations.ts, 47, 3)) +>r1 : Symbol(r1, Decl(promisePermutations.ts, 47, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) @@ -411,20 +411,20 @@ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, t var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >r1c : Symbol(r1c, Decl(promisePermutations.ts, 50, 3)) >r1.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r1 : Symbol(r1, Decl(promisePermutations.ts, 47, 3)) +>r1 : Symbol(r1, Decl(promisePermutations.ts, 47, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) -var s1: Promise; ->s1 : Symbol(s1, Decl(promisePermutations.ts, 51, 3)) +declare var s1: Promise; +>s1 : Symbol(s1, Decl(promisePermutations.ts, 51, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s1a = s1.then(testFunction, testFunction, testFunction); >s1a : Symbol(s1a, Decl(promisePermutations.ts, 52, 3)) >s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s1 : Symbol(s1, Decl(promisePermutations.ts, 51, 3)) +>s1 : Symbol(s1, Decl(promisePermutations.ts, 51, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) @@ -433,7 +433,7 @@ var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Symbol(s1b, Decl(promisePermutations.ts, 53, 3)) >s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s1 : Symbol(s1, Decl(promisePermutations.ts, 51, 3)) +>s1 : Symbol(s1, Decl(promisePermutations.ts, 51, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) @@ -442,7 +442,7 @@ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Symbol(s1c, Decl(promisePermutations.ts, 54, 3)) >s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s1 : Symbol(s1, Decl(promisePermutations.ts, 51, 3)) +>s1 : Symbol(s1, Decl(promisePermutations.ts, 51, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) @@ -452,7 +452,7 @@ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, >s1d : Symbol(s1d, Decl(promisePermutations.ts, 55, 3)) >s1.then(testFunctionP, testFunction, testFunction).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s1 : Symbol(s1, Decl(promisePermutations.ts, 51, 3)) +>s1 : Symbol(s1, Decl(promisePermutations.ts, 51, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) @@ -462,15 +462,15 @@ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) -var r2: IPromise<{ x: number; }>; ->r2 : Symbol(r2, Decl(promisePermutations.ts, 57, 3)) +declare var r2: IPromise<{ x: number; }>; +>r2 : Symbol(r2, Decl(promisePermutations.ts, 57, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations.ts, 6, 1)) ->x : Symbol(x, Decl(promisePermutations.ts, 57, 18)) +>x : Symbol(x, Decl(promisePermutations.ts, 57, 26)) var r2a = r2.then(testFunction2, testFunction2, testFunction2); >r2a : Symbol(r2a, Decl(promisePermutations.ts, 58, 3)) >r2.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r2 : Symbol(r2, Decl(promisePermutations.ts, 57, 3)) +>r2 : Symbol(r2, Decl(promisePermutations.ts, 57, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) @@ -480,7 +480,7 @@ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction >r2b : Symbol(r2b, Decl(promisePermutations.ts, 59, 3)) >r2.then(testFunction2, testFunction2, testFunction2).then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >r2.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r2 : Symbol(r2, Decl(promisePermutations.ts, 57, 3)) +>r2 : Symbol(r2, Decl(promisePermutations.ts, 57, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) @@ -490,15 +490,15 @@ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) -var s2: Promise<{ x: number; }>; ->s2 : Symbol(s2, Decl(promisePermutations.ts, 60, 3)) +declare var s2: Promise<{ x: number; }>; +>s2 : Symbol(s2, Decl(promisePermutations.ts, 60, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) ->x : Symbol(x, Decl(promisePermutations.ts, 60, 17)) +>x : Symbol(x, Decl(promisePermutations.ts, 60, 25)) var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Symbol(s2a, Decl(promisePermutations.ts, 61, 3)) >s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s2 : Symbol(s2, Decl(promisePermutations.ts, 60, 3)) +>s2 : Symbol(s2, Decl(promisePermutations.ts, 60, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) @@ -507,7 +507,7 @@ var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Symbol(s2b, Decl(promisePermutations.ts, 62, 3)) >s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s2 : Symbol(s2, Decl(promisePermutations.ts, 60, 3)) +>s2 : Symbol(s2, Decl(promisePermutations.ts, 60, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations.ts, 18, 58)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations.ts, 18, 58)) @@ -516,7 +516,7 @@ var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Symbol(s2c, Decl(promisePermutations.ts, 63, 3)) >s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s2 : Symbol(s2, Decl(promisePermutations.ts, 60, 3)) +>s2 : Symbol(s2, Decl(promisePermutations.ts, 60, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations.ts, 18, 58)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) @@ -526,7 +526,7 @@ var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunctio >s2d : Symbol(s2d, Decl(promisePermutations.ts, 64, 3)) >s2.then(testFunction2P, testFunction2, testFunction2).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s2 : Symbol(s2, Decl(promisePermutations.ts, 60, 3)) +>s2 : Symbol(s2, Decl(promisePermutations.ts, 60, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations.ts, 18, 58)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) @@ -536,14 +536,14 @@ var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunctio >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) -var r3: IPromise; ->r3 : Symbol(r3, Decl(promisePermutations.ts, 66, 3)) +declare var r3: IPromise; +>r3 : Symbol(r3, Decl(promisePermutations.ts, 66, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations.ts, 6, 1)) var r3a = r3.then(testFunction3, testFunction3, testFunction3); >r3a : Symbol(r3a, Decl(promisePermutations.ts, 67, 3)) >r3.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r3 : Symbol(r3, Decl(promisePermutations.ts, 66, 3)) +>r3 : Symbol(r3, Decl(promisePermutations.ts, 66, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) @@ -553,7 +553,7 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction >r3b : Symbol(r3b, Decl(promisePermutations.ts, 68, 3)) >r3.then(testFunction3, testFunction3, testFunction3).then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >r3.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r3 : Symbol(r3, Decl(promisePermutations.ts, 66, 3)) +>r3 : Symbol(r3, Decl(promisePermutations.ts, 66, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) @@ -563,14 +563,14 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) -var s3: Promise; ->s3 : Symbol(s3, Decl(promisePermutations.ts, 69, 3)) +declare var s3: Promise; +>s3 : Symbol(s3, Decl(promisePermutations.ts, 69, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s3a = s3.then(testFunction3, testFunction3, testFunction3); >s3a : Symbol(s3a, Decl(promisePermutations.ts, 70, 3)) >s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s3 : Symbol(s3, Decl(promisePermutations.ts, 69, 3)) +>s3 : Symbol(s3, Decl(promisePermutations.ts, 69, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) @@ -579,7 +579,7 @@ var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Symbol(s3b, Decl(promisePermutations.ts, 71, 3)) >s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s3 : Symbol(s3, Decl(promisePermutations.ts, 69, 3)) +>s3 : Symbol(s3, Decl(promisePermutations.ts, 69, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations.ts, 20, 60)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations.ts, 20, 60)) @@ -588,7 +588,7 @@ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Symbol(s3c, Decl(promisePermutations.ts, 72, 3)) >s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s3 : Symbol(s3, Decl(promisePermutations.ts, 69, 3)) +>s3 : Symbol(s3, Decl(promisePermutations.ts, 69, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations.ts, 20, 60)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) @@ -598,7 +598,7 @@ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunctio >s3d : Symbol(s3d, Decl(promisePermutations.ts, 73, 3)) >s3.then(testFunction3P, testFunction3, testFunction3).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s3 : Symbol(s3, Decl(promisePermutations.ts, 69, 3)) +>s3 : Symbol(s3, Decl(promisePermutations.ts, 69, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations.ts, 20, 60)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) @@ -608,24 +608,24 @@ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunctio >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) -var r4: IPromise; ->r4 : Symbol(r4, Decl(promisePermutations.ts, 75, 3)) +declare var r4: IPromise; +>r4 : Symbol(r4, Decl(promisePermutations.ts, 75, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations.ts, 6, 1)) -var sIPromise: (x: any) => IPromise; ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->x : Symbol(x, Decl(promisePermutations.ts, 76, 16)) +declare var sIPromise: (x: any) => IPromise; +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>x : Symbol(x, Decl(promisePermutations.ts, 76, 24)) >IPromise : Symbol(IPromise, Decl(promisePermutations.ts, 6, 1)) -var sPromise: (x: any) => Promise; ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->x : Symbol(x, Decl(promisePermutations.ts, 77, 15)) +declare var sPromise: (x: any) => Promise; +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) +>x : Symbol(x, Decl(promisePermutations.ts, 77, 23)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error >r4a : Symbol(r4a, Decl(promisePermutations.ts, 78, 3)) >r4.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r4 : Symbol(r4, Decl(promisePermutations.ts, 75, 3)) +>r4 : Symbol(r4, Decl(promisePermutations.ts, 75, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) @@ -635,24 +635,24 @@ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testF >r4b : Symbol(r4b, Decl(promisePermutations.ts, 79, 3)) >r4.then(sIPromise, testFunction4, testFunction4).then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >r4.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r4 : Symbol(r4, Decl(promisePermutations.ts, 75, 3)) +>r4 : Symbol(r4, Decl(promisePermutations.ts, 75, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) -var s4: Promise; ->s4 : Symbol(s4, Decl(promisePermutations.ts, 80, 3)) +declare var s4: Promise; +>s4 : Symbol(s4, Decl(promisePermutations.ts, 80, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >s4a : Symbol(s4a, Decl(promisePermutations.ts, 81, 3)) >s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s4 : Symbol(s4, Decl(promisePermutations.ts, 80, 3)) +>s4 : Symbol(s4, Decl(promisePermutations.ts, 80, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) @@ -661,7 +661,7 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : Symbol(s4b, Decl(promisePermutations.ts, 82, 3)) >s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s4 : Symbol(s4, Decl(promisePermutations.ts, 80, 3)) +>s4 : Symbol(s4, Decl(promisePermutations.ts, 80, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations.ts, 22, 72)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations.ts, 22, 72)) @@ -670,7 +670,7 @@ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : Symbol(s4c, Decl(promisePermutations.ts, 83, 3)) >s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s4 : Symbol(s4, Decl(promisePermutations.ts, 80, 3)) +>s4 : Symbol(s4, Decl(promisePermutations.ts, 80, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations.ts, 22, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) @@ -680,24 +680,24 @@ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, test >s4d : Symbol(s4d, Decl(promisePermutations.ts, 84, 3)) >s4.then(sIPromise, testFunction4P, testFunction4).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s4 : Symbol(s4, Decl(promisePermutations.ts, 80, 3)) +>s4 : Symbol(s4, Decl(promisePermutations.ts, 80, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations.ts, 22, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations.ts, 22, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) -var r5: IPromise; ->r5 : Symbol(r5, Decl(promisePermutations.ts, 86, 3)) +declare var r5: IPromise; +>r5 : Symbol(r5, Decl(promisePermutations.ts, 86, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations.ts, 6, 1)) var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error >r5a : Symbol(r5a, Decl(promisePermutations.ts, 87, 3)) >r5.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r5 : Symbol(r5, Decl(promisePermutations.ts, 86, 3)) +>r5 : Symbol(r5, Decl(promisePermutations.ts, 86, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations.ts, 23, 72)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations.ts, 23, 72)) @@ -707,24 +707,24 @@ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r5b : Symbol(r5b, Decl(promisePermutations.ts, 88, 3)) >r5.then(sIPromise, sIPromise, sIPromise).then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >r5.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r5 : Symbol(r5, Decl(promisePermutations.ts, 86, 3)) +>r5 : Symbol(r5, Decl(promisePermutations.ts, 86, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) -var s5: Promise; ->s5 : Symbol(s5, Decl(promisePermutations.ts, 89, 3)) +declare var s5: Promise; +>s5 : Symbol(s5, Decl(promisePermutations.ts, 89, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >s5a : Symbol(s5a, Decl(promisePermutations.ts, 90, 3)) >s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s5 : Symbol(s5, Decl(promisePermutations.ts, 89, 3)) +>s5 : Symbol(s5, Decl(promisePermutations.ts, 89, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations.ts, 23, 72)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations.ts, 23, 72)) @@ -733,7 +733,7 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : Symbol(s5b, Decl(promisePermutations.ts, 91, 3)) >s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s5 : Symbol(s5, Decl(promisePermutations.ts, 89, 3)) +>s5 : Symbol(s5, Decl(promisePermutations.ts, 89, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations.ts, 24, 87)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations.ts, 24, 87)) @@ -742,7 +742,7 @@ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : Symbol(s5c, Decl(promisePermutations.ts, 92, 3)) >s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s5 : Symbol(s5, Decl(promisePermutations.ts, 89, 3)) +>s5 : Symbol(s5, Decl(promisePermutations.ts, 89, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations.ts, 24, 87)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations.ts, 23, 72)) @@ -752,24 +752,24 @@ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >s5d : Symbol(s5d, Decl(promisePermutations.ts, 93, 3)) >s5.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s5 : Symbol(s5, Decl(promisePermutations.ts, 89, 3)) +>s5 : Symbol(s5, Decl(promisePermutations.ts, 89, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) -var r6: IPromise; ->r6 : Symbol(r6, Decl(promisePermutations.ts, 95, 3)) +declare var r6: IPromise; +>r6 : Symbol(r6, Decl(promisePermutations.ts, 95, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations.ts, 6, 1)) var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error >r6a : Symbol(r6a, Decl(promisePermutations.ts, 96, 3)) >r6.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r6 : Symbol(r6, Decl(promisePermutations.ts, 95, 3)) +>r6 : Symbol(r6, Decl(promisePermutations.ts, 95, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations.ts, 25, 87)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations.ts, 25, 87)) @@ -779,24 +779,24 @@ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r6b : Symbol(r6b, Decl(promisePermutations.ts, 97, 3)) >r6.then(sIPromise, sIPromise, sIPromise).then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >r6.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r6 : Symbol(r6, Decl(promisePermutations.ts, 95, 3)) +>r6 : Symbol(r6, Decl(promisePermutations.ts, 95, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) -var s6: Promise; ->s6 : Symbol(s6, Decl(promisePermutations.ts, 98, 3)) +declare var s6: Promise; +>s6 : Symbol(s6, Decl(promisePermutations.ts, 98, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >s6a : Symbol(s6a, Decl(promisePermutations.ts, 99, 3)) >s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s6 : Symbol(s6, Decl(promisePermutations.ts, 98, 3)) +>s6 : Symbol(s6, Decl(promisePermutations.ts, 98, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations.ts, 25, 87)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations.ts, 25, 87)) @@ -805,7 +805,7 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : Symbol(s6b, Decl(promisePermutations.ts, 100, 3)) >s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s6 : Symbol(s6, Decl(promisePermutations.ts, 98, 3)) +>s6 : Symbol(s6, Decl(promisePermutations.ts, 98, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations.ts, 26, 80)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations.ts, 26, 80)) @@ -814,7 +814,7 @@ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : Symbol(s6c, Decl(promisePermutations.ts, 101, 3)) >s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s6 : Symbol(s6, Decl(promisePermutations.ts, 98, 3)) +>s6 : Symbol(s6, Decl(promisePermutations.ts, 98, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations.ts, 26, 80)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations.ts, 25, 87)) @@ -824,24 +824,24 @@ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >s6d : Symbol(s6d, Decl(promisePermutations.ts, 102, 3)) >s6.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s6 : Symbol(s6, Decl(promisePermutations.ts, 98, 3)) +>s6 : Symbol(s6, Decl(promisePermutations.ts, 98, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) -var r7: IPromise; ->r7 : Symbol(r7, Decl(promisePermutations.ts, 104, 3)) +declare var r7: IPromise; +>r7 : Symbol(r7, Decl(promisePermutations.ts, 104, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations.ts, 6, 1)) var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error >r7a : Symbol(r7a, Decl(promisePermutations.ts, 105, 3)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r7 : Symbol(r7, Decl(promisePermutations.ts, 104, 3)) +>r7 : Symbol(r7, Decl(promisePermutations.ts, 104, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction7 : Symbol(testFunction7, Decl(promisePermutations.ts, 27, 80)) >testFunction7 : Symbol(testFunction7, Decl(promisePermutations.ts, 27, 80)) @@ -851,24 +851,24 @@ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r7b : Symbol(r7b, Decl(promisePermutations.ts, 106, 3)) >r7.then(sIPromise, sIPromise, sIPromise).then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r7 : Symbol(r7, Decl(promisePermutations.ts, 104, 3)) +>r7 : Symbol(r7, Decl(promisePermutations.ts, 104, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) -var s7: Promise; ->s7 : Symbol(s7, Decl(promisePermutations.ts, 107, 3)) +declare var s7: Promise; +>s7 : Symbol(s7, Decl(promisePermutations.ts, 107, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error >s7a : Symbol(s7a, Decl(promisePermutations.ts, 108, 3)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r7 : Symbol(r7, Decl(promisePermutations.ts, 104, 3)) +>r7 : Symbol(r7, Decl(promisePermutations.ts, 104, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction7 : Symbol(testFunction7, Decl(promisePermutations.ts, 27, 80)) >testFunction7 : Symbol(testFunction7, Decl(promisePermutations.ts, 27, 80)) @@ -877,7 +877,7 @@ var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >s7b : Symbol(s7b, Decl(promisePermutations.ts, 109, 3)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r7 : Symbol(r7, Decl(promisePermutations.ts, 104, 3)) +>r7 : Symbol(r7, Decl(promisePermutations.ts, 104, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction7P : Symbol(testFunction7P, Decl(promisePermutations.ts, 28, 69)) >testFunction7P : Symbol(testFunction7P, Decl(promisePermutations.ts, 28, 69)) @@ -886,7 +886,7 @@ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error >s7c : Symbol(s7c, Decl(promisePermutations.ts, 110, 3)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r7 : Symbol(r7, Decl(promisePermutations.ts, 104, 3)) +>r7 : Symbol(r7, Decl(promisePermutations.ts, 104, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction7P : Symbol(testFunction7P, Decl(promisePermutations.ts, 28, 69)) >testFunction7 : Symbol(testFunction7, Decl(promisePermutations.ts, 27, 80)) @@ -896,34 +896,34 @@ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromis >s7d : Symbol(s7d, Decl(promisePermutations.ts, 111, 3)) >r7.then(sPromise, sPromise, sPromise).then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r7 : Symbol(r7, Decl(promisePermutations.ts, 104, 3)) +>r7 : Symbol(r7, Decl(promisePermutations.ts, 104, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) -var r8: IPromise; ->r8 : Symbol(r8, Decl(promisePermutations.ts, 113, 3)) +declare var r8: IPromise; +>r8 : Symbol(r8, Decl(promisePermutations.ts, 113, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations.ts, 6, 1)) -var nIPromise: (x: any) => IPromise; ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->x : Symbol(x, Decl(promisePermutations.ts, 114, 16)) +declare var nIPromise: (x: any) => IPromise; +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>x : Symbol(x, Decl(promisePermutations.ts, 114, 24)) >IPromise : Symbol(IPromise, Decl(promisePermutations.ts, 6, 1)) -var nPromise: (x: any) => Promise; ->nPromise : Symbol(nPromise, Decl(promisePermutations.ts, 115, 3)) ->x : Symbol(x, Decl(promisePermutations.ts, 115, 15)) +declare var nPromise: (x: any) => Promise; +>nPromise : Symbol(nPromise, Decl(promisePermutations.ts, 115, 11)) +>x : Symbol(x, Decl(promisePermutations.ts, 115, 23)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error >r8a : Symbol(r8a, Decl(promisePermutations.ts, 116, 3)) >r8.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r8 : Symbol(r8, Decl(promisePermutations.ts, 113, 3)) +>r8 : Symbol(r8, Decl(promisePermutations.ts, 113, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations.ts, 29, 69)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations.ts, 29, 69)) @@ -933,15 +933,15 @@ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >r8b : Symbol(r8b, Decl(promisePermutations.ts, 117, 3)) >r8.then(nIPromise, nIPromise, nIPromise).then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >r8.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r8 : Symbol(r8, Decl(promisePermutations.ts, 113, 3)) +>r8 : Symbol(r8, Decl(promisePermutations.ts, 113, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) var s8: Promise; >s8 : Symbol(s8, Decl(promisePermutations.ts, 118, 3)) @@ -980,22 +980,22 @@ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >s8.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s8 : Symbol(s8, Decl(promisePermutations.ts, 118, 3)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) -var r9: IPromise; ->r9 : Symbol(r9, Decl(promisePermutations.ts, 124, 3)) +declare var r9: IPromise; +>r9 : Symbol(r9, Decl(promisePermutations.ts, 124, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations.ts, 6, 1)) var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error >r9a : Symbol(r9a, Decl(promisePermutations.ts, 125, 3)) >r9.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r9 : Symbol(r9, Decl(promisePermutations.ts, 124, 3)) +>r9 : Symbol(r9, Decl(promisePermutations.ts, 124, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations.ts, 31, 70)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations.ts, 31, 70)) @@ -1004,52 +1004,52 @@ var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok >r9b : Symbol(r9b, Decl(promisePermutations.ts, 126, 3)) >r9.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r9 : Symbol(r9, Decl(promisePermutations.ts, 124, 3)) +>r9 : Symbol(r9, Decl(promisePermutations.ts, 124, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >r9c : Symbol(r9c, Decl(promisePermutations.ts, 127, 3)) >r9.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r9 : Symbol(r9, Decl(promisePermutations.ts, 124, 3)) +>r9 : Symbol(r9, Decl(promisePermutations.ts, 124, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) var r9d = r9.then(testFunction, sIPromise, nIPromise); // ok >r9d : Symbol(r9d, Decl(promisePermutations.ts, 128, 3)) >r9.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r9 : Symbol(r9, Decl(promisePermutations.ts, 124, 3)) +>r9 : Symbol(r9, Decl(promisePermutations.ts, 124, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r9e : Symbol(r9e, Decl(promisePermutations.ts, 129, 3)) >r9.then(testFunction, nIPromise, sIPromise).then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >r9.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r9 : Symbol(r9, Decl(promisePermutations.ts, 124, 3)) +>r9 : Symbol(r9, Decl(promisePermutations.ts, 124, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) -var s9: Promise; ->s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) +declare var s9: Promise; +>s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >s9a : Symbol(s9a, Decl(promisePermutations.ts, 131, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) +>s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations.ts, 31, 70)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations.ts, 31, 70)) @@ -1058,7 +1058,7 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : Symbol(s9b, Decl(promisePermutations.ts, 132, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) +>s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations.ts, 32, 73)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations.ts, 32, 73)) @@ -1067,7 +1067,7 @@ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : Symbol(s9c, Decl(promisePermutations.ts, 133, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) +>s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations.ts, 32, 73)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations.ts, 31, 70)) @@ -1076,43 +1076,43 @@ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Symbol(s9d, Decl(promisePermutations.ts, 134, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) +>s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Symbol(s9e, Decl(promisePermutations.ts, 135, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) +>s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->nPromise : Symbol(nPromise, Decl(promisePermutations.ts, 115, 3)) ->nPromise : Symbol(nPromise, Decl(promisePermutations.ts, 115, 3)) ->nPromise : Symbol(nPromise, Decl(promisePermutations.ts, 115, 3)) +>nPromise : Symbol(nPromise, Decl(promisePermutations.ts, 115, 11)) +>nPromise : Symbol(nPromise, Decl(promisePermutations.ts, 115, 11)) +>nPromise : Symbol(nPromise, Decl(promisePermutations.ts, 115, 11)) var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : Symbol(s9f, Decl(promisePermutations.ts, 136, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) +>s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Symbol(s9g, Decl(promisePermutations.ts, 137, 3)) >s9.then(testFunction, nIPromise, sIPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) +>s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) var r10 = testFunction10(x => x); >r10 : Symbol(r10, Decl(promisePermutations.ts, 139, 3)) @@ -1134,18 +1134,18 @@ var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok >r10.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >r10 : Symbol(r10, Decl(promisePermutations.ts, 139, 3)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >r10c : Symbol(r10c, Decl(promisePermutations.ts, 142, 3)) >r10.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >r10 : Symbol(r10, Decl(promisePermutations.ts, 139, 3)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) var r10d = r10.then(testFunction, sIPromise, nIPromise); // ok >r10d : Symbol(r10d, Decl(promisePermutations.ts, 143, 3)) @@ -1153,8 +1153,8 @@ var r10d = r10.then(testFunction, sIPromise, nIPromise); // ok >r10 : Symbol(r10, Decl(promisePermutations.ts, 139, 3)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r10e : Symbol(r10e, Decl(promisePermutations.ts, 144, 3)) @@ -1163,12 +1163,12 @@ var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromis >r10 : Symbol(r10, Decl(promisePermutations.ts, 139, 3)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) var s10 = testFunction10P(x => x); >s10 : Symbol(s10, Decl(promisePermutations.ts, 145, 3)) @@ -1208,18 +1208,18 @@ var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s10 : Symbol(s10, Decl(promisePermutations.ts, 145, 3)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Symbol(s10e, Decl(promisePermutations.ts, 150, 3)) >s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s10 : Symbol(s10, Decl(promisePermutations.ts, 145, 3)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->nPromise : Symbol(nPromise, Decl(promisePermutations.ts, 115, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>nPromise : Symbol(nPromise, Decl(promisePermutations.ts, 115, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : Symbol(s10f, Decl(promisePermutations.ts, 151, 3)) @@ -1227,8 +1227,8 @@ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10 : Symbol(s10, Decl(promisePermutations.ts, 145, 3)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Symbol(s10g, Decl(promisePermutations.ts, 152, 3)) @@ -1237,34 +1237,34 @@ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromis >s10 : Symbol(s10, Decl(promisePermutations.ts, 145, 3)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 11)) -var r11: IPromise; ->r11 : Symbol(r11, Decl(promisePermutations.ts, 154, 3)) +declare var r11: IPromise; +>r11 : Symbol(r11, Decl(promisePermutations.ts, 154, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations.ts, 6, 1)) var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error >r11a : Symbol(r11a, Decl(promisePermutations.ts, 155, 3)) >r11.then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) ->r11 : Symbol(r11, Decl(promisePermutations.ts, 154, 3)) +>r11 : Symbol(r11, Decl(promisePermutations.ts, 154, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations.ts, 8, 23), Decl(promisePermutations.ts, 9, 135), Decl(promisePermutations.ts, 10, 125), Decl(promisePermutations.ts, 11, 125)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations.ts, 35, 68), Decl(promisePermutations.ts, 37, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations.ts, 35, 68), Decl(promisePermutations.ts, 37, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations.ts, 35, 68), Decl(promisePermutations.ts, 37, 61)) -var s11: Promise; ->s11 : Symbol(s11, Decl(promisePermutations.ts, 156, 3)) +declare var s11: Promise; +>s11 : Symbol(s11, Decl(promisePermutations.ts, 156, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >s11a : Symbol(s11a, Decl(promisePermutations.ts, 157, 3)) >s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s11 : Symbol(s11, Decl(promisePermutations.ts, 156, 3)) +>s11 : Symbol(s11, Decl(promisePermutations.ts, 156, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations.ts, 35, 68), Decl(promisePermutations.ts, 37, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations.ts, 35, 68), Decl(promisePermutations.ts, 37, 61)) @@ -1273,7 +1273,7 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >s11b : Symbol(s11b, Decl(promisePermutations.ts, 158, 3)) >s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s11 : Symbol(s11, Decl(promisePermutations.ts, 156, 3)) +>s11 : Symbol(s11, Decl(promisePermutations.ts, 156, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations.ts, 38, 61), Decl(promisePermutations.ts, 39, 61)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations.ts, 38, 61), Decl(promisePermutations.ts, 39, 61)) @@ -1282,7 +1282,7 @@ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error >s11c : Symbol(s11c, Decl(promisePermutations.ts, 159, 3)) >s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s11 : Symbol(s11, Decl(promisePermutations.ts, 156, 3)) +>s11 : Symbol(s11, Decl(promisePermutations.ts, 156, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations.ts, 38, 61), Decl(promisePermutations.ts, 39, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations.ts, 35, 68), Decl(promisePermutations.ts, 37, 61)) diff --git a/tests/baselines/reference/promisePermutations.types b/tests/baselines/reference/promisePermutations.types index 0c000ea24f39e..505469d6abe85 100644 --- a/tests/baselines/reference/promisePermutations.types +++ b/tests/baselines/reference/promisePermutations.types @@ -381,7 +381,7 @@ declare function testFunction12P(x: T, y: T): Promise; >y : T > : ^ -var r1: IPromise; +declare var r1: IPromise; >r1 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -451,7 +451,7 @@ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >testFunctionP : () => Promise > : ^^^^^^ -var s1: Promise; +declare var s1: Promise; >s1 : Promise > : ^^^^^^^^^^^^^^^ @@ -539,7 +539,7 @@ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, >testFunction : () => IPromise > : ^^^^^^ -var r2: IPromise<{ x: number; }>; +declare var r2: IPromise<{ x: number; }>; >r2 : IPromise<{ x: number; }> > : ^^^^^^^^^^^^^^ ^^^^ >x : number @@ -593,7 +593,7 @@ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction >testFunction2 : () => IPromise<{ x: number; }> > : ^^^^^^ -var s2: Promise<{ x: number; }>; +declare var s2: Promise<{ x: number; }>; >s2 : Promise<{ x: number; }> > : ^^^^^^^^^^^^^ ^^^^ >x : number @@ -683,7 +683,7 @@ var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunctio >testFunction2 : () => IPromise<{ x: number; }> > : ^^^^^^ -var r3: IPromise; +declare var r3: IPromise; >r3 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -735,7 +735,7 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction >testFunction3 : (x: number) => IPromise > : ^ ^^ ^^^^^ -var s3: Promise; +declare var s3: Promise; >s3 : Promise > : ^^^^^^^^^^^^^^^ @@ -823,17 +823,17 @@ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunctio >testFunction3 : (x: number) => IPromise > : ^ ^^ ^^^^^ -var r4: IPromise; +declare var r4: IPromise; >r4 : IPromise > : ^^^^^^^^^^^^^^^^ -var sIPromise: (x: any) => IPromise; +declare var sIPromise: (x: any) => IPromise; >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ >x : any > : ^^^ -var sPromise: (x: any) => Promise; +declare var sPromise: (x: any) => Promise; >sPromise : (x: any) => Promise > : ^ ^^ ^^^^^ >x : any @@ -887,7 +887,7 @@ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testF >testFunction4 : (x: number, y?: string) => IPromise > : ^ ^^ ^^ ^^^ ^^^^^ -var s4: Promise; +declare var s4: Promise; >s4 : Promise > : ^^^^^^^^^^^^^^^ @@ -975,7 +975,7 @@ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, test >testFunction4 : (x: number, y?: string) => IPromise > : ^ ^^ ^^ ^^^ ^^^^^ -var r5: IPromise; +declare var r5: IPromise; >r5 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -1027,7 +1027,7 @@ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var s5: Promise; +declare var s5: Promise; >s5 : Promise > : ^^^^^^^^^^^^^^^ @@ -1115,7 +1115,7 @@ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var r6: IPromise; +declare var r6: IPromise; >r6 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -1167,7 +1167,7 @@ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var s6: Promise; +declare var s6: Promise; >s6 : Promise > : ^^^^^^^^^^^^^^^ @@ -1255,7 +1255,7 @@ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var r7: IPromise; +declare var r7: IPromise; >r7 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -1307,7 +1307,7 @@ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var s7: Promise; +declare var s7: Promise; >s7 : Promise > : ^^^^^^^^^^^^^^^ @@ -1395,17 +1395,17 @@ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromis >sPromise : (x: any) => Promise > : ^ ^^ ^^^^^ -var r8: IPromise; +declare var r8: IPromise; >r8 : IPromise > : ^^^^^^^^^^^^^^^^ -var nIPromise: (x: any) => IPromise; +declare var nIPromise: (x: any) => IPromise; >nIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ >x : any > : ^^^ -var nPromise: (x: any) => Promise; +declare var nPromise: (x: any) => Promise; >nPromise : (x: any) => Promise > : ^ ^^ ^^^^^ >x : any @@ -1547,7 +1547,7 @@ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >nIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var r9: IPromise; +declare var r9: IPromise; >r9 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -1653,7 +1653,7 @@ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var s9: Promise; +declare var s9: Promise; >s9 : Promise > : ^^^^^^^^^^^^^^^ @@ -2063,7 +2063,7 @@ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromis >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var r11: IPromise; +declare var r11: IPromise; >r11 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -2085,7 +2085,7 @@ var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ -var s11: Promise; +declare var s11: Promise; >s11 : Promise > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/promisePermutations2.errors.txt b/tests/baselines/reference/promisePermutations2.errors.txt index 58a0f5855326b..19e7803058b7d 100644 --- a/tests/baselines/reference/promisePermutations2.errors.txt +++ b/tests/baselines/reference/promisePermutations2.errors.txt @@ -157,29 +157,29 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): declare function testFunction12P(x: T): IPromise; declare function testFunction12P(x: T, y: T): Promise; - var r1: IPromise; + declare var r1: IPromise; var r1a = r1.then(testFunction, testFunction, testFunction); var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); - var s1: Promise; + declare var s1: Promise; var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); - var r2: IPromise<{ x: number; }>; + declare var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); - var s2: Promise<{ x: number; }>; + declare var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); - var r3: IPromise; + declare var r3: IPromise; var r3a = r3.then(testFunction3, testFunction3, testFunction3); var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); - var s3: Promise; + declare var s3: Promise; var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); @@ -189,9 +189,9 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. !!! error TS2345: Type 'IPromise' is not assignable to type 'number'. - var r4: IPromise; - var sIPromise: (x: any) => IPromise; - var sPromise: (x: any) => Promise; + declare var r4: IPromise; + declare var sIPromise: (x: any) => IPromise; + declare var sPromise: (x: any) => Promise; var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -201,7 +201,7 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): !!! error TS2769: Type 'string' is not assignable to type 'number'. !!! related TS2771 promisePermutations2.ts:12:5: The last overload is declared here. var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok - var s4: Promise; + declare var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, y?: string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. @@ -219,7 +219,7 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): !!! error TS2345: Type 'string' is not assignable to type 'number'. var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); - var r5: IPromise; + declare var r5: IPromise; var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -228,7 +228,7 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): !!! error TS2769: Target signature provides too few arguments. Expected 2 or more, but got 1. !!! related TS2771 promisePermutations2.ts:12:5: The last overload is declared here. var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok - var s5: Promise; + declare var s5: Promise; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, cb: (a: string) => string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. @@ -243,7 +243,7 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): !!! error TS2345: Target signature provides too few arguments. Expected 2 or more, but got 1. var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok - var r6: IPromise; + declare var r6: IPromise; var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -252,7 +252,7 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): !!! error TS2769: Target signature provides too few arguments. Expected 2 or more, but got 1. !!! related TS2771 promisePermutations2.ts:12:5: The last overload is declared here. var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok - var s6: Promise; + declare var s6: Promise; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. @@ -267,7 +267,7 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): !!! error TS2345: Target signature provides too few arguments. Expected 2 or more, but got 1. var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok - var r7: IPromise; + declare var r7: IPromise; var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -277,7 +277,7 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): !!! error TS2769: Type 'string' is not assignable to type '(a: T) => T'. !!! related TS2771 promisePermutations2.ts:12:5: The last overload is declared here. var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok - var s7: Promise; + declare var s7: Promise; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -304,9 +304,9 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): !!! related TS2771 promisePermutations2.ts:12:5: The last overload is declared here. var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? - var r8: IPromise; - var nIPromise: (x: any) => IPromise; - var nPromise: (x: any) => Promise; + declare var r8: IPromise; + declare var nIPromise: (x: any) => IPromise; + declare var nPromise: (x: any) => Promise; var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -330,7 +330,7 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): !!! error TS2345: Target signature provides too few arguments. Expected 2 or more, but got 1. var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok - var r9: IPromise; + declare var r9: IPromise; var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -349,7 +349,7 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): !!! error TS2769: Type 'string' is not assignable to type 'number'. !!! related TS2771 promisePermutations2.ts:12:5: The last overload is declared here. var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok - var s9: Promise; + declare var s9: Promise; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: T, cb: (a: U) => U) => IPromise' is not assignable to parameter of type '(value: number) => IPromise'. @@ -396,7 +396,7 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): !!! error TS2345: Type 'IPromise' is missing the following properties from type 'Promise': catch, [Symbol.toStringTag] var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok - var r11: IPromise; + declare var r11: IPromise; var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error ~~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -405,7 +405,7 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): !!! error TS2769: Type 'IPromise' is not assignable to type 'IPromise'. !!! error TS2769: Type 'number' is not assignable to type 'string'. !!! related TS2771 promisePermutations2.ts:12:5: The last overload is declared here. - var s11: Promise; + declare var s11: Promise; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '{ (x: number): IPromise; (x: string): IPromise; }' is not assignable to parameter of type '(value: number) => IPromise'. diff --git a/tests/baselines/reference/promisePermutations2.js b/tests/baselines/reference/promisePermutations2.js index 714ea70283ca9..649571b76aa50 100644 --- a/tests/baselines/reference/promisePermutations2.js +++ b/tests/baselines/reference/promisePermutations2.js @@ -47,75 +47,75 @@ declare function testFunction12(x: T, y: T): IPromise; declare function testFunction12P(x: T): IPromise; declare function testFunction12P(x: T, y: T): Promise; -var r1: IPromise; +declare var r1: IPromise; var r1a = r1.then(testFunction, testFunction, testFunction); var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); -var s1: Promise; +declare var s1: Promise; var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); -var r2: IPromise<{ x: number; }>; +declare var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var s2: Promise<{ x: number; }>; +declare var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var r3: IPromise; +declare var r3: IPromise; var r3a = r3.then(testFunction3, testFunction3, testFunction3); var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); -var s3: Promise; +declare var s3: Promise; var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // Should error -var r4: IPromise; -var sIPromise: (x: any) => IPromise; -var sPromise: (x: any) => Promise; +declare var r4: IPromise; +declare var sIPromise: (x: any) => IPromise; +declare var sPromise: (x: any) => Promise; var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok -var s4: Promise; +declare var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); -var r5: IPromise; +declare var r5: IPromise; var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s5: Promise; +declare var s5: Promise; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r6: IPromise; +declare var r6: IPromise; var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s6: Promise; +declare var s6: Promise; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r7: IPromise; +declare var r7: IPromise; var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s7: Promise; +declare var s7: Promise; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? -var r8: IPromise; -var nIPromise: (x: any) => IPromise; -var nPromise: (x: any) => Promise; +declare var r8: IPromise; +declare var nIPromise: (x: any) => IPromise; +declare var nPromise: (x: any) => Promise; var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok var s8: Promise; @@ -124,13 +124,13 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok -var r9: IPromise; +declare var r9: IPromise; var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok var r9d = r9.then(testFunction, sIPromise, nIPromise); // error var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s9: Promise; +declare var s9: Promise; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error @@ -154,9 +154,9 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok -var r11: IPromise; +declare var r11: IPromise; var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error -var s11: Promise; +declare var s11: Promise; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // ok var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // ok @@ -170,68 +170,49 @@ 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); var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); -var s1; var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); -var r2; var r2a = r2.then(testFunction2, testFunction2, testFunction2); var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var s2; var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var r3; var r3a = r3.then(testFunction3, testFunction3, testFunction3); var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); -var s3; var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // Should error -var r4; -var sIPromise; -var sPromise; var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok -var s4; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); -var r5; var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s5; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r6; var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s6; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r7; var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s7; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? -var r8; -var nIPromise; -var nPromise; var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok var s8; @@ -239,13 +220,11 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok -var r9; var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok var r9d = r9.then(testFunction, sIPromise, nIPromise); // error var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s9; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error @@ -267,9 +246,7 @@ var s10d = s10.then(sPromise, sPromise, sPromise); // ok var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok -var r11; var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error -var s11; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // ok var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // ok diff --git a/tests/baselines/reference/promisePermutations2.symbols b/tests/baselines/reference/promisePermutations2.symbols index ff1fc4f344fc4..ca906ed9c4828 100644 --- a/tests/baselines/reference/promisePermutations2.symbols +++ b/tests/baselines/reference/promisePermutations2.symbols @@ -334,14 +334,14 @@ declare function testFunction12P(x: T, y: T): Promise; >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) >T : Symbol(T, Decl(promisePermutations2.ts, 44, 33)) -var r1: IPromise; ->r1 : Symbol(r1, Decl(promisePermutations2.ts, 46, 3)) +declare var r1: IPromise; +>r1 : Symbol(r1, Decl(promisePermutations2.ts, 46, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations2.ts, 5, 1)) var r1a = r1.then(testFunction, testFunction, testFunction); >r1a : Symbol(r1a, Decl(promisePermutations2.ts, 47, 3)) >r1.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r1 : Symbol(r1, Decl(promisePermutations2.ts, 46, 3)) +>r1 : Symbol(r1, Decl(promisePermutations2.ts, 46, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) @@ -351,7 +351,7 @@ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, t >r1b : Symbol(r1b, Decl(promisePermutations2.ts, 48, 3)) >r1.then(testFunction, testFunction, testFunction).then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >r1.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r1 : Symbol(r1, Decl(promisePermutations2.ts, 46, 3)) +>r1 : Symbol(r1, Decl(promisePermutations2.ts, 46, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) @@ -364,20 +364,20 @@ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, t var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >r1c : Symbol(r1c, Decl(promisePermutations2.ts, 49, 3)) >r1.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r1 : Symbol(r1, Decl(promisePermutations2.ts, 46, 3)) +>r1 : Symbol(r1, Decl(promisePermutations2.ts, 46, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) -var s1: Promise; ->s1 : Symbol(s1, Decl(promisePermutations2.ts, 50, 3)) +declare var s1: Promise; +>s1 : Symbol(s1, Decl(promisePermutations2.ts, 50, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s1a = s1.then(testFunction, testFunction, testFunction); >s1a : Symbol(s1a, Decl(promisePermutations2.ts, 51, 3)) >s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s1 : Symbol(s1, Decl(promisePermutations2.ts, 50, 3)) +>s1 : Symbol(s1, Decl(promisePermutations2.ts, 50, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) @@ -386,7 +386,7 @@ var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Symbol(s1b, Decl(promisePermutations2.ts, 52, 3)) >s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s1 : Symbol(s1, Decl(promisePermutations2.ts, 50, 3)) +>s1 : Symbol(s1, Decl(promisePermutations2.ts, 50, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) @@ -395,7 +395,7 @@ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Symbol(s1c, Decl(promisePermutations2.ts, 53, 3)) >s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s1 : Symbol(s1, Decl(promisePermutations2.ts, 50, 3)) +>s1 : Symbol(s1, Decl(promisePermutations2.ts, 50, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) @@ -405,7 +405,7 @@ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, >s1d : Symbol(s1d, Decl(promisePermutations2.ts, 54, 3)) >s1.then(testFunctionP, testFunction, testFunction).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s1 : Symbol(s1, Decl(promisePermutations2.ts, 50, 3)) +>s1 : Symbol(s1, Decl(promisePermutations2.ts, 50, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) @@ -415,15 +415,15 @@ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) -var r2: IPromise<{ x: number; }>; ->r2 : Symbol(r2, Decl(promisePermutations2.ts, 56, 3)) +declare var r2: IPromise<{ x: number; }>; +>r2 : Symbol(r2, Decl(promisePermutations2.ts, 56, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations2.ts, 5, 1)) ->x : Symbol(x, Decl(promisePermutations2.ts, 56, 18)) +>x : Symbol(x, Decl(promisePermutations2.ts, 56, 26)) var r2a = r2.then(testFunction2, testFunction2, testFunction2); >r2a : Symbol(r2a, Decl(promisePermutations2.ts, 57, 3)) >r2.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r2 : Symbol(r2, Decl(promisePermutations2.ts, 56, 3)) +>r2 : Symbol(r2, Decl(promisePermutations2.ts, 56, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) @@ -433,7 +433,7 @@ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction >r2b : Symbol(r2b, Decl(promisePermutations2.ts, 58, 3)) >r2.then(testFunction2, testFunction2, testFunction2).then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >r2.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r2 : Symbol(r2, Decl(promisePermutations2.ts, 56, 3)) +>r2 : Symbol(r2, Decl(promisePermutations2.ts, 56, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) @@ -443,15 +443,15 @@ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) -var s2: Promise<{ x: number; }>; ->s2 : Symbol(s2, Decl(promisePermutations2.ts, 59, 3)) +declare var s2: Promise<{ x: number; }>; +>s2 : Symbol(s2, Decl(promisePermutations2.ts, 59, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) ->x : Symbol(x, Decl(promisePermutations2.ts, 59, 17)) +>x : Symbol(x, Decl(promisePermutations2.ts, 59, 25)) var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Symbol(s2a, Decl(promisePermutations2.ts, 60, 3)) >s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s2 : Symbol(s2, Decl(promisePermutations2.ts, 59, 3)) +>s2 : Symbol(s2, Decl(promisePermutations2.ts, 59, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) @@ -460,7 +460,7 @@ var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Symbol(s2b, Decl(promisePermutations2.ts, 61, 3)) >s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s2 : Symbol(s2, Decl(promisePermutations2.ts, 59, 3)) +>s2 : Symbol(s2, Decl(promisePermutations2.ts, 59, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations2.ts, 17, 58)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations2.ts, 17, 58)) @@ -469,7 +469,7 @@ var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Symbol(s2c, Decl(promisePermutations2.ts, 62, 3)) >s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s2 : Symbol(s2, Decl(promisePermutations2.ts, 59, 3)) +>s2 : Symbol(s2, Decl(promisePermutations2.ts, 59, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations2.ts, 17, 58)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) @@ -479,7 +479,7 @@ var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunctio >s2d : Symbol(s2d, Decl(promisePermutations2.ts, 63, 3)) >s2.then(testFunction2P, testFunction2, testFunction2).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s2 : Symbol(s2, Decl(promisePermutations2.ts, 59, 3)) +>s2 : Symbol(s2, Decl(promisePermutations2.ts, 59, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations2.ts, 17, 58)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) @@ -489,14 +489,14 @@ var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunctio >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) -var r3: IPromise; ->r3 : Symbol(r3, Decl(promisePermutations2.ts, 65, 3)) +declare var r3: IPromise; +>r3 : Symbol(r3, Decl(promisePermutations2.ts, 65, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations2.ts, 5, 1)) var r3a = r3.then(testFunction3, testFunction3, testFunction3); >r3a : Symbol(r3a, Decl(promisePermutations2.ts, 66, 3)) >r3.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r3 : Symbol(r3, Decl(promisePermutations2.ts, 65, 3)) +>r3 : Symbol(r3, Decl(promisePermutations2.ts, 65, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) @@ -506,7 +506,7 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction >r3b : Symbol(r3b, Decl(promisePermutations2.ts, 67, 3)) >r3.then(testFunction3, testFunction3, testFunction3).then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >r3.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r3 : Symbol(r3, Decl(promisePermutations2.ts, 65, 3)) +>r3 : Symbol(r3, Decl(promisePermutations2.ts, 65, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) @@ -516,14 +516,14 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) -var s3: Promise; ->s3 : Symbol(s3, Decl(promisePermutations2.ts, 68, 3)) +declare var s3: Promise; +>s3 : Symbol(s3, Decl(promisePermutations2.ts, 68, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s3a = s3.then(testFunction3, testFunction3, testFunction3); >s3a : Symbol(s3a, Decl(promisePermutations2.ts, 69, 3)) >s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s3 : Symbol(s3, Decl(promisePermutations2.ts, 68, 3)) +>s3 : Symbol(s3, Decl(promisePermutations2.ts, 68, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) @@ -532,7 +532,7 @@ var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Symbol(s3b, Decl(promisePermutations2.ts, 70, 3)) >s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s3 : Symbol(s3, Decl(promisePermutations2.ts, 68, 3)) +>s3 : Symbol(s3, Decl(promisePermutations2.ts, 68, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations2.ts, 19, 60)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations2.ts, 19, 60)) @@ -541,7 +541,7 @@ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Symbol(s3c, Decl(promisePermutations2.ts, 71, 3)) >s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s3 : Symbol(s3, Decl(promisePermutations2.ts, 68, 3)) +>s3 : Symbol(s3, Decl(promisePermutations2.ts, 68, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations2.ts, 19, 60)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) @@ -551,7 +551,7 @@ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunctio >s3d : Symbol(s3d, Decl(promisePermutations2.ts, 72, 3)) >s3.then(testFunction3P, testFunction3, testFunction3).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s3 : Symbol(s3, Decl(promisePermutations2.ts, 68, 3)) +>s3 : Symbol(s3, Decl(promisePermutations2.ts, 68, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations2.ts, 19, 60)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) @@ -561,24 +561,24 @@ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunctio >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) -var r4: IPromise; ->r4 : Symbol(r4, Decl(promisePermutations2.ts, 74, 3)) +declare var r4: IPromise; +>r4 : Symbol(r4, Decl(promisePermutations2.ts, 74, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations2.ts, 5, 1)) -var sIPromise: (x: any) => IPromise; ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->x : Symbol(x, Decl(promisePermutations2.ts, 75, 16)) +declare var sIPromise: (x: any) => IPromise; +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>x : Symbol(x, Decl(promisePermutations2.ts, 75, 24)) >IPromise : Symbol(IPromise, Decl(promisePermutations2.ts, 5, 1)) -var sPromise: (x: any) => Promise; ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->x : Symbol(x, Decl(promisePermutations2.ts, 76, 15)) +declare var sPromise: (x: any) => Promise; +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) +>x : Symbol(x, Decl(promisePermutations2.ts, 76, 23)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error >r4a : Symbol(r4a, Decl(promisePermutations2.ts, 77, 3)) >r4.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r4 : Symbol(r4, Decl(promisePermutations2.ts, 74, 3)) +>r4 : Symbol(r4, Decl(promisePermutations2.ts, 74, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) @@ -588,24 +588,24 @@ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testF >r4b : Symbol(r4b, Decl(promisePermutations2.ts, 78, 3)) >r4.then(sIPromise, testFunction4, testFunction4).then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >r4.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r4 : Symbol(r4, Decl(promisePermutations2.ts, 74, 3)) +>r4 : Symbol(r4, Decl(promisePermutations2.ts, 74, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) -var s4: Promise; ->s4 : Symbol(s4, Decl(promisePermutations2.ts, 79, 3)) +declare var s4: Promise; +>s4 : Symbol(s4, Decl(promisePermutations2.ts, 79, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >s4a : Symbol(s4a, Decl(promisePermutations2.ts, 80, 3)) >s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s4 : Symbol(s4, Decl(promisePermutations2.ts, 79, 3)) +>s4 : Symbol(s4, Decl(promisePermutations2.ts, 79, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) @@ -614,7 +614,7 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : Symbol(s4b, Decl(promisePermutations2.ts, 81, 3)) >s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s4 : Symbol(s4, Decl(promisePermutations2.ts, 79, 3)) +>s4 : Symbol(s4, Decl(promisePermutations2.ts, 79, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations2.ts, 21, 72)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations2.ts, 21, 72)) @@ -623,7 +623,7 @@ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : Symbol(s4c, Decl(promisePermutations2.ts, 82, 3)) >s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s4 : Symbol(s4, Decl(promisePermutations2.ts, 79, 3)) +>s4 : Symbol(s4, Decl(promisePermutations2.ts, 79, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations2.ts, 21, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) @@ -633,24 +633,24 @@ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, test >s4d : Symbol(s4d, Decl(promisePermutations2.ts, 83, 3)) >s4.then(sIPromise, testFunction4P, testFunction4).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s4 : Symbol(s4, Decl(promisePermutations2.ts, 79, 3)) +>s4 : Symbol(s4, Decl(promisePermutations2.ts, 79, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations2.ts, 21, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations2.ts, 21, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) -var r5: IPromise; ->r5 : Symbol(r5, Decl(promisePermutations2.ts, 85, 3)) +declare var r5: IPromise; +>r5 : Symbol(r5, Decl(promisePermutations2.ts, 85, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations2.ts, 5, 1)) var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error >r5a : Symbol(r5a, Decl(promisePermutations2.ts, 86, 3)) >r5.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r5 : Symbol(r5, Decl(promisePermutations2.ts, 85, 3)) +>r5 : Symbol(r5, Decl(promisePermutations2.ts, 85, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations2.ts, 22, 72)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations2.ts, 22, 72)) @@ -660,24 +660,24 @@ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r5b : Symbol(r5b, Decl(promisePermutations2.ts, 87, 3)) >r5.then(sIPromise, sIPromise, sIPromise).then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >r5.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r5 : Symbol(r5, Decl(promisePermutations2.ts, 85, 3)) +>r5 : Symbol(r5, Decl(promisePermutations2.ts, 85, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) -var s5: Promise; ->s5 : Symbol(s5, Decl(promisePermutations2.ts, 88, 3)) +declare var s5: Promise; +>s5 : Symbol(s5, Decl(promisePermutations2.ts, 88, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >s5a : Symbol(s5a, Decl(promisePermutations2.ts, 89, 3)) >s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s5 : Symbol(s5, Decl(promisePermutations2.ts, 88, 3)) +>s5 : Symbol(s5, Decl(promisePermutations2.ts, 88, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations2.ts, 22, 72)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations2.ts, 22, 72)) @@ -686,7 +686,7 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : Symbol(s5b, Decl(promisePermutations2.ts, 90, 3)) >s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s5 : Symbol(s5, Decl(promisePermutations2.ts, 88, 3)) +>s5 : Symbol(s5, Decl(promisePermutations2.ts, 88, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations2.ts, 23, 87)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations2.ts, 23, 87)) @@ -695,7 +695,7 @@ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : Symbol(s5c, Decl(promisePermutations2.ts, 91, 3)) >s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s5 : Symbol(s5, Decl(promisePermutations2.ts, 88, 3)) +>s5 : Symbol(s5, Decl(promisePermutations2.ts, 88, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations2.ts, 23, 87)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations2.ts, 22, 72)) @@ -705,24 +705,24 @@ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >s5d : Symbol(s5d, Decl(promisePermutations2.ts, 92, 3)) >s5.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s5 : Symbol(s5, Decl(promisePermutations2.ts, 88, 3)) +>s5 : Symbol(s5, Decl(promisePermutations2.ts, 88, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) -var r6: IPromise; ->r6 : Symbol(r6, Decl(promisePermutations2.ts, 94, 3)) +declare var r6: IPromise; +>r6 : Symbol(r6, Decl(promisePermutations2.ts, 94, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations2.ts, 5, 1)) var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error >r6a : Symbol(r6a, Decl(promisePermutations2.ts, 95, 3)) >r6.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r6 : Symbol(r6, Decl(promisePermutations2.ts, 94, 3)) +>r6 : Symbol(r6, Decl(promisePermutations2.ts, 94, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations2.ts, 24, 87)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations2.ts, 24, 87)) @@ -732,24 +732,24 @@ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r6b : Symbol(r6b, Decl(promisePermutations2.ts, 96, 3)) >r6.then(sIPromise, sIPromise, sIPromise).then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >r6.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r6 : Symbol(r6, Decl(promisePermutations2.ts, 94, 3)) +>r6 : Symbol(r6, Decl(promisePermutations2.ts, 94, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) -var s6: Promise; ->s6 : Symbol(s6, Decl(promisePermutations2.ts, 97, 3)) +declare var s6: Promise; +>s6 : Symbol(s6, Decl(promisePermutations2.ts, 97, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >s6a : Symbol(s6a, Decl(promisePermutations2.ts, 98, 3)) >s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s6 : Symbol(s6, Decl(promisePermutations2.ts, 97, 3)) +>s6 : Symbol(s6, Decl(promisePermutations2.ts, 97, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations2.ts, 24, 87)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations2.ts, 24, 87)) @@ -758,7 +758,7 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : Symbol(s6b, Decl(promisePermutations2.ts, 99, 3)) >s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s6 : Symbol(s6, Decl(promisePermutations2.ts, 97, 3)) +>s6 : Symbol(s6, Decl(promisePermutations2.ts, 97, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations2.ts, 25, 80)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations2.ts, 25, 80)) @@ -767,7 +767,7 @@ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : Symbol(s6c, Decl(promisePermutations2.ts, 100, 3)) >s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s6 : Symbol(s6, Decl(promisePermutations2.ts, 97, 3)) +>s6 : Symbol(s6, Decl(promisePermutations2.ts, 97, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations2.ts, 25, 80)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations2.ts, 24, 87)) @@ -777,24 +777,24 @@ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >s6d : Symbol(s6d, Decl(promisePermutations2.ts, 101, 3)) >s6.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s6 : Symbol(s6, Decl(promisePermutations2.ts, 97, 3)) +>s6 : Symbol(s6, Decl(promisePermutations2.ts, 97, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) -var r7: IPromise; ->r7 : Symbol(r7, Decl(promisePermutations2.ts, 103, 3)) +declare var r7: IPromise; +>r7 : Symbol(r7, Decl(promisePermutations2.ts, 103, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations2.ts, 5, 1)) var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error >r7a : Symbol(r7a, Decl(promisePermutations2.ts, 104, 3)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r7 : Symbol(r7, Decl(promisePermutations2.ts, 103, 3)) +>r7 : Symbol(r7, Decl(promisePermutations2.ts, 103, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction7 : Symbol(testFunction7, Decl(promisePermutations2.ts, 26, 80)) >testFunction7 : Symbol(testFunction7, Decl(promisePermutations2.ts, 26, 80)) @@ -804,24 +804,24 @@ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r7b : Symbol(r7b, Decl(promisePermutations2.ts, 105, 3)) >r7.then(sIPromise, sIPromise, sIPromise).then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r7 : Symbol(r7, Decl(promisePermutations2.ts, 103, 3)) +>r7 : Symbol(r7, Decl(promisePermutations2.ts, 103, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) -var s7: Promise; ->s7 : Symbol(s7, Decl(promisePermutations2.ts, 106, 3)) +declare var s7: Promise; +>s7 : Symbol(s7, Decl(promisePermutations2.ts, 106, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error >s7a : Symbol(s7a, Decl(promisePermutations2.ts, 107, 3)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r7 : Symbol(r7, Decl(promisePermutations2.ts, 103, 3)) +>r7 : Symbol(r7, Decl(promisePermutations2.ts, 103, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction7 : Symbol(testFunction7, Decl(promisePermutations2.ts, 26, 80)) >testFunction7 : Symbol(testFunction7, Decl(promisePermutations2.ts, 26, 80)) @@ -830,7 +830,7 @@ var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >s7b : Symbol(s7b, Decl(promisePermutations2.ts, 108, 3)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r7 : Symbol(r7, Decl(promisePermutations2.ts, 103, 3)) +>r7 : Symbol(r7, Decl(promisePermutations2.ts, 103, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction7P : Symbol(testFunction7P, Decl(promisePermutations2.ts, 27, 69)) >testFunction7P : Symbol(testFunction7P, Decl(promisePermutations2.ts, 27, 69)) @@ -839,7 +839,7 @@ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error >s7c : Symbol(s7c, Decl(promisePermutations2.ts, 109, 3)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r7 : Symbol(r7, Decl(promisePermutations2.ts, 103, 3)) +>r7 : Symbol(r7, Decl(promisePermutations2.ts, 103, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction7P : Symbol(testFunction7P, Decl(promisePermutations2.ts, 27, 69)) >testFunction7 : Symbol(testFunction7, Decl(promisePermutations2.ts, 26, 80)) @@ -849,34 +849,34 @@ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromis >s7d : Symbol(s7d, Decl(promisePermutations2.ts, 110, 3)) >r7.then(sPromise, sPromise, sPromise).then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r7 : Symbol(r7, Decl(promisePermutations2.ts, 103, 3)) +>r7 : Symbol(r7, Decl(promisePermutations2.ts, 103, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) -var r8: IPromise; ->r8 : Symbol(r8, Decl(promisePermutations2.ts, 112, 3)) +declare var r8: IPromise; +>r8 : Symbol(r8, Decl(promisePermutations2.ts, 112, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations2.ts, 5, 1)) -var nIPromise: (x: any) => IPromise; ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->x : Symbol(x, Decl(promisePermutations2.ts, 113, 16)) +declare var nIPromise: (x: any) => IPromise; +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>x : Symbol(x, Decl(promisePermutations2.ts, 113, 24)) >IPromise : Symbol(IPromise, Decl(promisePermutations2.ts, 5, 1)) -var nPromise: (x: any) => Promise; ->nPromise : Symbol(nPromise, Decl(promisePermutations2.ts, 114, 3)) ->x : Symbol(x, Decl(promisePermutations2.ts, 114, 15)) +declare var nPromise: (x: any) => Promise; +>nPromise : Symbol(nPromise, Decl(promisePermutations2.ts, 114, 11)) +>x : Symbol(x, Decl(promisePermutations2.ts, 114, 23)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error >r8a : Symbol(r8a, Decl(promisePermutations2.ts, 115, 3)) >r8.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r8 : Symbol(r8, Decl(promisePermutations2.ts, 112, 3)) +>r8 : Symbol(r8, Decl(promisePermutations2.ts, 112, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations2.ts, 28, 69)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations2.ts, 28, 69)) @@ -886,15 +886,15 @@ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >r8b : Symbol(r8b, Decl(promisePermutations2.ts, 116, 3)) >r8.then(nIPromise, nIPromise, nIPromise).then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >r8.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r8 : Symbol(r8, Decl(promisePermutations2.ts, 112, 3)) +>r8 : Symbol(r8, Decl(promisePermutations2.ts, 112, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) var s8: Promise; >s8 : Symbol(s8, Decl(promisePermutations2.ts, 117, 3)) @@ -933,22 +933,22 @@ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >s8.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s8 : Symbol(s8, Decl(promisePermutations2.ts, 117, 3)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) -var r9: IPromise; ->r9 : Symbol(r9, Decl(promisePermutations2.ts, 123, 3)) +declare var r9: IPromise; +>r9 : Symbol(r9, Decl(promisePermutations2.ts, 123, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations2.ts, 5, 1)) var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error >r9a : Symbol(r9a, Decl(promisePermutations2.ts, 124, 3)) >r9.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r9 : Symbol(r9, Decl(promisePermutations2.ts, 123, 3)) +>r9 : Symbol(r9, Decl(promisePermutations2.ts, 123, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations2.ts, 30, 70)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations2.ts, 30, 70)) @@ -957,52 +957,52 @@ var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok >r9b : Symbol(r9b, Decl(promisePermutations2.ts, 125, 3)) >r9.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r9 : Symbol(r9, Decl(promisePermutations2.ts, 123, 3)) +>r9 : Symbol(r9, Decl(promisePermutations2.ts, 123, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >r9c : Symbol(r9c, Decl(promisePermutations2.ts, 126, 3)) >r9.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r9 : Symbol(r9, Decl(promisePermutations2.ts, 123, 3)) +>r9 : Symbol(r9, Decl(promisePermutations2.ts, 123, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) var r9d = r9.then(testFunction, sIPromise, nIPromise); // error >r9d : Symbol(r9d, Decl(promisePermutations2.ts, 127, 3)) >r9.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r9 : Symbol(r9, Decl(promisePermutations2.ts, 123, 3)) +>r9 : Symbol(r9, Decl(promisePermutations2.ts, 123, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r9e : Symbol(r9e, Decl(promisePermutations2.ts, 128, 3)) >r9.then(testFunction, nIPromise, sIPromise).then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >r9.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r9 : Symbol(r9, Decl(promisePermutations2.ts, 123, 3)) +>r9 : Symbol(r9, Decl(promisePermutations2.ts, 123, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) -var s9: Promise; ->s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) +declare var s9: Promise; +>s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >s9a : Symbol(s9a, Decl(promisePermutations2.ts, 130, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) +>s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations2.ts, 30, 70)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations2.ts, 30, 70)) @@ -1011,7 +1011,7 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : Symbol(s9b, Decl(promisePermutations2.ts, 131, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) +>s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations2.ts, 31, 73)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations2.ts, 31, 73)) @@ -1020,7 +1020,7 @@ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : Symbol(s9c, Decl(promisePermutations2.ts, 132, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) +>s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations2.ts, 31, 73)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations2.ts, 30, 70)) @@ -1029,43 +1029,43 @@ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Symbol(s9d, Decl(promisePermutations2.ts, 133, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) +>s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Symbol(s9e, Decl(promisePermutations2.ts, 134, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) +>s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->nPromise : Symbol(nPromise, Decl(promisePermutations2.ts, 114, 3)) ->nPromise : Symbol(nPromise, Decl(promisePermutations2.ts, 114, 3)) ->nPromise : Symbol(nPromise, Decl(promisePermutations2.ts, 114, 3)) +>nPromise : Symbol(nPromise, Decl(promisePermutations2.ts, 114, 11)) +>nPromise : Symbol(nPromise, Decl(promisePermutations2.ts, 114, 11)) +>nPromise : Symbol(nPromise, Decl(promisePermutations2.ts, 114, 11)) var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : Symbol(s9f, Decl(promisePermutations2.ts, 135, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) +>s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Symbol(s9g, Decl(promisePermutations2.ts, 136, 3)) >s9.then(testFunction, nIPromise, sIPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) +>s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) var r10 = testFunction10(x => x); >r10 : Symbol(r10, Decl(promisePermutations2.ts, 138, 3)) @@ -1087,18 +1087,18 @@ var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok >r10.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >r10 : Symbol(r10, Decl(promisePermutations2.ts, 138, 3)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >r10c : Symbol(r10c, Decl(promisePermutations2.ts, 141, 3)) >r10.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >r10 : Symbol(r10, Decl(promisePermutations2.ts, 138, 3)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) var r10d = r10.then(testFunction, sIPromise, nIPromise); // error >r10d : Symbol(r10d, Decl(promisePermutations2.ts, 142, 3)) @@ -1106,8 +1106,8 @@ var r10d = r10.then(testFunction, sIPromise, nIPromise); // error >r10 : Symbol(r10, Decl(promisePermutations2.ts, 138, 3)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r10e : Symbol(r10e, Decl(promisePermutations2.ts, 143, 3)) @@ -1116,12 +1116,12 @@ var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromis >r10 : Symbol(r10, Decl(promisePermutations2.ts, 138, 3)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) var s10 = testFunction10P(x => x); >s10 : Symbol(s10, Decl(promisePermutations2.ts, 144, 3)) @@ -1161,18 +1161,18 @@ var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s10 : Symbol(s10, Decl(promisePermutations2.ts, 144, 3)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Symbol(s10e, Decl(promisePermutations2.ts, 149, 3)) >s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s10 : Symbol(s10, Decl(promisePermutations2.ts, 144, 3)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->nPromise : Symbol(nPromise, Decl(promisePermutations2.ts, 114, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>nPromise : Symbol(nPromise, Decl(promisePermutations2.ts, 114, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : Symbol(s10f, Decl(promisePermutations2.ts, 150, 3)) @@ -1180,8 +1180,8 @@ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10 : Symbol(s10, Decl(promisePermutations2.ts, 144, 3)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Symbol(s10g, Decl(promisePermutations2.ts, 151, 3)) @@ -1190,34 +1190,34 @@ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromis >s10 : Symbol(s10, Decl(promisePermutations2.ts, 144, 3)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 11)) -var r11: IPromise; ->r11 : Symbol(r11, Decl(promisePermutations2.ts, 153, 3)) +declare var r11: IPromise; +>r11 : Symbol(r11, Decl(promisePermutations2.ts, 153, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations2.ts, 5, 1)) var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error >r11a : Symbol(r11a, Decl(promisePermutations2.ts, 154, 3)) >r11.then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) ->r11 : Symbol(r11, Decl(promisePermutations2.ts, 153, 3)) +>r11 : Symbol(r11, Decl(promisePermutations2.ts, 153, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations2.ts, 7, 23), Decl(promisePermutations2.ts, 8, 135), Decl(promisePermutations2.ts, 9, 125), Decl(promisePermutations2.ts, 10, 125)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations2.ts, 34, 68), Decl(promisePermutations2.ts, 36, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations2.ts, 34, 68), Decl(promisePermutations2.ts, 36, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations2.ts, 34, 68), Decl(promisePermutations2.ts, 36, 61)) -var s11: Promise; ->s11 : Symbol(s11, Decl(promisePermutations2.ts, 155, 3)) +declare var s11: Promise; +>s11 : Symbol(s11, Decl(promisePermutations2.ts, 155, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >s11a : Symbol(s11a, Decl(promisePermutations2.ts, 156, 3)) >s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s11 : Symbol(s11, Decl(promisePermutations2.ts, 155, 3)) +>s11 : Symbol(s11, Decl(promisePermutations2.ts, 155, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations2.ts, 34, 68), Decl(promisePermutations2.ts, 36, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations2.ts, 34, 68), Decl(promisePermutations2.ts, 36, 61)) @@ -1226,7 +1226,7 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // ok >s11b : Symbol(s11b, Decl(promisePermutations2.ts, 157, 3)) >s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s11 : Symbol(s11, Decl(promisePermutations2.ts, 155, 3)) +>s11 : Symbol(s11, Decl(promisePermutations2.ts, 155, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations2.ts, 37, 61), Decl(promisePermutations2.ts, 38, 61)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations2.ts, 37, 61), Decl(promisePermutations2.ts, 38, 61)) @@ -1235,7 +1235,7 @@ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // ok var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // ok >s11c : Symbol(s11c, Decl(promisePermutations2.ts, 158, 3)) >s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s11 : Symbol(s11, Decl(promisePermutations2.ts, 155, 3)) +>s11 : Symbol(s11, Decl(promisePermutations2.ts, 155, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations2.ts, 37, 61), Decl(promisePermutations2.ts, 38, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations2.ts, 34, 68), Decl(promisePermutations2.ts, 36, 61)) diff --git a/tests/baselines/reference/promisePermutations2.types b/tests/baselines/reference/promisePermutations2.types index 5509ed1e8cf36..5149065c6dee3 100644 --- a/tests/baselines/reference/promisePermutations2.types +++ b/tests/baselines/reference/promisePermutations2.types @@ -334,7 +334,7 @@ declare function testFunction12P(x: T, y: T): Promise; >y : T > : ^ -var r1: IPromise; +declare var r1: IPromise; >r1 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -404,7 +404,7 @@ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >testFunctionP : () => Promise > : ^^^^^^ -var s1: Promise; +declare var s1: Promise; >s1 : Promise > : ^^^^^^^^^^^^^^^ @@ -492,7 +492,7 @@ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, >testFunction : () => IPromise > : ^^^^^^ -var r2: IPromise<{ x: number; }>; +declare var r2: IPromise<{ x: number; }>; >r2 : IPromise<{ x: number; }> > : ^^^^^^^^^^^^^^ ^^^^ >x : number @@ -546,7 +546,7 @@ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction >testFunction2 : () => IPromise<{ x: number; }> > : ^^^^^^ -var s2: Promise<{ x: number; }>; +declare var s2: Promise<{ x: number; }>; >s2 : Promise<{ x: number; }> > : ^^^^^^^^^^^^^ ^^^^ >x : number @@ -636,7 +636,7 @@ var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunctio >testFunction2 : () => IPromise<{ x: number; }> > : ^^^^^^ -var r3: IPromise; +declare var r3: IPromise; >r3 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -688,7 +688,7 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction >testFunction3 : (x: number) => IPromise > : ^ ^^ ^^^^^ -var s3: Promise; +declare var s3: Promise; >s3 : Promise > : ^^^^^^^^^^^^^^^ @@ -776,17 +776,17 @@ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunctio >testFunction3 : (x: number) => IPromise > : ^ ^^ ^^^^^ -var r4: IPromise; +declare var r4: IPromise; >r4 : IPromise > : ^^^^^^^^^^^^^^^^ -var sIPromise: (x: any) => IPromise; +declare var sIPromise: (x: any) => IPromise; >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ >x : any > : ^^^ -var sPromise: (x: any) => Promise; +declare var sPromise: (x: any) => Promise; >sPromise : (x: any) => Promise > : ^ ^^ ^^^^^ >x : any @@ -840,7 +840,7 @@ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testF >testFunction4 : (x: number, y?: string) => IPromise > : ^ ^^ ^^ ^^^ ^^^^^ -var s4: Promise; +declare var s4: Promise; >s4 : Promise > : ^^^^^^^^^^^^^^^ @@ -928,7 +928,7 @@ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, test >testFunction4 : (x: number, y?: string) => IPromise > : ^ ^^ ^^ ^^^ ^^^^^ -var r5: IPromise; +declare var r5: IPromise; >r5 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -980,7 +980,7 @@ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var s5: Promise; +declare var s5: Promise; >s5 : Promise > : ^^^^^^^^^^^^^^^ @@ -1068,7 +1068,7 @@ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var r6: IPromise; +declare var r6: IPromise; >r6 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -1120,7 +1120,7 @@ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var s6: Promise; +declare var s6: Promise; >s6 : Promise > : ^^^^^^^^^^^^^^^ @@ -1208,7 +1208,7 @@ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var r7: IPromise; +declare var r7: IPromise; >r7 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -1260,7 +1260,7 @@ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var s7: Promise; +declare var s7: Promise; >s7 : Promise > : ^^^^^^^^^^^^^^^ @@ -1348,17 +1348,17 @@ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromis >sPromise : (x: any) => Promise > : ^ ^^ ^^^^^ -var r8: IPromise; +declare var r8: IPromise; >r8 : IPromise > : ^^^^^^^^^^^^^^^^ -var nIPromise: (x: any) => IPromise; +declare var nIPromise: (x: any) => IPromise; >nIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ >x : any > : ^^^ -var nPromise: (x: any) => Promise; +declare var nPromise: (x: any) => Promise; >nPromise : (x: any) => Promise > : ^ ^^ ^^^^^ >x : any @@ -1500,7 +1500,7 @@ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >nIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var r9: IPromise; +declare var r9: IPromise; >r9 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -1606,7 +1606,7 @@ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var s9: Promise; +declare var s9: Promise; >s9 : Promise > : ^^^^^^^^^^^^^^^ @@ -2016,7 +2016,7 @@ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromis >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var r11: IPromise; +declare var r11: IPromise; >r11 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -2038,7 +2038,7 @@ var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ -var s11: Promise; +declare var s11: Promise; >s11 : Promise > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/promisePermutations3.errors.txt b/tests/baselines/reference/promisePermutations3.errors.txt index 1ed7b2c29d581..dd337244a58a6 100644 --- a/tests/baselines/reference/promisePermutations3.errors.txt +++ b/tests/baselines/reference/promisePermutations3.errors.txt @@ -180,33 +180,33 @@ promisePermutations3.ts(165,21): error TS2345: Argument of type '{ (x: T): IP declare function testFunction12P(x: T): IPromise; declare function testFunction12P(x: T, y: T): Promise; - var r1: IPromise; + declare var r1: IPromise; var r1a = r1.then(testFunction, testFunction, testFunction); var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); - var s1: Promise; + declare var s1: Promise; var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); - var r2: IPromise<{ x: number; }>; + declare var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); - var s2: Promise<{ x: number; }>; + declare var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); - var r3: IPromise; + declare var r3: IPromise; var r3a = r3.then(testFunction3, testFunction3, testFunction3); var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number) => IPromise' is not assignable to parameter of type '(value: IPromise) => IPromise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. !!! error TS2345: Type 'IPromise' is not assignable to type 'number'. - var s3: Promise; + declare var s3: Promise; var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); @@ -219,16 +219,16 @@ promisePermutations3.ts(165,21): error TS2345: Argument of type '{ (x: T): IP !!! error TS2769: Type 'IPromise' is not assignable to type 'number'. !!! related TS2771 promisePermutations3.ts:7:5: The last overload is declared here. - var r4: IPromise; - var sIPromise: (x: any) => IPromise; - var sPromise: (x: any) => Promise; + declare var r4: IPromise; + declare var sIPromise: (x: any) => IPromise; + declare var sPromise: (x: any) => Promise; var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, y?: string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'x' and 'value' are incompatible. !!! error TS2345: Type 'string' is not assignable to type 'number'. var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok - var s4: Promise; + declare var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -255,13 +255,13 @@ promisePermutations3.ts(165,21): error TS2345: Argument of type '{ (x: T): IP !!! related TS2771 promisePermutations3.ts:7:5: The last overload is declared here. var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); - var r5: IPromise; + declare var r5: IPromise; var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, cb: (a: string) => string) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Target signature provides too few arguments. Expected 2 or more, but got 1. var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok - var s5: Promise; + declare var s5: Promise; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -285,13 +285,13 @@ promisePermutations3.ts(165,21): error TS2345: Argument of type '{ (x: T): IP !!! related TS2771 promisePermutations3.ts:7:5: The last overload is declared here. var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok - var r6: IPromise; + declare var r6: IPromise; var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: number, cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Target signature provides too few arguments. Expected 2 or more, but got 1. var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok - var s6: Promise; + declare var s6: Promise; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -315,14 +315,14 @@ promisePermutations3.ts(165,21): error TS2345: Argument of type '{ (x: T): IP !!! related TS2771 promisePermutations3.ts:7:5: The last overload is declared here. var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok - var r7: IPromise; + declare var r7: IPromise; var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. !!! error TS2345: Types of parameters 'cb' and 'value' are incompatible. !!! error TS2345: Type 'string' is not assignable to type '(a: T) => T'. var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok - var s7: Promise; + declare var s7: Promise; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. @@ -340,9 +340,9 @@ promisePermutations3.ts(165,21): error TS2345: Argument of type '{ (x: T): IP !!! error TS2345: Type 'string' is not assignable to type '(a: T) => T'. var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? - var r8: IPromise; - var nIPromise: (x: any) => IPromise; - var nPromise: (x: any) => Promise; + declare var r8: IPromise; + declare var nIPromise: (x: any) => IPromise; + declare var nPromise: (x: any) => Promise; var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: T, cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: number) => IPromise'. @@ -372,7 +372,7 @@ promisePermutations3.ts(165,21): error TS2345: Argument of type '{ (x: T): IP !!! related TS2771 promisePermutations3.ts:7:5: The last overload is declared here. var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok - var r9: IPromise; + declare var r9: IPromise; var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(x: T, cb: (a: U) => U) => IPromise' is not assignable to parameter of type '(value: number) => IPromise'. @@ -385,7 +385,7 @@ promisePermutations3.ts(165,21): error TS2345: Argument of type '{ (x: T): IP !!! error TS2345: Type 'IPromise' is not assignable to type 'IPromise'. !!! error TS2345: Type 'string' is not assignable to type 'number'. var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok - var s9: Promise; + declare var s9: Promise; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error ~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. @@ -444,13 +444,13 @@ promisePermutations3.ts(165,21): error TS2345: Argument of type '{ (x: T): IP !!! related TS2771 promisePermutations3.ts:7:5: The last overload is declared here. var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok - var r11: IPromise; + declare var r11: IPromise; var r11a = r11.then(testFunction11, testFunction11, testFunction11); // ok ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '{ (x: number): IPromise; (x: string): IPromise; }' is not assignable to parameter of type '(value: number) => IPromise'. !!! error TS2345: Type 'IPromise' is not assignable to type 'IPromise'. !!! error TS2345: Type 'number' is not assignable to type 'string'. - var s11: Promise; + declare var s11: Promise; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok ~~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. diff --git a/tests/baselines/reference/promisePermutations3.js b/tests/baselines/reference/promisePermutations3.js index 64099ddb0dcdb..7751609bd9a9f 100644 --- a/tests/baselines/reference/promisePermutations3.js +++ b/tests/baselines/reference/promisePermutations3.js @@ -47,75 +47,75 @@ declare function testFunction12(x: T, y: T): IPromise; declare function testFunction12P(x: T): IPromise; declare function testFunction12P(x: T, y: T): Promise; -var r1: IPromise; +declare var r1: IPromise; var r1a = r1.then(testFunction, testFunction, testFunction); var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); -var s1: Promise; +declare var s1: Promise; var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); -var r2: IPromise<{ x: number; }>; +declare var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var s2: Promise<{ x: number; }>; +declare var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var r3: IPromise; +declare var r3: IPromise; var r3a = r3.then(testFunction3, testFunction3, testFunction3); var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); -var s3: Promise; +declare var s3: Promise; var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); -var r4: IPromise; -var sIPromise: (x: any) => IPromise; -var sPromise: (x: any) => Promise; +declare var r4: IPromise; +declare var sIPromise: (x: any) => IPromise; +declare var sPromise: (x: any) => Promise; var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok -var s4: Promise; +declare var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); -var r5: IPromise; +declare var r5: IPromise; var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s5: Promise; +declare var s5: Promise; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r6: IPromise; +declare var r6: IPromise; var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s6: Promise; +declare var s6: Promise; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r7: IPromise; +declare var r7: IPromise; var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s7: Promise; +declare var s7: Promise; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? -var r8: IPromise; -var nIPromise: (x: any) => IPromise; -var nPromise: (x: any) => Promise; +declare var r8: IPromise; +declare var nIPromise: (x: any) => IPromise; +declare var nPromise: (x: any) => Promise; var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok var s8: Promise; @@ -124,13 +124,13 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok -var r9: IPromise; +declare var r9: IPromise; var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok var r9d = r9.then(testFunction, sIPromise, nIPromise); // error var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s9: Promise; +declare var s9: Promise; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error @@ -154,9 +154,9 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok -var r11: IPromise; +declare var r11: IPromise; var r11a = r11.then(testFunction11, testFunction11, testFunction11); // ok -var s11: Promise; +declare var s11: Promise; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error @@ -170,68 +170,49 @@ 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); var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); -var s1; var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); -var r2; var r2a = r2.then(testFunction2, testFunction2, testFunction2); var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var s2; var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var r3; var r3a = r3.then(testFunction3, testFunction3, testFunction3); var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); -var s3; var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); -var r4; -var sIPromise; -var sPromise; var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok -var s4; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); -var r5; var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s5; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r6; var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s6; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r7; var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s7; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? -var r8; -var nIPromise; -var nPromise; var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok var s8; @@ -239,13 +220,11 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok -var r9; var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok var r9d = r9.then(testFunction, sIPromise, nIPromise); // error var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s9; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error @@ -267,9 +246,7 @@ var s10d = s10.then(sPromise, sPromise, sPromise); // ok var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok -var r11; var r11a = r11.then(testFunction11, testFunction11, testFunction11); // ok -var s11; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error diff --git a/tests/baselines/reference/promisePermutations3.symbols b/tests/baselines/reference/promisePermutations3.symbols index 4f1cb28145f68..f67f54f002026 100644 --- a/tests/baselines/reference/promisePermutations3.symbols +++ b/tests/baselines/reference/promisePermutations3.symbols @@ -334,14 +334,14 @@ declare function testFunction12P(x: T, y: T): Promise; >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) >T : Symbol(T, Decl(promisePermutations3.ts, 44, 33)) -var r1: IPromise; ->r1 : Symbol(r1, Decl(promisePermutations3.ts, 46, 3)) +declare var r1: IPromise; +>r1 : Symbol(r1, Decl(promisePermutations3.ts, 46, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations3.ts, 8, 1)) var r1a = r1.then(testFunction, testFunction, testFunction); >r1a : Symbol(r1a, Decl(promisePermutations3.ts, 47, 3)) >r1.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r1 : Symbol(r1, Decl(promisePermutations3.ts, 46, 3)) +>r1 : Symbol(r1, Decl(promisePermutations3.ts, 46, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) @@ -351,7 +351,7 @@ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, t >r1b : Symbol(r1b, Decl(promisePermutations3.ts, 48, 3)) >r1.then(testFunction, testFunction, testFunction).then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >r1.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r1 : Symbol(r1, Decl(promisePermutations3.ts, 46, 3)) +>r1 : Symbol(r1, Decl(promisePermutations3.ts, 46, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) @@ -364,20 +364,20 @@ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, t var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >r1c : Symbol(r1c, Decl(promisePermutations3.ts, 49, 3)) >r1.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r1 : Symbol(r1, Decl(promisePermutations3.ts, 46, 3)) +>r1 : Symbol(r1, Decl(promisePermutations3.ts, 46, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) -var s1: Promise; ->s1 : Symbol(s1, Decl(promisePermutations3.ts, 50, 3)) +declare var s1: Promise; +>s1 : Symbol(s1, Decl(promisePermutations3.ts, 50, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s1a = s1.then(testFunction, testFunction, testFunction); >s1a : Symbol(s1a, Decl(promisePermutations3.ts, 51, 3)) >s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s1 : Symbol(s1, Decl(promisePermutations3.ts, 50, 3)) +>s1 : Symbol(s1, Decl(promisePermutations3.ts, 50, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) @@ -386,7 +386,7 @@ var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Symbol(s1b, Decl(promisePermutations3.ts, 52, 3)) >s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s1 : Symbol(s1, Decl(promisePermutations3.ts, 50, 3)) +>s1 : Symbol(s1, Decl(promisePermutations3.ts, 50, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) @@ -395,7 +395,7 @@ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Symbol(s1c, Decl(promisePermutations3.ts, 53, 3)) >s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s1 : Symbol(s1, Decl(promisePermutations3.ts, 50, 3)) +>s1 : Symbol(s1, Decl(promisePermutations3.ts, 50, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) @@ -405,7 +405,7 @@ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, >s1d : Symbol(s1d, Decl(promisePermutations3.ts, 54, 3)) >s1.then(testFunctionP, testFunction, testFunction).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s1 : Symbol(s1, Decl(promisePermutations3.ts, 50, 3)) +>s1 : Symbol(s1, Decl(promisePermutations3.ts, 50, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) @@ -415,15 +415,15 @@ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) -var r2: IPromise<{ x: number; }>; ->r2 : Symbol(r2, Decl(promisePermutations3.ts, 56, 3)) +declare var r2: IPromise<{ x: number; }>; +>r2 : Symbol(r2, Decl(promisePermutations3.ts, 56, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations3.ts, 8, 1)) ->x : Symbol(x, Decl(promisePermutations3.ts, 56, 18)) +>x : Symbol(x, Decl(promisePermutations3.ts, 56, 26)) var r2a = r2.then(testFunction2, testFunction2, testFunction2); >r2a : Symbol(r2a, Decl(promisePermutations3.ts, 57, 3)) >r2.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r2 : Symbol(r2, Decl(promisePermutations3.ts, 56, 3)) +>r2 : Symbol(r2, Decl(promisePermutations3.ts, 56, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) @@ -433,7 +433,7 @@ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction >r2b : Symbol(r2b, Decl(promisePermutations3.ts, 58, 3)) >r2.then(testFunction2, testFunction2, testFunction2).then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >r2.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r2 : Symbol(r2, Decl(promisePermutations3.ts, 56, 3)) +>r2 : Symbol(r2, Decl(promisePermutations3.ts, 56, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) @@ -443,15 +443,15 @@ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) -var s2: Promise<{ x: number; }>; ->s2 : Symbol(s2, Decl(promisePermutations3.ts, 59, 3)) +declare var s2: Promise<{ x: number; }>; +>s2 : Symbol(s2, Decl(promisePermutations3.ts, 59, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) ->x : Symbol(x, Decl(promisePermutations3.ts, 59, 17)) +>x : Symbol(x, Decl(promisePermutations3.ts, 59, 25)) var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Symbol(s2a, Decl(promisePermutations3.ts, 60, 3)) >s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s2 : Symbol(s2, Decl(promisePermutations3.ts, 59, 3)) +>s2 : Symbol(s2, Decl(promisePermutations3.ts, 59, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) @@ -460,7 +460,7 @@ var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Symbol(s2b, Decl(promisePermutations3.ts, 61, 3)) >s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s2 : Symbol(s2, Decl(promisePermutations3.ts, 59, 3)) +>s2 : Symbol(s2, Decl(promisePermutations3.ts, 59, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations3.ts, 17, 58)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations3.ts, 17, 58)) @@ -469,7 +469,7 @@ var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Symbol(s2c, Decl(promisePermutations3.ts, 62, 3)) >s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s2 : Symbol(s2, Decl(promisePermutations3.ts, 59, 3)) +>s2 : Symbol(s2, Decl(promisePermutations3.ts, 59, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations3.ts, 17, 58)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) @@ -479,7 +479,7 @@ var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunctio >s2d : Symbol(s2d, Decl(promisePermutations3.ts, 63, 3)) >s2.then(testFunction2P, testFunction2, testFunction2).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s2 : Symbol(s2, Decl(promisePermutations3.ts, 59, 3)) +>s2 : Symbol(s2, Decl(promisePermutations3.ts, 59, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations3.ts, 17, 58)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) @@ -489,14 +489,14 @@ var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunctio >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) -var r3: IPromise; ->r3 : Symbol(r3, Decl(promisePermutations3.ts, 65, 3)) +declare var r3: IPromise; +>r3 : Symbol(r3, Decl(promisePermutations3.ts, 65, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations3.ts, 8, 1)) var r3a = r3.then(testFunction3, testFunction3, testFunction3); >r3a : Symbol(r3a, Decl(promisePermutations3.ts, 66, 3)) >r3.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r3 : Symbol(r3, Decl(promisePermutations3.ts, 65, 3)) +>r3 : Symbol(r3, Decl(promisePermutations3.ts, 65, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) @@ -506,7 +506,7 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction >r3b : Symbol(r3b, Decl(promisePermutations3.ts, 67, 3)) >r3.then(testFunction3, testFunction3, testFunction3).then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >r3.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r3 : Symbol(r3, Decl(promisePermutations3.ts, 65, 3)) +>r3 : Symbol(r3, Decl(promisePermutations3.ts, 65, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) @@ -516,14 +516,14 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) -var s3: Promise; ->s3 : Symbol(s3, Decl(promisePermutations3.ts, 68, 3)) +declare var s3: Promise; +>s3 : Symbol(s3, Decl(promisePermutations3.ts, 68, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s3a = s3.then(testFunction3, testFunction3, testFunction3); >s3a : Symbol(s3a, Decl(promisePermutations3.ts, 69, 3)) >s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s3 : Symbol(s3, Decl(promisePermutations3.ts, 68, 3)) +>s3 : Symbol(s3, Decl(promisePermutations3.ts, 68, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) @@ -532,7 +532,7 @@ var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Symbol(s3b, Decl(promisePermutations3.ts, 70, 3)) >s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s3 : Symbol(s3, Decl(promisePermutations3.ts, 68, 3)) +>s3 : Symbol(s3, Decl(promisePermutations3.ts, 68, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations3.ts, 19, 60)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations3.ts, 19, 60)) @@ -541,7 +541,7 @@ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Symbol(s3c, Decl(promisePermutations3.ts, 71, 3)) >s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s3 : Symbol(s3, Decl(promisePermutations3.ts, 68, 3)) +>s3 : Symbol(s3, Decl(promisePermutations3.ts, 68, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations3.ts, 19, 60)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) @@ -551,7 +551,7 @@ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunctio >s3d : Symbol(s3d, Decl(promisePermutations3.ts, 72, 3)) >s3.then(testFunction3P, testFunction3, testFunction3).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s3 : Symbol(s3, Decl(promisePermutations3.ts, 68, 3)) +>s3 : Symbol(s3, Decl(promisePermutations3.ts, 68, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations3.ts, 19, 60)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) @@ -561,24 +561,24 @@ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunctio >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) -var r4: IPromise; ->r4 : Symbol(r4, Decl(promisePermutations3.ts, 74, 3)) +declare var r4: IPromise; +>r4 : Symbol(r4, Decl(promisePermutations3.ts, 74, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations3.ts, 8, 1)) -var sIPromise: (x: any) => IPromise; ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->x : Symbol(x, Decl(promisePermutations3.ts, 75, 16)) +declare var sIPromise: (x: any) => IPromise; +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>x : Symbol(x, Decl(promisePermutations3.ts, 75, 24)) >IPromise : Symbol(IPromise, Decl(promisePermutations3.ts, 8, 1)) -var sPromise: (x: any) => Promise; ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->x : Symbol(x, Decl(promisePermutations3.ts, 76, 15)) +declare var sPromise: (x: any) => Promise; +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) +>x : Symbol(x, Decl(promisePermutations3.ts, 76, 23)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error >r4a : Symbol(r4a, Decl(promisePermutations3.ts, 77, 3)) >r4.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r4 : Symbol(r4, Decl(promisePermutations3.ts, 74, 3)) +>r4 : Symbol(r4, Decl(promisePermutations3.ts, 74, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) @@ -588,24 +588,24 @@ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testF >r4b : Symbol(r4b, Decl(promisePermutations3.ts, 78, 3)) >r4.then(sIPromise, testFunction4, testFunction4).then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >r4.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r4 : Symbol(r4, Decl(promisePermutations3.ts, 74, 3)) +>r4 : Symbol(r4, Decl(promisePermutations3.ts, 74, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) -var s4: Promise; ->s4 : Symbol(s4, Decl(promisePermutations3.ts, 79, 3)) +declare var s4: Promise; +>s4 : Symbol(s4, Decl(promisePermutations3.ts, 79, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >s4a : Symbol(s4a, Decl(promisePermutations3.ts, 80, 3)) >s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s4 : Symbol(s4, Decl(promisePermutations3.ts, 79, 3)) +>s4 : Symbol(s4, Decl(promisePermutations3.ts, 79, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) @@ -614,7 +614,7 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : Symbol(s4b, Decl(promisePermutations3.ts, 81, 3)) >s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s4 : Symbol(s4, Decl(promisePermutations3.ts, 79, 3)) +>s4 : Symbol(s4, Decl(promisePermutations3.ts, 79, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations3.ts, 21, 72)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations3.ts, 21, 72)) @@ -623,7 +623,7 @@ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : Symbol(s4c, Decl(promisePermutations3.ts, 82, 3)) >s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s4 : Symbol(s4, Decl(promisePermutations3.ts, 79, 3)) +>s4 : Symbol(s4, Decl(promisePermutations3.ts, 79, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations3.ts, 21, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) @@ -633,24 +633,24 @@ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, test >s4d : Symbol(s4d, Decl(promisePermutations3.ts, 83, 3)) >s4.then(sIPromise, testFunction4P, testFunction4).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s4 : Symbol(s4, Decl(promisePermutations3.ts, 79, 3)) +>s4 : Symbol(s4, Decl(promisePermutations3.ts, 79, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations3.ts, 21, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations3.ts, 21, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) -var r5: IPromise; ->r5 : Symbol(r5, Decl(promisePermutations3.ts, 85, 3)) +declare var r5: IPromise; +>r5 : Symbol(r5, Decl(promisePermutations3.ts, 85, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations3.ts, 8, 1)) var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error >r5a : Symbol(r5a, Decl(promisePermutations3.ts, 86, 3)) >r5.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r5 : Symbol(r5, Decl(promisePermutations3.ts, 85, 3)) +>r5 : Symbol(r5, Decl(promisePermutations3.ts, 85, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations3.ts, 22, 72)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations3.ts, 22, 72)) @@ -660,24 +660,24 @@ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r5b : Symbol(r5b, Decl(promisePermutations3.ts, 87, 3)) >r5.then(sIPromise, sIPromise, sIPromise).then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >r5.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r5 : Symbol(r5, Decl(promisePermutations3.ts, 85, 3)) +>r5 : Symbol(r5, Decl(promisePermutations3.ts, 85, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) -var s5: Promise; ->s5 : Symbol(s5, Decl(promisePermutations3.ts, 88, 3)) +declare var s5: Promise; +>s5 : Symbol(s5, Decl(promisePermutations3.ts, 88, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >s5a : Symbol(s5a, Decl(promisePermutations3.ts, 89, 3)) >s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s5 : Symbol(s5, Decl(promisePermutations3.ts, 88, 3)) +>s5 : Symbol(s5, Decl(promisePermutations3.ts, 88, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations3.ts, 22, 72)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations3.ts, 22, 72)) @@ -686,7 +686,7 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : Symbol(s5b, Decl(promisePermutations3.ts, 90, 3)) >s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s5 : Symbol(s5, Decl(promisePermutations3.ts, 88, 3)) +>s5 : Symbol(s5, Decl(promisePermutations3.ts, 88, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations3.ts, 23, 87)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations3.ts, 23, 87)) @@ -695,7 +695,7 @@ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : Symbol(s5c, Decl(promisePermutations3.ts, 91, 3)) >s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s5 : Symbol(s5, Decl(promisePermutations3.ts, 88, 3)) +>s5 : Symbol(s5, Decl(promisePermutations3.ts, 88, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations3.ts, 23, 87)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations3.ts, 22, 72)) @@ -705,24 +705,24 @@ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >s5d : Symbol(s5d, Decl(promisePermutations3.ts, 92, 3)) >s5.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s5 : Symbol(s5, Decl(promisePermutations3.ts, 88, 3)) +>s5 : Symbol(s5, Decl(promisePermutations3.ts, 88, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) -var r6: IPromise; ->r6 : Symbol(r6, Decl(promisePermutations3.ts, 94, 3)) +declare var r6: IPromise; +>r6 : Symbol(r6, Decl(promisePermutations3.ts, 94, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations3.ts, 8, 1)) var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error >r6a : Symbol(r6a, Decl(promisePermutations3.ts, 95, 3)) >r6.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r6 : Symbol(r6, Decl(promisePermutations3.ts, 94, 3)) +>r6 : Symbol(r6, Decl(promisePermutations3.ts, 94, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations3.ts, 24, 87)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations3.ts, 24, 87)) @@ -732,24 +732,24 @@ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r6b : Symbol(r6b, Decl(promisePermutations3.ts, 96, 3)) >r6.then(sIPromise, sIPromise, sIPromise).then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >r6.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r6 : Symbol(r6, Decl(promisePermutations3.ts, 94, 3)) +>r6 : Symbol(r6, Decl(promisePermutations3.ts, 94, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) -var s6: Promise; ->s6 : Symbol(s6, Decl(promisePermutations3.ts, 97, 3)) +declare var s6: Promise; +>s6 : Symbol(s6, Decl(promisePermutations3.ts, 97, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >s6a : Symbol(s6a, Decl(promisePermutations3.ts, 98, 3)) >s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s6 : Symbol(s6, Decl(promisePermutations3.ts, 97, 3)) +>s6 : Symbol(s6, Decl(promisePermutations3.ts, 97, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations3.ts, 24, 87)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations3.ts, 24, 87)) @@ -758,7 +758,7 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : Symbol(s6b, Decl(promisePermutations3.ts, 99, 3)) >s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s6 : Symbol(s6, Decl(promisePermutations3.ts, 97, 3)) +>s6 : Symbol(s6, Decl(promisePermutations3.ts, 97, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations3.ts, 25, 80)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations3.ts, 25, 80)) @@ -767,7 +767,7 @@ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : Symbol(s6c, Decl(promisePermutations3.ts, 100, 3)) >s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s6 : Symbol(s6, Decl(promisePermutations3.ts, 97, 3)) +>s6 : Symbol(s6, Decl(promisePermutations3.ts, 97, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations3.ts, 25, 80)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations3.ts, 24, 87)) @@ -777,24 +777,24 @@ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >s6d : Symbol(s6d, Decl(promisePermutations3.ts, 101, 3)) >s6.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s6 : Symbol(s6, Decl(promisePermutations3.ts, 97, 3)) +>s6 : Symbol(s6, Decl(promisePermutations3.ts, 97, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) -var r7: IPromise; ->r7 : Symbol(r7, Decl(promisePermutations3.ts, 103, 3)) +declare var r7: IPromise; +>r7 : Symbol(r7, Decl(promisePermutations3.ts, 103, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations3.ts, 8, 1)) var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error >r7a : Symbol(r7a, Decl(promisePermutations3.ts, 104, 3)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r7 : Symbol(r7, Decl(promisePermutations3.ts, 103, 3)) +>r7 : Symbol(r7, Decl(promisePermutations3.ts, 103, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction7 : Symbol(testFunction7, Decl(promisePermutations3.ts, 26, 80)) >testFunction7 : Symbol(testFunction7, Decl(promisePermutations3.ts, 26, 80)) @@ -804,24 +804,24 @@ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r7b : Symbol(r7b, Decl(promisePermutations3.ts, 105, 3)) >r7.then(sIPromise, sIPromise, sIPromise).then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r7 : Symbol(r7, Decl(promisePermutations3.ts, 103, 3)) +>r7 : Symbol(r7, Decl(promisePermutations3.ts, 103, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) -var s7: Promise; ->s7 : Symbol(s7, Decl(promisePermutations3.ts, 106, 3)) +declare var s7: Promise; +>s7 : Symbol(s7, Decl(promisePermutations3.ts, 106, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error >s7a : Symbol(s7a, Decl(promisePermutations3.ts, 107, 3)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r7 : Symbol(r7, Decl(promisePermutations3.ts, 103, 3)) +>r7 : Symbol(r7, Decl(promisePermutations3.ts, 103, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction7 : Symbol(testFunction7, Decl(promisePermutations3.ts, 26, 80)) >testFunction7 : Symbol(testFunction7, Decl(promisePermutations3.ts, 26, 80)) @@ -830,7 +830,7 @@ var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >s7b : Symbol(s7b, Decl(promisePermutations3.ts, 108, 3)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r7 : Symbol(r7, Decl(promisePermutations3.ts, 103, 3)) +>r7 : Symbol(r7, Decl(promisePermutations3.ts, 103, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction7P : Symbol(testFunction7P, Decl(promisePermutations3.ts, 27, 69)) >testFunction7P : Symbol(testFunction7P, Decl(promisePermutations3.ts, 27, 69)) @@ -839,7 +839,7 @@ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error >s7c : Symbol(s7c, Decl(promisePermutations3.ts, 109, 3)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r7 : Symbol(r7, Decl(promisePermutations3.ts, 103, 3)) +>r7 : Symbol(r7, Decl(promisePermutations3.ts, 103, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction7P : Symbol(testFunction7P, Decl(promisePermutations3.ts, 27, 69)) >testFunction7 : Symbol(testFunction7, Decl(promisePermutations3.ts, 26, 80)) @@ -849,34 +849,34 @@ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromis >s7d : Symbol(s7d, Decl(promisePermutations3.ts, 110, 3)) >r7.then(sPromise, sPromise, sPromise).then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >r7.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r7 : Symbol(r7, Decl(promisePermutations3.ts, 103, 3)) +>r7 : Symbol(r7, Decl(promisePermutations3.ts, 103, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) -var r8: IPromise; ->r8 : Symbol(r8, Decl(promisePermutations3.ts, 112, 3)) +declare var r8: IPromise; +>r8 : Symbol(r8, Decl(promisePermutations3.ts, 112, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations3.ts, 8, 1)) -var nIPromise: (x: any) => IPromise; ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->x : Symbol(x, Decl(promisePermutations3.ts, 113, 16)) +declare var nIPromise: (x: any) => IPromise; +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>x : Symbol(x, Decl(promisePermutations3.ts, 113, 24)) >IPromise : Symbol(IPromise, Decl(promisePermutations3.ts, 8, 1)) -var nPromise: (x: any) => Promise; ->nPromise : Symbol(nPromise, Decl(promisePermutations3.ts, 114, 3)) ->x : Symbol(x, Decl(promisePermutations3.ts, 114, 15)) +declare var nPromise: (x: any) => Promise; +>nPromise : Symbol(nPromise, Decl(promisePermutations3.ts, 114, 11)) +>x : Symbol(x, Decl(promisePermutations3.ts, 114, 23)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error >r8a : Symbol(r8a, Decl(promisePermutations3.ts, 115, 3)) >r8.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r8 : Symbol(r8, Decl(promisePermutations3.ts, 112, 3)) +>r8 : Symbol(r8, Decl(promisePermutations3.ts, 112, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations3.ts, 28, 69)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations3.ts, 28, 69)) @@ -886,15 +886,15 @@ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >r8b : Symbol(r8b, Decl(promisePermutations3.ts, 116, 3)) >r8.then(nIPromise, nIPromise, nIPromise).then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >r8.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r8 : Symbol(r8, Decl(promisePermutations3.ts, 112, 3)) +>r8 : Symbol(r8, Decl(promisePermutations3.ts, 112, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) var s8: Promise; >s8 : Symbol(s8, Decl(promisePermutations3.ts, 117, 3)) @@ -933,22 +933,22 @@ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >s8.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s8 : Symbol(s8, Decl(promisePermutations3.ts, 117, 3)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) -var r9: IPromise; ->r9 : Symbol(r9, Decl(promisePermutations3.ts, 123, 3)) +declare var r9: IPromise; +>r9 : Symbol(r9, Decl(promisePermutations3.ts, 123, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations3.ts, 8, 1)) var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error >r9a : Symbol(r9a, Decl(promisePermutations3.ts, 124, 3)) >r9.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r9 : Symbol(r9, Decl(promisePermutations3.ts, 123, 3)) +>r9 : Symbol(r9, Decl(promisePermutations3.ts, 123, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations3.ts, 30, 70)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations3.ts, 30, 70)) @@ -957,52 +957,52 @@ var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok >r9b : Symbol(r9b, Decl(promisePermutations3.ts, 125, 3)) >r9.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r9 : Symbol(r9, Decl(promisePermutations3.ts, 123, 3)) +>r9 : Symbol(r9, Decl(promisePermutations3.ts, 123, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >r9c : Symbol(r9c, Decl(promisePermutations3.ts, 126, 3)) >r9.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r9 : Symbol(r9, Decl(promisePermutations3.ts, 123, 3)) +>r9 : Symbol(r9, Decl(promisePermutations3.ts, 123, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) var r9d = r9.then(testFunction, sIPromise, nIPromise); // error >r9d : Symbol(r9d, Decl(promisePermutations3.ts, 127, 3)) >r9.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r9 : Symbol(r9, Decl(promisePermutations3.ts, 123, 3)) +>r9 : Symbol(r9, Decl(promisePermutations3.ts, 123, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r9e : Symbol(r9e, Decl(promisePermutations3.ts, 128, 3)) >r9.then(testFunction, nIPromise, sIPromise).then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >r9.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r9 : Symbol(r9, Decl(promisePermutations3.ts, 123, 3)) +>r9 : Symbol(r9, Decl(promisePermutations3.ts, 123, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) -var s9: Promise; ->s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) +declare var s9: Promise; +>s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >s9a : Symbol(s9a, Decl(promisePermutations3.ts, 130, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) +>s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations3.ts, 30, 70)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations3.ts, 30, 70)) @@ -1011,7 +1011,7 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : Symbol(s9b, Decl(promisePermutations3.ts, 131, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) +>s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations3.ts, 31, 73)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations3.ts, 31, 73)) @@ -1020,7 +1020,7 @@ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : Symbol(s9c, Decl(promisePermutations3.ts, 132, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) +>s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations3.ts, 31, 73)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations3.ts, 30, 70)) @@ -1029,43 +1029,43 @@ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Symbol(s9d, Decl(promisePermutations3.ts, 133, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) +>s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Symbol(s9e, Decl(promisePermutations3.ts, 134, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) +>s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->nPromise : Symbol(nPromise, Decl(promisePermutations3.ts, 114, 3)) ->nPromise : Symbol(nPromise, Decl(promisePermutations3.ts, 114, 3)) ->nPromise : Symbol(nPromise, Decl(promisePermutations3.ts, 114, 3)) +>nPromise : Symbol(nPromise, Decl(promisePermutations3.ts, 114, 11)) +>nPromise : Symbol(nPromise, Decl(promisePermutations3.ts, 114, 11)) +>nPromise : Symbol(nPromise, Decl(promisePermutations3.ts, 114, 11)) var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : Symbol(s9f, Decl(promisePermutations3.ts, 135, 3)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) +>s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Symbol(s9g, Decl(promisePermutations3.ts, 136, 3)) >s9.then(testFunction, nIPromise, sIPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) +>s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) var r10 = testFunction10(x => x); >r10 : Symbol(r10, Decl(promisePermutations3.ts, 138, 3)) @@ -1087,18 +1087,18 @@ var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok >r10.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >r10 : Symbol(r10, Decl(promisePermutations3.ts, 138, 3)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >r10c : Symbol(r10c, Decl(promisePermutations3.ts, 141, 3)) >r10.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >r10 : Symbol(r10, Decl(promisePermutations3.ts, 138, 3)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) var r10d = r10.then(testFunction, sIPromise, nIPromise); // error >r10d : Symbol(r10d, Decl(promisePermutations3.ts, 142, 3)) @@ -1106,8 +1106,8 @@ var r10d = r10.then(testFunction, sIPromise, nIPromise); // error >r10 : Symbol(r10, Decl(promisePermutations3.ts, 138, 3)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r10e : Symbol(r10e, Decl(promisePermutations3.ts, 143, 3)) @@ -1116,12 +1116,12 @@ var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromis >r10 : Symbol(r10, Decl(promisePermutations3.ts, 138, 3)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) var s10 = testFunction10P(x => x); >s10 : Symbol(s10, Decl(promisePermutations3.ts, 144, 3)) @@ -1161,18 +1161,18 @@ var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s10 : Symbol(s10, Decl(promisePermutations3.ts, 144, 3)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Symbol(s10e, Decl(promisePermutations3.ts, 149, 3)) >s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s10 : Symbol(s10, Decl(promisePermutations3.ts, 144, 3)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->nPromise : Symbol(nPromise, Decl(promisePermutations3.ts, 114, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>nPromise : Symbol(nPromise, Decl(promisePermutations3.ts, 114, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : Symbol(s10f, Decl(promisePermutations3.ts, 150, 3)) @@ -1180,8 +1180,8 @@ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10 : Symbol(s10, Decl(promisePermutations3.ts, 144, 3)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Symbol(s10g, Decl(promisePermutations3.ts, 151, 3)) @@ -1190,34 +1190,34 @@ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromis >s10 : Symbol(s10, Decl(promisePermutations3.ts, 144, 3)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) ->nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) +>sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) +>sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 11)) -var r11: IPromise; ->r11 : Symbol(r11, Decl(promisePermutations3.ts, 153, 3)) +declare var r11: IPromise; +>r11 : Symbol(r11, Decl(promisePermutations3.ts, 153, 11)) >IPromise : Symbol(IPromise, Decl(promisePermutations3.ts, 8, 1)) var r11a = r11.then(testFunction11, testFunction11, testFunction11); // ok >r11a : Symbol(r11a, Decl(promisePermutations3.ts, 154, 3)) >r11.then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) ->r11 : Symbol(r11, Decl(promisePermutations3.ts, 153, 3)) +>r11 : Symbol(r11, Decl(promisePermutations3.ts, 153, 11)) >then : Symbol(IPromise.then, Decl(promisePermutations3.ts, 10, 23)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations3.ts, 34, 68), Decl(promisePermutations3.ts, 36, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations3.ts, 34, 68), Decl(promisePermutations3.ts, 36, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations3.ts, 34, 68), Decl(promisePermutations3.ts, 36, 61)) -var s11: Promise; ->s11 : Symbol(s11, Decl(promisePermutations3.ts, 155, 3)) +declare var s11: Promise; +>s11 : Symbol(s11, Decl(promisePermutations3.ts, 155, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >s11a : Symbol(s11a, Decl(promisePermutations3.ts, 156, 3)) >s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s11 : Symbol(s11, Decl(promisePermutations3.ts, 155, 3)) +>s11 : Symbol(s11, Decl(promisePermutations3.ts, 155, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations3.ts, 34, 68), Decl(promisePermutations3.ts, 36, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations3.ts, 34, 68), Decl(promisePermutations3.ts, 36, 61)) @@ -1226,7 +1226,7 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >s11b : Symbol(s11b, Decl(promisePermutations3.ts, 157, 3)) >s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s11 : Symbol(s11, Decl(promisePermutations3.ts, 155, 3)) +>s11 : Symbol(s11, Decl(promisePermutations3.ts, 155, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations3.ts, 37, 61), Decl(promisePermutations3.ts, 38, 61)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations3.ts, 37, 61), Decl(promisePermutations3.ts, 38, 61)) @@ -1235,7 +1235,7 @@ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error >s11c : Symbol(s11c, Decl(promisePermutations3.ts, 158, 3)) >s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s11 : Symbol(s11, Decl(promisePermutations3.ts, 155, 3)) +>s11 : Symbol(s11, Decl(promisePermutations3.ts, 155, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations3.ts, 37, 61), Decl(promisePermutations3.ts, 38, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations3.ts, 34, 68), Decl(promisePermutations3.ts, 36, 61)) diff --git a/tests/baselines/reference/promisePermutations3.types b/tests/baselines/reference/promisePermutations3.types index 80b307742233b..ab29e06e8f1f8 100644 --- a/tests/baselines/reference/promisePermutations3.types +++ b/tests/baselines/reference/promisePermutations3.types @@ -335,7 +335,7 @@ declare function testFunction12P(x: T, y: T): Promise; >y : T > : ^ -var r1: IPromise; +declare var r1: IPromise; >r1 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -405,7 +405,7 @@ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >testFunctionP : () => Promise > : ^^^^^^ -var s1: Promise; +declare var s1: Promise; >s1 : Promise > : ^^^^^^^^^^^^^^^ @@ -493,7 +493,7 @@ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, >testFunction : () => IPromise > : ^^^^^^ -var r2: IPromise<{ x: number; }>; +declare var r2: IPromise<{ x: number; }>; >r2 : IPromise<{ x: number; }> > : ^^^^^^^^^^^^^^ ^^^^ >x : number @@ -547,7 +547,7 @@ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction >testFunction2 : () => IPromise<{ x: number; }> > : ^^^^^^ -var s2: Promise<{ x: number; }>; +declare var s2: Promise<{ x: number; }>; >s2 : Promise<{ x: number; }> > : ^^^^^^^^^^^^^ ^^^^ >x : number @@ -637,7 +637,7 @@ var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunctio >testFunction2 : () => IPromise<{ x: number; }> > : ^^^^^^ -var r3: IPromise; +declare var r3: IPromise; >r3 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -689,7 +689,7 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction >testFunction3 : (x: number) => IPromise > : ^ ^^ ^^^^^ -var s3: Promise; +declare var s3: Promise; >s3 : Promise > : ^^^^^^^^^^^^^^^ @@ -777,17 +777,17 @@ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunctio >testFunction3 : (x: number) => IPromise > : ^ ^^ ^^^^^ -var r4: IPromise; +declare var r4: IPromise; >r4 : IPromise > : ^^^^^^^^^^^^^^^^ -var sIPromise: (x: any) => IPromise; +declare var sIPromise: (x: any) => IPromise; >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ >x : any > : ^^^ -var sPromise: (x: any) => Promise; +declare var sPromise: (x: any) => Promise; >sPromise : (x: any) => Promise > : ^ ^^ ^^^^^ >x : any @@ -841,7 +841,7 @@ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testF >testFunction4 : (x: number, y?: string) => IPromise > : ^ ^^ ^^ ^^^ ^^^^^ -var s4: Promise; +declare var s4: Promise; >s4 : Promise > : ^^^^^^^^^^^^^^^ @@ -929,7 +929,7 @@ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, test >testFunction4 : (x: number, y?: string) => IPromise > : ^ ^^ ^^ ^^^ ^^^^^ -var r5: IPromise; +declare var r5: IPromise; >r5 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -981,7 +981,7 @@ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var s5: Promise; +declare var s5: Promise; >s5 : Promise > : ^^^^^^^^^^^^^^^ @@ -1069,7 +1069,7 @@ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var r6: IPromise; +declare var r6: IPromise; >r6 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -1121,7 +1121,7 @@ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var s6: Promise; +declare var s6: Promise; >s6 : Promise > : ^^^^^^^^^^^^^^^ @@ -1209,7 +1209,7 @@ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var r7: IPromise; +declare var r7: IPromise; >r7 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -1261,7 +1261,7 @@ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var s7: Promise; +declare var s7: Promise; >s7 : Promise > : ^^^^^^^^^^^^^^^ @@ -1349,17 +1349,17 @@ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromis >sPromise : (x: any) => Promise > : ^ ^^ ^^^^^ -var r8: IPromise; +declare var r8: IPromise; >r8 : IPromise > : ^^^^^^^^^^^^^^^^ -var nIPromise: (x: any) => IPromise; +declare var nIPromise: (x: any) => IPromise; >nIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ >x : any > : ^^^ -var nPromise: (x: any) => Promise; +declare var nPromise: (x: any) => Promise; >nPromise : (x: any) => Promise > : ^ ^^ ^^^^^ >x : any @@ -1501,7 +1501,7 @@ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >nIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var r9: IPromise; +declare var r9: IPromise; >r9 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -1607,7 +1607,7 @@ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var s9: Promise; +declare var s9: Promise; >s9 : Promise > : ^^^^^^^^^^^^^^^ @@ -2017,7 +2017,7 @@ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromis >sIPromise : (x: any) => IPromise > : ^ ^^ ^^^^^ -var r11: IPromise; +declare var r11: IPromise; >r11 : IPromise > : ^^^^^^^^^^^^^^^^ @@ -2039,7 +2039,7 @@ var r11a = r11.then(testFunction11, testFunction11, testFunction11); // ok >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ -var s11: Promise; +declare var s11: Promise; >s11 : Promise > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/promisesWithConstraints.errors.txt b/tests/baselines/reference/promisesWithConstraints.errors.txt index 45d3e8e057bba..91e9f8dfaf6d5 100644 --- a/tests/baselines/reference/promisesWithConstraints.errors.txt +++ b/tests/baselines/reference/promisesWithConstraints.errors.txt @@ -13,24 +13,24 @@ promisesWithConstraints.ts(20,1): error TS2322: Type 'CPromise' is not assi then(cb: (x: T) => Promise): Promise; } - interface Foo { x; } - interface Bar { x; y; } + interface Foo { x: any; } + interface Bar { x: any; y: any; } var a: Promise; - var b: Promise; + declare var b: Promise; a = b; // ok b = a; // ok ~ !!! error TS2322: Type 'Promise' is not assignable to type 'Promise'. !!! error TS2322: Property 'y' is missing in type 'Foo' but required in type 'Bar'. -!!! related TS2728 promisesWithConstraints.ts:10:20: 'y' is declared here. +!!! related TS2728 promisesWithConstraints.ts:10:25: 'y' is declared here. var a2: CPromise; - var b2: CPromise; + declare var b2: CPromise; a2 = b2; // ok b2 = a2; // was error ~~ !!! error TS2322: Type 'CPromise' is not assignable to type 'CPromise'. !!! error TS2322: Property 'y' is missing in type 'Foo' but required in type 'Bar'. -!!! related TS2728 promisesWithConstraints.ts:10:20: 'y' is declared here. +!!! related TS2728 promisesWithConstraints.ts:10:25: 'y' is declared here. \ No newline at end of file diff --git a/tests/baselines/reference/promisesWithConstraints.js b/tests/baselines/reference/promisesWithConstraints.js index c69f2db96bd07..1fe964e28b8a7 100644 --- a/tests/baselines/reference/promisesWithConstraints.js +++ b/tests/baselines/reference/promisesWithConstraints.js @@ -9,26 +9,24 @@ interface CPromise { then(cb: (x: T) => Promise): Promise; } -interface Foo { x; } -interface Bar { x; y; } +interface Foo { x: any; } +interface Bar { x: any; y: any; } var a: Promise; -var b: Promise; +declare var b: Promise; a = b; // ok b = a; // ok var a2: CPromise; -var b2: CPromise; +declare var b2: CPromise; a2 = b2; // ok b2 = a2; // was error //// [promisesWithConstraints.js] var a; -var b; a = b; // ok b = a; // ok var a2; -var b2; a2 = b2; // ok b2 = a2; // was error diff --git a/tests/baselines/reference/promisesWithConstraints.symbols b/tests/baselines/reference/promisesWithConstraints.symbols index b7783ddc806f8..80cdb2382d63b 100644 --- a/tests/baselines/reference/promisesWithConstraints.symbols +++ b/tests/baselines/reference/promisesWithConstraints.symbols @@ -35,31 +35,31 @@ interface CPromise { >U : Symbol(U, Decl(promisesWithConstraints.ts, 5, 9)) } -interface Foo { x; } +interface Foo { x: any; } >Foo : Symbol(Foo, Decl(promisesWithConstraints.ts, 6, 1)) >x : Symbol(Foo.x, Decl(promisesWithConstraints.ts, 8, 15)) -interface Bar { x; y; } ->Bar : Symbol(Bar, Decl(promisesWithConstraints.ts, 8, 20)) +interface Bar { x: any; y: any; } +>Bar : Symbol(Bar, Decl(promisesWithConstraints.ts, 8, 25)) >x : Symbol(Bar.x, Decl(promisesWithConstraints.ts, 9, 15)) ->y : Symbol(Bar.y, Decl(promisesWithConstraints.ts, 9, 18)) +>y : Symbol(Bar.y, Decl(promisesWithConstraints.ts, 9, 23)) var a: Promise; >a : Symbol(a, Decl(promisesWithConstraints.ts, 11, 3)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) >Foo : Symbol(Foo, Decl(promisesWithConstraints.ts, 6, 1)) -var b: Promise; ->b : Symbol(b, Decl(promisesWithConstraints.ts, 12, 3)) +declare var b: Promise; +>b : Symbol(b, Decl(promisesWithConstraints.ts, 12, 11)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) ->Bar : Symbol(Bar, Decl(promisesWithConstraints.ts, 8, 20)) +>Bar : Symbol(Bar, Decl(promisesWithConstraints.ts, 8, 25)) a = b; // ok >a : Symbol(a, Decl(promisesWithConstraints.ts, 11, 3)) ->b : Symbol(b, Decl(promisesWithConstraints.ts, 12, 3)) +>b : Symbol(b, Decl(promisesWithConstraints.ts, 12, 11)) b = a; // ok ->b : Symbol(b, Decl(promisesWithConstraints.ts, 12, 3)) +>b : Symbol(b, Decl(promisesWithConstraints.ts, 12, 11)) >a : Symbol(a, Decl(promisesWithConstraints.ts, 11, 3)) var a2: CPromise; @@ -67,16 +67,16 @@ var a2: CPromise; >CPromise : Symbol(CPromise, Decl(promisesWithConstraints.ts, 2, 1)) >Foo : Symbol(Foo, Decl(promisesWithConstraints.ts, 6, 1)) -var b2: CPromise; ->b2 : Symbol(b2, Decl(promisesWithConstraints.ts, 17, 3)) +declare var b2: CPromise; +>b2 : Symbol(b2, Decl(promisesWithConstraints.ts, 17, 11)) >CPromise : Symbol(CPromise, Decl(promisesWithConstraints.ts, 2, 1)) ->Bar : Symbol(Bar, Decl(promisesWithConstraints.ts, 8, 20)) +>Bar : Symbol(Bar, Decl(promisesWithConstraints.ts, 8, 25)) a2 = b2; // ok >a2 : Symbol(a2, Decl(promisesWithConstraints.ts, 16, 3)) ->b2 : Symbol(b2, Decl(promisesWithConstraints.ts, 17, 3)) +>b2 : Symbol(b2, Decl(promisesWithConstraints.ts, 17, 11)) b2 = a2; // was error ->b2 : Symbol(b2, Decl(promisesWithConstraints.ts, 17, 3)) +>b2 : Symbol(b2, Decl(promisesWithConstraints.ts, 17, 11)) >a2 : Symbol(a2, Decl(promisesWithConstraints.ts, 16, 3)) diff --git a/tests/baselines/reference/promisesWithConstraints.types b/tests/baselines/reference/promisesWithConstraints.types index 2ea111f3c24e2..8aac83bdfae3b 100644 --- a/tests/baselines/reference/promisesWithConstraints.types +++ b/tests/baselines/reference/promisesWithConstraints.types @@ -26,11 +26,11 @@ interface CPromise { > : ^ } -interface Foo { x; } +interface Foo { x: any; } >x : any > : ^^^ -interface Bar { x; y; } +interface Bar { x: any; y: any; } >x : any > : ^^^ >y : any @@ -40,7 +40,7 @@ var a: Promise; >a : Promise > : ^^^^^^^^^^^^ -var b: Promise; +declare var b: Promise; >b : Promise > : ^^^^^^^^^^^^ @@ -64,7 +64,7 @@ var a2: CPromise; >a2 : CPromise > : ^^^^^^^^^^^^^ -var b2: CPromise; +declare var b2: CPromise; >b2 : CPromise > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/propertyAccess.errors.txt b/tests/baselines/reference/propertyAccess.errors.txt index 344a5571d72ae..76df8200b5faf 100644 --- a/tests/baselines/reference/propertyAccess.errors.txt +++ b/tests/baselines/reference/propertyAccess.errors.txt @@ -8,10 +8,10 @@ propertyAccess.ts(149,5): error TS2403: Subsequent variable declarations must ha ==== propertyAccess.ts (6 errors) ==== class A { - a: number; + a!: number; } class B extends A { - b: number; + b!: number; } enum Compass { North, South, East, West @@ -21,7 +21,7 @@ propertyAccess.ts(149,5): error TS2403: Subsequent variable declarations must ha ~~~~~~~ !!! error TS2353: Object literal may only specify known properties, and ''three'' does not exist in type '{ [n: number]: string; }'. var strIndex: { [n: string]: Compass } = { 'N': Compass.North, 'E': Compass.East }; - var bothIndex: + declare var bothIndex: { [n: string]: A; [m: number]: B; @@ -37,8 +37,8 @@ propertyAccess.ts(149,5): error TS2403: Subsequent variable declarations must ha 'literal property': 100 }; var anyVar: any = {}; - var stringOrNumber: string | number; - var someObject: { name: string }; + declare var stringOrNumber: string | number; + declare var someObject: { name: string }; // Assign to a property access obj.y = 4; diff --git a/tests/baselines/reference/propertyAccess.js b/tests/baselines/reference/propertyAccess.js index aa1c453124e9a..eff404ad3514d 100644 --- a/tests/baselines/reference/propertyAccess.js +++ b/tests/baselines/reference/propertyAccess.js @@ -2,10 +2,10 @@ //// [propertyAccess.ts] class A { - a: number; + a!: number; } class B extends A { - b: number; + b!: number; } enum Compass { North, South, East, West @@ -13,7 +13,7 @@ enum Compass { var numIndex: { [n: number]: string } = { 3: 'three', 'three': 'three' }; var strIndex: { [n: string]: Compass } = { 'N': Compass.North, 'E': Compass.East }; -var bothIndex: +declare var bothIndex: { [n: string]: A; [m: number]: B; @@ -29,8 +29,8 @@ var obj = { 'literal property': 100 }; var anyVar: any = {}; -var stringOrNumber: string | number; -var someObject: { name: string }; +declare var stringOrNumber: string | number; +declare var someObject: { name: string }; // Assign to a property access obj.y = 4; @@ -189,7 +189,6 @@ var Compass; })(Compass || (Compass = {})); var numIndex = { 3: 'three', 'three': 'three' }; var strIndex = { 'N': Compass.North, 'E': Compass.East }; -var bothIndex; function noIndex() { } var obj = { 10: 'ten', @@ -199,8 +198,6 @@ var obj = { 'literal property': 100 }; var anyVar = {}; -var stringOrNumber; -var someObject; // Assign to a property access obj.y = 4; // Property access on value of type 'any' diff --git a/tests/baselines/reference/propertyAccess.symbols b/tests/baselines/reference/propertyAccess.symbols index 27b2304b43993..0a48554698d3f 100644 --- a/tests/baselines/reference/propertyAccess.symbols +++ b/tests/baselines/reference/propertyAccess.symbols @@ -4,14 +4,14 @@ class A { >A : Symbol(A, Decl(propertyAccess.ts, 0, 0)) - a: number; + a!: number; >a : Symbol(A.a, Decl(propertyAccess.ts, 0, 9)) } class B extends A { >B : Symbol(B, Decl(propertyAccess.ts, 2, 1)) >A : Symbol(A, Decl(propertyAccess.ts, 0, 0)) - b: number; + b!: number; >b : Symbol(B.b, Decl(propertyAccess.ts, 3, 19)) } enum Compass { @@ -43,8 +43,8 @@ var strIndex: { [n: string]: Compass } = { 'N': Compass.North, 'E': Compass.East >Compass : Symbol(Compass, Decl(propertyAccess.ts, 5, 1)) >East : Symbol(Compass.East, Decl(propertyAccess.ts, 7, 17)) -var bothIndex: ->bothIndex : Symbol(bothIndex, Decl(propertyAccess.ts, 12, 3)) +declare var bothIndex: +>bothIndex : Symbol(bothIndex, Decl(propertyAccess.ts, 12, 11)) { [n: string]: A; >n : Symbol(n, Decl(propertyAccess.ts, 14, 9)) @@ -84,12 +84,12 @@ var obj = { var anyVar: any = {}; >anyVar : Symbol(anyVar, Decl(propertyAccess.ts, 27, 3)) -var stringOrNumber: string | number; ->stringOrNumber : Symbol(stringOrNumber, Decl(propertyAccess.ts, 28, 3)) +declare var stringOrNumber: string | number; +>stringOrNumber : Symbol(stringOrNumber, Decl(propertyAccess.ts, 28, 11)) -var someObject: { name: string }; ->someObject : Symbol(someObject, Decl(propertyAccess.ts, 29, 3)) ->name : Symbol(name, Decl(propertyAccess.ts, 29, 17)) +declare var someObject: { name: string }; +>someObject : Symbol(someObject, Decl(propertyAccess.ts, 29, 11)) +>name : Symbol(name, Decl(propertyAccess.ts, 29, 25)) // Assign to a property access obj.y = 4; @@ -199,7 +199,7 @@ var kk: any; var ll = numIndex[someObject]; // Error >ll : Symbol(ll, Decl(propertyAccess.ts, 79, 3)) >numIndex : Symbol(numIndex, Decl(propertyAccess.ts, 10, 3)) ->someObject : Symbol(someObject, Decl(propertyAccess.ts, 29, 3)) +>someObject : Symbol(someObject, Decl(propertyAccess.ts, 29, 11)) // Bracket notation property access using string value on type with string index signature and no numeric index signature var mm = strIndex['N']; @@ -287,7 +287,7 @@ var tt: any; var uu = noIndex[someObject]; // Error >uu : Symbol(uu, Decl(propertyAccess.ts, 116, 3)) >noIndex : Symbol(noIndex, Decl(propertyAccess.ts, 16, 6)) ->someObject : Symbol(someObject, Decl(propertyAccess.ts, 29, 3)) +>someObject : Symbol(someObject, Decl(propertyAccess.ts, 29, 11)) // Bracket notation property access using numeric value on type with numeric index signature and string index signature var vv = noIndex[32]; @@ -300,7 +300,7 @@ var vv: any; // Bracket notation property access using enum value on type with numeric index signature and string index signature var ww = bothIndex[Compass.East]; >ww : Symbol(ww, Decl(propertyAccess.ts, 123, 3), Decl(propertyAccess.ts, 124, 3)) ->bothIndex : Symbol(bothIndex, Decl(propertyAccess.ts, 12, 3)) +>bothIndex : Symbol(bothIndex, Decl(propertyAccess.ts, 12, 11)) >Compass.East : Symbol(Compass.East, Decl(propertyAccess.ts, 7, 17)) >Compass : Symbol(Compass, Decl(propertyAccess.ts, 5, 1)) >East : Symbol(Compass.East, Decl(propertyAccess.ts, 7, 17)) @@ -312,7 +312,7 @@ var ww: B; // Bracket notation property access using value of type 'any' on type with numeric index signature and string index signature var xx = bothIndex[null]; >xx : Symbol(xx, Decl(propertyAccess.ts, 127, 3), Decl(propertyAccess.ts, 128, 3)) ->bothIndex : Symbol(bothIndex, Decl(propertyAccess.ts, 12, 3)) +>bothIndex : Symbol(bothIndex, Decl(propertyAccess.ts, 12, 11)) var xx: B; >xx : Symbol(xx, Decl(propertyAccess.ts, 127, 3), Decl(propertyAccess.ts, 128, 3)) @@ -321,7 +321,7 @@ var xx: B; // Bracket notation property access using string value on type with numeric index signature and string index signature var yy = bothIndex['foo']; >yy : Symbol(yy, Decl(propertyAccess.ts, 131, 3), Decl(propertyAccess.ts, 132, 3)) ->bothIndex : Symbol(bothIndex, Decl(propertyAccess.ts, 12, 3)) +>bothIndex : Symbol(bothIndex, Decl(propertyAccess.ts, 12, 11)) var yy: A; >yy : Symbol(yy, Decl(propertyAccess.ts, 131, 3), Decl(propertyAccess.ts, 132, 3)) @@ -330,7 +330,7 @@ var yy: A; // Bracket notation property access using numeric string value on type with numeric index signature and string index signature var zz = bothIndex['1.0']; >zz : Symbol(zz, Decl(propertyAccess.ts, 135, 3), Decl(propertyAccess.ts, 136, 3)) ->bothIndex : Symbol(bothIndex, Decl(propertyAccess.ts, 12, 3)) +>bothIndex : Symbol(bothIndex, Decl(propertyAccess.ts, 12, 11)) var zz: A; >zz : Symbol(zz, Decl(propertyAccess.ts, 135, 3), Decl(propertyAccess.ts, 136, 3)) @@ -339,13 +339,13 @@ var zz: A; // Bracket notation property access using value of other type on type with numeric index signature and no string index signature and string index signature var zzzz = bothIndex[someObject]; // Error >zzzz : Symbol(zzzz, Decl(propertyAccess.ts, 139, 3)) ->bothIndex : Symbol(bothIndex, Decl(propertyAccess.ts, 12, 3)) ->someObject : Symbol(someObject, Decl(propertyAccess.ts, 29, 3)) +>bothIndex : Symbol(bothIndex, Decl(propertyAccess.ts, 12, 11)) +>someObject : Symbol(someObject, Decl(propertyAccess.ts, 29, 11)) var x1 = numIndex[stringOrNumber]; >x1 : Symbol(x1, Decl(propertyAccess.ts, 141, 3), Decl(propertyAccess.ts, 142, 3)) >numIndex : Symbol(numIndex, Decl(propertyAccess.ts, 10, 3)) ->stringOrNumber : Symbol(stringOrNumber, Decl(propertyAccess.ts, 28, 3)) +>stringOrNumber : Symbol(stringOrNumber, Decl(propertyAccess.ts, 28, 11)) var x1: any; >x1 : Symbol(x1, Decl(propertyAccess.ts, 141, 3), Decl(propertyAccess.ts, 142, 3)) @@ -353,7 +353,7 @@ var x1: any; var x2 = strIndex[stringOrNumber]; >x2 : Symbol(x2, Decl(propertyAccess.ts, 144, 3), Decl(propertyAccess.ts, 145, 3)) >strIndex : Symbol(strIndex, Decl(propertyAccess.ts, 11, 3)) ->stringOrNumber : Symbol(stringOrNumber, Decl(propertyAccess.ts, 28, 3)) +>stringOrNumber : Symbol(stringOrNumber, Decl(propertyAccess.ts, 28, 11)) var x2: Compass; >x2 : Symbol(x2, Decl(propertyAccess.ts, 144, 3), Decl(propertyAccess.ts, 145, 3)) @@ -361,8 +361,8 @@ var x2: Compass; var x3 = bothIndex[stringOrNumber]; >x3 : Symbol(x3, Decl(propertyAccess.ts, 147, 3), Decl(propertyAccess.ts, 148, 3)) ->bothIndex : Symbol(bothIndex, Decl(propertyAccess.ts, 12, 3)) ->stringOrNumber : Symbol(stringOrNumber, Decl(propertyAccess.ts, 28, 3)) +>bothIndex : Symbol(bothIndex, Decl(propertyAccess.ts, 12, 11)) +>stringOrNumber : Symbol(stringOrNumber, Decl(propertyAccess.ts, 28, 11)) var x3: A; >x3 : Symbol(x3, Decl(propertyAccess.ts, 147, 3), Decl(propertyAccess.ts, 148, 3)) diff --git a/tests/baselines/reference/propertyAccess.types b/tests/baselines/reference/propertyAccess.types index 4d8b083563337..78a64412dbbf8 100644 --- a/tests/baselines/reference/propertyAccess.types +++ b/tests/baselines/reference/propertyAccess.types @@ -5,7 +5,7 @@ class A { >A : A > : ^ - a: number; + a!: number; >a : number > : ^^^^^^ } @@ -15,7 +15,7 @@ class B extends A { >A : A > : ^ - b: number; + b!: number; >b : number > : ^^^^^^ } @@ -74,7 +74,7 @@ var strIndex: { [n: string]: Compass } = { 'N': Compass.North, 'E': Compass.East >East : Compass.East > : ^^^^^^^^^^^^ -var bothIndex: +declare var bothIndex: >bothIndex : { [n: string]: A; [m: number]: B; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ { @@ -149,11 +149,11 @@ var anyVar: any = {}; >{} : {} > : ^^ -var stringOrNumber: string | number; +declare var stringOrNumber: string | number; >stringOrNumber : string | number > : ^^^^^^^^^^^^^^^ -var someObject: { name: string }; +declare var someObject: { name: string }; >someObject : { name: string; } > : ^^^^^^^^ ^^^ >name : string diff --git a/tests/baselines/reference/propertyAccess1.errors.txt b/tests/baselines/reference/propertyAccess1.errors.txt index e894082ad2333..ea9700146da43 100644 --- a/tests/baselines/reference/propertyAccess1.errors.txt +++ b/tests/baselines/reference/propertyAccess1.errors.txt @@ -2,7 +2,7 @@ propertyAccess1.ts(3,5): error TS2339: Property 'b' does not exist on type '{ a: ==== propertyAccess1.ts (1 errors) ==== - var foo: { a: number; }; + declare var foo: { a: number; }; foo.a = 4; foo.b = 5; ~ diff --git a/tests/baselines/reference/propertyAccess1.js b/tests/baselines/reference/propertyAccess1.js index 613f67cd0fa0e..c0d87e45058d9 100644 --- a/tests/baselines/reference/propertyAccess1.js +++ b/tests/baselines/reference/propertyAccess1.js @@ -1,11 +1,10 @@ //// [tests/cases/compiler/propertyAccess1.ts] //// //// [propertyAccess1.ts] -var foo: { a: number; }; +declare var foo: { a: number; }; foo.a = 4; foo.b = 5; //// [propertyAccess1.js] -var foo; foo.a = 4; foo.b = 5; diff --git a/tests/baselines/reference/propertyAccess1.symbols b/tests/baselines/reference/propertyAccess1.symbols index bf6fa77c3b8fd..87cf4d3935f21 100644 --- a/tests/baselines/reference/propertyAccess1.symbols +++ b/tests/baselines/reference/propertyAccess1.symbols @@ -1,15 +1,15 @@ //// [tests/cases/compiler/propertyAccess1.ts] //// === propertyAccess1.ts === -var foo: { a: number; }; ->foo : Symbol(foo, Decl(propertyAccess1.ts, 0, 3)) ->a : Symbol(a, Decl(propertyAccess1.ts, 0, 10)) +declare var foo: { a: number; }; +>foo : Symbol(foo, Decl(propertyAccess1.ts, 0, 11)) +>a : Symbol(a, Decl(propertyAccess1.ts, 0, 18)) foo.a = 4; ->foo.a : Symbol(a, Decl(propertyAccess1.ts, 0, 10)) ->foo : Symbol(foo, Decl(propertyAccess1.ts, 0, 3)) ->a : Symbol(a, Decl(propertyAccess1.ts, 0, 10)) +>foo.a : Symbol(a, Decl(propertyAccess1.ts, 0, 18)) +>foo : Symbol(foo, Decl(propertyAccess1.ts, 0, 11)) +>a : Symbol(a, Decl(propertyAccess1.ts, 0, 18)) foo.b = 5; ->foo : Symbol(foo, Decl(propertyAccess1.ts, 0, 3)) +>foo : Symbol(foo, Decl(propertyAccess1.ts, 0, 11)) diff --git a/tests/baselines/reference/propertyAccess1.types b/tests/baselines/reference/propertyAccess1.types index 28dae6b3507bd..b98119844263a 100644 --- a/tests/baselines/reference/propertyAccess1.types +++ b/tests/baselines/reference/propertyAccess1.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/propertyAccess1.ts] //// === propertyAccess1.ts === -var foo: { a: number; }; +declare var foo: { a: number; }; >foo : { a: number; } > : ^^^^^ ^^^ >a : number diff --git a/tests/baselines/reference/propertyAccess2.errors.txt b/tests/baselines/reference/propertyAccess2.errors.txt index 7a26a36975154..c3878649219a5 100644 --- a/tests/baselines/reference/propertyAccess2.errors.txt +++ b/tests/baselines/reference/propertyAccess2.errors.txt @@ -2,7 +2,7 @@ propertyAccess2.ts(2,5): error TS2339: Property 'toBAZ' does not exist on type ' ==== propertyAccess2.ts (1 errors) ==== - var foo: number; + declare var foo: number; foo.toBAZ(); ~~~~~ !!! error TS2339: Property 'toBAZ' does not exist on type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/propertyAccess2.js b/tests/baselines/reference/propertyAccess2.js index 61f0dd39c9f70..42cb441eed23e 100644 --- a/tests/baselines/reference/propertyAccess2.js +++ b/tests/baselines/reference/propertyAccess2.js @@ -1,9 +1,8 @@ //// [tests/cases/compiler/propertyAccess2.ts] //// //// [propertyAccess2.ts] -var foo: number; +declare var foo: number; foo.toBAZ(); //// [propertyAccess2.js] -var foo; foo.toBAZ(); diff --git a/tests/baselines/reference/propertyAccess2.symbols b/tests/baselines/reference/propertyAccess2.symbols index 03cc4c3a0dba5..34983c725c355 100644 --- a/tests/baselines/reference/propertyAccess2.symbols +++ b/tests/baselines/reference/propertyAccess2.symbols @@ -1,9 +1,9 @@ //// [tests/cases/compiler/propertyAccess2.ts] //// === propertyAccess2.ts === -var foo: number; ->foo : Symbol(foo, Decl(propertyAccess2.ts, 0, 3)) +declare var foo: number; +>foo : Symbol(foo, Decl(propertyAccess2.ts, 0, 11)) foo.toBAZ(); ->foo : Symbol(foo, Decl(propertyAccess2.ts, 0, 3)) +>foo : Symbol(foo, Decl(propertyAccess2.ts, 0, 11)) diff --git a/tests/baselines/reference/propertyAccess2.types b/tests/baselines/reference/propertyAccess2.types index e5f36d218f4f3..2c73c7e5f3ab9 100644 --- a/tests/baselines/reference/propertyAccess2.types +++ b/tests/baselines/reference/propertyAccess2.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/propertyAccess2.ts] //// === propertyAccess2.ts === -var foo: number; +declare var foo: number; >foo : number > : ^^^^^^ diff --git a/tests/baselines/reference/propertyAccess3.errors.txt b/tests/baselines/reference/propertyAccess3.errors.txt index 116ecd3d760df..cf6325b178e72 100644 --- a/tests/baselines/reference/propertyAccess3.errors.txt +++ b/tests/baselines/reference/propertyAccess3.errors.txt @@ -2,7 +2,7 @@ propertyAccess3.ts(2,5): error TS2339: Property 'toBAZ' does not exist on type ' ==== propertyAccess3.ts (1 errors) ==== - var foo: boolean; + declare var foo: boolean; foo.toBAZ(); ~~~~~ !!! error TS2339: Property 'toBAZ' does not exist on type 'boolean'. \ No newline at end of file diff --git a/tests/baselines/reference/propertyAccess3.js b/tests/baselines/reference/propertyAccess3.js index 0a7be4ceb32f6..5a1ab127cb250 100644 --- a/tests/baselines/reference/propertyAccess3.js +++ b/tests/baselines/reference/propertyAccess3.js @@ -1,9 +1,8 @@ //// [tests/cases/compiler/propertyAccess3.ts] //// //// [propertyAccess3.ts] -var foo: boolean; +declare var foo: boolean; foo.toBAZ(); //// [propertyAccess3.js] -var foo; foo.toBAZ(); diff --git a/tests/baselines/reference/propertyAccess3.symbols b/tests/baselines/reference/propertyAccess3.symbols index 38a26e1be8f13..2db9e9865f871 100644 --- a/tests/baselines/reference/propertyAccess3.symbols +++ b/tests/baselines/reference/propertyAccess3.symbols @@ -1,9 +1,9 @@ //// [tests/cases/compiler/propertyAccess3.ts] //// === propertyAccess3.ts === -var foo: boolean; ->foo : Symbol(foo, Decl(propertyAccess3.ts, 0, 3)) +declare var foo: boolean; +>foo : Symbol(foo, Decl(propertyAccess3.ts, 0, 11)) foo.toBAZ(); ->foo : Symbol(foo, Decl(propertyAccess3.ts, 0, 3)) +>foo : Symbol(foo, Decl(propertyAccess3.ts, 0, 11)) diff --git a/tests/baselines/reference/propertyAccess3.types b/tests/baselines/reference/propertyAccess3.types index 66cc54e4851b7..4456ec58fb48c 100644 --- a/tests/baselines/reference/propertyAccess3.types +++ b/tests/baselines/reference/propertyAccess3.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/propertyAccess3.ts] //// === propertyAccess3.ts === -var foo: boolean; +declare var foo: boolean; >foo : boolean > : ^^^^^^^ diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.errors.txt b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.errors.txt index 5d71453a7f4a1..d6b8616782f64 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.errors.txt +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.errors.txt @@ -7,7 +7,7 @@ propertyAccessOnTypeParameterWithConstraints4.ts(27,22): error TS2339: Property ==== propertyAccessOnTypeParameterWithConstraints4.ts (4 errors) ==== class C { f() { - var x: T; + var x: T = {} as any; var a = x['notHere'](); // should be string return a + x.notHere(); ~~~~~~~ @@ -20,13 +20,13 @@ propertyAccessOnTypeParameterWithConstraints4.ts(27,22): error TS2339: Property interface I { foo: T; } - var i: I; + declare var i: I; var r2 = i.foo.notHere(); ~~~~~~~ !!! error TS2339: Property 'notHere' does not exist on type 'Date'. var r2b = i.foo['notHere'](); - var a: { + declare var a: { (): T; } var r3: string = a().notHere(); diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.js b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.js index e559eb372cd11..7fdfc918ee7c9 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.js +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.js @@ -3,7 +3,7 @@ //// [propertyAccessOnTypeParameterWithConstraints4.ts] class C { f() { - var x: T; + var x: T = {} as any; var a = x['notHere'](); // should be string return a + x.notHere(); } @@ -14,11 +14,11 @@ var r = (new C()).f(); interface I { foo: T; } -var i: I; +declare var i: I; var r2 = i.foo.notHere(); var r2b = i.foo['notHere'](); -var a: { +declare var a: { (): T; } var r3: string = a().notHere(); @@ -39,17 +39,15 @@ var C = /** @class */ (function () { function C() { } C.prototype.f = function () { - var x; + var x = {}; var a = x['notHere'](); // should be string return a + x.notHere(); }; return C; }()); var r = (new C()).f(); -var i; var r2 = i.foo.notHere(); var r2b = i.foo['notHere'](); -var a; var r3 = a().notHere(); var r3b = a()['notHere'](); var b = { diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.symbols b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.symbols index 0e7c455dc3186..5dc106075f534 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.symbols +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.symbols @@ -9,7 +9,7 @@ class C { f() { >f : Symbol(C.f, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 0, 25)) - var x: T; + var x: T = {} as any; >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 2, 11)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 0, 8)) @@ -39,25 +39,25 @@ interface I { >foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 10, 29)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 10, 12)) } -var i: I; ->i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 13, 3)) +declare var i: I; +>i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 13, 11)) >I : Symbol(I, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 8, 28)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var r2 = i.foo.notHere(); >r2 : Symbol(r2, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 14, 3)) >i.foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 10, 29)) ->i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 13, 3)) +>i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 13, 11)) >foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 10, 29)) var r2b = i.foo['notHere'](); >r2b : Symbol(r2b, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 15, 3)) >i.foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 10, 29)) ->i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 13, 3)) +>i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 13, 11)) >foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 10, 29)) -var a: { ->a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 17, 3)) +declare var a: { +>a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 17, 11)) (): T; >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 18, 5)) @@ -66,11 +66,11 @@ var a: { } var r3: string = a().notHere(); >r3 : Symbol(r3, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 20, 3)) ->a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 17, 3)) +>a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 17, 11)) var r3b: string = a()['notHere'](); >r3b : Symbol(r3b, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 21, 3)) ->a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 17, 3)) +>a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 17, 11)) var b = { >b : Symbol(b, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 23, 3)) diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.types index 001aa437a7eaf..d328c4a28fc47 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.types @@ -9,9 +9,13 @@ class C { >f : () => any > : ^^^^^^^^^ - var x: T; + var x: T = {} as any; >x : T > : ^ +>{} as any : any +> : ^^^ +>{} : {} +> : ^^ var a = x['notHere'](); // should be string >a : any @@ -62,7 +66,7 @@ interface I { >foo : T > : ^ } -var i: I; +declare var i: I; >i : I > : ^^^^^^^ @@ -98,7 +102,7 @@ var r2b = i.foo['notHere'](); >'notHere' : "notHere" > : ^^^^^^^^^ -var a: { +declare var a: { >a : () => T > : ^ ^^^^^^^^^ ^^^^^^^ diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.errors.txt b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.errors.txt index faa4cabcd5cc6..b3d1c5227ea7a 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.errors.txt +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.errors.txt @@ -19,7 +19,7 @@ propertyAccessOnTypeParameterWithConstraints5.ts(38,22): error TS2339: Property class C { f() { - var x: U; + var x: U = {} as any; var a = x['foo'](); // should be string return a + x.foo() + x.notHere(); ~~~~~~~ @@ -32,13 +32,13 @@ propertyAccessOnTypeParameterWithConstraints5.ts(38,22): error TS2339: Property interface I { foo: U; } - var i: I; + declare var i: I; var r2 = i.foo.notHere(); ~~~~~~~ !!! error TS2339: Property 'notHere' does not exist on type 'B'. var r2b = i.foo['foo'](); - var a: { + declare var a: { (): U; } // BUG 794164 diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.js b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.js index 67e75e1575d72..ce4594ad4bc44 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.js +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.js @@ -13,7 +13,7 @@ class B extends A { class C { f() { - var x: U; + var x: U = {} as any; var a = x['foo'](); // should be string return a + x.foo() + x.notHere(); } @@ -24,11 +24,11 @@ var r = (new C()).f(); interface I { foo: U; } -var i: I; +declare var i: I; var r2 = i.foo.notHere(); var r2b = i.foo['foo'](); -var a: { +declare var a: { (): U; } // BUG 794164 @@ -82,17 +82,15 @@ var C = /** @class */ (function () { function C() { } C.prototype.f = function () { - var x; + var x = {}; var a = x['foo'](); // should be string return a + x.foo() + x.notHere(); }; return C; }()); var r = (new C()).f(); -var i; var r2 = i.foo.notHere(); var r2b = i.foo['foo'](); -var a; // BUG 794164 var r3 = a().notHere(); var r3b = a()['foo'](); diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.symbols b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.symbols index 18f7c90e968ea..e53ed6e789d63 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.symbols +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.symbols @@ -29,7 +29,7 @@ class C { f() { >f : Symbol(C.f, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 10, 35)) - var x: U; + var x: U = {} as any; >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 12, 11)) >U : Symbol(U, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 10, 8)) @@ -66,8 +66,8 @@ interface I { >foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 20, 39)) >U : Symbol(U, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 20, 12)) } -var i: I; ->i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 23, 3)) +declare var i: I; +>i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 23, 11)) >I : Symbol(I, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 18, 28)) >B : Symbol(B, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 2, 1)) >A : Symbol(A, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 0, 0)) @@ -75,18 +75,18 @@ var i: I; var r2 = i.foo.notHere(); >r2 : Symbol(r2, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 24, 3)) >i.foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 20, 39)) ->i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 23, 3)) +>i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 23, 11)) >foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 20, 39)) var r2b = i.foo['foo'](); >r2b : Symbol(r2b, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 25, 3)) >i.foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 20, 39)) ->i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 23, 3)) +>i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 23, 11)) >foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 20, 39)) >'foo' : Symbol(A.foo, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 0, 9)) -var a: { ->a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 27, 3)) +declare var a: { +>a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 27, 11)) (): U; >U : Symbol(U, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 28, 5)) @@ -98,11 +98,11 @@ var a: { // BUG 794164 var r3: string = a().notHere(); >r3 : Symbol(r3, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 31, 3)) ->a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 27, 3)) +>a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 27, 11)) var r3b: string = a()['foo'](); >r3b : Symbol(r3b, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 32, 3)) ->a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 27, 3)) +>a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 27, 11)) >'foo' : Symbol(A.foo, Decl(propertyAccessOnTypeParameterWithConstraints5.ts, 0, 9)) var b = { diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.types index 57655018bed08..4efc66f35eb11 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.types @@ -36,9 +36,13 @@ class C { >f : () => string > : ^^^^^^^^^^^^ - var x: U; + var x: U = {} as any; >x : U > : ^ +>{} as any : any +> : ^^^ +>{} : {} +> : ^^ var a = x['foo'](); // should be string >a : string @@ -99,7 +103,7 @@ interface I { >foo : U > : ^ } -var i: I; +declare var i: I; >i : I > : ^^^^^^^ @@ -135,7 +139,7 @@ var r2b = i.foo['foo'](); >'foo' : "foo" > : ^^^^^ -var a: { +declare var a: { >a : () => U > : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^ diff --git a/tests/baselines/reference/propertyAccessStringIndexSignature.errors.txt b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=false).errors.txt similarity index 85% rename from tests/baselines/reference/propertyAccessStringIndexSignature.errors.txt rename to tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=false).errors.txt index ce41d05b060ed..b2b8b9331a6b8 100644 --- a/tests/baselines/reference/propertyAccessStringIndexSignature.errors.txt +++ b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=false).errors.txt @@ -3,14 +3,14 @@ propertyAccessStringIndexSignature.ts(10,7): error TS2339: Property 'nope' does ==== propertyAccessStringIndexSignature.ts (1 errors) ==== interface Flags { [name: string]: boolean }; - let flags: Flags; + declare let flags: Flags; flags.b; flags.f; flags.isNotNecessarilyNeverFalse; flags['this is fine']; interface Empty { } - let empty: Empty; + declare let empty: Empty; empty.nope; ~~~~ !!! error TS2339: Property 'nope' does not exist on type 'Empty'. diff --git a/tests/baselines/reference/propertyAccessStringIndexSignature.js b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=false).js similarity index 86% rename from tests/baselines/reference/propertyAccessStringIndexSignature.js rename to tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=false).js index eebe198bfcf14..ce91647b40586 100644 --- a/tests/baselines/reference/propertyAccessStringIndexSignature.js +++ b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=false).js @@ -2,25 +2,23 @@ //// [propertyAccessStringIndexSignature.ts] interface Flags { [name: string]: boolean }; -let flags: Flags; +declare let flags: Flags; flags.b; flags.f; flags.isNotNecessarilyNeverFalse; flags['this is fine']; interface Empty { } -let empty: Empty; +declare let empty: Empty; empty.nope; empty["that's ok"]; //// [propertyAccessStringIndexSignature.js] ; -var flags; flags.b; flags.f; flags.isNotNecessarilyNeverFalse; flags['this is fine']; -var empty; empty.nope; empty["that's ok"]; diff --git a/tests/baselines/reference/propertyAccessStringIndexSignature.symbols b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=false).symbols similarity index 90% rename from tests/baselines/reference/propertyAccessStringIndexSignature.symbols rename to tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=false).symbols index 68b5dbe722981..be371f5ff5080 100644 --- a/tests/baselines/reference/propertyAccessStringIndexSignature.symbols +++ b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=false).symbols @@ -5,38 +5,38 @@ interface Flags { [name: string]: boolean }; >Flags : Symbol(Flags, Decl(propertyAccessStringIndexSignature.ts, 0, 0)) >name : Symbol(name, Decl(propertyAccessStringIndexSignature.ts, 0, 19)) -let flags: Flags; ->flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) +declare let flags: Flags; +>flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 11)) >Flags : Symbol(Flags, Decl(propertyAccessStringIndexSignature.ts, 0, 0)) flags.b; >flags.b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) ->flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) +>flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 11)) >b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) flags.f; >flags.f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) ->flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) +>flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 11)) >f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) flags.isNotNecessarilyNeverFalse; >flags.isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) ->flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) +>flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 11)) >isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) flags['this is fine']; ->flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) +>flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 11)) interface Empty { } >Empty : Symbol(Empty, Decl(propertyAccessStringIndexSignature.ts, 5, 22)) -let empty: Empty; ->empty : Symbol(empty, Decl(propertyAccessStringIndexSignature.ts, 8, 3)) +declare let empty: Empty; +>empty : Symbol(empty, Decl(propertyAccessStringIndexSignature.ts, 8, 11)) >Empty : Symbol(Empty, Decl(propertyAccessStringIndexSignature.ts, 5, 22)) empty.nope; ->empty : Symbol(empty, Decl(propertyAccessStringIndexSignature.ts, 8, 3)) +>empty : Symbol(empty, Decl(propertyAccessStringIndexSignature.ts, 8, 11)) empty["that's ok"]; ->empty : Symbol(empty, Decl(propertyAccessStringIndexSignature.ts, 8, 3)) +>empty : Symbol(empty, Decl(propertyAccessStringIndexSignature.ts, 8, 11)) diff --git a/tests/baselines/reference/propertyAccessStringIndexSignature.types b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=false).types similarity index 91% rename from tests/baselines/reference/propertyAccessStringIndexSignature.types rename to tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=false).types index 54359ada73b5a..c264509660b90 100644 --- a/tests/baselines/reference/propertyAccessStringIndexSignature.types +++ b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=false).types @@ -5,7 +5,7 @@ interface Flags { [name: string]: boolean }; >name : string > : ^^^^^^ -let flags: Flags; +declare let flags: Flags; >flags : Flags > : ^^^^^ @@ -42,7 +42,7 @@ flags['this is fine']; > : ^^^^^^^^^^^^^^ interface Empty { } -let empty: Empty; +declare let empty: Empty; >empty : Empty > : ^^^^^ diff --git a/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=true).errors.txt b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=true).errors.txt new file mode 100644 index 0000000000000..dd26953ddf4fe --- /dev/null +++ b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=true).errors.txt @@ -0,0 +1,23 @@ +propertyAccessStringIndexSignature.ts(10,7): error TS2339: Property 'nope' does not exist on type 'Empty'. +propertyAccessStringIndexSignature.ts(11,1): error TS7053: Element implicitly has an 'any' type because expression of type '"that's ok"' can't be used to index type 'Empty'. + Property 'that's ok' does not exist on type 'Empty'. + + +==== propertyAccessStringIndexSignature.ts (2 errors) ==== + interface Flags { [name: string]: boolean }; + declare let flags: Flags; + flags.b; + flags.f; + flags.isNotNecessarilyNeverFalse; + flags['this is fine']; + + interface Empty { } + declare let empty: Empty; + empty.nope; + ~~~~ +!!! error TS2339: Property 'nope' does not exist on type 'Empty'. + empty["that's ok"]; + ~~~~~~~~~~~~~~~~~~ +!!! error TS7053: Element implicitly has an 'any' type because expression of type '"that's ok"' can't be used to index type 'Empty'. +!!! error TS7053: Property 'that's ok' does not exist on type 'Empty'. + \ No newline at end of file diff --git a/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=true).js b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=true).js new file mode 100644 index 0000000000000..ce91647b40586 --- /dev/null +++ b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=true).js @@ -0,0 +1,24 @@ +//// [tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignature.ts] //// + +//// [propertyAccessStringIndexSignature.ts] +interface Flags { [name: string]: boolean }; +declare let flags: Flags; +flags.b; +flags.f; +flags.isNotNecessarilyNeverFalse; +flags['this is fine']; + +interface Empty { } +declare let empty: Empty; +empty.nope; +empty["that's ok"]; + + +//// [propertyAccessStringIndexSignature.js] +; +flags.b; +flags.f; +flags.isNotNecessarilyNeverFalse; +flags['this is fine']; +empty.nope; +empty["that's ok"]; diff --git a/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=true).symbols b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=true).symbols new file mode 100644 index 0000000000000..be371f5ff5080 --- /dev/null +++ b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=true).symbols @@ -0,0 +1,42 @@ +//// [tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignature.ts] //// + +=== propertyAccessStringIndexSignature.ts === +interface Flags { [name: string]: boolean }; +>Flags : Symbol(Flags, Decl(propertyAccessStringIndexSignature.ts, 0, 0)) +>name : Symbol(name, Decl(propertyAccessStringIndexSignature.ts, 0, 19)) + +declare let flags: Flags; +>flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 11)) +>Flags : Symbol(Flags, Decl(propertyAccessStringIndexSignature.ts, 0, 0)) + +flags.b; +>flags.b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) +>flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 11)) +>b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) + +flags.f; +>flags.f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) +>flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 11)) +>f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) + +flags.isNotNecessarilyNeverFalse; +>flags.isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) +>flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 11)) +>isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) + +flags['this is fine']; +>flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 11)) + +interface Empty { } +>Empty : Symbol(Empty, Decl(propertyAccessStringIndexSignature.ts, 5, 22)) + +declare let empty: Empty; +>empty : Symbol(empty, Decl(propertyAccessStringIndexSignature.ts, 8, 11)) +>Empty : Symbol(Empty, Decl(propertyAccessStringIndexSignature.ts, 5, 22)) + +empty.nope; +>empty : Symbol(empty, Decl(propertyAccessStringIndexSignature.ts, 8, 11)) + +empty["that's ok"]; +>empty : Symbol(empty, Decl(propertyAccessStringIndexSignature.ts, 8, 11)) + diff --git a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.types b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=true).types similarity index 67% rename from tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.types rename to tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=true).types index 543f2de8b161f..c264509660b90 100644 --- a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.types +++ b/tests/baselines/reference/propertyAccessStringIndexSignature(noimplicitany=true).types @@ -1,11 +1,11 @@ -//// [tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignatureNoImplicitAny.ts] //// +//// [tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignature.ts] //// -=== propertyAccessStringIndexSignatureNoImplicitAny.ts === -interface Flags { [name: string]: boolean } +=== propertyAccessStringIndexSignature.ts === +interface Flags { [name: string]: boolean }; >name : string > : ^^^^^^ -let flags: Flags; +declare let flags: Flags; >flags : Flags > : ^^^^^ @@ -42,7 +42,7 @@ flags['this is fine']; > : ^^^^^^^^^^^^^^ interface Empty { } -let empty: Empty; +declare let empty: Empty; >empty : Empty > : ^^^^^ @@ -54,11 +54,11 @@ empty.nope; >nope : any > : ^^^ -empty["not allowed either"]; ->empty["not allowed either"] : any -> : ^^^ +empty["that's ok"]; +>empty["that's ok"] : any +> : ^^^ >empty : Empty > : ^^^^^ ->"not allowed either" : "not allowed either" -> : ^^^^^^^^^^^^^^^^^^^^ +>"that's ok" : "that's ok" +> : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.errors.txt b/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.errors.txt deleted file mode 100644 index 9dc7860b58d84..0000000000000 --- a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.errors.txt +++ /dev/null @@ -1,23 +0,0 @@ -propertyAccessStringIndexSignatureNoImplicitAny.ts(10,7): error TS2339: Property 'nope' does not exist on type 'Empty'. -propertyAccessStringIndexSignatureNoImplicitAny.ts(11,1): error TS7053: Element implicitly has an 'any' type because expression of type '"not allowed either"' can't be used to index type 'Empty'. - Property 'not allowed either' does not exist on type 'Empty'. - - -==== propertyAccessStringIndexSignatureNoImplicitAny.ts (2 errors) ==== - interface Flags { [name: string]: boolean } - let flags: Flags; - flags.b; - flags.f; - flags.isNotNecessarilyNeverFalse; - flags['this is fine']; - - interface Empty { } - let empty: Empty; - empty.nope; - ~~~~ -!!! error TS2339: Property 'nope' does not exist on type 'Empty'. - empty["not allowed either"]; - ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7053: Element implicitly has an 'any' type because expression of type '"not allowed either"' can't be used to index type 'Empty'. -!!! error TS7053: Property 'not allowed either' does not exist on type 'Empty'. - \ No newline at end of file diff --git a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.js b/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.js deleted file mode 100644 index 4bc9607fd5f8f..0000000000000 --- a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.js +++ /dev/null @@ -1,25 +0,0 @@ -//// [tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignatureNoImplicitAny.ts] //// - -//// [propertyAccessStringIndexSignatureNoImplicitAny.ts] -interface Flags { [name: string]: boolean } -let flags: Flags; -flags.b; -flags.f; -flags.isNotNecessarilyNeverFalse; -flags['this is fine']; - -interface Empty { } -let empty: Empty; -empty.nope; -empty["not allowed either"]; - - -//// [propertyAccessStringIndexSignatureNoImplicitAny.js] -var flags; -flags.b; -flags.f; -flags.isNotNecessarilyNeverFalse; -flags['this is fine']; -var empty; -empty.nope; -empty["not allowed either"]; diff --git a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.symbols b/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.symbols deleted file mode 100644 index 9a2eedca27055..0000000000000 --- a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.symbols +++ /dev/null @@ -1,42 +0,0 @@ -//// [tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignatureNoImplicitAny.ts] //// - -=== propertyAccessStringIndexSignatureNoImplicitAny.ts === -interface Flags { [name: string]: boolean } ->Flags : Symbol(Flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 0)) ->name : Symbol(name, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 19)) - -let flags: Flags; ->flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) ->Flags : Symbol(Flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 0)) - -flags.b; ->flags.b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) ->flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) ->b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) - -flags.f; ->flags.f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) ->flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) ->f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) - -flags.isNotNecessarilyNeverFalse; ->flags.isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) ->flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) ->isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) - -flags['this is fine']; ->flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) - -interface Empty { } ->Empty : Symbol(Empty, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 5, 22)) - -let empty: Empty; ->empty : Symbol(empty, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 8, 3)) ->Empty : Symbol(Empty, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 5, 22)) - -empty.nope; ->empty : Symbol(empty, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 8, 3)) - -empty["not allowed either"]; ->empty : Symbol(empty, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 8, 3)) - diff --git a/tests/baselines/reference/propertyAssignment.errors.txt b/tests/baselines/reference/propertyAssignment.errors.txt index fd64c78a5b3d2..7e7ff9c4c36bb 100644 --- a/tests/baselines/reference/propertyAssignment.errors.txt +++ b/tests/baselines/reference/propertyAssignment.errors.txt @@ -1,4 +1,4 @@ -propertyAssignment.ts(4,14): error TS2304: Cannot find name 'index'. +propertyAssignment.ts(4,22): error TS2304: Cannot find name 'index'. propertyAssignment.ts(12,1): error TS2322: Type '{ x: number; }' is not assignable to type 'new () => any'. Type '{ x: number; }' provides no match for the signature 'new (): any'. propertyAssignment.ts(14,1): error TS2322: Type '{ x: number; }' is not assignable to type '() => void'. @@ -6,16 +6,16 @@ propertyAssignment.ts(14,1): error TS2322: Type '{ x: number; }' is not assignab ==== propertyAssignment.ts (3 errors) ==== - var foo1: { new ():any; } - var bar1: { x : number; } + declare var foo1: { new ():any; } + declare var bar1: { x : number; } - var foo2: { [index]; } // should be an error, used to be indexer, now it is a computed property - ~~~~~ + declare var foo2: { [index]; } // should be an error, used to be indexer, now it is a computed property + ~~~~~ !!! error TS2304: Cannot find name 'index'. - var bar2: { x : number; } + declare var bar2: { x : number; } - var foo3: { ():void; } - var bar3: { x : number; } + declare var foo3: { ():void; } + declare var bar3: { x : number; } diff --git a/tests/baselines/reference/propertyAssignment.js b/tests/baselines/reference/propertyAssignment.js index 61006d3524e62..aa78c04bddc37 100644 --- a/tests/baselines/reference/propertyAssignment.js +++ b/tests/baselines/reference/propertyAssignment.js @@ -1,14 +1,14 @@ //// [tests/cases/compiler/propertyAssignment.ts] //// //// [propertyAssignment.ts] -var foo1: { new ():any; } -var bar1: { x : number; } +declare var foo1: { new ():any; } +declare var bar1: { x : number; } -var foo2: { [index]; } // should be an error, used to be indexer, now it is a computed property -var bar2: { x : number; } +declare var foo2: { [index]; } // should be an error, used to be indexer, now it is a computed property +declare var bar2: { x : number; } -var foo3: { ():void; } -var bar3: { x : number; } +declare var foo3: { ():void; } +declare var bar3: { x : number; } @@ -17,12 +17,6 @@ foo2 = bar2; foo3 = bar3; // should be an error //// [propertyAssignment.js] -var foo1; -var bar1; -var foo2; // should be an error, used to be indexer, now it is a computed property -var bar2; -var foo3; -var bar3; foo1 = bar1; // should be an error foo2 = bar2; foo3 = bar3; // should be an error diff --git a/tests/baselines/reference/propertyAssignment.symbols b/tests/baselines/reference/propertyAssignment.symbols index b40378559193c..1a71729bafbc3 100644 --- a/tests/baselines/reference/propertyAssignment.symbols +++ b/tests/baselines/reference/propertyAssignment.symbols @@ -1,39 +1,39 @@ //// [tests/cases/compiler/propertyAssignment.ts] //// === propertyAssignment.ts === -var foo1: { new ():any; } ->foo1 : Symbol(foo1, Decl(propertyAssignment.ts, 0, 3)) +declare var foo1: { new ():any; } +>foo1 : Symbol(foo1, Decl(propertyAssignment.ts, 0, 11)) -var bar1: { x : number; } ->bar1 : Symbol(bar1, Decl(propertyAssignment.ts, 1, 3)) ->x : Symbol(x, Decl(propertyAssignment.ts, 1, 11)) +declare var bar1: { x : number; } +>bar1 : Symbol(bar1, Decl(propertyAssignment.ts, 1, 11)) +>x : Symbol(x, Decl(propertyAssignment.ts, 1, 19)) -var foo2: { [index]; } // should be an error, used to be indexer, now it is a computed property ->foo2 : Symbol(foo2, Decl(propertyAssignment.ts, 3, 3)) ->[index] : Symbol([index], Decl(propertyAssignment.ts, 3, 11)) +declare var foo2: { [index]; } // should be an error, used to be indexer, now it is a computed property +>foo2 : Symbol(foo2, Decl(propertyAssignment.ts, 3, 11)) +>[index] : Symbol([index], Decl(propertyAssignment.ts, 3, 19)) -var bar2: { x : number; } ->bar2 : Symbol(bar2, Decl(propertyAssignment.ts, 4, 3)) ->x : Symbol(x, Decl(propertyAssignment.ts, 4, 11)) +declare var bar2: { x : number; } +>bar2 : Symbol(bar2, Decl(propertyAssignment.ts, 4, 11)) +>x : Symbol(x, Decl(propertyAssignment.ts, 4, 19)) -var foo3: { ():void; } ->foo3 : Symbol(foo3, Decl(propertyAssignment.ts, 6, 3)) +declare var foo3: { ():void; } +>foo3 : Symbol(foo3, Decl(propertyAssignment.ts, 6, 11)) -var bar3: { x : number; } ->bar3 : Symbol(bar3, Decl(propertyAssignment.ts, 7, 3)) ->x : Symbol(x, Decl(propertyAssignment.ts, 7, 11)) +declare var bar3: { x : number; } +>bar3 : Symbol(bar3, Decl(propertyAssignment.ts, 7, 11)) +>x : Symbol(x, Decl(propertyAssignment.ts, 7, 19)) foo1 = bar1; // should be an error ->foo1 : Symbol(foo1, Decl(propertyAssignment.ts, 0, 3)) ->bar1 : Symbol(bar1, Decl(propertyAssignment.ts, 1, 3)) +>foo1 : Symbol(foo1, Decl(propertyAssignment.ts, 0, 11)) +>bar1 : Symbol(bar1, Decl(propertyAssignment.ts, 1, 11)) foo2 = bar2; ->foo2 : Symbol(foo2, Decl(propertyAssignment.ts, 3, 3)) ->bar2 : Symbol(bar2, Decl(propertyAssignment.ts, 4, 3)) +>foo2 : Symbol(foo2, Decl(propertyAssignment.ts, 3, 11)) +>bar2 : Symbol(bar2, Decl(propertyAssignment.ts, 4, 11)) foo3 = bar3; // should be an error ->foo3 : Symbol(foo3, Decl(propertyAssignment.ts, 6, 3)) ->bar3 : Symbol(bar3, Decl(propertyAssignment.ts, 7, 3)) +>foo3 : Symbol(foo3, Decl(propertyAssignment.ts, 6, 11)) +>bar3 : Symbol(bar3, Decl(propertyAssignment.ts, 7, 11)) diff --git a/tests/baselines/reference/propertyAssignment.types b/tests/baselines/reference/propertyAssignment.types index f9f2a8bc55128..b525d1d0d88ee 100644 --- a/tests/baselines/reference/propertyAssignment.types +++ b/tests/baselines/reference/propertyAssignment.types @@ -1,17 +1,17 @@ //// [tests/cases/compiler/propertyAssignment.ts] //// === propertyAssignment.ts === -var foo1: { new ():any; } +declare var foo1: { new ():any; } >foo1 : new () => any > : ^^^^^^^^^^ -var bar1: { x : number; } +declare var bar1: { x : number; } >bar1 : { x: number; } > : ^^^^^ ^^^ >x : number > : ^^^^^^ -var foo2: { [index]; } // should be an error, used to be indexer, now it is a computed property +declare var foo2: { [index]; } // should be an error, used to be indexer, now it is a computed property >foo2 : { [x: number]: any; } > : ^^^^^^^^^^^^^^^^^^^^^ >[index] : any @@ -19,17 +19,17 @@ var foo2: { [index]; } // should be an error, used to be indexer, now it is a co >index : any > : ^^^ -var bar2: { x : number; } +declare var bar2: { x : number; } >bar2 : { x: number; } > : ^^^^^ ^^^ >x : number > : ^^^^^^ -var foo3: { ():void; } +declare var foo3: { ():void; } >foo3 : () => void > : ^^^^^^ -var bar3: { x : number; } +declare var bar3: { x : number; } >bar3 : { x: number; } > : ^^^^^ ^^^ >x : number diff --git a/tests/baselines/reference/propertyParameterWithQuestionMark.errors.txt b/tests/baselines/reference/propertyParameterWithQuestionMark.errors.txt index fb4e795e5ff62..0b614f3b10cba 100644 --- a/tests/baselines/reference/propertyParameterWithQuestionMark.errors.txt +++ b/tests/baselines/reference/propertyParameterWithQuestionMark.errors.txt @@ -9,7 +9,7 @@ propertyParameterWithQuestionMark.ts(9,5): error TS2322: Type 'C' is not assigna // x should be an optional property var v: C = {}; // Should succeed - var v2: { x? } + declare var v2: { x? } v = v2; // Should succeed var v3: { x } = new C; // Should fail ~~ diff --git a/tests/baselines/reference/propertyParameterWithQuestionMark.js b/tests/baselines/reference/propertyParameterWithQuestionMark.js index 7366e8e9075bf..e63bd77cf5f2c 100644 --- a/tests/baselines/reference/propertyParameterWithQuestionMark.js +++ b/tests/baselines/reference/propertyParameterWithQuestionMark.js @@ -7,7 +7,7 @@ class C { // x should be an optional property var v: C = {}; // Should succeed -var v2: { x? } +declare var v2: { x? } v = v2; // Should succeed var v3: { x } = new C; // Should fail @@ -20,6 +20,5 @@ var C = /** @class */ (function () { }()); // x should be an optional property var v = {}; // Should succeed -var v2; v = v2; // Should succeed var v3 = new C; // Should fail diff --git a/tests/baselines/reference/propertyParameterWithQuestionMark.symbols b/tests/baselines/reference/propertyParameterWithQuestionMark.symbols index fd4a6a19ec280..c8d5d60ae1483 100644 --- a/tests/baselines/reference/propertyParameterWithQuestionMark.symbols +++ b/tests/baselines/reference/propertyParameterWithQuestionMark.symbols @@ -13,13 +13,13 @@ var v: C = {}; // Should succeed >v : Symbol(v, Decl(propertyParameterWithQuestionMark.ts, 5, 3)) >C : Symbol(C, Decl(propertyParameterWithQuestionMark.ts, 0, 0)) -var v2: { x? } ->v2 : Symbol(v2, Decl(propertyParameterWithQuestionMark.ts, 6, 3)) ->x : Symbol(x, Decl(propertyParameterWithQuestionMark.ts, 6, 9)) +declare var v2: { x? } +>v2 : Symbol(v2, Decl(propertyParameterWithQuestionMark.ts, 6, 11)) +>x : Symbol(x, Decl(propertyParameterWithQuestionMark.ts, 6, 17)) v = v2; // Should succeed >v : Symbol(v, Decl(propertyParameterWithQuestionMark.ts, 5, 3)) ->v2 : Symbol(v2, Decl(propertyParameterWithQuestionMark.ts, 6, 3)) +>v2 : Symbol(v2, Decl(propertyParameterWithQuestionMark.ts, 6, 11)) var v3: { x } = new C; // Should fail >v3 : Symbol(v3, Decl(propertyParameterWithQuestionMark.ts, 8, 3)) diff --git a/tests/baselines/reference/propertyParameterWithQuestionMark.types b/tests/baselines/reference/propertyParameterWithQuestionMark.types index 7d3d223d1ce6c..035237b38811f 100644 --- a/tests/baselines/reference/propertyParameterWithQuestionMark.types +++ b/tests/baselines/reference/propertyParameterWithQuestionMark.types @@ -17,7 +17,7 @@ var v: C = {}; // Should succeed >{} : {} > : ^^ -var v2: { x? } +declare var v2: { x? } >v2 : { x?: any; } > : ^^^^^^^^^^^^ >x : any diff --git a/tests/baselines/reference/propertySignatures.errors.txt b/tests/baselines/reference/propertySignatures.errors.txt index 5dd08b83f44cc..684202c0f4896 100644 --- a/tests/baselines/reference/propertySignatures.errors.txt +++ b/tests/baselines/reference/propertySignatures.errors.txt @@ -1,33 +1,33 @@ -propertySignatures.ts(2,13): error TS2300: Duplicate identifier 'a'. -propertySignatures.ts(2,23): error TS2300: Duplicate identifier 'a'. +propertySignatures.ts(2,21): error TS2300: Duplicate identifier 'a'. +propertySignatures.ts(2,31): error TS2300: Duplicate identifier 'a'. propertySignatures.ts(14,12): error TS2552: Cannot find name 'foo'. Did you mean 'foo1'? ==== propertySignatures.ts (3 errors) ==== // Should be error - duplicate identifiers - var foo1: { a:string; a: string; }; - ~ + declare var foo1: { a:string; a: string; }; + ~ !!! error TS2300: Duplicate identifier 'a'. - ~ + ~ !!! error TS2300: Duplicate identifier 'a'. // Should be OK - var foo2: { a; }; + declare var foo2: { a; }; foo2.a = 2; foo2.a = "0"; // Should be error - var foo3: { (): string; (): string; }; + declare var foo3: { (): string; (): string; }; // Should be OK - var foo4: { (): void; }; + declare var foo4: { (): void; }; var test = foo(); ~~~ !!! error TS2552: Cannot find name 'foo'. Did you mean 'foo1'? -!!! related TS2728 propertySignatures.ts:2:5: 'foo1' is declared here. +!!! related TS2728 propertySignatures.ts:2:13: 'foo1' is declared here. // Should be OK - var foo5: {();}; + declare var foo5: {();}; var test = foo5(); test.bar = 2; \ No newline at end of file diff --git a/tests/baselines/reference/propertySignatures.js b/tests/baselines/reference/propertySignatures.js index 96ed2a82ff137..74125b73b471f 100644 --- a/tests/baselines/reference/propertySignatures.js +++ b/tests/baselines/reference/propertySignatures.js @@ -2,39 +2,29 @@ //// [propertySignatures.ts] // Should be error - duplicate identifiers -var foo1: { a:string; a: string; }; +declare var foo1: { a:string; a: string; }; // Should be OK -var foo2: { a; }; +declare var foo2: { a; }; foo2.a = 2; foo2.a = "0"; // Should be error -var foo3: { (): string; (): string; }; +declare var foo3: { (): string; (): string; }; // Should be OK -var foo4: { (): void; }; +declare var foo4: { (): void; }; var test = foo(); // Should be OK -var foo5: {();}; +declare var foo5: {();}; var test = foo5(); test.bar = 2; //// [propertySignatures.js] -// Should be error - duplicate identifiers -var foo1; -// Should be OK -var foo2; foo2.a = 2; foo2.a = "0"; -// Should be error -var foo3; -// Should be OK -var foo4; var test = foo(); -// Should be OK -var foo5; var test = foo5(); test.bar = 2; diff --git a/tests/baselines/reference/propertySignatures.symbols b/tests/baselines/reference/propertySignatures.symbols index 4a5434eaf6f5c..d75a38345a321 100644 --- a/tests/baselines/reference/propertySignatures.symbols +++ b/tests/baselines/reference/propertySignatures.symbols @@ -2,44 +2,44 @@ === propertySignatures.ts === // Should be error - duplicate identifiers -var foo1: { a:string; a: string; }; ->foo1 : Symbol(foo1, Decl(propertySignatures.ts, 1, 3)) ->a : Symbol(a, Decl(propertySignatures.ts, 1, 11), Decl(propertySignatures.ts, 1, 21)) ->a : Symbol(a, Decl(propertySignatures.ts, 1, 11), Decl(propertySignatures.ts, 1, 21)) +declare var foo1: { a:string; a: string; }; +>foo1 : Symbol(foo1, Decl(propertySignatures.ts, 1, 11)) +>a : Symbol(a, Decl(propertySignatures.ts, 1, 19), Decl(propertySignatures.ts, 1, 29)) +>a : Symbol(a, Decl(propertySignatures.ts, 1, 19), Decl(propertySignatures.ts, 1, 29)) // Should be OK -var foo2: { a; }; ->foo2 : Symbol(foo2, Decl(propertySignatures.ts, 4, 3)) ->a : Symbol(a, Decl(propertySignatures.ts, 4, 11)) +declare var foo2: { a; }; +>foo2 : Symbol(foo2, Decl(propertySignatures.ts, 4, 11)) +>a : Symbol(a, Decl(propertySignatures.ts, 4, 19)) foo2.a = 2; ->foo2.a : Symbol(a, Decl(propertySignatures.ts, 4, 11)) ->foo2 : Symbol(foo2, Decl(propertySignatures.ts, 4, 3)) ->a : Symbol(a, Decl(propertySignatures.ts, 4, 11)) +>foo2.a : Symbol(a, Decl(propertySignatures.ts, 4, 19)) +>foo2 : Symbol(foo2, Decl(propertySignatures.ts, 4, 11)) +>a : Symbol(a, Decl(propertySignatures.ts, 4, 19)) foo2.a = "0"; ->foo2.a : Symbol(a, Decl(propertySignatures.ts, 4, 11)) ->foo2 : Symbol(foo2, Decl(propertySignatures.ts, 4, 3)) ->a : Symbol(a, Decl(propertySignatures.ts, 4, 11)) +>foo2.a : Symbol(a, Decl(propertySignatures.ts, 4, 19)) +>foo2 : Symbol(foo2, Decl(propertySignatures.ts, 4, 11)) +>a : Symbol(a, Decl(propertySignatures.ts, 4, 19)) // Should be error -var foo3: { (): string; (): string; }; ->foo3 : Symbol(foo3, Decl(propertySignatures.ts, 9, 3)) +declare var foo3: { (): string; (): string; }; +>foo3 : Symbol(foo3, Decl(propertySignatures.ts, 9, 11)) // Should be OK -var foo4: { (): void; }; ->foo4 : Symbol(foo4, Decl(propertySignatures.ts, 12, 3)) +declare var foo4: { (): void; }; +>foo4 : Symbol(foo4, Decl(propertySignatures.ts, 12, 11)) var test = foo(); >test : Symbol(test, Decl(propertySignatures.ts, 13, 3), Decl(propertySignatures.ts, 17, 3)) // Should be OK -var foo5: {();}; ->foo5 : Symbol(foo5, Decl(propertySignatures.ts, 16, 3)) +declare var foo5: {();}; +>foo5 : Symbol(foo5, Decl(propertySignatures.ts, 16, 11)) var test = foo5(); >test : Symbol(test, Decl(propertySignatures.ts, 13, 3), Decl(propertySignatures.ts, 17, 3)) ->foo5 : Symbol(foo5, Decl(propertySignatures.ts, 16, 3)) +>foo5 : Symbol(foo5, Decl(propertySignatures.ts, 16, 11)) test.bar = 2; >test : Symbol(test, Decl(propertySignatures.ts, 13, 3), Decl(propertySignatures.ts, 17, 3)) diff --git a/tests/baselines/reference/propertySignatures.types b/tests/baselines/reference/propertySignatures.types index f975e1042e444..5b51eb9ebe3c8 100644 --- a/tests/baselines/reference/propertySignatures.types +++ b/tests/baselines/reference/propertySignatures.types @@ -2,7 +2,7 @@ === propertySignatures.ts === // Should be error - duplicate identifiers -var foo1: { a:string; a: string; }; +declare var foo1: { a:string; a: string; }; >foo1 : { a: string; } > : ^^^^^ ^^^ >a : string @@ -11,7 +11,7 @@ var foo1: { a:string; a: string; }; > : ^^^^^^ // Should be OK -var foo2: { a; }; +declare var foo2: { a; }; >foo2 : { a: any; } > : ^^^^^^^^^^^ >a : any @@ -42,12 +42,12 @@ foo2.a = "0"; > : ^^^ // Should be error -var foo3: { (): string; (): string; }; +declare var foo3: { (): string; (): string; }; >foo3 : { (): string; (): string; } > : ^^^^^^ ^^^^^^ ^^^ // Should be OK -var foo4: { (): void; }; +declare var foo4: { (): void; }; >foo4 : () => void > : ^^^^^^ @@ -60,7 +60,7 @@ var test = foo(); > : ^^^ // Should be OK -var foo5: {();}; +declare var foo5: {();}; >foo5 : () => any > : ^^^^^^^^^ diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.errors.txt b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.errors.txt index 341e7a7190c35..bf27e7ab55dc3 100644 --- a/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.errors.txt +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.errors.txt @@ -23,15 +23,15 @@ protectedClassPropertyAccessibleWithinNestedSubclass1.ts(114,4): error TS2445: P ==== protectedClassPropertyAccessibleWithinNestedSubclass1.ts (21 errors) ==== class Base { - protected x: string; + protected x!: string; method() { class A { methoda() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // OK, accessed within their declaring class d1.x; // OK, accessed within their declaring class @@ -49,11 +49,11 @@ protectedClassPropertyAccessibleWithinNestedSubclass1.ts(114,4): error TS2445: P method1() { class B { method1b() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class ~ @@ -77,11 +77,11 @@ protectedClassPropertyAccessibleWithinNestedSubclass1.ts(114,4): error TS2445: P method2() { class C { method2c() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class ~ @@ -100,15 +100,15 @@ protectedClassPropertyAccessibleWithinNestedSubclass1.ts(114,4): error TS2445: P } class Derived3 extends Derived1 { - protected x: string; + protected x!: string; method3() { class D { method3d() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class ~ @@ -132,11 +132,11 @@ protectedClassPropertyAccessibleWithinNestedSubclass1.ts(114,4): error TS2445: P method4() { class E { method4e() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class ~ @@ -157,11 +157,11 @@ protectedClassPropertyAccessibleWithinNestedSubclass1.ts(114,4): error TS2445: P } - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, neither within their declaring class nor classes derived from their declaring class ~ diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.js b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.js index 934f9d61e7f8c..743afeacc22d2 100644 --- a/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.js +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.js @@ -2,15 +2,15 @@ //// [protectedClassPropertyAccessibleWithinNestedSubclass1.ts] class Base { - protected x: string; + protected x!: string; method() { class A { methoda() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // OK, accessed within their declaring class d1.x; // OK, accessed within their declaring class @@ -26,11 +26,11 @@ class Derived1 extends Base { method1() { class B { method1b() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class @@ -46,11 +46,11 @@ class Derived2 extends Base { method2() { class C { method2c() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class @@ -63,15 +63,15 @@ class Derived2 extends Base { } class Derived3 extends Derived1 { - protected x: string; + protected x!: string; method3() { class D { method3d() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class @@ -87,11 +87,11 @@ class Derived4 extends Derived2 { method4() { class E { method4e() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class @@ -104,11 +104,11 @@ class Derived4 extends Derived2 { } -var b: Base; -var d1: Derived1; -var d2: Derived2; -var d3: Derived3; -var d4: Derived4; +var b: Base = undefined as any; +var d1: Derived1 = undefined as any; +var d2: Derived2 = undefined as any; +var d3: Derived3 = undefined as any; +var d4: Derived4 = undefined as any; b.x; // Error, neither within their declaring class nor classes derived from their declaring class d1.x; // Error, neither within their declaring class nor classes derived from their declaring class @@ -140,11 +140,11 @@ var Base = /** @class */ (function () { function A() { } A.prototype.methoda = function () { - var b; - var d1; - var d2; - var d3; - var d4; + var b = undefined; + var d1 = undefined; + var d2 = undefined; + var d3 = undefined; + var d4 = undefined; b.x; // OK, accessed within their declaring class d1.x; // OK, accessed within their declaring class d2.x; // OK, accessed within their declaring class @@ -166,11 +166,11 @@ var Derived1 = /** @class */ (function (_super) { function B() { } B.prototype.method1b = function () { - var b; - var d1; - var d2; - var d3; - var d4; + var b = undefined; + var d1 = undefined; + var d2 = undefined; + var d3 = undefined; + var d4 = undefined; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class d2.x; // Error, isn't accessed through an instance of the enclosing class @@ -192,11 +192,11 @@ var Derived2 = /** @class */ (function (_super) { function C() { } C.prototype.method2c = function () { - var b; - var d1; - var d2; - var d3; - var d4; + var b = undefined; + var d1 = undefined; + var d2 = undefined; + var d3 = undefined; + var d4 = undefined; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class d2.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class @@ -218,11 +218,11 @@ var Derived3 = /** @class */ (function (_super) { function D() { } D.prototype.method3d = function () { - var b; - var d1; - var d2; - var d3; - var d4; + var b = undefined; + var d1 = undefined; + var d2 = undefined; + var d3 = undefined; + var d4 = undefined; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class d2.x; // Error, isn't accessed through an instance of the enclosing class @@ -244,11 +244,11 @@ var Derived4 = /** @class */ (function (_super) { function E() { } E.prototype.method4e = function () { - var b; - var d1; - var d2; - var d3; - var d4; + var b = undefined; + var d1 = undefined; + var d2 = undefined; + var d3 = undefined; + var d4 = undefined; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class d2.x; // Error, isn't accessed through an instance of the enclosing class @@ -260,11 +260,11 @@ var Derived4 = /** @class */ (function (_super) { }; return Derived4; }(Derived2)); -var b; -var d1; -var d2; -var d3; -var d4; +var b = undefined; +var d1 = undefined; +var d2 = undefined; +var d3 = undefined; +var d4 = undefined; b.x; // Error, neither within their declaring class nor classes derived from their declaring class d1.x; // Error, neither within their declaring class nor classes derived from their declaring class d2.x; // Error, neither within their declaring class nor classes derived from their declaring class diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.symbols b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.symbols index 4d0a122b90b3a..d59f393ed0677 100644 --- a/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.symbols +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.symbols @@ -4,11 +4,11 @@ class Base { >Base : Symbol(Base, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 0, 0)) - protected x: string; + protected x!: string; >x : Symbol(Base.x, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 0, 12)) method() { ->method : Symbol(Base.method, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 1, 24)) +>method : Symbol(Base.method, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 1, 25)) class A { >A : Symbol(A, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 2, 14)) @@ -16,25 +16,30 @@ class Base { methoda() { >methoda : Symbol(A.methoda, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 3, 17)) - var b: Base; + var b: Base = undefined as any; >b : Symbol(b, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 5, 19)) >Base : Symbol(Base, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 0, 0)) +>undefined : Symbol(undefined) - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Symbol(d1, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 6, 19)) >Derived1 : Symbol(Derived1, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 19, 1)) +>undefined : Symbol(undefined) - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Symbol(d2, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 7, 19)) >Derived2 : Symbol(Derived2, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 39, 1)) +>undefined : Symbol(undefined) - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Symbol(d3, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 8, 19)) >Derived3 : Symbol(Derived3, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 59, 1)) +>undefined : Symbol(undefined) - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Symbol(d4, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 9, 19)) >Derived4 : Symbol(Derived4, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 80, 1)) +>undefined : Symbol(undefined) b.x; // OK, accessed within their declaring class >b.x : Symbol(Base.x, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 0, 12)) @@ -78,25 +83,30 @@ class Derived1 extends Base { method1b() { >method1b : Symbol(B.method1b, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 23, 17)) - var b: Base; + var b: Base = undefined as any; >b : Symbol(b, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 25, 19)) >Base : Symbol(Base, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 0, 0)) +>undefined : Symbol(undefined) - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Symbol(d1, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 26, 19)) >Derived1 : Symbol(Derived1, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 19, 1)) +>undefined : Symbol(undefined) - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Symbol(d2, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 27, 19)) >Derived2 : Symbol(Derived2, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 39, 1)) +>undefined : Symbol(undefined) - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Symbol(d3, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 28, 19)) >Derived3 : Symbol(Derived3, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 59, 1)) +>undefined : Symbol(undefined) - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Symbol(d4, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 29, 19)) >Derived4 : Symbol(Derived4, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 80, 1)) +>undefined : Symbol(undefined) b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : Symbol(Base.x, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 0, 12)) @@ -140,25 +150,30 @@ class Derived2 extends Base { method2c() { >method2c : Symbol(C.method2c, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 43, 17)) - var b: Base; + var b: Base = undefined as any; >b : Symbol(b, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 45, 19)) >Base : Symbol(Base, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 0, 0)) +>undefined : Symbol(undefined) - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Symbol(d1, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 46, 19)) >Derived1 : Symbol(Derived1, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 19, 1)) +>undefined : Symbol(undefined) - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Symbol(d2, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 47, 19)) >Derived2 : Symbol(Derived2, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 39, 1)) +>undefined : Symbol(undefined) - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Symbol(d3, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 48, 19)) >Derived3 : Symbol(Derived3, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 59, 1)) +>undefined : Symbol(undefined) - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Symbol(d4, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 49, 19)) >Derived4 : Symbol(Derived4, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 80, 1)) +>undefined : Symbol(undefined) b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : Symbol(Base.x, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 0, 12)) @@ -193,11 +208,11 @@ class Derived3 extends Derived1 { >Derived3 : Symbol(Derived3, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 59, 1)) >Derived1 : Symbol(Derived1, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 19, 1)) - protected x: string; + protected x!: string; >x : Symbol(Derived3.x, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 61, 33)) method3() { ->method3 : Symbol(Derived3.method3, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 62, 24)) +>method3 : Symbol(Derived3.method3, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 62, 25)) class D { >D : Symbol(D, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 63, 15)) @@ -205,25 +220,30 @@ class Derived3 extends Derived1 { method3d() { >method3d : Symbol(D.method3d, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 64, 17)) - var b: Base; + var b: Base = undefined as any; >b : Symbol(b, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 66, 19)) >Base : Symbol(Base, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 0, 0)) +>undefined : Symbol(undefined) - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Symbol(d1, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 67, 19)) >Derived1 : Symbol(Derived1, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 19, 1)) +>undefined : Symbol(undefined) - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Symbol(d2, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 68, 19)) >Derived2 : Symbol(Derived2, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 39, 1)) +>undefined : Symbol(undefined) - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Symbol(d3, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 69, 19)) >Derived3 : Symbol(Derived3, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 59, 1)) +>undefined : Symbol(undefined) - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Symbol(d4, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 70, 19)) >Derived4 : Symbol(Derived4, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 80, 1)) +>undefined : Symbol(undefined) b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : Symbol(Base.x, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 0, 12)) @@ -267,25 +287,30 @@ class Derived4 extends Derived2 { method4e() { >method4e : Symbol(E.method4e, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 84, 17)) - var b: Base; + var b: Base = undefined as any; >b : Symbol(b, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 86, 19)) >Base : Symbol(Base, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 0, 0)) +>undefined : Symbol(undefined) - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Symbol(d1, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 87, 19)) >Derived1 : Symbol(Derived1, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 19, 1)) +>undefined : Symbol(undefined) - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Symbol(d2, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 88, 19)) >Derived2 : Symbol(Derived2, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 39, 1)) +>undefined : Symbol(undefined) - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Symbol(d3, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 89, 19)) >Derived3 : Symbol(Derived3, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 59, 1)) +>undefined : Symbol(undefined) - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Symbol(d4, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 90, 19)) >Derived4 : Symbol(Derived4, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 80, 1)) +>undefined : Symbol(undefined) b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : Symbol(Base.x, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 0, 12)) @@ -317,25 +342,30 @@ class Derived4 extends Derived2 { } -var b: Base; +var b: Base = undefined as any; >b : Symbol(b, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 103, 3)) >Base : Symbol(Base, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 0, 0)) +>undefined : Symbol(undefined) -var d1: Derived1; +var d1: Derived1 = undefined as any; >d1 : Symbol(d1, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 104, 3)) >Derived1 : Symbol(Derived1, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 19, 1)) +>undefined : Symbol(undefined) -var d2: Derived2; +var d2: Derived2 = undefined as any; >d2 : Symbol(d2, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 105, 3)) >Derived2 : Symbol(Derived2, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 39, 1)) +>undefined : Symbol(undefined) -var d3: Derived3; +var d3: Derived3 = undefined as any; >d3 : Symbol(d3, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 106, 3)) >Derived3 : Symbol(Derived3, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 59, 1)) +>undefined : Symbol(undefined) -var d4: Derived4; +var d4: Derived4 = undefined as any; >d4 : Symbol(d4, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 107, 3)) >Derived4 : Symbol(Derived4, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 80, 1)) +>undefined : Symbol(undefined) b.x; // Error, neither within their declaring class nor classes derived from their declaring class >b.x : Symbol(Base.x, Decl(protectedClassPropertyAccessibleWithinNestedSubclass1.ts, 0, 12)) diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.types b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.types index 3077571ba7b89..4d4a372edb34d 100644 --- a/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.types +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinNestedSubclass1.types @@ -5,7 +5,7 @@ class Base { >Base : Base > : ^^^^ - protected x: string; + protected x!: string; >x : string > : ^^^^^^ @@ -21,25 +21,45 @@ class Base { >methoda : () => void > : ^^^^^^^^^^ - var b: Base; + var b: Base = undefined as any; >b : Base > : ^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Derived1 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Derived2 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Derived3 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Derived4 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ b.x; // OK, accessed within their declaring class >b.x : string @@ -103,25 +123,45 @@ class Derived1 extends Base { >method1b : () => void > : ^^^^^^^^^^ - var b: Base; + var b: Base = undefined as any; >b : Base > : ^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Derived1 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Derived2 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Derived3 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Derived4 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : string @@ -185,25 +225,45 @@ class Derived2 extends Base { >method2c : () => void > : ^^^^^^^^^^ - var b: Base; + var b: Base = undefined as any; >b : Base > : ^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Derived1 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Derived2 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Derived3 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Derived4 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : string @@ -255,7 +315,7 @@ class Derived3 extends Derived1 { >Derived1 : Derived1 > : ^^^^^^^^ - protected x: string; + protected x!: string; >x : string > : ^^^^^^ @@ -271,25 +331,45 @@ class Derived3 extends Derived1 { >method3d : () => void > : ^^^^^^^^^^ - var b: Base; + var b: Base = undefined as any; >b : Base > : ^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Derived1 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Derived2 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Derived3 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Derived4 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : string @@ -353,25 +433,45 @@ class Derived4 extends Derived2 { >method4e : () => void > : ^^^^^^^^^^ - var b: Base; + var b: Base = undefined as any; >b : Base > : ^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Derived1 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Derived2 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Derived3 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Derived4 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : string @@ -418,25 +518,45 @@ class Derived4 extends Derived2 { } -var b: Base; +var b: Base = undefined as any; >b : Base > : ^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ -var d1: Derived1; +var d1: Derived1 = undefined as any; >d1 : Derived1 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ -var d2: Derived2; +var d2: Derived2 = undefined as any; >d2 : Derived2 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ -var d3: Derived3; +var d3: Derived3 = undefined as any; >d3 : Derived3 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ -var d4: Derived4; +var d4: Derived4 = undefined as any; >d4 : Derived4 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ b.x; // Error, neither within their declaring class nor classes derived from their declaring class >b.x : string diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.errors.txt b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.errors.txt index a3379a36d4b5c..a968fec8896a3 100644 --- a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.errors.txt +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.errors.txt @@ -23,13 +23,13 @@ protectedClassPropertyAccessibleWithinSubclass2.ts(94,4): error TS2445: Property ==== protectedClassPropertyAccessibleWithinSubclass2.ts (21 errors) ==== class Base { - protected x: string; + protected x!: string; method() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // OK, accessed within their declaring class d1.x; // OK, accessed within their declaring class @@ -43,11 +43,11 @@ protectedClassPropertyAccessibleWithinSubclass2.ts(94,4): error TS2445: Property class Derived1 extends Base { method1() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class ~ @@ -67,11 +67,11 @@ protectedClassPropertyAccessibleWithinSubclass2.ts(94,4): error TS2445: Property class Derived2 extends Base { method2() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class ~ @@ -88,13 +88,13 @@ protectedClassPropertyAccessibleWithinSubclass2.ts(94,4): error TS2445: Property } class Derived3 extends Derived1 { - protected x: string; + protected x!: string; method3() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class ~ @@ -114,11 +114,11 @@ protectedClassPropertyAccessibleWithinSubclass2.ts(94,4): error TS2445: Property class Derived4 extends Derived2 { method4() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class ~ @@ -137,11 +137,11 @@ protectedClassPropertyAccessibleWithinSubclass2.ts(94,4): error TS2445: Property } - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, neither within their declaring class nor classes derived from their declaring class ~ diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.js b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.js index fe0cb7db83e42..c1be36eb3d1d7 100644 --- a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.js +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.js @@ -2,13 +2,13 @@ //// [protectedClassPropertyAccessibleWithinSubclass2.ts] class Base { - protected x: string; + protected x!: string; method() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // OK, accessed within their declaring class d1.x; // OK, accessed within their declaring class @@ -20,11 +20,11 @@ class Base { class Derived1 extends Base { method1() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class @@ -36,11 +36,11 @@ class Derived1 extends Base { class Derived2 extends Base { method2() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class @@ -51,13 +51,13 @@ class Derived2 extends Base { } class Derived3 extends Derived1 { - protected x: string; + protected x!: string; method3() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class @@ -69,11 +69,11 @@ class Derived3 extends Derived1 { class Derived4 extends Derived2 { method4() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class @@ -84,11 +84,11 @@ class Derived4 extends Derived2 { } -var b: Base; -var d1: Derived1; -var d2: Derived2; -var d3: Derived3; -var d4: Derived4; +var b: Base = undefined as any; +var d1: Derived1 = undefined as any; +var d2: Derived2 = undefined as any; +var d3: Derived3 = undefined as any; +var d4: Derived4 = undefined as any; b.x; // Error, neither within their declaring class nor classes derived from their declaring class d1.x; // Error, neither within their declaring class nor classes derived from their declaring class @@ -116,11 +116,11 @@ var Base = /** @class */ (function () { function Base() { } Base.prototype.method = function () { - var b; - var d1; - var d2; - var d3; - var d4; + var b = undefined; + var d1 = undefined; + var d2 = undefined; + var d3 = undefined; + var d4 = undefined; b.x; // OK, accessed within their declaring class d1.x; // OK, accessed within their declaring class d2.x; // OK, accessed within their declaring class @@ -135,11 +135,11 @@ var Derived1 = /** @class */ (function (_super) { return _super !== null && _super.apply(this, arguments) || this; } Derived1.prototype.method1 = function () { - var b; - var d1; - var d2; - var d3; - var d4; + var b = undefined; + var d1 = undefined; + var d2 = undefined; + var d3 = undefined; + var d4 = undefined; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class d2.x; // Error, isn't accessed through an instance of the enclosing class @@ -154,11 +154,11 @@ var Derived2 = /** @class */ (function (_super) { return _super !== null && _super.apply(this, arguments) || this; } Derived2.prototype.method2 = function () { - var b; - var d1; - var d2; - var d3; - var d4; + var b = undefined; + var d1 = undefined; + var d2 = undefined; + var d3 = undefined; + var d4 = undefined; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class d2.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class @@ -173,11 +173,11 @@ var Derived3 = /** @class */ (function (_super) { return _super !== null && _super.apply(this, arguments) || this; } Derived3.prototype.method3 = function () { - var b; - var d1; - var d2; - var d3; - var d4; + var b = undefined; + var d1 = undefined; + var d2 = undefined; + var d3 = undefined; + var d4 = undefined; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class d2.x; // Error, isn't accessed through an instance of the enclosing class @@ -192,11 +192,11 @@ var Derived4 = /** @class */ (function (_super) { return _super !== null && _super.apply(this, arguments) || this; } Derived4.prototype.method4 = function () { - var b; - var d1; - var d2; - var d3; - var d4; + var b = undefined; + var d1 = undefined; + var d2 = undefined; + var d3 = undefined; + var d4 = undefined; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class d2.x; // Error, isn't accessed through an instance of the enclosing class @@ -205,11 +205,11 @@ var Derived4 = /** @class */ (function (_super) { }; return Derived4; }(Derived2)); -var b; -var d1; -var d2; -var d3; -var d4; +var b = undefined; +var d1 = undefined; +var d2 = undefined; +var d3 = undefined; +var d4 = undefined; b.x; // Error, neither within their declaring class nor classes derived from their declaring class d1.x; // Error, neither within their declaring class nor classes derived from their declaring class d2.x; // Error, neither within their declaring class nor classes derived from their declaring class diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.symbols b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.symbols index 37fe52e62f63f..04cbf53815981 100644 --- a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.symbols +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.symbols @@ -4,31 +4,36 @@ class Base { >Base : Symbol(Base, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 0, 0)) - protected x: string; + protected x!: string; >x : Symbol(Base.x, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 0, 12)) method() { ->method : Symbol(Base.method, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 1, 24)) +>method : Symbol(Base.method, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 1, 25)) - var b: Base; + var b: Base = undefined as any; >b : Symbol(b, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 3, 11)) >Base : Symbol(Base, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 0, 0)) +>undefined : Symbol(undefined) - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Symbol(d1, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 4, 11)) >Derived1 : Symbol(Derived1, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 15, 1)) +>undefined : Symbol(undefined) - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Symbol(d2, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 5, 11)) >Derived2 : Symbol(Derived2, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 31, 1)) +>undefined : Symbol(undefined) - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Symbol(d3, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 6, 11)) >Derived3 : Symbol(Derived3, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 47, 1)) +>undefined : Symbol(undefined) - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Symbol(d4, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 7, 11)) >Derived4 : Symbol(Derived4, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 64, 1)) +>undefined : Symbol(undefined) b.x; // OK, accessed within their declaring class >b.x : Symbol(Base.x, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 0, 12)) @@ -64,25 +69,30 @@ class Derived1 extends Base { method1() { >method1 : Symbol(Derived1.method1, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 17, 29)) - var b: Base; + var b: Base = undefined as any; >b : Symbol(b, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 19, 11)) >Base : Symbol(Base, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 0, 0)) +>undefined : Symbol(undefined) - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Symbol(d1, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 20, 11)) >Derived1 : Symbol(Derived1, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 15, 1)) +>undefined : Symbol(undefined) - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Symbol(d2, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 21, 11)) >Derived2 : Symbol(Derived2, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 31, 1)) +>undefined : Symbol(undefined) - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Symbol(d3, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 22, 11)) >Derived3 : Symbol(Derived3, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 47, 1)) +>undefined : Symbol(undefined) - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Symbol(d4, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 23, 11)) >Derived4 : Symbol(Derived4, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 64, 1)) +>undefined : Symbol(undefined) b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : Symbol(Base.x, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 0, 12)) @@ -118,25 +128,30 @@ class Derived2 extends Base { method2() { >method2 : Symbol(Derived2.method2, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 33, 29)) - var b: Base; + var b: Base = undefined as any; >b : Symbol(b, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 35, 11)) >Base : Symbol(Base, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 0, 0)) +>undefined : Symbol(undefined) - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Symbol(d1, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 36, 11)) >Derived1 : Symbol(Derived1, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 15, 1)) +>undefined : Symbol(undefined) - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Symbol(d2, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 37, 11)) >Derived2 : Symbol(Derived2, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 31, 1)) +>undefined : Symbol(undefined) - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Symbol(d3, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 38, 11)) >Derived3 : Symbol(Derived3, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 47, 1)) +>undefined : Symbol(undefined) - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Symbol(d4, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 39, 11)) >Derived4 : Symbol(Derived4, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 64, 1)) +>undefined : Symbol(undefined) b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : Symbol(Base.x, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 0, 12)) @@ -169,31 +184,36 @@ class Derived3 extends Derived1 { >Derived3 : Symbol(Derived3, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 47, 1)) >Derived1 : Symbol(Derived1, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 15, 1)) - protected x: string; + protected x!: string; >x : Symbol(Derived3.x, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 49, 33)) method3() { ->method3 : Symbol(Derived3.method3, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 50, 24)) +>method3 : Symbol(Derived3.method3, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 50, 25)) - var b: Base; + var b: Base = undefined as any; >b : Symbol(b, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 52, 11)) >Base : Symbol(Base, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 0, 0)) +>undefined : Symbol(undefined) - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Symbol(d1, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 53, 11)) >Derived1 : Symbol(Derived1, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 15, 1)) +>undefined : Symbol(undefined) - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Symbol(d2, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 54, 11)) >Derived2 : Symbol(Derived2, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 31, 1)) +>undefined : Symbol(undefined) - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Symbol(d3, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 55, 11)) >Derived3 : Symbol(Derived3, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 47, 1)) +>undefined : Symbol(undefined) - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Symbol(d4, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 56, 11)) >Derived4 : Symbol(Derived4, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 64, 1)) +>undefined : Symbol(undefined) b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : Symbol(Base.x, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 0, 12)) @@ -229,25 +249,30 @@ class Derived4 extends Derived2 { method4() { >method4 : Symbol(Derived4.method4, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 66, 33)) - var b: Base; + var b: Base = undefined as any; >b : Symbol(b, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 68, 11)) >Base : Symbol(Base, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 0, 0)) +>undefined : Symbol(undefined) - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Symbol(d1, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 69, 11)) >Derived1 : Symbol(Derived1, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 15, 1)) +>undefined : Symbol(undefined) - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Symbol(d2, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 70, 11)) >Derived2 : Symbol(Derived2, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 31, 1)) +>undefined : Symbol(undefined) - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Symbol(d3, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 71, 11)) >Derived3 : Symbol(Derived3, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 47, 1)) +>undefined : Symbol(undefined) - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Symbol(d4, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 72, 11)) >Derived4 : Symbol(Derived4, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 64, 1)) +>undefined : Symbol(undefined) b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : Symbol(Base.x, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 0, 12)) @@ -277,25 +302,30 @@ class Derived4 extends Derived2 { } -var b: Base; +var b: Base = undefined as any; >b : Symbol(b, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 83, 3)) >Base : Symbol(Base, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 0, 0)) +>undefined : Symbol(undefined) -var d1: Derived1; +var d1: Derived1 = undefined as any; >d1 : Symbol(d1, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 84, 3)) >Derived1 : Symbol(Derived1, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 15, 1)) +>undefined : Symbol(undefined) -var d2: Derived2; +var d2: Derived2 = undefined as any; >d2 : Symbol(d2, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 85, 3)) >Derived2 : Symbol(Derived2, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 31, 1)) +>undefined : Symbol(undefined) -var d3: Derived3; +var d3: Derived3 = undefined as any; >d3 : Symbol(d3, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 86, 3)) >Derived3 : Symbol(Derived3, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 47, 1)) +>undefined : Symbol(undefined) -var d4: Derived4; +var d4: Derived4 = undefined as any; >d4 : Symbol(d4, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 87, 3)) >Derived4 : Symbol(Derived4, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 64, 1)) +>undefined : Symbol(undefined) b.x; // Error, neither within their declaring class nor classes derived from their declaring class >b.x : Symbol(Base.x, Decl(protectedClassPropertyAccessibleWithinSubclass2.ts, 0, 12)) diff --git a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.types b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.types index a12bc76e2cda5..a16c42195766f 100644 --- a/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.types +++ b/tests/baselines/reference/protectedClassPropertyAccessibleWithinSubclass2.types @@ -5,7 +5,7 @@ class Base { >Base : Base > : ^^^^ - protected x: string; + protected x!: string; >x : string > : ^^^^^^ @@ -13,25 +13,45 @@ class Base { >method : () => void > : ^^^^^^^^^^ - var b: Base; + var b: Base = undefined as any; >b : Base > : ^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Derived1 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Derived2 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Derived3 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Derived4 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ b.x; // OK, accessed within their declaring class >b.x : string @@ -85,25 +105,45 @@ class Derived1 extends Base { >method1 : () => void > : ^^^^^^^^^^ - var b: Base; + var b: Base = undefined as any; >b : Base > : ^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Derived1 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Derived2 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Derived3 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Derived4 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : string @@ -157,25 +197,45 @@ class Derived2 extends Base { >method2 : () => void > : ^^^^^^^^^^ - var b: Base; + var b: Base = undefined as any; >b : Base > : ^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Derived1 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Derived2 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Derived3 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Derived4 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : string @@ -225,7 +285,7 @@ class Derived3 extends Derived1 { >Derived1 : Derived1 > : ^^^^^^^^ - protected x: string; + protected x!: string; >x : string > : ^^^^^^ @@ -233,25 +293,45 @@ class Derived3 extends Derived1 { >method3 : () => void > : ^^^^^^^^^^ - var b: Base; + var b: Base = undefined as any; >b : Base > : ^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Derived1 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Derived2 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Derived3 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Derived4 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : string @@ -305,25 +385,45 @@ class Derived4 extends Derived2 { >method4 : () => void > : ^^^^^^^^^^ - var b: Base; + var b: Base = undefined as any; >b : Base > : ^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d1: Derived1; + var d1: Derived1 = undefined as any; >d1 : Derived1 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d2: Derived2; + var d2: Derived2 = undefined as any; >d2 : Derived2 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d3: Derived3; + var d3: Derived3 = undefined as any; >d3 : Derived3 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ - var d4: Derived4; + var d4: Derived4 = undefined as any; >d4 : Derived4 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ b.x; // Error, isn't accessed through an instance of the enclosing class >b.x : string @@ -368,25 +468,45 @@ class Derived4 extends Derived2 { } -var b: Base; +var b: Base = undefined as any; >b : Base > : ^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ -var d1: Derived1; +var d1: Derived1 = undefined as any; >d1 : Derived1 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ -var d2: Derived2; +var d2: Derived2 = undefined as any; >d2 : Derived2 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ -var d3: Derived3; +var d3: Derived3 = undefined as any; >d3 : Derived3 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ -var d4: Derived4; +var d4: Derived4 = undefined as any; >d4 : Derived4 > : ^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ b.x; // Error, neither within their declaring class nor classes derived from their declaring class >b.x : string diff --git a/tests/baselines/reference/protectedInstanceMemberAccessibility.errors.txt b/tests/baselines/reference/protectedInstanceMemberAccessibility.errors.txt index 4afd3abfa9b07..cd156c346a917 100644 --- a/tests/baselines/reference/protectedInstanceMemberAccessibility.errors.txt +++ b/tests/baselines/reference/protectedInstanceMemberAccessibility.errors.txt @@ -15,14 +15,14 @@ protectedInstanceMemberAccessibility.ts(37,20): error TS2445: Property 'z' is pr ==== protectedInstanceMemberAccessibility.ts (13 errors) ==== class A { - protected x: string; + protected x!: string; protected f(): string { return "hello"; } } class B extends A { - protected y: string; + protected y!: string; g() { var t1 = this.x; var t2 = this.f(); @@ -42,7 +42,7 @@ protectedInstanceMemberAccessibility.ts(37,20): error TS2445: Property 'z' is pr ~ !!! error TS2339: Property 'z' does not exist on type 'A'. - var a: A; + var a: A = undefined as any; var a1 = a.x; // error ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'B'. This is an instance of class 'A'. @@ -56,7 +56,7 @@ protectedInstanceMemberAccessibility.ts(37,20): error TS2445: Property 'z' is pr ~ !!! error TS2339: Property 'z' does not exist on type 'A'. - var b: B; + var b: B = undefined as any; var b1 = b.x; var b2 = b.f(); var b3 = b.y; @@ -64,7 +64,7 @@ protectedInstanceMemberAccessibility.ts(37,20): error TS2445: Property 'z' is pr ~ !!! error TS2339: Property 'z' does not exist on type 'B'. - var c: C; + var c: C = undefined as any; var c1 = c.x; // error ~ !!! error TS2446: Property 'x' is protected and only accessible through an instance of class 'B'. This is an instance of class 'C'. @@ -81,6 +81,6 @@ protectedInstanceMemberAccessibility.ts(37,20): error TS2445: Property 'z' is pr } class C extends A { - protected z: string; + protected z!: string; } \ No newline at end of file diff --git a/tests/baselines/reference/protectedInstanceMemberAccessibility.js b/tests/baselines/reference/protectedInstanceMemberAccessibility.js index 88e94acf42785..6306972a76f16 100644 --- a/tests/baselines/reference/protectedInstanceMemberAccessibility.js +++ b/tests/baselines/reference/protectedInstanceMemberAccessibility.js @@ -2,14 +2,14 @@ //// [protectedInstanceMemberAccessibility.ts] class A { - protected x: string; + protected x!: string; protected f(): string { return "hello"; } } class B extends A { - protected y: string; + protected y!: string; g() { var t1 = this.x; var t2 = this.f(); @@ -21,19 +21,19 @@ class B extends A { var s3 = super.y; // error var s4 = super.z; // error - var a: A; + var a: A = undefined as any; var a1 = a.x; // error var a2 = a.f(); // error var a3 = a.y; // error var a4 = a.z; // error - var b: B; + var b: B = undefined as any; var b1 = b.x; var b2 = b.f(); var b3 = b.y; var b4 = b.z; // error - var c: C; + var c: C = undefined as any; var c1 = c.x; // error var c2 = c.f(); // error var c3 = c.y; // error @@ -42,7 +42,7 @@ class B extends A { } class C extends A { - protected z: string; + protected z!: string; } @@ -84,17 +84,17 @@ var B = /** @class */ (function (_super) { var s2 = _super.prototype.f.call(this); var s3 = _super.prototype.y; // error var s4 = _super.prototype.z; // error - var a; + var a = undefined; var a1 = a.x; // error var a2 = a.f(); // error var a3 = a.y; // error var a4 = a.z; // error - var b; + var b = undefined; var b1 = b.x; var b2 = b.f(); var b3 = b.y; var b4 = b.z; // error - var c; + var c = undefined; var c1 = c.x; // error var c2 = c.f(); // error var c3 = c.y; // error diff --git a/tests/baselines/reference/protectedInstanceMemberAccessibility.symbols b/tests/baselines/reference/protectedInstanceMemberAccessibility.symbols index bce0eb9e57df4..20b6677d09d9b 100644 --- a/tests/baselines/reference/protectedInstanceMemberAccessibility.symbols +++ b/tests/baselines/reference/protectedInstanceMemberAccessibility.symbols @@ -4,11 +4,11 @@ class A { >A : Symbol(A, Decl(protectedInstanceMemberAccessibility.ts, 0, 0)) - protected x: string; + protected x!: string; >x : Symbol(A.x, Decl(protectedInstanceMemberAccessibility.ts, 0, 9)) protected f(): string { ->f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 24)) +>f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 25)) return "hello"; } @@ -18,11 +18,11 @@ class B extends A { >B : Symbol(B, Decl(protectedInstanceMemberAccessibility.ts, 5, 1)) >A : Symbol(A, Decl(protectedInstanceMemberAccessibility.ts, 0, 0)) - protected y: string; + protected y!: string; >y : Symbol(B.y, Decl(protectedInstanceMemberAccessibility.ts, 7, 19)) g() { ->g : Symbol(B.g, Decl(protectedInstanceMemberAccessibility.ts, 8, 24)) +>g : Symbol(B.g, Decl(protectedInstanceMemberAccessibility.ts, 8, 25)) var t1 = this.x; >t1 : Symbol(t1, Decl(protectedInstanceMemberAccessibility.ts, 10, 11)) @@ -32,9 +32,9 @@ class B extends A { var t2 = this.f(); >t2 : Symbol(t2, Decl(protectedInstanceMemberAccessibility.ts, 11, 11)) ->this.f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 24)) +>this.f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 25)) >this : Symbol(B, Decl(protectedInstanceMemberAccessibility.ts, 5, 1)) ->f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 24)) +>f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 25)) var t3 = this.y; >t3 : Symbol(t3, Decl(protectedInstanceMemberAccessibility.ts, 12, 11)) @@ -54,9 +54,9 @@ class B extends A { var s2 = super.f(); >s2 : Symbol(s2, Decl(protectedInstanceMemberAccessibility.ts, 16, 11)) ->super.f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 24)) +>super.f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 25)) >super : Symbol(A, Decl(protectedInstanceMemberAccessibility.ts, 0, 0)) ->f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 24)) +>f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 25)) var s3 = super.y; // error >s3 : Symbol(s3, Decl(protectedInstanceMemberAccessibility.ts, 17, 11)) @@ -66,9 +66,10 @@ class B extends A { >s4 : Symbol(s4, Decl(protectedInstanceMemberAccessibility.ts, 18, 11)) >super : Symbol(A, Decl(protectedInstanceMemberAccessibility.ts, 0, 0)) - var a: A; + var a: A = undefined as any; >a : Symbol(a, Decl(protectedInstanceMemberAccessibility.ts, 20, 11)) >A : Symbol(A, Decl(protectedInstanceMemberAccessibility.ts, 0, 0)) +>undefined : Symbol(undefined) var a1 = a.x; // error >a1 : Symbol(a1, Decl(protectedInstanceMemberAccessibility.ts, 21, 11)) @@ -78,9 +79,9 @@ class B extends A { var a2 = a.f(); // error >a2 : Symbol(a2, Decl(protectedInstanceMemberAccessibility.ts, 22, 11)) ->a.f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 24)) +>a.f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 25)) >a : Symbol(a, Decl(protectedInstanceMemberAccessibility.ts, 20, 11)) ->f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 24)) +>f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 25)) var a3 = a.y; // error >a3 : Symbol(a3, Decl(protectedInstanceMemberAccessibility.ts, 23, 11)) @@ -90,9 +91,10 @@ class B extends A { >a4 : Symbol(a4, Decl(protectedInstanceMemberAccessibility.ts, 24, 11)) >a : Symbol(a, Decl(protectedInstanceMemberAccessibility.ts, 20, 11)) - var b: B; + var b: B = undefined as any; >b : Symbol(b, Decl(protectedInstanceMemberAccessibility.ts, 26, 11)) >B : Symbol(B, Decl(protectedInstanceMemberAccessibility.ts, 5, 1)) +>undefined : Symbol(undefined) var b1 = b.x; >b1 : Symbol(b1, Decl(protectedInstanceMemberAccessibility.ts, 27, 11)) @@ -102,9 +104,9 @@ class B extends A { var b2 = b.f(); >b2 : Symbol(b2, Decl(protectedInstanceMemberAccessibility.ts, 28, 11)) ->b.f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 24)) +>b.f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 25)) >b : Symbol(b, Decl(protectedInstanceMemberAccessibility.ts, 26, 11)) ->f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 24)) +>f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 25)) var b3 = b.y; >b3 : Symbol(b3, Decl(protectedInstanceMemberAccessibility.ts, 29, 11)) @@ -116,9 +118,10 @@ class B extends A { >b4 : Symbol(b4, Decl(protectedInstanceMemberAccessibility.ts, 30, 11)) >b : Symbol(b, Decl(protectedInstanceMemberAccessibility.ts, 26, 11)) - var c: C; + var c: C = undefined as any; >c : Symbol(c, Decl(protectedInstanceMemberAccessibility.ts, 32, 11)) >C : Symbol(C, Decl(protectedInstanceMemberAccessibility.ts, 38, 1)) +>undefined : Symbol(undefined) var c1 = c.x; // error >c1 : Symbol(c1, Decl(protectedInstanceMemberAccessibility.ts, 33, 11)) @@ -128,9 +131,9 @@ class B extends A { var c2 = c.f(); // error >c2 : Symbol(c2, Decl(protectedInstanceMemberAccessibility.ts, 34, 11)) ->c.f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 24)) +>c.f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 25)) >c : Symbol(c, Decl(protectedInstanceMemberAccessibility.ts, 32, 11)) ->f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 24)) +>f : Symbol(A.f, Decl(protectedInstanceMemberAccessibility.ts, 1, 25)) var c3 = c.y; // error >c3 : Symbol(c3, Decl(protectedInstanceMemberAccessibility.ts, 35, 11)) @@ -148,7 +151,7 @@ class C extends A { >C : Symbol(C, Decl(protectedInstanceMemberAccessibility.ts, 38, 1)) >A : Symbol(A, Decl(protectedInstanceMemberAccessibility.ts, 0, 0)) - protected z: string; + protected z!: string; >z : Symbol(C.z, Decl(protectedInstanceMemberAccessibility.ts, 40, 19)) } diff --git a/tests/baselines/reference/protectedInstanceMemberAccessibility.types b/tests/baselines/reference/protectedInstanceMemberAccessibility.types index 90b3aae30efa3..c7a260d018dc6 100644 --- a/tests/baselines/reference/protectedInstanceMemberAccessibility.types +++ b/tests/baselines/reference/protectedInstanceMemberAccessibility.types @@ -5,7 +5,7 @@ class A { >A : A > : ^ - protected x: string; + protected x!: string; >x : string > : ^^^^^^ @@ -25,7 +25,7 @@ class B extends A { >A : A > : ^ - protected y: string; + protected y!: string; >y : string > : ^^^^^^ @@ -117,9 +117,13 @@ class B extends A { >z : any > : ^^^ - var a: A; + var a: A = undefined as any; >a : A > : ^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ var a1 = a.x; // error >a1 : string @@ -163,9 +167,13 @@ class B extends A { >z : any > : ^^^ - var b: B; + var b: B = undefined as any; >b : B > : ^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ var b1 = b.x; >b1 : string @@ -209,9 +217,13 @@ class B extends A { >z : any > : ^^^ - var c: C; + var c: C = undefined as any; >c : C > : ^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ var c1 = c.x; // error >c1 : string @@ -263,7 +275,7 @@ class C extends A { >A : A > : ^ - protected z: string; + protected z!: string; >z : string > : ^^^^^^ } diff --git a/tests/baselines/reference/protectedMembers.errors.txt b/tests/baselines/reference/protectedMembers.errors.txt index 0c56276d9199b..fcada609a6a01 100644 --- a/tests/baselines/reference/protectedMembers.errors.txt +++ b/tests/baselines/reference/protectedMembers.errors.txt @@ -19,7 +19,7 @@ protectedMembers.ts(111,7): error TS2415: Class 'B3' incorrectly extends base cl ==== protectedMembers.ts (13 errors) ==== // Class with protected members class C1 { - protected x: number; + protected x!: number; protected static sx: number; protected f() { return this.x; @@ -41,8 +41,8 @@ protectedMembers.ts(111,7): error TS2415: Class 'B3' incorrectly extends base cl // Derived class making protected members public class C3 extends C2 { - x: number; - static sx: number; + x!: number; + static sx: number f() { return super.f(); } @@ -51,9 +51,9 @@ protectedMembers.ts(111,7): error TS2415: Class 'B3' incorrectly extends base cl } } - var c1: C1; - var c2: C2; - var c3: C3; + declare var c1: C1; + declare var c2: C2; + declare var c3: C3; // All of these should be errors c1.x; @@ -131,8 +131,8 @@ protectedMembers.ts(111,7): error TS2415: Class 'B3' incorrectly extends base cl class B1 { x; } - var a1: A1; - var b1: B1; + declare var a1: A1; + declare var b1: B1; a1 = b1; // Error, B1 doesn't derive from A1 ~~ !!! error TS2322: Type 'B1' is not assignable to type 'A1'. diff --git a/tests/baselines/reference/protectedMembers.js b/tests/baselines/reference/protectedMembers.js index b46e400e2747f..30ecf1d59d8dd 100644 --- a/tests/baselines/reference/protectedMembers.js +++ b/tests/baselines/reference/protectedMembers.js @@ -3,7 +3,7 @@ //// [protectedMembers.ts] // Class with protected members class C1 { - protected x: number; + protected x!: number; protected static sx: number; protected f() { return this.x; @@ -25,8 +25,8 @@ class C2 extends C1 { // Derived class making protected members public class C3 extends C2 { - x: number; - static sx: number; + x!: number; + static sx: number f() { return super.f(); } @@ -35,9 +35,9 @@ class C3 extends C2 { } } -var c1: C1; -var c2: C2; -var c3: C3; +declare var c1: C1; +declare var c2: C2; +declare var c3: C3; // All of these should be errors c1.x; @@ -95,8 +95,8 @@ class A1 { class B1 { x; } -var a1: A1; -var b1: B1; +declare var a1: A1; +declare var b1: B1; a1 = b1; // Error, B1 doesn't derive from A1 b1 = a1; // Error, x is protected in A1 but public in B1 @@ -173,9 +173,6 @@ var C3 = /** @class */ (function (_super) { }; return C3; }(C2)); -var c1; -var c2; -var c3; // All of these should be errors c1.x; c1.f(); @@ -239,8 +236,6 @@ var B1 = /** @class */ (function () { } return B1; }()); -var a1; -var b1; a1 = b1; // Error, B1 doesn't derive from A1 b1 = a1; // Error, x is protected in A1 but public in B1 var A2 = /** @class */ (function () { diff --git a/tests/baselines/reference/protectedMembers.symbols b/tests/baselines/reference/protectedMembers.symbols index 3173452bce693..581d7afafad0f 100644 --- a/tests/baselines/reference/protectedMembers.symbols +++ b/tests/baselines/reference/protectedMembers.symbols @@ -5,11 +5,11 @@ class C1 { >C1 : Symbol(C1, Decl(protectedMembers.ts, 0, 0)) - protected x: number; + protected x!: number; >x : Symbol(C1.x, Decl(protectedMembers.ts, 1, 10)) protected static sx: number; ->sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 24)) +>sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 25)) protected f() { >f : Symbol(C1.f, Decl(protectedMembers.ts, 3, 32)) @@ -23,9 +23,9 @@ class C1 { >sf : Symbol(C1.sf, Decl(protectedMembers.ts, 6, 5)) return this.sx; ->this.sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 24)) +>this.sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 25)) >this : Symbol(C1, Decl(protectedMembers.ts, 0, 0)) ->sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 24)) +>sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 25)) } } @@ -52,9 +52,9 @@ class C2 extends C1 { >super.sf : Symbol(C1.sf, Decl(protectedMembers.ts, 6, 5)) >super : Symbol(C1, Decl(protectedMembers.ts, 0, 0)) >sf : Symbol(C1.sf, Decl(protectedMembers.ts, 6, 5)) ->this.sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 24)) +>this.sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 25)) >this : Symbol(C2, Decl(protectedMembers.ts, 10, 1)) ->sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 24)) +>sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 25)) } } @@ -63,14 +63,14 @@ class C3 extends C2 { >C3 : Symbol(C3, Decl(protectedMembers.ts, 20, 1)) >C2 : Symbol(C2, Decl(protectedMembers.ts, 10, 1)) - x: number; + x!: number; >x : Symbol(C3.x, Decl(protectedMembers.ts, 23, 21)) - static sx: number; ->sx : Symbol(C3.sx, Decl(protectedMembers.ts, 24, 14)) + static sx: number +>sx : Symbol(C3.sx, Decl(protectedMembers.ts, 24, 15)) f() { ->f : Symbol(C3.f, Decl(protectedMembers.ts, 25, 22)) +>f : Symbol(C3.f, Decl(protectedMembers.ts, 25, 21)) return super.f(); >super.f : Symbol(C2.f, Decl(protectedMembers.ts, 13, 21)) @@ -87,33 +87,33 @@ class C3 extends C2 { } } -var c1: C1; ->c1 : Symbol(c1, Decl(protectedMembers.ts, 34, 3)) +declare var c1: C1; +>c1 : Symbol(c1, Decl(protectedMembers.ts, 34, 11)) >C1 : Symbol(C1, Decl(protectedMembers.ts, 0, 0)) -var c2: C2; ->c2 : Symbol(c2, Decl(protectedMembers.ts, 35, 3)) +declare var c2: C2; +>c2 : Symbol(c2, Decl(protectedMembers.ts, 35, 11)) >C2 : Symbol(C2, Decl(protectedMembers.ts, 10, 1)) -var c3: C3; ->c3 : Symbol(c3, Decl(protectedMembers.ts, 36, 3)) +declare var c3: C3; +>c3 : Symbol(c3, Decl(protectedMembers.ts, 36, 11)) >C3 : Symbol(C3, Decl(protectedMembers.ts, 20, 1)) // All of these should be errors c1.x; >c1.x : Symbol(C1.x, Decl(protectedMembers.ts, 1, 10)) ->c1 : Symbol(c1, Decl(protectedMembers.ts, 34, 3)) +>c1 : Symbol(c1, Decl(protectedMembers.ts, 34, 11)) >x : Symbol(C1.x, Decl(protectedMembers.ts, 1, 10)) c1.f(); >c1.f : Symbol(C1.f, Decl(protectedMembers.ts, 3, 32)) ->c1 : Symbol(c1, Decl(protectedMembers.ts, 34, 3)) +>c1 : Symbol(c1, Decl(protectedMembers.ts, 34, 11)) >f : Symbol(C1.f, Decl(protectedMembers.ts, 3, 32)) C1.sx; ->C1.sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 24)) +>C1.sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 25)) >C1 : Symbol(C1, Decl(protectedMembers.ts, 0, 0)) ->sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 24)) +>sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 25)) C1.sf(); >C1.sf : Symbol(C1.sf, Decl(protectedMembers.ts, 6, 5)) @@ -123,18 +123,18 @@ C1.sf(); // All of these should be errors c2.x; >c2.x : Symbol(C1.x, Decl(protectedMembers.ts, 1, 10)) ->c2 : Symbol(c2, Decl(protectedMembers.ts, 35, 3)) +>c2 : Symbol(c2, Decl(protectedMembers.ts, 35, 11)) >x : Symbol(C1.x, Decl(protectedMembers.ts, 1, 10)) c2.f(); >c2.f : Symbol(C2.f, Decl(protectedMembers.ts, 13, 21)) ->c2 : Symbol(c2, Decl(protectedMembers.ts, 35, 3)) +>c2 : Symbol(c2, Decl(protectedMembers.ts, 35, 11)) >f : Symbol(C2.f, Decl(protectedMembers.ts, 13, 21)) C2.sx; ->C2.sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 24)) +>C2.sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 25)) >C2 : Symbol(C2, Decl(protectedMembers.ts, 10, 1)) ->sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 24)) +>sx : Symbol(C1.sx, Decl(protectedMembers.ts, 2, 25)) C2.sf(); >C2.sf : Symbol(C2.sf, Decl(protectedMembers.ts, 16, 5)) @@ -144,18 +144,18 @@ C2.sf(); // All of these should be ok c3.x; >c3.x : Symbol(C3.x, Decl(protectedMembers.ts, 23, 21)) ->c3 : Symbol(c3, Decl(protectedMembers.ts, 36, 3)) +>c3 : Symbol(c3, Decl(protectedMembers.ts, 36, 11)) >x : Symbol(C3.x, Decl(protectedMembers.ts, 23, 21)) c3.f(); ->c3.f : Symbol(C3.f, Decl(protectedMembers.ts, 25, 22)) ->c3 : Symbol(c3, Decl(protectedMembers.ts, 36, 3)) ->f : Symbol(C3.f, Decl(protectedMembers.ts, 25, 22)) +>c3.f : Symbol(C3.f, Decl(protectedMembers.ts, 25, 21)) +>c3 : Symbol(c3, Decl(protectedMembers.ts, 36, 11)) +>f : Symbol(C3.f, Decl(protectedMembers.ts, 25, 21)) C3.sx; ->C3.sx : Symbol(C3.sx, Decl(protectedMembers.ts, 24, 14)) +>C3.sx : Symbol(C3.sx, Decl(protectedMembers.ts, 24, 15)) >C3 : Symbol(C3, Decl(protectedMembers.ts, 20, 1)) ->sx : Symbol(C3.sx, Decl(protectedMembers.ts, 24, 14)) +>sx : Symbol(C3.sx, Decl(protectedMembers.ts, 24, 15)) C3.sf(); >C3.sf : Symbol(C3.sf, Decl(protectedMembers.ts, 28, 5)) @@ -259,21 +259,21 @@ class B1 { x; >x : Symbol(B1.x, Decl(protectedMembers.ts, 91, 10)) } -var a1: A1; ->a1 : Symbol(a1, Decl(protectedMembers.ts, 94, 3)) +declare var a1: A1; +>a1 : Symbol(a1, Decl(protectedMembers.ts, 94, 11)) >A1 : Symbol(A1, Decl(protectedMembers.ts, 86, 1)) -var b1: B1; ->b1 : Symbol(b1, Decl(protectedMembers.ts, 95, 3)) +declare var b1: B1; +>b1 : Symbol(b1, Decl(protectedMembers.ts, 95, 11)) >B1 : Symbol(B1, Decl(protectedMembers.ts, 90, 1)) a1 = b1; // Error, B1 doesn't derive from A1 ->a1 : Symbol(a1, Decl(protectedMembers.ts, 94, 3)) ->b1 : Symbol(b1, Decl(protectedMembers.ts, 95, 3)) +>a1 : Symbol(a1, Decl(protectedMembers.ts, 94, 11)) +>b1 : Symbol(b1, Decl(protectedMembers.ts, 95, 11)) b1 = a1; // Error, x is protected in A1 but public in B1 ->b1 : Symbol(b1, Decl(protectedMembers.ts, 95, 3)) ->a1 : Symbol(a1, Decl(protectedMembers.ts, 94, 3)) +>b1 : Symbol(b1, Decl(protectedMembers.ts, 95, 11)) +>a1 : Symbol(a1, Decl(protectedMembers.ts, 94, 11)) class A2 { >A2 : Symbol(A2, Decl(protectedMembers.ts, 97, 8)) diff --git a/tests/baselines/reference/protectedMembers.types b/tests/baselines/reference/protectedMembers.types index 371782c0d2c1a..7732d79875641 100644 --- a/tests/baselines/reference/protectedMembers.types +++ b/tests/baselines/reference/protectedMembers.types @@ -6,7 +6,7 @@ class C1 { >C1 : C1 > : ^^ - protected x: number; + protected x!: number; >x : number > : ^^^^^^ @@ -100,11 +100,11 @@ class C3 extends C2 { >C2 : C2 > : ^^ - x: number; + x!: number; >x : number > : ^^^^^^ - static sx: number; + static sx: number >sx : number > : ^^^^^^ @@ -138,15 +138,15 @@ class C3 extends C2 { } } -var c1: C1; +declare var c1: C1; >c1 : C1 > : ^^ -var c2: C2; +declare var c2: C2; >c2 : C2 > : ^^ -var c3: C3; +declare var c3: C3; >c3 : C3 > : ^^ @@ -408,11 +408,11 @@ class B1 { >x : any > : ^^^ } -var a1: A1; +declare var a1: A1; >a1 : A1 > : ^^ -var b1: B1; +declare var b1: B1; >b1 : B1 > : ^^ diff --git a/tests/baselines/reference/prototypePropertyAssignmentMergeAcrossFiles2.errors.txt b/tests/baselines/reference/prototypePropertyAssignmentMergeAcrossFiles2.errors.txt index 6a32b80aa3585..066cb84549db8 100644 --- a/tests/baselines/reference/prototypePropertyAssignmentMergeAcrossFiles2.errors.txt +++ b/tests/baselines/reference/prototypePropertyAssignmentMergeAcrossFiles2.errors.txt @@ -17,14 +17,14 @@ other.js(10,5): error TS2339: Property 'wat' does not exist on type 'Two'. /** * @type {Ns.One} */ - var one; + var one = undefined; one.wat; ~~~ !!! error TS2339: Property 'wat' does not exist on type 'One'. /** * @type {Ns.Two} */ - var two; + var two = undefined; two.wat; ~~~ !!! error TS2339: Property 'wat' does not exist on type 'Two'. diff --git a/tests/baselines/reference/prototypePropertyAssignmentMergeAcrossFiles2.symbols b/tests/baselines/reference/prototypePropertyAssignmentMergeAcrossFiles2.symbols index 9e7f500e97b5b..85767b6fb44b7 100644 --- a/tests/baselines/reference/prototypePropertyAssignmentMergeAcrossFiles2.symbols +++ b/tests/baselines/reference/prototypePropertyAssignmentMergeAcrossFiles2.symbols @@ -37,8 +37,9 @@ Ns.Two.prototype = { /** * @type {Ns.One} */ -var one; +var one = undefined; >one : Symbol(one, Decl(other.js, 3, 3)) +>undefined : Symbol(undefined) one.wat; >one : Symbol(one, Decl(other.js, 3, 3)) @@ -46,8 +47,9 @@ one.wat; /** * @type {Ns.Two} */ -var two; +var two = undefined; >two : Symbol(two, Decl(other.js, 8, 3)) +>undefined : Symbol(undefined) two.wat; >two : Symbol(two, Decl(other.js, 8, 3)) diff --git a/tests/baselines/reference/prototypePropertyAssignmentMergeAcrossFiles2.types b/tests/baselines/reference/prototypePropertyAssignmentMergeAcrossFiles2.types index f4ec12eab9efb..20cb59511f378 100644 --- a/tests/baselines/reference/prototypePropertyAssignmentMergeAcrossFiles2.types +++ b/tests/baselines/reference/prototypePropertyAssignmentMergeAcrossFiles2.types @@ -73,9 +73,11 @@ Ns.Two.prototype = { /** * @type {Ns.One} */ -var one; +var one = undefined; >one : One > : ^^^ +>undefined : undefined +> : ^^^^^^^^^ one.wat; >one.wat : any @@ -88,9 +90,11 @@ one.wat; /** * @type {Ns.Two} */ -var two; +var two = undefined; >two : Two > : ^^^ +>undefined : undefined +> : ^^^^^^^^^ two.wat; >two.wat : any diff --git a/tests/baselines/reference/qualify.errors.txt b/tests/baselines/reference/qualify.errors.txt index d3ab0a3258308..07eb3813f2181 100644 --- a/tests/baselines/reference/qualify.errors.txt +++ b/tests/baselines/reference/qualify.errors.txt @@ -58,7 +58,7 @@ qualify.ts(58,5): error TS2741: Property 'p' is missing in type 'I' but required export interface I4 { z; } - var v1:I4; + var v1:I4 = undefined as any; var v2:K1.I3=v1; ~~ !!! error TS2741: Property 'zeep' is missing in type 'I4' but required in type 'I3'. @@ -85,7 +85,7 @@ qualify.ts(58,5): error TS2741: Property 'p' is missing in type 'I' but required k; } - var y:I; + var y:I = undefined as any; var x:T.I=y; ~ !!! error TS2741: Property 'p' is missing in type 'I' but required in type 'T.I'. diff --git a/tests/baselines/reference/qualify.js b/tests/baselines/reference/qualify.js index 8b9c2249b1f13..ac4d781b88f43 100644 --- a/tests/baselines/reference/qualify.js +++ b/tests/baselines/reference/qualify.js @@ -44,7 +44,7 @@ namespace Everest { export interface I4 { z; } - var v1:I4; + var v1:I4 = undefined as any; var v2:K1.I3=v1; var v3:K1.I3[]=v1; var v4:()=>K1.I3=v1; @@ -57,7 +57,7 @@ interface I { k; } -var y:I; +var y:I = undefined as any; var x:T.I=y; @@ -96,7 +96,7 @@ var Everest; (function (Everest) { var K2; (function (K2) { - var v1; + var v1 = undefined; var v2 = v1; var v3 = v1; var v4 = v1; @@ -104,5 +104,5 @@ var Everest; var v6 = v1; })(K2 = Everest.K2 || (Everest.K2 = {})); })(Everest || (Everest = {})); -var y; +var y = undefined; var x = y; diff --git a/tests/baselines/reference/qualify.symbols b/tests/baselines/reference/qualify.symbols index 078425a3152d4..181d9d9af9539 100644 --- a/tests/baselines/reference/qualify.symbols +++ b/tests/baselines/reference/qualify.symbols @@ -94,9 +94,10 @@ namespace Everest { z; >z : Symbol(I4.z, Decl(qualify.ts, 40, 29)) } - var v1:I4; + var v1:I4 = undefined as any; >v1 : Symbol(v1, Decl(qualify.ts, 43, 11)) >I4 : Symbol(I4, Decl(qualify.ts, 39, 25)) +>undefined : Symbol(undefined) var v2:K1.I3=v1; >v2 : Symbol(v2, Decl(qualify.ts, 44, 11)) @@ -139,9 +140,10 @@ interface I { >k : Symbol(I.k, Decl(qualify.ts, 52, 13)) } -var y:I; +var y:I = undefined as any; >y : Symbol(y, Decl(qualify.ts, 56, 3)) >I : Symbol(I, Decl(qualify.ts, 50, 1)) +>undefined : Symbol(undefined) var x:T.I=y; >x : Symbol(x, Decl(qualify.ts, 57, 3)) diff --git a/tests/baselines/reference/qualify.types b/tests/baselines/reference/qualify.types index 4e4198308e632..6ea8ae639994c 100644 --- a/tests/baselines/reference/qualify.types +++ b/tests/baselines/reference/qualify.types @@ -117,9 +117,13 @@ namespace Everest { >z : any > : ^^^ } - var v1:I4; + var v1:I4 = undefined as any; >v1 : I4 > : ^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ var v2:K1.I3=v1; >v2 : K1.I3 @@ -173,9 +177,13 @@ interface I { > : ^^^ } -var y:I; +var y:I = undefined as any; >y : I > : ^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ var x:T.I=y; >x : T.I diff --git a/tests/baselines/reference/readonlyMembers.errors.txt b/tests/baselines/reference/readonlyMembers.errors.txt index c3ac0ac353e01..4d1793bda4fd2 100644 --- a/tests/baselines/reference/readonlyMembers.errors.txt +++ b/tests/baselines/reference/readonlyMembers.errors.txt @@ -108,13 +108,13 @@ readonlyMembers.ts(69,1): error TS2542: Index signature in type '{ readonly [x: N.b = 1; N.c = 1; - let xx: { readonly [x: string]: string }; + declare let xx: { readonly [x: string]: string }; let s = xx["foo"]; xx["foo"] = "abc"; // Error ~~~~~~~~~ !!! error TS2542: Index signature in type '{ readonly [x: string]: string; }' only permits reading. - let yy: { readonly [x: number]: string, [x: string]: string }; + declare let yy: { readonly [x: number]: string, [x: string]: string }; yy[1] = "abc"; // Error ~~~~~ !!! error TS2542: Index signature in type '{ readonly [x: number]: string; [x: string]: string; }' only permits reading. diff --git a/tests/baselines/reference/readonlyMembers.js b/tests/baselines/reference/readonlyMembers.js index d17cc430b7e35..230e235925b44 100644 --- a/tests/baselines/reference/readonlyMembers.js +++ b/tests/baselines/reference/readonlyMembers.js @@ -64,11 +64,11 @@ N.a = 1; // Error N.b = 1; N.c = 1; -let xx: { readonly [x: string]: string }; +declare let xx: { readonly [x: string]: string }; let s = xx["foo"]; xx["foo"] = "abc"; // Error -let yy: { readonly [x: number]: string, [x: string]: string }; +declare let yy: { readonly [x: number]: string, [x: string]: string }; yy[1] = "abc"; // Error yy["foo"] = "abc"; @@ -135,9 +135,7 @@ var N; N.a = 1; // Error N.b = 1; N.c = 1; -var xx; var s = xx["foo"]; xx["foo"] = "abc"; // Error -var yy; yy[1] = "abc"; // Error yy["foo"] = "abc"; diff --git a/tests/baselines/reference/readonlyMembers.symbols b/tests/baselines/reference/readonlyMembers.symbols index a7e051096527e..1b44f766817d1 100644 --- a/tests/baselines/reference/readonlyMembers.symbols +++ b/tests/baselines/reference/readonlyMembers.symbols @@ -207,25 +207,25 @@ N.c = 1; >N : Symbol(N, Decl(readonlyMembers.ts, 52, 8)) >c : Symbol(N.c, Decl(readonlyMembers.ts, 57, 14)) -let xx: { readonly [x: string]: string }; ->xx : Symbol(xx, Decl(readonlyMembers.ts, 63, 3)) ->x : Symbol(x, Decl(readonlyMembers.ts, 63, 20)) +declare let xx: { readonly [x: string]: string }; +>xx : Symbol(xx, Decl(readonlyMembers.ts, 63, 11)) +>x : Symbol(x, Decl(readonlyMembers.ts, 63, 28)) let s = xx["foo"]; >s : Symbol(s, Decl(readonlyMembers.ts, 64, 3)) ->xx : Symbol(xx, Decl(readonlyMembers.ts, 63, 3)) +>xx : Symbol(xx, Decl(readonlyMembers.ts, 63, 11)) xx["foo"] = "abc"; // Error ->xx : Symbol(xx, Decl(readonlyMembers.ts, 63, 3)) +>xx : Symbol(xx, Decl(readonlyMembers.ts, 63, 11)) -let yy: { readonly [x: number]: string, [x: string]: string }; ->yy : Symbol(yy, Decl(readonlyMembers.ts, 67, 3)) ->x : Symbol(x, Decl(readonlyMembers.ts, 67, 20)) ->x : Symbol(x, Decl(readonlyMembers.ts, 67, 41)) +declare let yy: { readonly [x: number]: string, [x: string]: string }; +>yy : Symbol(yy, Decl(readonlyMembers.ts, 67, 11)) +>x : Symbol(x, Decl(readonlyMembers.ts, 67, 28)) +>x : Symbol(x, Decl(readonlyMembers.ts, 67, 49)) yy[1] = "abc"; // Error ->yy : Symbol(yy, Decl(readonlyMembers.ts, 67, 3)) +>yy : Symbol(yy, Decl(readonlyMembers.ts, 67, 11)) yy["foo"] = "abc"; ->yy : Symbol(yy, Decl(readonlyMembers.ts, 67, 3)) +>yy : Symbol(yy, Decl(readonlyMembers.ts, 67, 11)) diff --git a/tests/baselines/reference/readonlyMembers.types b/tests/baselines/reference/readonlyMembers.types index 852ed3e69251c..de4e18aa81f4b 100644 --- a/tests/baselines/reference/readonlyMembers.types +++ b/tests/baselines/reference/readonlyMembers.types @@ -439,7 +439,7 @@ N.c = 1; >1 : 1 > : ^ -let xx: { readonly [x: string]: string }; +declare let xx: { readonly [x: string]: string }; >xx : { readonly [x: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string @@ -467,7 +467,7 @@ xx["foo"] = "abc"; // Error >"abc" : "abc" > : ^^^^^ -let yy: { readonly [x: number]: string, [x: string]: string }; +declare let yy: { readonly [x: number]: string, [x: string]: string }; >yy : { readonly [x: number]: string; [x: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/restElementWithInitializer1.errors.txt b/tests/baselines/reference/restElementWithInitializer1.errors.txt index 4926f338202da..b26e68e6631c6 100644 --- a/tests/baselines/reference/restElementWithInitializer1.errors.txt +++ b/tests/baselines/reference/restElementWithInitializer1.errors.txt @@ -2,7 +2,7 @@ restElementWithInitializer1.ts(2,11): error TS1186: A rest element cannot have a ==== restElementWithInitializer1.ts (1 errors) ==== - var a: number[]; + declare var a: number[]; var [...x = a] = a; // Error, rest element cannot have initializer ~ !!! error TS1186: A rest element cannot have an initializer. diff --git a/tests/baselines/reference/restElementWithInitializer1.js b/tests/baselines/reference/restElementWithInitializer1.js index e93bb91d4616f..90dc3b2a5ae05 100644 --- a/tests/baselines/reference/restElementWithInitializer1.js +++ b/tests/baselines/reference/restElementWithInitializer1.js @@ -1,10 +1,9 @@ //// [tests/cases/conformance/es6/destructuring/restElementWithInitializer1.ts] //// //// [restElementWithInitializer1.ts] -var a: number[]; +declare var a: number[]; var [...x = a] = a; // Error, rest element cannot have initializer //// [restElementWithInitializer1.js] -var a; var _a = a.slice(0), x = _a === void 0 ? a : _a; // Error, rest element cannot have initializer diff --git a/tests/baselines/reference/restElementWithInitializer1.symbols b/tests/baselines/reference/restElementWithInitializer1.symbols index de186d89e1847..ddca98823cd11 100644 --- a/tests/baselines/reference/restElementWithInitializer1.symbols +++ b/tests/baselines/reference/restElementWithInitializer1.symbols @@ -1,11 +1,11 @@ //// [tests/cases/conformance/es6/destructuring/restElementWithInitializer1.ts] //// === restElementWithInitializer1.ts === -var a: number[]; ->a : Symbol(a, Decl(restElementWithInitializer1.ts, 0, 3)) +declare var a: number[]; +>a : Symbol(a, Decl(restElementWithInitializer1.ts, 0, 11)) var [...x = a] = a; // Error, rest element cannot have initializer >x : Symbol(x, Decl(restElementWithInitializer1.ts, 1, 5)) ->a : Symbol(a, Decl(restElementWithInitializer1.ts, 0, 3)) ->a : Symbol(a, Decl(restElementWithInitializer1.ts, 0, 3)) +>a : Symbol(a, Decl(restElementWithInitializer1.ts, 0, 11)) +>a : Symbol(a, Decl(restElementWithInitializer1.ts, 0, 11)) diff --git a/tests/baselines/reference/restElementWithInitializer1.types b/tests/baselines/reference/restElementWithInitializer1.types index 91818a4f926da..c0581528c7d18 100644 --- a/tests/baselines/reference/restElementWithInitializer1.types +++ b/tests/baselines/reference/restElementWithInitializer1.types @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/destructuring/restElementWithInitializer1.ts] //// === restElementWithInitializer1.ts === -var a: number[]; +declare var a: number[]; >a : number[] > : ^^^^^^^^ diff --git a/tests/baselines/reference/restElementWithInitializer2.errors.txt b/tests/baselines/reference/restElementWithInitializer2.errors.txt index 83fbdea3dcb7e..ccd69cd7e1307 100644 --- a/tests/baselines/reference/restElementWithInitializer2.errors.txt +++ b/tests/baselines/reference/restElementWithInitializer2.errors.txt @@ -2,7 +2,7 @@ restElementWithInitializer2.ts(3,7): error TS1186: A rest element cannot have an ==== restElementWithInitializer2.ts (1 errors) ==== - var a: number[]; + declare var a: number[]; var x: number[]; [...x = a] = a; // Error, rest element cannot have initializer ~ diff --git a/tests/baselines/reference/restElementWithInitializer2.js b/tests/baselines/reference/restElementWithInitializer2.js index 08c74a201e493..04fdd63627d70 100644 --- a/tests/baselines/reference/restElementWithInitializer2.js +++ b/tests/baselines/reference/restElementWithInitializer2.js @@ -1,13 +1,12 @@ //// [tests/cases/conformance/es6/destructuring/restElementWithInitializer2.ts] //// //// [restElementWithInitializer2.ts] -var a: number[]; +declare var a: number[]; var x: number[]; [...x = a] = a; // Error, rest element cannot have initializer //// [restElementWithInitializer2.js] var _a; -var a; var x; _a = a.slice(0), x = _a === void 0 ? a : _a; // Error, rest element cannot have initializer diff --git a/tests/baselines/reference/restElementWithInitializer2.symbols b/tests/baselines/reference/restElementWithInitializer2.symbols index 45d4875ba3277..91a8bf2ed6ffb 100644 --- a/tests/baselines/reference/restElementWithInitializer2.symbols +++ b/tests/baselines/reference/restElementWithInitializer2.symbols @@ -1,14 +1,14 @@ //// [tests/cases/conformance/es6/destructuring/restElementWithInitializer2.ts] //// === restElementWithInitializer2.ts === -var a: number[]; ->a : Symbol(a, Decl(restElementWithInitializer2.ts, 0, 3)) +declare var a: number[]; +>a : Symbol(a, Decl(restElementWithInitializer2.ts, 0, 11)) var x: number[]; >x : Symbol(x, Decl(restElementWithInitializer2.ts, 1, 3)) [...x = a] = a; // Error, rest element cannot have initializer >x : Symbol(x, Decl(restElementWithInitializer2.ts, 1, 3)) ->a : Symbol(a, Decl(restElementWithInitializer2.ts, 0, 3)) ->a : Symbol(a, Decl(restElementWithInitializer2.ts, 0, 3)) +>a : Symbol(a, Decl(restElementWithInitializer2.ts, 0, 11)) +>a : Symbol(a, Decl(restElementWithInitializer2.ts, 0, 11)) diff --git a/tests/baselines/reference/restElementWithInitializer2.types b/tests/baselines/reference/restElementWithInitializer2.types index d1aa46984e472..20637a40da56b 100644 --- a/tests/baselines/reference/restElementWithInitializer2.types +++ b/tests/baselines/reference/restElementWithInitializer2.types @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/destructuring/restElementWithInitializer2.ts] //// === restElementWithInitializer2.ts === -var a: number[]; +declare var a: number[]; >a : number[] > : ^^^^^^^^ diff --git a/tests/baselines/reference/restInvalidArgumentType.errors.txt b/tests/baselines/reference/restInvalidArgumentType.errors.txt index 9f6f76fcffc8a..ca70ceb7ebb50 100644 --- a/tests/baselines/reference/restInvalidArgumentType.errors.txt +++ b/tests/baselines/reference/restInvalidArgumentType.errors.txt @@ -15,28 +15,28 @@ restInvalidArgumentType.ts(53,13): error TS2700: Rest types may only be created enum E { v1, v2 }; function f(p1: T, p2: T[]) { - var t: T; + var t!: T; - var i: T["b"]; - var k: keyof T; + var i!: T["b"]; + var k!: keyof T; - var mapped_generic: {[P in keyof T]: T[P]}; - var mapped: {[P in "b"]: T[P]}; + var mapped_generic!: {[P in keyof T]: T[P]}; + var mapped!: {[P in "b"]: T[P]}; - var union_generic: T | { a: number }; - var union_primitive: { a: number } | number; - var intersection_generic: T & { a: number }; - var intersection_primitive: { a: number } & string; - var num: number; - var str: string; - var literal_string: "string"; - var literal_number: 42; + var union_generic!: T | { a: number }; + var union_primitive!: { a: number } | number; + var intersection_generic!: T & { a: number }; + var intersection_primitive!: { a: number } & string; + var num!: number; + var str!: string; + var literal_string: "string" = "string"; + var literal_number: 42 = 42; var e: E; - var u: undefined; - var n: null; + var u: undefined = undefined; + var n: null = null; - var a: any; + var a: any = 0; var {...r1} = p1; // Error, generic type paramterre var {...r2} = p2; // OK diff --git a/tests/baselines/reference/restInvalidArgumentType.js b/tests/baselines/reference/restInvalidArgumentType.js index 2254315815fe3..c8ec563936439 100644 --- a/tests/baselines/reference/restInvalidArgumentType.js +++ b/tests/baselines/reference/restInvalidArgumentType.js @@ -4,28 +4,28 @@ enum E { v1, v2 }; function f(p1: T, p2: T[]) { - var t: T; + var t!: T; - var i: T["b"]; - var k: keyof T; + var i!: T["b"]; + var k!: keyof T; - var mapped_generic: {[P in keyof T]: T[P]}; - var mapped: {[P in "b"]: T[P]}; + var mapped_generic!: {[P in keyof T]: T[P]}; + var mapped!: {[P in "b"]: T[P]}; - var union_generic: T | { a: number }; - var union_primitive: { a: number } | number; - var intersection_generic: T & { a: number }; - var intersection_primitive: { a: number } & string; - var num: number; - var str: string; - var literal_string: "string"; - var literal_number: 42; + var union_generic!: T | { a: number }; + var union_primitive!: { a: number } | number; + var intersection_generic!: T & { a: number }; + var intersection_primitive!: { a: number } & string; + var num!: number; + var str!: string; + var literal_string: "string" = "string"; + var literal_number: 42 = 42; var e: E; - var u: undefined; - var n: null; + var u: undefined = undefined; + var n: null = null; - var a: any; + var a: any = 0; var {...r1} = p1; // Error, generic type paramterre var {...r2} = p2; // OK @@ -87,12 +87,12 @@ function f(p1, p2) { var intersection_primitive; var num; var str; - var literal_string; - var literal_number; + var literal_string = "string"; + var literal_number = 42; var e; - var u; - var n; - var a; + var u = undefined; + var n = null; + var a = 0; var r1 = __rest(p1, []); // Error, generic type paramterre var r2 = __rest(p2, []); // OK var r3 = __rest(t, []); // Error, generic type paramter diff --git a/tests/baselines/reference/restInvalidArgumentType.symbols b/tests/baselines/reference/restInvalidArgumentType.symbols index 2bcc58e42db58..30087943effbe 100644 --- a/tests/baselines/reference/restInvalidArgumentType.symbols +++ b/tests/baselines/reference/restInvalidArgumentType.symbols @@ -15,72 +15,73 @@ function f(p1: T, p2: T[]) { >p2 : Symbol(p2, Decl(restInvalidArgumentType.ts, 2, 42)) >T : Symbol(T, Decl(restInvalidArgumentType.ts, 2, 11)) - var t: T; + var t!: T; >t : Symbol(t, Decl(restInvalidArgumentType.ts, 3, 7)) >T : Symbol(T, Decl(restInvalidArgumentType.ts, 2, 11)) - var i: T["b"]; + var i!: T["b"]; >i : Symbol(i, Decl(restInvalidArgumentType.ts, 5, 7)) >T : Symbol(T, Decl(restInvalidArgumentType.ts, 2, 11)) - var k: keyof T; + var k!: keyof T; >k : Symbol(k, Decl(restInvalidArgumentType.ts, 6, 7)) >T : Symbol(T, Decl(restInvalidArgumentType.ts, 2, 11)) - var mapped_generic: {[P in keyof T]: T[P]}; + var mapped_generic!: {[P in keyof T]: T[P]}; >mapped_generic : Symbol(mapped_generic, Decl(restInvalidArgumentType.ts, 8, 7)) ->P : Symbol(P, Decl(restInvalidArgumentType.ts, 8, 26)) +>P : Symbol(P, Decl(restInvalidArgumentType.ts, 8, 27)) >T : Symbol(T, Decl(restInvalidArgumentType.ts, 2, 11)) >T : Symbol(T, Decl(restInvalidArgumentType.ts, 2, 11)) ->P : Symbol(P, Decl(restInvalidArgumentType.ts, 8, 26)) +>P : Symbol(P, Decl(restInvalidArgumentType.ts, 8, 27)) - var mapped: {[P in "b"]: T[P]}; + var mapped!: {[P in "b"]: T[P]}; >mapped : Symbol(mapped, Decl(restInvalidArgumentType.ts, 9, 7)) ->P : Symbol(P, Decl(restInvalidArgumentType.ts, 9, 18)) +>P : Symbol(P, Decl(restInvalidArgumentType.ts, 9, 19)) >T : Symbol(T, Decl(restInvalidArgumentType.ts, 2, 11)) ->P : Symbol(P, Decl(restInvalidArgumentType.ts, 9, 18)) +>P : Symbol(P, Decl(restInvalidArgumentType.ts, 9, 19)) - var union_generic: T | { a: number }; + var union_generic!: T | { a: number }; >union_generic : Symbol(union_generic, Decl(restInvalidArgumentType.ts, 11, 7)) >T : Symbol(T, Decl(restInvalidArgumentType.ts, 2, 11)) ->a : Symbol(a, Decl(restInvalidArgumentType.ts, 11, 28)) +>a : Symbol(a, Decl(restInvalidArgumentType.ts, 11, 29)) - var union_primitive: { a: number } | number; + var union_primitive!: { a: number } | number; >union_primitive : Symbol(union_primitive, Decl(restInvalidArgumentType.ts, 12, 7)) ->a : Symbol(a, Decl(restInvalidArgumentType.ts, 12, 26)) +>a : Symbol(a, Decl(restInvalidArgumentType.ts, 12, 27)) - var intersection_generic: T & { a: number }; + var intersection_generic!: T & { a: number }; >intersection_generic : Symbol(intersection_generic, Decl(restInvalidArgumentType.ts, 13, 7)) >T : Symbol(T, Decl(restInvalidArgumentType.ts, 2, 11)) ->a : Symbol(a, Decl(restInvalidArgumentType.ts, 13, 35)) +>a : Symbol(a, Decl(restInvalidArgumentType.ts, 13, 36)) - var intersection_primitive: { a: number } & string; + var intersection_primitive!: { a: number } & string; >intersection_primitive : Symbol(intersection_primitive, Decl(restInvalidArgumentType.ts, 14, 7)) ->a : Symbol(a, Decl(restInvalidArgumentType.ts, 14, 33)) +>a : Symbol(a, Decl(restInvalidArgumentType.ts, 14, 34)) - var num: number; + var num!: number; >num : Symbol(num, Decl(restInvalidArgumentType.ts, 15, 7)) - var str: string; + var str!: string; >str : Symbol(str, Decl(restInvalidArgumentType.ts, 16, 7)) - var literal_string: "string"; + var literal_string: "string" = "string"; >literal_string : Symbol(literal_string, Decl(restInvalidArgumentType.ts, 17, 7)) - var literal_number: 42; + var literal_number: 42 = 42; >literal_number : Symbol(literal_number, Decl(restInvalidArgumentType.ts, 18, 7)) var e: E; >e : Symbol(e, Decl(restInvalidArgumentType.ts, 19, 7)) >E : Symbol(E, Decl(restInvalidArgumentType.ts, 0, 0)) - var u: undefined; + var u: undefined = undefined; >u : Symbol(u, Decl(restInvalidArgumentType.ts, 21, 7)) +>undefined : Symbol(undefined) - var n: null; + var n: null = null; >n : Symbol(n, Decl(restInvalidArgumentType.ts, 22, 7)) - var a: any; + var a: any = 0; >a : Symbol(a, Decl(restInvalidArgumentType.ts, 24, 7)) var {...r1} = p1; // Error, generic type paramterre diff --git a/tests/baselines/reference/restInvalidArgumentType.types b/tests/baselines/reference/restInvalidArgumentType.types index 74c23b3e0f1d5..c0d89447670a7 100644 --- a/tests/baselines/reference/restInvalidArgumentType.types +++ b/tests/baselines/reference/restInvalidArgumentType.types @@ -19,81 +19,89 @@ function f(p1: T, p2: T[]) { >p2 : T[] > : ^^^ - var t: T; + var t!: T; >t : T > : ^ - var i: T["b"]; + var i!: T["b"]; >i : T["b"] > : ^^^^^^ - var k: keyof T; + var k!: keyof T; >k : keyof T > : ^^^^^^^ - var mapped_generic: {[P in keyof T]: T[P]}; + var mapped_generic!: {[P in keyof T]: T[P]}; >mapped_generic : { [P in keyof T]: T[P]; } > : ^^^ ^^^^^^^^^^^^^^^^^^^^^ - var mapped: {[P in "b"]: T[P]}; + var mapped!: {[P in "b"]: T[P]}; >mapped : { b: T["b"]; } > : ^^^^^^^^^^^^^^ - var union_generic: T | { a: number }; + var union_generic!: T | { a: number }; >union_generic : T | { a: number; } > : ^^^^^^^^^ ^^^ >a : number > : ^^^^^^ - var union_primitive: { a: number } | number; + var union_primitive!: { a: number } | number; >union_primitive : number | { a: number; } > : ^^^^^^^^^^^^^^ ^^^ >a : number > : ^^^^^^ - var intersection_generic: T & { a: number }; + var intersection_generic!: T & { a: number }; >intersection_generic : T & { a: number; } > : ^^^^^^^^^ ^^^ >a : number > : ^^^^^^ - var intersection_primitive: { a: number } & string; + var intersection_primitive!: { a: number } & string; >intersection_primitive : { a: number; } & string > : ^^^^^ ^^^^^^^^^^^^ >a : number > : ^^^^^^ - var num: number; + var num!: number; >num : number > : ^^^^^^ - var str: string; + var str!: string; >str : string > : ^^^^^^ - var literal_string: "string"; + var literal_string: "string" = "string"; >literal_string : "string" > : ^^^^^^^^ +>"string" : "string" +> : ^^^^^^^^ - var literal_number: 42; + var literal_number: 42 = 42; >literal_number : 42 > : ^^ +>42 : 42 +> : ^^ var e: E; >e : E > : ^ - var u: undefined; + var u: undefined = undefined; >u : undefined > : ^^^^^^^^^ +>undefined : undefined +> : ^^^^^^^^^ - var n: null; + var n: null = null; >n : null > : ^^^^ - var a: any; + var a: any = 0; >a : any > : ^^^ +>0 : 0 +> : ^ var {...r1} = p1; // Error, generic type paramterre >r1 : T diff --git a/tests/baselines/reference/scopeResolutionIdentifiers.errors.txt b/tests/baselines/reference/scopeResolutionIdentifiers.errors.txt deleted file mode 100644 index eb24d90ea53ed..0000000000000 --- a/tests/baselines/reference/scopeResolutionIdentifiers.errors.txt +++ /dev/null @@ -1,45 +0,0 @@ -scopeResolutionIdentifiers.ts(24,14): error TS2729: Property 's' is used before its initialization. - - -==== scopeResolutionIdentifiers.ts (1 errors) ==== - // EveryType used in a nested scope of a different EveryType with the same name, type of the identifier is the one defined in the inner scope - - var s: string; - namespace M1 { - export var s: number; - var n = s; - var n: number; - } - - namespace M2 { - var s: number; - var n = s; - var n: number; - } - - function fn() { - var s: boolean; - var n = s; - var n: boolean; - } - - class C { - s: Date; - n = this.s; - ~ -!!! error TS2729: Property 's' is used before its initialization. -!!! related TS2728 scopeResolutionIdentifiers.ts:23:5: 's' is declared here. - x() { - var p = this.n; - var p: Date; - } - } - - namespace M3 { - var s: any; - namespace M4 { - var n = s; - var n: any; - } - } - \ No newline at end of file diff --git a/tests/baselines/reference/scopeResolutionIdentifiers.js b/tests/baselines/reference/scopeResolutionIdentifiers.js index 477e84ced134f..fff1f3ba20217 100644 --- a/tests/baselines/reference/scopeResolutionIdentifiers.js +++ b/tests/baselines/reference/scopeResolutionIdentifiers.js @@ -5,25 +5,25 @@ var s: string; namespace M1 { - export var s: number; + export var s: number = 0; var n = s; var n: number; } namespace M2 { - var s: number; + var s: number = 0; var n = s; var n: number; } function fn() { - var s: boolean; + var s: boolean = false; var n = s; var n: boolean; } class C { - s: Date; + s!: Date; n = this.s; x() { var p = this.n; @@ -45,17 +45,18 @@ namespace M3 { var s; var M1; (function (M1) { + M1.s = 0; var n = M1.s; var n; })(M1 || (M1 = {})); var M2; (function (M2) { - var s; + var s = 0; var n = s; var n; })(M2 || (M2 = {})); function fn() { - var s; + var s = false; var n = s; var n; } diff --git a/tests/baselines/reference/scopeResolutionIdentifiers.symbols b/tests/baselines/reference/scopeResolutionIdentifiers.symbols index b1f1bd9f52e9c..d534b39cd2236 100644 --- a/tests/baselines/reference/scopeResolutionIdentifiers.symbols +++ b/tests/baselines/reference/scopeResolutionIdentifiers.symbols @@ -9,7 +9,7 @@ var s: string; namespace M1 { >M1 : Symbol(M1, Decl(scopeResolutionIdentifiers.ts, 2, 14)) - export var s: number; + export var s: number = 0; >s : Symbol(s, Decl(scopeResolutionIdentifiers.ts, 4, 14)) var n = s; @@ -23,7 +23,7 @@ namespace M1 { namespace M2 { >M2 : Symbol(M2, Decl(scopeResolutionIdentifiers.ts, 7, 1)) - var s: number; + var s: number = 0; >s : Symbol(s, Decl(scopeResolutionIdentifiers.ts, 10, 7)) var n = s; @@ -37,7 +37,7 @@ namespace M2 { function fn() { >fn : Symbol(fn, Decl(scopeResolutionIdentifiers.ts, 13, 1)) - var s: boolean; + var s: boolean = false; >s : Symbol(s, Decl(scopeResolutionIdentifiers.ts, 16, 7)) var n = s; @@ -51,12 +51,12 @@ function fn() { class C { >C : Symbol(C, Decl(scopeResolutionIdentifiers.ts, 19, 1)) - s: Date; + s!: Date; >s : Symbol(C.s, Decl(scopeResolutionIdentifiers.ts, 21, 9)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) n = this.s; ->n : Symbol(C.n, Decl(scopeResolutionIdentifiers.ts, 22, 12)) +>n : Symbol(C.n, Decl(scopeResolutionIdentifiers.ts, 22, 13)) >this.s : Symbol(C.s, Decl(scopeResolutionIdentifiers.ts, 21, 9)) >this : Symbol(C, Decl(scopeResolutionIdentifiers.ts, 19, 1)) >s : Symbol(C.s, Decl(scopeResolutionIdentifiers.ts, 21, 9)) @@ -66,9 +66,9 @@ class C { var p = this.n; >p : Symbol(p, Decl(scopeResolutionIdentifiers.ts, 25, 11), Decl(scopeResolutionIdentifiers.ts, 26, 11)) ->this.n : Symbol(C.n, Decl(scopeResolutionIdentifiers.ts, 22, 12)) +>this.n : Symbol(C.n, Decl(scopeResolutionIdentifiers.ts, 22, 13)) >this : Symbol(C, Decl(scopeResolutionIdentifiers.ts, 19, 1)) ->n : Symbol(C.n, Decl(scopeResolutionIdentifiers.ts, 22, 12)) +>n : Symbol(C.n, Decl(scopeResolutionIdentifiers.ts, 22, 13)) var p: Date; >p : Symbol(p, Decl(scopeResolutionIdentifiers.ts, 25, 11), Decl(scopeResolutionIdentifiers.ts, 26, 11)) diff --git a/tests/baselines/reference/scopeResolutionIdentifiers.types b/tests/baselines/reference/scopeResolutionIdentifiers.types index 6e147efb1ec8c..3147149caf260 100644 --- a/tests/baselines/reference/scopeResolutionIdentifiers.types +++ b/tests/baselines/reference/scopeResolutionIdentifiers.types @@ -11,9 +11,11 @@ namespace M1 { >M1 : typeof M1 > : ^^^^^^^^^ - export var s: number; + export var s: number = 0; >s : number > : ^^^^^^ +>0 : 0 +> : ^ var n = s; >n : number @@ -30,9 +32,11 @@ namespace M2 { >M2 : typeof M2 > : ^^^^^^^^^ - var s: number; + var s: number = 0; >s : number > : ^^^^^^ +>0 : 0 +> : ^ var n = s; >n : number @@ -49,15 +53,17 @@ function fn() { >fn : () => void > : ^^^^^^^^^^ - var s: boolean; + var s: boolean = false; >s : boolean > : ^^^^^^^ +>false : false +> : ^^^^^ var n = s; >n : boolean > : ^^^^^^^ ->s : boolean -> : ^^^^^^^ +>s : false +> : ^^^^^ var n: boolean; >n : boolean @@ -68,7 +74,7 @@ class C { >C : C > : ^ - s: Date; + s!: Date; >s : Date > : ^^^^ @@ -108,7 +114,6 @@ namespace M3 { var s: any; >s : any -> : ^^^ namespace M4 { >M4 : typeof M4 @@ -116,13 +121,10 @@ namespace M3 { var n = s; >n : any -> : ^^^ >s : any -> : ^^^ var n: any; >n : any -> : ^^^ } } diff --git a/tests/baselines/reference/spreadInvalidArgumentType.errors.txt b/tests/baselines/reference/spreadInvalidArgumentType.errors.txt index e6d971fd6fc01..a134c8d1a012d 100644 --- a/tests/baselines/reference/spreadInvalidArgumentType.errors.txt +++ b/tests/baselines/reference/spreadInvalidArgumentType.errors.txt @@ -1,45 +1,44 @@ +spreadInvalidArgumentType.ts(32,16): error TS2698: Spread types may only be created from object types. spreadInvalidArgumentType.ts(33,16): error TS2698: Spread types may only be created from object types. -spreadInvalidArgumentType.ts(34,16): error TS2698: Spread types may only be created from object types. -spreadInvalidArgumentType.ts(39,16): error TS2698: Spread types may only be created from object types. -spreadInvalidArgumentType.ts(42,17): error TS2698: Spread types may only be created from object types. +spreadInvalidArgumentType.ts(38,16): error TS2698: Spread types may only be created from object types. +spreadInvalidArgumentType.ts(41,17): error TS2698: Spread types may only be created from object types. +spreadInvalidArgumentType.ts(43,17): error TS2698: Spread types may only be created from object types. spreadInvalidArgumentType.ts(44,17): error TS2698: Spread types may only be created from object types. -spreadInvalidArgumentType.ts(45,17): error TS2698: Spread types may only be created from object types. +spreadInvalidArgumentType.ts(46,17): error TS2698: Spread types may only be created from object types. spreadInvalidArgumentType.ts(47,17): error TS2698: Spread types may only be created from object types. -spreadInvalidArgumentType.ts(48,17): error TS2698: Spread types may only be created from object types. +spreadInvalidArgumentType.ts(51,17): error TS2698: Spread types may only be created from object types. spreadInvalidArgumentType.ts(52,17): error TS2698: Spread types may only be created from object types. -spreadInvalidArgumentType.ts(53,17): error TS2698: Spread types may only be created from object types. -spreadInvalidArgumentType.ts(55,17): error TS2698: Spread types may only be created from object types. +spreadInvalidArgumentType.ts(54,17): error TS2698: Spread types may only be created from object types. ==== spreadInvalidArgumentType.ts (11 errors) ==== enum E { v1, v2 }; function f(p1: T, p2: T[]) { - var t: T; + var t!: T; - var i: T["b"]; - var k: keyof T; + var i!: T["b"]; + var k!: keyof T; - var mapped_generic: {[P in keyof T]: T[P]}; - var mapped: {[P in "b"]: T[P]}; + var mapped_generic!: {[P in keyof T]: T[P]}; + var mapped!: {[P in "b"]: T[P]}; - var union_generic: T | { a: number }; - var union_primitive: { a: number } | number; + var union_generic!: T | { a: number }; + var union_primitive!: { a: number } | number; + var intersection_generic!: T & { a: number }; + var intersection_primitive!: { a: number } | string; - var intersection_generic: T & { a: number }; - var intersection_primitive: { a: number } | string; + var num!: number; + var str!: number; + var literal_string: "string" = "string"; + var literal_number: 42 = 42; - var num: number; - var str: number; - var literal_string: "string"; - var literal_number: 42; + var u: undefined = undefined; + var n: null = null; + var a: any = 0; - var u: undefined; - var n: null; - var a: any; - - var e: E; + var e!: E; var o1 = { ...p1 }; // OK, generic type paramterre var o2 = { ...p2 }; // OK diff --git a/tests/baselines/reference/spreadInvalidArgumentType.js b/tests/baselines/reference/spreadInvalidArgumentType.js index 9bb5ccfb9545b..cb176bb0f2c76 100644 --- a/tests/baselines/reference/spreadInvalidArgumentType.js +++ b/tests/baselines/reference/spreadInvalidArgumentType.js @@ -4,31 +4,30 @@ enum E { v1, v2 }; function f(p1: T, p2: T[]) { - var t: T; + var t!: T; - var i: T["b"]; - var k: keyof T; + var i!: T["b"]; + var k!: keyof T; - var mapped_generic: {[P in keyof T]: T[P]}; - var mapped: {[P in "b"]: T[P]}; + var mapped_generic!: {[P in keyof T]: T[P]}; + var mapped!: {[P in "b"]: T[P]}; - var union_generic: T | { a: number }; - var union_primitive: { a: number } | number; + var union_generic!: T | { a: number }; + var union_primitive!: { a: number } | number; + var intersection_generic!: T & { a: number }; + var intersection_primitive!: { a: number } | string; - var intersection_generic: T & { a: number }; - var intersection_primitive: { a: number } | string; + var num!: number; + var str!: number; + var literal_string: "string" = "string"; + var literal_number: 42 = 42; - var num: number; - var str: number; - var literal_string: "string"; - var literal_number: 42; + var u: undefined = undefined; + var n: null = null; + var a: any = 0; - var u: undefined; - var n: null; - var a: any; - - var e: E; + var e!: E; var o1 = { ...p1 }; // OK, generic type paramterre var o2 = { ...p2 }; // OK @@ -89,11 +88,11 @@ function f(p1, p2) { var intersection_primitive; var num; var str; - var literal_string; - var literal_number; - var u; - var n; - var a; + var literal_string = "string"; + var literal_number = 42; + var u = undefined; + var n = null; + var a = 0; var e; var o1 = __assign({}, p1); // OK, generic type paramterre var o2 = __assign({}, p2); // OK diff --git a/tests/baselines/reference/spreadInvalidArgumentType.symbols b/tests/baselines/reference/spreadInvalidArgumentType.symbols index fb3cc0fdbb997..dda678d72db2b 100644 --- a/tests/baselines/reference/spreadInvalidArgumentType.symbols +++ b/tests/baselines/reference/spreadInvalidArgumentType.symbols @@ -15,149 +15,150 @@ function f(p1: T, p2: T[]) { >p2 : Symbol(p2, Decl(spreadInvalidArgumentType.ts, 2, 42)) >T : Symbol(T, Decl(spreadInvalidArgumentType.ts, 2, 11)) - var t: T; + var t!: T; >t : Symbol(t, Decl(spreadInvalidArgumentType.ts, 3, 7)) >T : Symbol(T, Decl(spreadInvalidArgumentType.ts, 2, 11)) - var i: T["b"]; + var i!: T["b"]; >i : Symbol(i, Decl(spreadInvalidArgumentType.ts, 5, 7)) >T : Symbol(T, Decl(spreadInvalidArgumentType.ts, 2, 11)) - var k: keyof T; + var k!: keyof T; >k : Symbol(k, Decl(spreadInvalidArgumentType.ts, 6, 7)) >T : Symbol(T, Decl(spreadInvalidArgumentType.ts, 2, 11)) - var mapped_generic: {[P in keyof T]: T[P]}; + var mapped_generic!: {[P in keyof T]: T[P]}; >mapped_generic : Symbol(mapped_generic, Decl(spreadInvalidArgumentType.ts, 8, 7)) ->P : Symbol(P, Decl(spreadInvalidArgumentType.ts, 8, 26)) +>P : Symbol(P, Decl(spreadInvalidArgumentType.ts, 8, 27)) >T : Symbol(T, Decl(spreadInvalidArgumentType.ts, 2, 11)) >T : Symbol(T, Decl(spreadInvalidArgumentType.ts, 2, 11)) ->P : Symbol(P, Decl(spreadInvalidArgumentType.ts, 8, 26)) +>P : Symbol(P, Decl(spreadInvalidArgumentType.ts, 8, 27)) - var mapped: {[P in "b"]: T[P]}; + var mapped!: {[P in "b"]: T[P]}; >mapped : Symbol(mapped, Decl(spreadInvalidArgumentType.ts, 9, 7)) ->P : Symbol(P, Decl(spreadInvalidArgumentType.ts, 9, 18)) +>P : Symbol(P, Decl(spreadInvalidArgumentType.ts, 9, 19)) >T : Symbol(T, Decl(spreadInvalidArgumentType.ts, 2, 11)) ->P : Symbol(P, Decl(spreadInvalidArgumentType.ts, 9, 18)) +>P : Symbol(P, Decl(spreadInvalidArgumentType.ts, 9, 19)) - var union_generic: T | { a: number }; + var union_generic!: T | { a: number }; >union_generic : Symbol(union_generic, Decl(spreadInvalidArgumentType.ts, 11, 7)) >T : Symbol(T, Decl(spreadInvalidArgumentType.ts, 2, 11)) ->a : Symbol(a, Decl(spreadInvalidArgumentType.ts, 11, 28)) +>a : Symbol(a, Decl(spreadInvalidArgumentType.ts, 11, 29)) - var union_primitive: { a: number } | number; + var union_primitive!: { a: number } | number; >union_primitive : Symbol(union_primitive, Decl(spreadInvalidArgumentType.ts, 12, 7)) ->a : Symbol(a, Decl(spreadInvalidArgumentType.ts, 12, 26)) +>a : Symbol(a, Decl(spreadInvalidArgumentType.ts, 12, 27)) - var intersection_generic: T & { a: number }; ->intersection_generic : Symbol(intersection_generic, Decl(spreadInvalidArgumentType.ts, 14, 7)) + var intersection_generic!: T & { a: number }; +>intersection_generic : Symbol(intersection_generic, Decl(spreadInvalidArgumentType.ts, 13, 7)) >T : Symbol(T, Decl(spreadInvalidArgumentType.ts, 2, 11)) ->a : Symbol(a, Decl(spreadInvalidArgumentType.ts, 14, 35)) +>a : Symbol(a, Decl(spreadInvalidArgumentType.ts, 13, 36)) - var intersection_primitive: { a: number } | string; ->intersection_primitive : Symbol(intersection_primitive, Decl(spreadInvalidArgumentType.ts, 15, 7)) ->a : Symbol(a, Decl(spreadInvalidArgumentType.ts, 15, 33)) + var intersection_primitive!: { a: number } | string; +>intersection_primitive : Symbol(intersection_primitive, Decl(spreadInvalidArgumentType.ts, 14, 7)) +>a : Symbol(a, Decl(spreadInvalidArgumentType.ts, 14, 34)) - var num: number; ->num : Symbol(num, Decl(spreadInvalidArgumentType.ts, 17, 7)) + var num!: number; +>num : Symbol(num, Decl(spreadInvalidArgumentType.ts, 16, 7)) - var str: number; ->str : Symbol(str, Decl(spreadInvalidArgumentType.ts, 18, 7)) + var str!: number; +>str : Symbol(str, Decl(spreadInvalidArgumentType.ts, 17, 7)) - var literal_string: "string"; ->literal_string : Symbol(literal_string, Decl(spreadInvalidArgumentType.ts, 19, 7)) + var literal_string: "string" = "string"; +>literal_string : Symbol(literal_string, Decl(spreadInvalidArgumentType.ts, 18, 7)) - var literal_number: 42; ->literal_number : Symbol(literal_number, Decl(spreadInvalidArgumentType.ts, 20, 7)) + var literal_number: 42 = 42; +>literal_number : Symbol(literal_number, Decl(spreadInvalidArgumentType.ts, 19, 7)) - var u: undefined; ->u : Symbol(u, Decl(spreadInvalidArgumentType.ts, 22, 7)) + var u: undefined = undefined; +>u : Symbol(u, Decl(spreadInvalidArgumentType.ts, 21, 7)) +>undefined : Symbol(undefined) - var n: null; ->n : Symbol(n, Decl(spreadInvalidArgumentType.ts, 23, 7)) + var n: null = null; +>n : Symbol(n, Decl(spreadInvalidArgumentType.ts, 22, 7)) - var a: any; ->a : Symbol(a, Decl(spreadInvalidArgumentType.ts, 24, 7)) + var a: any = 0; +>a : Symbol(a, Decl(spreadInvalidArgumentType.ts, 23, 7)) - var e: E; ->e : Symbol(e, Decl(spreadInvalidArgumentType.ts, 27, 7)) + var e!: E; +>e : Symbol(e, Decl(spreadInvalidArgumentType.ts, 26, 7)) >E : Symbol(E, Decl(spreadInvalidArgumentType.ts, 0, 0)) var o1 = { ...p1 }; // OK, generic type paramterre ->o1 : Symbol(o1, Decl(spreadInvalidArgumentType.ts, 29, 7)) +>o1 : Symbol(o1, Decl(spreadInvalidArgumentType.ts, 28, 7)) >p1 : Symbol(p1, Decl(spreadInvalidArgumentType.ts, 2, 36)) var o2 = { ...p2 }; // OK ->o2 : Symbol(o2, Decl(spreadInvalidArgumentType.ts, 30, 7)) +>o2 : Symbol(o2, Decl(spreadInvalidArgumentType.ts, 29, 7)) >p2 : Symbol(p2, Decl(spreadInvalidArgumentType.ts, 2, 42)) var o3 = { ...t }; // OK, generic type paramter ->o3 : Symbol(o3, Decl(spreadInvalidArgumentType.ts, 31, 7)) +>o3 : Symbol(o3, Decl(spreadInvalidArgumentType.ts, 30, 7)) >t : Symbol(t, Decl(spreadInvalidArgumentType.ts, 3, 7)) var o4 = { ...i }; // Error, index access ->o4 : Symbol(o4, Decl(spreadInvalidArgumentType.ts, 32, 7)) +>o4 : Symbol(o4, Decl(spreadInvalidArgumentType.ts, 31, 7)) >i : Symbol(i, Decl(spreadInvalidArgumentType.ts, 5, 7)) var o5 = { ...k }; // Error, index ->o5 : Symbol(o5, Decl(spreadInvalidArgumentType.ts, 33, 7)) +>o5 : Symbol(o5, Decl(spreadInvalidArgumentType.ts, 32, 7)) >k : Symbol(k, Decl(spreadInvalidArgumentType.ts, 6, 7)) var o6 = { ...mapped_generic }; // OK, generic mapped object type ->o6 : Symbol(o6, Decl(spreadInvalidArgumentType.ts, 34, 7)) +>o6 : Symbol(o6, Decl(spreadInvalidArgumentType.ts, 33, 7)) >mapped_generic : Symbol(mapped_generic, Decl(spreadInvalidArgumentType.ts, 8, 7)) var o7 = { ...mapped }; // OK, non-generic mapped type ->o7 : Symbol(o7, Decl(spreadInvalidArgumentType.ts, 35, 7)) +>o7 : Symbol(o7, Decl(spreadInvalidArgumentType.ts, 34, 7)) >mapped : Symbol(mapped, Decl(spreadInvalidArgumentType.ts, 9, 7)) var o8 = { ...union_generic }; // OK, union with generic type parameter ->o8 : Symbol(o8, Decl(spreadInvalidArgumentType.ts, 37, 7)) +>o8 : Symbol(o8, Decl(spreadInvalidArgumentType.ts, 36, 7)) >union_generic : Symbol(union_generic, Decl(spreadInvalidArgumentType.ts, 11, 7)) var o9 = { ...union_primitive }; // Error, union with generic type parameter ->o9 : Symbol(o9, Decl(spreadInvalidArgumentType.ts, 38, 7)) +>o9 : Symbol(o9, Decl(spreadInvalidArgumentType.ts, 37, 7)) >union_primitive : Symbol(union_primitive, Decl(spreadInvalidArgumentType.ts, 12, 7)) var o10 = { ...intersection_generic }; // OK, intersection with generic type parameter ->o10 : Symbol(o10, Decl(spreadInvalidArgumentType.ts, 40, 7)) ->intersection_generic : Symbol(intersection_generic, Decl(spreadInvalidArgumentType.ts, 14, 7)) +>o10 : Symbol(o10, Decl(spreadInvalidArgumentType.ts, 39, 7)) +>intersection_generic : Symbol(intersection_generic, Decl(spreadInvalidArgumentType.ts, 13, 7)) var o11 = { ...intersection_primitive }; // Error, intersection with generic type parameter ->o11 : Symbol(o11, Decl(spreadInvalidArgumentType.ts, 41, 7)) ->intersection_primitive : Symbol(intersection_primitive, Decl(spreadInvalidArgumentType.ts, 15, 7)) +>o11 : Symbol(o11, Decl(spreadInvalidArgumentType.ts, 40, 7)) +>intersection_primitive : Symbol(intersection_primitive, Decl(spreadInvalidArgumentType.ts, 14, 7)) var o12 = { ...num }; // Error ->o12 : Symbol(o12, Decl(spreadInvalidArgumentType.ts, 43, 7)) ->num : Symbol(num, Decl(spreadInvalidArgumentType.ts, 17, 7)) +>o12 : Symbol(o12, Decl(spreadInvalidArgumentType.ts, 42, 7)) +>num : Symbol(num, Decl(spreadInvalidArgumentType.ts, 16, 7)) var o13 = { ...str }; // Error ->o13 : Symbol(o13, Decl(spreadInvalidArgumentType.ts, 44, 7)) ->str : Symbol(str, Decl(spreadInvalidArgumentType.ts, 18, 7)) +>o13 : Symbol(o13, Decl(spreadInvalidArgumentType.ts, 43, 7)) +>str : Symbol(str, Decl(spreadInvalidArgumentType.ts, 17, 7)) var o14 = { ...u }; // error, undefined-only not allowed ->o14 : Symbol(o14, Decl(spreadInvalidArgumentType.ts, 46, 7)) ->u : Symbol(u, Decl(spreadInvalidArgumentType.ts, 22, 7)) +>o14 : Symbol(o14, Decl(spreadInvalidArgumentType.ts, 45, 7)) +>u : Symbol(u, Decl(spreadInvalidArgumentType.ts, 21, 7)) var o15 = { ...n }; // error, null-only not allowed ->o15 : Symbol(o15, Decl(spreadInvalidArgumentType.ts, 47, 7)) ->n : Symbol(n, Decl(spreadInvalidArgumentType.ts, 23, 7)) +>o15 : Symbol(o15, Decl(spreadInvalidArgumentType.ts, 46, 7)) +>n : Symbol(n, Decl(spreadInvalidArgumentType.ts, 22, 7)) var o16 = { ...a }; // OK ->o16 : Symbol(o16, Decl(spreadInvalidArgumentType.ts, 49, 7)) ->a : Symbol(a, Decl(spreadInvalidArgumentType.ts, 24, 7)) +>o16 : Symbol(o16, Decl(spreadInvalidArgumentType.ts, 48, 7)) +>a : Symbol(a, Decl(spreadInvalidArgumentType.ts, 23, 7)) var o17 = { ...literal_string }; // Error ->o17 : Symbol(o17, Decl(spreadInvalidArgumentType.ts, 51, 7)) ->literal_string : Symbol(literal_string, Decl(spreadInvalidArgumentType.ts, 19, 7)) +>o17 : Symbol(o17, Decl(spreadInvalidArgumentType.ts, 50, 7)) +>literal_string : Symbol(literal_string, Decl(spreadInvalidArgumentType.ts, 18, 7)) var o18 = { ...literal_number }; // Error ->o18 : Symbol(o18, Decl(spreadInvalidArgumentType.ts, 52, 7)) ->literal_number : Symbol(literal_number, Decl(spreadInvalidArgumentType.ts, 20, 7)) +>o18 : Symbol(o18, Decl(spreadInvalidArgumentType.ts, 51, 7)) +>literal_number : Symbol(literal_number, Decl(spreadInvalidArgumentType.ts, 19, 7)) var o19 = { ...e }; // Error, enum ->o19 : Symbol(o19, Decl(spreadInvalidArgumentType.ts, 54, 7)) ->e : Symbol(e, Decl(spreadInvalidArgumentType.ts, 27, 7)) +>o19 : Symbol(o19, Decl(spreadInvalidArgumentType.ts, 53, 7)) +>e : Symbol(e, Decl(spreadInvalidArgumentType.ts, 26, 7)) } diff --git a/tests/baselines/reference/spreadInvalidArgumentType.types b/tests/baselines/reference/spreadInvalidArgumentType.types index 581c8542ecef1..af9018f7bb7bf 100644 --- a/tests/baselines/reference/spreadInvalidArgumentType.types +++ b/tests/baselines/reference/spreadInvalidArgumentType.types @@ -19,80 +19,88 @@ function f(p1: T, p2: T[]) { >p2 : T[] > : ^^^ - var t: T; + var t!: T; >t : T > : ^ - var i: T["b"]; + var i!: T["b"]; >i : T["b"] > : ^^^^^^ - var k: keyof T; + var k!: keyof T; >k : keyof T > : ^^^^^^^ - var mapped_generic: {[P in keyof T]: T[P]}; + var mapped_generic!: {[P in keyof T]: T[P]}; >mapped_generic : { [P in keyof T]: T[P]; } > : ^^^ ^^^^^^^^^^^^^^^^^^^^^ - var mapped: {[P in "b"]: T[P]}; + var mapped!: {[P in "b"]: T[P]}; >mapped : { b: T["b"]; } > : ^^^^^^^^^^^^^^ - var union_generic: T | { a: number }; + var union_generic!: T | { a: number }; >union_generic : T | { a: number; } > : ^^^^^^^^^ ^^^ >a : number > : ^^^^^^ - var union_primitive: { a: number } | number; + var union_primitive!: { a: number } | number; >union_primitive : number | { a: number; } > : ^^^^^^^^^^^^^^ ^^^ >a : number > : ^^^^^^ - var intersection_generic: T & { a: number }; + var intersection_generic!: T & { a: number }; >intersection_generic : T & { a: number; } > : ^^^^^^^^^ ^^^ >a : number > : ^^^^^^ - var intersection_primitive: { a: number } | string; + var intersection_primitive!: { a: number } | string; >intersection_primitive : string | { a: number; } > : ^^^^^^^^^^^^^^ ^^^ >a : number > : ^^^^^^ - var num: number; + var num!: number; >num : number > : ^^^^^^ - var str: number; + var str!: number; >str : number > : ^^^^^^ - var literal_string: "string"; + var literal_string: "string" = "string"; >literal_string : "string" > : ^^^^^^^^ +>"string" : "string" +> : ^^^^^^^^ - var literal_number: 42; + var literal_number: 42 = 42; >literal_number : 42 > : ^^ +>42 : 42 +> : ^^ - var u: undefined; + var u: undefined = undefined; >u : undefined > : ^^^^^^^^^ +>undefined : undefined +> : ^^^^^^^^^ - var n: null; + var n: null = null; >n : null > : ^^^^ - var a: any; + var a: any = 0; >a : any > : ^^^ +>0 : 0 +> : ^ - var e: E; + var e!: E; >e : E > : ^ diff --git a/tests/baselines/reference/staticMemberExportAccess.errors.txt b/tests/baselines/reference/staticMemberExportAccess.errors.txt index 645af2a68a319..7e36acb02ed76 100644 --- a/tests/baselines/reference/staticMemberExportAccess.errors.txt +++ b/tests/baselines/reference/staticMemberExportAccess.errors.txt @@ -17,7 +17,7 @@ staticMemberExportAccess.ts(18,18): error TS2339: Property 'x' does not exist on interface JQueryStatic { sammy: Sammy; // class instance } - var $: JQueryStatic; + declare var $: JQueryStatic; var instanceOfClassSammy: Sammy = new $.sammy(); // should be error ~~~~~~~ !!! error TS2351: This expression is not constructable. diff --git a/tests/baselines/reference/staticMemberExportAccess.js b/tests/baselines/reference/staticMemberExportAccess.js index a7211bedacbc3..00b93d6c88463 100644 --- a/tests/baselines/reference/staticMemberExportAccess.js +++ b/tests/baselines/reference/staticMemberExportAccess.js @@ -13,7 +13,7 @@ namespace Sammy { interface JQueryStatic { sammy: Sammy; // class instance } -var $: JQueryStatic; +declare var $: JQueryStatic; var instanceOfClassSammy: Sammy = new $.sammy(); // should be error var r1 = instanceOfClassSammy.foo(); // r1 is string var r2 = $.sammy.foo(); @@ -35,7 +35,6 @@ var Sammy = /** @class */ (function () { (function (Sammy) { Sammy.x = 1; })(Sammy || (Sammy = {})); -var $; var instanceOfClassSammy = new $.sammy(); // should be error var r1 = instanceOfClassSammy.foo(); // r1 is string var r2 = $.sammy.foo(); diff --git a/tests/baselines/reference/staticMemberExportAccess.symbols b/tests/baselines/reference/staticMemberExportAccess.symbols index 877c2d7400543..e346c4daf6762 100644 --- a/tests/baselines/reference/staticMemberExportAccess.symbols +++ b/tests/baselines/reference/staticMemberExportAccess.symbols @@ -26,15 +26,15 @@ interface JQueryStatic { >sammy : Symbol(JQueryStatic.sammy, Decl(staticMemberExportAccess.ts, 9, 24)) >Sammy : Symbol(Sammy, Decl(staticMemberExportAccess.ts, 0, 0), Decl(staticMemberExportAccess.ts, 5, 1)) } -var $: JQueryStatic; ->$ : Symbol($, Decl(staticMemberExportAccess.ts, 12, 3)) +declare var $: JQueryStatic; +>$ : Symbol($, Decl(staticMemberExportAccess.ts, 12, 11)) >JQueryStatic : Symbol(JQueryStatic, Decl(staticMemberExportAccess.ts, 8, 1)) var instanceOfClassSammy: Sammy = new $.sammy(); // should be error >instanceOfClassSammy : Symbol(instanceOfClassSammy, Decl(staticMemberExportAccess.ts, 13, 3)) >Sammy : Symbol(Sammy, Decl(staticMemberExportAccess.ts, 0, 0), Decl(staticMemberExportAccess.ts, 5, 1)) >$.sammy : Symbol(JQueryStatic.sammy, Decl(staticMemberExportAccess.ts, 9, 24)) ->$ : Symbol($, Decl(staticMemberExportAccess.ts, 12, 3)) +>$ : Symbol($, Decl(staticMemberExportAccess.ts, 12, 11)) >sammy : Symbol(JQueryStatic.sammy, Decl(staticMemberExportAccess.ts, 9, 24)) var r1 = instanceOfClassSammy.foo(); // r1 is string @@ -47,20 +47,20 @@ var r2 = $.sammy.foo(); >r2 : Symbol(r2, Decl(staticMemberExportAccess.ts, 15, 3)) >$.sammy.foo : Symbol(Sammy.foo, Decl(staticMemberExportAccess.ts, 0, 13)) >$.sammy : Symbol(JQueryStatic.sammy, Decl(staticMemberExportAccess.ts, 9, 24)) ->$ : Symbol($, Decl(staticMemberExportAccess.ts, 12, 3)) +>$ : Symbol($, Decl(staticMemberExportAccess.ts, 12, 11)) >sammy : Symbol(JQueryStatic.sammy, Decl(staticMemberExportAccess.ts, 9, 24)) >foo : Symbol(Sammy.foo, Decl(staticMemberExportAccess.ts, 0, 13)) var r3 = $.sammy.bar(); // error >r3 : Symbol(r3, Decl(staticMemberExportAccess.ts, 16, 3)) >$.sammy : Symbol(JQueryStatic.sammy, Decl(staticMemberExportAccess.ts, 9, 24)) ->$ : Symbol($, Decl(staticMemberExportAccess.ts, 12, 3)) +>$ : Symbol($, Decl(staticMemberExportAccess.ts, 12, 11)) >sammy : Symbol(JQueryStatic.sammy, Decl(staticMemberExportAccess.ts, 9, 24)) var r4 = $.sammy.x; // error >r4 : Symbol(r4, Decl(staticMemberExportAccess.ts, 17, 3)) >$.sammy : Symbol(JQueryStatic.sammy, Decl(staticMemberExportAccess.ts, 9, 24)) ->$ : Symbol($, Decl(staticMemberExportAccess.ts, 12, 3)) +>$ : Symbol($, Decl(staticMemberExportAccess.ts, 12, 11)) >sammy : Symbol(JQueryStatic.sammy, Decl(staticMemberExportAccess.ts, 9, 24)) Sammy.bar(); diff --git a/tests/baselines/reference/staticMemberExportAccess.types b/tests/baselines/reference/staticMemberExportAccess.types index 91add29a4129a..1989320f62f1c 100644 --- a/tests/baselines/reference/staticMemberExportAccess.types +++ b/tests/baselines/reference/staticMemberExportAccess.types @@ -37,7 +37,7 @@ interface JQueryStatic { >sammy : Sammy > : ^^^^^ } -var $: JQueryStatic; +declare var $: JQueryStatic; >$ : JQueryStatic > : ^^^^^^^^^^^^ diff --git a/tests/baselines/reference/strictTupleLength.errors.txt b/tests/baselines/reference/strictTupleLength.errors.txt index 181b2e04fdc76..1076a42b454b2 100644 --- a/tests/baselines/reference/strictTupleLength.errors.txt +++ b/tests/baselines/reference/strictTupleLength.errors.txt @@ -5,10 +5,10 @@ strictTupleLength.ts(18,1): error TS2322: Type 'number[]' is not assignable to t ==== strictTupleLength.ts (3 errors) ==== - var t0: []; - var t1: [number]; - var t2: [number, number]; - var arr: number[]; + declare var t0: []; + declare var t1: [number]; + declare var t2: [number, number]; + declare var arr: number[]; var len0: 0 = t0.length; var len1: 1 = t1.length; @@ -18,14 +18,14 @@ strictTupleLength.ts(18,1): error TS2322: Type 'number[]' is not assignable to t var t1 = t2; // error ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 't1' must be of type '[number]', but here has type '[number, number]'. -!!! related TS6203 strictTupleLength.ts:2:5: 't1' was also declared here. +!!! related TS6203 strictTupleLength.ts:2:13: 't1' was also declared here. var t2 = t1; // error ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 't2' must be of type '[number, number]', but here has type '[number]'. -!!! related TS6203 strictTupleLength.ts:3:5: 't2' was also declared here. +!!! related TS6203 strictTupleLength.ts:3:13: 't2' was also declared here. type A = T['length']; - var b: A<[boolean]>; + declare var b: A<[boolean]>; var c: 1 = b; t1 = arr; // error with or without strict diff --git a/tests/baselines/reference/strictTupleLength.js b/tests/baselines/reference/strictTupleLength.js index 90b78e6beecf8..f57fc62e3935a 100644 --- a/tests/baselines/reference/strictTupleLength.js +++ b/tests/baselines/reference/strictTupleLength.js @@ -1,10 +1,10 @@ //// [tests/cases/conformance/types/tuple/strictTupleLength.ts] //// //// [strictTupleLength.ts] -var t0: []; -var t1: [number]; -var t2: [number, number]; -var arr: number[]; +declare var t0: []; +declare var t1: [number]; +declare var t2: [number, number]; +declare var arr: number[]; var len0: 0 = t0.length; var len1: 1 = t1.length; @@ -15,7 +15,7 @@ var t1 = t2; // error var t2 = t1; // error type A = T['length']; -var b: A<[boolean]>; +declare var b: A<[boolean]>; var c: 1 = b; t1 = arr; // error with or without strict @@ -23,17 +23,12 @@ arr = t1; // ok with or without strict //// [strictTupleLength.js] -var t0; -var t1; -var t2; -var arr; var len0 = t0.length; var len1 = t1.length; var len2 = t2.length; var lena = arr.length; var t1 = t2; // error var t2 = t1; // error -var b; var c = b; t1 = arr; // error with or without strict arr = t1; // ok with or without strict diff --git a/tests/baselines/reference/strictTupleLength.symbols b/tests/baselines/reference/strictTupleLength.symbols index a8d86010dba56..72394755904c5 100644 --- a/tests/baselines/reference/strictTupleLength.symbols +++ b/tests/baselines/reference/strictTupleLength.symbols @@ -1,68 +1,68 @@ //// [tests/cases/conformance/types/tuple/strictTupleLength.ts] //// === strictTupleLength.ts === -var t0: []; ->t0 : Symbol(t0, Decl(strictTupleLength.ts, 0, 3)) +declare var t0: []; +>t0 : Symbol(t0, Decl(strictTupleLength.ts, 0, 11)) -var t1: [number]; ->t1 : Symbol(t1, Decl(strictTupleLength.ts, 1, 3), Decl(strictTupleLength.ts, 10, 3)) +declare var t1: [number]; +>t1 : Symbol(t1, Decl(strictTupleLength.ts, 1, 11), Decl(strictTupleLength.ts, 10, 3)) -var t2: [number, number]; ->t2 : Symbol(t2, Decl(strictTupleLength.ts, 2, 3), Decl(strictTupleLength.ts, 11, 3)) +declare var t2: [number, number]; +>t2 : Symbol(t2, Decl(strictTupleLength.ts, 2, 11), Decl(strictTupleLength.ts, 11, 3)) -var arr: number[]; ->arr : Symbol(arr, Decl(strictTupleLength.ts, 3, 3)) +declare var arr: number[]; +>arr : Symbol(arr, Decl(strictTupleLength.ts, 3, 11)) var len0: 0 = t0.length; >len0 : Symbol(len0, Decl(strictTupleLength.ts, 5, 3)) >t0.length : Symbol(length) ->t0 : Symbol(t0, Decl(strictTupleLength.ts, 0, 3)) +>t0 : Symbol(t0, Decl(strictTupleLength.ts, 0, 11)) >length : Symbol(length) var len1: 1 = t1.length; >len1 : Symbol(len1, Decl(strictTupleLength.ts, 6, 3)) >t1.length : Symbol(length) ->t1 : Symbol(t1, Decl(strictTupleLength.ts, 1, 3), Decl(strictTupleLength.ts, 10, 3)) +>t1 : Symbol(t1, Decl(strictTupleLength.ts, 1, 11), Decl(strictTupleLength.ts, 10, 3)) >length : Symbol(length) var len2: 2 = t2.length; >len2 : Symbol(len2, Decl(strictTupleLength.ts, 7, 3)) >t2.length : Symbol(length) ->t2 : Symbol(t2, Decl(strictTupleLength.ts, 2, 3), Decl(strictTupleLength.ts, 11, 3)) +>t2 : Symbol(t2, Decl(strictTupleLength.ts, 2, 11), Decl(strictTupleLength.ts, 11, 3)) >length : Symbol(length) var lena: number = arr.length; >lena : Symbol(lena, Decl(strictTupleLength.ts, 8, 3)) >arr.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) ->arr : Symbol(arr, Decl(strictTupleLength.ts, 3, 3)) +>arr : Symbol(arr, Decl(strictTupleLength.ts, 3, 11)) >length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) var t1 = t2; // error ->t1 : Symbol(t1, Decl(strictTupleLength.ts, 1, 3), Decl(strictTupleLength.ts, 10, 3)) ->t2 : Symbol(t2, Decl(strictTupleLength.ts, 2, 3), Decl(strictTupleLength.ts, 11, 3)) +>t1 : Symbol(t1, Decl(strictTupleLength.ts, 1, 11), Decl(strictTupleLength.ts, 10, 3)) +>t2 : Symbol(t2, Decl(strictTupleLength.ts, 2, 11), Decl(strictTupleLength.ts, 11, 3)) var t2 = t1; // error ->t2 : Symbol(t2, Decl(strictTupleLength.ts, 2, 3), Decl(strictTupleLength.ts, 11, 3)) ->t1 : Symbol(t1, Decl(strictTupleLength.ts, 1, 3), Decl(strictTupleLength.ts, 10, 3)) +>t2 : Symbol(t2, Decl(strictTupleLength.ts, 2, 11), Decl(strictTupleLength.ts, 11, 3)) +>t1 : Symbol(t1, Decl(strictTupleLength.ts, 1, 11), Decl(strictTupleLength.ts, 10, 3)) type A = T['length']; >A : Symbol(A, Decl(strictTupleLength.ts, 11, 12)) >T : Symbol(T, Decl(strictTupleLength.ts, 13, 7)) >T : Symbol(T, Decl(strictTupleLength.ts, 13, 7)) -var b: A<[boolean]>; ->b : Symbol(b, Decl(strictTupleLength.ts, 14, 3)) +declare var b: A<[boolean]>; +>b : Symbol(b, Decl(strictTupleLength.ts, 14, 11)) >A : Symbol(A, Decl(strictTupleLength.ts, 11, 12)) var c: 1 = b; >c : Symbol(c, Decl(strictTupleLength.ts, 15, 3)) ->b : Symbol(b, Decl(strictTupleLength.ts, 14, 3)) +>b : Symbol(b, Decl(strictTupleLength.ts, 14, 11)) t1 = arr; // error with or without strict ->t1 : Symbol(t1, Decl(strictTupleLength.ts, 1, 3), Decl(strictTupleLength.ts, 10, 3)) ->arr : Symbol(arr, Decl(strictTupleLength.ts, 3, 3)) +>t1 : Symbol(t1, Decl(strictTupleLength.ts, 1, 11), Decl(strictTupleLength.ts, 10, 3)) +>arr : Symbol(arr, Decl(strictTupleLength.ts, 3, 11)) arr = t1; // ok with or without strict ->arr : Symbol(arr, Decl(strictTupleLength.ts, 3, 3)) ->t1 : Symbol(t1, Decl(strictTupleLength.ts, 1, 3), Decl(strictTupleLength.ts, 10, 3)) +>arr : Symbol(arr, Decl(strictTupleLength.ts, 3, 11)) +>t1 : Symbol(t1, Decl(strictTupleLength.ts, 1, 11), Decl(strictTupleLength.ts, 10, 3)) diff --git a/tests/baselines/reference/strictTupleLength.types b/tests/baselines/reference/strictTupleLength.types index 9af6321b518bf..baeefa3cb24d5 100644 --- a/tests/baselines/reference/strictTupleLength.types +++ b/tests/baselines/reference/strictTupleLength.types @@ -1,19 +1,19 @@ //// [tests/cases/conformance/types/tuple/strictTupleLength.ts] //// === strictTupleLength.ts === -var t0: []; +declare var t0: []; >t0 : [] > : ^^ -var t1: [number]; +declare var t1: [number]; >t1 : [number] > : ^^^^^^^^ -var t2: [number, number]; +declare var t2: [number, number]; >t2 : [number, number] > : ^^^^^^^^^^^^^^^^ -var arr: number[]; +declare var arr: number[]; >arr : number[] > : ^^^^^^^^ @@ -73,7 +73,7 @@ type A = T['length']; >A : A > : ^^^^ -var b: A<[boolean]>; +declare var b: A<[boolean]>; >b : 1 > : ^ diff --git a/tests/baselines/reference/stringIndexerAssignments1.errors.txt b/tests/baselines/reference/stringIndexerAssignments1.errors.txt index 7ff519aebebdc..4c3e1d1e8837e 100644 --- a/tests/baselines/reference/stringIndexerAssignments1.errors.txt +++ b/tests/baselines/reference/stringIndexerAssignments1.errors.txt @@ -5,8 +5,8 @@ stringIndexerAssignments1.ts(5,1): error TS2322: Type '{ one: number; two: strin ==== stringIndexerAssignments1.ts (1 errors) ==== var x: { [index: string]: string; one: string; }; - var a: { one: string; }; - var b: { one: number; two: string; }; + declare var a: { one: string; }; + declare var b: { one: number; two: string; }; x = a; x = b; // error ~ diff --git a/tests/baselines/reference/stringIndexerAssignments1.js b/tests/baselines/reference/stringIndexerAssignments1.js index 3e48d3649670a..047d10d391a8d 100644 --- a/tests/baselines/reference/stringIndexerAssignments1.js +++ b/tests/baselines/reference/stringIndexerAssignments1.js @@ -2,15 +2,13 @@ //// [stringIndexerAssignments1.ts] var x: { [index: string]: string; one: string; }; -var a: { one: string; }; -var b: { one: number; two: string; }; +declare var a: { one: string; }; +declare var b: { one: number; two: string; }; x = a; x = b; // error //// [stringIndexerAssignments1.js] var x; -var a; -var b; x = a; x = b; // error diff --git a/tests/baselines/reference/stringIndexerAssignments1.symbols b/tests/baselines/reference/stringIndexerAssignments1.symbols index 1dc82fa75ef3b..6133837b88177 100644 --- a/tests/baselines/reference/stringIndexerAssignments1.symbols +++ b/tests/baselines/reference/stringIndexerAssignments1.symbols @@ -6,20 +6,20 @@ var x: { [index: string]: string; one: string; }; >index : Symbol(index, Decl(stringIndexerAssignments1.ts, 0, 10)) >one : Symbol(one, Decl(stringIndexerAssignments1.ts, 0, 33)) -var a: { one: string; }; ->a : Symbol(a, Decl(stringIndexerAssignments1.ts, 1, 3)) ->one : Symbol(one, Decl(stringIndexerAssignments1.ts, 1, 8)) +declare var a: { one: string; }; +>a : Symbol(a, Decl(stringIndexerAssignments1.ts, 1, 11)) +>one : Symbol(one, Decl(stringIndexerAssignments1.ts, 1, 16)) -var b: { one: number; two: string; }; ->b : Symbol(b, Decl(stringIndexerAssignments1.ts, 2, 3)) ->one : Symbol(one, Decl(stringIndexerAssignments1.ts, 2, 8)) ->two : Symbol(two, Decl(stringIndexerAssignments1.ts, 2, 21)) +declare var b: { one: number; two: string; }; +>b : Symbol(b, Decl(stringIndexerAssignments1.ts, 2, 11)) +>one : Symbol(one, Decl(stringIndexerAssignments1.ts, 2, 16)) +>two : Symbol(two, Decl(stringIndexerAssignments1.ts, 2, 29)) x = a; >x : Symbol(x, Decl(stringIndexerAssignments1.ts, 0, 3)) ->a : Symbol(a, Decl(stringIndexerAssignments1.ts, 1, 3)) +>a : Symbol(a, Decl(stringIndexerAssignments1.ts, 1, 11)) x = b; // error >x : Symbol(x, Decl(stringIndexerAssignments1.ts, 0, 3)) ->b : Symbol(b, Decl(stringIndexerAssignments1.ts, 2, 3)) +>b : Symbol(b, Decl(stringIndexerAssignments1.ts, 2, 11)) diff --git a/tests/baselines/reference/stringIndexerAssignments1.types b/tests/baselines/reference/stringIndexerAssignments1.types index 3493b46f237c3..cd6a2ff0e2727 100644 --- a/tests/baselines/reference/stringIndexerAssignments1.types +++ b/tests/baselines/reference/stringIndexerAssignments1.types @@ -9,13 +9,13 @@ var x: { [index: string]: string; one: string; }; >one : string > : ^^^^^^ -var a: { one: string; }; +declare var a: { one: string; }; >a : { one: string; } > : ^^^^^^^ ^^^ >one : string > : ^^^^^^ -var b: { one: number; two: string; }; +declare var b: { one: number; two: string; }; >b : { one: number; two: string; } > : ^^^^^^^ ^^^^^^^ ^^^ >one : number diff --git a/tests/baselines/reference/stringIndexerAssignments2.errors.txt b/tests/baselines/reference/stringIndexerAssignments2.errors.txt index 4f6d99f05f123..16f3ea2e4170c 100644 --- a/tests/baselines/reference/stringIndexerAssignments2.errors.txt +++ b/tests/baselines/reference/stringIndexerAssignments2.errors.txt @@ -8,21 +8,21 @@ stringIndexerAssignments2.ts(20,1): error TS2322: Type 'C3' is not assignable to ==== stringIndexerAssignments2.ts (2 errors) ==== class C1 { [index: string]: string - one: string; + one!: string; } class C2 { - one: string; + one!: string; } class C3 { - one: number; - two: string; + one!: number; + two!: string; } - var x: C1; - var a: C2; - var b: C3; + declare var x: C1; + declare var a: C2; + declare var b: C3; x = a; ~ diff --git a/tests/baselines/reference/stringIndexerAssignments2.js b/tests/baselines/reference/stringIndexerAssignments2.js index f5c7405366c3b..5e68b061e2748 100644 --- a/tests/baselines/reference/stringIndexerAssignments2.js +++ b/tests/baselines/reference/stringIndexerAssignments2.js @@ -3,21 +3,21 @@ //// [stringIndexerAssignments2.ts] class C1 { [index: string]: string - one: string; + one!: string; } class C2 { - one: string; + one!: string; } class C3 { - one: number; - two: string; + one!: number; + two!: string; } -var x: C1; -var a: C2; -var b: C3; +declare var x: C1; +declare var a: C2; +declare var b: C3; x = a; x = b; @@ -38,8 +38,5 @@ var C3 = /** @class */ (function () { } return C3; }()); -var x; -var a; -var b; x = a; x = b; diff --git a/tests/baselines/reference/stringIndexerAssignments2.symbols b/tests/baselines/reference/stringIndexerAssignments2.symbols index e76ebb3b7b84c..01cf61b33578b 100644 --- a/tests/baselines/reference/stringIndexerAssignments2.symbols +++ b/tests/baselines/reference/stringIndexerAssignments2.symbols @@ -7,44 +7,44 @@ class C1 { [index: string]: string >index : Symbol(index, Decl(stringIndexerAssignments2.ts, 1, 5)) - one: string; + one!: string; >one : Symbol(C1.one, Decl(stringIndexerAssignments2.ts, 1, 27)) } class C2 { >C2 : Symbol(C2, Decl(stringIndexerAssignments2.ts, 3, 1)) - one: string; + one!: string; >one : Symbol(C2.one, Decl(stringIndexerAssignments2.ts, 5, 10)) } class C3 { >C3 : Symbol(C3, Decl(stringIndexerAssignments2.ts, 7, 1)) - one: number; + one!: number; >one : Symbol(C3.one, Decl(stringIndexerAssignments2.ts, 9, 10)) - two: string; ->two : Symbol(C3.two, Decl(stringIndexerAssignments2.ts, 10, 16)) + two!: string; +>two : Symbol(C3.two, Decl(stringIndexerAssignments2.ts, 10, 17)) } -var x: C1; ->x : Symbol(x, Decl(stringIndexerAssignments2.ts, 14, 3)) +declare var x: C1; +>x : Symbol(x, Decl(stringIndexerAssignments2.ts, 14, 11)) >C1 : Symbol(C1, Decl(stringIndexerAssignments2.ts, 0, 0)) -var a: C2; ->a : Symbol(a, Decl(stringIndexerAssignments2.ts, 15, 3)) +declare var a: C2; +>a : Symbol(a, Decl(stringIndexerAssignments2.ts, 15, 11)) >C2 : Symbol(C2, Decl(stringIndexerAssignments2.ts, 3, 1)) -var b: C3; ->b : Symbol(b, Decl(stringIndexerAssignments2.ts, 16, 3)) +declare var b: C3; +>b : Symbol(b, Decl(stringIndexerAssignments2.ts, 16, 11)) >C3 : Symbol(C3, Decl(stringIndexerAssignments2.ts, 7, 1)) x = a; ->x : Symbol(x, Decl(stringIndexerAssignments2.ts, 14, 3)) ->a : Symbol(a, Decl(stringIndexerAssignments2.ts, 15, 3)) +>x : Symbol(x, Decl(stringIndexerAssignments2.ts, 14, 11)) +>a : Symbol(a, Decl(stringIndexerAssignments2.ts, 15, 11)) x = b; ->x : Symbol(x, Decl(stringIndexerAssignments2.ts, 14, 3)) ->b : Symbol(b, Decl(stringIndexerAssignments2.ts, 16, 3)) +>x : Symbol(x, Decl(stringIndexerAssignments2.ts, 14, 11)) +>b : Symbol(b, Decl(stringIndexerAssignments2.ts, 16, 11)) diff --git a/tests/baselines/reference/stringIndexerAssignments2.types b/tests/baselines/reference/stringIndexerAssignments2.types index df1e9af81d05b..7d3848fdbbb54 100644 --- a/tests/baselines/reference/stringIndexerAssignments2.types +++ b/tests/baselines/reference/stringIndexerAssignments2.types @@ -9,7 +9,7 @@ class C1 { >index : string > : ^^^^^^ - one: string; + one!: string; >one : string > : ^^^^^^ } @@ -18,7 +18,7 @@ class C2 { >C2 : C2 > : ^^ - one: string; + one!: string; >one : string > : ^^^^^^ } @@ -27,24 +27,24 @@ class C3 { >C3 : C3 > : ^^ - one: number; + one!: number; >one : number > : ^^^^^^ - two: string; + two!: string; >two : string > : ^^^^^^ } -var x: C1; +declare var x: C1; >x : C1 > : ^^ -var a: C2; +declare var a: C2; >a : C2 > : ^^ -var b: C3; +declare var b: C3; >b : C3 > : ^^ diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks01.errors.txt b/tests/baselines/reference/stringLiteralsWithEqualityChecks01.errors.txt index 2dbd0fa028dd9..1072c393f7a1a 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks01.errors.txt +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks01.errors.txt @@ -7,8 +7,8 @@ stringLiteralsWithEqualityChecks01.ts(19,5): error TS2367: This comparison appea ==== stringLiteralsWithEqualityChecks01.ts (6 errors) ==== - let x: "foo"; - let y: "foo" | "bar"; + declare let x: "foo"; + declare let y: "foo" | "bar"; let b: boolean; b = x === y; diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks01.js b/tests/baselines/reference/stringLiteralsWithEqualityChecks01.js index 5c753d9a0111a..7073347e51b1d 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks01.js +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks01.js @@ -1,8 +1,8 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts] //// //// [stringLiteralsWithEqualityChecks01.ts] -let x: "foo"; -let y: "foo" | "bar"; +declare let x: "foo"; +declare let y: "foo" | "bar"; let b: boolean; b = x === y; @@ -26,8 +26,6 @@ b = "bar" !== y; //// [stringLiteralsWithEqualityChecks01.js] -var x; -var y; var b; b = x === y; b = "foo" === y; diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks01.symbols b/tests/baselines/reference/stringLiteralsWithEqualityChecks01.symbols index 3ac1d9c124f42..175fa4382a44c 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks01.symbols +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks01.symbols @@ -1,77 +1,77 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts] //// === stringLiteralsWithEqualityChecks01.ts === -let x: "foo"; ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks01.ts, 0, 3)) +declare let x: "foo"; +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks01.ts, 0, 11)) -let y: "foo" | "bar"; ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 3)) +declare let y: "foo" | "bar"; +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 11)) let b: boolean; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) b = x === y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks01.ts, 0, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks01.ts, 0, 11)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 11)) b = "foo" === y >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 11)) b = y === "foo"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 11)) b = "foo" === "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) b = "bar" === x; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks01.ts, 0, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks01.ts, 0, 11)) b = x === "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks01.ts, 0, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks01.ts, 0, 11)) b = y === "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 11)) b = "bar" === y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 11)) b = x !== y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks01.ts, 0, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks01.ts, 0, 11)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 11)) b = "foo" !== y >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 11)) b = y !== "foo"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 11)) b = "foo" !== "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) b = "bar" !== x; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks01.ts, 0, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks01.ts, 0, 11)) b = x !== "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks01.ts, 0, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks01.ts, 0, 11)) b = y !== "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 11)) b = "bar" !== y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks01.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks01.ts, 1, 11)) diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks01.types b/tests/baselines/reference/stringLiteralsWithEqualityChecks01.types index e8e3824abd276..b2516d784e002 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks01.types +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks01.types @@ -1,11 +1,11 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts] //// === stringLiteralsWithEqualityChecks01.ts === -let x: "foo"; +declare let x: "foo"; >x : "foo" > : ^^^^^ -let y: "foo" | "bar"; +declare let y: "foo" | "bar"; >y : "foo" | "bar" > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks02.errors.txt b/tests/baselines/reference/stringLiteralsWithEqualityChecks02.errors.txt index 41ce210666527..12eb4bc8469bf 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks02.errors.txt +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks02.errors.txt @@ -7,8 +7,8 @@ stringLiteralsWithEqualityChecks02.ts(19,5): error TS2367: This comparison appea ==== stringLiteralsWithEqualityChecks02.ts (6 errors) ==== - let x: "foo"; - let y: "foo" | "bar"; + declare let x: "foo"; + declare let y: "foo" | "bar"; let b: boolean; b = x == y; diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks02.js b/tests/baselines/reference/stringLiteralsWithEqualityChecks02.js index 4140277599e36..e0292ff14627e 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks02.js +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks02.js @@ -1,8 +1,8 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts] //// //// [stringLiteralsWithEqualityChecks02.ts] -let x: "foo"; -let y: "foo" | "bar"; +declare let x: "foo"; +declare let y: "foo" | "bar"; let b: boolean; b = x == y; @@ -26,8 +26,6 @@ b = "bar" != y; //// [stringLiteralsWithEqualityChecks02.js] -var x; -var y; var b; b = x == y; b = "foo" == y; diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks02.symbols b/tests/baselines/reference/stringLiteralsWithEqualityChecks02.symbols index 940543341f531..79b2afb2d15b1 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks02.symbols +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks02.symbols @@ -1,77 +1,77 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts] //// === stringLiteralsWithEqualityChecks02.ts === -let x: "foo"; ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks02.ts, 0, 3)) +declare let x: "foo"; +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks02.ts, 0, 11)) -let y: "foo" | "bar"; ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 3)) +declare let y: "foo" | "bar"; +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 11)) let b: boolean; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) b = x == y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks02.ts, 0, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks02.ts, 0, 11)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 11)) b = "foo" == y >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 11)) b = y == "foo"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 11)) b = "foo" == "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) b = "bar" == x; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks02.ts, 0, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks02.ts, 0, 11)) b = x == "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks02.ts, 0, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks02.ts, 0, 11)) b = y == "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 11)) b = "bar" == y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 11)) b = x != y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks02.ts, 0, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks02.ts, 0, 11)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 11)) b = "foo" != y >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 11)) b = y != "foo"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 11)) b = "foo" != "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) b = "bar" != x; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks02.ts, 0, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks02.ts, 0, 11)) b = x != "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks02.ts, 0, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks02.ts, 0, 11)) b = y != "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 11)) b = "bar" != y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks02.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks02.ts, 1, 11)) diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks02.types b/tests/baselines/reference/stringLiteralsWithEqualityChecks02.types index fd2522494b61b..b06b6809427c3 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks02.types +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks02.types @@ -1,11 +1,11 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts] //// === stringLiteralsWithEqualityChecks02.ts === -let x: "foo"; +declare let x: "foo"; >x : "foo" > : ^^^^^ -let y: "foo" | "bar"; +declare let y: "foo" | "bar"; >y : "foo" | "bar" > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks03.errors.txt b/tests/baselines/reference/stringLiteralsWithEqualityChecks03.errors.txt index f1a2dfa68d414..4672122d405ee 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks03.errors.txt +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks03.errors.txt @@ -15,8 +15,8 @@ stringLiteralsWithEqualityChecks03.ts(29,5): error TS2367: This comparison appea makesFoodGoBrrr: boolean; } - let x: string; - let y: "foo" | Refrigerator; + declare let x: string; + declare let y: "foo" | Refrigerator; let b: boolean; b = x === y; diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks03.js b/tests/baselines/reference/stringLiteralsWithEqualityChecks03.js index 5cece6a4fb404..3081dc95b8b6e 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks03.js +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks03.js @@ -9,8 +9,8 @@ interface Refrigerator extends Runnable { makesFoodGoBrrr: boolean; } -let x: string; -let y: "foo" | Refrigerator; +declare let x: string; +declare let y: "foo" | Refrigerator; let b: boolean; b = x === y; @@ -33,8 +33,6 @@ b = "bar" !== y; //// [stringLiteralsWithEqualityChecks03.js] -var x; -var y; var b; b = x === y; b = "foo" === y; diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks03.symbols b/tests/baselines/reference/stringLiteralsWithEqualityChecks03.symbols index c1693b4adb053..700f0217d1154 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks03.symbols +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks03.symbols @@ -16,11 +16,11 @@ interface Refrigerator extends Runnable { >makesFoodGoBrrr : Symbol(Refrigerator.makesFoodGoBrrr, Decl(stringLiteralsWithEqualityChecks03.ts, 4, 41)) } -let x: string; ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks03.ts, 8, 3)) +declare let x: string; +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks03.ts, 8, 11)) -let y: "foo" | Refrigerator; ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 3)) +declare let y: "foo" | Refrigerator; +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 11)) >Refrigerator : Symbol(Refrigerator, Decl(stringLiteralsWithEqualityChecks03.ts, 2, 1)) let b: boolean; @@ -28,65 +28,65 @@ let b: boolean; b = x === y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks03.ts, 8, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks03.ts, 8, 11)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 11)) b = "foo" === y >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 11)) b = y === "foo"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 11)) b = "foo" === "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) b = "bar" === x; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks03.ts, 8, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks03.ts, 8, 11)) b = x === "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks03.ts, 8, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks03.ts, 8, 11)) b = y === "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 11)) b = "bar" === y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 11)) b = x !== y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks03.ts, 8, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks03.ts, 8, 11)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 11)) b = "foo" !== y >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 11)) b = y !== "foo"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 11)) b = "foo" !== "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) b = "bar" !== x; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks03.ts, 8, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks03.ts, 8, 11)) b = x !== "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks03.ts, 8, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks03.ts, 8, 11)) b = y !== "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 11)) b = "bar" !== y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks03.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks03.ts, 9, 11)) diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks03.types b/tests/baselines/reference/stringLiteralsWithEqualityChecks03.types index 02c798b5a6eed..f9ac121f9c837 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks03.types +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks03.types @@ -13,11 +13,11 @@ interface Refrigerator extends Runnable { > : ^^^^^^^ } -let x: string; +declare let x: string; >x : string > : ^^^^^^ -let y: "foo" | Refrigerator; +declare let y: "foo" | Refrigerator; >y : Refrigerator | "foo" > : ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks04.errors.txt b/tests/baselines/reference/stringLiteralsWithEqualityChecks04.errors.txt index 2a3bd12024eaa..ddb6418eeeab2 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks04.errors.txt +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks04.errors.txt @@ -15,8 +15,8 @@ stringLiteralsWithEqualityChecks04.ts(29,5): error TS2367: This comparison appea makesFoodGoBrrr: boolean; } - let x: string; - let y: "foo" | Refrigerator; + declare let x: string; + declare let y: "foo" | Refrigerator; let b: boolean; b = x == y; diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks04.js b/tests/baselines/reference/stringLiteralsWithEqualityChecks04.js index 3cb7f45cbf946..e278ce69af1cb 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks04.js +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks04.js @@ -9,8 +9,8 @@ interface Refrigerator extends Runnable { makesFoodGoBrrr: boolean; } -let x: string; -let y: "foo" | Refrigerator; +declare let x: string; +declare let y: "foo" | Refrigerator; let b: boolean; b = x == y; @@ -33,8 +33,6 @@ b = "bar" != y; //// [stringLiteralsWithEqualityChecks04.js] -var x; -var y; var b; b = x == y; b = "foo" == y; diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks04.symbols b/tests/baselines/reference/stringLiteralsWithEqualityChecks04.symbols index 5f843e7985b11..d787558acbb18 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks04.symbols +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks04.symbols @@ -16,11 +16,11 @@ interface Refrigerator extends Runnable { >makesFoodGoBrrr : Symbol(Refrigerator.makesFoodGoBrrr, Decl(stringLiteralsWithEqualityChecks04.ts, 4, 41)) } -let x: string; ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks04.ts, 8, 3)) +declare let x: string; +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks04.ts, 8, 11)) -let y: "foo" | Refrigerator; ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 3)) +declare let y: "foo" | Refrigerator; +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 11)) >Refrigerator : Symbol(Refrigerator, Decl(stringLiteralsWithEqualityChecks04.ts, 2, 1)) let b: boolean; @@ -28,65 +28,65 @@ let b: boolean; b = x == y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks04.ts, 8, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks04.ts, 8, 11)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 11)) b = "foo" == y >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 11)) b = y == "foo"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 11)) b = "foo" == "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) b = "bar" == x; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks04.ts, 8, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks04.ts, 8, 11)) b = x == "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks04.ts, 8, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks04.ts, 8, 11)) b = y == "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 11)) b = "bar" == y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 11)) b = x != y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks04.ts, 8, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks04.ts, 8, 11)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 11)) b = "foo" != y >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 11)) b = y != "foo"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 11)) b = "foo" != "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) b = "bar" != x; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks04.ts, 8, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks04.ts, 8, 11)) b = x != "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) ->x : Symbol(x, Decl(stringLiteralsWithEqualityChecks04.ts, 8, 3)) +>x : Symbol(x, Decl(stringLiteralsWithEqualityChecks04.ts, 8, 11)) b = y != "bar"; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 11)) b = "bar" != y; >b : Symbol(b, Decl(stringLiteralsWithEqualityChecks04.ts, 11, 3)) ->y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 3)) +>y : Symbol(y, Decl(stringLiteralsWithEqualityChecks04.ts, 9, 11)) diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks04.types b/tests/baselines/reference/stringLiteralsWithEqualityChecks04.types index 89a4132f426e5..c66074ac0f265 100644 --- a/tests/baselines/reference/stringLiteralsWithEqualityChecks04.types +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks04.types @@ -13,11 +13,11 @@ interface Refrigerator extends Runnable { > : ^^^^^^^ } -let x: string; +declare let x: string; >x : string > : ^^^^^^ -let y: "foo" | Refrigerator; +declare let y: "foo" | Refrigerator; >y : Refrigerator | "foo" > : ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements01.errors.txt b/tests/baselines/reference/stringLiteralsWithSwitchStatements01.errors.txt index 23fad591c83fd..5bbe909df69ef 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements01.errors.txt +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements01.errors.txt @@ -2,8 +2,8 @@ stringLiteralsWithSwitchStatements01.ts(7,10): error TS2678: Type '"bar"' is not ==== stringLiteralsWithSwitchStatements01.ts (1 errors) ==== - let x: "foo"; - let y: "foo" | "bar"; + declare let x: "foo"; + declare let y: "foo" | "bar"; switch (x) { case "foo": diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements01.js b/tests/baselines/reference/stringLiteralsWithSwitchStatements01.js index f0349c1dad3eb..e21e08fc715d8 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements01.js +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements01.js @@ -1,8 +1,8 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements01.ts] //// //// [stringLiteralsWithSwitchStatements01.ts] -let x: "foo"; -let y: "foo" | "bar"; +declare let x: "foo"; +declare let y: "foo" | "bar"; switch (x) { case "foo": @@ -16,8 +16,6 @@ switch (x) { //// [stringLiteralsWithSwitchStatements01.js] -var x; -var y; switch (x) { case "foo": break; diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements01.symbols b/tests/baselines/reference/stringLiteralsWithSwitchStatements01.symbols index 428178f557989..b1d745e581db2 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements01.symbols +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements01.symbols @@ -1,24 +1,24 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements01.ts] //// === stringLiteralsWithSwitchStatements01.ts === -let x: "foo"; ->x : Symbol(x, Decl(stringLiteralsWithSwitchStatements01.ts, 0, 3)) +declare let x: "foo"; +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements01.ts, 0, 11)) -let y: "foo" | "bar"; ->y : Symbol(y, Decl(stringLiteralsWithSwitchStatements01.ts, 1, 3)) +declare let y: "foo" | "bar"; +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements01.ts, 1, 11)) switch (x) { ->x : Symbol(x, Decl(stringLiteralsWithSwitchStatements01.ts, 0, 3)) +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements01.ts, 0, 11)) case "foo": break; case "bar": break; case y: ->y : Symbol(y, Decl(stringLiteralsWithSwitchStatements01.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements01.ts, 1, 11)) y; ->y : Symbol(y, Decl(stringLiteralsWithSwitchStatements01.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements01.ts, 1, 11)) break; } diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements01.types b/tests/baselines/reference/stringLiteralsWithSwitchStatements01.types index aa17c481c17bd..42ba0797c538e 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements01.types +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements01.types @@ -1,11 +1,11 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements01.ts] //// === stringLiteralsWithSwitchStatements01.ts === -let x: "foo"; +declare let x: "foo"; >x : "foo" > : ^^^^^ -let y: "foo" | "bar"; +declare let y: "foo" | "bar"; >y : "foo" | "bar" > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements02.errors.txt b/tests/baselines/reference/stringLiteralsWithSwitchStatements02.errors.txt index 2979b3109f702..1428b51895815 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements02.errors.txt +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements02.errors.txt @@ -3,8 +3,8 @@ stringLiteralsWithSwitchStatements02.ts(13,5): error TS2367: This comparison app ==== stringLiteralsWithSwitchStatements02.ts (2 errors) ==== - let x: "foo"; - let y: "foo" | "bar"; + declare let x: "foo"; + declare let y: "foo" | "bar"; let b: boolean; b = x == y; diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements02.js b/tests/baselines/reference/stringLiteralsWithSwitchStatements02.js index 1d0ddccb59b49..4f1917f77e389 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements02.js +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements02.js @@ -1,8 +1,8 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements02.ts] //// //// [stringLiteralsWithSwitchStatements02.ts] -let x: "foo"; -let y: "foo" | "bar"; +declare let x: "foo"; +declare let y: "foo" | "bar"; let b: boolean; b = x == y; @@ -18,8 +18,6 @@ b = "foo" != "bar"; //// [stringLiteralsWithSwitchStatements02.js] -var x; -var y; var b; b = x == y; b = "foo" == y; diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements02.symbols b/tests/baselines/reference/stringLiteralsWithSwitchStatements02.symbols index 7a9e9429c4367..c94a696f79ca2 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements02.symbols +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements02.symbols @@ -1,43 +1,43 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements02.ts] //// === stringLiteralsWithSwitchStatements02.ts === -let x: "foo"; ->x : Symbol(x, Decl(stringLiteralsWithSwitchStatements02.ts, 0, 3)) +declare let x: "foo"; +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements02.ts, 0, 11)) -let y: "foo" | "bar"; ->y : Symbol(y, Decl(stringLiteralsWithSwitchStatements02.ts, 1, 3)) +declare let y: "foo" | "bar"; +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements02.ts, 1, 11)) let b: boolean; >b : Symbol(b, Decl(stringLiteralsWithSwitchStatements02.ts, 3, 3)) b = x == y; >b : Symbol(b, Decl(stringLiteralsWithSwitchStatements02.ts, 3, 3)) ->x : Symbol(x, Decl(stringLiteralsWithSwitchStatements02.ts, 0, 3)) ->y : Symbol(y, Decl(stringLiteralsWithSwitchStatements02.ts, 1, 3)) +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements02.ts, 0, 11)) +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements02.ts, 1, 11)) b = "foo" == y >b : Symbol(b, Decl(stringLiteralsWithSwitchStatements02.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithSwitchStatements02.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements02.ts, 1, 11)) b = y == "foo"; >b : Symbol(b, Decl(stringLiteralsWithSwitchStatements02.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithSwitchStatements02.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements02.ts, 1, 11)) b = "foo" == "bar"; >b : Symbol(b, Decl(stringLiteralsWithSwitchStatements02.ts, 3, 3)) b = x != y; >b : Symbol(b, Decl(stringLiteralsWithSwitchStatements02.ts, 3, 3)) ->x : Symbol(x, Decl(stringLiteralsWithSwitchStatements02.ts, 0, 3)) ->y : Symbol(y, Decl(stringLiteralsWithSwitchStatements02.ts, 1, 3)) +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements02.ts, 0, 11)) +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements02.ts, 1, 11)) b = "foo" != y >b : Symbol(b, Decl(stringLiteralsWithSwitchStatements02.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithSwitchStatements02.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements02.ts, 1, 11)) b = y != "foo"; >b : Symbol(b, Decl(stringLiteralsWithSwitchStatements02.ts, 3, 3)) ->y : Symbol(y, Decl(stringLiteralsWithSwitchStatements02.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements02.ts, 1, 11)) b = "foo" != "bar"; >b : Symbol(b, Decl(stringLiteralsWithSwitchStatements02.ts, 3, 3)) diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements02.types b/tests/baselines/reference/stringLiteralsWithSwitchStatements02.types index 52f474e2298f9..32172ac09514b 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements02.types +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements02.types @@ -1,11 +1,11 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements02.ts] //// === stringLiteralsWithSwitchStatements02.ts === -let x: "foo"; +declare let x: "foo"; >x : "foo" > : ^^^^^ -let y: "foo" | "bar"; +declare let y: "foo" | "bar"; >y : "foo" | "bar" > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.errors.txt b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.errors.txt index cf9ca906d7fa5..bf6dc9a6c2421 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.errors.txt +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.errors.txt @@ -17,9 +17,9 @@ stringLiteralsWithSwitchStatements03.ts(23,10): error TS2678: Type '"bar" | "baz ==== stringLiteralsWithSwitchStatements03.ts (12 errors) ==== - let x: "foo"; - let y: "foo" | "bar"; - let z: "bar"; + declare let x: "foo"; + declare let y: "foo" | "bar"; + declare let z: "bar"; declare function randBool(): boolean; diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.js b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.js index 8659357941cf8..74c04cb1c480b 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.js +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.js @@ -1,9 +1,9 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts] //// //// [stringLiteralsWithSwitchStatements03.ts] -let x: "foo"; -let y: "foo" | "bar"; -let z: "bar"; +declare let x: "foo"; +declare let y: "foo" | "bar"; +declare let z: "bar"; declare function randBool(): boolean; @@ -30,9 +30,6 @@ switch (x) { //// [stringLiteralsWithSwitchStatements03.js] -var x; -var y; -var z; switch (x) { case randBool() ? "foo" : "baz": break; diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.symbols b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.symbols index cfa9aca1d7df2..b80d6c2e19840 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.symbols +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.symbols @@ -1,40 +1,40 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts] //// === stringLiteralsWithSwitchStatements03.ts === -let x: "foo"; ->x : Symbol(x, Decl(stringLiteralsWithSwitchStatements03.ts, 0, 3)) +declare let x: "foo"; +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements03.ts, 0, 11)) -let y: "foo" | "bar"; ->y : Symbol(y, Decl(stringLiteralsWithSwitchStatements03.ts, 1, 3)) +declare let y: "foo" | "bar"; +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements03.ts, 1, 11)) -let z: "bar"; ->z : Symbol(z, Decl(stringLiteralsWithSwitchStatements03.ts, 2, 3)) +declare let z: "bar"; +>z : Symbol(z, Decl(stringLiteralsWithSwitchStatements03.ts, 2, 11)) declare function randBool(): boolean; ->randBool : Symbol(randBool, Decl(stringLiteralsWithSwitchStatements03.ts, 2, 13)) +>randBool : Symbol(randBool, Decl(stringLiteralsWithSwitchStatements03.ts, 2, 21)) switch (x) { ->x : Symbol(x, Decl(stringLiteralsWithSwitchStatements03.ts, 0, 3)) +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements03.ts, 0, 11)) case randBool() ? "foo" : "baz": ->randBool : Symbol(randBool, Decl(stringLiteralsWithSwitchStatements03.ts, 2, 13)) +>randBool : Symbol(randBool, Decl(stringLiteralsWithSwitchStatements03.ts, 2, 21)) break; case (randBool() ? ("bar") : "baz" ? "bar" : "baz"): ->randBool : Symbol(randBool, Decl(stringLiteralsWithSwitchStatements03.ts, 2, 13)) +>randBool : Symbol(randBool, Decl(stringLiteralsWithSwitchStatements03.ts, 2, 21)) break; case (("bar")): break; case (x, y, ("baz")): ->x : Symbol(x, Decl(stringLiteralsWithSwitchStatements03.ts, 0, 3)) ->y : Symbol(y, Decl(stringLiteralsWithSwitchStatements03.ts, 1, 3)) +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements03.ts, 0, 11)) +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements03.ts, 1, 11)) x; ->x : Symbol(x, Decl(stringLiteralsWithSwitchStatements03.ts, 0, 3)) +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements03.ts, 0, 11)) y; ->y : Symbol(y, Decl(stringLiteralsWithSwitchStatements03.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements03.ts, 1, 11)) break; case (("foo" || ("bar"))): @@ -42,13 +42,13 @@ switch (x) { case (("bar" || ("baz"))): break; case z || "baz": ->z : Symbol(z, Decl(stringLiteralsWithSwitchStatements03.ts, 2, 3)) +>z : Symbol(z, Decl(stringLiteralsWithSwitchStatements03.ts, 2, 11)) case "baz" || z: ->z : Symbol(z, Decl(stringLiteralsWithSwitchStatements03.ts, 2, 3)) +>z : Symbol(z, Decl(stringLiteralsWithSwitchStatements03.ts, 2, 11)) z; ->z : Symbol(z, Decl(stringLiteralsWithSwitchStatements03.ts, 2, 3)) +>z : Symbol(z, Decl(stringLiteralsWithSwitchStatements03.ts, 2, 11)) break; } diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.types b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.types index bbf7fa3584a83..40d65dba39b9b 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.types +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.types @@ -1,15 +1,15 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts] //// === stringLiteralsWithSwitchStatements03.ts === -let x: "foo"; +declare let x: "foo"; >x : "foo" > : ^^^^^ -let y: "foo" | "bar"; +declare let y: "foo" | "bar"; >y : "foo" | "bar" > : ^^^^^^^^^^^^^ -let z: "bar"; +declare let z: "bar"; >z : "bar" > : ^^^^^ diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements04.errors.txt b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.errors.txt index 981a8cdea647b..3d32dbe2e2670 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements04.errors.txt +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.errors.txt @@ -11,8 +11,8 @@ stringLiteralsWithSwitchStatements04.ts(19,20): error TS2872: This kind of expre ==== stringLiteralsWithSwitchStatements04.ts (10 errors) ==== - let x: "foo"; - let y: "foo" | "bar"; + declare let x: "foo"; + declare let y: "foo" | "bar"; declare function randBool(): boolean; diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements04.js b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.js index c3dbb3ae47925..d3e2e42d7cff9 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements04.js +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.js @@ -1,8 +1,8 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements04.ts] //// //// [stringLiteralsWithSwitchStatements04.ts] -let x: "foo"; -let y: "foo" | "bar"; +declare let x: "foo"; +declare let y: "foo" | "bar"; declare function randBool(): boolean; @@ -25,8 +25,6 @@ switch (y) { //// [stringLiteralsWithSwitchStatements04.js] -var x; -var y; switch (y) { case "foo", x: break; diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements04.symbols b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.symbols index 17ecf547fc6e7..ab008d52d2885 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements04.symbols +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.symbols @@ -1,32 +1,32 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements04.ts] //// === stringLiteralsWithSwitchStatements04.ts === -let x: "foo"; ->x : Symbol(x, Decl(stringLiteralsWithSwitchStatements04.ts, 0, 3)) +declare let x: "foo"; +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements04.ts, 0, 11)) -let y: "foo" | "bar"; ->y : Symbol(y, Decl(stringLiteralsWithSwitchStatements04.ts, 1, 3)) +declare let y: "foo" | "bar"; +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements04.ts, 1, 11)) declare function randBool(): boolean; ->randBool : Symbol(randBool, Decl(stringLiteralsWithSwitchStatements04.ts, 1, 21)) +>randBool : Symbol(randBool, Decl(stringLiteralsWithSwitchStatements04.ts, 1, 29)) switch (y) { ->y : Symbol(y, Decl(stringLiteralsWithSwitchStatements04.ts, 1, 3)) +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements04.ts, 1, 11)) case "foo", x: ->x : Symbol(x, Decl(stringLiteralsWithSwitchStatements04.ts, 0, 3)) +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements04.ts, 0, 11)) break; case x, "foo": ->x : Symbol(x, Decl(stringLiteralsWithSwitchStatements04.ts, 0, 3)) +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements04.ts, 0, 11)) break; case x, "baz": ->x : Symbol(x, Decl(stringLiteralsWithSwitchStatements04.ts, 0, 3)) +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements04.ts, 0, 11)) break; case "baz", x: ->x : Symbol(x, Decl(stringLiteralsWithSwitchStatements04.ts, 0, 3)) +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements04.ts, 0, 11)) break; case "baz" && "bar": diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements04.types b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.types index db37672daf355..46e901e77f668 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements04.types +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.types @@ -1,11 +1,11 @@ //// [tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements04.ts] //// === stringLiteralsWithSwitchStatements04.ts === -let x: "foo"; +declare let x: "foo"; >x : "foo" > : ^^^^^ -let y: "foo" | "bar"; +declare let y: "foo" | "bar"; >y : "foo" | "bar" > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality2.errors.txt b/tests/baselines/reference/subtypingWithObjectMembersOptionality2.errors.txt index f1da945fefdee..df8b57e726188 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality2.errors.txt +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality2.errors.txt @@ -46,6 +46,6 @@ subtypingWithObjectMembersOptionality2.ts(26,11): error TS2430: Interface 'S3' i } // object literal case - var a: { Foo: Base; } - var b: { Foo?: Derived; } + declare var a: { Foo: Base; } + declare var b: { Foo?: Derived; } var r = true ? a : b; // ok \ No newline at end of file diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality2.js b/tests/baselines/reference/subtypingWithObjectMembersOptionality2.js index 5f8b6c99e7621..a477085c49c6e 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality2.js +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality2.js @@ -31,13 +31,10 @@ interface S3 extends T3 { } // object literal case -var a: { Foo: Base; } -var b: { Foo?: Derived; } +declare var a: { Foo: Base; } +declare 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; var r = true ? a : b; // ok diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality2.symbols b/tests/baselines/reference/subtypingWithObjectMembersOptionality2.symbols index 9d2c1380ebd2d..b4bdc8caaf99e 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality2.symbols +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality2.symbols @@ -64,18 +64,18 @@ interface S3 extends T3 { } // object literal case -var a: { Foo: Base; } ->a : Symbol(a, Decl(subtypingWithObjectMembersOptionality2.ts, 30, 3)) ->Foo : Symbol(Foo, Decl(subtypingWithObjectMembersOptionality2.ts, 30, 8)) +declare var a: { Foo: Base; } +>a : Symbol(a, Decl(subtypingWithObjectMembersOptionality2.ts, 30, 11)) +>Foo : Symbol(Foo, Decl(subtypingWithObjectMembersOptionality2.ts, 30, 16)) >Base : Symbol(Base, Decl(subtypingWithObjectMembersOptionality2.ts, 0, 0)) -var b: { Foo?: Derived; } ->b : Symbol(b, Decl(subtypingWithObjectMembersOptionality2.ts, 31, 3)) ->Foo : Symbol(Foo, Decl(subtypingWithObjectMembersOptionality2.ts, 31, 8)) +declare var b: { Foo?: Derived; } +>b : Symbol(b, Decl(subtypingWithObjectMembersOptionality2.ts, 31, 11)) +>Foo : Symbol(Foo, Decl(subtypingWithObjectMembersOptionality2.ts, 31, 16)) >Derived : Symbol(Derived, Decl(subtypingWithObjectMembersOptionality2.ts, 2, 31)) var r = true ? a : b; // ok >r : Symbol(r, Decl(subtypingWithObjectMembersOptionality2.ts, 32, 3)) ->a : Symbol(a, Decl(subtypingWithObjectMembersOptionality2.ts, 30, 3)) ->b : Symbol(b, Decl(subtypingWithObjectMembersOptionality2.ts, 31, 3)) +>a : Symbol(a, Decl(subtypingWithObjectMembersOptionality2.ts, 30, 11)) +>b : Symbol(b, Decl(subtypingWithObjectMembersOptionality2.ts, 31, 11)) diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality2.types b/tests/baselines/reference/subtypingWithObjectMembersOptionality2.types index 3d378d6eeb933..d0713d0420242 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality2.types +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality2.types @@ -48,13 +48,13 @@ interface S3 extends T3 { } // object literal case -var a: { Foo: Base; } +declare var a: { Foo: Base; } >a : { Foo: Base; } > : ^^^^^^^ ^^^ >Foo : Base > : ^^^^ -var b: { Foo?: Derived; } +declare var b: { Foo?: Derived; } >b : { Foo?: Derived; } > : ^^^^^^^^ ^^^ >Foo : Derived diff --git a/tests/baselines/reference/symbolProperty17.errors.txt b/tests/baselines/reference/symbolProperty17.errors.txt index 4a65909f6c102..e8cdbab79425c 100644 --- a/tests/baselines/reference/symbolProperty17.errors.txt +++ b/tests/baselines/reference/symbolProperty17.errors.txt @@ -10,5 +10,5 @@ symbolProperty17.ts(2,5): error TS2411: Property '[Symbol.iterator]' of type 'nu "__@iterator": string; } - var i: I; + declare var i: I; var it = i[Symbol.iterator]; \ No newline at end of file diff --git a/tests/baselines/reference/symbolProperty17.js b/tests/baselines/reference/symbolProperty17.js index bf9463eeaf808..35e9a0ea244ba 100644 --- a/tests/baselines/reference/symbolProperty17.js +++ b/tests/baselines/reference/symbolProperty17.js @@ -7,9 +7,8 @@ interface I { "__@iterator": string; } -var i: I; +declare var i: I; var it = i[Symbol.iterator]; //// [symbolProperty17.js] -var i; var it = i[Symbol.iterator]; diff --git a/tests/baselines/reference/symbolProperty17.symbols b/tests/baselines/reference/symbolProperty17.symbols index 327c57d39ffb9..445d6af1cea96 100644 --- a/tests/baselines/reference/symbolProperty17.symbols +++ b/tests/baselines/reference/symbolProperty17.symbols @@ -17,13 +17,13 @@ interface I { >"__@iterator" : Symbol(I["__@iterator"], Decl(symbolProperty17.ts, 2, 24)) } -var i: I; ->i : Symbol(i, Decl(symbolProperty17.ts, 6, 3)) +declare var i: I; +>i : Symbol(i, Decl(symbolProperty17.ts, 6, 11)) >I : Symbol(I, Decl(symbolProperty17.ts, 0, 0)) var it = i[Symbol.iterator]; >it : Symbol(it, Decl(symbolProperty17.ts, 7, 3)) ->i : Symbol(i, Decl(symbolProperty17.ts, 6, 3)) +>i : Symbol(i, Decl(symbolProperty17.ts, 6, 11)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolProperty17.types b/tests/baselines/reference/symbolProperty17.types index 8e00cacfdecd4..1e029c5e12394 100644 --- a/tests/baselines/reference/symbolProperty17.types +++ b/tests/baselines/reference/symbolProperty17.types @@ -21,7 +21,7 @@ interface I { > : ^^^^^^ } -var i: I; +declare var i: I; >i : I > : ^ diff --git a/tests/baselines/reference/symbolType15.errors.txt b/tests/baselines/reference/symbolType15.errors.txt index c73f407225ff7..a8966792fe4dd 100644 --- a/tests/baselines/reference/symbolType15.errors.txt +++ b/tests/baselines/reference/symbolType15.errors.txt @@ -3,7 +3,7 @@ symbolType15.ts(5,1): error TS2322: Type 'Symbol' is not assignable to type 'sym ==== symbolType15.ts (1 errors) ==== - var sym: symbol; + declare var sym: symbol; var symObj: Symbol; symObj = sym; diff --git a/tests/baselines/reference/symbolType15.js b/tests/baselines/reference/symbolType15.js index f4d052aad1335..b5c43f6f55f10 100644 --- a/tests/baselines/reference/symbolType15.js +++ b/tests/baselines/reference/symbolType15.js @@ -1,14 +1,13 @@ //// [tests/cases/conformance/es6/Symbols/symbolType15.ts] //// //// [symbolType15.ts] -var sym: symbol; +declare var sym: symbol; var symObj: Symbol; symObj = sym; sym = symObj; //// [symbolType15.js] -var sym; var symObj; symObj = sym; sym = symObj; diff --git a/tests/baselines/reference/symbolType15.symbols b/tests/baselines/reference/symbolType15.symbols index 3beb332034292..ca54490f3a298 100644 --- a/tests/baselines/reference/symbolType15.symbols +++ b/tests/baselines/reference/symbolType15.symbols @@ -1,8 +1,8 @@ //// [tests/cases/conformance/es6/Symbols/symbolType15.ts] //// === symbolType15.ts === -var sym: symbol; ->sym : Symbol(sym, Decl(symbolType15.ts, 0, 3)) +declare var sym: symbol; +>sym : Symbol(sym, Decl(symbolType15.ts, 0, 11)) var symObj: Symbol; >symObj : Symbol(symObj, Decl(symbolType15.ts, 1, 3)) @@ -10,9 +10,9 @@ var symObj: Symbol; symObj = sym; >symObj : Symbol(symObj, Decl(symbolType15.ts, 1, 3)) ->sym : Symbol(sym, Decl(symbolType15.ts, 0, 3)) +>sym : Symbol(sym, Decl(symbolType15.ts, 0, 11)) sym = symObj; ->sym : Symbol(sym, Decl(symbolType15.ts, 0, 3)) +>sym : Symbol(sym, Decl(symbolType15.ts, 0, 11)) >symObj : Symbol(symObj, Decl(symbolType15.ts, 1, 3)) diff --git a/tests/baselines/reference/symbolType15.types b/tests/baselines/reference/symbolType15.types index 6a94dd96a3dfc..3521a8a5a1814 100644 --- a/tests/baselines/reference/symbolType15.types +++ b/tests/baselines/reference/symbolType15.types @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/Symbols/symbolType15.ts] //// === symbolType15.ts === -var sym: symbol; +declare var sym: symbol; >sym : symbol > : ^^^^^^ diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt index 4f3e390d24ed8..3238c61946422 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt @@ -17,7 +17,7 @@ taggedTemplateStringsWithIncompatibleTypedTags.ts(28,57): error TS2345: Argument [x: number]: I; } - var f: I; + declare var f: I; f `abc` diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js index 54725211e1976..ad59a8e3f7efe 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js @@ -10,7 +10,7 @@ interface I { [x: number]: I; } -var f: I; +declare var f: I; f `abc` @@ -40,7 +40,6 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; -var f; f(__makeTemplateObject(["abc"], ["abc"])); f(__makeTemplateObject(["abc", "def", "ghi"], ["abc", "def", "ghi"]), 1, 2); f(__makeTemplateObject(["abc"], ["abc"])).member; diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.symbols b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.symbols index f7c5950f9ecd0..fb20084ca7493 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.symbols @@ -31,58 +31,58 @@ interface I { >I : Symbol(I, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 0, 0)) } -var f: I; ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) +declare var f: I; +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 11)) >I : Symbol(I, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 0, 0)) f `abc` ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 11)) f `abc${1}def${2}ghi`; ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 11)) f `abc`.member >f `abc`.member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 11)) >member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) f `abc${1}def${2}ghi`.member; >f `abc${1}def${2}ghi`.member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 11)) >member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) f `abc`["member"]; ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 11)) >"member" : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) f `abc${1}def${2}ghi`["member"]; ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 11)) >"member" : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) f `abc`[0].member `abc${1}def${2}ghi`; >f `abc`[0].member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 11)) >member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi`; >f `abc${1}def${2}ghi`["member"].member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 11)) >"member" : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) >member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) f `abc${ true }def${ true }ghi`["member"].member `abc${ 1 }def${ 2 }ghi`; >f `abc${ true }def${ true }ghi`["member"].member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 11)) >"member" : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) >member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) f.thisIsNotATag(`abc`); >f.thisIsNotATag : Symbol(I.thisIsNotATag, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 4, 14)) ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 11)) >thisIsNotATag : Symbol(I.thisIsNotATag, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 4, 14)) f.thisIsNotATag(`abc${1}def${2}ghi`); >f.thisIsNotATag : Symbol(I.thisIsNotATag, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 4, 14)) ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 11)) >thisIsNotATag : Symbol(I.thisIsNotATag, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 4, 14)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types index 9c9367a4c7a5d..84078ffcbae01 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types @@ -31,7 +31,7 @@ interface I { > : ^^^^^^ } -var f: I; +declare var f: I; >f : I > : ^ diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt index 3b9a9c7b6d9e7..4d2ce0abfe257 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt @@ -17,7 +17,7 @@ taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(28,57): error TS2345: Argum [x: number]: I; } - var f: I; + declare var f: I; f `abc` diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.js b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.js index 32ba201c349d3..44e41fbf1de46 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.js +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.js @@ -10,7 +10,7 @@ interface I { [x: number]: I; } -var f: I; +declare var f: I; f `abc` @@ -35,7 +35,6 @@ f.thisIsNotATag(`abc`); f.thisIsNotATag(`abc${1}def${2}ghi`); //// [taggedTemplateStringsWithIncompatibleTypedTagsES6.js] -var f; f `abc`; f `abc${1}def${2}ghi`; f `abc`.member; diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.symbols b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.symbols index 3ce39aef58af6..9b95c7da52f60 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.symbols @@ -31,58 +31,58 @@ interface I { >I : Symbol(I, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 0, 0)) } -var f: I; ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) +declare var f: I; +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 11)) >I : Symbol(I, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 0, 0)) f `abc` ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 11)) f `abc${1}def${2}ghi`; ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 11)) f `abc`.member >f `abc`.member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 11)) >member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) f `abc${1}def${2}ghi`.member; >f `abc${1}def${2}ghi`.member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 11)) >member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) f `abc`["member"]; ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 11)) >"member" : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) f `abc${1}def${2}ghi`["member"]; ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 11)) >"member" : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) f `abc`[0].member `abc${1}def${2}ghi`; >f `abc`[0].member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 11)) >member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi`; >f `abc${1}def${2}ghi`["member"].member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 11)) >"member" : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) >member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) f `abc${ true }def${ true }ghi`["member"].member `abc${ 1 }def${ 2 }ghi`; >f `abc${ true }def${ true }ghi`["member"].member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 11)) >"member" : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) >member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) f.thisIsNotATag(`abc`); >f.thisIsNotATag : Symbol(I.thisIsNotATag, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 4, 14)) ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 11)) >thisIsNotATag : Symbol(I.thisIsNotATag, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 4, 14)) f.thisIsNotATag(`abc${1}def${2}ghi`); >f.thisIsNotATag : Symbol(I.thisIsNotATag, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 4, 14)) ->f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) +>f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 11)) >thisIsNotATag : Symbol(I.thisIsNotATag, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 4, 14)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types index 1a9e3c90a65e2..b297f088fe7f8 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types @@ -31,7 +31,7 @@ interface I { > : ^^^^^^ } -var f: I; +declare var f: I; >f : I > : ^ diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag02.errors.txt b/tests/baselines/reference/taggedTemplateWithConstructableTag02.errors.txt index fd1a9ed9635fc..e429873b95eec 100644 --- a/tests/baselines/reference/taggedTemplateWithConstructableTag02.errors.txt +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag02.errors.txt @@ -7,7 +7,7 @@ taggedTemplateWithConstructableTag02.ts(6,1): error TS2349: This expression is n new (...args: any[]): string; new (): number; } - var tag: I; + declare var tag: I; tag `Hello world!`; ~~~ !!! error TS2349: This expression is not callable. diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag02.js b/tests/baselines/reference/taggedTemplateWithConstructableTag02.js index 7160f0be107c1..9ff8f04dc1700 100644 --- a/tests/baselines/reference/taggedTemplateWithConstructableTag02.js +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag02.js @@ -5,7 +5,7 @@ interface I { new (...args: any[]): string; new (): number; } -var tag: I; +declare var tag: I; tag `Hello world!`; //// [taggedTemplateWithConstructableTag02.js] @@ -13,5 +13,4 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; -var tag; tag(__makeTemplateObject(["Hello world!"], ["Hello world!"])); diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag02.symbols b/tests/baselines/reference/taggedTemplateWithConstructableTag02.symbols index 370d2e81c5d06..5333d0a73bd4d 100644 --- a/tests/baselines/reference/taggedTemplateWithConstructableTag02.symbols +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag02.symbols @@ -9,10 +9,10 @@ interface I { new (): number; } -var tag: I; ->tag : Symbol(tag, Decl(taggedTemplateWithConstructableTag02.ts, 4, 3)) +declare var tag: I; +>tag : Symbol(tag, Decl(taggedTemplateWithConstructableTag02.ts, 4, 11)) >I : Symbol(I, Decl(taggedTemplateWithConstructableTag02.ts, 0, 0)) tag `Hello world!`; ->tag : Symbol(tag, Decl(taggedTemplateWithConstructableTag02.ts, 4, 3)) +>tag : Symbol(tag, Decl(taggedTemplateWithConstructableTag02.ts, 4, 11)) diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag02.types b/tests/baselines/reference/taggedTemplateWithConstructableTag02.types index bc86b976b8157..fa9fc27e47cc1 100644 --- a/tests/baselines/reference/taggedTemplateWithConstructableTag02.types +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag02.types @@ -8,7 +8,7 @@ interface I { new (): number; } -var tag: I; +declare var tag: I; >tag : I > : ^ diff --git a/tests/baselines/reference/thisBinding2.errors.txt b/tests/baselines/reference/thisBinding2.errors.txt index de057f97fe372..6ff6e154b9cea 100644 --- a/tests/baselines/reference/thisBinding2.errors.txt +++ b/tests/baselines/reference/thisBinding2.errors.txt @@ -3,7 +3,7 @@ thisBinding2.ts(10,11): error TS2683: 'this' implicitly has type 'any' because i ==== thisBinding2.ts (1 errors) ==== class C { - x: number; + x!: number; constructor() { this.x = (() => { var x = 1; diff --git a/tests/baselines/reference/thisBinding2.js b/tests/baselines/reference/thisBinding2.js index c7c06acd4bcb3..98f07c8526398 100644 --- a/tests/baselines/reference/thisBinding2.js +++ b/tests/baselines/reference/thisBinding2.js @@ -2,7 +2,7 @@ //// [thisBinding2.ts] class C { - x: number; + x!: number; constructor() { this.x = (() => { var x = 1; diff --git a/tests/baselines/reference/thisBinding2.symbols b/tests/baselines/reference/thisBinding2.symbols index cfe84e127bf8b..1be549ca84c8b 100644 --- a/tests/baselines/reference/thisBinding2.symbols +++ b/tests/baselines/reference/thisBinding2.symbols @@ -4,7 +4,7 @@ class C { >C : Symbol(C, Decl(thisBinding2.ts, 0, 0)) - x: number; + x!: number; >x : Symbol(C.x, Decl(thisBinding2.ts, 0, 9)) constructor() { diff --git a/tests/baselines/reference/thisBinding2.types b/tests/baselines/reference/thisBinding2.types index 040dd5f9ce06f..948f26ba74d0e 100644 --- a/tests/baselines/reference/thisBinding2.types +++ b/tests/baselines/reference/thisBinding2.types @@ -5,7 +5,7 @@ class C { >C : C > : ^ - x: number; + x!: number; >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/thisTypeInFunctions.errors.txt b/tests/baselines/reference/thisTypeInFunctions.errors.txt index dc85c3f3fa391..866d6ce8832ee 100644 --- a/tests/baselines/reference/thisTypeInFunctions.errors.txt +++ b/tests/baselines/reference/thisTypeInFunctions.errors.txt @@ -106,8 +106,8 @@ thisTypeInFunctions.ts(120,36): error TS2339: Property 'n' does not exist on typ let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = specifiedLambda; - let explicitCFunction: (this: C, m: number) => number; - let explicitPropertyFunction: (this: {n: number}, m: number) => number; + declare let explicitCFunction: (this: C, m: number) => number; + declare let explicitPropertyFunction: (this: {n: number}, m: number) => number; c.explicitC = explicitCFunction; c.explicitC = function(this: C, m: number) { return this.n + m }; c.explicitProperty = explicitPropertyFunction; diff --git a/tests/baselines/reference/thisTypeInFunctions.js b/tests/baselines/reference/thisTypeInFunctions.js index a2c963743348e..65153645005e8 100644 --- a/tests/baselines/reference/thisTypeInFunctions.js +++ b/tests/baselines/reference/thisTypeInFunctions.js @@ -103,8 +103,8 @@ let unspecifiedLambdaToSpecified: (this: {y: number}, x: number) => number = uns let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = specifiedLambda; -let explicitCFunction: (this: C, m: number) => number; -let explicitPropertyFunction: (this: {n: number}, m: number) => number; +declare let explicitCFunction: (this: C, m: number) => number; +declare let explicitPropertyFunction: (this: {n: number}, m: number) => number; c.explicitC = explicitCFunction; c.explicitC = function(this: C, m: number) { return this.n + m }; c.explicitProperty = explicitPropertyFunction; @@ -307,8 +307,6 @@ var unspecifiedLambda = function (x) { return x + 12; }; var specifiedLambda = function (x) { return x + 12; }; var unspecifiedLambdaToSpecified = unspecifiedLambda; var specifiedLambdaToSpecified = specifiedLambda; -var explicitCFunction; -var explicitPropertyFunction; c.explicitC = explicitCFunction; c.explicitC = function (m) { return this.n + m; }; c.explicitProperty = explicitPropertyFunction; diff --git a/tests/baselines/reference/thisTypeInFunctions.symbols b/tests/baselines/reference/thisTypeInFunctions.symbols index be926211ed0cc..72f7f0b911501 100644 --- a/tests/baselines/reference/thisTypeInFunctions.symbols +++ b/tests/baselines/reference/thisTypeInFunctions.symbols @@ -413,23 +413,23 @@ let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = speci >specifiedLambda : Symbol(specifiedLambda, Decl(thisTypeInFunctions.ts, 97, 3)) -let explicitCFunction: (this: C, m: number) => number; ->explicitCFunction : Symbol(explicitCFunction, Decl(thisTypeInFunctions.ts, 102, 3)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 102, 24)) +declare let explicitCFunction: (this: C, m: number) => number; +>explicitCFunction : Symbol(explicitCFunction, Decl(thisTypeInFunctions.ts, 102, 11)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 102, 32)) >C : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) ->m : Symbol(m, Decl(thisTypeInFunctions.ts, 102, 32)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 102, 40)) -let explicitPropertyFunction: (this: {n: number}, m: number) => number; ->explicitPropertyFunction : Symbol(explicitPropertyFunction, Decl(thisTypeInFunctions.ts, 103, 3)) ->this : Symbol(this, Decl(thisTypeInFunctions.ts, 103, 31)) ->n : Symbol(n, Decl(thisTypeInFunctions.ts, 103, 38)) ->m : Symbol(m, Decl(thisTypeInFunctions.ts, 103, 49)) +declare let explicitPropertyFunction: (this: {n: number}, m: number) => number; +>explicitPropertyFunction : Symbol(explicitPropertyFunction, Decl(thisTypeInFunctions.ts, 103, 11)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 103, 39)) +>n : Symbol(n, Decl(thisTypeInFunctions.ts, 103, 46)) +>m : Symbol(m, Decl(thisTypeInFunctions.ts, 103, 57)) c.explicitC = explicitCFunction; >c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 65, 3)) >explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) ->explicitCFunction : Symbol(explicitCFunction, Decl(thisTypeInFunctions.ts, 102, 3)) +>explicitCFunction : Symbol(explicitCFunction, Decl(thisTypeInFunctions.ts, 102, 11)) c.explicitC = function(this: C, m: number) { return this.n + m }; >c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) @@ -447,7 +447,7 @@ c.explicitProperty = explicitPropertyFunction; >c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 65, 3)) >explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) ->explicitPropertyFunction : Symbol(explicitPropertyFunction, Decl(thisTypeInFunctions.ts, 103, 3)) +>explicitPropertyFunction : Symbol(explicitPropertyFunction, Decl(thisTypeInFunctions.ts, 103, 11)) c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m }; >c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) @@ -522,7 +522,7 @@ c.explicitThis = explicitCFunction; >c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) >c : Symbol(c, Decl(thisTypeInFunctions.ts, 65, 3)) >explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) ->explicitCFunction : Symbol(explicitCFunction, Decl(thisTypeInFunctions.ts, 102, 3)) +>explicitCFunction : Symbol(explicitCFunction, Decl(thisTypeInFunctions.ts, 102, 11)) c.explicitThis = function(this: C, m: number) { return this.n + m }; >c.explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) diff --git a/tests/baselines/reference/thisTypeInFunctions.types b/tests/baselines/reference/thisTypeInFunctions.types index 26dbe2202d918..bab4b7f4cfe35 100644 --- a/tests/baselines/reference/thisTypeInFunctions.types +++ b/tests/baselines/reference/thisTypeInFunctions.types @@ -806,7 +806,7 @@ let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = speci > : ^ ^^ ^^ ^^ ^^^^^ -let explicitCFunction: (this: C, m: number) => number; +declare let explicitCFunction: (this: C, m: number) => number; >explicitCFunction : (this: C, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^ >this : C @@ -814,7 +814,7 @@ let explicitCFunction: (this: C, m: number) => number; >m : number > : ^^^^^^ -let explicitPropertyFunction: (this: {n: number}, m: number) => number; +declare let explicitPropertyFunction: (this: {n: number}, m: number) => number; >explicitPropertyFunction : (this: { n: number; }, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^ >this : { n: number; } diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt index 5ce0e368dcd30..0e4b5810a9a48 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt @@ -263,7 +263,7 @@ thisTypeInFunctionsNegative.ts(178,22): error TS2730: An arrow function cannot h // lambdas have this: void for assignability purposes (and this unbound (free) for body checking) let d = new D(); - let explicitXProperty: (this: { x: number }, m: number) => number; + declare let explicitXProperty: (this: { x: number }, m: number) => number; // from differing object types c.explicitC = function(this: D, m: number) { return this.x + m }; @@ -276,7 +276,7 @@ thisTypeInFunctionsNegative.ts(178,22): error TS2730: An arrow function cannot h !!! error TS2322: Type '(this: { x: number; }, m: number) => number' is not assignable to type '(this: { n: number; }, m: number) => number'. !!! error TS2322: The 'this' types of each signature are incompatible. !!! error TS2322: Property 'x' is missing in type '{ n: number; }' but required in type '{ x: number; }'. -!!! related TS2728 thisTypeInFunctionsNegative.ts:104:33: 'x' is declared here. +!!! related TS2728 thisTypeInFunctionsNegative.ts:104:41: 'x' is declared here. c.explicitC = d.explicitD; ~~~~~~~~~~~ diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.js b/tests/baselines/reference/thisTypeInFunctionsNegative.js index 15163fcf27ad2..5dae6fa5b53ce 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.js +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.js @@ -104,7 +104,7 @@ let reconstructed: { // lambdas have this: void for assignability purposes (and this unbound (free) for body checking) let d = new D(); -let explicitXProperty: (this: { x: number }, m: number) => number; +declare let explicitXProperty: (this: { x: number }, m: number) => number; // from differing object types c.explicitC = function(this: D, m: number) { return this.x + m }; @@ -280,7 +280,6 @@ let reconstructed = { ; // lambdas have this: void for assignability purposes (and this unbound (free) for body checking) let d = new D(); -let explicitXProperty; // from differing object types c.explicitC = function (m) { return this.x + m; }; c.explicitProperty = explicitXProperty; diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.symbols b/tests/baselines/reference/thisTypeInFunctionsNegative.symbols index 150dfa888afa3..b4128c8c53461 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.symbols +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.symbols @@ -393,11 +393,11 @@ let d = new D(); >d : Symbol(d, Decl(thisTypeInFunctionsNegative.ts, 102, 3)) >D : Symbol(D, Decl(thisTypeInFunctionsNegative.ts, 17, 1)) -let explicitXProperty: (this: { x: number }, m: number) => number; ->explicitXProperty : Symbol(explicitXProperty, Decl(thisTypeInFunctionsNegative.ts, 103, 3)) ->this : Symbol(this, Decl(thisTypeInFunctionsNegative.ts, 103, 24)) ->x : Symbol(x, Decl(thisTypeInFunctionsNegative.ts, 103, 31)) ->m : Symbol(m, Decl(thisTypeInFunctionsNegative.ts, 103, 44)) +declare let explicitXProperty: (this: { x: number }, m: number) => number; +>explicitXProperty : Symbol(explicitXProperty, Decl(thisTypeInFunctionsNegative.ts, 103, 11)) +>this : Symbol(this, Decl(thisTypeInFunctionsNegative.ts, 103, 32)) +>x : Symbol(x, Decl(thisTypeInFunctionsNegative.ts, 103, 39)) +>m : Symbol(m, Decl(thisTypeInFunctionsNegative.ts, 103, 52)) // from differing object types c.explicitC = function(this: D, m: number) { return this.x + m }; @@ -416,7 +416,7 @@ c.explicitProperty = explicitXProperty; >c.explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctionsNegative.ts, 10, 5)) >c : Symbol(c, Decl(thisTypeInFunctionsNegative.ts, 70, 3)) >explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctionsNegative.ts, 10, 5)) ->explicitXProperty : Symbol(explicitXProperty, Decl(thisTypeInFunctionsNegative.ts, 103, 3)) +>explicitXProperty : Symbol(explicitXProperty, Decl(thisTypeInFunctionsNegative.ts, 103, 11)) c.explicitC = d.explicitD; >c.explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctionsNegative.ts, 7, 5)) diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.types b/tests/baselines/reference/thisTypeInFunctionsNegative.types index 83e099ead1640..ca9f97e6f5189 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.types +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.types @@ -751,7 +751,7 @@ let d = new D(); >D : typeof D > : ^^^^^^^^ -let explicitXProperty: (this: { x: number }, m: number) => number; +declare let explicitXProperty: (this: { x: number }, m: number) => number; >explicitXProperty : (this: { x: number; }, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^ >this : { x: number; } diff --git a/tests/baselines/reference/tsxElementResolution10.errors.txt b/tests/baselines/reference/tsxElementResolution10.errors.txt index c439507ddf0b6..339739ddb119d 100644 --- a/tests/baselines/reference/tsxElementResolution10.errors.txt +++ b/tests/baselines/reference/tsxElementResolution10.errors.txt @@ -17,7 +17,7 @@ file.tsx(19,2): error TS2322: Type '{ x: number; render: number; }' is not assig interface Obj1type { new(n: string): { x: number }; } - var Obj1: Obj1type; + declare var Obj1: Obj1type; ; // Error, no render member ~~~~ !!! error TS2322: Type '{ x: number; }' is not assignable to type 'string'. @@ -30,7 +30,7 @@ file.tsx(19,2): error TS2322: Type '{ x: number; render: number; }' is not assig interface Obj2type { (n: string): { x: number; render: any; }; } - var Obj2: Obj2type; + declare var Obj2: Obj2type; ; // OK ~~~~ !!! error TS2322: Type '{ x: number; render: number; }' is not assignable to type 'string'. diff --git a/tests/baselines/reference/tsxElementResolution10.js b/tests/baselines/reference/tsxElementResolution10.js index 88aadd046fcc6..16cb7ef18971b 100644 --- a/tests/baselines/reference/tsxElementResolution10.js +++ b/tests/baselines/reference/tsxElementResolution10.js @@ -12,18 +12,16 @@ declare namespace JSX { interface Obj1type { new(n: string): { x: number }; } -var Obj1: Obj1type; +declare var Obj1: Obj1type; ; // Error, no render member interface Obj2type { (n: string): { x: number; render: any; }; } -var Obj2: Obj2type; +declare var Obj2: Obj2type; ; // OK //// [file.jsx] -var Obj1; ; // Error, no render member -var Obj2; ; // OK diff --git a/tests/baselines/reference/tsxElementResolution10.symbols b/tests/baselines/reference/tsxElementResolution10.symbols index 618ac0cb3c516..c6979d00a5af8 100644 --- a/tests/baselines/reference/tsxElementResolution10.symbols +++ b/tests/baselines/reference/tsxElementResolution10.symbols @@ -24,12 +24,12 @@ interface Obj1type { >n : Symbol(n, Decl(file.tsx, 9, 5)) >x : Symbol(x, Decl(file.tsx, 9, 18)) } -var Obj1: Obj1type; ->Obj1 : Symbol(Obj1, Decl(file.tsx, 11, 3)) +declare var Obj1: Obj1type; +>Obj1 : Symbol(Obj1, Decl(file.tsx, 11, 11)) >Obj1type : Symbol(Obj1type, Decl(file.tsx, 6, 1)) ; // Error, no render member ->Obj1 : Symbol(Obj1, Decl(file.tsx, 11, 3)) +>Obj1 : Symbol(Obj1, Decl(file.tsx, 11, 11)) >x : Symbol(x, Decl(file.tsx, 12, 5)) interface Obj2type { @@ -40,12 +40,12 @@ interface Obj2type { >x : Symbol(x, Decl(file.tsx, 15, 15)) >render : Symbol(render, Decl(file.tsx, 15, 26)) } -var Obj2: Obj2type; ->Obj2 : Symbol(Obj2, Decl(file.tsx, 17, 3)) +declare var Obj2: Obj2type; +>Obj2 : Symbol(Obj2, Decl(file.tsx, 17, 11)) >Obj2type : Symbol(Obj2type, Decl(file.tsx, 12, 16)) ; // OK ->Obj2 : Symbol(Obj2, Decl(file.tsx, 17, 3)) +>Obj2 : Symbol(Obj2, Decl(file.tsx, 17, 11)) >x : Symbol(x, Decl(file.tsx, 18, 5)) >render : Symbol(render, Decl(file.tsx, 18, 12)) diff --git a/tests/baselines/reference/tsxElementResolution10.types b/tests/baselines/reference/tsxElementResolution10.types index 2224ed0a89477..6af49f71ef81a 100644 --- a/tests/baselines/reference/tsxElementResolution10.types +++ b/tests/baselines/reference/tsxElementResolution10.types @@ -18,7 +18,7 @@ interface Obj1type { >x : number > : ^^^^^^ } -var Obj1: Obj1type; +declare var Obj1: Obj1type; >Obj1 : Obj1type > : ^^^^^^^^ @@ -41,7 +41,7 @@ interface Obj2type { >render : any > : ^^^ } -var Obj2: Obj2type; +declare var Obj2: Obj2type; >Obj2 : Obj2type > : ^^^^^^^^ diff --git a/tests/baselines/reference/tsxElementResolution11.errors.txt b/tests/baselines/reference/tsxElementResolution11.errors.txt index a22a27b7887ed..8972bfe43fa12 100644 --- a/tests/baselines/reference/tsxElementResolution11.errors.txt +++ b/tests/baselines/reference/tsxElementResolution11.errors.txt @@ -12,13 +12,13 @@ file.tsx(17,7): error TS2322: Type '{ x: number; }' is not assignable to type '{ interface Obj1type { new(n: string): any; } - var Obj1: Obj1type; + declare var Obj1: Obj1type; ; // OK interface Obj2type { new(n: string): { q?: number }; } - var Obj2: Obj2type; + declare var Obj2: Obj2type; ; // Error ~ !!! error TS2322: Type '{ x: number; }' is not assignable to type '{ q?: number; }'. @@ -27,6 +27,6 @@ file.tsx(17,7): error TS2322: Type '{ x: number; }' is not assignable to type '{ interface Obj3type { new(n: string): { x: number; }; } - var Obj3: Obj3type; + declare var Obj3: Obj3type; ; // OK \ No newline at end of file diff --git a/tests/baselines/reference/tsxElementResolution11.js b/tests/baselines/reference/tsxElementResolution11.js index 7672cf6716c9e..5dbe0aa063b8a 100644 --- a/tests/baselines/reference/tsxElementResolution11.js +++ b/tests/baselines/reference/tsxElementResolution11.js @@ -10,26 +10,23 @@ declare namespace JSX { interface Obj1type { new(n: string): any; } -var Obj1: Obj1type; +declare var Obj1: Obj1type; ; // OK interface Obj2type { new(n: string): { q?: number }; } -var Obj2: Obj2type; +declare var Obj2: Obj2type; ; // Error interface Obj3type { new(n: string): { x: number; }; } -var Obj3: Obj3type; +declare var Obj3: Obj3type; ; // OK //// [file.jsx] -var Obj1; ; // OK -var Obj2; ; // Error -var Obj3; ; // OK diff --git a/tests/baselines/reference/tsxElementResolution11.symbols b/tests/baselines/reference/tsxElementResolution11.symbols index 905211d3d57b5..8cf07f54f62d5 100644 --- a/tests/baselines/reference/tsxElementResolution11.symbols +++ b/tests/baselines/reference/tsxElementResolution11.symbols @@ -20,12 +20,12 @@ interface Obj1type { new(n: string): any; >n : Symbol(n, Decl(file.tsx, 7, 5)) } -var Obj1: Obj1type; ->Obj1 : Symbol(Obj1, Decl(file.tsx, 9, 3)) +declare var Obj1: Obj1type; +>Obj1 : Symbol(Obj1, Decl(file.tsx, 9, 11)) >Obj1type : Symbol(Obj1type, Decl(file.tsx, 4, 1)) ; // OK ->Obj1 : Symbol(Obj1, Decl(file.tsx, 9, 3)) +>Obj1 : Symbol(Obj1, Decl(file.tsx, 9, 11)) >x : Symbol(x, Decl(file.tsx, 10, 5)) interface Obj2type { @@ -35,12 +35,12 @@ interface Obj2type { >n : Symbol(n, Decl(file.tsx, 13, 5)) >q : Symbol(q, Decl(file.tsx, 13, 18)) } -var Obj2: Obj2type; ->Obj2 : Symbol(Obj2, Decl(file.tsx, 15, 3)) +declare var Obj2: Obj2type; +>Obj2 : Symbol(Obj2, Decl(file.tsx, 15, 11)) >Obj2type : Symbol(Obj2type, Decl(file.tsx, 10, 16)) ; // Error ->Obj2 : Symbol(Obj2, Decl(file.tsx, 15, 3)) +>Obj2 : Symbol(Obj2, Decl(file.tsx, 15, 11)) >x : Symbol(x, Decl(file.tsx, 16, 5)) interface Obj3type { @@ -50,11 +50,11 @@ interface Obj3type { >n : Symbol(n, Decl(file.tsx, 19, 5)) >x : Symbol(x, Decl(file.tsx, 19, 18)) } -var Obj3: Obj3type; ->Obj3 : Symbol(Obj3, Decl(file.tsx, 21, 3)) +declare var Obj3: Obj3type; +>Obj3 : Symbol(Obj3, Decl(file.tsx, 21, 11)) >Obj3type : Symbol(Obj3type, Decl(file.tsx, 16, 16)) ; // OK ->Obj3 : Symbol(Obj3, Decl(file.tsx, 21, 3)) +>Obj3 : Symbol(Obj3, Decl(file.tsx, 21, 11)) >x : Symbol(x, Decl(file.tsx, 22, 5)) diff --git a/tests/baselines/reference/tsxElementResolution11.types b/tests/baselines/reference/tsxElementResolution11.types index 9f399334ee0ea..0c9889f23914e 100644 --- a/tests/baselines/reference/tsxElementResolution11.types +++ b/tests/baselines/reference/tsxElementResolution11.types @@ -12,7 +12,7 @@ interface Obj1type { >n : string > : ^^^^^^ } -var Obj1: Obj1type; +declare var Obj1: Obj1type; >Obj1 : Obj1type > : ^^^^^^^^ @@ -33,7 +33,7 @@ interface Obj2type { >q : number > : ^^^^^^ } -var Obj2: Obj2type; +declare var Obj2: Obj2type; >Obj2 : Obj2type > : ^^^^^^^^ @@ -54,7 +54,7 @@ interface Obj3type { >x : number > : ^^^^^^ } -var Obj3: Obj3type; +declare var Obj3: Obj3type; >Obj3 : Obj3type > : ^^^^^^^^ diff --git a/tests/baselines/reference/tsxElementResolution12.errors.txt b/tests/baselines/reference/tsxElementResolution12.errors.txt index fc0a630d0db0d..05cf5fd0380f2 100644 --- a/tests/baselines/reference/tsxElementResolution12.errors.txt +++ b/tests/baselines/reference/tsxElementResolution12.errors.txt @@ -14,19 +14,19 @@ file.tsx(33,7): error TS2322: Type 'string' is not assignable to type 'number'. interface Obj1type { new(n: string): any; } - var Obj1: Obj1type; + declare var Obj1: Obj1type; ; // OK interface Obj2type { new(n: string): { q?: number; pr: any }; } - var Obj2: Obj2type; + declare var Obj2: Obj2type; ; // OK interface Obj3type { new(n: string): { x: number; }; } - var Obj3: Obj3type; + declare var Obj3: Obj3type; ; // Error ~~~~~~~~~~~~~~~ !!! error TS2607: JSX element class does not support attributes because it does not have a 'pr' property. @@ -41,7 +41,7 @@ file.tsx(33,7): error TS2322: Type 'string' is not assignable to type 'number'. interface Obj4type { new(n: string): { x: number; pr: { x: number; } }; } - var Obj4: Obj4type; + declare var Obj4: Obj4type; ; // OK ; // Error ~ diff --git a/tests/baselines/reference/tsxElementResolution12.js b/tests/baselines/reference/tsxElementResolution12.js index c57c102a97dc2..0540378233ed9 100644 --- a/tests/baselines/reference/tsxElementResolution12.js +++ b/tests/baselines/reference/tsxElementResolution12.js @@ -10,19 +10,19 @@ declare namespace JSX { interface Obj1type { new(n: string): any; } -var Obj1: Obj1type; +declare var Obj1: Obj1type; ; // OK interface Obj2type { new(n: string): { q?: number; pr: any }; } -var Obj2: Obj2type; +declare var Obj2: Obj2type; ; // OK interface Obj3type { new(n: string): { x: number; }; } -var Obj3: Obj3type; +declare var Obj3: Obj3type; ; // Error var attributes: any; ; // Error @@ -31,21 +31,17 @@ var attributes: any; interface Obj4type { new(n: string): { x: number; pr: { x: number; } }; } -var Obj4: Obj4type; +declare var Obj4: Obj4type; ; // OK ; // Error //// [file.jsx] -var Obj1; ; // OK -var Obj2; ; // OK -var Obj3; ; // Error var attributes; ; // Error ; // OK -var Obj4; ; // OK ; // Error diff --git a/tests/baselines/reference/tsxElementResolution12.symbols b/tests/baselines/reference/tsxElementResolution12.symbols index 630ef2debbc05..3bd11517663af 100644 --- a/tests/baselines/reference/tsxElementResolution12.symbols +++ b/tests/baselines/reference/tsxElementResolution12.symbols @@ -21,12 +21,12 @@ interface Obj1type { new(n: string): any; >n : Symbol(n, Decl(file.tsx, 7, 5)) } -var Obj1: Obj1type; ->Obj1 : Symbol(Obj1, Decl(file.tsx, 9, 3)) +declare var Obj1: Obj1type; +>Obj1 : Symbol(Obj1, Decl(file.tsx, 9, 11)) >Obj1type : Symbol(Obj1type, Decl(file.tsx, 4, 1)) ; // OK ->Obj1 : Symbol(Obj1, Decl(file.tsx, 9, 3)) +>Obj1 : Symbol(Obj1, Decl(file.tsx, 9, 11)) >x : Symbol(x, Decl(file.tsx, 10, 5)) interface Obj2type { @@ -37,12 +37,12 @@ interface Obj2type { >q : Symbol(q, Decl(file.tsx, 13, 18)) >pr : Symbol(pr, Decl(file.tsx, 13, 30)) } -var Obj2: Obj2type; ->Obj2 : Symbol(Obj2, Decl(file.tsx, 15, 3)) +declare var Obj2: Obj2type; +>Obj2 : Symbol(Obj2, Decl(file.tsx, 15, 11)) >Obj2type : Symbol(Obj2type, Decl(file.tsx, 10, 16)) ; // OK ->Obj2 : Symbol(Obj2, Decl(file.tsx, 15, 3)) +>Obj2 : Symbol(Obj2, Decl(file.tsx, 15, 11)) >x : Symbol(x, Decl(file.tsx, 16, 5)) interface Obj3type { @@ -52,23 +52,23 @@ interface Obj3type { >n : Symbol(n, Decl(file.tsx, 19, 5)) >x : Symbol(x, Decl(file.tsx, 19, 18)) } -var Obj3: Obj3type; ->Obj3 : Symbol(Obj3, Decl(file.tsx, 21, 3)) +declare var Obj3: Obj3type; +>Obj3 : Symbol(Obj3, Decl(file.tsx, 21, 11)) >Obj3type : Symbol(Obj3type, Decl(file.tsx, 16, 16)) ; // Error ->Obj3 : Symbol(Obj3, Decl(file.tsx, 21, 3)) +>Obj3 : Symbol(Obj3, Decl(file.tsx, 21, 11)) >x : Symbol(x, Decl(file.tsx, 22, 5)) var attributes: any; >attributes : Symbol(attributes, Decl(file.tsx, 23, 3)) ; // Error ->Obj3 : Symbol(Obj3, Decl(file.tsx, 21, 3)) +>Obj3 : Symbol(Obj3, Decl(file.tsx, 21, 11)) >attributes : Symbol(attributes, Decl(file.tsx, 23, 3)) ; // OK ->Obj3 : Symbol(Obj3, Decl(file.tsx, 21, 3)) +>Obj3 : Symbol(Obj3, Decl(file.tsx, 21, 11)) interface Obj4type { >Obj4type : Symbol(Obj4type, Decl(file.tsx, 25, 17)) @@ -79,15 +79,15 @@ interface Obj4type { >pr : Symbol(pr, Decl(file.tsx, 28, 29)) >x : Symbol(x, Decl(file.tsx, 28, 35)) } -var Obj4: Obj4type; ->Obj4 : Symbol(Obj4, Decl(file.tsx, 30, 3)) +declare var Obj4: Obj4type; +>Obj4 : Symbol(Obj4, Decl(file.tsx, 30, 11)) >Obj4type : Symbol(Obj4type, Decl(file.tsx, 25, 17)) ; // OK ->Obj4 : Symbol(Obj4, Decl(file.tsx, 30, 3)) +>Obj4 : Symbol(Obj4, Decl(file.tsx, 30, 11)) >x : Symbol(x, Decl(file.tsx, 31, 5)) ; // Error ->Obj4 : Symbol(Obj4, Decl(file.tsx, 30, 3)) +>Obj4 : Symbol(Obj4, Decl(file.tsx, 30, 11)) >x : Symbol(x, Decl(file.tsx, 32, 5)) diff --git a/tests/baselines/reference/tsxElementResolution12.types b/tests/baselines/reference/tsxElementResolution12.types index d3b010c0ad96c..1e8e83d57f015 100644 --- a/tests/baselines/reference/tsxElementResolution12.types +++ b/tests/baselines/reference/tsxElementResolution12.types @@ -15,7 +15,7 @@ interface Obj1type { >n : string > : ^^^^^^ } -var Obj1: Obj1type; +declare var Obj1: Obj1type; >Obj1 : Obj1type > : ^^^^^^^^ @@ -38,7 +38,7 @@ interface Obj2type { >pr : any > : ^^^ } -var Obj2: Obj2type; +declare var Obj2: Obj2type; >Obj2 : Obj2type > : ^^^^^^^^ @@ -59,7 +59,7 @@ interface Obj3type { >x : number > : ^^^^^^ } -var Obj3: Obj3type; +declare var Obj3: Obj3type; >Obj3 : Obj3type > : ^^^^^^^^ @@ -104,7 +104,7 @@ interface Obj4type { >x : number > : ^^^^^^ } -var Obj4: Obj4type; +declare var Obj4: Obj4type; >Obj4 : Obj4type > : ^^^^^^^^ diff --git a/tests/baselines/reference/tsxElementResolution15.errors.txt b/tests/baselines/reference/tsxElementResolution15.errors.txt index c39d4b8e67f5a..52342e5da9c4b 100644 --- a/tests/baselines/reference/tsxElementResolution15.errors.txt +++ b/tests/baselines/reference/tsxElementResolution15.errors.txt @@ -14,7 +14,7 @@ file.tsx(11,2): error TS2322: Type '{ x: number; }' is not assignable to type 's interface Obj1type { new(n: string): {}; } - var Obj1: Obj1type; + declare var Obj1: Obj1type; ; // Error ~~~~ !!! error TS2322: Type '{ x: number; }' is not assignable to type 'string'. diff --git a/tests/baselines/reference/tsxElementResolution15.js b/tests/baselines/reference/tsxElementResolution15.js index c77ebba48047f..08e4960e46cf8 100644 --- a/tests/baselines/reference/tsxElementResolution15.js +++ b/tests/baselines/reference/tsxElementResolution15.js @@ -10,10 +10,9 @@ declare namespace JSX { interface Obj1type { new(n: string): {}; } -var Obj1: Obj1type; +declare var Obj1: Obj1type; ; // Error //// [file.jsx] -var Obj1; ; // Error diff --git a/tests/baselines/reference/tsxElementResolution15.symbols b/tests/baselines/reference/tsxElementResolution15.symbols index 3dbe483757215..c16e99bd3c929 100644 --- a/tests/baselines/reference/tsxElementResolution15.symbols +++ b/tests/baselines/reference/tsxElementResolution15.symbols @@ -22,11 +22,11 @@ interface Obj1type { new(n: string): {}; >n : Symbol(n, Decl(file.tsx, 7, 5)) } -var Obj1: Obj1type; ->Obj1 : Symbol(Obj1, Decl(file.tsx, 9, 3)) +declare var Obj1: Obj1type; +>Obj1 : Symbol(Obj1, Decl(file.tsx, 9, 11)) >Obj1type : Symbol(Obj1type, Decl(file.tsx, 4, 1)) ; // Error ->Obj1 : Symbol(Obj1, Decl(file.tsx, 9, 3)) +>Obj1 : Symbol(Obj1, Decl(file.tsx, 9, 11)) >x : Symbol(x, Decl(file.tsx, 10, 5)) diff --git a/tests/baselines/reference/tsxElementResolution15.types b/tests/baselines/reference/tsxElementResolution15.types index 724773619483b..ff7498e57a986 100644 --- a/tests/baselines/reference/tsxElementResolution15.types +++ b/tests/baselines/reference/tsxElementResolution15.types @@ -17,7 +17,7 @@ interface Obj1type { >n : string > : ^^^^^^ } -var Obj1: Obj1type; +declare var Obj1: Obj1type; >Obj1 : Obj1type > : ^^^^^^^^ diff --git a/tests/baselines/reference/tsxElementResolution8.errors.txt b/tests/baselines/reference/tsxElementResolution8.errors.txt index 0da593c36005f..ae6fdc1a309a8 100644 --- a/tests/baselines/reference/tsxElementResolution8.errors.txt +++ b/tests/baselines/reference/tsxElementResolution8.errors.txt @@ -26,18 +26,18 @@ file.tsx(34,2): error TS2604: JSX element type 'Obj3' does not have any construc new(): {}; (): number; } - var Obj1: Obj1; + declare var Obj1: Obj1; ; // OK, prefer construct signatures interface Obj2 { (): number; } - var Obj2: Obj2; + declare var Obj2: Obj2; ; // Error interface Obj3 { } - var Obj3: Obj3; + declare var Obj3: Obj3; ; // Error ~~~~ !!! error TS2604: JSX element type 'Obj3' does not have any construct or call signatures. diff --git a/tests/baselines/reference/tsxElementResolution8.js b/tests/baselines/reference/tsxElementResolution8.js index 7023eea9d89eb..746314fbf3ea7 100644 --- a/tests/baselines/reference/tsxElementResolution8.js +++ b/tests/baselines/reference/tsxElementResolution8.js @@ -22,18 +22,18 @@ interface Obj1 { new(): {}; (): number; } -var Obj1: Obj1; +declare var Obj1: Obj1; ; // OK, prefer construct signatures interface Obj2 { (): number; } -var Obj2: Obj2; +declare var Obj2: Obj2; ; // Error interface Obj3 { } -var Obj3: Obj3; +declare var Obj3: Obj3; ; // Error @@ -47,9 +47,6 @@ function Fact() { return null; } // Error function Fnum() { return 42; } ; -var Obj1; ; // OK, prefer construct signatures -var Obj2; ; // Error -var Obj3; ; // Error diff --git a/tests/baselines/reference/tsxElementResolution8.symbols b/tests/baselines/reference/tsxElementResolution8.symbols index 7846b54c17664..e8c53bb93c336 100644 --- a/tests/baselines/reference/tsxElementResolution8.symbols +++ b/tests/baselines/reference/tsxElementResolution8.symbols @@ -33,37 +33,37 @@ function Fnum(): number{ return 42; } >Fnum : Symbol(Fnum, Decl(file.tsx, 11, 8)) interface Obj1 { ->Obj1 : Symbol(Obj1, Decl(file.tsx, 15, 8), Decl(file.tsx, 21, 3)) +>Obj1 : Symbol(Obj1, Decl(file.tsx, 15, 8), Decl(file.tsx, 21, 11)) new(): {}; (): number; } -var Obj1: Obj1; ->Obj1 : Symbol(Obj1, Decl(file.tsx, 15, 8), Decl(file.tsx, 21, 3)) ->Obj1 : Symbol(Obj1, Decl(file.tsx, 15, 8), Decl(file.tsx, 21, 3)) +declare var Obj1: Obj1; +>Obj1 : Symbol(Obj1, Decl(file.tsx, 15, 8), Decl(file.tsx, 21, 11)) +>Obj1 : Symbol(Obj1, Decl(file.tsx, 15, 8), Decl(file.tsx, 21, 11)) ; // OK, prefer construct signatures ->Obj1 : Symbol(Obj1, Decl(file.tsx, 15, 8), Decl(file.tsx, 21, 3)) +>Obj1 : Symbol(Obj1, Decl(file.tsx, 15, 8), Decl(file.tsx, 21, 11)) interface Obj2 { ->Obj2 : Symbol(Obj2, Decl(file.tsx, 22, 9), Decl(file.tsx, 27, 3)) +>Obj2 : Symbol(Obj2, Decl(file.tsx, 22, 9), Decl(file.tsx, 27, 11)) (): number; } -var Obj2: Obj2; ->Obj2 : Symbol(Obj2, Decl(file.tsx, 22, 9), Decl(file.tsx, 27, 3)) ->Obj2 : Symbol(Obj2, Decl(file.tsx, 22, 9), Decl(file.tsx, 27, 3)) +declare var Obj2: Obj2; +>Obj2 : Symbol(Obj2, Decl(file.tsx, 22, 9), Decl(file.tsx, 27, 11)) +>Obj2 : Symbol(Obj2, Decl(file.tsx, 22, 9), Decl(file.tsx, 27, 11)) ; // Error ->Obj2 : Symbol(Obj2, Decl(file.tsx, 22, 9), Decl(file.tsx, 27, 3)) +>Obj2 : Symbol(Obj2, Decl(file.tsx, 22, 9), Decl(file.tsx, 27, 11)) interface Obj3 { ->Obj3 : Symbol(Obj3, Decl(file.tsx, 28, 9), Decl(file.tsx, 32, 3)) +>Obj3 : Symbol(Obj3, Decl(file.tsx, 28, 9), Decl(file.tsx, 32, 11)) } -var Obj3: Obj3; ->Obj3 : Symbol(Obj3, Decl(file.tsx, 28, 9), Decl(file.tsx, 32, 3)) ->Obj3 : Symbol(Obj3, Decl(file.tsx, 28, 9), Decl(file.tsx, 32, 3)) +declare var Obj3: Obj3; +>Obj3 : Symbol(Obj3, Decl(file.tsx, 28, 9), Decl(file.tsx, 32, 11)) +>Obj3 : Symbol(Obj3, Decl(file.tsx, 28, 9), Decl(file.tsx, 32, 11)) ; // Error ->Obj3 : Symbol(Obj3, Decl(file.tsx, 28, 9), Decl(file.tsx, 32, 3)) +>Obj3 : Symbol(Obj3, Decl(file.tsx, 28, 9), Decl(file.tsx, 32, 11)) diff --git a/tests/baselines/reference/tsxElementResolution8.types b/tests/baselines/reference/tsxElementResolution8.types index fda0f296f615d..fc23429c0785c 100644 --- a/tests/baselines/reference/tsxElementResolution8.types +++ b/tests/baselines/reference/tsxElementResolution8.types @@ -47,7 +47,7 @@ interface Obj1 { new(): {}; (): number; } -var Obj1: Obj1; +declare var Obj1: Obj1; >Obj1 : Obj1 > : ^^^^ @@ -60,7 +60,7 @@ var Obj1: Obj1; interface Obj2 { (): number; } -var Obj2: Obj2; +declare var Obj2: Obj2; >Obj2 : Obj2 > : ^^^^ @@ -72,7 +72,7 @@ var Obj2: Obj2; interface Obj3 { } -var Obj3: Obj3; +declare var Obj3: Obj3; >Obj3 : Obj3 > : ^^^^ diff --git a/tests/baselines/reference/tsxElementResolution9.errors.txt b/tests/baselines/reference/tsxElementResolution9.errors.txt index efcda178e20d1..37275093a6c9f 100644 --- a/tests/baselines/reference/tsxElementResolution9.errors.txt +++ b/tests/baselines/reference/tsxElementResolution9.errors.txt @@ -31,7 +31,7 @@ file.tsx(25,2): error TS2786: 'Obj3' cannot be used as a JSX component. new(n: string): { x: number }; new(n: number): { y: string }; } - var Obj1: Obj1; + declare var Obj1: Obj1; ; // Error, return type is not an object type ~~~~ !!! error TS2769: No overload matches this call. @@ -44,7 +44,7 @@ file.tsx(25,2): error TS2786: 'Obj3' cannot be used as a JSX component. (n: string): { x: number }; (n: number): { y: string }; } - var Obj2: Obj2; + declare var Obj2: Obj2; ; // Error, return type is not an object type ~~~~ !!! error TS2769: No overload matches this call. @@ -62,7 +62,7 @@ file.tsx(25,2): error TS2786: 'Obj3' cannot be used as a JSX component. (n: string): { x: number }; (n: number): { x: number; y: string }; } - var Obj3: Obj3; + declare var Obj3: Obj3; ; // OK ~~~~ !!! error TS2769: No overload matches this call. diff --git a/tests/baselines/reference/tsxElementResolution9.js b/tests/baselines/reference/tsxElementResolution9.js index 1a4787c1ef7df..d2b7aaf84402d 100644 --- a/tests/baselines/reference/tsxElementResolution9.js +++ b/tests/baselines/reference/tsxElementResolution9.js @@ -10,28 +10,25 @@ interface Obj1 { new(n: string): { x: number }; new(n: number): { y: string }; } -var Obj1: Obj1; +declare var Obj1: Obj1; ; // Error, return type is not an object type interface Obj2 { (n: string): { x: number }; (n: number): { y: string }; } -var Obj2: Obj2; +declare var Obj2: Obj2; ; // Error, return type is not an object type interface Obj3 { (n: string): { x: number }; (n: number): { x: number; y: string }; } -var Obj3: Obj3; +declare var Obj3: Obj3; ; // OK //// [file.jsx] -var Obj1; ; // Error, return type is not an object type -var Obj2; ; // Error, return type is not an object type -var Obj3; ; // OK diff --git a/tests/baselines/reference/tsxElementResolution9.symbols b/tests/baselines/reference/tsxElementResolution9.symbols index 715e39d598065..06ce4d41a6bff 100644 --- a/tests/baselines/reference/tsxElementResolution9.symbols +++ b/tests/baselines/reference/tsxElementResolution9.symbols @@ -13,7 +13,7 @@ declare namespace JSX { } interface Obj1 { ->Obj1 : Symbol(Obj1, Decl(file.tsx, 3, 1), Decl(file.tsx, 9, 3)) +>Obj1 : Symbol(Obj1, Decl(file.tsx, 3, 1), Decl(file.tsx, 9, 11)) new(n: string): { x: number }; >n : Symbol(n, Decl(file.tsx, 6, 5)) @@ -23,15 +23,15 @@ interface Obj1 { >n : Symbol(n, Decl(file.tsx, 7, 5)) >y : Symbol(y, Decl(file.tsx, 7, 18)) } -var Obj1: Obj1; ->Obj1 : Symbol(Obj1, Decl(file.tsx, 3, 1), Decl(file.tsx, 9, 3)) ->Obj1 : Symbol(Obj1, Decl(file.tsx, 3, 1), Decl(file.tsx, 9, 3)) +declare var Obj1: Obj1; +>Obj1 : Symbol(Obj1, Decl(file.tsx, 3, 1), Decl(file.tsx, 9, 11)) +>Obj1 : Symbol(Obj1, Decl(file.tsx, 3, 1), Decl(file.tsx, 9, 11)) ; // Error, return type is not an object type ->Obj1 : Symbol(Obj1, Decl(file.tsx, 3, 1), Decl(file.tsx, 9, 3)) +>Obj1 : Symbol(Obj1, Decl(file.tsx, 3, 1), Decl(file.tsx, 9, 11)) interface Obj2 { ->Obj2 : Symbol(Obj2, Decl(file.tsx, 10, 9), Decl(file.tsx, 16, 3)) +>Obj2 : Symbol(Obj2, Decl(file.tsx, 10, 9), Decl(file.tsx, 16, 11)) (n: string): { x: number }; >n : Symbol(n, Decl(file.tsx, 13, 2)) @@ -41,15 +41,15 @@ interface Obj2 { >n : Symbol(n, Decl(file.tsx, 14, 2)) >y : Symbol(y, Decl(file.tsx, 14, 15)) } -var Obj2: Obj2; ->Obj2 : Symbol(Obj2, Decl(file.tsx, 10, 9), Decl(file.tsx, 16, 3)) ->Obj2 : Symbol(Obj2, Decl(file.tsx, 10, 9), Decl(file.tsx, 16, 3)) +declare var Obj2: Obj2; +>Obj2 : Symbol(Obj2, Decl(file.tsx, 10, 9), Decl(file.tsx, 16, 11)) +>Obj2 : Symbol(Obj2, Decl(file.tsx, 10, 9), Decl(file.tsx, 16, 11)) ; // Error, return type is not an object type ->Obj2 : Symbol(Obj2, Decl(file.tsx, 10, 9), Decl(file.tsx, 16, 3)) +>Obj2 : Symbol(Obj2, Decl(file.tsx, 10, 9), Decl(file.tsx, 16, 11)) interface Obj3 { ->Obj3 : Symbol(Obj3, Decl(file.tsx, 17, 9), Decl(file.tsx, 23, 3)) +>Obj3 : Symbol(Obj3, Decl(file.tsx, 17, 9), Decl(file.tsx, 23, 11)) (n: string): { x: number }; >n : Symbol(n, Decl(file.tsx, 20, 2)) @@ -60,11 +60,11 @@ interface Obj3 { >x : Symbol(x, Decl(file.tsx, 21, 15)) >y : Symbol(y, Decl(file.tsx, 21, 26)) } -var Obj3: Obj3; ->Obj3 : Symbol(Obj3, Decl(file.tsx, 17, 9), Decl(file.tsx, 23, 3)) ->Obj3 : Symbol(Obj3, Decl(file.tsx, 17, 9), Decl(file.tsx, 23, 3)) +declare var Obj3: Obj3; +>Obj3 : Symbol(Obj3, Decl(file.tsx, 17, 9), Decl(file.tsx, 23, 11)) +>Obj3 : Symbol(Obj3, Decl(file.tsx, 17, 9), Decl(file.tsx, 23, 11)) ; // OK ->Obj3 : Symbol(Obj3, Decl(file.tsx, 17, 9), Decl(file.tsx, 23, 3)) +>Obj3 : Symbol(Obj3, Decl(file.tsx, 17, 9), Decl(file.tsx, 23, 11)) >x : Symbol(x, Decl(file.tsx, 24, 5)) diff --git a/tests/baselines/reference/tsxElementResolution9.types b/tests/baselines/reference/tsxElementResolution9.types index 6344b921ec088..2e49db56d8e58 100644 --- a/tests/baselines/reference/tsxElementResolution9.types +++ b/tests/baselines/reference/tsxElementResolution9.types @@ -22,7 +22,7 @@ interface Obj1 { >y : string > : ^^^^^^ } -var Obj1: Obj1; +declare var Obj1: Obj1; >Obj1 : Obj1 > : ^^^^ @@ -45,7 +45,7 @@ interface Obj2 { >y : string > : ^^^^^^ } -var Obj2: Obj2; +declare var Obj2: Obj2; >Obj2 : Obj2 > : ^^^^ @@ -70,7 +70,7 @@ interface Obj3 { >y : string > : ^^^^^^ } -var Obj3: Obj3; +declare var Obj3: Obj3; >Obj3 : Obj3 > : ^^^^ diff --git a/tests/baselines/reference/tsxIntrinsicAttributeErrors.errors.txt b/tests/baselines/reference/tsxIntrinsicAttributeErrors.errors.txt index 75c8c98e55ca4..2c2f39c193513 100644 --- a/tests/baselines/reference/tsxIntrinsicAttributeErrors.errors.txt +++ b/tests/baselines/reference/tsxIntrinsicAttributeErrors.errors.txt @@ -29,7 +29,7 @@ tsxIntrinsicAttributeErrors.tsx(29,2): error TS2741: Property 'key' is missing i render(): void } } - var E: I; + declare var E: I; ~ !!! error TS2741: Property 'key' is missing in type '{ x: number; }' but required in type 'IntrinsicAttributes'. diff --git a/tests/baselines/reference/tsxIntrinsicAttributeErrors.js b/tests/baselines/reference/tsxIntrinsicAttributeErrors.js index 6cd13f6291691..1186096983630 100644 --- a/tests/baselines/reference/tsxIntrinsicAttributeErrors.js +++ b/tests/baselines/reference/tsxIntrinsicAttributeErrors.js @@ -28,10 +28,9 @@ interface I { render(): void } } -var E: I; +declare var E: I; //// [tsxIntrinsicAttributeErrors.jsx] -var E; ; diff --git a/tests/baselines/reference/tsxIntrinsicAttributeErrors.symbols b/tests/baselines/reference/tsxIntrinsicAttributeErrors.symbols index 399269e49ea28..5fdde691c6179 100644 --- a/tests/baselines/reference/tsxIntrinsicAttributeErrors.symbols +++ b/tests/baselines/reference/tsxIntrinsicAttributeErrors.symbols @@ -58,11 +58,11 @@ interface I { >render : Symbol(render, Decl(tsxIntrinsicAttributeErrors.tsx, 23, 17)) } } -var E: I; ->E : Symbol(E, Decl(tsxIntrinsicAttributeErrors.tsx, 27, 3)) +declare var E: I; +>E : Symbol(E, Decl(tsxIntrinsicAttributeErrors.tsx, 27, 11)) >I : Symbol(I, Decl(tsxIntrinsicAttributeErrors.tsx, 19, 1)) ->E : Symbol(E, Decl(tsxIntrinsicAttributeErrors.tsx, 27, 3)) +>E : Symbol(E, Decl(tsxIntrinsicAttributeErrors.tsx, 27, 11)) >x : Symbol(x, Decl(tsxIntrinsicAttributeErrors.tsx, 28, 2)) diff --git a/tests/baselines/reference/tsxIntrinsicAttributeErrors.types b/tests/baselines/reference/tsxIntrinsicAttributeErrors.types index 6b6f0c031dd35..f8153cc1b5804 100644 --- a/tests/baselines/reference/tsxIntrinsicAttributeErrors.types +++ b/tests/baselines/reference/tsxIntrinsicAttributeErrors.types @@ -52,7 +52,7 @@ interface I { > : ^^^^^^ } } -var E: I; +declare var E: I; >E : I > : ^ diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).errors.txt b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).errors.txt index 662da7b4b6f05..fb160a2421a85 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).errors.txt +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).errors.txt @@ -33,6 +33,6 @@ tsxSpreadChildrenInvalidType.tsx(21,9): error TS2609: JSX spread child must be a {...( as any)} ; } - let x: TodoListProps; + declare let x: TodoListProps; \ No newline at end of file diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).js b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).js index 6d07dca5b399a..7aea2dbb8f9d7 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).js +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).js @@ -30,7 +30,7 @@ function TodoListNoError({ todos }: TodoListProps) { {...( as any)} ; } -let x: TodoListProps; +declare let x: TodoListProps; @@ -45,5 +45,4 @@ function TodoListNoError({ todos }) { // any is not checked return React.createElement("div", null, ...React.createElement(Todo, { key: todos[0].id, todo: todos[0].todo })); } -let x; React.createElement(TodoList, Object.assign({}, x)); diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).symbols b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).symbols index 3c1bdd1dd8f79..85af82ef46883 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).symbols +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).symbols @@ -96,11 +96,11 @@ function TodoListNoError({ todos }: TodoListProps) { ; >div : Symbol(JSX.IntrinsicElements.__index, Decl(tsxSpreadChildrenInvalidType.tsx, 2, 30)) } -let x: TodoListProps; ->x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 3)) +declare let x: TodoListProps; +>x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 11)) >TodoListProps : Symbol(TodoListProps, Decl(tsxSpreadChildrenInvalidType.tsx, 11, 1)) >TodoList : Symbol(TodoList, Decl(tsxSpreadChildrenInvalidType.tsx, 17, 1)) ->x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 3)) +>x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 11)) diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types index 8a920d8c76cfc..318ccc4c63210 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types @@ -162,7 +162,7 @@ function TodoListNoError({ todos }: TodoListProps) { >div : any > : ^^^ } -let x: TodoListProps; +declare let x: TodoListProps; >x : TodoListProps > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).errors.txt b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).errors.txt index 662da7b4b6f05..fb160a2421a85 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).errors.txt +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).errors.txt @@ -33,6 +33,6 @@ tsxSpreadChildrenInvalidType.tsx(21,9): error TS2609: JSX spread child must be a {...( as any)} ; } - let x: TodoListProps; + declare let x: TodoListProps; \ No newline at end of file diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).js b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).js index f9f95bba2e691..ec1aa0ab47d1e 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).js +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).js @@ -30,7 +30,7 @@ function TodoListNoError({ todos }: TodoListProps) { {...( as any)} ; } -let x: TodoListProps; +declare let x: TodoListProps; @@ -67,5 +67,4 @@ function TodoListNoError(_a) { // any is not checked return React.createElement.apply(React, __spreadArray(["div", null], React.createElement(Todo, { key: todos[0].id, todo: todos[0].todo }), false)); } -var x; React.createElement(TodoList, __assign({}, x)); diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).symbols b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).symbols index 3c1bdd1dd8f79..85af82ef46883 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).symbols +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).symbols @@ -96,11 +96,11 @@ function TodoListNoError({ todos }: TodoListProps) { ; >div : Symbol(JSX.IntrinsicElements.__index, Decl(tsxSpreadChildrenInvalidType.tsx, 2, 30)) } -let x: TodoListProps; ->x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 3)) +declare let x: TodoListProps; +>x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 11)) >TodoListProps : Symbol(TodoListProps, Decl(tsxSpreadChildrenInvalidType.tsx, 11, 1)) >TodoList : Symbol(TodoList, Decl(tsxSpreadChildrenInvalidType.tsx, 17, 1)) ->x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 3)) +>x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 11)) diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types index 8a920d8c76cfc..318ccc4c63210 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types @@ -162,7 +162,7 @@ function TodoListNoError({ todos }: TodoListProps) { >div : any > : ^^^ } -let x: TodoListProps; +declare let x: TodoListProps; >x : TodoListProps > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).errors.txt b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).errors.txt index f588ee4714406..834a97c28b803 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).errors.txt +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).errors.txt @@ -36,6 +36,6 @@ tsxSpreadChildrenInvalidType.tsx(21,9): error TS2609: JSX spread child must be a {...( as any)} ; } - let x: TodoListProps; + declare let x: TodoListProps; \ No newline at end of file diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).js b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).js index ae8913b8dcca5..8a2133edb3af6 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).js +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).js @@ -30,7 +30,7 @@ function TodoListNoError({ todos }: TodoListProps) { {...( as any)} ; } -let x: TodoListProps; +declare let x: TodoListProps; @@ -46,5 +46,4 @@ function TodoListNoError({ todos }) { // any is not checked return _jsxs("div", { children: [..._jsx(Todo, { todo: todos[0].todo }, todos[0].id)] }); } -let x; _jsx(TodoList, Object.assign({}, x)); diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).symbols b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).symbols index 912bc3d6af9e2..f8ae3472d4019 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).symbols +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).symbols @@ -88,11 +88,11 @@ function TodoListNoError({ todos }: TodoListProps) { ; } -let x: TodoListProps; ->x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 3)) +declare let x: TodoListProps; +>x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 11)) >TodoListProps : Symbol(TodoListProps, Decl(tsxSpreadChildrenInvalidType.tsx, 11, 1)) >TodoList : Symbol(TodoList, Decl(tsxSpreadChildrenInvalidType.tsx, 17, 1)) ->x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 3)) +>x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 11)) diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types index d1d91d0e97593..975f442cbb899 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types @@ -162,7 +162,7 @@ function TodoListNoError({ todos }: TodoListProps) { >div : any > : ^^^ } -let x: TodoListProps; +declare let x: TodoListProps; >x : TodoListProps > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).errors.txt b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).errors.txt index f588ee4714406..834a97c28b803 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).errors.txt +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).errors.txt @@ -36,6 +36,6 @@ tsxSpreadChildrenInvalidType.tsx(21,9): error TS2609: JSX spread child must be a {...( as any)} ; } - let x: TodoListProps; + declare let x: TodoListProps; \ No newline at end of file diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).js b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).js index ca623655b2d27..36f2a18fc225e 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).js +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).js @@ -30,7 +30,7 @@ function TodoListNoError({ todos }: TodoListProps) { {...( as any)} ; } -let x: TodoListProps; +declare let x: TodoListProps; @@ -70,5 +70,4 @@ function TodoListNoError(_a) { // any is not checked return (0, jsx_runtime_1.jsxs)("div", { children: __spreadArray([], (0, jsx_runtime_1.jsx)(Todo, { todo: todos[0].todo }, todos[0].id), true) }); } -var x; (0, jsx_runtime_1.jsx)(TodoList, __assign({}, x)); diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).symbols b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).symbols index 912bc3d6af9e2..f8ae3472d4019 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).symbols +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).symbols @@ -88,11 +88,11 @@ function TodoListNoError({ todos }: TodoListProps) { ; } -let x: TodoListProps; ->x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 3)) +declare let x: TodoListProps; +>x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 11)) >TodoListProps : Symbol(TodoListProps, Decl(tsxSpreadChildrenInvalidType.tsx, 11, 1)) >TodoList : Symbol(TodoList, Decl(tsxSpreadChildrenInvalidType.tsx, 17, 1)) ->x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 3)) +>x : Symbol(x, Decl(tsxSpreadChildrenInvalidType.tsx, 29, 11)) diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types index d1d91d0e97593..975f442cbb899 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types @@ -162,7 +162,7 @@ function TodoListNoError({ todos }: TodoListProps) { >div : any > : ^^^ } -let x: TodoListProps; +declare let x: TodoListProps; >x : TodoListProps > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/twoInterfacesDifferentRootModule.errors.txt b/tests/baselines/reference/twoInterfacesDifferentRootModule.errors.txt index b39a1ab1b8ced..02905e4542e34 100644 --- a/tests/baselines/reference/twoInterfacesDifferentRootModule.errors.txt +++ b/tests/baselines/reference/twoInterfacesDifferentRootModule.errors.txt @@ -20,7 +20,7 @@ twoInterfacesDifferentRootModule.ts(27,16): error TS2339: Property 'foo' does no bar: number; } - var a: A; + declare var a: A; var r1 = a.foo; // error ~~~ !!! error TS2339: Property 'foo' does not exist on type 'A'. @@ -30,7 +30,7 @@ twoInterfacesDifferentRootModule.ts(27,16): error TS2339: Property 'foo' does no bar: T; } - var b: B; + declare var b: B; var r3 = b.foo; // error ~~~ !!! error TS2339: Property 'foo' does not exist on type 'B'. diff --git a/tests/baselines/reference/twoInterfacesDifferentRootModule.js b/tests/baselines/reference/twoInterfacesDifferentRootModule.js index abc9a27d934db..850767ee17dba 100644 --- a/tests/baselines/reference/twoInterfacesDifferentRootModule.js +++ b/tests/baselines/reference/twoInterfacesDifferentRootModule.js @@ -18,7 +18,7 @@ namespace M2 { bar: number; } - var a: A; + declare var a: A; var r1 = a.foo; // error var r2 = a.bar; @@ -26,7 +26,7 @@ namespace M2 { bar: T; } - var b: B; + declare var b: B; var r3 = b.foo; // error var r4 = b.bar; } @@ -35,10 +35,8 @@ namespace M2 { // two interfaces with different root modules should not merge var M2; (function (M2) { - var a; var r1 = a.foo; // error var r2 = a.bar; - var b; var r3 = b.foo; // error var r4 = b.bar; })(M2 || (M2 = {})); diff --git a/tests/baselines/reference/twoInterfacesDifferentRootModule.symbols b/tests/baselines/reference/twoInterfacesDifferentRootModule.symbols index 7dbd1f5bf03c2..1a55782278951 100644 --- a/tests/baselines/reference/twoInterfacesDifferentRootModule.symbols +++ b/tests/baselines/reference/twoInterfacesDifferentRootModule.symbols @@ -33,18 +33,18 @@ namespace M2 { >bar : Symbol(A.bar, Decl(twoInterfacesDifferentRootModule.ts, 13, 24)) } - var a: A; ->a : Symbol(a, Decl(twoInterfacesDifferentRootModule.ts, 17, 7)) + declare var a: A; +>a : Symbol(a, Decl(twoInterfacesDifferentRootModule.ts, 17, 15)) >A : Symbol(A, Decl(twoInterfacesDifferentRootModule.ts, 12, 14)) var r1 = a.foo; // error >r1 : Symbol(r1, Decl(twoInterfacesDifferentRootModule.ts, 18, 7)) ->a : Symbol(a, Decl(twoInterfacesDifferentRootModule.ts, 17, 7)) +>a : Symbol(a, Decl(twoInterfacesDifferentRootModule.ts, 17, 15)) var r2 = a.bar; >r2 : Symbol(r2, Decl(twoInterfacesDifferentRootModule.ts, 19, 7)) >a.bar : Symbol(A.bar, Decl(twoInterfacesDifferentRootModule.ts, 13, 24)) ->a : Symbol(a, Decl(twoInterfacesDifferentRootModule.ts, 17, 7)) +>a : Symbol(a, Decl(twoInterfacesDifferentRootModule.ts, 17, 15)) >bar : Symbol(A.bar, Decl(twoInterfacesDifferentRootModule.ts, 13, 24)) export interface B { @@ -56,17 +56,17 @@ namespace M2 { >T : Symbol(T, Decl(twoInterfacesDifferentRootModule.ts, 21, 23)) } - var b: B; ->b : Symbol(b, Decl(twoInterfacesDifferentRootModule.ts, 25, 7)) + declare var b: B; +>b : Symbol(b, Decl(twoInterfacesDifferentRootModule.ts, 25, 15)) >B : Symbol(B, Decl(twoInterfacesDifferentRootModule.ts, 19, 19)) var r3 = b.foo; // error >r3 : Symbol(r3, Decl(twoInterfacesDifferentRootModule.ts, 26, 7)) ->b : Symbol(b, Decl(twoInterfacesDifferentRootModule.ts, 25, 7)) +>b : Symbol(b, Decl(twoInterfacesDifferentRootModule.ts, 25, 15)) var r4 = b.bar; >r4 : Symbol(r4, Decl(twoInterfacesDifferentRootModule.ts, 27, 7)) >b.bar : Symbol(B.bar, Decl(twoInterfacesDifferentRootModule.ts, 21, 27)) ->b : Symbol(b, Decl(twoInterfacesDifferentRootModule.ts, 25, 7)) +>b : Symbol(b, Decl(twoInterfacesDifferentRootModule.ts, 25, 15)) >bar : Symbol(B.bar, Decl(twoInterfacesDifferentRootModule.ts, 21, 27)) } diff --git a/tests/baselines/reference/twoInterfacesDifferentRootModule.types b/tests/baselines/reference/twoInterfacesDifferentRootModule.types index 7caf54bc64966..b6f0787703452 100644 --- a/tests/baselines/reference/twoInterfacesDifferentRootModule.types +++ b/tests/baselines/reference/twoInterfacesDifferentRootModule.types @@ -27,7 +27,7 @@ namespace M2 { > : ^^^^^^ } - var a: A; + declare var a: A; >a : A > : ^ @@ -57,7 +57,7 @@ namespace M2 { > : ^ } - var b: B; + declare var b: B; >b : B > : ^^^^^^^^^ diff --git a/tests/baselines/reference/twoInterfacesDifferentRootModule2.errors.txt b/tests/baselines/reference/twoInterfacesDifferentRootModule2.errors.txt index 55ba198e0ce47..3c977bc9946c7 100644 --- a/tests/baselines/reference/twoInterfacesDifferentRootModule2.errors.txt +++ b/tests/baselines/reference/twoInterfacesDifferentRootModule2.errors.txt @@ -21,7 +21,7 @@ twoInterfacesDifferentRootModule2.ts(36,16): error TS2339: Property 'bar' does n bar: number; } - var a: A; + declare var a: A; var r1 = a.foo; // error ~~~ !!! error TS2339: Property 'foo' does not exist on type 'A'. @@ -31,20 +31,20 @@ twoInterfacesDifferentRootModule2.ts(36,16): error TS2339: Property 'bar' does n bar: T; } - var b: B; + declare var b: B; var r3 = b.foo; // error ~~~ !!! error TS2339: Property 'foo' does not exist on type 'B'. var r4 = b.bar; } - var a: A; + declare var a: A; var r1 = a.foo; var r2 = a.bar; // error ~~~ !!! error TS2339: Property 'bar' does not exist on type 'A'. - var b: B; + declare var b: B; var r3 = b.foo; var r4 = b.bar; // error ~~~ diff --git a/tests/baselines/reference/twoInterfacesDifferentRootModule2.js b/tests/baselines/reference/twoInterfacesDifferentRootModule2.js index 042699b1c3523..3ec2dfcace514 100644 --- a/tests/baselines/reference/twoInterfacesDifferentRootModule2.js +++ b/tests/baselines/reference/twoInterfacesDifferentRootModule2.js @@ -17,7 +17,7 @@ namespace M { bar: number; } - var a: A; + declare var a: A; var r1 = a.foo; // error var r2 = a.bar; @@ -25,16 +25,16 @@ namespace M { bar: T; } - var b: B; + declare var b: B; var r3 = b.foo; // error var r4 = b.bar; } - var a: A; + declare var a: A; var r1 = a.foo; var r2 = a.bar; // error - var b: B; + declare var b: B; var r3 = b.foo; var r4 = b.bar; // error } @@ -45,17 +45,13 @@ var M; (function (M) { var M2; (function (M2) { - var a; var r1 = a.foo; // error var r2 = a.bar; - var b; var r3 = b.foo; // error var r4 = b.bar; })(M2 || (M2 = {})); - var a; var r1 = a.foo; var r2 = a.bar; // error - var b; var r3 = b.foo; var r4 = b.bar; // error })(M || (M = {})); diff --git a/tests/baselines/reference/twoInterfacesDifferentRootModule2.symbols b/tests/baselines/reference/twoInterfacesDifferentRootModule2.symbols index 9e1b322985727..287450491cc81 100644 --- a/tests/baselines/reference/twoInterfacesDifferentRootModule2.symbols +++ b/tests/baselines/reference/twoInterfacesDifferentRootModule2.symbols @@ -32,18 +32,18 @@ namespace M { >bar : Symbol(A.bar, Decl(twoInterfacesDifferentRootModule2.ts, 12, 28)) } - var a: A; ->a : Symbol(a, Decl(twoInterfacesDifferentRootModule2.ts, 16, 11)) + declare var a: A; +>a : Symbol(a, Decl(twoInterfacesDifferentRootModule2.ts, 16, 19)) >A : Symbol(A, Decl(twoInterfacesDifferentRootModule2.ts, 11, 18)) var r1 = a.foo; // error >r1 : Symbol(r1, Decl(twoInterfacesDifferentRootModule2.ts, 17, 11)) ->a : Symbol(a, Decl(twoInterfacesDifferentRootModule2.ts, 16, 11)) +>a : Symbol(a, Decl(twoInterfacesDifferentRootModule2.ts, 16, 19)) var r2 = a.bar; >r2 : Symbol(r2, Decl(twoInterfacesDifferentRootModule2.ts, 18, 11)) >a.bar : Symbol(A.bar, Decl(twoInterfacesDifferentRootModule2.ts, 12, 28)) ->a : Symbol(a, Decl(twoInterfacesDifferentRootModule2.ts, 16, 11)) +>a : Symbol(a, Decl(twoInterfacesDifferentRootModule2.ts, 16, 19)) >bar : Symbol(A.bar, Decl(twoInterfacesDifferentRootModule2.ts, 12, 28)) export interface B { @@ -55,46 +55,46 @@ namespace M { >T : Symbol(T, Decl(twoInterfacesDifferentRootModule2.ts, 20, 27)) } - var b: B; ->b : Symbol(b, Decl(twoInterfacesDifferentRootModule2.ts, 24, 11)) + declare var b: B; +>b : Symbol(b, Decl(twoInterfacesDifferentRootModule2.ts, 24, 19)) >B : Symbol(B, Decl(twoInterfacesDifferentRootModule2.ts, 18, 23)) var r3 = b.foo; // error >r3 : Symbol(r3, Decl(twoInterfacesDifferentRootModule2.ts, 25, 11)) ->b : Symbol(b, Decl(twoInterfacesDifferentRootModule2.ts, 24, 11)) +>b : Symbol(b, Decl(twoInterfacesDifferentRootModule2.ts, 24, 19)) var r4 = b.bar; >r4 : Symbol(r4, Decl(twoInterfacesDifferentRootModule2.ts, 26, 11)) >b.bar : Symbol(B.bar, Decl(twoInterfacesDifferentRootModule2.ts, 20, 31)) ->b : Symbol(b, Decl(twoInterfacesDifferentRootModule2.ts, 24, 11)) +>b : Symbol(b, Decl(twoInterfacesDifferentRootModule2.ts, 24, 19)) >bar : Symbol(B.bar, Decl(twoInterfacesDifferentRootModule2.ts, 20, 31)) } - var a: A; ->a : Symbol(a, Decl(twoInterfacesDifferentRootModule2.ts, 29, 7)) + declare var a: A; +>a : Symbol(a, Decl(twoInterfacesDifferentRootModule2.ts, 29, 15)) >A : Symbol(A, Decl(twoInterfacesDifferentRootModule2.ts, 2, 13)) var r1 = a.foo; >r1 : Symbol(r1, Decl(twoInterfacesDifferentRootModule2.ts, 30, 7)) >a.foo : Symbol(A.foo, Decl(twoInterfacesDifferentRootModule2.ts, 3, 24)) ->a : Symbol(a, Decl(twoInterfacesDifferentRootModule2.ts, 29, 7)) +>a : Symbol(a, Decl(twoInterfacesDifferentRootModule2.ts, 29, 15)) >foo : Symbol(A.foo, Decl(twoInterfacesDifferentRootModule2.ts, 3, 24)) var r2 = a.bar; // error >r2 : Symbol(r2, Decl(twoInterfacesDifferentRootModule2.ts, 31, 7)) ->a : Symbol(a, Decl(twoInterfacesDifferentRootModule2.ts, 29, 7)) +>a : Symbol(a, Decl(twoInterfacesDifferentRootModule2.ts, 29, 15)) - var b: B; ->b : Symbol(b, Decl(twoInterfacesDifferentRootModule2.ts, 33, 7)) + declare var b: B; +>b : Symbol(b, Decl(twoInterfacesDifferentRootModule2.ts, 33, 15)) >B : Symbol(B, Decl(twoInterfacesDifferentRootModule2.ts, 5, 5)) var r3 = b.foo; >r3 : Symbol(r3, Decl(twoInterfacesDifferentRootModule2.ts, 34, 7)) >b.foo : Symbol(B.foo, Decl(twoInterfacesDifferentRootModule2.ts, 7, 27)) ->b : Symbol(b, Decl(twoInterfacesDifferentRootModule2.ts, 33, 7)) +>b : Symbol(b, Decl(twoInterfacesDifferentRootModule2.ts, 33, 15)) >foo : Symbol(B.foo, Decl(twoInterfacesDifferentRootModule2.ts, 7, 27)) var r4 = b.bar; // error >r4 : Symbol(r4, Decl(twoInterfacesDifferentRootModule2.ts, 35, 7)) ->b : Symbol(b, Decl(twoInterfacesDifferentRootModule2.ts, 33, 7)) +>b : Symbol(b, Decl(twoInterfacesDifferentRootModule2.ts, 33, 15)) } diff --git a/tests/baselines/reference/twoInterfacesDifferentRootModule2.types b/tests/baselines/reference/twoInterfacesDifferentRootModule2.types index 6f800ceaa271c..1f61f7834b379 100644 --- a/tests/baselines/reference/twoInterfacesDifferentRootModule2.types +++ b/tests/baselines/reference/twoInterfacesDifferentRootModule2.types @@ -29,7 +29,7 @@ namespace M { > : ^^^^^^ } - var a: A; + declare var a: A; >a : A > : ^ @@ -59,7 +59,7 @@ namespace M { > : ^ } - var b: B; + declare var b: B; >b : B > : ^^^^^^^^^ @@ -84,7 +84,7 @@ namespace M { > : ^^^^^^ } - var a: A; + declare var a: A; >a : A > : ^ @@ -108,7 +108,7 @@ namespace M { >bar : any > : ^^^ - var b: B; + declare var b: B; >b : B > : ^^^^^^^^^ diff --git a/tests/baselines/reference/typeAliasDeclareKeywordNewlines.errors.txt b/tests/baselines/reference/typeAliasDeclareKeywordNewlines.errors.txt index afbea95e16117..576977a0f12c5 100644 --- a/tests/baselines/reference/typeAliasDeclareKeywordNewlines.errors.txt +++ b/tests/baselines/reference/typeAliasDeclareKeywordNewlines.errors.txt @@ -1,8 +1,9 @@ -typeAliasDeclareKeywordNewlines.ts(5,1): error TS1142: Line break not permitted here. +typeAliasDeclareKeywordNewlines.ts(6,1): error TS1142: Line break not permitted here. ==== typeAliasDeclareKeywordNewlines.ts (1 errors) ==== - var declare: string, type: number; + declare var declare: string; + declare var type: number; // The following is invalid but should declare a type alias named 'T1': declare type /*unexpected newline*/ @@ -11,7 +12,7 @@ typeAliasDeclareKeywordNewlines.ts(5,1): error TS1142: Line break not permitted !!! error TS1142: Line break not permitted here. const t1: T1 = null; // Assert that T1 is the null type. - let T: null; + let T: null = null; // The following should use a variable named 'declare', use a variable named // 'type', and assign to a variable named 'T'. declare /*ASI*/ diff --git a/tests/baselines/reference/typeAliasDeclareKeywordNewlines.js b/tests/baselines/reference/typeAliasDeclareKeywordNewlines.js index dda27f355c915..9c1a081b94a88 100644 --- a/tests/baselines/reference/typeAliasDeclareKeywordNewlines.js +++ b/tests/baselines/reference/typeAliasDeclareKeywordNewlines.js @@ -1,14 +1,15 @@ //// [tests/cases/compiler/typeAliasDeclareKeywordNewlines.ts] //// //// [typeAliasDeclareKeywordNewlines.ts] -var declare: string, type: number; +declare var declare: string; +declare var type: number; // The following is invalid but should declare a type alias named 'T1': declare type /*unexpected newline*/ T1 = null; const t1: T1 = null; // Assert that T1 is the null type. -let T: null; +let T: null = null; // The following should use a variable named 'declare', use a variable named // 'type', and assign to a variable named 'T'. declare /*ASI*/ @@ -23,9 +24,8 @@ const t2: T2 = null; // Assert that T2 is the null type. //// [typeAliasDeclareKeywordNewlines.js] -var declare, type; var t1 = null; // Assert that T1 is the null type. -var T; +var T = null; // The following should use a variable named 'declare', use a variable named // 'type', and assign to a variable named 'T'. declare; /*ASI*/ diff --git a/tests/baselines/reference/typeAliasDeclareKeywordNewlines.symbols b/tests/baselines/reference/typeAliasDeclareKeywordNewlines.symbols index 95ce65218ec83..1970170bccd36 100644 --- a/tests/baselines/reference/typeAliasDeclareKeywordNewlines.symbols +++ b/tests/baselines/reference/typeAliasDeclareKeywordNewlines.symbols @@ -1,42 +1,44 @@ //// [tests/cases/compiler/typeAliasDeclareKeywordNewlines.ts] //// === typeAliasDeclareKeywordNewlines.ts === -var declare: string, type: number; ->declare : Symbol(declare, Decl(typeAliasDeclareKeywordNewlines.ts, 0, 3)) ->type : Symbol(type, Decl(typeAliasDeclareKeywordNewlines.ts, 0, 20)) +declare var declare: string; +>declare : Symbol(declare, Decl(typeAliasDeclareKeywordNewlines.ts, 0, 11)) + +declare var type: number; +>type : Symbol(type, Decl(typeAliasDeclareKeywordNewlines.ts, 1, 11)) // The following is invalid but should declare a type alias named 'T1': declare type /*unexpected newline*/ T1 = null; ->T1 : Symbol(T1, Decl(typeAliasDeclareKeywordNewlines.ts, 0, 34)) +>T1 : Symbol(T1, Decl(typeAliasDeclareKeywordNewlines.ts, 1, 25)) const t1: T1 = null; // Assert that T1 is the null type. ->t1 : Symbol(t1, Decl(typeAliasDeclareKeywordNewlines.ts, 5, 5)) ->T1 : Symbol(T1, Decl(typeAliasDeclareKeywordNewlines.ts, 0, 34)) +>t1 : Symbol(t1, Decl(typeAliasDeclareKeywordNewlines.ts, 6, 5)) +>T1 : Symbol(T1, Decl(typeAliasDeclareKeywordNewlines.ts, 1, 25)) -let T: null; ->T : Symbol(T, Decl(typeAliasDeclareKeywordNewlines.ts, 7, 3)) +let T: null = null; +>T : Symbol(T, Decl(typeAliasDeclareKeywordNewlines.ts, 8, 3)) // The following should use a variable named 'declare', use a variable named // 'type', and assign to a variable named 'T'. declare /*ASI*/ ->declare : Symbol(declare, Decl(typeAliasDeclareKeywordNewlines.ts, 0, 3)) +>declare : Symbol(declare, Decl(typeAliasDeclareKeywordNewlines.ts, 0, 11)) type /*ASI*/ ->type : Symbol(type, Decl(typeAliasDeclareKeywordNewlines.ts, 0, 20)) +>type : Symbol(type, Decl(typeAliasDeclareKeywordNewlines.ts, 1, 11)) T = null; ->T : Symbol(T, Decl(typeAliasDeclareKeywordNewlines.ts, 7, 3)) +>T : Symbol(T, Decl(typeAliasDeclareKeywordNewlines.ts, 8, 3)) // The following should use a variable named 'declare' and declare a type alias // named 'T2': declare /*ASI*/ ->declare : Symbol(declare, Decl(typeAliasDeclareKeywordNewlines.ts, 0, 3)) +>declare : Symbol(declare, Decl(typeAliasDeclareKeywordNewlines.ts, 0, 11)) type T2 = null; ->T2 : Symbol(T2, Decl(typeAliasDeclareKeywordNewlines.ts, 16, 7)) +>T2 : Symbol(T2, Decl(typeAliasDeclareKeywordNewlines.ts, 17, 7)) const t2: T2 = null; // Assert that T2 is the null type. ->t2 : Symbol(t2, Decl(typeAliasDeclareKeywordNewlines.ts, 18, 5)) ->T2 : Symbol(T2, Decl(typeAliasDeclareKeywordNewlines.ts, 16, 7)) +>t2 : Symbol(t2, Decl(typeAliasDeclareKeywordNewlines.ts, 19, 5)) +>T2 : Symbol(T2, Decl(typeAliasDeclareKeywordNewlines.ts, 17, 7)) diff --git a/tests/baselines/reference/typeAliasDeclareKeywordNewlines.types b/tests/baselines/reference/typeAliasDeclareKeywordNewlines.types index b046ab654777b..6e082e79b06fa 100644 --- a/tests/baselines/reference/typeAliasDeclareKeywordNewlines.types +++ b/tests/baselines/reference/typeAliasDeclareKeywordNewlines.types @@ -1,9 +1,11 @@ //// [tests/cases/compiler/typeAliasDeclareKeywordNewlines.ts] //// === typeAliasDeclareKeywordNewlines.ts === -var declare: string, type: number; +declare var declare: string; >declare : string > : ^^^^^^ + +declare var type: number; >type : number > : ^^^^^^ @@ -17,7 +19,7 @@ const t1: T1 = null; // Assert that T1 is the null type. >t1 : null > : ^^^^ -let T: null; +let T: null = null; >T : null > : ^^^^ diff --git a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt index 98b9862c07c8f..1679e18f089f0 100644 --- a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt +++ b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt @@ -9,8 +9,8 @@ typeArgumentInferenceConstructSignatures.ts(81,45): error TS2345: Argument of ty Types of parameters 'n' and 'b' are incompatible. Type 'number' is not assignable to type 'string'. typeArgumentInferenceConstructSignatures.ts(106,33): error TS2345: Argument of type '0' is not assignable to parameter of type '""'. -typeArgumentInferenceConstructSignatures.ts(107,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'a9a' must be of type 'string', but here has type '{}'. -typeArgumentInferenceConstructSignatures.ts(121,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'a9e' must be of type '{ x: number; z: Window & typeof globalThis; y?: undefined; } | { x: number; y: string; z?: undefined; }', but here has type '{}'. +typeArgumentInferenceConstructSignatures.ts(107,13): error TS2403: Subsequent variable declarations must have the same type. Variable 'a9a' must be of type 'string', but here has type '{}'. +typeArgumentInferenceConstructSignatures.ts(121,13): error TS2403: Subsequent variable declarations must have the same type. Variable 'a9e' must be of type '{ x: number; z: Window & typeof globalThis; y?: undefined; } | { x: number; y: string; z?: undefined; }', but here has type '{}'. typeArgumentInferenceConstructSignatures.ts(122,74): error TS2353: Object literal may only specify known properties, and 'y' does not exist in type 'A92'. @@ -19,7 +19,7 @@ typeArgumentInferenceConstructSignatures.ts(122,74): error TS2353: Object litera interface NoParams { new (); } - var noParams: NoParams; + declare var noParams: NoParams; new noParams(); new noParams(); new noParams<{}>(); @@ -28,7 +28,7 @@ typeArgumentInferenceConstructSignatures.ts(122,74): error TS2353: Object litera interface noGenericParams { new (n: string); } - var noGenericParams: noGenericParams; + declare var noGenericParams: noGenericParams; new noGenericParams(''); new noGenericParams(''); new noGenericParams<{}>(''); @@ -37,7 +37,7 @@ typeArgumentInferenceConstructSignatures.ts(122,74): error TS2353: Object litera interface someGenerics1 { new (n: T, m: number); } - var someGenerics1: someGenerics1; + declare var someGenerics1: someGenerics1; new someGenerics1(3, 4); new someGenerics1(3, 4); // Error ~ @@ -48,7 +48,7 @@ typeArgumentInferenceConstructSignatures.ts(122,74): error TS2353: Object litera interface someGenerics2a { new (n: (x: T) => void); } - var someGenerics2a: someGenerics2a; + declare var someGenerics2a: someGenerics2a; new someGenerics2a((n: string) => n); new someGenerics2a((n: string) => n); new someGenerics2a((n) => n.substr(0)); @@ -56,7 +56,7 @@ typeArgumentInferenceConstructSignatures.ts(122,74): error TS2353: Object litera interface someGenerics2b { new (n: (x: T, y: U) => void); } - var someGenerics2b: someGenerics2b; + declare var someGenerics2b: someGenerics2b; new someGenerics2b((n: string, x: number) => n); new someGenerics2b((n: string, t: number) => n); new someGenerics2b((n, t) => n.substr(t * t)); @@ -65,7 +65,7 @@ typeArgumentInferenceConstructSignatures.ts(122,74): error TS2353: Object litera interface someGenerics3 { new (producer: () => T); } - var someGenerics3: someGenerics3; + declare var someGenerics3: someGenerics3; new someGenerics3(() => ''); new someGenerics3(() => undefined); new someGenerics3(() => 3); @@ -74,7 +74,7 @@ typeArgumentInferenceConstructSignatures.ts(122,74): error TS2353: Object litera interface someGenerics4 { new (n: T, f: (x: U) => void); } - var someGenerics4: someGenerics4; + declare var someGenerics4: someGenerics4; new someGenerics4(4, () => null); new someGenerics4('', () => 3); new someGenerics4('', (x: string) => ''); // Error @@ -88,7 +88,7 @@ typeArgumentInferenceConstructSignatures.ts(122,74): error TS2353: Object litera interface someGenerics5 { new (n: T, f: (x: U) => void); } - var someGenerics5: someGenerics5; + declare var someGenerics5: someGenerics5; new someGenerics5(4, () => null); new someGenerics5('', () => 3); new someGenerics5('', (x: string) => ''); // Error @@ -102,7 +102,7 @@ typeArgumentInferenceConstructSignatures.ts(122,74): error TS2353: Object litera interface someGenerics6 { new (a: (a: A) => A, b: (b: A) => A, c: (c: A) => A); } - var someGenerics6: someGenerics6; + declare var someGenerics6: someGenerics6; new someGenerics6(n => n, n => n, n => n); new someGenerics6(n => n, n => n, n => n); new someGenerics6((n: number) => n, (n: string) => n, (n: number) => n); // Error @@ -116,7 +116,7 @@ typeArgumentInferenceConstructSignatures.ts(122,74): error TS2353: Object litera interface someGenerics7 { new (a: (a: A) => A, b: (b: B) => B, c: (c: C) => C); } - var someGenerics7: someGenerics7; + declare var someGenerics7: someGenerics7; new someGenerics7(n => n, n => n, n => n); new someGenerics7(n => n, n => n, n => n); new someGenerics7((n: number) => n, (n: string) => n, (n: number) => n); @@ -125,7 +125,7 @@ typeArgumentInferenceConstructSignatures.ts(122,74): error TS2353: Object litera interface someGenerics8 { new (n: T): T; } - var someGenerics8: someGenerics8; + declare var someGenerics8: someGenerics8; var x = new someGenerics8(someGenerics7); new x(null, null, null); @@ -133,16 +133,16 @@ typeArgumentInferenceConstructSignatures.ts(122,74): error TS2353: Object litera interface someGenerics9 { new (a: T, b: T, c: T): T; } - var someGenerics9: someGenerics9; + declare var someGenerics9: someGenerics9; var a9a = new someGenerics9('', 0, []); ~ !!! error TS2345: Argument of type '0' is not assignable to parameter of type '""'. - var a9a: {}; - ~~~ + declare var a9a: {}; + ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a9a' must be of type 'string', but here has type '{}'. !!! related TS6203 typeArgumentInferenceConstructSignatures.ts:106:5: 'a9a' was also declared here. var a9b = new someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); - var a9b: { a?: number; b?: string; }; + declare var a9b: { a?: number; b?: string; }; // Generic call with multiple parameters of generic type passed arguments with multiple best common types interface A91 { @@ -154,26 +154,26 @@ typeArgumentInferenceConstructSignatures.ts(122,74): error TS2353: Object litera z?: Window; } var a9e = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); - var a9e: {}; - ~~~ + declare var a9e: {}; + ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a9e' must be of type '{ x: number; z: Window & typeof globalThis; y?: undefined; } | { x: number; y: string; z?: undefined; }', but here has type '{}'. !!! related TS6203 typeArgumentInferenceConstructSignatures.ts:120:5: 'a9e' was also declared here. var a9f = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); ~ !!! error TS2353: Object literal may only specify known properties, and 'y' does not exist in type 'A92'. - var a9f: A92; + declare var a9f: A92; // Generic call with multiple parameters of generic type passed arguments with a single best common type var a9d = new someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }); - var a9d: { x: number; }; + declare var a9d: { x: number; }; // Generic call with multiple parameters of generic type where one argument is of type 'any' - var anyVar: any; + declare var anyVar: any; var a = new someGenerics9(7, anyVar, 4); - var a: any; + declare var a: any; // Generic call with multiple parameters of generic type where one argument is [] and the other is not 'any' var arr = new someGenerics9([], null, undefined); - var arr: any[]; + declare var arr: any[]; \ No newline at end of file diff --git a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.js b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.js index 477d8780dfc3d..44cb8cda02ae6 100644 --- a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.js +++ b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.js @@ -5,7 +5,7 @@ interface NoParams { new (); } -var noParams: NoParams; +declare var noParams: NoParams; new noParams(); new noParams(); new noParams<{}>(); @@ -14,7 +14,7 @@ new noParams<{}>(); interface noGenericParams { new (n: string); } -var noGenericParams: noGenericParams; +declare var noGenericParams: noGenericParams; new noGenericParams(''); new noGenericParams(''); new noGenericParams<{}>(''); @@ -23,7 +23,7 @@ new noGenericParams<{}>(''); interface someGenerics1 { new (n: T, m: number); } -var someGenerics1: someGenerics1; +declare var someGenerics1: someGenerics1; new someGenerics1(3, 4); new someGenerics1(3, 4); // Error new someGenerics1(3, 4); @@ -32,7 +32,7 @@ new someGenerics1(3, 4); interface someGenerics2a { new (n: (x: T) => void); } -var someGenerics2a: someGenerics2a; +declare var someGenerics2a: someGenerics2a; new someGenerics2a((n: string) => n); new someGenerics2a((n: string) => n); new someGenerics2a((n) => n.substr(0)); @@ -40,7 +40,7 @@ new someGenerics2a((n) => n.substr(0)); interface someGenerics2b { new (n: (x: T, y: U) => void); } -var someGenerics2b: someGenerics2b; +declare var someGenerics2b: someGenerics2b; new someGenerics2b((n: string, x: number) => n); new someGenerics2b((n: string, t: number) => n); new someGenerics2b((n, t) => n.substr(t * t)); @@ -49,7 +49,7 @@ new someGenerics2b((n, t) => n.substr(t * t)); interface someGenerics3 { new (producer: () => T); } -var someGenerics3: someGenerics3; +declare var someGenerics3: someGenerics3; new someGenerics3(() => ''); new someGenerics3(() => undefined); new someGenerics3(() => 3); @@ -58,7 +58,7 @@ new someGenerics3(() => 3); interface someGenerics4 { new (n: T, f: (x: U) => void); } -var someGenerics4: someGenerics4; +declare var someGenerics4: someGenerics4; new someGenerics4(4, () => null); new someGenerics4('', () => 3); new someGenerics4('', (x: string) => ''); // Error @@ -68,7 +68,7 @@ new someGenerics4(null, null); interface someGenerics5 { new (n: T, f: (x: U) => void); } -var someGenerics5: someGenerics5; +declare var someGenerics5: someGenerics5; new someGenerics5(4, () => null); new someGenerics5('', () => 3); new someGenerics5('', (x: string) => ''); // Error @@ -78,7 +78,7 @@ new someGenerics5(null, null); interface someGenerics6 { new (a: (a: A) => A, b: (b: A) => A, c: (c: A) => A); } -var someGenerics6: someGenerics6; +declare var someGenerics6: someGenerics6; new someGenerics6(n => n, n => n, n => n); new someGenerics6(n => n, n => n, n => n); new someGenerics6((n: number) => n, (n: string) => n, (n: number) => n); // Error @@ -88,7 +88,7 @@ new someGenerics6((n: number) => n, (n: number) => n, (n: number) => n); interface someGenerics7 { new (a: (a: A) => A, b: (b: B) => B, c: (c: C) => C); } -var someGenerics7: someGenerics7; +declare var someGenerics7: someGenerics7; new someGenerics7(n => n, n => n, n => n); new someGenerics7(n => n, n => n, n => n); new someGenerics7((n: number) => n, (n: string) => n, (n: number) => n); @@ -97,7 +97,7 @@ new someGenerics7((n: number) => n, (n: string) => n, (n interface someGenerics8 { new (n: T): T; } -var someGenerics8: someGenerics8; +declare var someGenerics8: someGenerics8; var x = new someGenerics8(someGenerics7); new x(null, null, null); @@ -105,11 +105,11 @@ new x(null, null, null); interface someGenerics9 { new (a: T, b: T, c: T): T; } -var someGenerics9: someGenerics9; +declare var someGenerics9: someGenerics9; var a9a = new someGenerics9('', 0, []); -var a9a: {}; +declare var a9a: {}; var a9b = new someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); -var a9b: { a?: number; b?: string; }; +declare var a9b: { a?: number; b?: string; }; // Generic call with multiple parameters of generic type passed arguments with multiple best common types interface A91 { @@ -121,88 +121,67 @@ interface A92 { z?: Window; } var a9e = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); -var a9e: {}; +declare var a9e: {}; var a9f = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); -var a9f: A92; +declare var a9f: A92; // Generic call with multiple parameters of generic type passed arguments with a single best common type var a9d = new someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }); -var a9d: { x: number; }; +declare var a9d: { x: number; }; // Generic call with multiple parameters of generic type where one argument is of type 'any' -var anyVar: any; +declare var anyVar: any; var a = new someGenerics9(7, anyVar, 4); -var a: any; +declare var a: any; // Generic call with multiple parameters of generic type where one argument is [] and the other is not 'any' var arr = new someGenerics9([], null, undefined); -var arr: any[]; +declare var arr: any[]; //// [typeArgumentInferenceConstructSignatures.js] -var noParams; new noParams(); new noParams(); new noParams(); -var noGenericParams; new noGenericParams(''); new noGenericParams(''); new noGenericParams(''); -var someGenerics1; new someGenerics1(3, 4); new someGenerics1(3, 4); // Error new someGenerics1(3, 4); -var someGenerics2a; new someGenerics2a(function (n) { return n; }); new someGenerics2a(function (n) { return n; }); new someGenerics2a(function (n) { return n.substr(0); }); -var someGenerics2b; new someGenerics2b(function (n, x) { return n; }); new someGenerics2b(function (n, t) { return n; }); new someGenerics2b(function (n, t) { return n.substr(t * t); }); -var someGenerics3; new someGenerics3(function () { return ''; }); new someGenerics3(function () { return undefined; }); new someGenerics3(function () { return 3; }); -var someGenerics4; new someGenerics4(4, function () { return null; }); new someGenerics4('', function () { return 3; }); new someGenerics4('', function (x) { return ''; }); // Error new someGenerics4(null, null); -var someGenerics5; new someGenerics5(4, function () { return null; }); new someGenerics5('', function () { return 3; }); new someGenerics5('', function (x) { return ''; }); // Error new someGenerics5(null, null); -var someGenerics6; new someGenerics6(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); new someGenerics6(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); new someGenerics6(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); // Error new someGenerics6(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); -var someGenerics7; new someGenerics7(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); new someGenerics7(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); new someGenerics7(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); -var someGenerics8; var x = new someGenerics8(someGenerics7); new x(null, null, null); -var someGenerics9; var a9a = new someGenerics9('', 0, []); -var a9a; var a9b = new someGenerics9({ a: 0 }, { b: '' }, null); -var a9b; var a9e = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); -var a9e; var a9f = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); -var a9f; // Generic call with multiple parameters of generic type passed arguments with a single best common type var a9d = new someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }); -var a9d; -// Generic call with multiple parameters of generic type where one argument is of type 'any' -var anyVar; var a = new someGenerics9(7, anyVar, 4); -var a; // Generic call with multiple parameters of generic type where one argument is [] and the other is not 'any' var arr = new someGenerics9([], null, undefined); -var arr; diff --git a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.symbols b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.symbols index 72b35c7bed0b7..bd5154351b307 100644 --- a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.symbols +++ b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.symbols @@ -8,43 +8,43 @@ interface NoParams { new (); >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 2, 9)) } -var noParams: NoParams; ->noParams : Symbol(noParams, Decl(typeArgumentInferenceConstructSignatures.ts, 4, 3)) +declare var noParams: NoParams; +>noParams : Symbol(noParams, Decl(typeArgumentInferenceConstructSignatures.ts, 4, 11)) >NoParams : Symbol(NoParams, Decl(typeArgumentInferenceConstructSignatures.ts, 0, 0)) new noParams(); ->noParams : Symbol(noParams, Decl(typeArgumentInferenceConstructSignatures.ts, 4, 3)) +>noParams : Symbol(noParams, Decl(typeArgumentInferenceConstructSignatures.ts, 4, 11)) new noParams(); ->noParams : Symbol(noParams, Decl(typeArgumentInferenceConstructSignatures.ts, 4, 3)) +>noParams : Symbol(noParams, Decl(typeArgumentInferenceConstructSignatures.ts, 4, 11)) new noParams<{}>(); ->noParams : Symbol(noParams, Decl(typeArgumentInferenceConstructSignatures.ts, 4, 3)) +>noParams : Symbol(noParams, Decl(typeArgumentInferenceConstructSignatures.ts, 4, 11)) // Generic call with parameters but none use type parameter type interface noGenericParams { ->noGenericParams : Symbol(noGenericParams, Decl(typeArgumentInferenceConstructSignatures.ts, 7, 19), Decl(typeArgumentInferenceConstructSignatures.ts, 13, 3)) +>noGenericParams : Symbol(noGenericParams, Decl(typeArgumentInferenceConstructSignatures.ts, 7, 19), Decl(typeArgumentInferenceConstructSignatures.ts, 13, 11)) new (n: string); >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 11, 9)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 11, 12)) } -var noGenericParams: noGenericParams; ->noGenericParams : Symbol(noGenericParams, Decl(typeArgumentInferenceConstructSignatures.ts, 7, 19), Decl(typeArgumentInferenceConstructSignatures.ts, 13, 3)) ->noGenericParams : Symbol(noGenericParams, Decl(typeArgumentInferenceConstructSignatures.ts, 7, 19), Decl(typeArgumentInferenceConstructSignatures.ts, 13, 3)) +declare var noGenericParams: noGenericParams; +>noGenericParams : Symbol(noGenericParams, Decl(typeArgumentInferenceConstructSignatures.ts, 7, 19), Decl(typeArgumentInferenceConstructSignatures.ts, 13, 11)) +>noGenericParams : Symbol(noGenericParams, Decl(typeArgumentInferenceConstructSignatures.ts, 7, 19), Decl(typeArgumentInferenceConstructSignatures.ts, 13, 11)) new noGenericParams(''); ->noGenericParams : Symbol(noGenericParams, Decl(typeArgumentInferenceConstructSignatures.ts, 7, 19), Decl(typeArgumentInferenceConstructSignatures.ts, 13, 3)) +>noGenericParams : Symbol(noGenericParams, Decl(typeArgumentInferenceConstructSignatures.ts, 7, 19), Decl(typeArgumentInferenceConstructSignatures.ts, 13, 11)) new noGenericParams(''); ->noGenericParams : Symbol(noGenericParams, Decl(typeArgumentInferenceConstructSignatures.ts, 7, 19), Decl(typeArgumentInferenceConstructSignatures.ts, 13, 3)) +>noGenericParams : Symbol(noGenericParams, Decl(typeArgumentInferenceConstructSignatures.ts, 7, 19), Decl(typeArgumentInferenceConstructSignatures.ts, 13, 11)) new noGenericParams<{}>(''); ->noGenericParams : Symbol(noGenericParams, Decl(typeArgumentInferenceConstructSignatures.ts, 7, 19), Decl(typeArgumentInferenceConstructSignatures.ts, 13, 3)) +>noGenericParams : Symbol(noGenericParams, Decl(typeArgumentInferenceConstructSignatures.ts, 7, 19), Decl(typeArgumentInferenceConstructSignatures.ts, 13, 11)) // Generic call with multiple type parameters and only one used in parameter type annotation interface someGenerics1 { ->someGenerics1 : Symbol(someGenerics1, Decl(typeArgumentInferenceConstructSignatures.ts, 16, 28), Decl(typeArgumentInferenceConstructSignatures.ts, 22, 3)) +>someGenerics1 : Symbol(someGenerics1, Decl(typeArgumentInferenceConstructSignatures.ts, 16, 28), Decl(typeArgumentInferenceConstructSignatures.ts, 22, 11)) new (n: T, m: number); >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 20, 9)) @@ -53,22 +53,22 @@ interface someGenerics1 { >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 20, 9)) >m : Symbol(m, Decl(typeArgumentInferenceConstructSignatures.ts, 20, 20)) } -var someGenerics1: someGenerics1; ->someGenerics1 : Symbol(someGenerics1, Decl(typeArgumentInferenceConstructSignatures.ts, 16, 28), Decl(typeArgumentInferenceConstructSignatures.ts, 22, 3)) ->someGenerics1 : Symbol(someGenerics1, Decl(typeArgumentInferenceConstructSignatures.ts, 16, 28), Decl(typeArgumentInferenceConstructSignatures.ts, 22, 3)) +declare var someGenerics1: someGenerics1; +>someGenerics1 : Symbol(someGenerics1, Decl(typeArgumentInferenceConstructSignatures.ts, 16, 28), Decl(typeArgumentInferenceConstructSignatures.ts, 22, 11)) +>someGenerics1 : Symbol(someGenerics1, Decl(typeArgumentInferenceConstructSignatures.ts, 16, 28), Decl(typeArgumentInferenceConstructSignatures.ts, 22, 11)) new someGenerics1(3, 4); ->someGenerics1 : Symbol(someGenerics1, Decl(typeArgumentInferenceConstructSignatures.ts, 16, 28), Decl(typeArgumentInferenceConstructSignatures.ts, 22, 3)) +>someGenerics1 : Symbol(someGenerics1, Decl(typeArgumentInferenceConstructSignatures.ts, 16, 28), Decl(typeArgumentInferenceConstructSignatures.ts, 22, 11)) new someGenerics1(3, 4); // Error ->someGenerics1 : Symbol(someGenerics1, Decl(typeArgumentInferenceConstructSignatures.ts, 16, 28), Decl(typeArgumentInferenceConstructSignatures.ts, 22, 3)) +>someGenerics1 : Symbol(someGenerics1, Decl(typeArgumentInferenceConstructSignatures.ts, 16, 28), Decl(typeArgumentInferenceConstructSignatures.ts, 22, 11)) new someGenerics1(3, 4); ->someGenerics1 : Symbol(someGenerics1, Decl(typeArgumentInferenceConstructSignatures.ts, 16, 28), Decl(typeArgumentInferenceConstructSignatures.ts, 22, 3)) +>someGenerics1 : Symbol(someGenerics1, Decl(typeArgumentInferenceConstructSignatures.ts, 16, 28), Decl(typeArgumentInferenceConstructSignatures.ts, 22, 11)) // Generic call with argument of function type whose parameter is of type parameter type interface someGenerics2a { ->someGenerics2a : Symbol(someGenerics2a, Decl(typeArgumentInferenceConstructSignatures.ts, 25, 36), Decl(typeArgumentInferenceConstructSignatures.ts, 31, 3)) +>someGenerics2a : Symbol(someGenerics2a, Decl(typeArgumentInferenceConstructSignatures.ts, 25, 36), Decl(typeArgumentInferenceConstructSignatures.ts, 31, 11)) new (n: (x: T) => void); >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 29, 9)) @@ -76,29 +76,29 @@ interface someGenerics2a { >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 29, 16)) >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 29, 9)) } -var someGenerics2a: someGenerics2a; ->someGenerics2a : Symbol(someGenerics2a, Decl(typeArgumentInferenceConstructSignatures.ts, 25, 36), Decl(typeArgumentInferenceConstructSignatures.ts, 31, 3)) ->someGenerics2a : Symbol(someGenerics2a, Decl(typeArgumentInferenceConstructSignatures.ts, 25, 36), Decl(typeArgumentInferenceConstructSignatures.ts, 31, 3)) +declare var someGenerics2a: someGenerics2a; +>someGenerics2a : Symbol(someGenerics2a, Decl(typeArgumentInferenceConstructSignatures.ts, 25, 36), Decl(typeArgumentInferenceConstructSignatures.ts, 31, 11)) +>someGenerics2a : Symbol(someGenerics2a, Decl(typeArgumentInferenceConstructSignatures.ts, 25, 36), Decl(typeArgumentInferenceConstructSignatures.ts, 31, 11)) new someGenerics2a((n: string) => n); ->someGenerics2a : Symbol(someGenerics2a, Decl(typeArgumentInferenceConstructSignatures.ts, 25, 36), Decl(typeArgumentInferenceConstructSignatures.ts, 31, 3)) +>someGenerics2a : Symbol(someGenerics2a, Decl(typeArgumentInferenceConstructSignatures.ts, 25, 36), Decl(typeArgumentInferenceConstructSignatures.ts, 31, 11)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 32, 20)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 32, 20)) new someGenerics2a((n: string) => n); ->someGenerics2a : Symbol(someGenerics2a, Decl(typeArgumentInferenceConstructSignatures.ts, 25, 36), Decl(typeArgumentInferenceConstructSignatures.ts, 31, 3)) +>someGenerics2a : Symbol(someGenerics2a, Decl(typeArgumentInferenceConstructSignatures.ts, 25, 36), Decl(typeArgumentInferenceConstructSignatures.ts, 31, 11)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 33, 28)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 33, 28)) new someGenerics2a((n) => n.substr(0)); ->someGenerics2a : Symbol(someGenerics2a, Decl(typeArgumentInferenceConstructSignatures.ts, 25, 36), Decl(typeArgumentInferenceConstructSignatures.ts, 31, 3)) +>someGenerics2a : Symbol(someGenerics2a, Decl(typeArgumentInferenceConstructSignatures.ts, 25, 36), Decl(typeArgumentInferenceConstructSignatures.ts, 31, 11)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 28)) >n.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 28)) >substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) interface someGenerics2b { ->someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 47), Decl(typeArgumentInferenceConstructSignatures.ts, 39, 3)) +>someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 47), Decl(typeArgumentInferenceConstructSignatures.ts, 39, 11)) new (n: (x: T, y: U) => void); >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 37, 9)) @@ -109,24 +109,24 @@ interface someGenerics2b { >y : Symbol(y, Decl(typeArgumentInferenceConstructSignatures.ts, 37, 24)) >U : Symbol(U, Decl(typeArgumentInferenceConstructSignatures.ts, 37, 11)) } -var someGenerics2b: someGenerics2b; ->someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 47), Decl(typeArgumentInferenceConstructSignatures.ts, 39, 3)) ->someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 47), Decl(typeArgumentInferenceConstructSignatures.ts, 39, 3)) +declare var someGenerics2b: someGenerics2b; +>someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 47), Decl(typeArgumentInferenceConstructSignatures.ts, 39, 11)) +>someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 47), Decl(typeArgumentInferenceConstructSignatures.ts, 39, 11)) new someGenerics2b((n: string, x: number) => n); ->someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 47), Decl(typeArgumentInferenceConstructSignatures.ts, 39, 3)) +>someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 47), Decl(typeArgumentInferenceConstructSignatures.ts, 39, 11)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 40, 20)) >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 40, 30)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 40, 20)) new someGenerics2b((n: string, t: number) => n); ->someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 47), Decl(typeArgumentInferenceConstructSignatures.ts, 39, 3)) +>someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 47), Decl(typeArgumentInferenceConstructSignatures.ts, 39, 11)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 41, 36)) >t : Symbol(t, Decl(typeArgumentInferenceConstructSignatures.ts, 41, 46)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 41, 36)) new someGenerics2b((n, t) => n.substr(t * t)); ->someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 47), Decl(typeArgumentInferenceConstructSignatures.ts, 39, 3)) +>someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 47), Decl(typeArgumentInferenceConstructSignatures.ts, 39, 11)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 36)) >t : Symbol(t, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 38)) >n.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) @@ -137,31 +137,31 @@ new someGenerics2b((n, t) => n.substr(t * t)); // Generic call with argument of function type whose parameter is not of type parameter type but body/return type uses type parameter interface someGenerics3 { ->someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 62), Decl(typeArgumentInferenceConstructSignatures.ts, 48, 3)) +>someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 62), Decl(typeArgumentInferenceConstructSignatures.ts, 48, 11)) new (producer: () => T); >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 46, 9)) >producer : Symbol(producer, Decl(typeArgumentInferenceConstructSignatures.ts, 46, 12)) >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 46, 9)) } -var someGenerics3: someGenerics3; ->someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 62), Decl(typeArgumentInferenceConstructSignatures.ts, 48, 3)) ->someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 62), Decl(typeArgumentInferenceConstructSignatures.ts, 48, 3)) +declare var someGenerics3: someGenerics3; +>someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 62), Decl(typeArgumentInferenceConstructSignatures.ts, 48, 11)) +>someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 62), Decl(typeArgumentInferenceConstructSignatures.ts, 48, 11)) new someGenerics3(() => ''); ->someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 62), Decl(typeArgumentInferenceConstructSignatures.ts, 48, 3)) +>someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 62), Decl(typeArgumentInferenceConstructSignatures.ts, 48, 11)) new someGenerics3(() => undefined); ->someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 62), Decl(typeArgumentInferenceConstructSignatures.ts, 48, 3)) +>someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 62), Decl(typeArgumentInferenceConstructSignatures.ts, 48, 11)) >Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) >undefined : Symbol(undefined) new someGenerics3(() => 3); ->someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 62), Decl(typeArgumentInferenceConstructSignatures.ts, 48, 3)) +>someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 62), Decl(typeArgumentInferenceConstructSignatures.ts, 48, 11)) // 2 parameter generic call with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type interface someGenerics4 { ->someGenerics4 : Symbol(someGenerics4, Decl(typeArgumentInferenceConstructSignatures.ts, 51, 35), Decl(typeArgumentInferenceConstructSignatures.ts, 57, 3)) +>someGenerics4 : Symbol(someGenerics4, Decl(typeArgumentInferenceConstructSignatures.ts, 51, 35), Decl(typeArgumentInferenceConstructSignatures.ts, 57, 11)) new (n: T, f: (x: U) => void); >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 55, 9)) @@ -172,26 +172,26 @@ interface someGenerics4 { >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 55, 25)) >U : Symbol(U, Decl(typeArgumentInferenceConstructSignatures.ts, 55, 11)) } -var someGenerics4: someGenerics4; ->someGenerics4 : Symbol(someGenerics4, Decl(typeArgumentInferenceConstructSignatures.ts, 51, 35), Decl(typeArgumentInferenceConstructSignatures.ts, 57, 3)) ->someGenerics4 : Symbol(someGenerics4, Decl(typeArgumentInferenceConstructSignatures.ts, 51, 35), Decl(typeArgumentInferenceConstructSignatures.ts, 57, 3)) +declare var someGenerics4: someGenerics4; +>someGenerics4 : Symbol(someGenerics4, Decl(typeArgumentInferenceConstructSignatures.ts, 51, 35), Decl(typeArgumentInferenceConstructSignatures.ts, 57, 11)) +>someGenerics4 : Symbol(someGenerics4, Decl(typeArgumentInferenceConstructSignatures.ts, 51, 35), Decl(typeArgumentInferenceConstructSignatures.ts, 57, 11)) new someGenerics4(4, () => null); ->someGenerics4 : Symbol(someGenerics4, Decl(typeArgumentInferenceConstructSignatures.ts, 51, 35), Decl(typeArgumentInferenceConstructSignatures.ts, 57, 3)) +>someGenerics4 : Symbol(someGenerics4, Decl(typeArgumentInferenceConstructSignatures.ts, 51, 35), Decl(typeArgumentInferenceConstructSignatures.ts, 57, 11)) new someGenerics4('', () => 3); ->someGenerics4 : Symbol(someGenerics4, Decl(typeArgumentInferenceConstructSignatures.ts, 51, 35), Decl(typeArgumentInferenceConstructSignatures.ts, 57, 3)) +>someGenerics4 : Symbol(someGenerics4, Decl(typeArgumentInferenceConstructSignatures.ts, 51, 35), Decl(typeArgumentInferenceConstructSignatures.ts, 57, 11)) new someGenerics4('', (x: string) => ''); // Error ->someGenerics4 : Symbol(someGenerics4, Decl(typeArgumentInferenceConstructSignatures.ts, 51, 35), Decl(typeArgumentInferenceConstructSignatures.ts, 57, 3)) +>someGenerics4 : Symbol(someGenerics4, Decl(typeArgumentInferenceConstructSignatures.ts, 51, 35), Decl(typeArgumentInferenceConstructSignatures.ts, 57, 11)) >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 60, 39)) new someGenerics4(null, null); ->someGenerics4 : Symbol(someGenerics4, Decl(typeArgumentInferenceConstructSignatures.ts, 51, 35), Decl(typeArgumentInferenceConstructSignatures.ts, 57, 3)) +>someGenerics4 : Symbol(someGenerics4, Decl(typeArgumentInferenceConstructSignatures.ts, 51, 35), Decl(typeArgumentInferenceConstructSignatures.ts, 57, 11)) // 2 parameter generic call with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type interface someGenerics5 { ->someGenerics5 : Symbol(someGenerics5, Decl(typeArgumentInferenceConstructSignatures.ts, 61, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 67, 3)) +>someGenerics5 : Symbol(someGenerics5, Decl(typeArgumentInferenceConstructSignatures.ts, 61, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 67, 11)) new (n: T, f: (x: U) => void); >U : Symbol(U, Decl(typeArgumentInferenceConstructSignatures.ts, 65, 9)) @@ -202,26 +202,26 @@ interface someGenerics5 { >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 65, 25)) >U : Symbol(U, Decl(typeArgumentInferenceConstructSignatures.ts, 65, 9)) } -var someGenerics5: someGenerics5; ->someGenerics5 : Symbol(someGenerics5, Decl(typeArgumentInferenceConstructSignatures.ts, 61, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 67, 3)) ->someGenerics5 : Symbol(someGenerics5, Decl(typeArgumentInferenceConstructSignatures.ts, 61, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 67, 3)) +declare var someGenerics5: someGenerics5; +>someGenerics5 : Symbol(someGenerics5, Decl(typeArgumentInferenceConstructSignatures.ts, 61, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 67, 11)) +>someGenerics5 : Symbol(someGenerics5, Decl(typeArgumentInferenceConstructSignatures.ts, 61, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 67, 11)) new someGenerics5(4, () => null); ->someGenerics5 : Symbol(someGenerics5, Decl(typeArgumentInferenceConstructSignatures.ts, 61, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 67, 3)) +>someGenerics5 : Symbol(someGenerics5, Decl(typeArgumentInferenceConstructSignatures.ts, 61, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 67, 11)) new someGenerics5('', () => 3); ->someGenerics5 : Symbol(someGenerics5, Decl(typeArgumentInferenceConstructSignatures.ts, 61, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 67, 3)) +>someGenerics5 : Symbol(someGenerics5, Decl(typeArgumentInferenceConstructSignatures.ts, 61, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 67, 11)) new someGenerics5('', (x: string) => ''); // Error ->someGenerics5 : Symbol(someGenerics5, Decl(typeArgumentInferenceConstructSignatures.ts, 61, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 67, 3)) +>someGenerics5 : Symbol(someGenerics5, Decl(typeArgumentInferenceConstructSignatures.ts, 61, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 67, 11)) >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 70, 39)) new someGenerics5(null, null); ->someGenerics5 : Symbol(someGenerics5, Decl(typeArgumentInferenceConstructSignatures.ts, 61, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 67, 3)) +>someGenerics5 : Symbol(someGenerics5, Decl(typeArgumentInferenceConstructSignatures.ts, 61, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 67, 11)) // Generic call with multiple arguments of function types that each have parameters of the same generic type interface someGenerics6 { ->someGenerics6 : Symbol(someGenerics6, Decl(typeArgumentInferenceConstructSignatures.ts, 71, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 77, 3)) +>someGenerics6 : Symbol(someGenerics6, Decl(typeArgumentInferenceConstructSignatures.ts, 71, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 77, 11)) new (a: (a: A) => A, b: (b: A) => A, c: (c: A) => A); >A : Symbol(A, Decl(typeArgumentInferenceConstructSignatures.ts, 75, 9)) @@ -238,12 +238,12 @@ interface someGenerics6 { >A : Symbol(A, Decl(typeArgumentInferenceConstructSignatures.ts, 75, 9)) >A : Symbol(A, Decl(typeArgumentInferenceConstructSignatures.ts, 75, 9)) } -var someGenerics6: someGenerics6; ->someGenerics6 : Symbol(someGenerics6, Decl(typeArgumentInferenceConstructSignatures.ts, 71, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 77, 3)) ->someGenerics6 : Symbol(someGenerics6, Decl(typeArgumentInferenceConstructSignatures.ts, 71, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 77, 3)) +declare var someGenerics6: someGenerics6; +>someGenerics6 : Symbol(someGenerics6, Decl(typeArgumentInferenceConstructSignatures.ts, 71, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 77, 11)) +>someGenerics6 : Symbol(someGenerics6, Decl(typeArgumentInferenceConstructSignatures.ts, 71, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 77, 11)) new someGenerics6(n => n, n => n, n => n); ->someGenerics6 : Symbol(someGenerics6, Decl(typeArgumentInferenceConstructSignatures.ts, 71, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 77, 3)) +>someGenerics6 : Symbol(someGenerics6, Decl(typeArgumentInferenceConstructSignatures.ts, 71, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 77, 11)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 78, 18)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 78, 18)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 78, 25)) @@ -252,7 +252,7 @@ new someGenerics6(n => n, n => n, n => n); >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 78, 33)) new someGenerics6(n => n, n => n, n => n); ->someGenerics6 : Symbol(someGenerics6, Decl(typeArgumentInferenceConstructSignatures.ts, 71, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 77, 3)) +>someGenerics6 : Symbol(someGenerics6, Decl(typeArgumentInferenceConstructSignatures.ts, 71, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 77, 11)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 79, 26)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 79, 26)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 79, 33)) @@ -261,7 +261,7 @@ new someGenerics6(n => n, n => n, n => n); >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 79, 41)) new someGenerics6((n: number) => n, (n: string) => n, (n: number) => n); // Error ->someGenerics6 : Symbol(someGenerics6, Decl(typeArgumentInferenceConstructSignatures.ts, 71, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 77, 3)) +>someGenerics6 : Symbol(someGenerics6, Decl(typeArgumentInferenceConstructSignatures.ts, 71, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 77, 11)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 80, 27)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 80, 27)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 80, 45)) @@ -270,7 +270,7 @@ new someGenerics6((n: number) => n, (n: string) => n, (n: number) => n); >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 80, 63)) new someGenerics6((n: number) => n, (n: number) => n, (n: number) => n); ->someGenerics6 : Symbol(someGenerics6, Decl(typeArgumentInferenceConstructSignatures.ts, 71, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 77, 3)) +>someGenerics6 : Symbol(someGenerics6, Decl(typeArgumentInferenceConstructSignatures.ts, 71, 46), Decl(typeArgumentInferenceConstructSignatures.ts, 77, 11)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 27)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 27)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 45)) @@ -280,7 +280,7 @@ new someGenerics6((n: number) => n, (n: number) => n, (n: number) => n); // Generic call with multiple arguments of function types that each have parameters of different generic type interface someGenerics7 { ->someGenerics7 : Symbol(someGenerics7, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 80), Decl(typeArgumentInferenceConstructSignatures.ts, 87, 3)) +>someGenerics7 : Symbol(someGenerics7, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 80), Decl(typeArgumentInferenceConstructSignatures.ts, 87, 11)) new (a: (a: A) => A, b: (b: B) => B, c: (c: C) => C); >A : Symbol(A, Decl(typeArgumentInferenceConstructSignatures.ts, 85, 9)) @@ -299,12 +299,12 @@ interface someGenerics7 { >C : Symbol(C, Decl(typeArgumentInferenceConstructSignatures.ts, 85, 14)) >C : Symbol(C, Decl(typeArgumentInferenceConstructSignatures.ts, 85, 14)) } -var someGenerics7: someGenerics7; ->someGenerics7 : Symbol(someGenerics7, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 80), Decl(typeArgumentInferenceConstructSignatures.ts, 87, 3)) ->someGenerics7 : Symbol(someGenerics7, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 80), Decl(typeArgumentInferenceConstructSignatures.ts, 87, 3)) +declare var someGenerics7: someGenerics7; +>someGenerics7 : Symbol(someGenerics7, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 80), Decl(typeArgumentInferenceConstructSignatures.ts, 87, 11)) +>someGenerics7 : Symbol(someGenerics7, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 80), Decl(typeArgumentInferenceConstructSignatures.ts, 87, 11)) new someGenerics7(n => n, n => n, n => n); ->someGenerics7 : Symbol(someGenerics7, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 80), Decl(typeArgumentInferenceConstructSignatures.ts, 87, 3)) +>someGenerics7 : Symbol(someGenerics7, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 80), Decl(typeArgumentInferenceConstructSignatures.ts, 87, 11)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 88, 18)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 88, 18)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 88, 25)) @@ -313,7 +313,7 @@ new someGenerics7(n => n, n => n, n => n); >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 88, 33)) new someGenerics7(n => n, n => n, n => n); ->someGenerics7 : Symbol(someGenerics7, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 80), Decl(typeArgumentInferenceConstructSignatures.ts, 87, 3)) +>someGenerics7 : Symbol(someGenerics7, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 80), Decl(typeArgumentInferenceConstructSignatures.ts, 87, 11)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 89, 42)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 89, 42)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 89, 49)) @@ -322,7 +322,7 @@ new someGenerics7(n => n, n => n, n => n); >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 89, 57)) new someGenerics7((n: number) => n, (n: string) => n, (n: number) => n); ->someGenerics7 : Symbol(someGenerics7, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 80), Decl(typeArgumentInferenceConstructSignatures.ts, 87, 3)) +>someGenerics7 : Symbol(someGenerics7, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 80), Decl(typeArgumentInferenceConstructSignatures.ts, 87, 11)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 90, 43)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 90, 43)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 90, 61)) @@ -332,7 +332,7 @@ new someGenerics7((n: number) => n, (n: string) => n, (n // Generic call with argument of generic function type interface someGenerics8 { ->someGenerics8 : Symbol(someGenerics8, Decl(typeArgumentInferenceConstructSignatures.ts, 90, 96), Decl(typeArgumentInferenceConstructSignatures.ts, 96, 3)) +>someGenerics8 : Symbol(someGenerics8, Decl(typeArgumentInferenceConstructSignatures.ts, 90, 96), Decl(typeArgumentInferenceConstructSignatures.ts, 96, 11)) new (n: T): T; >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 94, 9)) @@ -340,21 +340,21 @@ interface someGenerics8 { >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 94, 9)) >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 94, 9)) } -var someGenerics8: someGenerics8; ->someGenerics8 : Symbol(someGenerics8, Decl(typeArgumentInferenceConstructSignatures.ts, 90, 96), Decl(typeArgumentInferenceConstructSignatures.ts, 96, 3)) ->someGenerics8 : Symbol(someGenerics8, Decl(typeArgumentInferenceConstructSignatures.ts, 90, 96), Decl(typeArgumentInferenceConstructSignatures.ts, 96, 3)) +declare var someGenerics8: someGenerics8; +>someGenerics8 : Symbol(someGenerics8, Decl(typeArgumentInferenceConstructSignatures.ts, 90, 96), Decl(typeArgumentInferenceConstructSignatures.ts, 96, 11)) +>someGenerics8 : Symbol(someGenerics8, Decl(typeArgumentInferenceConstructSignatures.ts, 90, 96), Decl(typeArgumentInferenceConstructSignatures.ts, 96, 11)) var x = new someGenerics8(someGenerics7); >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 97, 3)) ->someGenerics8 : Symbol(someGenerics8, Decl(typeArgumentInferenceConstructSignatures.ts, 90, 96), Decl(typeArgumentInferenceConstructSignatures.ts, 96, 3)) ->someGenerics7 : Symbol(someGenerics7, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 80), Decl(typeArgumentInferenceConstructSignatures.ts, 87, 3)) +>someGenerics8 : Symbol(someGenerics8, Decl(typeArgumentInferenceConstructSignatures.ts, 90, 96), Decl(typeArgumentInferenceConstructSignatures.ts, 96, 11)) +>someGenerics7 : Symbol(someGenerics7, Decl(typeArgumentInferenceConstructSignatures.ts, 81, 80), Decl(typeArgumentInferenceConstructSignatures.ts, 87, 11)) new x(null, null, null); >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 97, 3)) // Generic call with multiple parameters of generic type passed arguments with no best common type interface someGenerics9 { ->someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 3)) +>someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 11)) new (a: T, b: T, c: T): T; >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 102, 9)) @@ -366,33 +366,33 @@ interface someGenerics9 { >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 102, 9)) >T : Symbol(T, Decl(typeArgumentInferenceConstructSignatures.ts, 102, 9)) } -var someGenerics9: someGenerics9; ->someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 3)) ->someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 3)) +declare var someGenerics9: someGenerics9; +>someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 11)) +>someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 11)) var a9a = new someGenerics9('', 0, []); ->a9a : Symbol(a9a, Decl(typeArgumentInferenceConstructSignatures.ts, 105, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 106, 3)) ->someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 3)) +>a9a : Symbol(a9a, Decl(typeArgumentInferenceConstructSignatures.ts, 105, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 106, 11)) +>someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 11)) -var a9a: {}; ->a9a : Symbol(a9a, Decl(typeArgumentInferenceConstructSignatures.ts, 105, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 106, 3)) +declare var a9a: {}; +>a9a : Symbol(a9a, Decl(typeArgumentInferenceConstructSignatures.ts, 105, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 106, 11)) var a9b = new someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); ->a9b : Symbol(a9b, Decl(typeArgumentInferenceConstructSignatures.ts, 107, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 108, 3)) ->someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 3)) +>a9b : Symbol(a9b, Decl(typeArgumentInferenceConstructSignatures.ts, 107, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 108, 11)) +>someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 11)) >a : Symbol(a, Decl(typeArgumentInferenceConstructSignatures.ts, 107, 29)) >b : Symbol(b, Decl(typeArgumentInferenceConstructSignatures.ts, 107, 41)) >a : Symbol(a, Decl(typeArgumentInferenceConstructSignatures.ts, 107, 58)) >b : Symbol(b, Decl(typeArgumentInferenceConstructSignatures.ts, 107, 68)) -var a9b: { a?: number; b?: string; }; ->a9b : Symbol(a9b, Decl(typeArgumentInferenceConstructSignatures.ts, 107, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 108, 3)) ->a : Symbol(a, Decl(typeArgumentInferenceConstructSignatures.ts, 108, 10)) ->b : Symbol(b, Decl(typeArgumentInferenceConstructSignatures.ts, 108, 22)) +declare var a9b: { a?: number; b?: string; }; +>a9b : Symbol(a9b, Decl(typeArgumentInferenceConstructSignatures.ts, 107, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 108, 11)) +>a : Symbol(a, Decl(typeArgumentInferenceConstructSignatures.ts, 108, 18)) +>b : Symbol(b, Decl(typeArgumentInferenceConstructSignatures.ts, 108, 30)) // Generic call with multiple parameters of generic type passed arguments with multiple best common types interface A91 { ->A91 : Symbol(A91, Decl(typeArgumentInferenceConstructSignatures.ts, 108, 37)) +>A91 : Symbol(A91, Decl(typeArgumentInferenceConstructSignatures.ts, 108, 45)) x: number; >x : Symbol(A91.x, Decl(typeArgumentInferenceConstructSignatures.ts, 111, 15)) @@ -411,8 +411,8 @@ interface A92 { >Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) } var a9e = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); ->a9e : Symbol(a9e, Decl(typeArgumentInferenceConstructSignatures.ts, 119, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 120, 3)) ->someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 3)) +>a9e : Symbol(a9e, Decl(typeArgumentInferenceConstructSignatures.ts, 119, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 120, 11)) +>someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 11)) >undefined : Symbol(undefined) >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 119, 40)) >z : Symbol(z, Decl(typeArgumentInferenceConstructSignatures.ts, 119, 46)) @@ -420,12 +420,12 @@ var a9e = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 119, 61)) >y : Symbol(y, Decl(typeArgumentInferenceConstructSignatures.ts, 119, 67)) -var a9e: {}; ->a9e : Symbol(a9e, Decl(typeArgumentInferenceConstructSignatures.ts, 119, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 120, 3)) +declare var a9e: {}; +>a9e : Symbol(a9e, Decl(typeArgumentInferenceConstructSignatures.ts, 119, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 120, 11)) var a9f = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); ->a9f : Symbol(a9f, Decl(typeArgumentInferenceConstructSignatures.ts, 121, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 122, 3)) ->someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 3)) +>a9f : Symbol(a9f, Decl(typeArgumentInferenceConstructSignatures.ts, 121, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 122, 11)) +>someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 11)) >A92 : Symbol(A92, Decl(typeArgumentInferenceConstructSignatures.ts, 114, 1)) >undefined : Symbol(undefined) >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 121, 45)) @@ -434,41 +434,41 @@ var a9f = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' } >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 121, 66)) >y : Symbol(y, Decl(typeArgumentInferenceConstructSignatures.ts, 121, 72)) -var a9f: A92; ->a9f : Symbol(a9f, Decl(typeArgumentInferenceConstructSignatures.ts, 121, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 122, 3)) +declare var a9f: A92; +>a9f : Symbol(a9f, Decl(typeArgumentInferenceConstructSignatures.ts, 121, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 122, 11)) >A92 : Symbol(A92, Decl(typeArgumentInferenceConstructSignatures.ts, 114, 1)) // Generic call with multiple parameters of generic type passed arguments with a single best common type var a9d = new someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }); ->a9d : Symbol(a9d, Decl(typeArgumentInferenceConstructSignatures.ts, 125, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 126, 3)) ->someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 3)) +>a9d : Symbol(a9d, Decl(typeArgumentInferenceConstructSignatures.ts, 125, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 126, 11)) +>someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 11)) >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 125, 29)) >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 125, 39)) >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 125, 49)) -var a9d: { x: number; }; ->a9d : Symbol(a9d, Decl(typeArgumentInferenceConstructSignatures.ts, 125, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 126, 3)) ->x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 126, 10)) +declare var a9d: { x: number; }; +>a9d : Symbol(a9d, Decl(typeArgumentInferenceConstructSignatures.ts, 125, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 126, 11)) +>x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 126, 18)) // Generic call with multiple parameters of generic type where one argument is of type 'any' -var anyVar: any; ->anyVar : Symbol(anyVar, Decl(typeArgumentInferenceConstructSignatures.ts, 129, 3)) +declare var anyVar: any; +>anyVar : Symbol(anyVar, Decl(typeArgumentInferenceConstructSignatures.ts, 129, 11)) var a = new someGenerics9(7, anyVar, 4); ->a : Symbol(a, Decl(typeArgumentInferenceConstructSignatures.ts, 130, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 131, 3)) ->someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 3)) ->anyVar : Symbol(anyVar, Decl(typeArgumentInferenceConstructSignatures.ts, 129, 3)) +>a : Symbol(a, Decl(typeArgumentInferenceConstructSignatures.ts, 130, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 131, 11)) +>someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 11)) +>anyVar : Symbol(anyVar, Decl(typeArgumentInferenceConstructSignatures.ts, 129, 11)) -var a: any; ->a : Symbol(a, Decl(typeArgumentInferenceConstructSignatures.ts, 130, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 131, 3)) +declare var a: any; +>a : Symbol(a, Decl(typeArgumentInferenceConstructSignatures.ts, 130, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 131, 11)) // Generic call with multiple parameters of generic type where one argument is [] and the other is not 'any' var arr = new someGenerics9([], null, undefined); ->arr : Symbol(arr, Decl(typeArgumentInferenceConstructSignatures.ts, 134, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 135, 3)) ->someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 3)) +>arr : Symbol(arr, Decl(typeArgumentInferenceConstructSignatures.ts, 134, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 135, 11)) +>someGenerics9 : Symbol(someGenerics9, Decl(typeArgumentInferenceConstructSignatures.ts, 98, 48), Decl(typeArgumentInferenceConstructSignatures.ts, 104, 11)) >undefined : Symbol(undefined) -var arr: any[]; ->arr : Symbol(arr, Decl(typeArgumentInferenceConstructSignatures.ts, 134, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 135, 3)) +declare var arr: any[]; +>arr : Symbol(arr, Decl(typeArgumentInferenceConstructSignatures.ts, 134, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 135, 11)) diff --git a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types index 6bc5dd052dfbf..8699e90d2839b 100644 --- a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types +++ b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types @@ -5,7 +5,7 @@ interface NoParams { new (); } -var noParams: NoParams; +declare var noParams: NoParams; >noParams : NoParams > : ^^^^^^^^ @@ -33,7 +33,7 @@ interface noGenericParams { >n : string > : ^^^^^^ } -var noGenericParams: noGenericParams; +declare var noGenericParams: noGenericParams; >noGenericParams : noGenericParams > : ^^^^^^^^^^^^^^^ @@ -69,7 +69,7 @@ interface someGenerics1 { >m : number > : ^^^^^^ } -var someGenerics1: someGenerics1; +declare var someGenerics1: someGenerics1; >someGenerics1 : someGenerics1 > : ^^^^^^^^^^^^^ @@ -111,7 +111,7 @@ interface someGenerics2a { >x : T > : ^ } -var someGenerics2a: someGenerics2a; +declare var someGenerics2a: someGenerics2a; >someGenerics2a : someGenerics2a > : ^^^^^^^^^^^^^^ @@ -168,7 +168,7 @@ interface someGenerics2b { >y : U > : ^ } -var someGenerics2b: someGenerics2b; +declare var someGenerics2b: someGenerics2b; >someGenerics2b : someGenerics2b > : ^^^^^^^^^^^^^^ @@ -232,7 +232,7 @@ interface someGenerics3 { >producer : () => T > : ^^^^^^ } -var someGenerics3: someGenerics3; +declare var someGenerics3: someGenerics3; >someGenerics3 : someGenerics3 > : ^^^^^^^^^^^^^ @@ -276,7 +276,7 @@ interface someGenerics4 { >x : U > : ^ } -var someGenerics4: someGenerics4; +declare var someGenerics4: someGenerics4; >someGenerics4 : someGenerics4 > : ^^^^^^^^^^^^^ @@ -332,7 +332,7 @@ interface someGenerics5 { >x : U > : ^ } -var someGenerics5: someGenerics5; +declare var someGenerics5: someGenerics5; >someGenerics5 : someGenerics5 > : ^^^^^^^^^^^^^ @@ -394,7 +394,7 @@ interface someGenerics6 { >c : A > : ^ } -var someGenerics6: someGenerics6; +declare var someGenerics6: someGenerics6; >someGenerics6 : someGenerics6 > : ^^^^^^^^^^^^^ @@ -510,7 +510,7 @@ interface someGenerics7 { >c : C > : ^ } -var someGenerics7: someGenerics7; +declare var someGenerics7: someGenerics7; >someGenerics7 : someGenerics7 > : ^^^^^^^^^^^^^ @@ -592,7 +592,7 @@ interface someGenerics8 { >n : T > : ^ } -var someGenerics8: someGenerics8; +declare var someGenerics8: someGenerics8; >someGenerics8 : someGenerics8 > : ^^^^^^^^^^^^^ @@ -622,7 +622,7 @@ interface someGenerics9 { >c : T > : ^ } -var someGenerics9: someGenerics9; +declare var someGenerics9: someGenerics9; >someGenerics9 : someGenerics9 > : ^^^^^^^^^^^^^ @@ -640,7 +640,7 @@ var a9a = new someGenerics9('', 0, []); >[] : undefined[] > : ^^^^^^^^^^^ -var a9a: {}; +declare var a9a: {}; >a9a : string > : ^^^^^^ @@ -668,7 +668,7 @@ var a9b = new someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, nu >'' : "" > : ^^ -var a9b: { a?: number; b?: string; }; +declare var a9b: { a?: number; b?: string; }; >a9b : { a?: number; b?: string; } > : ^^^^^^ ^^^^^^ ^^^ >a : number @@ -725,7 +725,7 @@ var a9e = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); >'' : "" > : ^^ -var a9e: {}; +declare var a9e: {}; >a9e : { x: number; z: Window & typeof globalThis; y?: undefined; } | { x: number; y: string; z?: undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -759,7 +759,7 @@ var a9f = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' } >'' : "" > : ^^ -var a9f: A92; +declare var a9f: A92; >a9f : A92 > : ^^^ @@ -790,14 +790,14 @@ var a9d = new someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }); >6 : 6 > : ^ -var a9d: { x: number; }; +declare var a9d: { x: number; }; >a9d : { x: number; } > : ^^^^^^^^^^^^^^ >x : number > : ^^^^^^ // Generic call with multiple parameters of generic type where one argument is of type 'any' -var anyVar: any; +declare var anyVar: any; >anyVar : any > : ^^^ @@ -815,7 +815,7 @@ var a = new someGenerics9(7, anyVar, 4); >4 : 4 > : ^ -var a: any; +declare var a: any; >a : any > : ^^^ @@ -832,7 +832,7 @@ var arr = new someGenerics9([], null, undefined); >undefined : undefined > : ^^^^^^^^^ -var arr: any[]; +declare var arr: any[]; >arr : any[] > : ^^^^^ diff --git a/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.errors.txt b/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.errors.txt index 73382d9f2a776..8e4527e20ddf1 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.errors.txt +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.errors.txt @@ -7,8 +7,8 @@ typeArgumentInferenceWithConstraintAsCommonRoot.ts(7,6): error TS2345: Argument interface Giraffe extends Animal { y } interface Elephant extends Animal { z } function f(x: T, y: T): T { return undefined; } - var g: Giraffe; - var e: Elephant; + declare var g: Giraffe; + declare var e: Elephant; f(g, e); // valid because both Giraffe and Elephant satisfy the constraint. T is Animal ~ !!! error TS2345: Argument of type 'Elephant' is not assignable to parameter of type 'Giraffe'. diff --git a/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.js b/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.js index cab1a6a02af23..fe7e297f0675a 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.js +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.js @@ -5,12 +5,10 @@ interface Animal { x } interface Giraffe extends Animal { y } interface Elephant extends Animal { z } function f(x: T, y: T): T { return undefined; } -var g: Giraffe; -var e: Elephant; +declare var g: Giraffe; +declare var e: Elephant; f(g, e); // valid because both Giraffe and Elephant satisfy the constraint. T is Animal //// [typeArgumentInferenceWithConstraintAsCommonRoot.js] function f(x, y) { return undefined; } -var g; -var e; f(g, e); // valid because both Giraffe and Elephant satisfy the constraint. T is Animal diff --git a/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.symbols b/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.symbols index 23f54b285b287..95b5a415b1280 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.symbols +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.symbols @@ -26,16 +26,16 @@ function f(x: T, y: T): T { return undefined; } >T : Symbol(T, Decl(typeArgumentInferenceWithConstraintAsCommonRoot.ts, 3, 11)) >undefined : Symbol(undefined) -var g: Giraffe; ->g : Symbol(g, Decl(typeArgumentInferenceWithConstraintAsCommonRoot.ts, 4, 3)) +declare var g: Giraffe; +>g : Symbol(g, Decl(typeArgumentInferenceWithConstraintAsCommonRoot.ts, 4, 11)) >Giraffe : Symbol(Giraffe, Decl(typeArgumentInferenceWithConstraintAsCommonRoot.ts, 0, 22)) -var e: Elephant; ->e : Symbol(e, Decl(typeArgumentInferenceWithConstraintAsCommonRoot.ts, 5, 3)) +declare var e: Elephant; +>e : Symbol(e, Decl(typeArgumentInferenceWithConstraintAsCommonRoot.ts, 5, 11)) >Elephant : Symbol(Elephant, Decl(typeArgumentInferenceWithConstraintAsCommonRoot.ts, 1, 38)) f(g, e); // valid because both Giraffe and Elephant satisfy the constraint. T is Animal >f : Symbol(f, Decl(typeArgumentInferenceWithConstraintAsCommonRoot.ts, 2, 39)) ->g : Symbol(g, Decl(typeArgumentInferenceWithConstraintAsCommonRoot.ts, 4, 3)) ->e : Symbol(e, Decl(typeArgumentInferenceWithConstraintAsCommonRoot.ts, 5, 3)) +>g : Symbol(g, Decl(typeArgumentInferenceWithConstraintAsCommonRoot.ts, 4, 11)) +>e : Symbol(e, Decl(typeArgumentInferenceWithConstraintAsCommonRoot.ts, 5, 11)) diff --git a/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.types b/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.types index c43ed052bb0f4..0153731aba228 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.types +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.types @@ -23,11 +23,11 @@ function f(x: T, y: T): T { return undefined; } >undefined : undefined > : ^^^^^^^^^ -var g: Giraffe; +declare var g: Giraffe; >g : Giraffe > : ^^^^^^^ -var e: Elephant; +declare var e: Elephant; >e : Elephant > : ^^^^^^^^ diff --git a/tests/baselines/reference/typeAssertions.errors.txt b/tests/baselines/reference/typeAssertions.errors.txt index 1e4a84b919aa2..84d97f41ffbfe 100644 --- a/tests/baselines/reference/typeAssertions.errors.txt +++ b/tests/baselines/reference/typeAssertions.errors.txt @@ -32,8 +32,8 @@ typeAssertions.ts(48,50): error TS1128: Declaration or statement expected. ~~~~~~ !!! error TS2558: Expected 0 type arguments, but got 1. - var a: any; - var s: string; + declare var a: any; + declare var s: string; // Type assertion of non - unary expression var a = "" + 4; @@ -82,8 +82,8 @@ typeAssertions.ts(48,50): error TS1128: Declaration or statement expected. someOther = someOther; // Type assertion cannot be a type-predicate type - var numOrStr: number | string; - var str: string; + declare var numOrStr: number | string; + declare var str: string; if((numOrStr === undefined)) { // Error ~~~~~~~~ !!! error TS2749: 'numOrStr' refers to a value, but is being used as a type here. Did you mean 'typeof numOrStr'? diff --git a/tests/baselines/reference/typeAssertions.js b/tests/baselines/reference/typeAssertions.js index f20f4bd13b4e3..0a7c69663b68c 100644 --- a/tests/baselines/reference/typeAssertions.js +++ b/tests/baselines/reference/typeAssertions.js @@ -7,8 +7,8 @@ function fn2(t: any) { } fn1(fn2(4)); // Error -var a: any; -var s: string; +declare var a: any; +declare var s: string; // Type assertion of non - unary expression var a = "" + 4; @@ -42,8 +42,8 @@ someOther = someBase; // Error someOther = someOther; // Type assertion cannot be a type-predicate type -var numOrStr: number | string; -var str: string; +declare var numOrStr: number | string; +declare var str: string; if((numOrStr === undefined)) { // Error str = numOrStr; // Error, no narrowing occurred } @@ -73,8 +73,6 @@ var __extends = (this && this.__extends) || (function () { function fn1(t) { } function fn2(t) { } fn1(fn2(4)); // Error -var a; -var s; // Type assertion of non - unary expression var a = "" + 4; var s = "" + 4; @@ -108,9 +106,6 @@ someDerived = someOther; // Error someOther = someDerived; // Error someOther = someBase; // Error someOther = someOther; -// Type assertion cannot be a type-predicate type -var numOrStr; -var str; if (is) string > (numOrStr === undefined); { // Error diff --git a/tests/baselines/reference/typeAssertions.symbols b/tests/baselines/reference/typeAssertions.symbols index 72f37f556830d..a9d8dfc0d5084 100644 --- a/tests/baselines/reference/typeAssertions.symbols +++ b/tests/baselines/reference/typeAssertions.symbols @@ -16,18 +16,18 @@ fn1(fn2(4)); // Error >fn1 : Symbol(fn1, Decl(typeAssertions.ts, 0, 0)) >fn2 : Symbol(fn2, Decl(typeAssertions.ts, 1, 25)) -var a: any; ->a : Symbol(a, Decl(typeAssertions.ts, 6, 3), Decl(typeAssertions.ts, 10, 3)) +declare var a: any; +>a : Symbol(a, Decl(typeAssertions.ts, 6, 11), Decl(typeAssertions.ts, 10, 3)) -var s: string; ->s : Symbol(s, Decl(typeAssertions.ts, 7, 3), Decl(typeAssertions.ts, 11, 3)) +declare var s: string; +>s : Symbol(s, Decl(typeAssertions.ts, 7, 11), Decl(typeAssertions.ts, 11, 3)) // Type assertion of non - unary expression var a = "" + 4; ->a : Symbol(a, Decl(typeAssertions.ts, 6, 3), Decl(typeAssertions.ts, 10, 3)) +>a : Symbol(a, Decl(typeAssertions.ts, 6, 11), Decl(typeAssertions.ts, 10, 3)) var s = "" + 4; ->s : Symbol(s, Decl(typeAssertions.ts, 7, 3), Decl(typeAssertions.ts, 11, 3)) +>s : Symbol(s, Decl(typeAssertions.ts, 7, 11), Decl(typeAssertions.ts, 11, 3)) class SomeBase { >SomeBase : Symbol(SomeBase, Decl(typeAssertions.ts, 11, 20)) @@ -108,24 +108,24 @@ someOther = someOther; >someOther : Symbol(someOther, Decl(typeAssertions.ts, 26, 3)) // Type assertion cannot be a type-predicate type -var numOrStr: number | string; ->numOrStr : Symbol(numOrStr, Decl(typeAssertions.ts, 41, 3)) +declare var numOrStr: number | string; +>numOrStr : Symbol(numOrStr, Decl(typeAssertions.ts, 41, 11)) -var str: string; ->str : Symbol(str, Decl(typeAssertions.ts, 42, 3)) +declare var str: string; +>str : Symbol(str, Decl(typeAssertions.ts, 42, 11)) if((numOrStr === undefined)) { // Error >numOrStr : Symbol(numOrStr) ->numOrStr : Symbol(numOrStr, Decl(typeAssertions.ts, 41, 3)) +>numOrStr : Symbol(numOrStr, Decl(typeAssertions.ts, 41, 11)) >undefined : Symbol(undefined) str = numOrStr; // Error, no narrowing occurred ->str : Symbol(str, Decl(typeAssertions.ts, 42, 3)) ->numOrStr : Symbol(numOrStr, Decl(typeAssertions.ts, 41, 3)) +>str : Symbol(str, Decl(typeAssertions.ts, 42, 11)) +>numOrStr : Symbol(numOrStr, Decl(typeAssertions.ts, 41, 11)) } if((numOrStr === undefined) as numOrStr is string) { // Error ->numOrStr : Symbol(numOrStr, Decl(typeAssertions.ts, 41, 3)) +>numOrStr : Symbol(numOrStr, Decl(typeAssertions.ts, 41, 11)) >undefined : Symbol(undefined) >numOrStr : Symbol(numOrStr) } diff --git a/tests/baselines/reference/typeAssertions.types b/tests/baselines/reference/typeAssertions.types index bc6a8c82a5e03..31d6f8f3d426a 100644 --- a/tests/baselines/reference/typeAssertions.types +++ b/tests/baselines/reference/typeAssertions.types @@ -26,11 +26,11 @@ fn1(fn2(4)); // Error >4 : 4 > : ^ -var a: any; +declare var a: any; >a : any > : ^^^ -var s: string; +declare var s: string; >s : string > : ^^^^^^ @@ -202,11 +202,11 @@ someOther = someOther; > : ^^^^^^^^^ // Type assertion cannot be a type-predicate type -var numOrStr: number | string; +declare var numOrStr: number | string; >numOrStr : string | number > : ^^^^^^^^^^^^^^^ -var str: string; +declare var str: string; >str : string > : ^^^^^^ diff --git a/tests/baselines/reference/typeComparisonCaching.errors.txt b/tests/baselines/reference/typeComparisonCaching.errors.txt index e8a0c1a3e0662..fc243dd15c7e3 100644 --- a/tests/baselines/reference/typeComparisonCaching.errors.txt +++ b/tests/baselines/reference/typeComparisonCaching.errors.txt @@ -28,9 +28,9 @@ typeComparisonCaching.ts(27,1): error TS2322: Type 'D' is not assignable to type } var a: A; - var b: B; + declare var b: B; var c: C; - var d: D; + declare var d: D; a = b; ~ diff --git a/tests/baselines/reference/typeComparisonCaching.js b/tests/baselines/reference/typeComparisonCaching.js index e7efe3a864f69..ea062919b2a7f 100644 --- a/tests/baselines/reference/typeComparisonCaching.js +++ b/tests/baselines/reference/typeComparisonCaching.js @@ -22,9 +22,9 @@ interface D { } var a: A; -var b: B; +declare var b: B; var c: C; -var d: D; +declare var d: D; a = b; c = d; // Should not be allowed @@ -33,8 +33,6 @@ 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; -var d; a = b; c = d; // Should not be allowed diff --git a/tests/baselines/reference/typeComparisonCaching.symbols b/tests/baselines/reference/typeComparisonCaching.symbols index a9ea598662073..a636ea61a2952 100644 --- a/tests/baselines/reference/typeComparisonCaching.symbols +++ b/tests/baselines/reference/typeComparisonCaching.symbols @@ -45,23 +45,23 @@ var a: A; >a : Symbol(a, Decl(typeComparisonCaching.ts, 20, 3)) >A : Symbol(A, Decl(typeComparisonCaching.ts, 0, 0)) -var b: B; ->b : Symbol(b, Decl(typeComparisonCaching.ts, 21, 3)) +declare var b: B; +>b : Symbol(b, Decl(typeComparisonCaching.ts, 21, 11)) >B : Symbol(B, Decl(typeComparisonCaching.ts, 5, 1)) var c: C; >c : Symbol(c, Decl(typeComparisonCaching.ts, 22, 3)) >C : Symbol(C, Decl(typeComparisonCaching.ts, 10, 1)) -var d: D; ->d : Symbol(d, Decl(typeComparisonCaching.ts, 23, 3)) +declare var d: D; +>d : Symbol(d, Decl(typeComparisonCaching.ts, 23, 11)) >D : Symbol(D, Decl(typeComparisonCaching.ts, 14, 1)) a = b; >a : Symbol(a, Decl(typeComparisonCaching.ts, 20, 3)) ->b : Symbol(b, Decl(typeComparisonCaching.ts, 21, 3)) +>b : Symbol(b, Decl(typeComparisonCaching.ts, 21, 11)) c = d; // Should not be allowed >c : Symbol(c, Decl(typeComparisonCaching.ts, 22, 3)) ->d : Symbol(d, Decl(typeComparisonCaching.ts, 23, 3)) +>d : Symbol(d, Decl(typeComparisonCaching.ts, 23, 11)) diff --git a/tests/baselines/reference/typeComparisonCaching.types b/tests/baselines/reference/typeComparisonCaching.types index b9a2765a5fd5d..12e1c150d5053 100644 --- a/tests/baselines/reference/typeComparisonCaching.types +++ b/tests/baselines/reference/typeComparisonCaching.types @@ -39,7 +39,7 @@ var a: A; >a : A > : ^ -var b: B; +declare var b: B; >b : B > : ^ @@ -47,7 +47,7 @@ var c: C; >c : C > : ^ -var d: D; +declare var d: D; >d : D > : ^ diff --git a/tests/baselines/reference/typeGuardConstructorClassAndNumber.errors.txt b/tests/baselines/reference/typeGuardConstructorClassAndNumber.errors.txt index 95a3da3583f12..157a2a7ea374c 100644 --- a/tests/baselines/reference/typeGuardConstructorClassAndNumber.errors.txt +++ b/tests/baselines/reference/typeGuardConstructorClassAndNumber.errors.txt @@ -19,10 +19,10 @@ typeGuardConstructorClassAndNumber.ts(115,10): error TS2339: Property 'property1 ==== typeGuardConstructorClassAndNumber.ts (8 errors) ==== // Typical case class C1 { - property1: string; + property1!: string; } - let var1: C1 | number; + declare let var1: C1 | number; if (var1.constructor == C1) { var1; // C1 var1.property1; // string diff --git a/tests/baselines/reference/typeGuardConstructorClassAndNumber.js b/tests/baselines/reference/typeGuardConstructorClassAndNumber.js index 47a761fd04f72..6f2ead90bb8e8 100644 --- a/tests/baselines/reference/typeGuardConstructorClassAndNumber.js +++ b/tests/baselines/reference/typeGuardConstructorClassAndNumber.js @@ -3,10 +3,10 @@ //// [typeGuardConstructorClassAndNumber.ts] // Typical case class C1 { - property1: string; + property1!: string; } -let var1: C1 | number; +declare let var1: C1 | number; if (var1.constructor == C1) { var1; // C1 var1.property1; // string @@ -139,7 +139,6 @@ var C1 = /** @class */ (function () { } return C1; }()); -var var1; if (var1.constructor == C1) { var1; // C1 var1.property1; // string diff --git a/tests/baselines/reference/typeGuardConstructorClassAndNumber.symbols b/tests/baselines/reference/typeGuardConstructorClassAndNumber.symbols index 8565033061736..0cd380326c6d4 100644 --- a/tests/baselines/reference/typeGuardConstructorClassAndNumber.symbols +++ b/tests/baselines/reference/typeGuardConstructorClassAndNumber.symbols @@ -5,278 +5,278 @@ class C1 { >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) - property1: string; + property1!: string; >property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) } -let var1: C1 | number; ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +declare let var1: C1 | number; +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) if (var1.constructor == C1) { >var1.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // string >var1.property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) } else { var1; // number | C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } if (var1["constructor"] == C1) { ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >"constructor" : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // string >var1.property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) } else { var1; // number | C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } if (var1.constructor === C1) { >var1.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // string >var1.property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) } else { var1; // number | C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } if (var1["constructor"] === C1) { ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >"constructor" : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // string >var1.property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) } else { var1; // number | C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } if (C1 == var1.constructor) { >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) >var1.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // string >var1.property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) } else { var1; // number | C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } if (C1 == var1["constructor"]) { >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >"constructor" : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // string >var1.property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) } else { var1; // number | C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } if (C1 === var1.constructor) { >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) >var1.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // string >var1.property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) } else { var1; // number | C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } if (C1 === var1["constructor"]) { >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >"constructor" : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // string >var1.property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >property1 : Symbol(C1.property1, Decl(typeGuardConstructorClassAndNumber.ts, 1, 10)) } else { var1; // number | C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } if (var1.constructor != C1) { >var1.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) var1; // C1 | number ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // error ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } else { var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } if (var1["constructor"] != C1) { ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >"constructor" : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) var1; // C1 | number ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // error ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } else { var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } if (var1.constructor !== C1) { >var1.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) var1; // C1 | number ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // error ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } else { var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } if (var1["constructor"] !== C1) { ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >"constructor" : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) var1; // C1 | number ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // error ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } else { var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } if (C1 != var1.constructor) { >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) >var1.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) var1; // C1 | number ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // error ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } else { var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } if (C1 != var1["constructor"]) { >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >"constructor" : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) var1; // C1 | number ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // error ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } else { var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } if (C1 !== var1.constructor) { >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) >var1.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) var1; // C1 | number ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // error ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } else { var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } if (C1 !== var1["constructor"]) { >C1 : Symbol(C1, Decl(typeGuardConstructorClassAndNumber.ts, 0, 0)) ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) >"constructor" : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) var1; // C1 | number ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) var1.property1; // error ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } else { var1; // C1 ->var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorClassAndNumber.ts, 5, 11)) } // Repro from #37660 diff --git a/tests/baselines/reference/typeGuardConstructorClassAndNumber.types b/tests/baselines/reference/typeGuardConstructorClassAndNumber.types index 9d0ecfeefab9c..decfae66a4a6d 100644 --- a/tests/baselines/reference/typeGuardConstructorClassAndNumber.types +++ b/tests/baselines/reference/typeGuardConstructorClassAndNumber.types @@ -6,12 +6,12 @@ class C1 { >C1 : C1 > : ^^ - property1: string; + property1!: string; >property1 : string > : ^^^^^^ } -let var1: C1 | number; +declare let var1: C1 | number; >var1 : number | C1 > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/typeGuardConstructorDerivedClass.errors.txt b/tests/baselines/reference/typeGuardConstructorDerivedClass.errors.txt index 414004aa881f7..939a371b7abb4 100644 --- a/tests/baselines/reference/typeGuardConstructorDerivedClass.errors.txt +++ b/tests/baselines/reference/typeGuardConstructorDerivedClass.errors.txt @@ -4,14 +4,14 @@ typeGuardConstructorDerivedClass.ts(13,10): error TS2339: Property 'property1' d ==== typeGuardConstructorDerivedClass.ts (1 errors) ==== // Derived class with different structures class C1 { - property1: number; + property1!: number; } class C2 extends C1 { - property2: number; + property2!: number; } - let var1: C2 | string; + declare let var1: C2 | string; if (var1.constructor === C1) { var1; // never var1.property1; // error @@ -28,7 +28,7 @@ typeGuardConstructorDerivedClass.ts(13,10): error TS2339: Property 'property1' d class C4 extends C3 {} - let var2: C4 | string; + declare let var2: C4 | string; if (var2.constructor === C3) { var2; // never } @@ -38,14 +38,14 @@ typeGuardConstructorDerivedClass.ts(13,10): error TS2339: Property 'property1' d // Disjointly structured classes class C5 { - property1: number; + property1!: number; } class C6 { - property2: number; + property2!: number; } - let let3: C6 | string; + declare let let3: C6 | string; if (let3.constructor === C5) { let3; // never } @@ -62,7 +62,7 @@ typeGuardConstructorDerivedClass.ts(13,10): error TS2339: Property 'property1' d property1: number; } - let let4: C8 | string; + declare let let4: C8 | string; if (let4.constructor === C7) { let4; // never } diff --git a/tests/baselines/reference/typeGuardConstructorDerivedClass.js b/tests/baselines/reference/typeGuardConstructorDerivedClass.js index f7230f28ff501..a403694443e01 100644 --- a/tests/baselines/reference/typeGuardConstructorDerivedClass.js +++ b/tests/baselines/reference/typeGuardConstructorDerivedClass.js @@ -3,14 +3,14 @@ //// [typeGuardConstructorDerivedClass.ts] // Derived class with different structures class C1 { - property1: number; + property1!: number; } class C2 extends C1 { - property2: number; + property2!: number; } -let var1: C2 | string; +declare let var1: C2 | string; if (var1.constructor === C1) { var1; // never var1.property1; // error @@ -25,7 +25,7 @@ class C3 {} class C4 extends C3 {} -let var2: C4 | string; +declare let var2: C4 | string; if (var2.constructor === C3) { var2; // never } @@ -35,14 +35,14 @@ if (var2.constructor === C4) { // Disjointly structured classes class C5 { - property1: number; + property1!: number; } class C6 { - property2: number; + property2!: number; } -let let3: C6 | string; +declare let let3: C6 | string; if (let3.constructor === C5) { let3; // never } @@ -59,7 +59,7 @@ class C8 { property1: number; } -let let4: C8 | string; +declare let let4: C8 | string; if (let4.constructor === C7) { let4; // never } @@ -97,7 +97,6 @@ var C2 = /** @class */ (function (_super) { } return C2; }(C1)); -var var1; if (var1.constructor === C1) { var1; // never var1.property1; // error @@ -119,7 +118,6 @@ var C4 = /** @class */ (function (_super) { } return C4; }(C3)); -var var2; if (var2.constructor === C3) { var2; // never } @@ -137,7 +135,6 @@ var C6 = /** @class */ (function () { } return C6; }()); -var let3; if (let3.constructor === C5) { let3; // never } @@ -155,7 +152,6 @@ var C8 = /** @class */ (function () { } return C8; }()); -var let4; if (let4.constructor === C7) { let4; // never } diff --git a/tests/baselines/reference/typeGuardConstructorDerivedClass.symbols b/tests/baselines/reference/typeGuardConstructorDerivedClass.symbols index dd61f212ae5bb..bb81b66c75658 100644 --- a/tests/baselines/reference/typeGuardConstructorDerivedClass.symbols +++ b/tests/baselines/reference/typeGuardConstructorDerivedClass.symbols @@ -5,7 +5,7 @@ class C1 { >C1 : Symbol(C1, Decl(typeGuardConstructorDerivedClass.ts, 0, 0)) - property1: number; + property1!: number; >property1 : Symbol(C1.property1, Decl(typeGuardConstructorDerivedClass.ts, 1, 10)) } @@ -13,38 +13,38 @@ class C2 extends C1 { >C2 : Symbol(C2, Decl(typeGuardConstructorDerivedClass.ts, 3, 1)) >C1 : Symbol(C1, Decl(typeGuardConstructorDerivedClass.ts, 0, 0)) - property2: number; + property2!: number; >property2 : Symbol(C2.property2, Decl(typeGuardConstructorDerivedClass.ts, 5, 21)) } -let var1: C2 | string; ->var1 : Symbol(var1, Decl(typeGuardConstructorDerivedClass.ts, 9, 3)) +declare let var1: C2 | string; +>var1 : Symbol(var1, Decl(typeGuardConstructorDerivedClass.ts, 9, 11)) >C2 : Symbol(C2, Decl(typeGuardConstructorDerivedClass.ts, 3, 1)) if (var1.constructor === C1) { >var1.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->var1 : Symbol(var1, Decl(typeGuardConstructorDerivedClass.ts, 9, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorDerivedClass.ts, 9, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C1 : Symbol(C1, Decl(typeGuardConstructorDerivedClass.ts, 0, 0)) var1; // never ->var1 : Symbol(var1, Decl(typeGuardConstructorDerivedClass.ts, 9, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorDerivedClass.ts, 9, 11)) var1.property1; // error ->var1 : Symbol(var1, Decl(typeGuardConstructorDerivedClass.ts, 9, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorDerivedClass.ts, 9, 11)) } if (var1.constructor === C2) { >var1.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->var1 : Symbol(var1, Decl(typeGuardConstructorDerivedClass.ts, 9, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorDerivedClass.ts, 9, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C2 : Symbol(C2, Decl(typeGuardConstructorDerivedClass.ts, 3, 1)) var1; // C2 ->var1 : Symbol(var1, Decl(typeGuardConstructorDerivedClass.ts, 9, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorDerivedClass.ts, 9, 11)) var1.property1; // number >var1.property1 : Symbol(C1.property1, Decl(typeGuardConstructorDerivedClass.ts, 1, 10)) ->var1 : Symbol(var1, Decl(typeGuardConstructorDerivedClass.ts, 9, 3)) +>var1 : Symbol(var1, Decl(typeGuardConstructorDerivedClass.ts, 9, 11)) >property1 : Symbol(C1.property1, Decl(typeGuardConstructorDerivedClass.ts, 1, 10)) } @@ -56,65 +56,65 @@ class C4 extends C3 {} >C4 : Symbol(C4, Decl(typeGuardConstructorDerivedClass.ts, 20, 11)) >C3 : Symbol(C3, Decl(typeGuardConstructorDerivedClass.ts, 17, 1)) -let var2: C4 | string; ->var2 : Symbol(var2, Decl(typeGuardConstructorDerivedClass.ts, 24, 3)) +declare let var2: C4 | string; +>var2 : Symbol(var2, Decl(typeGuardConstructorDerivedClass.ts, 24, 11)) >C4 : Symbol(C4, Decl(typeGuardConstructorDerivedClass.ts, 20, 11)) if (var2.constructor === C3) { >var2.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->var2 : Symbol(var2, Decl(typeGuardConstructorDerivedClass.ts, 24, 3)) +>var2 : Symbol(var2, Decl(typeGuardConstructorDerivedClass.ts, 24, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C3 : Symbol(C3, Decl(typeGuardConstructorDerivedClass.ts, 17, 1)) var2; // never ->var2 : Symbol(var2, Decl(typeGuardConstructorDerivedClass.ts, 24, 3)) +>var2 : Symbol(var2, Decl(typeGuardConstructorDerivedClass.ts, 24, 11)) } if (var2.constructor === C4) { >var2.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->var2 : Symbol(var2, Decl(typeGuardConstructorDerivedClass.ts, 24, 3)) +>var2 : Symbol(var2, Decl(typeGuardConstructorDerivedClass.ts, 24, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C4 : Symbol(C4, Decl(typeGuardConstructorDerivedClass.ts, 20, 11)) var2; // C4 ->var2 : Symbol(var2, Decl(typeGuardConstructorDerivedClass.ts, 24, 3)) +>var2 : Symbol(var2, Decl(typeGuardConstructorDerivedClass.ts, 24, 11)) } // Disjointly structured classes class C5 { >C5 : Symbol(C5, Decl(typeGuardConstructorDerivedClass.ts, 30, 1)) - property1: number; + property1!: number; >property1 : Symbol(C5.property1, Decl(typeGuardConstructorDerivedClass.ts, 33, 10)) } class C6 { >C6 : Symbol(C6, Decl(typeGuardConstructorDerivedClass.ts, 35, 1)) - property2: number; + property2!: number; >property2 : Symbol(C6.property2, Decl(typeGuardConstructorDerivedClass.ts, 37, 10)) } -let let3: C6 | string; ->let3 : Symbol(let3, Decl(typeGuardConstructorDerivedClass.ts, 41, 3)) +declare let let3: C6 | string; +>let3 : Symbol(let3, Decl(typeGuardConstructorDerivedClass.ts, 41, 11)) >C6 : Symbol(C6, Decl(typeGuardConstructorDerivedClass.ts, 35, 1)) if (let3.constructor === C5) { >let3.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->let3 : Symbol(let3, Decl(typeGuardConstructorDerivedClass.ts, 41, 3)) +>let3 : Symbol(let3, Decl(typeGuardConstructorDerivedClass.ts, 41, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C5 : Symbol(C5, Decl(typeGuardConstructorDerivedClass.ts, 30, 1)) let3; // never ->let3 : Symbol(let3, Decl(typeGuardConstructorDerivedClass.ts, 41, 3)) +>let3 : Symbol(let3, Decl(typeGuardConstructorDerivedClass.ts, 41, 11)) } if (let3.constructor === C6) { >let3.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->let3 : Symbol(let3, Decl(typeGuardConstructorDerivedClass.ts, 41, 3)) +>let3 : Symbol(let3, Decl(typeGuardConstructorDerivedClass.ts, 41, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C6 : Symbol(C6, Decl(typeGuardConstructorDerivedClass.ts, 35, 1)) let3; // C6 ->let3 : Symbol(let3, Decl(typeGuardConstructorDerivedClass.ts, 41, 3)) +>let3 : Symbol(let3, Decl(typeGuardConstructorDerivedClass.ts, 41, 11)) } // Classes with the same structure @@ -132,26 +132,26 @@ class C8 { >property1 : Symbol(C8.property1, Decl(typeGuardConstructorDerivedClass.ts, 54, 10)) } -let let4: C8 | string; ->let4 : Symbol(let4, Decl(typeGuardConstructorDerivedClass.ts, 58, 3)) +declare let let4: C8 | string; +>let4 : Symbol(let4, Decl(typeGuardConstructorDerivedClass.ts, 58, 11)) >C8 : Symbol(C8, Decl(typeGuardConstructorDerivedClass.ts, 52, 1)) if (let4.constructor === C7) { >let4.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->let4 : Symbol(let4, Decl(typeGuardConstructorDerivedClass.ts, 58, 3)) +>let4 : Symbol(let4, Decl(typeGuardConstructorDerivedClass.ts, 58, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C7 : Symbol(C7, Decl(typeGuardConstructorDerivedClass.ts, 47, 1)) let4; // never ->let4 : Symbol(let4, Decl(typeGuardConstructorDerivedClass.ts, 58, 3)) +>let4 : Symbol(let4, Decl(typeGuardConstructorDerivedClass.ts, 58, 11)) } if (let4.constructor === C8) { >let4.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) ->let4 : Symbol(let4, Decl(typeGuardConstructorDerivedClass.ts, 58, 3)) +>let4 : Symbol(let4, Decl(typeGuardConstructorDerivedClass.ts, 58, 11)) >constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >C8 : Symbol(C8, Decl(typeGuardConstructorDerivedClass.ts, 52, 1)) let4; // C8 ->let4 : Symbol(let4, Decl(typeGuardConstructorDerivedClass.ts, 58, 3)) +>let4 : Symbol(let4, Decl(typeGuardConstructorDerivedClass.ts, 58, 11)) } diff --git a/tests/baselines/reference/typeGuardConstructorDerivedClass.types b/tests/baselines/reference/typeGuardConstructorDerivedClass.types index 73f7021300123..dcee3a38ef6d1 100644 --- a/tests/baselines/reference/typeGuardConstructorDerivedClass.types +++ b/tests/baselines/reference/typeGuardConstructorDerivedClass.types @@ -6,7 +6,7 @@ class C1 { >C1 : C1 > : ^^ - property1: number; + property1!: number; >property1 : number > : ^^^^^^ } @@ -17,12 +17,12 @@ class C2 extends C1 { >C1 : C1 > : ^^ - property2: number; + property2!: number; >property2 : number > : ^^^^^^ } -let var1: C2 | string; +declare let var1: C2 | string; >var1 : string | C2 > : ^^^^^^^^^^^ @@ -86,7 +86,7 @@ class C4 extends C3 {} >C3 : C3 > : ^^ -let var2: C4 | string; +declare let var2: C4 | string; >var2 : string | C4 > : ^^^^^^^^^^^ @@ -128,7 +128,7 @@ class C5 { >C5 : C5 > : ^^ - property1: number; + property1!: number; >property1 : number > : ^^^^^^ } @@ -137,12 +137,12 @@ class C6 { >C6 : C6 > : ^^ - property2: number; + property2!: number; >property2 : number > : ^^^^^^ } -let let3: C6 | string; +declare let let3: C6 | string; >let3 : string | C6 > : ^^^^^^^^^^^ @@ -198,7 +198,7 @@ class C8 { > : ^^^^^^ } -let let4: C8 | string; +declare let let4: C8 | string; >let4 : string | C8 > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.errors.txt b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.errors.txt index 8c8da810d4748..2855aba365fcb 100644 --- a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.errors.txt +++ b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.errors.txt @@ -67,7 +67,7 @@ typeGuardFunctionOfFormThisErrors.ts(58,7): error TS2339: Property 'lead' does n return false; } - let c: number | number[]; + declare var c: number | number[]; if (invalidGuard(c)) { c; } diff --git a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.js b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.js index 3de4086386995..a3a125d01f438 100644 --- a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.js +++ b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.js @@ -33,7 +33,7 @@ function invalidGuard(c: any): this is number { return false; } -let c: number | number[]; +declare var c: number | number[]; if (invalidGuard(c)) { c; } @@ -116,7 +116,6 @@ a.isLeader = a.isFollower; function invalidGuard(c) { return false; } -var c; if (invalidGuard(c)) { c; } @@ -157,7 +156,7 @@ interface GuardInterface extends RoyalGuard { declare let a: RoyalGuard; declare let b: GuardInterface; declare function invalidGuard(c: any): this is number; -declare let c: number | number[]; +declare var c: number | number[]; declare let holder: { invalidGuard: typeof invalidGuard; }; diff --git a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.symbols b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.symbols index 3efd7359c1c0a..116e69c5f64e0 100644 --- a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.symbols +++ b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.symbols @@ -92,19 +92,19 @@ function invalidGuard(c: any): this is number { return false; } -let c: number | number[]; ->c : Symbol(c, Decl(typeGuardFunctionOfFormThisErrors.ts, 32, 3)) +declare var c: number | number[]; +>c : Symbol(c, Decl(typeGuardFunctionOfFormThisErrors.ts, 32, 11)) if (invalidGuard(c)) { >invalidGuard : Symbol(invalidGuard, Decl(typeGuardFunctionOfFormThisErrors.ts, 26, 26)) ->c : Symbol(c, Decl(typeGuardFunctionOfFormThisErrors.ts, 32, 3)) +>c : Symbol(c, Decl(typeGuardFunctionOfFormThisErrors.ts, 32, 11)) c; ->c : Symbol(c, Decl(typeGuardFunctionOfFormThisErrors.ts, 32, 3)) +>c : Symbol(c, Decl(typeGuardFunctionOfFormThisErrors.ts, 32, 11)) } else { c; ->c : Symbol(c, Decl(typeGuardFunctionOfFormThisErrors.ts, 32, 3)) +>c : Symbol(c, Decl(typeGuardFunctionOfFormThisErrors.ts, 32, 11)) } let holder = {invalidGuard}; @@ -115,17 +115,17 @@ if (holder.invalidGuard(c)) { >holder.invalidGuard : Symbol(invalidGuard, Decl(typeGuardFunctionOfFormThisErrors.ts, 40, 14)) >holder : Symbol(holder, Decl(typeGuardFunctionOfFormThisErrors.ts, 40, 3)) >invalidGuard : Symbol(invalidGuard, Decl(typeGuardFunctionOfFormThisErrors.ts, 40, 14)) ->c : Symbol(c, Decl(typeGuardFunctionOfFormThisErrors.ts, 32, 3)) +>c : Symbol(c, Decl(typeGuardFunctionOfFormThisErrors.ts, 32, 11)) c; ->c : Symbol(c, Decl(typeGuardFunctionOfFormThisErrors.ts, 32, 3)) +>c : Symbol(c, Decl(typeGuardFunctionOfFormThisErrors.ts, 32, 11)) holder; >holder : Symbol(holder, Decl(typeGuardFunctionOfFormThisErrors.ts, 40, 3)) } else { c; ->c : Symbol(c, Decl(typeGuardFunctionOfFormThisErrors.ts, 32, 3)) +>c : Symbol(c, Decl(typeGuardFunctionOfFormThisErrors.ts, 32, 11)) holder; >holder : Symbol(holder, Decl(typeGuardFunctionOfFormThisErrors.ts, 40, 3)) diff --git a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.types b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.types index 28598a91262a4..33f886160e437 100644 --- a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.types +++ b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.types @@ -146,7 +146,7 @@ function invalidGuard(c: any): this is number { > : ^^^^^ } -let c: number | number[]; +declare var c: number | number[]; >c : number | number[] > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/typeGuardInClass.errors.txt b/tests/baselines/reference/typeGuardInClass.errors.txt index 9c668a335a84c..b1870b009fe39 100644 --- a/tests/baselines/reference/typeGuardInClass.errors.txt +++ b/tests/baselines/reference/typeGuardInClass.errors.txt @@ -5,7 +5,7 @@ typeGuardInClass.ts(13,17): error TS2322: Type 'string | number' is not assignab ==== typeGuardInClass.ts (2 errors) ==== - let x: string | number; + declare var x: string | number; if (typeof x === "string") { let n = class { diff --git a/tests/baselines/reference/typeGuardInClass.js b/tests/baselines/reference/typeGuardInClass.js index 7b15566b7c7f2..e1b1d633247eb 100644 --- a/tests/baselines/reference/typeGuardInClass.js +++ b/tests/baselines/reference/typeGuardInClass.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/expressions/typeGuards/typeGuardInClass.ts] //// //// [typeGuardInClass.ts] -let x: string | number; +declare var x: string | number; if (typeof x === "string") { let n = class { @@ -20,7 +20,6 @@ else { //// [typeGuardInClass.js] -var x; if (typeof x === "string") { var n = /** @class */ (function () { function class_1() { diff --git a/tests/baselines/reference/typeGuardInClass.symbols b/tests/baselines/reference/typeGuardInClass.symbols index ee1b2d5090f92..fc3c616d8766e 100644 --- a/tests/baselines/reference/typeGuardInClass.symbols +++ b/tests/baselines/reference/typeGuardInClass.symbols @@ -1,11 +1,11 @@ //// [tests/cases/conformance/expressions/typeGuards/typeGuardInClass.ts] //// === typeGuardInClass.ts === -let x: string | number; ->x : Symbol(x, Decl(typeGuardInClass.ts, 0, 3)) +declare var x: string | number; +>x : Symbol(x, Decl(typeGuardInClass.ts, 0, 11)) if (typeof x === "string") { ->x : Symbol(x, Decl(typeGuardInClass.ts, 0, 3)) +>x : Symbol(x, Decl(typeGuardInClass.ts, 0, 11)) let n = class { >n : Symbol(n, Decl(typeGuardInClass.ts, 3, 7)) @@ -13,7 +13,7 @@ if (typeof x === "string") { constructor() { let y: string = x; >y : Symbol(y, Decl(typeGuardInClass.ts, 5, 15)) ->x : Symbol(x, Decl(typeGuardInClass.ts, 0, 3)) +>x : Symbol(x, Decl(typeGuardInClass.ts, 0, 11)) } } } @@ -24,7 +24,7 @@ else { constructor() { let y: number = x; >y : Symbol(y, Decl(typeGuardInClass.ts, 12, 15)) ->x : Symbol(x, Decl(typeGuardInClass.ts, 0, 3)) +>x : Symbol(x, Decl(typeGuardInClass.ts, 0, 11)) } } } diff --git a/tests/baselines/reference/typeGuardInClass.types b/tests/baselines/reference/typeGuardInClass.types index 3cb864873d1a4..49259595d061a 100644 --- a/tests/baselines/reference/typeGuardInClass.types +++ b/tests/baselines/reference/typeGuardInClass.types @@ -1,7 +1,7 @@ //// [tests/cases/conformance/expressions/typeGuards/typeGuardInClass.ts] //// === typeGuardInClass.ts === -let x: string | number; +declare var x: string | number; >x : string | number > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/typeGuardOfFormThisMember.errors.txt b/tests/baselines/reference/typeGuardOfFormThisMember.errors.txt index 64657216b082f..35aa351318d29 100644 --- a/tests/baselines/reference/typeGuardOfFormThisMember.errors.txt +++ b/tests/baselines/reference/typeGuardOfFormThisMember.errors.txt @@ -98,7 +98,7 @@ typeGuardOfFormThisMember.ts(79,11): error TS2339: Property 'do' does not exist !!! error TS1228: A type predicate is only allowed in return type position for functions and methods. } - let guard: GenericGuard; + declare var guard: GenericGuard; if (guard.isLeader) { guard.lead(); ~~~~ @@ -120,7 +120,7 @@ typeGuardOfFormThisMember.ts(79,11): error TS2339: Property 'do' does not exist do(): void; } - let general: SpecificGuard; + declare var general: SpecificGuard; if (general.isMoreSpecific) { general.do(); ~~ diff --git a/tests/baselines/reference/typeGuardOfFormThisMember.js b/tests/baselines/reference/typeGuardOfFormThisMember.js index dca2ae2a07115..832cdf672636c 100644 --- a/tests/baselines/reference/typeGuardOfFormThisMember.js +++ b/tests/baselines/reference/typeGuardOfFormThisMember.js @@ -61,7 +61,7 @@ namespace Test { isFollower: this is GenericFollowerGuard; } - let guard: GenericGuard; + declare var guard: GenericGuard; if (guard.isLeader) { guard.lead(); } @@ -77,7 +77,7 @@ namespace Test { do(): void; } - let general: SpecificGuard; + declare var general: SpecificGuard; if (general.isMoreSpecific) { general.do(); } @@ -163,14 +163,12 @@ var Test; else if (file.isNetworked) { file.host; } - var guard; if (guard.isLeader) { guard.lead(); } else if (guard.isFollower) { guard.follow(); } - var general; if (general.isMoreSpecific) { general.do(); } diff --git a/tests/baselines/reference/typeGuardOfFormThisMember.symbols b/tests/baselines/reference/typeGuardOfFormThisMember.symbols index 3071a72e32578..e546c3430e5e5 100644 --- a/tests/baselines/reference/typeGuardOfFormThisMember.symbols +++ b/tests/baselines/reference/typeGuardOfFormThisMember.symbols @@ -172,26 +172,26 @@ namespace Test { >T : Symbol(T, Decl(typeGuardOfFormThisMember.ts, 54, 24)) } - let guard: GenericGuard; ->guard : Symbol(guard, Decl(typeGuardOfFormThisMember.ts, 60, 4)) + declare var guard: GenericGuard; +>guard : Symbol(guard, Decl(typeGuardOfFormThisMember.ts, 60, 12)) >GenericGuard : Symbol(GenericGuard, Decl(typeGuardOfFormThisMember.ts, 52, 2)) >File : Symbol(File, Decl(typeGuardOfFormThisMember.ts, 15, 2)) if (guard.isLeader) { >guard.isLeader : Symbol(GenericGuard.isLeader, Decl(typeGuardOfFormThisMember.ts, 55, 12)) ->guard : Symbol(guard, Decl(typeGuardOfFormThisMember.ts, 60, 4)) +>guard : Symbol(guard, Decl(typeGuardOfFormThisMember.ts, 60, 12)) >isLeader : Symbol(GenericGuard.isLeader, Decl(typeGuardOfFormThisMember.ts, 55, 12)) guard.lead(); ->guard : Symbol(guard, Decl(typeGuardOfFormThisMember.ts, 60, 4)) +>guard : Symbol(guard, Decl(typeGuardOfFormThisMember.ts, 60, 12)) } else if (guard.isFollower) { >guard.isFollower : Symbol(GenericGuard.isFollower, Decl(typeGuardOfFormThisMember.ts, 56, 42)) ->guard : Symbol(guard, Decl(typeGuardOfFormThisMember.ts, 60, 4)) +>guard : Symbol(guard, Decl(typeGuardOfFormThisMember.ts, 60, 12)) >isFollower : Symbol(GenericGuard.isFollower, Decl(typeGuardOfFormThisMember.ts, 56, 42)) guard.follow(); ->guard : Symbol(guard, Decl(typeGuardOfFormThisMember.ts, 60, 4)) +>guard : Symbol(guard, Decl(typeGuardOfFormThisMember.ts, 60, 12)) } interface SpecificGuard { @@ -210,17 +210,17 @@ namespace Test { >do : Symbol(MoreSpecificGuard.do, Decl(typeGuardOfFormThisMember.ts, 72, 52)) } - let general: SpecificGuard; ->general : Symbol(general, Decl(typeGuardOfFormThisMember.ts, 76, 4)) + declare var general: SpecificGuard; +>general : Symbol(general, Decl(typeGuardOfFormThisMember.ts, 76, 12)) >SpecificGuard : Symbol(SpecificGuard, Decl(typeGuardOfFormThisMember.ts, 66, 2)) if (general.isMoreSpecific) { >general.isMoreSpecific : Symbol(SpecificGuard.isMoreSpecific, Decl(typeGuardOfFormThisMember.ts, 68, 26)) ->general : Symbol(general, Decl(typeGuardOfFormThisMember.ts, 76, 4)) +>general : Symbol(general, Decl(typeGuardOfFormThisMember.ts, 76, 12)) >isMoreSpecific : Symbol(SpecificGuard.isMoreSpecific, Decl(typeGuardOfFormThisMember.ts, 68, 26)) general.do(); ->general : Symbol(general, Decl(typeGuardOfFormThisMember.ts, 76, 4)) +>general : Symbol(general, Decl(typeGuardOfFormThisMember.ts, 76, 12)) } } diff --git a/tests/baselines/reference/typeGuardOfFormThisMember.types b/tests/baselines/reference/typeGuardOfFormThisMember.types index c81aba9070e46..220996fb07760 100644 --- a/tests/baselines/reference/typeGuardOfFormThisMember.types +++ b/tests/baselines/reference/typeGuardOfFormThisMember.types @@ -251,7 +251,7 @@ namespace Test { > : ^^^^^^^ } - let guard: GenericGuard; + declare var guard: GenericGuard; >guard : GenericGuard > : ^^^^^^^^^^^^^^^^^^ @@ -304,7 +304,7 @@ namespace Test { > : ^^^^^^ } - let general: SpecificGuard; + declare var general: SpecificGuard; >general : SpecificGuard > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.errors.txt b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.errors.txt index 0f0e9d27cc62a..0f875c0538181 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.errors.txt +++ b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.errors.txt @@ -8,10 +8,10 @@ typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts(34,9): error TS2403: Subsequent va ==== typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts (5 errors) ==== class C { private p: string }; - var strOrNum: string | number; - var strOrBool: string | boolean; - var numOrBool: number | boolean - var strOrC: string | C; + declare var strOrNum: string | number; + declare var strOrBool: string | boolean; + declare var numOrBool: number | boolean; + declare var strOrC: string | C; // typeof x == s has not effect on typeguard if (typeof strOrNum == "string") { diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.js b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.js index 9bf218444e1a3..5acccdc6dba1b 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.js +++ b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.js @@ -3,10 +3,10 @@ //// [typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts] class C { private p: string }; -var strOrNum: string | number; -var strOrBool: string | boolean; -var numOrBool: number | boolean -var strOrC: string | C; +declare var strOrNum: string | number; +declare var strOrBool: string | boolean; +declare var numOrBool: number | boolean; +declare var strOrC: string | C; // typeof x == s has not effect on typeguard if (typeof strOrNum == "string") { @@ -44,10 +44,6 @@ var C = /** @class */ (function () { return C; }()); ; -var strOrNum; -var strOrBool; -var numOrBool; -var strOrC; // typeof x == s has not effect on typeguard if (typeof strOrNum == "string") { var r1 = strOrNum; // string | number diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.symbols b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.symbols index cff09a0e0f9d1..33c925a242954 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.symbols +++ b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.symbols @@ -5,68 +5,68 @@ class C { private p: string }; >C : Symbol(C, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 0, 0)) >p : Symbol(C.p, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 0, 9)) -var strOrNum: string | number; ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 2, 3)) +declare var strOrNum: string | number; +>strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 2, 11)) -var strOrBool: string | boolean; ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 3, 3)) +declare var strOrBool: string | boolean; +>strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 3, 11)) -var numOrBool: number | boolean ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 4, 3)) +declare var numOrBool: number | boolean; +>numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 4, 11)) -var strOrC: string | C; ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 5, 3)) +declare var strOrC: string | C; +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 5, 11)) >C : Symbol(C, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 0, 0)) // typeof x == s has not effect on typeguard if (typeof strOrNum == "string") { ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 2, 3)) +>strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 2, 11)) var r1 = strOrNum; // string | number >r1 : Symbol(r1, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 9, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 12, 7)) ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 2, 3)) +>strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 2, 11)) } else { var r1 = strOrNum; // string | number >r1 : Symbol(r1, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 9, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 12, 7)) ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 2, 3)) +>strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 2, 11)) } if (typeof strOrBool == "boolean") { ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 3, 3)) +>strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 3, 11)) var r2 = strOrBool; // string | boolean >r2 : Symbol(r2, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 16, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 19, 7)) ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 3, 3)) +>strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 3, 11)) } else { var r2 = strOrBool; // string | boolean >r2 : Symbol(r2, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 16, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 19, 7)) ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 3, 3)) +>strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 3, 11)) } if (typeof numOrBool == "number") { ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 4, 3)) +>numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 4, 11)) var r3 = numOrBool; // number | boolean >r3 : Symbol(r3, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 23, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 26, 7)) ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 4, 3)) +>numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 4, 11)) } else { var r3 = numOrBool; // number | boolean >r3 : Symbol(r3, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 23, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 26, 7)) ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 4, 3)) +>numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 4, 11)) } if (typeof strOrC == "Object") { ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 5, 3)) +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 5, 11)) var r4 = strOrC; // string | C >r4 : Symbol(r4, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 30, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 33, 7)) ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 5, 3)) +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 5, 11)) } else { var r4 = strOrC; // string | C >r4 : Symbol(r4, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 30, 7), Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 33, 7)) ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 5, 3)) +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts, 5, 11)) } diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.types b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.types index 4fc268abbdedd..772145f5c6a35 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.types @@ -7,19 +7,19 @@ class C { private p: string }; >p : string > : ^^^^^^ -var strOrNum: string | number; +declare var strOrNum: string | number; >strOrNum : string | number > : ^^^^^^^^^^^^^^^ -var strOrBool: string | boolean; +declare var strOrBool: string | boolean; >strOrBool : string | boolean > : ^^^^^^^^^^^^^^^^ -var numOrBool: number | boolean +declare var numOrBool: number | boolean; >numOrBool : number | boolean > : ^^^^^^^^^^^^^^^^ -var strOrC: string | C; +declare var strOrC: string | C; >strOrC : string | C > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.errors.txt b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.errors.txt index 0032b0b422311..0f460c94953b7 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.errors.txt +++ b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.errors.txt @@ -8,10 +8,10 @@ typeGuardOfFormTypeOfNotEqualHasNoEffect.ts(34,9): error TS2403: Subsequent vari ==== typeGuardOfFormTypeOfNotEqualHasNoEffect.ts (5 errors) ==== class C { private p: string }; - var strOrNum: string | number; - var strOrBool: string | boolean; - var numOrBool: number | boolean - var strOrC: string | C; + declare var strOrNum: string | number; + declare var strOrBool: string | boolean; + declare var numOrBool: number | boolean; + declare var strOrC: string | C; // typeof x != s has not effect on typeguard if (typeof strOrNum != "string") { diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.js b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.js index e1bf25b928639..506357c25c4d1 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.js +++ b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.js @@ -3,10 +3,10 @@ //// [typeGuardOfFormTypeOfNotEqualHasNoEffect.ts] class C { private p: string }; -var strOrNum: string | number; -var strOrBool: string | boolean; -var numOrBool: number | boolean -var strOrC: string | C; +declare var strOrNum: string | number; +declare var strOrBool: string | boolean; +declare var numOrBool: number | boolean; +declare var strOrC: string | C; // typeof x != s has not effect on typeguard if (typeof strOrNum != "string") { @@ -44,10 +44,6 @@ var C = /** @class */ (function () { return C; }()); ; -var strOrNum; -var strOrBool; -var numOrBool; -var strOrC; // typeof x != s has not effect on typeguard if (typeof strOrNum != "string") { var r1 = strOrNum; // string | number diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.symbols b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.symbols index 9054186e4dcb8..477ce691bfb71 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.symbols +++ b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.symbols @@ -5,68 +5,68 @@ class C { private p: string }; >C : Symbol(C, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 0, 0)) >p : Symbol(C.p, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 0, 9)) -var strOrNum: string | number; ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 2, 3)) +declare var strOrNum: string | number; +>strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 2, 11)) -var strOrBool: string | boolean; ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 3, 3)) +declare var strOrBool: string | boolean; +>strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 3, 11)) -var numOrBool: number | boolean ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 4, 3)) +declare var numOrBool: number | boolean; +>numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 4, 11)) -var strOrC: string | C; ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 5, 3)) +declare var strOrC: string | C; +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 5, 11)) >C : Symbol(C, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 0, 0)) // typeof x != s has not effect on typeguard if (typeof strOrNum != "string") { ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 2, 3)) +>strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 2, 11)) var r1 = strOrNum; // string | number >r1 : Symbol(r1, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 9, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 12, 7)) ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 2, 3)) +>strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 2, 11)) } else { var r1 = strOrNum; // string | number >r1 : Symbol(r1, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 9, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 12, 7)) ->strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 2, 3)) +>strOrNum : Symbol(strOrNum, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 2, 11)) } if (typeof strOrBool != "boolean") { ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 3, 3)) +>strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 3, 11)) var r2 = strOrBool; // string | boolean >r2 : Symbol(r2, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 16, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 19, 7)) ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 3, 3)) +>strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 3, 11)) } else { var r2 = strOrBool; // string | boolean >r2 : Symbol(r2, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 16, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 19, 7)) ->strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 3, 3)) +>strOrBool : Symbol(strOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 3, 11)) } if (typeof numOrBool != "number") { ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 4, 3)) +>numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 4, 11)) var r3 = numOrBool; // number | boolean >r3 : Symbol(r3, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 23, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 26, 7)) ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 4, 3)) +>numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 4, 11)) } else { var r3 = numOrBool; // number | boolean >r3 : Symbol(r3, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 23, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 26, 7)) ->numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 4, 3)) +>numOrBool : Symbol(numOrBool, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 4, 11)) } if (typeof strOrC != "Object") { ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 5, 3)) +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 5, 11)) var r4 = strOrC; // string | C >r4 : Symbol(r4, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 30, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 33, 7)) ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 5, 3)) +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 5, 11)) } else { var r4 = strOrC; // string | C >r4 : Symbol(r4, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 30, 7), Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 33, 7)) ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 5, 3)) +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfNotEqualHasNoEffect.ts, 5, 11)) } diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.types b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.types index 3ee867159b67b..5c66816175342 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.types @@ -7,19 +7,19 @@ class C { private p: string }; >p : string > : ^^^^^^ -var strOrNum: string | number; +declare var strOrNum: string | number; >strOrNum : string | number > : ^^^^^^^^^^^^^^^ -var strOrBool: string | boolean; +declare var strOrBool: string | boolean; >strOrBool : string | boolean > : ^^^^^^^^^^^^^^^^ -var numOrBool: number | boolean +declare var numOrBool: number | boolean; >numOrBool : number | boolean > : ^^^^^^^^^^^^^^^^ -var strOrC: string | C; +declare var strOrC: string | C; >strOrC : string | C > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfOther.errors.txt b/tests/baselines/reference/typeGuardOfFormTypeOfOther.errors.txt index d7be75b79a458..ae419c3e30828 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfOther.errors.txt +++ b/tests/baselines/reference/typeGuardOfFormTypeOfOther.errors.txt @@ -22,9 +22,9 @@ typeGuardOfFormTypeOfOther.ts(75,5): error TS2367: This comparison appears to be var strOrBool: string | boolean; var numOrBool: number | boolean var strOrNumOrBool: string | number | boolean; - var strOrC: string | C; - var numOrC: number | C; - var boolOrC: boolean | C; + declare var strOrC: string | C; + declare var numOrC: number | C; + declare var boolOrC: boolean | C; var emptyObj: {}; var c: C; diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfOther.js b/tests/baselines/reference/typeGuardOfFormTypeOfOther.js index 4fdaa2261ea69..b14c83e17c9e4 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfOther.js +++ b/tests/baselines/reference/typeGuardOfFormTypeOfOther.js @@ -10,9 +10,9 @@ var strOrNum: string | number; var strOrBool: string | boolean; var numOrBool: number | boolean var strOrNumOrBool: string | number | boolean; -var strOrC: string | C; -var numOrC: number | C; -var boolOrC: boolean | C; +declare var strOrC: string | C; +declare var numOrC: number | C; +declare var boolOrC: boolean | C; var emptyObj: {}; var c: C; @@ -97,9 +97,6 @@ var strOrNum; var strOrBool; var numOrBool; var strOrNumOrBool; -var strOrC; -var numOrC; -var boolOrC; var emptyObj; var c; // A type guard of the form typeof x === s, diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfOther.symbols b/tests/baselines/reference/typeGuardOfFormTypeOfOther.symbols index 16d96d5f7ffd7..c28ad34beee26 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfOther.symbols +++ b/tests/baselines/reference/typeGuardOfFormTypeOfOther.symbols @@ -26,16 +26,16 @@ var numOrBool: number | boolean var strOrNumOrBool: string | number | boolean; >strOrNumOrBool : Symbol(strOrNumOrBool, Decl(typeGuardOfFormTypeOfOther.ts, 8, 3)) -var strOrC: string | C; ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 3)) +declare var strOrC: string | C; +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 11)) >C : Symbol(C, Decl(typeGuardOfFormTypeOfOther.ts, 0, 0)) -var numOrC: number | C; ->numOrC : Symbol(numOrC, Decl(typeGuardOfFormTypeOfOther.ts, 10, 3)) +declare var numOrC: number | C; +>numOrC : Symbol(numOrC, Decl(typeGuardOfFormTypeOfOther.ts, 10, 11)) >C : Symbol(C, Decl(typeGuardOfFormTypeOfOther.ts, 0, 0)) -var boolOrC: boolean | C; ->boolOrC : Symbol(boolOrC, Decl(typeGuardOfFormTypeOfOther.ts, 11, 3)) +declare var boolOrC: boolean | C; +>boolOrC : Symbol(boolOrC, Decl(typeGuardOfFormTypeOfOther.ts, 11, 11)) >C : Symbol(C, Decl(typeGuardOfFormTypeOfOther.ts, 0, 0)) var emptyObj: {}; @@ -51,52 +51,52 @@ var c: C; // - when false, has no effect on the type of x. if (typeof strOrC === "Object") { ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 3)) +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 11)) c = strOrC; // C >c : Symbol(c, Decl(typeGuardOfFormTypeOfOther.ts, 13, 3)) ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 3)) +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 11)) } else { var r2: string = strOrC; // string >r2 : Symbol(r2, Decl(typeGuardOfFormTypeOfOther.ts, 24, 7), Decl(typeGuardOfFormTypeOfOther.ts, 56, 7)) ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 3)) +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 11)) } if (typeof numOrC === "Object") { ->numOrC : Symbol(numOrC, Decl(typeGuardOfFormTypeOfOther.ts, 10, 3)) +>numOrC : Symbol(numOrC, Decl(typeGuardOfFormTypeOfOther.ts, 10, 11)) c = numOrC; // C >c : Symbol(c, Decl(typeGuardOfFormTypeOfOther.ts, 13, 3)) ->numOrC : Symbol(numOrC, Decl(typeGuardOfFormTypeOfOther.ts, 10, 3)) +>numOrC : Symbol(numOrC, Decl(typeGuardOfFormTypeOfOther.ts, 10, 11)) } else { var r3: number = numOrC; // number >r3 : Symbol(r3, Decl(typeGuardOfFormTypeOfOther.ts, 30, 7), Decl(typeGuardOfFormTypeOfOther.ts, 62, 7)) ->numOrC : Symbol(numOrC, Decl(typeGuardOfFormTypeOfOther.ts, 10, 3)) +>numOrC : Symbol(numOrC, Decl(typeGuardOfFormTypeOfOther.ts, 10, 11)) } if (typeof boolOrC === "Object") { ->boolOrC : Symbol(boolOrC, Decl(typeGuardOfFormTypeOfOther.ts, 11, 3)) +>boolOrC : Symbol(boolOrC, Decl(typeGuardOfFormTypeOfOther.ts, 11, 11)) c = boolOrC; // C >c : Symbol(c, Decl(typeGuardOfFormTypeOfOther.ts, 13, 3)) ->boolOrC : Symbol(boolOrC, Decl(typeGuardOfFormTypeOfOther.ts, 11, 3)) +>boolOrC : Symbol(boolOrC, Decl(typeGuardOfFormTypeOfOther.ts, 11, 11)) } else { var r4: boolean = boolOrC; // boolean >r4 : Symbol(r4, Decl(typeGuardOfFormTypeOfOther.ts, 36, 7), Decl(typeGuardOfFormTypeOfOther.ts, 68, 7)) ->boolOrC : Symbol(boolOrC, Decl(typeGuardOfFormTypeOfOther.ts, 11, 3)) +>boolOrC : Symbol(boolOrC, Decl(typeGuardOfFormTypeOfOther.ts, 11, 11)) } if (typeof strOrC === "Object" as string) { // comparison is OK with cast ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 3)) +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 11)) c = strOrC; // error: but no narrowing to C >c : Symbol(c, Decl(typeGuardOfFormTypeOfOther.ts, 13, 3)) ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 3)) +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 11)) } else { var r5: string = strOrC; // error: no narrowing to string >r5 : Symbol(r5, Decl(typeGuardOfFormTypeOfOther.ts, 42, 7)) ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 3)) +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 11)) } if (typeof strOrNumOrBool === "Object") { @@ -116,40 +116,40 @@ else { // - when true, narrows the type of x by typeof x === s when false, or // - when false, narrows the type of x by typeof x === s when true. if (typeof strOrC !== "Object") { ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 3)) +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 11)) var r2: string = strOrC; // string >r2 : Symbol(r2, Decl(typeGuardOfFormTypeOfOther.ts, 24, 7), Decl(typeGuardOfFormTypeOfOther.ts, 56, 7)) ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 3)) +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 11)) } else { c = strOrC; // C >c : Symbol(c, Decl(typeGuardOfFormTypeOfOther.ts, 13, 3)) ->strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 3)) +>strOrC : Symbol(strOrC, Decl(typeGuardOfFormTypeOfOther.ts, 9, 11)) } if (typeof numOrC !== "Object") { ->numOrC : Symbol(numOrC, Decl(typeGuardOfFormTypeOfOther.ts, 10, 3)) +>numOrC : Symbol(numOrC, Decl(typeGuardOfFormTypeOfOther.ts, 10, 11)) var r3: number = numOrC; // number >r3 : Symbol(r3, Decl(typeGuardOfFormTypeOfOther.ts, 30, 7), Decl(typeGuardOfFormTypeOfOther.ts, 62, 7)) ->numOrC : Symbol(numOrC, Decl(typeGuardOfFormTypeOfOther.ts, 10, 3)) +>numOrC : Symbol(numOrC, Decl(typeGuardOfFormTypeOfOther.ts, 10, 11)) } else { c = numOrC; // C >c : Symbol(c, Decl(typeGuardOfFormTypeOfOther.ts, 13, 3)) ->numOrC : Symbol(numOrC, Decl(typeGuardOfFormTypeOfOther.ts, 10, 3)) +>numOrC : Symbol(numOrC, Decl(typeGuardOfFormTypeOfOther.ts, 10, 11)) } if (typeof boolOrC !== "Object") { ->boolOrC : Symbol(boolOrC, Decl(typeGuardOfFormTypeOfOther.ts, 11, 3)) +>boolOrC : Symbol(boolOrC, Decl(typeGuardOfFormTypeOfOther.ts, 11, 11)) var r4: boolean = boolOrC; // boolean >r4 : Symbol(r4, Decl(typeGuardOfFormTypeOfOther.ts, 36, 7), Decl(typeGuardOfFormTypeOfOther.ts, 68, 7)) ->boolOrC : Symbol(boolOrC, Decl(typeGuardOfFormTypeOfOther.ts, 11, 3)) +>boolOrC : Symbol(boolOrC, Decl(typeGuardOfFormTypeOfOther.ts, 11, 11)) } else { c = boolOrC; // C >c : Symbol(c, Decl(typeGuardOfFormTypeOfOther.ts, 13, 3)) ->boolOrC : Symbol(boolOrC, Decl(typeGuardOfFormTypeOfOther.ts, 11, 3)) +>boolOrC : Symbol(boolOrC, Decl(typeGuardOfFormTypeOfOther.ts, 11, 11)) } if (typeof strOrNumOrBool !== "Object") { diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfOther.types b/tests/baselines/reference/typeGuardOfFormTypeOfOther.types index 5acd032dc4a48..a9123f1e4c9c1 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfOther.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfOther.types @@ -35,15 +35,15 @@ var strOrNumOrBool: string | number | boolean; >strOrNumOrBool : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ -var strOrC: string | C; +declare var strOrC: string | C; >strOrC : string | C > : ^^^^^^^^^^ -var numOrC: number | C; +declare var numOrC: number | C; >numOrC : number | C > : ^^^^^^^^^^ -var boolOrC: boolean | C; +declare var boolOrC: boolean | C; >boolOrC : boolean | C > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.errors.txt b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.errors.txt index f0c93a11efe23..18bea63bde47e 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.errors.txt +++ b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.errors.txt @@ -35,7 +35,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert } declare var A: AConstructor; - var obj1: A | string; + declare var obj1: A | string; if (obj1 instanceof A) { // narrowed to A. obj1.foo; obj1.bar; @@ -43,7 +43,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert !!! error TS2339: Property 'bar' does not exist on type 'A'. } - var obj2: any; + declare var obj2: any; if (obj2 instanceof A) { obj2.foo; obj2.bar; @@ -60,7 +60,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert } declare var B: BConstructor; - var obj3: B | string; + declare var obj3: B | string; if (obj3 instanceof B) { // narrowed to B. obj3.foo = 1; obj3.foo = "str"; @@ -71,7 +71,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert !!! error TS2339: Property 'bar' does not exist on type 'B'. } - var obj4: any; + declare var obj4: any; if (obj4 instanceof B) { obj4.foo = "str"; obj4.foo = 1; @@ -97,7 +97,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert } declare var C: CConstructor; - var obj5: C1 | A; + declare var obj5: C1 | A; if (obj5 instanceof C) { // narrowed to C1. obj5.foo; obj5.c; @@ -107,7 +107,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert !!! error TS2339: Property 'bar2' does not exist on type 'C1'. } - var obj6: any; + declare var obj6: any; if (obj6 instanceof C) { obj6.foo; obj6.bar1; @@ -126,7 +126,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert } declare var D: { new (): D; }; - var obj7: D | string; + declare var obj7: D | string; if (obj7 instanceof D) { // narrowed to D. obj7.foo; obj7.bar; @@ -134,7 +134,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert !!! error TS2339: Property 'bar' does not exist on type 'D'. } - var obj8: any; + declare var obj8: any; if (obj8 instanceof D) { obj8.foo; obj8.bar; @@ -156,7 +156,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert } declare var E: EConstructor; - var obj9: E1 | A; + declare var obj9: E1 | A; if (obj9 instanceof E) { // narrowed to E1 obj9.foo; obj9.bar1; @@ -165,7 +165,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert !!! error TS2339: Property 'bar2' does not exist on type 'E1'. } - var obj10: any; + declare var obj10: any; if (obj10 instanceof E) { obj10.foo; obj10.bar1; @@ -188,7 +188,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert } declare var F: FConstructor; - var obj11: F | string; + declare var obj11: F | string; if (obj11 instanceof F) { // can't type narrowing, construct signature returns any. obj11.foo; ~~~ @@ -200,7 +200,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert !!! error TS2339: Property 'bar' does not exist on type 'string'. } - var obj12: any; + declare var obj12: any; if (obj12 instanceof F) { obj12.foo; obj12.bar; @@ -219,7 +219,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert } declare var G: GConstructor; - var obj13: G1 | G2; + declare var obj13: G1 | G2; if (obj13 instanceof G) { // narrowed to G1. G1 is return type of prototype property. obj13.foo1; obj13.foo2; @@ -227,7 +227,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert !!! error TS2339: Property 'foo2' does not exist on type 'G1'. } - var obj14: any; + declare var obj14: any; if (obj14 instanceof G) { obj14.foo1; obj14.foo2; @@ -245,7 +245,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert } declare var H: HConstructor; - var obj15: H | string; + declare var obj15: H | string; if (obj15 instanceof H) { // narrowed to H. obj15.foo; obj15.bar; @@ -253,7 +253,7 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert !!! error TS2339: Property 'bar' does not exist on type 'H'. } - var obj16: any; + declare var obj16: any; if (obj16 instanceof H) { obj16.foo1; ~~~~ @@ -265,13 +265,13 @@ typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2551: Propert !!! related TS2728 typeGuardsWithInstanceOfByConstructorSignature.ts:175:5: 'foo' is declared here. } - var obj17: any; + declare var obj17: any; if (obj17 instanceof Object) { // can't narrow type from 'any' to 'Object' obj17.foo1; obj17.foo2; } - var obj18: any; + declare var obj18: any; if (obj18 instanceof Function) { // can't narrow type from 'any' to 'Function' obj18.foo1; obj18.foo2; diff --git a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.js b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.js index 1beff0fd46200..cb88a6d4ab038 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.js +++ b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.js @@ -9,13 +9,13 @@ interface A { } declare var A: AConstructor; -var obj1: A | string; +declare var obj1: A | string; if (obj1 instanceof A) { // narrowed to A. obj1.foo; obj1.bar; } -var obj2: any; +declare var obj2: any; if (obj2 instanceof A) { obj2.foo; obj2.bar; @@ -30,14 +30,14 @@ interface B { } declare var B: BConstructor; -var obj3: B | string; +declare var obj3: B | string; if (obj3 instanceof B) { // narrowed to B. obj3.foo = 1; obj3.foo = "str"; obj3.bar = "str"; } -var obj4: any; +declare var obj4: any; if (obj4 instanceof B) { obj4.foo = "str"; obj4.foo = 1; @@ -61,7 +61,7 @@ interface C2 { } declare var C: CConstructor; -var obj5: C1 | A; +declare var obj5: C1 | A; if (obj5 instanceof C) { // narrowed to C1. obj5.foo; obj5.c; @@ -69,7 +69,7 @@ if (obj5 instanceof C) { // narrowed to C1. obj5.bar2; } -var obj6: any; +declare var obj6: any; if (obj6 instanceof C) { obj6.foo; obj6.bar1; @@ -82,13 +82,13 @@ interface D { } declare var D: { new (): D; }; -var obj7: D | string; +declare var obj7: D | string; if (obj7 instanceof D) { // narrowed to D. obj7.foo; obj7.bar; } -var obj8: any; +declare var obj8: any; if (obj8 instanceof D) { obj8.foo; obj8.bar; @@ -108,14 +108,14 @@ interface E2 { } declare var E: EConstructor; -var obj9: E1 | A; +declare var obj9: E1 | A; if (obj9 instanceof E) { // narrowed to E1 obj9.foo; obj9.bar1; obj9.bar2; } -var obj10: any; +declare var obj10: any; if (obj10 instanceof E) { obj10.foo; obj10.bar1; @@ -132,13 +132,13 @@ interface F { } declare var F: FConstructor; -var obj11: F | string; +declare var obj11: F | string; if (obj11 instanceof F) { // can't type narrowing, construct signature returns any. obj11.foo; obj11.bar; } -var obj12: any; +declare var obj12: any; if (obj12 instanceof F) { obj12.foo; obj12.bar; @@ -157,13 +157,13 @@ interface G2 { } declare var G: GConstructor; -var obj13: G1 | G2; +declare var obj13: G1 | G2; if (obj13 instanceof G) { // narrowed to G1. G1 is return type of prototype property. obj13.foo1; obj13.foo2; } -var obj14: any; +declare var obj14: any; if (obj14 instanceof G) { obj14.foo1; obj14.foo2; @@ -179,25 +179,25 @@ interface H { } declare var H: HConstructor; -var obj15: H | string; +declare var obj15: H | string; if (obj15 instanceof H) { // narrowed to H. obj15.foo; obj15.bar; } -var obj16: any; +declare var obj16: any; if (obj16 instanceof H) { obj16.foo1; obj16.foo2; } -var obj17: any; +declare var obj17: any; if (obj17 instanceof Object) { // can't narrow type from 'any' to 'Object' obj17.foo1; obj17.foo2; } -var obj18: any; +declare var obj18: any; if (obj18 instanceof Function) { // can't narrow type from 'any' to 'Function' obj18.foo1; obj18.foo2; @@ -205,99 +205,81 @@ if (obj18 instanceof Function) { // can't narrow type from 'any' to 'Function' //// [typeGuardsWithInstanceOfByConstructorSignature.js] -var obj1; if (obj1 instanceof A) { // narrowed to A. obj1.foo; obj1.bar; } -var obj2; if (obj2 instanceof A) { obj2.foo; obj2.bar; } -var obj3; if (obj3 instanceof B) { // narrowed to B. obj3.foo = 1; obj3.foo = "str"; obj3.bar = "str"; } -var obj4; if (obj4 instanceof B) { obj4.foo = "str"; obj4.foo = 1; obj4.bar = "str"; } -var obj5; if (obj5 instanceof C) { // narrowed to C1. obj5.foo; obj5.c; obj5.bar1; obj5.bar2; } -var obj6; if (obj6 instanceof C) { obj6.foo; obj6.bar1; obj6.bar2; } -var obj7; if (obj7 instanceof D) { // narrowed to D. obj7.foo; obj7.bar; } -var obj8; if (obj8 instanceof D) { obj8.foo; obj8.bar; } -var obj9; if (obj9 instanceof E) { // narrowed to E1 obj9.foo; obj9.bar1; obj9.bar2; } -var obj10; if (obj10 instanceof E) { obj10.foo; obj10.bar1; obj10.bar2; } -var obj11; if (obj11 instanceof F) { // can't type narrowing, construct signature returns any. obj11.foo; obj11.bar; } -var obj12; if (obj12 instanceof F) { obj12.foo; obj12.bar; } -var obj13; if (obj13 instanceof G) { // narrowed to G1. G1 is return type of prototype property. obj13.foo1; obj13.foo2; } -var obj14; if (obj14 instanceof G) { obj14.foo1; obj14.foo2; } -var obj15; if (obj15 instanceof H) { // narrowed to H. obj15.foo; obj15.bar; } -var obj16; if (obj16 instanceof H) { obj16.foo1; obj16.foo2; } -var obj17; if (obj17 instanceof Object) { // can't narrow type from 'any' to 'Object' obj17.foo1; obj17.foo2; } -var obj18; if (obj18 instanceof Function) { // can't narrow type from 'any' to 'Function' obj18.foo1; obj18.foo2; diff --git a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.symbols b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.symbols index 7398cd8a65326..2eead1f34542e 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.symbols +++ b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.symbols @@ -17,37 +17,37 @@ declare var A: AConstructor; >A : Symbol(A, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 2, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 6, 11)) >AConstructor : Symbol(AConstructor, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 0, 0)) -var obj1: A | string; ->obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 8, 3)) +declare var obj1: A | string; +>obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 8, 11)) >A : Symbol(A, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 2, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 6, 11)) if (obj1 instanceof A) { // narrowed to A. ->obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 8, 3)) +>obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 8, 11)) >A : Symbol(A, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 2, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 6, 11)) obj1.foo; >obj1.foo : Symbol(A.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 3, 13)) ->obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 8, 3)) +>obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 8, 11)) >foo : Symbol(A.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 3, 13)) obj1.bar; ->obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 8, 3)) +>obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 8, 11)) } -var obj2: any; ->obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 14, 3)) +declare var obj2: any; +>obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 14, 11)) if (obj2 instanceof A) { ->obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 14, 3)) +>obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 14, 11)) >A : Symbol(A, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 2, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 6, 11)) obj2.foo; >obj2.foo : Symbol(A.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 3, 13)) ->obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 14, 3)) +>obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 14, 11)) >foo : Symbol(A.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 3, 13)) obj2.bar; ->obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 14, 3)) +>obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 14, 11)) } // a construct signature with generics @@ -71,47 +71,47 @@ declare var B: BConstructor; >B : Symbol(B, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 23, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 27, 11)) >BConstructor : Symbol(BConstructor, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 18, 1)) -var obj3: B | string; ->obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 29, 3)) +declare var obj3: B | string; +>obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 29, 11)) >B : Symbol(B, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 23, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 27, 11)) if (obj3 instanceof B) { // narrowed to B. ->obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 29, 3)) +>obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 29, 11)) >B : Symbol(B, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 23, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 27, 11)) obj3.foo = 1; >obj3.foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 24, 16)) ->obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 29, 3)) +>obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 29, 11)) >foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 24, 16)) obj3.foo = "str"; >obj3.foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 24, 16)) ->obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 29, 3)) +>obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 29, 11)) >foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 24, 16)) obj3.bar = "str"; ->obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 29, 3)) +>obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 29, 11)) } -var obj4: any; ->obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 36, 3)) +declare var obj4: any; +>obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 36, 11)) if (obj4 instanceof B) { ->obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 36, 3)) +>obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 36, 11)) >B : Symbol(B, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 23, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 27, 11)) obj4.foo = "str"; >obj4.foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 24, 16)) ->obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 36, 3)) +>obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 36, 11)) >foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 24, 16)) obj4.foo = 1; >obj4.foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 24, 16)) ->obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 36, 3)) +>obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 36, 11)) >foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 24, 16)) obj4.bar = "str"; ->obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 36, 3)) +>obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 36, 11)) } // has multiple construct signature @@ -154,51 +154,51 @@ declare var C: CConstructor; >C : Symbol(C, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 58, 11)) >CConstructor : Symbol(CConstructor, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 41, 1)) -var obj5: C1 | A; ->obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 60, 3)) +declare var obj5: C1 | A; +>obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 60, 11)) >C1 : Symbol(C1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 47, 1)) >A : Symbol(A, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 2, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 6, 11)) if (obj5 instanceof C) { // narrowed to C1. ->obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 60, 3)) +>obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 60, 11)) >C : Symbol(C, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 58, 11)) obj5.foo; >obj5.foo : Symbol(C1.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 48, 14)) ->obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 60, 3)) +>obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 60, 11)) >foo : Symbol(C1.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 48, 14)) obj5.c; >obj5.c : Symbol(C1.c, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 49, 16)) ->obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 60, 3)) +>obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 60, 11)) >c : Symbol(C1.c, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 49, 16)) obj5.bar1; >obj5.bar1 : Symbol(C1.bar1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 50, 14)) ->obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 60, 3)) +>obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 60, 11)) >bar1 : Symbol(C1.bar1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 50, 14)) obj5.bar2; ->obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 60, 3)) +>obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 60, 11)) } -var obj6: any; ->obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 68, 3)) +declare var obj6: any; +>obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 68, 11)) if (obj6 instanceof C) { ->obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 68, 3)) +>obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 68, 11)) >C : Symbol(C, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 58, 11)) obj6.foo; >obj6.foo : Symbol(foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 48, 14), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 53, 14)) ->obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 68, 3)) +>obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 68, 11)) >foo : Symbol(foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 48, 14), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 53, 14)) obj6.bar1; ->obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 68, 3)) +>obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 68, 11)) obj6.bar2; ->obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 68, 3)) +>obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 68, 11)) } // with object type literal @@ -212,37 +212,37 @@ declare var D: { new (): D; }; >D : Symbol(D, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 73, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 79, 11)) >D : Symbol(D, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 73, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 79, 11)) -var obj7: D | string; ->obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 81, 3)) +declare var obj7: D | string; +>obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 81, 11)) >D : Symbol(D, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 73, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 79, 11)) if (obj7 instanceof D) { // narrowed to D. ->obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 81, 3)) +>obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 81, 11)) >D : Symbol(D, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 73, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 79, 11)) obj7.foo; >obj7.foo : Symbol(D.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 76, 13)) ->obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 81, 3)) +>obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 81, 11)) >foo : Symbol(D.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 76, 13)) obj7.bar; ->obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 81, 3)) +>obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 81, 11)) } -var obj8: any; ->obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 87, 3)) +declare var obj8: any; +>obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 87, 11)) if (obj8 instanceof D) { ->obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 87, 3)) +>obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 87, 11)) >D : Symbol(D, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 73, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 79, 11)) obj8.foo; >obj8.foo : Symbol(D.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 76, 13)) ->obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 87, 3)) +>obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 87, 11)) >foo : Symbol(D.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 76, 13)) obj8.bar; ->obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 87, 3)) +>obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 87, 11)) } // a construct signature that returns a union type @@ -275,46 +275,46 @@ declare var E: EConstructor; >E : Symbol(E, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 105, 11)) >EConstructor : Symbol(EConstructor, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 91, 1)) -var obj9: E1 | A; ->obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 107, 3)) +declare var obj9: E1 | A; +>obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 107, 11)) >E1 : Symbol(E1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 96, 1)) >A : Symbol(A, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 2, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 6, 11)) if (obj9 instanceof E) { // narrowed to E1 ->obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 107, 3)) +>obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 107, 11)) >E : Symbol(E, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 105, 11)) obj9.foo; >obj9.foo : Symbol(E1.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 97, 14)) ->obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 107, 3)) +>obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 107, 11)) >foo : Symbol(E1.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 97, 14)) obj9.bar1; >obj9.bar1 : Symbol(E1.bar1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 98, 16)) ->obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 107, 3)) +>obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 107, 11)) >bar1 : Symbol(E1.bar1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 98, 16)) obj9.bar2; ->obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 107, 3)) +>obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 107, 11)) } -var obj10: any; ->obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 114, 3)) +declare var obj10: any; +>obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 114, 11)) if (obj10 instanceof E) { ->obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 114, 3)) +>obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 114, 11)) >E : Symbol(E, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 105, 11)) obj10.foo; >obj10.foo : Symbol(foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 97, 14), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 101, 14)) ->obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 114, 3)) +>obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 114, 11)) >foo : Symbol(foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 97, 14), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 101, 14)) obj10.bar1; ->obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 114, 3)) +>obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 114, 11)) obj10.bar2; ->obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 114, 3)) +>obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 114, 11)) } // a construct signature that returns any @@ -336,33 +336,33 @@ declare var F: FConstructor; >F : Symbol(F, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 124, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 129, 11)) >FConstructor : Symbol(FConstructor, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 119, 1)) -var obj11: F | string; ->obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 131, 3)) +declare var obj11: F | string; +>obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 131, 11)) >F : Symbol(F, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 124, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 129, 11)) if (obj11 instanceof F) { // can't type narrowing, construct signature returns any. ->obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 131, 3)) +>obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 131, 11)) >F : Symbol(F, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 124, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 129, 11)) obj11.foo; ->obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 131, 3)) +>obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 131, 11)) obj11.bar; ->obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 131, 3)) +>obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 131, 11)) } -var obj12: any; ->obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 137, 3)) +declare var obj12: any; +>obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 137, 11)) if (obj12 instanceof F) { ->obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 137, 3)) +>obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 137, 11)) >F : Symbol(F, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 124, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 129, 11)) obj12.foo; ->obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 137, 3)) +>obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 137, 11)) obj12.bar; ->obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 137, 3)) +>obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 137, 11)) } // a type with a prototype, it overrides the construct signature @@ -392,38 +392,38 @@ declare var G: GConstructor; >G : Symbol(G, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 154, 11)) >GConstructor : Symbol(GConstructor, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 141, 1)) -var obj13: G1 | G2; ->obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 156, 3)) +declare var obj13: G1 | G2; +>obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 156, 11)) >G1 : Symbol(G1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 147, 1)) >G2 : Symbol(G2, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 150, 1)) if (obj13 instanceof G) { // narrowed to G1. G1 is return type of prototype property. ->obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 156, 3)) +>obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 156, 11)) >G : Symbol(G, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 154, 11)) obj13.foo1; >obj13.foo1 : Symbol(G1.foo1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 148, 14)) ->obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 156, 3)) +>obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 156, 11)) >foo1 : Symbol(G1.foo1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 148, 14)) obj13.foo2; ->obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 156, 3)) +>obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 156, 11)) } -var obj14: any; ->obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 162, 3)) +declare var obj14: any; +>obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 162, 11)) if (obj14 instanceof G) { ->obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 162, 3)) +>obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 162, 11)) >G : Symbol(G, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 154, 11)) obj14.foo1; >obj14.foo1 : Symbol(G1.foo1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 148, 14)) ->obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 162, 3)) +>obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 162, 11)) >foo1 : Symbol(G1.foo1, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 148, 14)) obj14.foo2; ->obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 162, 3)) +>obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 162, 11)) } // a type with a prototype that has any type @@ -446,62 +446,62 @@ declare var H: HConstructor; >H : Symbol(H, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 172, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 176, 11)) >HConstructor : Symbol(HConstructor, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 166, 1)) -var obj15: H | string; ->obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 178, 3)) +declare var obj15: H | string; +>obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 178, 11)) >H : Symbol(H, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 172, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 176, 11)) if (obj15 instanceof H) { // narrowed to H. ->obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 178, 3)) +>obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 178, 11)) >H : Symbol(H, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 172, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 176, 11)) obj15.foo; >obj15.foo : Symbol(H.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 173, 13)) ->obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 178, 3)) +>obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 178, 11)) >foo : Symbol(H.foo, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 173, 13)) obj15.bar; ->obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 178, 3)) +>obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 178, 11)) } -var obj16: any; ->obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 184, 3)) +declare var obj16: any; +>obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 184, 11)) if (obj16 instanceof H) { ->obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 184, 3)) +>obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 184, 11)) >H : Symbol(H, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 172, 1), Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 176, 11)) obj16.foo1; ->obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 184, 3)) +>obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 184, 11)) obj16.foo2; ->obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 184, 3)) +>obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 184, 11)) } -var obj17: any; ->obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 190, 3)) +declare var obj17: any; +>obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 190, 11)) if (obj17 instanceof Object) { // can't narrow type from 'any' to 'Object' ->obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 190, 3)) +>obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 190, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) obj17.foo1; ->obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 190, 3)) +>obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 190, 11)) obj17.foo2; ->obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 190, 3)) +>obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 190, 11)) } -var obj18: any; ->obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 196, 3)) +declare var obj18: any; +>obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 196, 11)) if (obj18 instanceof Function) { // can't narrow type from 'any' to 'Function' ->obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 196, 3)) +>obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 196, 11)) >Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) obj18.foo1; ->obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 196, 3)) +>obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 196, 11)) obj18.foo2; ->obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 196, 3)) +>obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 196, 11)) } diff --git a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.types b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.types index 3cf06c72adecd..c1898be93a314 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.types +++ b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.types @@ -13,7 +13,7 @@ declare var A: AConstructor; >A : AConstructor > : ^^^^^^^^^^^^ -var obj1: A | string; +declare var obj1: A | string; >obj1 : string | A > : ^^^^^^^^^^ @@ -42,7 +42,7 @@ if (obj1 instanceof A) { // narrowed to A. > : ^^^ } -var obj2: any; +declare var obj2: any; >obj2 : any > : ^^^ @@ -84,7 +84,7 @@ declare var B: BConstructor; >B : BConstructor > : ^^^^^^^^^^^^ -var obj3: B | string; +declare var obj3: B | string; >obj3 : string | B > : ^^^^^^^^^^^^^^^^^^ @@ -133,7 +133,7 @@ if (obj3 instanceof B) { // narrowed to B. > : ^^^^^ } -var obj4: any; +declare var obj4: any; >obj4 : any > : ^^^ @@ -222,7 +222,7 @@ declare var C: CConstructor; >C : CConstructor > : ^^^^^^^^^^^^ -var obj5: C1 | A; +declare var obj5: C1 | A; >obj5 : A | C1 > : ^^^^^^ @@ -267,7 +267,7 @@ if (obj5 instanceof C) { // narrowed to C1. > : ^^^ } -var obj6: any; +declare var obj6: any; >obj6 : any > : ^^^ @@ -314,7 +314,7 @@ declare var D: { new (): D; }; >D : new () => D > : ^^^^^^^^^^ -var obj7: D | string; +declare var obj7: D | string; >obj7 : string | D > : ^^^^^^^^^^ @@ -343,7 +343,7 @@ if (obj7 instanceof D) { // narrowed to D. > : ^^^ } -var obj8: any; +declare var obj8: any; >obj8 : any > : ^^^ @@ -398,7 +398,7 @@ declare var E: EConstructor; >E : EConstructor > : ^^^^^^^^^^^^ -var obj9: E1 | A; +declare var obj9: E1 | A; >obj9 : A | E1 > : ^^^^^^ @@ -435,7 +435,7 @@ if (obj9 instanceof E) { // narrowed to E1 > : ^^^ } -var obj10: any; +declare var obj10: any; >obj10 : any > : ^^^ @@ -489,7 +489,7 @@ declare var F: FConstructor; >F : FConstructor > : ^^^^^^^^^^^^ -var obj11: F | string; +declare var obj11: F | string; >obj11 : string | F > : ^^^^^^^^^^ @@ -518,7 +518,7 @@ if (obj11 instanceof F) { // can't type narrowing, construct signature returns a > : ^^^ } -var obj12: any; +declare var obj12: any; >obj12 : any > : ^^^ @@ -569,7 +569,7 @@ declare var G: GConstructor; >G : GConstructor > : ^^^^^^^^^^^^ -var obj13: G1 | G2; +declare var obj13: G1 | G2; >obj13 : G1 | G2 > : ^^^^^^^ @@ -598,7 +598,7 @@ if (obj13 instanceof G) { // narrowed to G1. G1 is return type of prototype prop > : ^^^ } -var obj14: any; +declare var obj14: any; >obj14 : any > : ^^^ @@ -644,7 +644,7 @@ declare var H: HConstructor; >H : HConstructor > : ^^^^^^^^^^^^ -var obj15: H | string; +declare var obj15: H | string; >obj15 : string | H > : ^^^^^^^^^^ @@ -673,7 +673,7 @@ if (obj15 instanceof H) { // narrowed to H. > : ^^^ } -var obj16: any; +declare var obj16: any; >obj16 : any > : ^^^ @@ -702,7 +702,7 @@ if (obj16 instanceof H) { > : ^^^ } -var obj17: any; +declare var obj17: any; >obj17 : any > : ^^^ @@ -731,7 +731,7 @@ if (obj17 instanceof Object) { // can't narrow type from 'any' to 'Object' > : ^^^ } -var obj18: any; +declare var obj18: any; >obj18 : any > : ^^^ diff --git a/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.errors.txt b/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.errors.txt index f4ec1af5217f5..65e1efdde3a61 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.errors.txt +++ b/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.errors.txt @@ -36,7 +36,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' } declare var A: AConstructor; - var obj1: A | string; + declare var obj1: A | string; if (obj1 instanceof A) { // narrowed to A. obj1.foo; obj1.bar; @@ -44,7 +44,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' !!! error TS2339: Property 'bar' does not exist on type 'A'. } - var obj2: any; + declare var obj2: any; if (obj2 instanceof A) { obj2.foo; obj2.bar; @@ -62,7 +62,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' } declare var B: BConstructor; - var obj3: B | string; + declare var obj3: B | string; if (obj3 instanceof B) { // narrowed to B. obj3.foo = 1; obj3.foo = "str"; @@ -73,7 +73,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' !!! error TS2339: Property 'bar' does not exist on type 'B'. } - var obj4: any; + declare var obj4: any; if (obj4 instanceof B) { obj4.foo = "str"; obj4.foo = 1; @@ -100,7 +100,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' } declare var C: CConstructor; - var obj5: C1 | A; + declare var obj5: C1 | A; if (obj5 instanceof C) { // narrowed to C1. obj5.foo; obj5.c; @@ -110,7 +110,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' !!! error TS2339: Property 'bar2' does not exist on type 'C1'. } - var obj6: any; + declare var obj6: any; if (obj6 instanceof C) { obj6.foo; obj6.bar1; @@ -132,7 +132,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' [Symbol.hasInstance](value: unknown): value is D; }; - var obj7: D | string; + declare var obj7: D | string; if (obj7 instanceof D) { // narrowed to D. obj7.foo; obj7.bar; @@ -140,7 +140,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' !!! error TS2339: Property 'bar' does not exist on type 'D'. } - var obj8: any; + declare var obj8: any; if (obj8 instanceof D) { obj8.foo; obj8.bar; @@ -163,7 +163,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' } declare var E: EConstructor; - var obj9: E1 | A; + declare var obj9: E1 | A; if (obj9 instanceof E) { // narrowed to E1 obj9.foo; obj9.bar1; @@ -172,7 +172,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' !!! error TS2339: Property 'bar2' does not exist on type 'E1'. } - var obj10: any; + declare var obj10: any; if (obj10 instanceof E) { obj10.foo; obj10.bar1; @@ -196,7 +196,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' } declare var F: FConstructor; - var obj11: F | string; + declare var obj11: F | string; if (obj11 instanceof F) { // can't type narrowing, construct signature returns any. obj11.foo; ~~~ @@ -208,7 +208,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' !!! error TS2339: Property 'bar' does not exist on type 'string'. } - var obj12: any; + declare var obj12: any; if (obj12 instanceof F) { obj12.foo; obj12.bar; @@ -228,7 +228,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' } declare var G: GConstructor; - var obj13: G1 | G2; + declare var obj13: G1 | G2; if (obj13 instanceof G) { // narrowed to G1. G1 is return type of prototype property. obj13.foo1; obj13.foo2; @@ -236,7 +236,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' !!! error TS2339: Property 'foo2' does not exist on type 'G1'. } - var obj14: any; + declare var obj14: any; if (obj14 instanceof G) { obj14.foo1; obj14.foo2; @@ -255,7 +255,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' } declare var H: HConstructor; - var obj15: H | string; + declare var obj15: H | string; if (obj15 instanceof H) { // narrowed to H. obj15.foo; obj15.bar; @@ -263,7 +263,7 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' !!! error TS2339: Property 'bar' does not exist on type 'H'. } - var obj16: any; + declare var obj16: any; if (obj16 instanceof H) { obj16.foo1; ~~~~ @@ -275,13 +275,13 @@ typeGuardsWithInstanceOfBySymbolHasInstance.ts(198,11): error TS2551: Property ' !!! related TS2728 typeGuardsWithInstanceOfBySymbolHasInstance.ts:185:5: 'foo' is declared here. } - var obj17: any; + declare var obj17: any; if (obj17 instanceof Object) { // can't narrow type from 'any' to 'Object' obj17.foo1; obj17.foo2; } - var obj18: any; + declare var obj18: any; if (obj18 instanceof Function) { // can't narrow type from 'any' to 'Function' obj18.foo1; obj18.foo2; diff --git a/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.js b/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.js index 07f4b5178a2e2..cb51a51d546d5 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.js +++ b/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.js @@ -10,13 +10,13 @@ interface A { } declare var A: AConstructor; -var obj1: A | string; +declare var obj1: A | string; if (obj1 instanceof A) { // narrowed to A. obj1.foo; obj1.bar; } -var obj2: any; +declare var obj2: any; if (obj2 instanceof A) { obj2.foo; obj2.bar; @@ -32,14 +32,14 @@ interface B { } declare var B: BConstructor; -var obj3: B | string; +declare var obj3: B | string; if (obj3 instanceof B) { // narrowed to B. obj3.foo = 1; obj3.foo = "str"; obj3.bar = "str"; } -var obj4: any; +declare var obj4: any; if (obj4 instanceof B) { obj4.foo = "str"; obj4.foo = 1; @@ -64,7 +64,7 @@ interface C2 { } declare var C: CConstructor; -var obj5: C1 | A; +declare var obj5: C1 | A; if (obj5 instanceof C) { // narrowed to C1. obj5.foo; obj5.c; @@ -72,7 +72,7 @@ if (obj5 instanceof C) { // narrowed to C1. obj5.bar2; } -var obj6: any; +declare var obj6: any; if (obj6 instanceof C) { obj6.foo; obj6.bar1; @@ -88,13 +88,13 @@ declare var D: { [Symbol.hasInstance](value: unknown): value is D; }; -var obj7: D | string; +declare var obj7: D | string; if (obj7 instanceof D) { // narrowed to D. obj7.foo; obj7.bar; } -var obj8: any; +declare var obj8: any; if (obj8 instanceof D) { obj8.foo; obj8.bar; @@ -115,14 +115,14 @@ interface E2 { } declare var E: EConstructor; -var obj9: E1 | A; +declare var obj9: E1 | A; if (obj9 instanceof E) { // narrowed to E1 obj9.foo; obj9.bar1; obj9.bar2; } -var obj10: any; +declare var obj10: any; if (obj10 instanceof E) { obj10.foo; obj10.bar1; @@ -140,13 +140,13 @@ interface F { } declare var F: FConstructor; -var obj11: F | string; +declare var obj11: F | string; if (obj11 instanceof F) { // can't type narrowing, construct signature returns any. obj11.foo; obj11.bar; } -var obj12: any; +declare var obj12: any; if (obj12 instanceof F) { obj12.foo; obj12.bar; @@ -166,13 +166,13 @@ interface G2 { } declare var G: GConstructor; -var obj13: G1 | G2; +declare var obj13: G1 | G2; if (obj13 instanceof G) { // narrowed to G1. G1 is return type of prototype property. obj13.foo1; obj13.foo2; } -var obj14: any; +declare var obj14: any; if (obj14 instanceof G) { obj14.foo1; obj14.foo2; @@ -189,25 +189,25 @@ interface H { } declare var H: HConstructor; -var obj15: H | string; +declare var obj15: H | string; if (obj15 instanceof H) { // narrowed to H. obj15.foo; obj15.bar; } -var obj16: any; +declare var obj16: any; if (obj16 instanceof H) { obj16.foo1; obj16.foo2; } -var obj17: any; +declare var obj17: any; if (obj17 instanceof Object) { // can't narrow type from 'any' to 'Object' obj17.foo1; obj17.foo2; } -var obj18: any; +declare var obj18: any; if (obj18 instanceof Function) { // can't narrow type from 'any' to 'Function' obj18.foo1; obj18.foo2; @@ -215,99 +215,81 @@ if (obj18 instanceof Function) { // can't narrow type from 'any' to 'Function' //// [typeGuardsWithInstanceOfBySymbolHasInstance.js] -var obj1; if (obj1 instanceof A) { // narrowed to A. obj1.foo; obj1.bar; } -var obj2; if (obj2 instanceof A) { obj2.foo; obj2.bar; } -var obj3; if (obj3 instanceof B) { // narrowed to B. obj3.foo = 1; obj3.foo = "str"; obj3.bar = "str"; } -var obj4; if (obj4 instanceof B) { obj4.foo = "str"; obj4.foo = 1; obj4.bar = "str"; } -var obj5; if (obj5 instanceof C) { // narrowed to C1. obj5.foo; obj5.c; obj5.bar1; obj5.bar2; } -var obj6; if (obj6 instanceof C) { obj6.foo; obj6.bar1; obj6.bar2; } -var obj7; if (obj7 instanceof D) { // narrowed to D. obj7.foo; obj7.bar; } -var obj8; if (obj8 instanceof D) { obj8.foo; obj8.bar; } -var obj9; if (obj9 instanceof E) { // narrowed to E1 obj9.foo; obj9.bar1; obj9.bar2; } -var obj10; if (obj10 instanceof E) { obj10.foo; obj10.bar1; obj10.bar2; } -var obj11; if (obj11 instanceof F) { // can't type narrowing, construct signature returns any. obj11.foo; obj11.bar; } -var obj12; if (obj12 instanceof F) { obj12.foo; obj12.bar; } -var obj13; if (obj13 instanceof G) { // narrowed to G1. G1 is return type of prototype property. obj13.foo1; obj13.foo2; } -var obj14; if (obj14 instanceof G) { obj14.foo1; obj14.foo2; } -var obj15; if (obj15 instanceof H) { // narrowed to H. obj15.foo; obj15.bar; } -var obj16; if (obj16 instanceof H) { obj16.foo1; obj16.foo2; } -var obj17; if (obj17 instanceof Object) { // can't narrow type from 'any' to 'Object' obj17.foo1; obj17.foo2; } -var obj18; if (obj18 instanceof Function) { // can't narrow type from 'any' to 'Function' obj18.foo1; obj18.foo2; diff --git a/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.symbols b/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.symbols index 6be6f0afde989..d215a6302cab1 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.symbols +++ b/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.symbols @@ -26,37 +26,37 @@ declare var A: AConstructor; >A : Symbol(A, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 3, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 7, 11)) >AConstructor : Symbol(AConstructor, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 0, 0)) -var obj1: A | string; ->obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 9, 3)) +declare var obj1: A | string; +>obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 9, 11)) >A : Symbol(A, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 3, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 7, 11)) if (obj1 instanceof A) { // narrowed to A. ->obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 9, 3)) +>obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 9, 11)) >A : Symbol(A, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 3, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 7, 11)) obj1.foo; >obj1.foo : Symbol(A.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 4, 13)) ->obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 9, 3)) +>obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 9, 11)) >foo : Symbol(A.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 4, 13)) obj1.bar; ->obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 9, 3)) +>obj1 : Symbol(obj1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 9, 11)) } -var obj2: any; ->obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 15, 3)) +declare var obj2: any; +>obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 15, 11)) if (obj2 instanceof A) { ->obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 15, 3)) +>obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 15, 11)) >A : Symbol(A, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 3, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 7, 11)) obj2.foo; >obj2.foo : Symbol(A.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 4, 13)) ->obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 15, 3)) +>obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 15, 11)) >foo : Symbol(A.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 4, 13)) obj2.bar; ->obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 15, 3)) +>obj2 : Symbol(obj2, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 15, 11)) } // a construct signature with generics @@ -89,47 +89,47 @@ declare var B: BConstructor; >B : Symbol(B, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 25, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 29, 11)) >BConstructor : Symbol(BConstructor, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 19, 1)) -var obj3: B | string; ->obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 31, 3)) +declare var obj3: B | string; +>obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 31, 11)) >B : Symbol(B, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 25, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 29, 11)) if (obj3 instanceof B) { // narrowed to B. ->obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 31, 3)) +>obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 31, 11)) >B : Symbol(B, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 25, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 29, 11)) obj3.foo = 1; >obj3.foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 26, 16)) ->obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 31, 3)) +>obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 31, 11)) >foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 26, 16)) obj3.foo = "str"; >obj3.foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 26, 16)) ->obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 31, 3)) +>obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 31, 11)) >foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 26, 16)) obj3.bar = "str"; ->obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 31, 3)) +>obj3 : Symbol(obj3, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 31, 11)) } -var obj4: any; ->obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 38, 3)) +declare var obj4: any; +>obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 38, 11)) if (obj4 instanceof B) { ->obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 38, 3)) +>obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 38, 11)) >B : Symbol(B, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 25, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 29, 11)) obj4.foo = "str"; >obj4.foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 26, 16)) ->obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 38, 3)) +>obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 38, 11)) >foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 26, 16)) obj4.foo = 1; >obj4.foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 26, 16)) ->obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 38, 3)) +>obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 38, 11)) >foo : Symbol(B.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 26, 16)) obj4.bar = "str"; ->obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 38, 3)) +>obj4 : Symbol(obj4, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 38, 11)) } // has multiple construct signature @@ -182,51 +182,51 @@ declare var C: CConstructor; >C : Symbol(C, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 61, 11)) >CConstructor : Symbol(CConstructor, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 43, 1)) -var obj5: C1 | A; ->obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 63, 3)) +declare var obj5: C1 | A; +>obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 63, 11)) >C1 : Symbol(C1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 50, 1)) >A : Symbol(A, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 3, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 7, 11)) if (obj5 instanceof C) { // narrowed to C1. ->obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 63, 3)) +>obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 63, 11)) >C : Symbol(C, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 61, 11)) obj5.foo; >obj5.foo : Symbol(C1.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 51, 14)) ->obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 63, 3)) +>obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 63, 11)) >foo : Symbol(C1.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 51, 14)) obj5.c; >obj5.c : Symbol(C1.c, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 52, 16)) ->obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 63, 3)) +>obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 63, 11)) >c : Symbol(C1.c, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 52, 16)) obj5.bar1; >obj5.bar1 : Symbol(C1.bar1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 53, 14)) ->obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 63, 3)) +>obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 63, 11)) >bar1 : Symbol(C1.bar1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 53, 14)) obj5.bar2; ->obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 63, 3)) +>obj5 : Symbol(obj5, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 63, 11)) } -var obj6: any; ->obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 71, 3)) +declare var obj6: any; +>obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 71, 11)) if (obj6 instanceof C) { ->obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 71, 3)) +>obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 71, 11)) >C : Symbol(C, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 61, 11)) obj6.foo; >obj6.foo : Symbol(foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 51, 14), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 56, 14)) ->obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 71, 3)) +>obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 71, 11)) >foo : Symbol(foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 51, 14), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 56, 14)) obj6.bar1; ->obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 71, 3)) +>obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 71, 11)) obj6.bar2; ->obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 71, 3)) +>obj6 : Symbol(obj6, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 71, 11)) } // with object type literal @@ -253,37 +253,37 @@ declare var D: { }; -var obj7: D | string; ->obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 87, 3)) +declare var obj7: D | string; +>obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 87, 11)) >D : Symbol(D, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 76, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 82, 11)) if (obj7 instanceof D) { // narrowed to D. ->obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 87, 3)) +>obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 87, 11)) >D : Symbol(D, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 76, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 82, 11)) obj7.foo; >obj7.foo : Symbol(D.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 79, 13)) ->obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 87, 3)) +>obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 87, 11)) >foo : Symbol(D.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 79, 13)) obj7.bar; ->obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 87, 3)) +>obj7 : Symbol(obj7, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 87, 11)) } -var obj8: any; ->obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 93, 3)) +declare var obj8: any; +>obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 93, 11)) if (obj8 instanceof D) { ->obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 93, 3)) +>obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 93, 11)) >D : Symbol(D, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 76, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 82, 11)) obj8.foo; >obj8.foo : Symbol(D.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 79, 13)) ->obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 93, 3)) +>obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 93, 11)) >foo : Symbol(D.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 79, 13)) obj8.bar; ->obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 93, 3)) +>obj8 : Symbol(obj8, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 93, 11)) } // a construct signature that returns a union type @@ -326,46 +326,46 @@ declare var E: EConstructor; >E : Symbol(E, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 112, 11)) >EConstructor : Symbol(EConstructor, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 97, 1)) -var obj9: E1 | A; ->obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 114, 3)) +declare var obj9: E1 | A; +>obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 114, 11)) >E1 : Symbol(E1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 103, 1)) >A : Symbol(A, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 3, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 7, 11)) if (obj9 instanceof E) { // narrowed to E1 ->obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 114, 3)) +>obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 114, 11)) >E : Symbol(E, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 112, 11)) obj9.foo; >obj9.foo : Symbol(E1.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 104, 14)) ->obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 114, 3)) +>obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 114, 11)) >foo : Symbol(E1.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 104, 14)) obj9.bar1; >obj9.bar1 : Symbol(E1.bar1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 105, 16)) ->obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 114, 3)) +>obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 114, 11)) >bar1 : Symbol(E1.bar1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 105, 16)) obj9.bar2; ->obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 114, 3)) +>obj9 : Symbol(obj9, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 114, 11)) } -var obj10: any; ->obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 121, 3)) +declare var obj10: any; +>obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 121, 11)) if (obj10 instanceof E) { ->obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 121, 3)) +>obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 121, 11)) >E : Symbol(E, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 112, 11)) obj10.foo; >obj10.foo : Symbol(foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 104, 14), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 108, 14)) ->obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 121, 3)) +>obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 121, 11)) >foo : Symbol(foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 104, 14), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 108, 14)) obj10.bar1; ->obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 121, 3)) +>obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 121, 11)) obj10.bar2; ->obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 121, 3)) +>obj10 : Symbol(obj10, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 121, 11)) } // a construct signature that returns any @@ -394,33 +394,33 @@ declare var F: FConstructor; >F : Symbol(F, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 132, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 137, 11)) >FConstructor : Symbol(FConstructor, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 126, 1)) -var obj11: F | string; ->obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 139, 3)) +declare var obj11: F | string; +>obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 139, 11)) >F : Symbol(F, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 132, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 137, 11)) if (obj11 instanceof F) { // can't type narrowing, construct signature returns any. ->obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 139, 3)) +>obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 139, 11)) >F : Symbol(F, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 132, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 137, 11)) obj11.foo; ->obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 139, 3)) +>obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 139, 11)) obj11.bar; ->obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 139, 3)) +>obj11 : Symbol(obj11, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 139, 11)) } -var obj12: any; ->obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 145, 3)) +declare var obj12: any; +>obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 145, 11)) if (obj12 instanceof F) { ->obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 145, 3)) +>obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 145, 11)) >F : Symbol(F, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 132, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 137, 11)) obj12.foo; ->obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 145, 3)) +>obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 145, 11)) obj12.bar; ->obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 145, 3)) +>obj12 : Symbol(obj12, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 145, 11)) } // a type with a prototype, it overrides the construct signature @@ -459,38 +459,38 @@ declare var G: GConstructor; >G : Symbol(G, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 163, 11)) >GConstructor : Symbol(GConstructor, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 149, 1)) -var obj13: G1 | G2; ->obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 165, 3)) +declare var obj13: G1 | G2; +>obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 165, 11)) >G1 : Symbol(G1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 156, 1)) >G2 : Symbol(G2, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 159, 1)) if (obj13 instanceof G) { // narrowed to G1. G1 is return type of prototype property. ->obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 165, 3)) +>obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 165, 11)) >G : Symbol(G, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 163, 11)) obj13.foo1; >obj13.foo1 : Symbol(G1.foo1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 157, 14)) ->obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 165, 3)) +>obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 165, 11)) >foo1 : Symbol(G1.foo1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 157, 14)) obj13.foo2; ->obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 165, 3)) +>obj13 : Symbol(obj13, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 165, 11)) } -var obj14: any; ->obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 171, 3)) +declare var obj14: any; +>obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 171, 11)) if (obj14 instanceof G) { ->obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 171, 3)) +>obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 171, 11)) >G : Symbol(G, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 163, 11)) obj14.foo1; >obj14.foo1 : Symbol(G1.foo1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 157, 14)) ->obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 171, 3)) +>obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 171, 11)) >foo1 : Symbol(G1.foo1, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 157, 14)) obj14.foo2; ->obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 171, 3)) +>obj14 : Symbol(obj14, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 171, 11)) } // a type with a prototype that has any type @@ -522,62 +522,62 @@ declare var H: HConstructor; >H : Symbol(H, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 182, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 186, 11)) >HConstructor : Symbol(HConstructor, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 175, 1)) -var obj15: H | string; ->obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 188, 3)) +declare var obj15: H | string; +>obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 188, 11)) >H : Symbol(H, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 182, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 186, 11)) if (obj15 instanceof H) { // narrowed to H. ->obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 188, 3)) +>obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 188, 11)) >H : Symbol(H, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 182, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 186, 11)) obj15.foo; >obj15.foo : Symbol(H.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 183, 13)) ->obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 188, 3)) +>obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 188, 11)) >foo : Symbol(H.foo, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 183, 13)) obj15.bar; ->obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 188, 3)) +>obj15 : Symbol(obj15, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 188, 11)) } -var obj16: any; ->obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 194, 3)) +declare var obj16: any; +>obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 194, 11)) if (obj16 instanceof H) { ->obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 194, 3)) +>obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 194, 11)) >H : Symbol(H, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 182, 1), Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 186, 11)) obj16.foo1; ->obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 194, 3)) +>obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 194, 11)) obj16.foo2; ->obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 194, 3)) +>obj16 : Symbol(obj16, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 194, 11)) } -var obj17: any; ->obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 200, 3)) +declare var obj17: any; +>obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 200, 11)) if (obj17 instanceof Object) { // can't narrow type from 'any' to 'Object' ->obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 200, 3)) +>obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 200, 11)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) obj17.foo1; ->obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 200, 3)) +>obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 200, 11)) obj17.foo2; ->obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 200, 3)) +>obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 200, 11)) } -var obj18: any; ->obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 206, 3)) +declare var obj18: any; +>obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 206, 11)) if (obj18 instanceof Function) { // can't narrow type from 'any' to 'Function' ->obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 206, 3)) +>obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 206, 11)) >Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.decorators.d.ts, --, --)) obj18.foo1; ->obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 206, 3)) +>obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 206, 11)) obj18.foo2; ->obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 206, 3)) +>obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfBySymbolHasInstance.ts, 206, 11)) } diff --git a/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.types b/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.types index f0f867b8e235f..242e44a54a0f4 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.types +++ b/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.types @@ -24,7 +24,7 @@ declare var A: AConstructor; >A : AConstructor > : ^^^^^^^^^^^^ -var obj1: A | string; +declare var obj1: A | string; >obj1 : string | A > : ^^^^^^^^^^ @@ -53,7 +53,7 @@ if (obj1 instanceof A) { // narrowed to A. > : ^^^ } -var obj2: any; +declare var obj2: any; >obj2 : any > : ^^^ @@ -106,7 +106,7 @@ declare var B: BConstructor; >B : BConstructor > : ^^^^^^^^^^^^ -var obj3: B | string; +declare var obj3: B | string; >obj3 : string | B > : ^^^^^^^^^^^^^^^^^^ @@ -155,7 +155,7 @@ if (obj3 instanceof B) { // narrowed to B. > : ^^^^^ } -var obj4: any; +declare var obj4: any; >obj4 : any > : ^^^ @@ -256,7 +256,7 @@ declare var C: CConstructor; >C : CConstructor > : ^^^^^^^^^^^^ -var obj5: C1 | A; +declare var obj5: C1 | A; >obj5 : A | C1 > : ^^^^^^ @@ -301,7 +301,7 @@ if (obj5 instanceof C) { // narrowed to C1. > : ^^^ } -var obj6: any; +declare var obj6: any; >obj6 : any > : ^^^ @@ -363,7 +363,7 @@ declare var D: { }; -var obj7: D | string; +declare var obj7: D | string; >obj7 : string | D > : ^^^^^^^^^^ @@ -392,7 +392,7 @@ if (obj7 instanceof D) { // narrowed to D. > : ^^^ } -var obj8: any; +declare var obj8: any; >obj8 : any > : ^^^ @@ -458,7 +458,7 @@ declare var E: EConstructor; >E : EConstructor > : ^^^^^^^^^^^^ -var obj9: E1 | A; +declare var obj9: E1 | A; >obj9 : A | E1 > : ^^^^^^ @@ -495,7 +495,7 @@ if (obj9 instanceof E) { // narrowed to E1 > : ^^^ } -var obj10: any; +declare var obj10: any; >obj10 : any > : ^^^ @@ -560,7 +560,7 @@ declare var F: FConstructor; >F : FConstructor > : ^^^^^^^^^^^^ -var obj11: F | string; +declare var obj11: F | string; >obj11 : string | F > : ^^^^^^^^^^ @@ -589,7 +589,7 @@ if (obj11 instanceof F) { // can't type narrowing, construct signature returns a > : ^^^ } -var obj12: any; +declare var obj12: any; >obj12 : any > : ^^^ @@ -651,7 +651,7 @@ declare var G: GConstructor; >G : GConstructor > : ^^^^^^^^^^^^ -var obj13: G1 | G2; +declare var obj13: G1 | G2; >obj13 : G1 | G2 > : ^^^^^^^ @@ -680,7 +680,7 @@ if (obj13 instanceof G) { // narrowed to G1. G1 is return type of prototype prop > : ^^^ } -var obj14: any; +declare var obj14: any; >obj14 : any > : ^^^ @@ -737,7 +737,7 @@ declare var H: HConstructor; >H : HConstructor > : ^^^^^^^^^^^^ -var obj15: H | string; +declare var obj15: H | string; >obj15 : string | H > : ^^^^^^^^^^ @@ -766,7 +766,7 @@ if (obj15 instanceof H) { // narrowed to H. > : ^^^ } -var obj16: any; +declare var obj16: any; >obj16 : any > : ^^^ @@ -795,7 +795,7 @@ if (obj16 instanceof H) { > : ^^^ } -var obj17: any; +declare var obj17: any; >obj17 : any > : ^^^ @@ -824,7 +824,7 @@ if (obj17 instanceof Object) { // can't narrow type from 'any' to 'Object' > : ^^^ } -var obj18: any; +declare var obj18: any; >obj18 : any > : ^^^ diff --git a/tests/baselines/reference/typeMatch1.errors.txt b/tests/baselines/reference/typeMatch1.errors.txt index ed2421871edf0..e86395ed3c8a1 100644 --- a/tests/baselines/reference/typeMatch1.errors.txt +++ b/tests/baselines/reference/typeMatch1.errors.txt @@ -8,10 +8,10 @@ typeMatch1.ts(20,1): error TS2367: This comparison appears to be unintentional b interface I { z; } interface I2 { z; } - var x1: { z: number; f(n: number): string; f(s: string): number; } + declare var x1: { z: number; f(n: number): string; f(s: string): number; } var x2: { z:number;f:{(n:number):string;(s:string):number;}; } = x1; - var i:I; - var i2:I2; + declare var i:I; + declare var i2:I2; var x3:{ z; }= i; var x4:{ z; }= i2; var x5:I=i2; diff --git a/tests/baselines/reference/typeMatch1.js b/tests/baselines/reference/typeMatch1.js index b135b482de904..9276f327a7a1d 100644 --- a/tests/baselines/reference/typeMatch1.js +++ b/tests/baselines/reference/typeMatch1.js @@ -4,10 +4,10 @@ interface I { z; } interface I2 { z; } -var x1: { z: number; f(n: number): string; f(s: string): number; } +declare var x1: { z: number; f(n: number): string; f(s: string): number; } var x2: { z:number;f:{(n:number):string;(s:string):number;}; } = x1; -var i:I; -var i2:I2; +declare var i:I; +declare var i2:I2; var x3:{ z; }= i; var x4:{ z; }= i2; var x5:I=i2; @@ -26,10 +26,7 @@ C==C; //// [typeMatch1.js] -var x1; var x2 = x1; -var i; -var i2; var x3 = i; var x4 = i2; var x5 = i2; diff --git a/tests/baselines/reference/typeMatch1.symbols b/tests/baselines/reference/typeMatch1.symbols index 5df3c541d9962..5dd7abec8ada4 100644 --- a/tests/baselines/reference/typeMatch1.symbols +++ b/tests/baselines/reference/typeMatch1.symbols @@ -9,13 +9,13 @@ interface I2 { z; } >I2 : Symbol(I2, Decl(typeMatch1.ts, 0, 18)) >z : Symbol(I2.z, Decl(typeMatch1.ts, 1, 14)) -var x1: { z: number; f(n: number): string; f(s: string): number; } ->x1 : Symbol(x1, Decl(typeMatch1.ts, 3, 3)) ->z : Symbol(z, Decl(typeMatch1.ts, 3, 9)) ->f : Symbol(f, Decl(typeMatch1.ts, 3, 20), Decl(typeMatch1.ts, 3, 42)) ->n : Symbol(n, Decl(typeMatch1.ts, 3, 23)) ->f : Symbol(f, Decl(typeMatch1.ts, 3, 20), Decl(typeMatch1.ts, 3, 42)) ->s : Symbol(s, Decl(typeMatch1.ts, 3, 45)) +declare var x1: { z: number; f(n: number): string; f(s: string): number; } +>x1 : Symbol(x1, Decl(typeMatch1.ts, 3, 11)) +>z : Symbol(z, Decl(typeMatch1.ts, 3, 17)) +>f : Symbol(f, Decl(typeMatch1.ts, 3, 28), Decl(typeMatch1.ts, 3, 50)) +>n : Symbol(n, Decl(typeMatch1.ts, 3, 31)) +>f : Symbol(f, Decl(typeMatch1.ts, 3, 28), Decl(typeMatch1.ts, 3, 50)) +>s : Symbol(s, Decl(typeMatch1.ts, 3, 53)) var x2: { z:number;f:{(n:number):string;(s:string):number;}; } = x1; >x2 : Symbol(x2, Decl(typeMatch1.ts, 4, 3)) @@ -23,30 +23,30 @@ var x2: { z:number;f:{(n:number):string;(s:string):number;}; } = x1; >f : Symbol(f, Decl(typeMatch1.ts, 4, 19)) >n : Symbol(n, Decl(typeMatch1.ts, 4, 23)) >s : Symbol(s, Decl(typeMatch1.ts, 4, 41)) ->x1 : Symbol(x1, Decl(typeMatch1.ts, 3, 3)) +>x1 : Symbol(x1, Decl(typeMatch1.ts, 3, 11)) -var i:I; ->i : Symbol(i, Decl(typeMatch1.ts, 5, 3)) +declare var i:I; +>i : Symbol(i, Decl(typeMatch1.ts, 5, 11)) >I : Symbol(I, Decl(typeMatch1.ts, 0, 0)) -var i2:I2; ->i2 : Symbol(i2, Decl(typeMatch1.ts, 6, 3)) +declare var i2:I2; +>i2 : Symbol(i2, Decl(typeMatch1.ts, 6, 11)) >I2 : Symbol(I2, Decl(typeMatch1.ts, 0, 18)) var x3:{ z; }= i; >x3 : Symbol(x3, Decl(typeMatch1.ts, 7, 3)) >z : Symbol(z, Decl(typeMatch1.ts, 7, 8)) ->i : Symbol(i, Decl(typeMatch1.ts, 5, 3)) +>i : Symbol(i, Decl(typeMatch1.ts, 5, 11)) var x4:{ z; }= i2; >x4 : Symbol(x4, Decl(typeMatch1.ts, 8, 3)) >z : Symbol(z, Decl(typeMatch1.ts, 8, 8)) ->i2 : Symbol(i2, Decl(typeMatch1.ts, 6, 3)) +>i2 : Symbol(i2, Decl(typeMatch1.ts, 6, 11)) var x5:I=i2; >x5 : Symbol(x5, Decl(typeMatch1.ts, 9, 3)) >I : Symbol(I, Decl(typeMatch1.ts, 0, 0)) ->i2 : Symbol(i2, Decl(typeMatch1.ts, 6, 3)) +>i2 : Symbol(i2, Decl(typeMatch1.ts, 6, 11)) class C { private x; } >C : Symbol(C, Decl(typeMatch1.ts, 9, 12)) diff --git a/tests/baselines/reference/typeMatch1.types b/tests/baselines/reference/typeMatch1.types index 4b11351c1160a..25c425921461d 100644 --- a/tests/baselines/reference/typeMatch1.types +++ b/tests/baselines/reference/typeMatch1.types @@ -9,7 +9,7 @@ interface I2 { z; } >z : any > : ^^^ -var x1: { z: number; f(n: number): string; f(s: string): number; } +declare var x1: { z: number; f(n: number): string; f(s: string): number; } >x1 : { z: number; f(n: number): string; f(s: string): number; } > : ^^^^^ ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^ >z : number @@ -37,11 +37,11 @@ var x2: { z:number;f:{(n:number):string;(s:string):number;}; } = x1; >x1 : { z: number; f(n: number): string; f(s: string): number; } > : ^^^^^ ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^ -var i:I; +declare var i:I; >i : I > : ^ -var i2:I2; +declare var i2:I2; >i2 : I2 > : ^^ diff --git a/tests/baselines/reference/typeOfThisGeneral.errors.txt b/tests/baselines/reference/typeOfThisGeneral.errors.txt index 04bc11e51718c..75217b8b0843a 100644 --- a/tests/baselines/reference/typeOfThisGeneral.errors.txt +++ b/tests/baselines/reference/typeOfThisGeneral.errors.txt @@ -18,20 +18,20 @@ typeOfThisGeneral.ts(106,13): error TS2403: Subsequent variable declarations mus constructor() { //type of 'this' in constructor body is the class instance type var p = this.canary; - var p: number; + var p!: number; this.canary = 3; } //type of 'this' in member function param list is the class instance type memberFunc(t = this) { - var t: MyTestClass; + var t!: MyTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 't' must be of type 'this', but here has type 'MyTestClass'. !!! related TS6203 typeOfThisGeneral.ts:13:16: 't' was also declared here. //type of 'this' in member function body is the class instance type var p = this; - var p: MyTestClass; + var p!: MyTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'this', but here has type 'MyTestClass'. !!! related TS6203 typeOfThisGeneral.ts:17:13: 'p' was also declared here. @@ -40,7 +40,7 @@ typeOfThisGeneral.ts(106,13): error TS2403: Subsequent variable declarations mus //type of 'this' in member accessor(get and set) body is the class instance type get prop() { var p = this; - var p: MyTestClass; + var p!: MyTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'this', but here has type 'MyTestClass'. !!! related TS6203 typeOfThisGeneral.ts:23:13: 'p' was also declared here. @@ -48,7 +48,7 @@ typeOfThisGeneral.ts(106,13): error TS2403: Subsequent variable declarations mus } set prop(v) { var p = this; - var p: MyTestClass; + var p!: MyTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'this', but here has type 'MyTestClass'. !!! related TS6203 typeOfThisGeneral.ts:28:13: 'p' was also declared here. @@ -59,7 +59,7 @@ typeOfThisGeneral.ts(106,13): error TS2403: Subsequent variable declarations mus someFunc = () => { //type of 'this' in member variable initializer is the class instance type var t = this; - var t: MyTestClass; + var t!: MyTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 't' must be of type 'this', but here has type 'MyTestClass'. !!! related TS6203 typeOfThisGeneral.ts:36:13: 't' was also declared here. @@ -67,13 +67,13 @@ typeOfThisGeneral.ts(106,13): error TS2403: Subsequent variable declarations mus //type of 'this' in static function param list is constructor function type static staticFn(t = this) { - var t: typeof MyTestClass; + var t!: typeof MyTestClass; var t = MyTestClass; t.staticCanary; //type of 'this' in static function body is constructor function type var p = this; - var p: typeof MyTestClass; + var p!: typeof MyTestClass; var p = MyTestClass; p.staticCanary; } @@ -81,7 +81,7 @@ typeOfThisGeneral.ts(106,13): error TS2403: Subsequent variable declarations mus static get staticProp() { //type of 'this' in static accessor body is constructor function type var p = this; - var p: typeof MyTestClass; + var p!: typeof MyTestClass; var p = MyTestClass; p.staticCanary; return this; @@ -89,7 +89,7 @@ typeOfThisGeneral.ts(106,13): error TS2403: Subsequent variable declarations mus static set staticProp(v: typeof MyTestClass) { //type of 'this' in static accessor body is constructor function type var p = this; - var p: typeof MyTestClass; + var p!: typeof MyTestClass; var p = MyTestClass; p.staticCanary; } @@ -102,20 +102,20 @@ typeOfThisGeneral.ts(106,13): error TS2403: Subsequent variable declarations mus constructor() { //type of 'this' in constructor body is the class instance type var p = this.canary; - var p: number; + var p!: number; this.canary = 3; } //type of 'this' in member function param list is the class instance type memberFunc(t = this) { - var t: MyGenericTestClass; + var t!: MyGenericTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 't' must be of type 'this', but here has type 'MyGenericTestClass'. !!! related TS6203 typeOfThisGeneral.ts:82:16: 't' was also declared here. //type of 'this' in member function body is the class instance type var p = this; - var p: MyGenericTestClass; + var p!: MyGenericTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'this', but here has type 'MyGenericTestClass'. !!! related TS6203 typeOfThisGeneral.ts:86:13: 'p' was also declared here. @@ -124,7 +124,7 @@ typeOfThisGeneral.ts(106,13): error TS2403: Subsequent variable declarations mus //type of 'this' in member accessor(get and set) body is the class instance type get prop() { var p = this; - var p: MyGenericTestClass; + var p!: MyGenericTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'this', but here has type 'MyGenericTestClass'. !!! related TS6203 typeOfThisGeneral.ts:92:13: 'p' was also declared here. @@ -132,7 +132,7 @@ typeOfThisGeneral.ts(106,13): error TS2403: Subsequent variable declarations mus } set prop(v) { var p = this; - var p: MyGenericTestClass; + var p!: MyGenericTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'this', but here has type 'MyGenericTestClass'. !!! related TS6203 typeOfThisGeneral.ts:97:13: 'p' was also declared here. @@ -143,7 +143,7 @@ typeOfThisGeneral.ts(106,13): error TS2403: Subsequent variable declarations mus someFunc = () => { //type of 'this' in member variable initializer is the class instance type var t = this; - var t: MyGenericTestClass; + var t!: MyGenericTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 't' must be of type 'this', but here has type 'MyGenericTestClass'. !!! related TS6203 typeOfThisGeneral.ts:105:13: 't' was also declared here. @@ -151,13 +151,13 @@ typeOfThisGeneral.ts(106,13): error TS2403: Subsequent variable declarations mus //type of 'this' in static function param list is constructor function type static staticFn(t = this) { - var t: typeof MyGenericTestClass; + var t!: typeof MyGenericTestClass; var t = MyGenericTestClass; t.staticCanary; //type of 'this' in static function body is constructor function type var p = this; - var p: typeof MyGenericTestClass; + var p!: typeof MyGenericTestClass; var p = MyGenericTestClass; p.staticCanary; } @@ -165,7 +165,7 @@ typeOfThisGeneral.ts(106,13): error TS2403: Subsequent variable declarations mus static get staticProp() { //type of 'this' in static accessor body is constructor function type var p = this; - var p: typeof MyGenericTestClass; + var p!: typeof MyGenericTestClass; var p = MyGenericTestClass; p.staticCanary; return this; @@ -173,7 +173,7 @@ typeOfThisGeneral.ts(106,13): error TS2403: Subsequent variable declarations mus static set staticProp(v: typeof MyGenericTestClass) { //type of 'this' in static accessor body is constructor function type var p = this; - var p: typeof MyGenericTestClass; + var p!: typeof MyGenericTestClass; var p = MyGenericTestClass; p.staticCanary; } @@ -181,39 +181,39 @@ typeOfThisGeneral.ts(106,13): error TS2403: Subsequent variable declarations mus //type of 'this' in a function declaration param list is Any function fn(s = this) { - var s: any; + var s!: any; s.spaaaaaaace = 4; //type of 'this' in a function declaration body is Any - var t: any; + var t!: any; var t = this; this.spaaaaace = 4; } //type of 'this' in a function expression param list list is Any var q1 = function (s = this) { - var s: any; + var s!: any; s.spaaaaaaace = 4; //type of 'this' in a function expression body is Any - var t: any; + var t!: any; var t = this; this.spaaaaace = 4; } //type of 'this' in a fat arrow expression param list is typeof globalThis var q2 = (s = this) => { - var s: typeof globalThis; + var s!: typeof globalThis; s.spaaaaaaace = 4; //type of 'this' in a fat arrow expression body is typeof globalThis - var t: typeof globalThis; + var t!: typeof globalThis; var t = this; this.spaaaaace = 4; } - //type of 'this' in global module is GlobalThis - var t: typeof globalThis; + //type of 'this' in global namespace is GlobalThis + var t!: typeof globalThis; var t = this; this.spaaaaace = 4; diff --git a/tests/baselines/reference/typeOfThisGeneral.js b/tests/baselines/reference/typeOfThisGeneral.js index e474f566f62f2..031ca1e0ac58c 100644 --- a/tests/baselines/reference/typeOfThisGeneral.js +++ b/tests/baselines/reference/typeOfThisGeneral.js @@ -8,28 +8,28 @@ class MyTestClass { constructor() { //type of 'this' in constructor body is the class instance type var p = this.canary; - var p: number; + var p!: number; this.canary = 3; } //type of 'this' in member function param list is the class instance type memberFunc(t = this) { - var t: MyTestClass; + var t!: MyTestClass; //type of 'this' in member function body is the class instance type var p = this; - var p: MyTestClass; + var p!: MyTestClass; } //type of 'this' in member accessor(get and set) body is the class instance type get prop() { var p = this; - var p: MyTestClass; + var p!: MyTestClass; return this; } set prop(v) { var p = this; - var p: MyTestClass; + var p!: MyTestClass; p = v; v = p; } @@ -37,18 +37,18 @@ class MyTestClass { someFunc = () => { //type of 'this' in member variable initializer is the class instance type var t = this; - var t: MyTestClass; + var t!: MyTestClass; }; //type of 'this' in static function param list is constructor function type static staticFn(t = this) { - var t: typeof MyTestClass; + var t!: typeof MyTestClass; var t = MyTestClass; t.staticCanary; //type of 'this' in static function body is constructor function type var p = this; - var p: typeof MyTestClass; + var p!: typeof MyTestClass; var p = MyTestClass; p.staticCanary; } @@ -56,7 +56,7 @@ class MyTestClass { static get staticProp() { //type of 'this' in static accessor body is constructor function type var p = this; - var p: typeof MyTestClass; + var p!: typeof MyTestClass; var p = MyTestClass; p.staticCanary; return this; @@ -64,7 +64,7 @@ class MyTestClass { static set staticProp(v: typeof MyTestClass) { //type of 'this' in static accessor body is constructor function type var p = this; - var p: typeof MyTestClass; + var p!: typeof MyTestClass; var p = MyTestClass; p.staticCanary; } @@ -77,28 +77,28 @@ class MyGenericTestClass { constructor() { //type of 'this' in constructor body is the class instance type var p = this.canary; - var p: number; + var p!: number; this.canary = 3; } //type of 'this' in member function param list is the class instance type memberFunc(t = this) { - var t: MyGenericTestClass; + var t!: MyGenericTestClass; //type of 'this' in member function body is the class instance type var p = this; - var p: MyGenericTestClass; + var p!: MyGenericTestClass; } //type of 'this' in member accessor(get and set) body is the class instance type get prop() { var p = this; - var p: MyGenericTestClass; + var p!: MyGenericTestClass; return this; } set prop(v) { var p = this; - var p: MyGenericTestClass; + var p!: MyGenericTestClass; p = v; v = p; } @@ -106,18 +106,18 @@ class MyGenericTestClass { someFunc = () => { //type of 'this' in member variable initializer is the class instance type var t = this; - var t: MyGenericTestClass; + var t!: MyGenericTestClass; }; //type of 'this' in static function param list is constructor function type static staticFn(t = this) { - var t: typeof MyGenericTestClass; + var t!: typeof MyGenericTestClass; var t = MyGenericTestClass; t.staticCanary; //type of 'this' in static function body is constructor function type var p = this; - var p: typeof MyGenericTestClass; + var p!: typeof MyGenericTestClass; var p = MyGenericTestClass; p.staticCanary; } @@ -125,7 +125,7 @@ class MyGenericTestClass { static get staticProp() { //type of 'this' in static accessor body is constructor function type var p = this; - var p: typeof MyGenericTestClass; + var p!: typeof MyGenericTestClass; var p = MyGenericTestClass; p.staticCanary; return this; @@ -133,7 +133,7 @@ class MyGenericTestClass { static set staticProp(v: typeof MyGenericTestClass) { //type of 'this' in static accessor body is constructor function type var p = this; - var p: typeof MyGenericTestClass; + var p!: typeof MyGenericTestClass; var p = MyGenericTestClass; p.staticCanary; } @@ -141,39 +141,39 @@ class MyGenericTestClass { //type of 'this' in a function declaration param list is Any function fn(s = this) { - var s: any; + var s!: any; s.spaaaaaaace = 4; //type of 'this' in a function declaration body is Any - var t: any; + var t!: any; var t = this; this.spaaaaace = 4; } //type of 'this' in a function expression param list list is Any var q1 = function (s = this) { - var s: any; + var s!: any; s.spaaaaaaace = 4; //type of 'this' in a function expression body is Any - var t: any; + var t!: any; var t = this; this.spaaaaace = 4; } //type of 'this' in a fat arrow expression param list is typeof globalThis var q2 = (s = this) => { - var s: typeof globalThis; + var s!: typeof globalThis; s.spaaaaaaace = 4; //type of 'this' in a fat arrow expression body is typeof globalThis - var t: typeof globalThis; + var t!: typeof globalThis; var t = this; this.spaaaaace = 4; } -//type of 'this' in global module is GlobalThis -var t: typeof globalThis; +//type of 'this' in global namespace is GlobalThis +var t!: typeof globalThis; var t = this; this.spaaaaace = 4; @@ -323,7 +323,7 @@ var q2 = (s = this) => { var t = this; this.spaaaaace = 4; }; -//type of 'this' in global module is GlobalThis +//type of 'this' in global namespace is GlobalThis var t; var t = this; this.spaaaaace = 4; diff --git a/tests/baselines/reference/typeOfThisGeneral.symbols b/tests/baselines/reference/typeOfThisGeneral.symbols index 173801468f60f..c64c79cb58b8b 100644 --- a/tests/baselines/reference/typeOfThisGeneral.symbols +++ b/tests/baselines/reference/typeOfThisGeneral.symbols @@ -18,7 +18,7 @@ class MyTestClass { >this : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) >canary : Symbol(MyTestClass.canary, Decl(typeOfThisGeneral.ts, 0, 19)) - var p: number; + var p!: number; >p : Symbol(p, Decl(typeOfThisGeneral.ts, 6, 11), Decl(typeOfThisGeneral.ts, 7, 11)) this.canary = 3; @@ -33,7 +33,7 @@ class MyTestClass { >t : Symbol(t, Decl(typeOfThisGeneral.ts, 12, 15), Decl(typeOfThisGeneral.ts, 13, 11)) >this : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) - var t: MyTestClass; + var t!: MyTestClass; >t : Symbol(t, Decl(typeOfThisGeneral.ts, 12, 15), Decl(typeOfThisGeneral.ts, 13, 11)) >MyTestClass : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) @@ -42,7 +42,7 @@ class MyTestClass { >p : Symbol(p, Decl(typeOfThisGeneral.ts, 16, 11), Decl(typeOfThisGeneral.ts, 17, 11)) >this : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) - var p: MyTestClass; + var p!: MyTestClass; >p : Symbol(p, Decl(typeOfThisGeneral.ts, 16, 11), Decl(typeOfThisGeneral.ts, 17, 11)) >MyTestClass : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) } @@ -55,7 +55,7 @@ class MyTestClass { >p : Symbol(p, Decl(typeOfThisGeneral.ts, 22, 11), Decl(typeOfThisGeneral.ts, 23, 11)) >this : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) - var p: MyTestClass; + var p!: MyTestClass; >p : Symbol(p, Decl(typeOfThisGeneral.ts, 22, 11), Decl(typeOfThisGeneral.ts, 23, 11)) >MyTestClass : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) @@ -70,7 +70,7 @@ class MyTestClass { >p : Symbol(p, Decl(typeOfThisGeneral.ts, 27, 11), Decl(typeOfThisGeneral.ts, 28, 11)) >this : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) - var p: MyTestClass; + var p!: MyTestClass; >p : Symbol(p, Decl(typeOfThisGeneral.ts, 27, 11), Decl(typeOfThisGeneral.ts, 28, 11)) >MyTestClass : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) @@ -91,7 +91,7 @@ class MyTestClass { >t : Symbol(t, Decl(typeOfThisGeneral.ts, 35, 11), Decl(typeOfThisGeneral.ts, 36, 11)) >this : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) - var t: MyTestClass; + var t!: MyTestClass; >t : Symbol(t, Decl(typeOfThisGeneral.ts, 35, 11), Decl(typeOfThisGeneral.ts, 36, 11)) >MyTestClass : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) @@ -103,7 +103,7 @@ class MyTestClass { >t : Symbol(t, Decl(typeOfThisGeneral.ts, 40, 20), Decl(typeOfThisGeneral.ts, 41, 11), Decl(typeOfThisGeneral.ts, 42, 11)) >this : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) - var t: typeof MyTestClass; + var t!: typeof MyTestClass; >t : Symbol(t, Decl(typeOfThisGeneral.ts, 40, 20), Decl(typeOfThisGeneral.ts, 41, 11), Decl(typeOfThisGeneral.ts, 42, 11)) >MyTestClass : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) @@ -121,7 +121,7 @@ class MyTestClass { >p : Symbol(p, Decl(typeOfThisGeneral.ts, 46, 11), Decl(typeOfThisGeneral.ts, 47, 11), Decl(typeOfThisGeneral.ts, 48, 11)) >this : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) - var p: typeof MyTestClass; + var p!: typeof MyTestClass; >p : Symbol(p, Decl(typeOfThisGeneral.ts, 46, 11), Decl(typeOfThisGeneral.ts, 47, 11), Decl(typeOfThisGeneral.ts, 48, 11)) >MyTestClass : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) @@ -143,7 +143,7 @@ class MyTestClass { >p : Symbol(p, Decl(typeOfThisGeneral.ts, 54, 11), Decl(typeOfThisGeneral.ts, 55, 11), Decl(typeOfThisGeneral.ts, 56, 11)) >this : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) - var p: typeof MyTestClass; + var p!: typeof MyTestClass; >p : Symbol(p, Decl(typeOfThisGeneral.ts, 54, 11), Decl(typeOfThisGeneral.ts, 55, 11), Decl(typeOfThisGeneral.ts, 56, 11)) >MyTestClass : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) @@ -169,7 +169,7 @@ class MyTestClass { >p : Symbol(p, Decl(typeOfThisGeneral.ts, 62, 11), Decl(typeOfThisGeneral.ts, 63, 11), Decl(typeOfThisGeneral.ts, 64, 11)) >this : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) - var p: typeof MyTestClass; + var p!: typeof MyTestClass; >p : Symbol(p, Decl(typeOfThisGeneral.ts, 62, 11), Decl(typeOfThisGeneral.ts, 63, 11), Decl(typeOfThisGeneral.ts, 64, 11)) >MyTestClass : Symbol(MyTestClass, Decl(typeOfThisGeneral.ts, 0, 0)) @@ -203,7 +203,7 @@ class MyGenericTestClass { >this : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) >canary : Symbol(MyGenericTestClass.canary, Decl(typeOfThisGeneral.ts, 69, 32)) - var p: number; + var p!: number; >p : Symbol(p, Decl(typeOfThisGeneral.ts, 75, 11), Decl(typeOfThisGeneral.ts, 76, 11)) this.canary = 3; @@ -218,7 +218,7 @@ class MyGenericTestClass { >t : Symbol(t, Decl(typeOfThisGeneral.ts, 81, 15), Decl(typeOfThisGeneral.ts, 82, 11)) >this : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) - var t: MyGenericTestClass; + var t!: MyGenericTestClass; >t : Symbol(t, Decl(typeOfThisGeneral.ts, 81, 15), Decl(typeOfThisGeneral.ts, 82, 11)) >MyGenericTestClass : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) >T : Symbol(T, Decl(typeOfThisGeneral.ts, 69, 25)) @@ -229,7 +229,7 @@ class MyGenericTestClass { >p : Symbol(p, Decl(typeOfThisGeneral.ts, 85, 11), Decl(typeOfThisGeneral.ts, 86, 11)) >this : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) - var p: MyGenericTestClass; + var p!: MyGenericTestClass; >p : Symbol(p, Decl(typeOfThisGeneral.ts, 85, 11), Decl(typeOfThisGeneral.ts, 86, 11)) >MyGenericTestClass : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) >T : Symbol(T, Decl(typeOfThisGeneral.ts, 69, 25)) @@ -244,7 +244,7 @@ class MyGenericTestClass { >p : Symbol(p, Decl(typeOfThisGeneral.ts, 91, 11), Decl(typeOfThisGeneral.ts, 92, 11)) >this : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) - var p: MyGenericTestClass; + var p!: MyGenericTestClass; >p : Symbol(p, Decl(typeOfThisGeneral.ts, 91, 11), Decl(typeOfThisGeneral.ts, 92, 11)) >MyGenericTestClass : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) >T : Symbol(T, Decl(typeOfThisGeneral.ts, 69, 25)) @@ -261,7 +261,7 @@ class MyGenericTestClass { >p : Symbol(p, Decl(typeOfThisGeneral.ts, 96, 11), Decl(typeOfThisGeneral.ts, 97, 11)) >this : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) - var p: MyGenericTestClass; + var p!: MyGenericTestClass; >p : Symbol(p, Decl(typeOfThisGeneral.ts, 96, 11), Decl(typeOfThisGeneral.ts, 97, 11)) >MyGenericTestClass : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) >T : Symbol(T, Decl(typeOfThisGeneral.ts, 69, 25)) @@ -284,7 +284,7 @@ class MyGenericTestClass { >t : Symbol(t, Decl(typeOfThisGeneral.ts, 104, 11), Decl(typeOfThisGeneral.ts, 105, 11)) >this : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) - var t: MyGenericTestClass; + var t!: MyGenericTestClass; >t : Symbol(t, Decl(typeOfThisGeneral.ts, 104, 11), Decl(typeOfThisGeneral.ts, 105, 11)) >MyGenericTestClass : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) >T : Symbol(T, Decl(typeOfThisGeneral.ts, 69, 25)) @@ -298,7 +298,7 @@ class MyGenericTestClass { >t : Symbol(t, Decl(typeOfThisGeneral.ts, 109, 20), Decl(typeOfThisGeneral.ts, 110, 11), Decl(typeOfThisGeneral.ts, 111, 11)) >this : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) - var t: typeof MyGenericTestClass; + var t!: typeof MyGenericTestClass; >t : Symbol(t, Decl(typeOfThisGeneral.ts, 109, 20), Decl(typeOfThisGeneral.ts, 110, 11), Decl(typeOfThisGeneral.ts, 111, 11)) >MyGenericTestClass : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) @@ -316,7 +316,7 @@ class MyGenericTestClass { >p : Symbol(p, Decl(typeOfThisGeneral.ts, 115, 11), Decl(typeOfThisGeneral.ts, 116, 11), Decl(typeOfThisGeneral.ts, 117, 11)) >this : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) - var p: typeof MyGenericTestClass; + var p!: typeof MyGenericTestClass; >p : Symbol(p, Decl(typeOfThisGeneral.ts, 115, 11), Decl(typeOfThisGeneral.ts, 116, 11), Decl(typeOfThisGeneral.ts, 117, 11)) >MyGenericTestClass : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) @@ -338,7 +338,7 @@ class MyGenericTestClass { >p : Symbol(p, Decl(typeOfThisGeneral.ts, 123, 11), Decl(typeOfThisGeneral.ts, 124, 11), Decl(typeOfThisGeneral.ts, 125, 11)) >this : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) - var p: typeof MyGenericTestClass; + var p!: typeof MyGenericTestClass; >p : Symbol(p, Decl(typeOfThisGeneral.ts, 123, 11), Decl(typeOfThisGeneral.ts, 124, 11), Decl(typeOfThisGeneral.ts, 125, 11)) >MyGenericTestClass : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) @@ -364,7 +364,7 @@ class MyGenericTestClass { >p : Symbol(p, Decl(typeOfThisGeneral.ts, 131, 11), Decl(typeOfThisGeneral.ts, 132, 11), Decl(typeOfThisGeneral.ts, 133, 11)) >this : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) - var p: typeof MyGenericTestClass; + var p!: typeof MyGenericTestClass; >p : Symbol(p, Decl(typeOfThisGeneral.ts, 131, 11), Decl(typeOfThisGeneral.ts, 132, 11), Decl(typeOfThisGeneral.ts, 133, 11)) >MyGenericTestClass : Symbol(MyGenericTestClass, Decl(typeOfThisGeneral.ts, 67, 1)) @@ -384,14 +384,14 @@ function fn(s = this) { >fn : Symbol(fn, Decl(typeOfThisGeneral.ts, 136, 1)) >s : Symbol(s, Decl(typeOfThisGeneral.ts, 139, 12), Decl(typeOfThisGeneral.ts, 140, 7)) - var s: any; + var s!: any; >s : Symbol(s, Decl(typeOfThisGeneral.ts, 139, 12), Decl(typeOfThisGeneral.ts, 140, 7)) s.spaaaaaaace = 4; >s : Symbol(s, Decl(typeOfThisGeneral.ts, 139, 12), Decl(typeOfThisGeneral.ts, 140, 7)) //type of 'this' in a function declaration body is Any - var t: any; + var t!: any; >t : Symbol(t, Decl(typeOfThisGeneral.ts, 144, 7), Decl(typeOfThisGeneral.ts, 145, 7)) var t = this; @@ -405,14 +405,14 @@ var q1 = function (s = this) { >q1 : Symbol(q1, Decl(typeOfThisGeneral.ts, 150, 3)) >s : Symbol(s, Decl(typeOfThisGeneral.ts, 150, 19), Decl(typeOfThisGeneral.ts, 151, 7)) - var s: any; + var s!: any; >s : Symbol(s, Decl(typeOfThisGeneral.ts, 150, 19), Decl(typeOfThisGeneral.ts, 151, 7)) s.spaaaaaaace = 4; >s : Symbol(s, Decl(typeOfThisGeneral.ts, 150, 19), Decl(typeOfThisGeneral.ts, 151, 7)) //type of 'this' in a function expression body is Any - var t: any; + var t!: any; >t : Symbol(t, Decl(typeOfThisGeneral.ts, 155, 7), Decl(typeOfThisGeneral.ts, 156, 7)) var t = this; @@ -427,7 +427,7 @@ var q2 = (s = this) => { >s : Symbol(s, Decl(typeOfThisGeneral.ts, 161, 10), Decl(typeOfThisGeneral.ts, 162, 7)) >this : Symbol(globalThis) - var s: typeof globalThis; + var s!: typeof globalThis; >s : Symbol(s, Decl(typeOfThisGeneral.ts, 161, 10), Decl(typeOfThisGeneral.ts, 162, 7)) >globalThis : Symbol(globalThis) @@ -435,7 +435,7 @@ var q2 = (s = this) => { >s : Symbol(s, Decl(typeOfThisGeneral.ts, 161, 10), Decl(typeOfThisGeneral.ts, 162, 7)) //type of 'this' in a fat arrow expression body is typeof globalThis - var t: typeof globalThis; + var t!: typeof globalThis; >t : Symbol(t, Decl(typeOfThisGeneral.ts, 166, 7), Decl(typeOfThisGeneral.ts, 167, 7)) >globalThis : Symbol(globalThis) @@ -447,8 +447,8 @@ var q2 = (s = this) => { >this : Symbol(globalThis) } -//type of 'this' in global module is GlobalThis -var t: typeof globalThis; +//type of 'this' in global namespace is GlobalThis +var t!: typeof globalThis; >t : Symbol(t, Decl(typeOfThisGeneral.ts, 172, 3), Decl(typeOfThisGeneral.ts, 173, 3)) >globalThis : Symbol(globalThis) diff --git a/tests/baselines/reference/typeOfThisGeneral.types b/tests/baselines/reference/typeOfThisGeneral.types index 4e53282ef731a..167ee89924de6 100644 --- a/tests/baselines/reference/typeOfThisGeneral.types +++ b/tests/baselines/reference/typeOfThisGeneral.types @@ -25,7 +25,7 @@ class MyTestClass { >canary : number > : ^^^^^^ - var p: number; + var p!: number; >p : number > : ^^^^^^ @@ -51,7 +51,7 @@ class MyTestClass { >this : this > : ^^^^ - var t: MyTestClass; + var t!: MyTestClass; >t : this > : ^^^^ @@ -62,7 +62,7 @@ class MyTestClass { >this : this > : ^^^^ - var p: MyTestClass; + var p!: MyTestClass; >p : this > : ^^^^ } @@ -78,7 +78,7 @@ class MyTestClass { >this : this > : ^^^^ - var p: MyTestClass; + var p!: MyTestClass; >p : this > : ^^^^ @@ -98,7 +98,7 @@ class MyTestClass { >this : this > : ^^^^ - var p: MyTestClass; + var p!: MyTestClass; >p : this > : ^^^^ @@ -122,8 +122,8 @@ class MyTestClass { someFunc = () => { >someFunc : () => void > : ^^^^^^^^^^ ->() => { //type of 'this' in member variable initializer is the class instance type var t = this; var t: MyTestClass; } : () => void -> : ^^^^^^^^^^ +>() => { //type of 'this' in member variable initializer is the class instance type var t = this; var t!: MyTestClass; } : () => void +> : ^^^^^^^^^^ //type of 'this' in member variable initializer is the class instance type var t = this; @@ -132,7 +132,7 @@ class MyTestClass { >this : this > : ^^^^ - var t: MyTestClass; + var t!: MyTestClass; >t : this > : ^^^^ @@ -147,7 +147,7 @@ class MyTestClass { >this : typeof MyTestClass > : ^^^^^^^^^^^^^^^^^^ - var t: typeof MyTestClass; + var t!: typeof MyTestClass; >t : typeof MyTestClass > : ^^^^^^^^^^^^^^^^^^ >MyTestClass : typeof MyTestClass @@ -174,7 +174,7 @@ class MyTestClass { >this : typeof MyTestClass > : ^^^^^^^^^^^^^^^^^^ - var p: typeof MyTestClass; + var p!: typeof MyTestClass; >p : typeof MyTestClass > : ^^^^^^^^^^^^^^^^^^ >MyTestClass : typeof MyTestClass @@ -206,7 +206,7 @@ class MyTestClass { >this : typeof MyTestClass > : ^^^^^^^^^^^^^^^^^^ - var p: typeof MyTestClass; + var p!: typeof MyTestClass; >p : typeof MyTestClass > : ^^^^^^^^^^^^^^^^^^ >MyTestClass : typeof MyTestClass @@ -245,7 +245,7 @@ class MyTestClass { >this : typeof MyTestClass > : ^^^^^^^^^^^^^^^^^^ - var p: typeof MyTestClass; + var p!: typeof MyTestClass; >p : typeof MyTestClass > : ^^^^^^^^^^^^^^^^^^ >MyTestClass : typeof MyTestClass @@ -291,7 +291,7 @@ class MyGenericTestClass { >canary : number > : ^^^^^^ - var p: number; + var p!: number; >p : number > : ^^^^^^ @@ -317,7 +317,7 @@ class MyGenericTestClass { >this : this > : ^^^^ - var t: MyGenericTestClass; + var t!: MyGenericTestClass; >t : this > : ^^^^ @@ -328,7 +328,7 @@ class MyGenericTestClass { >this : this > : ^^^^ - var p: MyGenericTestClass; + var p!: MyGenericTestClass; >p : this > : ^^^^ } @@ -344,7 +344,7 @@ class MyGenericTestClass { >this : this > : ^^^^ - var p: MyGenericTestClass; + var p!: MyGenericTestClass; >p : this > : ^^^^ @@ -364,7 +364,7 @@ class MyGenericTestClass { >this : this > : ^^^^ - var p: MyGenericTestClass; + var p!: MyGenericTestClass; >p : this > : ^^^^ @@ -388,8 +388,8 @@ class MyGenericTestClass { someFunc = () => { >someFunc : () => void > : ^^^^^^^^^^ ->() => { //type of 'this' in member variable initializer is the class instance type var t = this; var t: MyGenericTestClass; } : () => void -> : ^^^^^^^^^^ +>() => { //type of 'this' in member variable initializer is the class instance type var t = this; var t!: MyGenericTestClass; } : () => void +> : ^^^^^^^^^^ //type of 'this' in member variable initializer is the class instance type var t = this; @@ -398,7 +398,7 @@ class MyGenericTestClass { >this : this > : ^^^^ - var t: MyGenericTestClass; + var t!: MyGenericTestClass; >t : this > : ^^^^ @@ -413,7 +413,7 @@ class MyGenericTestClass { >this : typeof MyGenericTestClass > : ^^^^^^^^^^^^^^^^^^^^^^^^^ - var t: typeof MyGenericTestClass; + var t!: typeof MyGenericTestClass; >t : typeof MyGenericTestClass > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >MyGenericTestClass : typeof MyGenericTestClass @@ -440,7 +440,7 @@ class MyGenericTestClass { >this : typeof MyGenericTestClass > : ^^^^^^^^^^^^^^^^^^^^^^^^^ - var p: typeof MyGenericTestClass; + var p!: typeof MyGenericTestClass; >p : typeof MyGenericTestClass > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >MyGenericTestClass : typeof MyGenericTestClass @@ -472,7 +472,7 @@ class MyGenericTestClass { >this : typeof MyGenericTestClass > : ^^^^^^^^^^^^^^^^^^^^^^^^^ - var p: typeof MyGenericTestClass; + var p!: typeof MyGenericTestClass; >p : typeof MyGenericTestClass > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >MyGenericTestClass : typeof MyGenericTestClass @@ -511,7 +511,7 @@ class MyGenericTestClass { >this : typeof MyGenericTestClass > : ^^^^^^^^^^^^^^^^^^^^^^^^^ - var p: typeof MyGenericTestClass; + var p!: typeof MyGenericTestClass; >p : typeof MyGenericTestClass > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >MyGenericTestClass : typeof MyGenericTestClass @@ -542,7 +542,7 @@ function fn(s = this) { >this : any > : ^^^ - var s: any; + var s!: any; >s : any > : ^^^ @@ -559,7 +559,7 @@ function fn(s = this) { > : ^ //type of 'this' in a function declaration body is Any - var t: any; + var t!: any; >t : any > : ^^^ @@ -586,14 +586,14 @@ function fn(s = this) { var q1 = function (s = this) { >q1 : (s?: any) => void > : ^ ^^^^^^^^^^^^^^^ ->function (s = this) { var s: any; s.spaaaaaaace = 4; //type of 'this' in a function expression body is Any var t: any; var t = this; this.spaaaaace = 4;} : (s?: any) => void -> : ^ ^^^^^^^^^^^^^^^ +>function (s = this) { var s!: any; s.spaaaaaaace = 4; //type of 'this' in a function expression body is Any var t!: any; var t = this; this.spaaaaace = 4;} : (s?: any) => void +> : ^ ^^^^^^^^^^^^^^^ >s : any > : ^^^ >this : any > : ^^^ - var s: any; + var s!: any; >s : any > : ^^^ @@ -610,7 +610,7 @@ var q1 = function (s = this) { > : ^ //type of 'this' in a function expression body is Any - var t: any; + var t!: any; >t : any > : ^^^ @@ -637,14 +637,14 @@ var q1 = function (s = this) { var q2 = (s = this) => { >q2 : (s?: typeof globalThis) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(s = this) => { var s: typeof globalThis; s.spaaaaaaace = 4; //type of 'this' in a fat arrow expression body is typeof globalThis var t: typeof globalThis; var t = this; this.spaaaaace = 4;} : (s?: typeof globalThis) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(s = this) => { var s!: typeof globalThis; s.spaaaaaaace = 4; //type of 'this' in a fat arrow expression body is typeof globalThis var t!: typeof globalThis; var t = this; this.spaaaaace = 4;} : (s?: typeof globalThis) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >this : typeof globalThis > : ^^^^^^^^^^^^^^^^^ - var s: typeof globalThis; + var s!: typeof globalThis; >s : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >globalThis : typeof globalThis @@ -663,7 +663,7 @@ var q2 = (s = this) => { > : ^ //type of 'this' in a fat arrow expression body is typeof globalThis - var t: typeof globalThis; + var t!: typeof globalThis; >t : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >globalThis : typeof globalThis @@ -688,8 +688,8 @@ var q2 = (s = this) => { > : ^ } -//type of 'this' in global module is GlobalThis -var t: typeof globalThis; +//type of 'this' in global namespace is GlobalThis +var t!: typeof globalThis; >t : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >globalThis : typeof globalThis diff --git a/tests/baselines/reference/typeOfThisInInstanceMember.errors.txt b/tests/baselines/reference/typeOfThisInInstanceMember.errors.txt index b560d6498825b..c9dc3406784be 100644 --- a/tests/baselines/reference/typeOfThisInInstanceMember.errors.txt +++ b/tests/baselines/reference/typeOfThisInInstanceMember.errors.txt @@ -22,7 +22,7 @@ typeOfThisInInstanceMember.ts(10,11): error TS2339: Property 'z' does not exist } } - var c: C; + declare var c: C; // all ok var r = c.x; var ra = c.x.x.x; diff --git a/tests/baselines/reference/typeOfThisInInstanceMember.js b/tests/baselines/reference/typeOfThisInInstanceMember.js index 4056077c13096..66600548512d7 100644 --- a/tests/baselines/reference/typeOfThisInInstanceMember.js +++ b/tests/baselines/reference/typeOfThisInInstanceMember.js @@ -19,7 +19,7 @@ class C { } } -var c: C; +declare var c: C; // all ok var r = c.x; var ra = c.x.x.x; @@ -55,7 +55,6 @@ var C = /** @class */ (function () { }); return C; }()); -var c; // all ok var r = c.x; var ra = c.x.x.x; diff --git a/tests/baselines/reference/typeOfThisInInstanceMember.symbols b/tests/baselines/reference/typeOfThisInInstanceMember.symbols index d22259cbcd654..f5d95eb54f7c5 100644 --- a/tests/baselines/reference/typeOfThisInInstanceMember.symbols +++ b/tests/baselines/reference/typeOfThisInInstanceMember.symbols @@ -49,15 +49,15 @@ class C { } } -var c: C; ->c : Symbol(c, Decl(typeOfThisInInstanceMember.ts, 18, 3)) +declare var c: C; +>c : Symbol(c, Decl(typeOfThisInInstanceMember.ts, 18, 11)) >C : Symbol(C, Decl(typeOfThisInInstanceMember.ts, 0, 0)) // all ok var r = c.x; >r : Symbol(r, Decl(typeOfThisInInstanceMember.ts, 20, 3)) >c.x : Symbol(C.x, Decl(typeOfThisInInstanceMember.ts, 0, 9)) ->c : Symbol(c, Decl(typeOfThisInInstanceMember.ts, 18, 3)) +>c : Symbol(c, Decl(typeOfThisInInstanceMember.ts, 18, 11)) >x : Symbol(C.x, Decl(typeOfThisInInstanceMember.ts, 0, 9)) var ra = c.x.x.x; @@ -65,7 +65,7 @@ var ra = c.x.x.x; >c.x.x.x : Symbol(C.x, Decl(typeOfThisInInstanceMember.ts, 0, 9)) >c.x.x : Symbol(C.x, Decl(typeOfThisInInstanceMember.ts, 0, 9)) >c.x : Symbol(C.x, Decl(typeOfThisInInstanceMember.ts, 0, 9)) ->c : Symbol(c, Decl(typeOfThisInInstanceMember.ts, 18, 3)) +>c : Symbol(c, Decl(typeOfThisInInstanceMember.ts, 18, 11)) >x : Symbol(C.x, Decl(typeOfThisInInstanceMember.ts, 0, 9)) >x : Symbol(C.x, Decl(typeOfThisInInstanceMember.ts, 0, 9)) >x : Symbol(C.x, Decl(typeOfThisInInstanceMember.ts, 0, 9)) @@ -73,13 +73,13 @@ var ra = c.x.x.x; var r2 = c.y; >r2 : Symbol(r2, Decl(typeOfThisInInstanceMember.ts, 22, 3)) >c.y : Symbol(C.y, Decl(typeOfThisInInstanceMember.ts, 11, 5)) ->c : Symbol(c, Decl(typeOfThisInInstanceMember.ts, 18, 3)) +>c : Symbol(c, Decl(typeOfThisInInstanceMember.ts, 18, 11)) >y : Symbol(C.y, Decl(typeOfThisInInstanceMember.ts, 11, 5)) var r3 = c.foo(); >r3 : Symbol(r3, Decl(typeOfThisInInstanceMember.ts, 23, 3)) >c.foo : Symbol(C.foo, Decl(typeOfThisInInstanceMember.ts, 1, 13)) ->c : Symbol(c, Decl(typeOfThisInInstanceMember.ts, 18, 3)) +>c : Symbol(c, Decl(typeOfThisInInstanceMember.ts, 18, 11)) >foo : Symbol(C.foo, Decl(typeOfThisInInstanceMember.ts, 1, 13)) var rs = [r, r2, r3]; diff --git a/tests/baselines/reference/typeOfThisInInstanceMember.types b/tests/baselines/reference/typeOfThisInInstanceMember.types index 778004f41e4cd..fecd02b324de4 100644 --- a/tests/baselines/reference/typeOfThisInInstanceMember.types +++ b/tests/baselines/reference/typeOfThisInInstanceMember.types @@ -76,7 +76,7 @@ class C { } } -var c: C; +declare var c: C; >c : C > : ^ diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence.errors.txt b/tests/baselines/reference/typeParameterArgumentEquivalence.errors.txt index e7baf233b1e01..53c3a48519a91 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence.errors.txt +++ b/tests/baselines/reference/typeParameterArgumentEquivalence.errors.txt @@ -9,8 +9,8 @@ typeParameterArgumentEquivalence.ts(5,5): error TS2322: Type '(item: number) => ==== typeParameterArgumentEquivalence.ts (2 errors) ==== function foo() { - var x: (item: number) => boolean; - var y: (item: T) => boolean; + var x!: (item: number) => boolean; + var y!: (item: T) => boolean; x = y; // Should be an error ~ !!! error TS2322: Type '(item: T) => boolean' is not assignable to type '(item: number) => boolean'. diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence.js b/tests/baselines/reference/typeParameterArgumentEquivalence.js index 101a452d0eaa8..0bb472a4ad56d 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence.js +++ b/tests/baselines/reference/typeParameterArgumentEquivalence.js @@ -2,8 +2,8 @@ //// [typeParameterArgumentEquivalence.ts] function foo() { - var x: (item: number) => boolean; - var y: (item: T) => boolean; + var x!: (item: number) => boolean; + var y!: (item: T) => boolean; x = y; // Should be an error y = x; // Shound be an error } diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence.symbols b/tests/baselines/reference/typeParameterArgumentEquivalence.symbols index c9f07ee86fc45..b009d3c30e53d 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence.symbols +++ b/tests/baselines/reference/typeParameterArgumentEquivalence.symbols @@ -5,13 +5,13 @@ function foo() { >foo : Symbol(foo, Decl(typeParameterArgumentEquivalence.ts, 0, 0)) >T : Symbol(T, Decl(typeParameterArgumentEquivalence.ts, 0, 13)) - var x: (item: number) => boolean; + var x!: (item: number) => boolean; >x : Symbol(x, Decl(typeParameterArgumentEquivalence.ts, 1, 7)) ->item : Symbol(item, Decl(typeParameterArgumentEquivalence.ts, 1, 12)) +>item : Symbol(item, Decl(typeParameterArgumentEquivalence.ts, 1, 13)) - var y: (item: T) => boolean; + var y!: (item: T) => boolean; >y : Symbol(y, Decl(typeParameterArgumentEquivalence.ts, 2, 7)) ->item : Symbol(item, Decl(typeParameterArgumentEquivalence.ts, 2, 12)) +>item : Symbol(item, Decl(typeParameterArgumentEquivalence.ts, 2, 13)) >T : Symbol(T, Decl(typeParameterArgumentEquivalence.ts, 0, 13)) x = y; // Should be an error diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence.types b/tests/baselines/reference/typeParameterArgumentEquivalence.types index f0c07d8e65963..c231186983c7a 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence.types +++ b/tests/baselines/reference/typeParameterArgumentEquivalence.types @@ -5,13 +5,13 @@ function foo() { >foo : () => void > : ^ ^^^^^^^^^^^ - var x: (item: number) => boolean; + var x!: (item: number) => boolean; >x : (item: number) => boolean > : ^ ^^ ^^^^^ >item : number > : ^^^^^^ - var y: (item: T) => boolean; + var y!: (item: T) => boolean; >y : (item: T) => boolean > : ^ ^^ ^^^^^ >item : T diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence2.errors.txt b/tests/baselines/reference/typeParameterArgumentEquivalence2.errors.txt index fd34093a24146..8895a8ac9d4cc 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence2.errors.txt +++ b/tests/baselines/reference/typeParameterArgumentEquivalence2.errors.txt @@ -10,8 +10,8 @@ typeParameterArgumentEquivalence2.ts(5,5): error TS2322: Type '(item: U) => bool ==== typeParameterArgumentEquivalence2.ts (2 errors) ==== function foo() { - var x: (item: U) => boolean; - var y: (item: T) => boolean; + var x!: (item: U) => boolean; + var y!: (item: T) => boolean; x = y; // Should be an error ~ !!! error TS2322: Type '(item: T) => boolean' is not assignable to type '(item: U) => boolean'. diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence2.js b/tests/baselines/reference/typeParameterArgumentEquivalence2.js index 72e10f1805d36..a411b05ac7c09 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence2.js +++ b/tests/baselines/reference/typeParameterArgumentEquivalence2.js @@ -2,8 +2,8 @@ //// [typeParameterArgumentEquivalence2.ts] function foo() { - var x: (item: U) => boolean; - var y: (item: T) => boolean; + var x!: (item: U) => boolean; + var y!: (item: T) => boolean; x = y; // Should be an error y = x; // Shound be an error } diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence2.symbols b/tests/baselines/reference/typeParameterArgumentEquivalence2.symbols index 88917eea03d7a..cf01bb9233865 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence2.symbols +++ b/tests/baselines/reference/typeParameterArgumentEquivalence2.symbols @@ -6,14 +6,14 @@ function foo() { >T : Symbol(T, Decl(typeParameterArgumentEquivalence2.ts, 0, 13)) >U : Symbol(U, Decl(typeParameterArgumentEquivalence2.ts, 0, 15)) - var x: (item: U) => boolean; + var x!: (item: U) => boolean; >x : Symbol(x, Decl(typeParameterArgumentEquivalence2.ts, 1, 7)) ->item : Symbol(item, Decl(typeParameterArgumentEquivalence2.ts, 1, 12)) +>item : Symbol(item, Decl(typeParameterArgumentEquivalence2.ts, 1, 13)) >U : Symbol(U, Decl(typeParameterArgumentEquivalence2.ts, 0, 15)) - var y: (item: T) => boolean; + var y!: (item: T) => boolean; >y : Symbol(y, Decl(typeParameterArgumentEquivalence2.ts, 2, 7)) ->item : Symbol(item, Decl(typeParameterArgumentEquivalence2.ts, 2, 12)) +>item : Symbol(item, Decl(typeParameterArgumentEquivalence2.ts, 2, 13)) >T : Symbol(T, Decl(typeParameterArgumentEquivalence2.ts, 0, 13)) x = y; // Should be an error diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence2.types b/tests/baselines/reference/typeParameterArgumentEquivalence2.types index d39f0c9cbd565..46bec0037c507 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence2.types +++ b/tests/baselines/reference/typeParameterArgumentEquivalence2.types @@ -5,13 +5,13 @@ function foo() { >foo : () => void > : ^ ^^ ^^^^^^^^^^^ - var x: (item: U) => boolean; + var x!: (item: U) => boolean; >x : (item: U) => boolean > : ^ ^^ ^^^^^ >item : U > : ^ - var y: (item: T) => boolean; + var y!: (item: T) => boolean; >y : (item: T) => boolean > : ^ ^^ ^^^^^ >item : T diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence3.errors.txt b/tests/baselines/reference/typeParameterArgumentEquivalence3.errors.txt index 67323fa6992c2..b9a4a726c3bf8 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence3.errors.txt +++ b/tests/baselines/reference/typeParameterArgumentEquivalence3.errors.txt @@ -7,8 +7,8 @@ typeParameterArgumentEquivalence3.ts(5,5): error TS2322: Type '(item: any) => T' ==== typeParameterArgumentEquivalence3.ts (2 errors) ==== function foo() { - var x: (item) => T; - var y: (item) => boolean; + var x!: (item: any) => T; + var y!: (item: any) => boolean; x = y; // Should be an error ~ !!! error TS2322: Type '(item: any) => boolean' is not assignable to type '(item: any) => T'. diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence3.js b/tests/baselines/reference/typeParameterArgumentEquivalence3.js index 91ad3922e2a5a..14e61352e5401 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence3.js +++ b/tests/baselines/reference/typeParameterArgumentEquivalence3.js @@ -2,8 +2,8 @@ //// [typeParameterArgumentEquivalence3.ts] function foo() { - var x: (item) => T; - var y: (item) => boolean; + var x!: (item: any) => T; + var y!: (item: any) => boolean; x = y; // Should be an error y = x; // Shound be an error } diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence3.symbols b/tests/baselines/reference/typeParameterArgumentEquivalence3.symbols index 3e88cc71a2743..23ecf245d0338 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence3.symbols +++ b/tests/baselines/reference/typeParameterArgumentEquivalence3.symbols @@ -6,14 +6,14 @@ function foo() { >T : Symbol(T, Decl(typeParameterArgumentEquivalence3.ts, 0, 13)) >U : Symbol(U, Decl(typeParameterArgumentEquivalence3.ts, 0, 15)) - var x: (item) => T; + var x!: (item: any) => T; >x : Symbol(x, Decl(typeParameterArgumentEquivalence3.ts, 1, 7)) ->item : Symbol(item, Decl(typeParameterArgumentEquivalence3.ts, 1, 12)) +>item : Symbol(item, Decl(typeParameterArgumentEquivalence3.ts, 1, 13)) >T : Symbol(T, Decl(typeParameterArgumentEquivalence3.ts, 0, 13)) - var y: (item) => boolean; + var y!: (item: any) => boolean; >y : Symbol(y, Decl(typeParameterArgumentEquivalence3.ts, 2, 7)) ->item : Symbol(item, Decl(typeParameterArgumentEquivalence3.ts, 2, 12)) +>item : Symbol(item, Decl(typeParameterArgumentEquivalence3.ts, 2, 13)) x = y; // Should be an error >x : Symbol(x, Decl(typeParameterArgumentEquivalence3.ts, 1, 7)) diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence3.types b/tests/baselines/reference/typeParameterArgumentEquivalence3.types index 723e6d3da3b64..205bb5bfa50c4 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence3.types +++ b/tests/baselines/reference/typeParameterArgumentEquivalence3.types @@ -5,32 +5,32 @@ function foo() { >foo : () => void > : ^ ^^ ^^^^^^^^^^^ - var x: (item) => T; + var x!: (item: any) => T; >x : (item: any) => T -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >item : any > : ^^^ - var y: (item) => boolean; + var y!: (item: any) => boolean; >y : (item: any) => boolean -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >item : any > : ^^^ x = y; // Should be an error >x = y : (item: any) => boolean -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : (item: any) => T -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : (item: any) => boolean -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ y = x; // Shound be an error >y = x : (item: any) => T -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : (item: any) => boolean -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : (item: any) => T -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence4.errors.txt b/tests/baselines/reference/typeParameterArgumentEquivalence4.errors.txt index 8bfde43d3cb23..8907304ee7fac 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence4.errors.txt +++ b/tests/baselines/reference/typeParameterArgumentEquivalence4.errors.txt @@ -8,8 +8,8 @@ typeParameterArgumentEquivalence4.ts(5,5): error TS2322: Type '(item: any) => U' ==== typeParameterArgumentEquivalence4.ts (2 errors) ==== function foo() { - var x: (item) => U; - var y: (item) => T; + var x!: (item: any) => U; + var y!: (item: any) => T; x = y; // Should be an error ~ !!! error TS2322: Type '(item: any) => T' is not assignable to type '(item: any) => U'. diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence4.js b/tests/baselines/reference/typeParameterArgumentEquivalence4.js index bfb17bc56f530..0796ea59b79f0 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence4.js +++ b/tests/baselines/reference/typeParameterArgumentEquivalence4.js @@ -2,8 +2,8 @@ //// [typeParameterArgumentEquivalence4.ts] function foo() { - var x: (item) => U; - var y: (item) => T; + var x!: (item: any) => U; + var y!: (item: any) => T; x = y; // Should be an error y = x; // Shound be an error } diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence4.symbols b/tests/baselines/reference/typeParameterArgumentEquivalence4.symbols index 9150933185745..affae4df91a06 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence4.symbols +++ b/tests/baselines/reference/typeParameterArgumentEquivalence4.symbols @@ -6,14 +6,14 @@ function foo() { >T : Symbol(T, Decl(typeParameterArgumentEquivalence4.ts, 0, 13)) >U : Symbol(U, Decl(typeParameterArgumentEquivalence4.ts, 0, 15)) - var x: (item) => U; + var x!: (item: any) => U; >x : Symbol(x, Decl(typeParameterArgumentEquivalence4.ts, 1, 7)) ->item : Symbol(item, Decl(typeParameterArgumentEquivalence4.ts, 1, 12)) +>item : Symbol(item, Decl(typeParameterArgumentEquivalence4.ts, 1, 13)) >U : Symbol(U, Decl(typeParameterArgumentEquivalence4.ts, 0, 15)) - var y: (item) => T; + var y!: (item: any) => T; >y : Symbol(y, Decl(typeParameterArgumentEquivalence4.ts, 2, 7)) ->item : Symbol(item, Decl(typeParameterArgumentEquivalence4.ts, 2, 12)) +>item : Symbol(item, Decl(typeParameterArgumentEquivalence4.ts, 2, 13)) >T : Symbol(T, Decl(typeParameterArgumentEquivalence4.ts, 0, 13)) x = y; // Should be an error diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence4.types b/tests/baselines/reference/typeParameterArgumentEquivalence4.types index 6550f15502c8a..7771d2c6a5ccb 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence4.types +++ b/tests/baselines/reference/typeParameterArgumentEquivalence4.types @@ -5,32 +5,32 @@ function foo() { >foo : () => void > : ^ ^^ ^^^^^^^^^^^ - var x: (item) => U; + var x!: (item: any) => U; >x : (item: any) => U -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >item : any > : ^^^ - var y: (item) => T; + var y!: (item: any) => T; >y : (item: any) => T -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >item : any > : ^^^ x = y; // Should be an error >x = y : (item: any) => T -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : (item: any) => U -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : (item: any) => T -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ y = x; // Shound be an error >y = x : (item: any) => U -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : (item: any) => T -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : (item: any) => U -> : ^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence5.errors.txt b/tests/baselines/reference/typeParameterArgumentEquivalence5.errors.txt index 3fdd5cbeb0321..adc1fc4a37d6f 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence5.errors.txt +++ b/tests/baselines/reference/typeParameterArgumentEquivalence5.errors.txt @@ -10,8 +10,8 @@ typeParameterArgumentEquivalence5.ts(5,5): error TS2322: Type '() => (item: any) ==== typeParameterArgumentEquivalence5.ts (2 errors) ==== function foo() { - var x: () => (item) => U; - var y: () => (item) => T; + var x!: () => (item: any) => U; + var y!: () => (item: any) => T; x = y; // Should be an error ~ !!! error TS2322: Type '() => (item: any) => T' is not assignable to type '() => (item: any) => U'. diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence5.js b/tests/baselines/reference/typeParameterArgumentEquivalence5.js index f978d8e476598..b1fe8b8aae72d 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence5.js +++ b/tests/baselines/reference/typeParameterArgumentEquivalence5.js @@ -2,8 +2,8 @@ //// [typeParameterArgumentEquivalence5.ts] function foo() { - var x: () => (item) => U; - var y: () => (item) => T; + var x!: () => (item: any) => U; + var y!: () => (item: any) => T; x = y; // Should be an error y = x; // Shound be an error } diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence5.symbols b/tests/baselines/reference/typeParameterArgumentEquivalence5.symbols index 4e1ae87b9ccc1..5f948940cabd2 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence5.symbols +++ b/tests/baselines/reference/typeParameterArgumentEquivalence5.symbols @@ -6,14 +6,14 @@ function foo() { >T : Symbol(T, Decl(typeParameterArgumentEquivalence5.ts, 0, 13)) >U : Symbol(U, Decl(typeParameterArgumentEquivalence5.ts, 0, 15)) - var x: () => (item) => U; + var x!: () => (item: any) => U; >x : Symbol(x, Decl(typeParameterArgumentEquivalence5.ts, 1, 7)) ->item : Symbol(item, Decl(typeParameterArgumentEquivalence5.ts, 1, 18)) +>item : Symbol(item, Decl(typeParameterArgumentEquivalence5.ts, 1, 19)) >U : Symbol(U, Decl(typeParameterArgumentEquivalence5.ts, 0, 15)) - var y: () => (item) => T; + var y!: () => (item: any) => T; >y : Symbol(y, Decl(typeParameterArgumentEquivalence5.ts, 2, 7)) ->item : Symbol(item, Decl(typeParameterArgumentEquivalence5.ts, 2, 18)) +>item : Symbol(item, Decl(typeParameterArgumentEquivalence5.ts, 2, 19)) >T : Symbol(T, Decl(typeParameterArgumentEquivalence5.ts, 0, 13)) x = y; // Should be an error diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence5.types b/tests/baselines/reference/typeParameterArgumentEquivalence5.types index fc0e28f525809..725726f673caa 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence5.types +++ b/tests/baselines/reference/typeParameterArgumentEquivalence5.types @@ -5,32 +5,32 @@ function foo() { >foo : () => void > : ^ ^^ ^^^^^^^^^^^ - var x: () => (item) => U; + var x!: () => (item: any) => U; >x : () => (item: any) => U -> : ^^^^^^ ^^^ +> : ^^^^^^ >item : any > : ^^^ - var y: () => (item) => T; + var y!: () => (item: any) => T; >y : () => (item: any) => T -> : ^^^^^^ ^^^ +> : ^^^^^^ >item : any > : ^^^ x = y; // Should be an error >x = y : () => (item: any) => T -> : ^^^^^^ ^^^ +> : ^^^^^^ >x : () => (item: any) => U -> : ^^^^^^ ^^^ +> : ^^^^^^ >y : () => (item: any) => T -> : ^^^^^^ ^^^ +> : ^^^^^^ y = x; // Shound be an error >y = x : () => (item: any) => U -> : ^^^^^^ ^^^ +> : ^^^^^^ >y : () => (item: any) => T -> : ^^^^^^ ^^^ +> : ^^^^^^ >x : () => (item: any) => U -> : ^^^^^^ ^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/typeParameterAssignmentCompat1.errors.txt b/tests/baselines/reference/typeParameterAssignmentCompat1.errors.txt index cbba70ca89e80..c52940e03ad2c 100644 --- a/tests/baselines/reference/typeParameterAssignmentCompat1.errors.txt +++ b/tests/baselines/reference/typeParameterAssignmentCompat1.errors.txt @@ -18,8 +18,8 @@ typeParameterAssignmentCompat1.ts(17,9): error TS2322: Type 'Foo' is not assi } function f(): Foo { - var x: Foo; - var y: Foo; + var x!: Foo; + var y!: Foo; x = y; // should be an error ~ !!! error TS2322: Type 'Foo' is not assignable to type 'Foo'. @@ -36,8 +36,8 @@ typeParameterAssignmentCompat1.ts(17,9): error TS2322: Type 'Foo' is not assi class C { f(): Foo { - var x: Foo; - var y: Foo; + var x!: Foo; + var y!: Foo; x = y; // should be an error ~ !!! error TS2322: Type 'Foo' is not assignable to type 'Foo'. diff --git a/tests/baselines/reference/typeParameterAssignmentCompat1.js b/tests/baselines/reference/typeParameterAssignmentCompat1.js index a356e284505f7..bba984c1e1fa4 100644 --- a/tests/baselines/reference/typeParameterAssignmentCompat1.js +++ b/tests/baselines/reference/typeParameterAssignmentCompat1.js @@ -6,16 +6,16 @@ interface Foo { } function f(): Foo { - var x: Foo; - var y: Foo; + var x!: Foo; + var y!: Foo; x = y; // should be an error return x; } class C { f(): Foo { - var x: Foo; - var y: Foo; + var x!: Foo; + var y!: Foo; x = y; // should be an error return x; } diff --git a/tests/baselines/reference/typeParameterAssignmentCompat1.symbols b/tests/baselines/reference/typeParameterAssignmentCompat1.symbols index 9042e3493dac0..7ac0befb44daa 100644 --- a/tests/baselines/reference/typeParameterAssignmentCompat1.symbols +++ b/tests/baselines/reference/typeParameterAssignmentCompat1.symbols @@ -19,12 +19,12 @@ function f(): Foo { >Foo : Symbol(Foo, Decl(typeParameterAssignmentCompat1.ts, 0, 0)) >U : Symbol(U, Decl(typeParameterAssignmentCompat1.ts, 4, 13)) - var x: Foo; + var x!: Foo; >x : Symbol(x, Decl(typeParameterAssignmentCompat1.ts, 5, 7)) >Foo : Symbol(Foo, Decl(typeParameterAssignmentCompat1.ts, 0, 0)) >T : Symbol(T, Decl(typeParameterAssignmentCompat1.ts, 4, 11)) - var y: Foo; + var y!: Foo; >y : Symbol(y, Decl(typeParameterAssignmentCompat1.ts, 6, 7)) >Foo : Symbol(Foo, Decl(typeParameterAssignmentCompat1.ts, 0, 0)) >U : Symbol(U, Decl(typeParameterAssignmentCompat1.ts, 4, 13)) @@ -47,12 +47,12 @@ class C { >Foo : Symbol(Foo, Decl(typeParameterAssignmentCompat1.ts, 0, 0)) >U : Symbol(U, Decl(typeParameterAssignmentCompat1.ts, 12, 6)) - var x: Foo; + var x!: Foo; >x : Symbol(x, Decl(typeParameterAssignmentCompat1.ts, 13, 11)) >Foo : Symbol(Foo, Decl(typeParameterAssignmentCompat1.ts, 0, 0)) >T : Symbol(T, Decl(typeParameterAssignmentCompat1.ts, 11, 8)) - var y: Foo; + var y!: Foo; >y : Symbol(y, Decl(typeParameterAssignmentCompat1.ts, 14, 11)) >Foo : Symbol(Foo, Decl(typeParameterAssignmentCompat1.ts, 0, 0)) >U : Symbol(U, Decl(typeParameterAssignmentCompat1.ts, 12, 6)) diff --git a/tests/baselines/reference/typeParameterAssignmentCompat1.types b/tests/baselines/reference/typeParameterAssignmentCompat1.types index 0b3c05aabcea7..4a970b8c46bb2 100644 --- a/tests/baselines/reference/typeParameterAssignmentCompat1.types +++ b/tests/baselines/reference/typeParameterAssignmentCompat1.types @@ -13,11 +13,11 @@ function f(): Foo { >f : () => Foo > : ^ ^^ ^^^^^^^ - var x: Foo; + var x!: Foo; >x : Foo > : ^^^^^^ - var y: Foo; + var y!: Foo; >y : Foo > : ^^^^^^ @@ -42,11 +42,11 @@ class C { >f : () => Foo > : ^ ^^^^^^^ - var x: Foo; + var x!: Foo; >x : Foo > : ^^^^^^ - var y: Foo; + var y!: Foo; >y : Foo > : ^^^^^^ diff --git a/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.errors.txt b/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.errors.txt index 11e95c8421bb7..0cbcbc35d3912 100644 --- a/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.errors.txt +++ b/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.errors.txt @@ -13,7 +13,7 @@ typeParameterConstrainedToOuterTypeParameter.ts(10,5): error TS2322: Type 'A(x: U) } - var a: A + declare var a: A; var b: B = a; // assignment should be legal (both U's get instantiated to any for comparison) ~ !!! error TS2322: Type 'A' is not assignable to type 'B'. diff --git a/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.js b/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.js index e9d733cf5f255..dc43590415aa9 100644 --- a/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.js +++ b/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.js @@ -9,9 +9,8 @@ interface B { (x: U) } -var a: A +declare var a: A; var b: B = a; // assignment should be legal (both U's get instantiated to any for comparison) //// [typeParameterConstrainedToOuterTypeParameter.js] -var a; var b = a; // assignment should be legal (both U's get instantiated to any for comparison) diff --git a/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.symbols b/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.symbols index 029ecca9f1191..4214e090b4daf 100644 --- a/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.symbols +++ b/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.symbols @@ -23,12 +23,12 @@ interface B { >U : Symbol(U, Decl(typeParameterConstrainedToOuterTypeParameter.ts, 5, 5)) } -var a: A ->a : Symbol(a, Decl(typeParameterConstrainedToOuterTypeParameter.ts, 8, 3)) +declare var a: A; +>a : Symbol(a, Decl(typeParameterConstrainedToOuterTypeParameter.ts, 8, 11)) >A : Symbol(A, Decl(typeParameterConstrainedToOuterTypeParameter.ts, 0, 0)) var b: B = a; // assignment should be legal (both U's get instantiated to any for comparison) >b : Symbol(b, Decl(typeParameterConstrainedToOuterTypeParameter.ts, 9, 3)) >B : Symbol(B, Decl(typeParameterConstrainedToOuterTypeParameter.ts, 2, 1)) ->a : Symbol(a, Decl(typeParameterConstrainedToOuterTypeParameter.ts, 8, 3)) +>a : Symbol(a, Decl(typeParameterConstrainedToOuterTypeParameter.ts, 8, 11)) diff --git a/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.types b/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.types index 9ff9b55891336..9536dfd9da740 100644 --- a/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.types +++ b/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.types @@ -13,7 +13,7 @@ interface B { > : ^ } -var a: A +declare var a: A; >a : A > : ^^^^^^^^^ diff --git a/tests/baselines/reference/typeParameterDiamond2.errors.txt b/tests/baselines/reference/typeParameterDiamond2.errors.txt index 411486bf90830..c1fa82b270038 100644 --- a/tests/baselines/reference/typeParameterDiamond2.errors.txt +++ b/tests/baselines/reference/typeParameterDiamond2.errors.txt @@ -8,9 +8,9 @@ typeParameterDiamond2.ts(10,13): error TS2322: Type 'Bottom' is not assignable t function diamondTop() { function diamondMiddle() { function diamondBottom() { - var top: Top; - var middle: T | U; - var bottom: Bottom; + var top!: Top; + var middle!: T | U; + var bottom!: Bottom; top = middle; ~~~ diff --git a/tests/baselines/reference/typeParameterDiamond2.js b/tests/baselines/reference/typeParameterDiamond2.js index 4863f45323bb3..788e86ef28153 100644 --- a/tests/baselines/reference/typeParameterDiamond2.js +++ b/tests/baselines/reference/typeParameterDiamond2.js @@ -4,9 +4,9 @@ function diamondTop() { function diamondMiddle() { function diamondBottom() { - var top: Top; - var middle: T | U; - var bottom: Bottom; + var top!: Top; + var middle!: T | U; + var bottom!: Bottom; top = middle; middle = bottom; diff --git a/tests/baselines/reference/typeParameterDiamond2.symbols b/tests/baselines/reference/typeParameterDiamond2.symbols index 361d2e2eb96a7..b754bd5fae13e 100644 --- a/tests/baselines/reference/typeParameterDiamond2.symbols +++ b/tests/baselines/reference/typeParameterDiamond2.symbols @@ -17,16 +17,16 @@ function diamondTop() { >T : Symbol(T, Decl(typeParameterDiamond2.ts, 1, 27)) >U : Symbol(U, Decl(typeParameterDiamond2.ts, 1, 41)) - var top: Top; + var top!: Top; >top : Symbol(top, Decl(typeParameterDiamond2.ts, 3, 15)) >Top : Symbol(Top, Decl(typeParameterDiamond2.ts, 0, 20)) - var middle: T | U; + var middle!: T | U; >middle : Symbol(middle, Decl(typeParameterDiamond2.ts, 4, 15)) >T : Symbol(T, Decl(typeParameterDiamond2.ts, 1, 27)) >U : Symbol(U, Decl(typeParameterDiamond2.ts, 1, 41)) - var bottom: Bottom; + var bottom!: Bottom; >bottom : Symbol(bottom, Decl(typeParameterDiamond2.ts, 5, 15)) >Bottom : Symbol(Bottom, Decl(typeParameterDiamond2.ts, 2, 31)) diff --git a/tests/baselines/reference/typeParameterDiamond2.types b/tests/baselines/reference/typeParameterDiamond2.types index edf1c60232221..563f1e9ebca8a 100644 --- a/tests/baselines/reference/typeParameterDiamond2.types +++ b/tests/baselines/reference/typeParameterDiamond2.types @@ -13,15 +13,15 @@ function diamondTop() { >diamondBottom : () => void > : ^ ^^^^^^^^^ ^^^^^^^^^^^ - var top: Top; + var top!: Top; >top : Top > : ^^^ - var middle: T | U; + var middle!: T | U; >middle : T | U > : ^^^^^ - var bottom: Bottom; + var bottom!: Bottom; >bottom : Bottom > : ^^^^^^ diff --git a/tests/baselines/reference/typeParameterDiamond3.errors.txt b/tests/baselines/reference/typeParameterDiamond3.errors.txt index 0a65c77595899..59920354f0dcf 100644 --- a/tests/baselines/reference/typeParameterDiamond3.errors.txt +++ b/tests/baselines/reference/typeParameterDiamond3.errors.txt @@ -11,9 +11,9 @@ typeParameterDiamond3.ts(10,13): error TS2322: Type 'Bottom' is not assignable t function diamondTop() { function diamondMiddle() { function diamondBottom() { - var top: Top; - var middle: T | U; - var bottom: Bottom; + var top!: Top; + var middle!: T | U; + var bottom!: Bottom; top = middle; ~~~ diff --git a/tests/baselines/reference/typeParameterDiamond3.js b/tests/baselines/reference/typeParameterDiamond3.js index 0e5c968b52d72..962862f244bbc 100644 --- a/tests/baselines/reference/typeParameterDiamond3.js +++ b/tests/baselines/reference/typeParameterDiamond3.js @@ -4,9 +4,9 @@ function diamondTop() { function diamondMiddle() { function diamondBottom() { - var top: Top; - var middle: T | U; - var bottom: Bottom; + var top!: Top; + var middle!: T | U; + var bottom!: Bottom; top = middle; middle = bottom; diff --git a/tests/baselines/reference/typeParameterDiamond3.symbols b/tests/baselines/reference/typeParameterDiamond3.symbols index 5cefe5e401e8d..5e2dae72106db 100644 --- a/tests/baselines/reference/typeParameterDiamond3.symbols +++ b/tests/baselines/reference/typeParameterDiamond3.symbols @@ -17,16 +17,16 @@ function diamondTop() { >T : Symbol(T, Decl(typeParameterDiamond3.ts, 1, 27)) >U : Symbol(U, Decl(typeParameterDiamond3.ts, 1, 29)) - var top: Top; + var top!: Top; >top : Symbol(top, Decl(typeParameterDiamond3.ts, 3, 15)) >Top : Symbol(Top, Decl(typeParameterDiamond3.ts, 0, 20)) - var middle: T | U; + var middle!: T | U; >middle : Symbol(middle, Decl(typeParameterDiamond3.ts, 4, 15)) >T : Symbol(T, Decl(typeParameterDiamond3.ts, 1, 27)) >U : Symbol(U, Decl(typeParameterDiamond3.ts, 1, 29)) - var bottom: Bottom; + var bottom!: Bottom; >bottom : Symbol(bottom, Decl(typeParameterDiamond3.ts, 5, 15)) >Bottom : Symbol(Bottom, Decl(typeParameterDiamond3.ts, 2, 31)) diff --git a/tests/baselines/reference/typeParameterDiamond3.types b/tests/baselines/reference/typeParameterDiamond3.types index b74ac85eaeda8..9da135943d79e 100644 --- a/tests/baselines/reference/typeParameterDiamond3.types +++ b/tests/baselines/reference/typeParameterDiamond3.types @@ -13,15 +13,15 @@ function diamondTop() { >diamondBottom : () => void > : ^ ^^^^^^^^^ ^^^^^^^^^^^ - var top: Top; + var top!: Top; >top : Top > : ^^^ - var middle: T | U; + var middle!: T | U; >middle : T | U > : ^^^^^ - var bottom: Bottom; + var bottom!: Bottom; >bottom : Bottom > : ^^^^^^ diff --git a/tests/baselines/reference/typeParameterDiamond4.errors.txt b/tests/baselines/reference/typeParameterDiamond4.errors.txt index 0a55ce915a378..1422a6eccfdb8 100644 --- a/tests/baselines/reference/typeParameterDiamond4.errors.txt +++ b/tests/baselines/reference/typeParameterDiamond4.errors.txt @@ -8,9 +8,9 @@ typeParameterDiamond4.ts(10,13): error TS2322: Type 'Bottom' is not assignable t function diamondTop() { function diamondMiddle() { function diamondBottom() { - var top: Top; - var middle: Top | T | U; - var bottom: Bottom; + var top!: Top; + var middle!: Top | T | U; + var bottom!: Bottom; top = middle; ~~~ diff --git a/tests/baselines/reference/typeParameterDiamond4.js b/tests/baselines/reference/typeParameterDiamond4.js index 5c210d49c1019..b09a9f99b9185 100644 --- a/tests/baselines/reference/typeParameterDiamond4.js +++ b/tests/baselines/reference/typeParameterDiamond4.js @@ -4,9 +4,9 @@ function diamondTop() { function diamondMiddle() { function diamondBottom() { - var top: Top; - var middle: Top | T | U; - var bottom: Bottom; + var top!: Top; + var middle!: Top | T | U; + var bottom!: Bottom; top = middle; middle = bottom; diff --git a/tests/baselines/reference/typeParameterDiamond4.symbols b/tests/baselines/reference/typeParameterDiamond4.symbols index bbeb02ddacd96..c309ff8da5f39 100644 --- a/tests/baselines/reference/typeParameterDiamond4.symbols +++ b/tests/baselines/reference/typeParameterDiamond4.symbols @@ -17,17 +17,17 @@ function diamondTop() { >T : Symbol(T, Decl(typeParameterDiamond4.ts, 1, 27)) >U : Symbol(U, Decl(typeParameterDiamond4.ts, 1, 29)) - var top: Top; + var top!: Top; >top : Symbol(top, Decl(typeParameterDiamond4.ts, 3, 15)) >Top : Symbol(Top, Decl(typeParameterDiamond4.ts, 0, 20)) - var middle: Top | T | U; + var middle!: Top | T | U; >middle : Symbol(middle, Decl(typeParameterDiamond4.ts, 4, 15)) >Top : Symbol(Top, Decl(typeParameterDiamond4.ts, 0, 20)) >T : Symbol(T, Decl(typeParameterDiamond4.ts, 1, 27)) >U : Symbol(U, Decl(typeParameterDiamond4.ts, 1, 29)) - var bottom: Bottom; + var bottom!: Bottom; >bottom : Symbol(bottom, Decl(typeParameterDiamond4.ts, 5, 15)) >Bottom : Symbol(Bottom, Decl(typeParameterDiamond4.ts, 2, 31)) diff --git a/tests/baselines/reference/typeParameterDiamond4.types b/tests/baselines/reference/typeParameterDiamond4.types index 154ae0312ab80..eeb8d2ce682c4 100644 --- a/tests/baselines/reference/typeParameterDiamond4.types +++ b/tests/baselines/reference/typeParameterDiamond4.types @@ -13,15 +13,15 @@ function diamondTop() { >diamondBottom : () => void > : ^ ^^^^^^^^^ ^^^^^^^^^^^ - var top: Top; + var top!: Top; >top : Top > : ^^^ - var middle: Top | T | U; + var middle!: Top | T | U; >middle : Top | T | U > : ^^^^^^^^^^^ - var bottom: Bottom; + var bottom!: Bottom; >bottom : Bottom > : ^^^^^^ diff --git a/tests/baselines/reference/typeParameterExplicitlyExtendsAny.errors.txt b/tests/baselines/reference/typeParameterExplicitlyExtendsAny.errors.txt index 72ffcb76a1610..80fbfaffc7e28 100644 --- a/tests/baselines/reference/typeParameterExplicitlyExtendsAny.errors.txt +++ b/tests/baselines/reference/typeParameterExplicitlyExtendsAny.errors.txt @@ -10,7 +10,7 @@ typeParameterExplicitlyExtendsAny.ts(30,14): error TS2339: Property 'children' d ==== typeParameterExplicitlyExtendsAny.ts (6 errors) ==== function fee() { - var t: T; + var t!: T; t.blah; // Error ~~~~ !!! error TS2339: Property 'blah' does not exist on type 'T'. @@ -18,7 +18,7 @@ typeParameterExplicitlyExtendsAny.ts(30,14): error TS2339: Property 'children' d } function fee2() { - var t: T; + var t!: T; t.blah; // ok ~~~~ !!! error TS2339: Property 'blah' does not exist on type 'T'. diff --git a/tests/baselines/reference/typeParameterExplicitlyExtendsAny.js b/tests/baselines/reference/typeParameterExplicitlyExtendsAny.js index 4123e6e9ad1a0..c61b7e56d7f61 100644 --- a/tests/baselines/reference/typeParameterExplicitlyExtendsAny.js +++ b/tests/baselines/reference/typeParameterExplicitlyExtendsAny.js @@ -2,13 +2,13 @@ //// [typeParameterExplicitlyExtendsAny.ts] function fee() { - var t: T; + var t!: T; t.blah; // Error t.toString; // ok } function fee2() { - var t: T; + var t!: T; t.blah; // ok t.toString; // ok } diff --git a/tests/baselines/reference/typeParameterExplicitlyExtendsAny.symbols b/tests/baselines/reference/typeParameterExplicitlyExtendsAny.symbols index c95e8202cc8b7..d4fa3b6188ee1 100644 --- a/tests/baselines/reference/typeParameterExplicitlyExtendsAny.symbols +++ b/tests/baselines/reference/typeParameterExplicitlyExtendsAny.symbols @@ -5,7 +5,7 @@ function fee() { >fee : Symbol(fee, Decl(typeParameterExplicitlyExtendsAny.ts, 0, 0)) >T : Symbol(T, Decl(typeParameterExplicitlyExtendsAny.ts, 0, 13)) - var t: T; + var t!: T; >t : Symbol(t, Decl(typeParameterExplicitlyExtendsAny.ts, 1, 7)) >T : Symbol(T, Decl(typeParameterExplicitlyExtendsAny.ts, 0, 13)) @@ -22,7 +22,7 @@ function fee2() { >fee2 : Symbol(fee2, Decl(typeParameterExplicitlyExtendsAny.ts, 4, 1)) >T : Symbol(T, Decl(typeParameterExplicitlyExtendsAny.ts, 6, 14)) - var t: T; + var t!: T; >t : Symbol(t, Decl(typeParameterExplicitlyExtendsAny.ts, 7, 7)) >T : Symbol(T, Decl(typeParameterExplicitlyExtendsAny.ts, 6, 14)) diff --git a/tests/baselines/reference/typeParameterExplicitlyExtendsAny.types b/tests/baselines/reference/typeParameterExplicitlyExtendsAny.types index 5d8dfdcaa1f98..267881f94f777 100644 --- a/tests/baselines/reference/typeParameterExplicitlyExtendsAny.types +++ b/tests/baselines/reference/typeParameterExplicitlyExtendsAny.types @@ -5,7 +5,7 @@ function fee() { >fee : () => void > : ^ ^^^^^^^^^^^ - var t: T; + var t!: T; >t : T > : ^ @@ -30,7 +30,7 @@ function fee2() { >fee2 : () => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - var t: T; + var t!: T; >t : T > : ^ diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.errors.txt b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.errors.txt index 85d26cfa6283e..dc127c5ec9479 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.errors.txt +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.errors.txt @@ -6,7 +6,7 @@ typeParameterFixingWithContextSensitiveArguments2.ts(7,30): error TS2741: Proper interface A { a: A; } interface B extends A { b; } - var a: A, b: B; + declare var a: A, b: B; var d = f(a, b, x => x, x => x); // A => A not assignable to A => B ~ diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.js b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.js index 1d19fc37e4f59..fd324a622c98c 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.js +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.js @@ -5,11 +5,10 @@ function f(y: T, y1: U, p: (z: U) => T, p1: (x: T) => U): [T, U] { return interface A { a: A; } interface B extends A { b; } -var a: A, b: B; +declare var a: A, b: B; var d = f(a, b, x => x, x => x); // A => A not assignable to A => B //// [typeParameterFixingWithContextSensitiveArguments2.js] function f(y, y1, p, p1) { return [y, p1(y)]; } -var a, b; var d = f(a, b, function (x) { return x; }, function (x) { return x; }); // A => A not assignable to A => B diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.symbols b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.symbols index dc9008ea3dfd1..bcb365c8a3516 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.symbols +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.symbols @@ -33,17 +33,17 @@ interface B extends A { b; } >A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 0, 93)) >b : Symbol(B.b, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 2, 23)) -var a: A, b: B; ->a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 4, 3)) +declare var a: A, b: B; +>a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 4, 11)) >A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 0, 93)) ->b : Symbol(b, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 4, 9)) +>b : Symbol(b, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 4, 17)) >B : Symbol(B, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 1, 21)) var d = f(a, b, x => x, x => x); // A => A not assignable to A => B >d : Symbol(d, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 6, 3)) >f : Symbol(f, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 0, 0)) ->a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 4, 3)) ->b : Symbol(b, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 4, 9)) +>a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 4, 11)) +>b : Symbol(b, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 4, 17)) >x : Symbol(x, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 6, 15)) >x : Symbol(x, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 6, 15)) >x : Symbol(x, Decl(typeParameterFixingWithContextSensitiveArguments2.ts, 6, 23)) diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types index 42f1ca3d701a8..de10e8879d0cd 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types @@ -35,7 +35,7 @@ interface B extends A { b; } >b : any > : ^^^ -var a: A, b: B; +declare var a: A, b: B; >a : A > : ^ >b : B diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.errors.txt b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.errors.txt index 1670671cfc2c9..3cc1181e234c8 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.errors.txt +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.errors.txt @@ -6,7 +6,7 @@ typeParameterFixingWithContextSensitiveArguments3.ts(7,35): error TS2741: Proper interface A { a: A; } interface B extends A { b: B; } - var a: A, b: B; + declare var a: A, b: B; var d = f(a, b, u2 => u2.b, t2 => t2); ~~ diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.js b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.js index ede8ce3b1706b..3d25093176322 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.js +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.js @@ -5,11 +5,10 @@ function f(t1: T, u1: U, pf1: (u2: U) => T, pf2: (t2: T) => U): [T, U] { r interface A { a: A; } interface B extends A { b: B; } -var a: A, b: B; +declare var a: A, b: B; var d = f(a, b, u2 => u2.b, t2 => t2); //// [typeParameterFixingWithContextSensitiveArguments3.js] function f(t1, u1, pf1, pf2) { return [t1, pf2(t1)]; } -var a, b; var d = f(a, b, function (u2) { return u2.b; }, function (t2) { return t2; }); diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.symbols b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.symbols index 0dd1b7ef88686..d2756a5a1511d 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.symbols +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.symbols @@ -34,17 +34,17 @@ interface B extends A { b: B; } >b : Symbol(B.b, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 2, 23)) >B : Symbol(B, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 1, 21)) -var a: A, b: B; ->a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 4, 3)) +declare var a: A, b: B; +>a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 4, 11)) >A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 0, 102)) ->b : Symbol(b, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 4, 9)) +>b : Symbol(b, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 4, 17)) >B : Symbol(B, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 1, 21)) var d = f(a, b, u2 => u2.b, t2 => t2); >d : Symbol(d, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 6, 3)) >f : Symbol(f, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 0, 0)) ->a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 4, 3)) ->b : Symbol(b, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 4, 9)) +>a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 4, 11)) +>b : Symbol(b, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 4, 17)) >u2 : Symbol(u2, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 6, 15)) >u2.b : Symbol(B.b, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 2, 23)) >u2 : Symbol(u2, Decl(typeParameterFixingWithContextSensitiveArguments3.ts, 6, 15)) diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.types b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.types index 4e538eec3f2f2..d2276cd97201e 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.types +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.types @@ -35,7 +35,7 @@ interface B extends A { b: B; } >b : B > : ^ -var a: A, b: B; +declare var a: A, b: B; >a : A > : ^ >b : B diff --git a/tests/baselines/reference/typeParameterWithInvalidConstraintType.errors.txt b/tests/baselines/reference/typeParameterWithInvalidConstraintType.errors.txt index d5fa251adcc4f..342cb732ba6ff 100644 --- a/tests/baselines/reference/typeParameterWithInvalidConstraintType.errors.txt +++ b/tests/baselines/reference/typeParameterWithInvalidConstraintType.errors.txt @@ -11,7 +11,7 @@ typeParameterWithInvalidConstraintType.ts(7,17): error TS2349: This expression i ~ !!! error TS2313: Type parameter 'T' has a circular constraint. foo() { - var x: T; + var x!: T; var a = x.foo(); ~~~ !!! error TS2339: Property 'foo' does not exist on type 'T'. diff --git a/tests/baselines/reference/typeParameterWithInvalidConstraintType.js b/tests/baselines/reference/typeParameterWithInvalidConstraintType.js index 0f28d2b742138..f7a89a4816c39 100644 --- a/tests/baselines/reference/typeParameterWithInvalidConstraintType.js +++ b/tests/baselines/reference/typeParameterWithInvalidConstraintType.js @@ -3,7 +3,7 @@ //// [typeParameterWithInvalidConstraintType.ts] class A { foo() { - var x: T; + var x!: T; var a = x.foo(); var b = new x(123); var c = x[1]; diff --git a/tests/baselines/reference/typeParameterWithInvalidConstraintType.symbols b/tests/baselines/reference/typeParameterWithInvalidConstraintType.symbols index e9684a730b59c..d05b5155e734e 100644 --- a/tests/baselines/reference/typeParameterWithInvalidConstraintType.symbols +++ b/tests/baselines/reference/typeParameterWithInvalidConstraintType.symbols @@ -9,7 +9,7 @@ class A { foo() { >foo : Symbol(A.foo, Decl(typeParameterWithInvalidConstraintType.ts, 0, 22)) - var x: T; + var x!: T; >x : Symbol(x, Decl(typeParameterWithInvalidConstraintType.ts, 2, 11)) >T : Symbol(T, Decl(typeParameterWithInvalidConstraintType.ts, 0, 8)) diff --git a/tests/baselines/reference/typeParameterWithInvalidConstraintType.types b/tests/baselines/reference/typeParameterWithInvalidConstraintType.types index 45592c10b4157..c1a47f8b2e68c 100644 --- a/tests/baselines/reference/typeParameterWithInvalidConstraintType.types +++ b/tests/baselines/reference/typeParameterWithInvalidConstraintType.types @@ -9,7 +9,7 @@ class A { >foo : () => void > : ^^^^^^^^^^ - var x: T; + var x!: T; >x : T > : ^ diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual.errors.txt b/tests/baselines/reference/typeParametersShouldNotBeEqual.errors.txt index 3241095401ef9..a90141036c136 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual.errors.txt +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual.errors.txt @@ -6,7 +6,7 @@ typeParametersShouldNotBeEqual.ts(5,5): error TS2322: Type 'Object' is not assig ==== typeParametersShouldNotBeEqual.ts (2 errors) ==== function ff(x: T, y: U) { - var z: Object; + var z!: Object; x = x; // Ok x = y; // Error ~ diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual.js b/tests/baselines/reference/typeParametersShouldNotBeEqual.js index e15aac7380087..c4ea6842486d3 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual.js +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual.js @@ -2,7 +2,7 @@ //// [typeParametersShouldNotBeEqual.ts] function ff(x: T, y: U) { - var z: Object; + var z!: Object; x = x; // Ok x = y; // Error x = z; // Error diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual.symbols b/tests/baselines/reference/typeParametersShouldNotBeEqual.symbols index 80a90740e6f30..1ab1b1d198250 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual.symbols +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual.symbols @@ -10,7 +10,7 @@ function ff(x: T, y: U) { >y : Symbol(y, Decl(typeParametersShouldNotBeEqual.ts, 0, 23)) >U : Symbol(U, Decl(typeParametersShouldNotBeEqual.ts, 0, 14)) - var z: Object; + var z!: Object; >z : Symbol(z, Decl(typeParametersShouldNotBeEqual.ts, 1, 7)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual.types b/tests/baselines/reference/typeParametersShouldNotBeEqual.types index 72d54644670df..f4a6875f02c92 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual.types +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual.types @@ -9,7 +9,7 @@ function ff(x: T, y: U) { >y : U > : ^ - var z: Object; + var z!: Object; >z : Object > : ^^^^^^ diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual2.errors.txt b/tests/baselines/reference/typeParametersShouldNotBeEqual2.errors.txt index 6f45110e9877c..08a27a16bb294 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual2.errors.txt +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual2.errors.txt @@ -14,7 +14,7 @@ typeParametersShouldNotBeEqual2.ts(9,5): error TS2322: Type 'Object' is not assi ==== typeParametersShouldNotBeEqual2.ts (6 errors) ==== function ff(x: T, y: U, z: V) { - var zz: Object; + var zz!: Object; x = x; // Ok x = y; // Ok ~ diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual2.js b/tests/baselines/reference/typeParametersShouldNotBeEqual2.js index f934be3524ef3..f71c6df7d6fc2 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual2.js +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual2.js @@ -2,7 +2,7 @@ //// [typeParametersShouldNotBeEqual2.ts] function ff(x: T, y: U, z: V) { - var zz: Object; + var zz!: Object; x = x; // Ok x = y; // Ok x = z; // Error diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual2.symbols b/tests/baselines/reference/typeParametersShouldNotBeEqual2.symbols index 08fc654f5e888..830a39b578017 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual2.symbols +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual2.symbols @@ -15,7 +15,7 @@ function ff(x: T, y: U, z: V) { >z : Symbol(z, Decl(typeParametersShouldNotBeEqual2.ts, 0, 58)) >V : Symbol(V, Decl(typeParametersShouldNotBeEqual2.ts, 0, 43)) - var zz: Object; + var zz!: Object; >zz : Symbol(zz, Decl(typeParametersShouldNotBeEqual2.ts, 1, 7)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual2.types b/tests/baselines/reference/typeParametersShouldNotBeEqual2.types index da7c03932120f..465ea7286ebe7 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual2.types +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual2.types @@ -11,7 +11,7 @@ function ff(x: T, y: U, z: V) { >z : V > : ^ - var zz: Object; + var zz!: Object; >zz : Object > : ^^^^^^ diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual3.errors.txt b/tests/baselines/reference/typeParametersShouldNotBeEqual3.errors.txt index b5e5f1a6bff9d..40f22b9ceb560 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual3.errors.txt +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual3.errors.txt @@ -7,7 +7,7 @@ typeParametersShouldNotBeEqual3.ts(5,5): error TS2322: Type 'Object' is not assi ==== typeParametersShouldNotBeEqual3.ts (2 errors) ==== function ff(x: T, y: U) { - var z: Object; + var z!: Object; x = x; // Ok x = y; // Ok ~ diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual3.js b/tests/baselines/reference/typeParametersShouldNotBeEqual3.js index ae507eac8c654..f6e4472f1f46e 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual3.js +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual3.js @@ -2,7 +2,7 @@ //// [typeParametersShouldNotBeEqual3.ts] function ff(x: T, y: U) { - var z: Object; + var z!: Object; x = x; // Ok x = y; // Ok x = z; // Ok diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual3.symbols b/tests/baselines/reference/typeParametersShouldNotBeEqual3.symbols index 98b1b97e9100e..4c5788324810e 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual3.symbols +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual3.symbols @@ -12,7 +12,7 @@ function ff(x: T, y: U) { >y : Symbol(y, Decl(typeParametersShouldNotBeEqual3.ts, 0, 53)) >U : Symbol(U, Decl(typeParametersShouldNotBeEqual3.ts, 0, 29)) - var z: Object; + var z!: Object; >z : Symbol(z, Decl(typeParametersShouldNotBeEqual3.ts, 1, 7)) >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual3.types b/tests/baselines/reference/typeParametersShouldNotBeEqual3.types index 7d9075ec04813..699e18abe22cb 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual3.types +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual3.types @@ -9,7 +9,7 @@ function ff(x: T, y: U) { >y : U > : ^ - var z: Object; + var z!: Object; >z : Object > : ^^^^^^ diff --git a/tests/baselines/reference/typeofClass.errors.txt b/tests/baselines/reference/typeofClass.errors.txt index e49465a0e71fe..157d581d26455 100644 --- a/tests/baselines/reference/typeofClass.errors.txt +++ b/tests/baselines/reference/typeofClass.errors.txt @@ -8,12 +8,12 @@ typeofClass.ts(10,4): error TS2339: Property 'foo' does not exist on type 'typeo static bar: string; } - var k1: K; + declare var k1: K; k1.foo; k1.bar; ~~~ !!! error TS2576: Property 'bar' does not exist on type 'K'. Did you mean to access the static member 'K.bar' instead? - var k2: typeof K; + declare var k2: typeof K; k2.foo; ~~~ !!! error TS2339: Property 'foo' does not exist on type 'typeof K'. diff --git a/tests/baselines/reference/typeofClass.js b/tests/baselines/reference/typeofClass.js index a688d6d03dffe..aa6aeca9c8a49 100644 --- a/tests/baselines/reference/typeofClass.js +++ b/tests/baselines/reference/typeofClass.js @@ -6,10 +6,10 @@ class K { static bar: string; } -var k1: K; +declare var k1: K; k1.foo; k1.bar; -var k2: typeof K; +declare var k2: typeof K; k2.foo; k2.bar; @@ -19,9 +19,7 @@ var K = /** @class */ (function () { } return K; }()); -var k1; k1.foo; k1.bar; -var k2; k2.foo; k2.bar; diff --git a/tests/baselines/reference/typeofClass.symbols b/tests/baselines/reference/typeofClass.symbols index ef9d49a8fa0fb..b3dbffeabf7e9 100644 --- a/tests/baselines/reference/typeofClass.symbols +++ b/tests/baselines/reference/typeofClass.symbols @@ -11,27 +11,27 @@ class K { >bar : Symbol(K.bar, Decl(typeofClass.ts, 1, 16)) } -var k1: K; ->k1 : Symbol(k1, Decl(typeofClass.ts, 5, 3)) +declare var k1: K; +>k1 : Symbol(k1, Decl(typeofClass.ts, 5, 11)) >K : Symbol(K, Decl(typeofClass.ts, 0, 0)) k1.foo; >k1.foo : Symbol(K.foo, Decl(typeofClass.ts, 0, 9)) ->k1 : Symbol(k1, Decl(typeofClass.ts, 5, 3)) +>k1 : Symbol(k1, Decl(typeofClass.ts, 5, 11)) >foo : Symbol(K.foo, Decl(typeofClass.ts, 0, 9)) k1.bar; ->k1 : Symbol(k1, Decl(typeofClass.ts, 5, 3)) +>k1 : Symbol(k1, Decl(typeofClass.ts, 5, 11)) -var k2: typeof K; ->k2 : Symbol(k2, Decl(typeofClass.ts, 8, 3)) +declare var k2: typeof K; +>k2 : Symbol(k2, Decl(typeofClass.ts, 8, 11)) >K : Symbol(K, Decl(typeofClass.ts, 0, 0)) k2.foo; ->k2 : Symbol(k2, Decl(typeofClass.ts, 8, 3)) +>k2 : Symbol(k2, Decl(typeofClass.ts, 8, 11)) k2.bar; >k2.bar : Symbol(K.bar, Decl(typeofClass.ts, 1, 16)) ->k2 : Symbol(k2, Decl(typeofClass.ts, 8, 3)) +>k2 : Symbol(k2, Decl(typeofClass.ts, 8, 11)) >bar : Symbol(K.bar, Decl(typeofClass.ts, 1, 16)) diff --git a/tests/baselines/reference/typeofClass.types b/tests/baselines/reference/typeofClass.types index 8c678d20c2526..5bd67fd178b5d 100644 --- a/tests/baselines/reference/typeofClass.types +++ b/tests/baselines/reference/typeofClass.types @@ -14,7 +14,7 @@ class K { > : ^^^^^^ } -var k1: K; +declare var k1: K; >k1 : K > : ^ @@ -34,7 +34,7 @@ k1.bar; >bar : any > : ^^^ -var k2: typeof K; +declare var k2: typeof K; >k2 : typeof K > : ^^^^^^^^ >K : typeof K diff --git a/tests/baselines/reference/typeofOperatorWithAnyOtherType.errors.txt b/tests/baselines/reference/typeofOperatorWithAnyOtherType.errors.txt index 4ff9a46c50111..811a2b1c8e1ca 100644 --- a/tests/baselines/reference/typeofOperatorWithAnyOtherType.errors.txt +++ b/tests/baselines/reference/typeofOperatorWithAnyOtherType.errors.txt @@ -7,25 +7,25 @@ typeofOperatorWithAnyOtherType.ts(58,1): error TS2695: Left side of comma operat ==== typeofOperatorWithAnyOtherType.ts (4 errors) ==== // typeof operator on any type - var ANY: any; - var ANY1; + declare var ANY: any; + declare var ANY1; var ANY2: any[] = ["", ""]; - var obj: () => {} + declare var obj: () => {}; var obj1 = { x: "a", y: () => { }}; function foo(): any { - var a; + var a!: any; return a; } class A { public a: any; static foo() { - var a; + var a!: any; return a; } } namespace M { - export var n: any; + export var n!: any; } var objA = new A(); @@ -77,9 +77,9 @@ typeofOperatorWithAnyOtherType.ts(58,1): error TS2695: Left side of comma operat typeof M.n; // use typeof in type query - var z: any; - var x: any[]; - var r: () => any; + var z!: any; + var x!: any[]; + var r!: () => any; z: typeof ANY; x: typeof ANY2; r: typeof foo; diff --git a/tests/baselines/reference/typeofOperatorWithAnyOtherType.js b/tests/baselines/reference/typeofOperatorWithAnyOtherType.js index 43be56aa759b5..7a67a47959b49 100644 --- a/tests/baselines/reference/typeofOperatorWithAnyOtherType.js +++ b/tests/baselines/reference/typeofOperatorWithAnyOtherType.js @@ -3,25 +3,25 @@ //// [typeofOperatorWithAnyOtherType.ts] // typeof operator on any type -var ANY: any; -var ANY1; +declare var ANY: any; +declare var ANY1; var ANY2: any[] = ["", ""]; -var obj: () => {} +declare var obj: () => {}; var obj1 = { x: "a", y: () => { }}; function foo(): any { - var a; + var a!: any; return a; } class A { public a: any; static foo() { - var a; + var a!: any; return a; } } namespace M { - export var n: any; + export var n!: any; } var objA = new A(); @@ -65,9 +65,9 @@ typeof objA.a; typeof M.n; // use typeof in type query -var z: any; -var x: any[]; -var r: () => any; +var z!: any; +var x!: any[]; +var r!: () => any; z: typeof ANY; x: typeof ANY2; r: typeof foo; @@ -78,10 +78,7 @@ z: typeof obj1.x; //// [typeofOperatorWithAnyOtherType.js] // typeof operator on any type -var ANY; -var ANY1; var ANY2 = ["", ""]; -var obj; var obj1 = { x: "a", y: function () { } }; function foo() { var a; diff --git a/tests/baselines/reference/typeofOperatorWithAnyOtherType.symbols b/tests/baselines/reference/typeofOperatorWithAnyOtherType.symbols index 7eacc9ce48e73..b6b6422fd567e 100644 --- a/tests/baselines/reference/typeofOperatorWithAnyOtherType.symbols +++ b/tests/baselines/reference/typeofOperatorWithAnyOtherType.symbols @@ -3,17 +3,17 @@ === typeofOperatorWithAnyOtherType.ts === // typeof operator on any type -var ANY: any; ->ANY : Symbol(ANY, Decl(typeofOperatorWithAnyOtherType.ts, 2, 3)) +declare var ANY: any; +>ANY : Symbol(ANY, Decl(typeofOperatorWithAnyOtherType.ts, 2, 11)) -var ANY1; ->ANY1 : Symbol(ANY1, Decl(typeofOperatorWithAnyOtherType.ts, 3, 3)) +declare var ANY1; +>ANY1 : Symbol(ANY1, Decl(typeofOperatorWithAnyOtherType.ts, 3, 11)) var ANY2: any[] = ["", ""]; >ANY2 : Symbol(ANY2, Decl(typeofOperatorWithAnyOtherType.ts, 4, 3)) -var obj: () => {} ->obj : Symbol(obj, Decl(typeofOperatorWithAnyOtherType.ts, 5, 3)) +declare var obj: () => {}; +>obj : Symbol(obj, Decl(typeofOperatorWithAnyOtherType.ts, 5, 11)) var obj1 = { x: "a", y: () => { }}; >obj1 : Symbol(obj1, Decl(typeofOperatorWithAnyOtherType.ts, 6, 3)) @@ -23,7 +23,7 @@ var obj1 = { x: "a", y: () => { }}; function foo(): any { >foo : Symbol(foo, Decl(typeofOperatorWithAnyOtherType.ts, 6, 35)) - var a; + var a!: any; >a : Symbol(a, Decl(typeofOperatorWithAnyOtherType.ts, 9, 7)) return a; @@ -38,7 +38,7 @@ class A { static foo() { >foo : Symbol(A.foo, Decl(typeofOperatorWithAnyOtherType.ts, 13, 18)) - var a; + var a!: any; >a : Symbol(a, Decl(typeofOperatorWithAnyOtherType.ts, 15, 11)) return a; @@ -48,7 +48,7 @@ class A { namespace M { >M : Symbol(M, Decl(typeofOperatorWithAnyOtherType.ts, 18, 1)) - export var n: any; + export var n!: any; >n : Symbol(n, Decl(typeofOperatorWithAnyOtherType.ts, 20, 14)) } var objA = new A(); @@ -58,7 +58,7 @@ var objA = new A(); // any type var var ResultIsString1 = typeof ANY1; >ResultIsString1 : Symbol(ResultIsString1, Decl(typeofOperatorWithAnyOtherType.ts, 25, 3)) ->ANY1 : Symbol(ANY1, Decl(typeofOperatorWithAnyOtherType.ts, 3, 3)) +>ANY1 : Symbol(ANY1, Decl(typeofOperatorWithAnyOtherType.ts, 3, 11)) var ResultIsString2 = typeof ANY2; >ResultIsString2 : Symbol(ResultIsString2, Decl(typeofOperatorWithAnyOtherType.ts, 26, 3)) @@ -74,7 +74,7 @@ var ResultIsString4 = typeof M; var ResultIsString5 = typeof obj; >ResultIsString5 : Symbol(ResultIsString5, Decl(typeofOperatorWithAnyOtherType.ts, 29, 3)) ->obj : Symbol(obj, Decl(typeofOperatorWithAnyOtherType.ts, 5, 3)) +>obj : Symbol(obj, Decl(typeofOperatorWithAnyOtherType.ts, 5, 11)) var ResultIsString6 = typeof obj1; >ResultIsString6 : Symbol(ResultIsString6, Decl(typeofOperatorWithAnyOtherType.ts, 30, 3)) @@ -126,8 +126,8 @@ var ResultIsString15 = typeof A.foo(); var ResultIsString16 = typeof (ANY + ANY1); >ResultIsString16 : Symbol(ResultIsString16, Decl(typeofOperatorWithAnyOtherType.ts, 44, 3)) ->ANY : Symbol(ANY, Decl(typeofOperatorWithAnyOtherType.ts, 2, 3)) ->ANY1 : Symbol(ANY1, Decl(typeofOperatorWithAnyOtherType.ts, 3, 3)) +>ANY : Symbol(ANY, Decl(typeofOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(typeofOperatorWithAnyOtherType.ts, 3, 11)) var ResultIsString17 = typeof (null + undefined); >ResultIsString17 : Symbol(ResultIsString17, Decl(typeofOperatorWithAnyOtherType.ts, 45, 3)) @@ -144,26 +144,26 @@ var ResultIsString19 = typeof (undefined + undefined); // multiple typeof operators var ResultIsString20 = typeof typeof ANY; >ResultIsString20 : Symbol(ResultIsString20, Decl(typeofOperatorWithAnyOtherType.ts, 50, 3)) ->ANY : Symbol(ANY, Decl(typeofOperatorWithAnyOtherType.ts, 2, 3)) +>ANY : Symbol(ANY, Decl(typeofOperatorWithAnyOtherType.ts, 2, 11)) var ResultIsString21 = typeof typeof typeof (ANY + ANY1); >ResultIsString21 : Symbol(ResultIsString21, Decl(typeofOperatorWithAnyOtherType.ts, 51, 3)) ->ANY : Symbol(ANY, Decl(typeofOperatorWithAnyOtherType.ts, 2, 3)) ->ANY1 : Symbol(ANY1, Decl(typeofOperatorWithAnyOtherType.ts, 3, 3)) +>ANY : Symbol(ANY, Decl(typeofOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(typeofOperatorWithAnyOtherType.ts, 3, 11)) // miss assignment operators typeof ANY; ->ANY : Symbol(ANY, Decl(typeofOperatorWithAnyOtherType.ts, 2, 3)) +>ANY : Symbol(ANY, Decl(typeofOperatorWithAnyOtherType.ts, 2, 11)) typeof ANY1; ->ANY1 : Symbol(ANY1, Decl(typeofOperatorWithAnyOtherType.ts, 3, 3)) +>ANY1 : Symbol(ANY1, Decl(typeofOperatorWithAnyOtherType.ts, 3, 11)) typeof ANY2[0]; >ANY2 : Symbol(ANY2, Decl(typeofOperatorWithAnyOtherType.ts, 4, 3)) typeof ANY, ANY1; ->ANY : Symbol(ANY, Decl(typeofOperatorWithAnyOtherType.ts, 2, 3)) ->ANY1 : Symbol(ANY1, Decl(typeofOperatorWithAnyOtherType.ts, 3, 3)) +>ANY : Symbol(ANY, Decl(typeofOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(typeofOperatorWithAnyOtherType.ts, 3, 11)) typeof obj1; >obj1 : Symbol(obj1, Decl(typeofOperatorWithAnyOtherType.ts, 6, 3)) @@ -184,17 +184,17 @@ typeof M.n; >n : Symbol(M.n, Decl(typeofOperatorWithAnyOtherType.ts, 20, 14)) // use typeof in type query -var z: any; +var z!: any; >z : Symbol(z, Decl(typeofOperatorWithAnyOtherType.ts, 64, 3)) -var x: any[]; +var x!: any[]; >x : Symbol(x, Decl(typeofOperatorWithAnyOtherType.ts, 65, 3)) -var r: () => any; +var r!: () => any; >r : Symbol(r, Decl(typeofOperatorWithAnyOtherType.ts, 66, 3)) z: typeof ANY; ->ANY : Symbol(ANY, Decl(typeofOperatorWithAnyOtherType.ts, 2, 3)) +>ANY : Symbol(ANY, Decl(typeofOperatorWithAnyOtherType.ts, 2, 11)) x: typeof ANY2; >ANY2 : Symbol(ANY2, Decl(typeofOperatorWithAnyOtherType.ts, 4, 3)) diff --git a/tests/baselines/reference/typeofOperatorWithAnyOtherType.types b/tests/baselines/reference/typeofOperatorWithAnyOtherType.types index 76059fda5ea20..10560f48e6844 100644 --- a/tests/baselines/reference/typeofOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/typeofOperatorWithAnyOtherType.types @@ -3,11 +3,11 @@ === typeofOperatorWithAnyOtherType.ts === // typeof operator on any type -var ANY: any; +declare var ANY: any; >ANY : any > : ^^^ -var ANY1; +declare var ANY1; >ANY1 : any > : ^^^ @@ -21,7 +21,7 @@ var ANY2: any[] = ["", ""]; >"" : "" > : ^^ -var obj: () => {} +declare var obj: () => {}; >obj : () => {} > : ^^^^^^ @@ -43,7 +43,7 @@ function foo(): any { >foo : () => any > : ^^^^^^ - var a; + var a!: any; >a : any > : ^^^ @@ -63,7 +63,7 @@ class A { >foo : () => any > : ^^^^^^^^^ - var a; + var a!: any; >a : any > : ^^^ @@ -76,7 +76,7 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: any; + export var n!: any; >n : any > : ^^^ } @@ -382,15 +382,15 @@ typeof M.n; > : ^^^ // use typeof in type query -var z: any; +var z!: any; >z : any > : ^^^ -var x: any[]; +var x!: any[]; >x : any[] > : ^^^^^ -var r: () => any; +var r!: () => any; >r : () => any > : ^^^^^^ diff --git a/tests/baselines/reference/typeofOperatorWithBooleanType.errors.txt b/tests/baselines/reference/typeofOperatorWithBooleanType.errors.txt index ef9d0afab04ca..427396d238af5 100644 --- a/tests/baselines/reference/typeofOperatorWithBooleanType.errors.txt +++ b/tests/baselines/reference/typeofOperatorWithBooleanType.errors.txt @@ -3,7 +3,7 @@ typeofOperatorWithBooleanType.ts(36,1): error TS2695: Left side of comma operato ==== typeofOperatorWithBooleanType.ts (1 errors) ==== // typeof operator on boolean type - var BOOLEAN: boolean; + declare var BOOLEAN: boolean; function foo(): boolean { return true; } @@ -12,7 +12,7 @@ typeofOperatorWithBooleanType.ts(36,1): error TS2695: Left side of comma operato static foo() { return false; } } namespace M { - export var n: boolean; + export var n!: boolean; } var objA = new A(); @@ -44,9 +44,9 @@ typeofOperatorWithBooleanType.ts(36,1): error TS2695: Left side of comma operato typeof M.n; // use typeof in type query - var z: boolean; - var x: boolean[]; - var r: () => boolean; + declare var z: boolean; + declare var x: boolean[]; + declare var r: () => boolean; z: typeof BOOLEAN; r: typeof foo; var y = { a: true, b: false}; diff --git a/tests/baselines/reference/typeofOperatorWithBooleanType.js b/tests/baselines/reference/typeofOperatorWithBooleanType.js index 01766d4d3487c..a4f9f05a176ee 100644 --- a/tests/baselines/reference/typeofOperatorWithBooleanType.js +++ b/tests/baselines/reference/typeofOperatorWithBooleanType.js @@ -2,7 +2,7 @@ //// [typeofOperatorWithBooleanType.ts] // typeof operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; function foo(): boolean { return true; } @@ -11,7 +11,7 @@ class A { static foo() { return false; } } namespace M { - export var n: boolean; + export var n!: boolean; } var objA = new A(); @@ -41,9 +41,9 @@ typeof objA.a; typeof M.n; // use typeof in type query -var z: boolean; -var x: boolean[]; -var r: () => boolean; +declare var z: boolean; +declare var x: boolean[]; +declare var r: () => boolean; z: typeof BOOLEAN; r: typeof foo; var y = { a: true, b: false}; @@ -53,8 +53,6 @@ z: typeof A.foo; z: typeof M.n; //// [typeofOperatorWithBooleanType.js] -// typeof operator on boolean type -var BOOLEAN; function foo() { return true; } var A = /** @class */ (function () { function A() { @@ -85,10 +83,6 @@ typeof foo(); typeof true, false; typeof objA.a; typeof M.n; -// use typeof in type query -var z; -var x; -var r; z: typeof BOOLEAN; r: typeof foo; var y = { a: true, b: false }; diff --git a/tests/baselines/reference/typeofOperatorWithBooleanType.symbols b/tests/baselines/reference/typeofOperatorWithBooleanType.symbols index bfd6d4c5fe0c9..b02139ba983ff 100644 --- a/tests/baselines/reference/typeofOperatorWithBooleanType.symbols +++ b/tests/baselines/reference/typeofOperatorWithBooleanType.symbols @@ -2,11 +2,11 @@ === typeofOperatorWithBooleanType.ts === // typeof operator on boolean type -var BOOLEAN: boolean; ->BOOLEAN : Symbol(BOOLEAN, Decl(typeofOperatorWithBooleanType.ts, 1, 3)) +declare var BOOLEAN: boolean; +>BOOLEAN : Symbol(BOOLEAN, Decl(typeofOperatorWithBooleanType.ts, 1, 11)) function foo(): boolean { return true; } ->foo : Symbol(foo, Decl(typeofOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(typeofOperatorWithBooleanType.ts, 1, 29)) class A { >A : Symbol(A, Decl(typeofOperatorWithBooleanType.ts, 3, 40)) @@ -20,7 +20,7 @@ class A { namespace M { >M : Symbol(M, Decl(typeofOperatorWithBooleanType.ts, 8, 1)) - export var n: boolean; + export var n!: boolean; >n : Symbol(n, Decl(typeofOperatorWithBooleanType.ts, 10, 14)) } @@ -31,7 +31,7 @@ var objA = new A(); // boolean type var var ResultIsString1 = typeof BOOLEAN; >ResultIsString1 : Symbol(ResultIsString1, Decl(typeofOperatorWithBooleanType.ts, 16, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(typeofOperatorWithBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(typeofOperatorWithBooleanType.ts, 1, 11)) // boolean type literal var ResultIsString2 = typeof true; @@ -57,7 +57,7 @@ var ResultIsString5 = typeof M.n; var ResultIsString6 = typeof foo(); >ResultIsString6 : Symbol(ResultIsString6, Decl(typeofOperatorWithBooleanType.ts, 25, 3)) ->foo : Symbol(foo, Decl(typeofOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(typeofOperatorWithBooleanType.ts, 1, 29)) var ResultIsString7 = typeof A.foo(); >ResultIsString7 : Symbol(ResultIsString7, Decl(typeofOperatorWithBooleanType.ts, 26, 3)) @@ -68,15 +68,15 @@ var ResultIsString7 = typeof A.foo(); // multiple typeof operator var ResultIsString8 = typeof typeof BOOLEAN; >ResultIsString8 : Symbol(ResultIsString8, Decl(typeofOperatorWithBooleanType.ts, 29, 3)) ->BOOLEAN : Symbol(BOOLEAN, Decl(typeofOperatorWithBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(typeofOperatorWithBooleanType.ts, 1, 11)) // miss assignment operators typeof true; typeof BOOLEAN; ->BOOLEAN : Symbol(BOOLEAN, Decl(typeofOperatorWithBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(typeofOperatorWithBooleanType.ts, 1, 11)) typeof foo(); ->foo : Symbol(foo, Decl(typeofOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(typeofOperatorWithBooleanType.ts, 1, 29)) typeof true, false; typeof objA.a; @@ -90,20 +90,20 @@ typeof M.n; >n : Symbol(M.n, Decl(typeofOperatorWithBooleanType.ts, 10, 14)) // use typeof in type query -var z: boolean; ->z : Symbol(z, Decl(typeofOperatorWithBooleanType.ts, 40, 3)) +declare var z: boolean; +>z : Symbol(z, Decl(typeofOperatorWithBooleanType.ts, 40, 11)) -var x: boolean[]; ->x : Symbol(x, Decl(typeofOperatorWithBooleanType.ts, 41, 3)) +declare var x: boolean[]; +>x : Symbol(x, Decl(typeofOperatorWithBooleanType.ts, 41, 11)) -var r: () => boolean; ->r : Symbol(r, Decl(typeofOperatorWithBooleanType.ts, 42, 3)) +declare var r: () => boolean; +>r : Symbol(r, Decl(typeofOperatorWithBooleanType.ts, 42, 11)) z: typeof BOOLEAN; ->BOOLEAN : Symbol(BOOLEAN, Decl(typeofOperatorWithBooleanType.ts, 1, 3)) +>BOOLEAN : Symbol(BOOLEAN, Decl(typeofOperatorWithBooleanType.ts, 1, 11)) r: typeof foo; ->foo : Symbol(foo, Decl(typeofOperatorWithBooleanType.ts, 1, 21)) +>foo : Symbol(foo, Decl(typeofOperatorWithBooleanType.ts, 1, 29)) var y = { a: true, b: false}; >y : Symbol(y, Decl(typeofOperatorWithBooleanType.ts, 45, 3)) diff --git a/tests/baselines/reference/typeofOperatorWithBooleanType.types b/tests/baselines/reference/typeofOperatorWithBooleanType.types index a5a0e80d6504b..da8108764b6e2 100644 --- a/tests/baselines/reference/typeofOperatorWithBooleanType.types +++ b/tests/baselines/reference/typeofOperatorWithBooleanType.types @@ -2,7 +2,7 @@ === typeofOperatorWithBooleanType.ts === // typeof operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; >BOOLEAN : boolean > : ^^^^^^^ @@ -30,7 +30,7 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: boolean; + export var n!: boolean; >n : boolean > : ^^^^^^^ } @@ -189,15 +189,15 @@ typeof M.n; > : ^^^^^^^ // use typeof in type query -var z: boolean; +declare var z: boolean; >z : boolean > : ^^^^^^^ -var x: boolean[]; +declare var x: boolean[]; >x : boolean[] > : ^^^^^^^^^ -var r: () => boolean; +declare var r: () => boolean; >r : () => boolean > : ^^^^^^ diff --git a/tests/baselines/reference/typeofOperatorWithNumberType.errors.txt b/tests/baselines/reference/typeofOperatorWithNumberType.errors.txt index d5e872341d8d8..834a4df423a0a 100644 --- a/tests/baselines/reference/typeofOperatorWithNumberType.errors.txt +++ b/tests/baselines/reference/typeofOperatorWithNumberType.errors.txt @@ -3,7 +3,7 @@ typeofOperatorWithNumberType.ts(45,1): error TS2695: Left side of comma operator ==== typeofOperatorWithNumberType.ts (1 errors) ==== // typeof operator on number type - var NUMBER: number; + declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } @@ -13,7 +13,7 @@ typeofOperatorWithNumberType.ts(45,1): error TS2695: Left side of comma operator static foo() { return 1; } } namespace M { - export var n: number; + export var n!: number; } var objA = new A(); @@ -51,8 +51,9 @@ typeofOperatorWithNumberType.ts(45,1): error TS2695: Left side of comma operator !!! error TS2695: Left side of comma operator is unused and has no side effects. // use typeof in type query - var z: number; - var x: number[]; + declare var z: number; + declare var x: number[]; + declare var r: () => number; z: typeof NUMBER; x: typeof NUMBER1; r: typeof foo; diff --git a/tests/baselines/reference/typeofOperatorWithNumberType.js b/tests/baselines/reference/typeofOperatorWithNumberType.js index 7ceb527dd0d30..ddecf27d9cd2b 100644 --- a/tests/baselines/reference/typeofOperatorWithNumberType.js +++ b/tests/baselines/reference/typeofOperatorWithNumberType.js @@ -2,7 +2,7 @@ //// [typeofOperatorWithNumberType.ts] // typeof operator on number type -var NUMBER: number; +declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } @@ -12,7 +12,7 @@ class A { static foo() { return 1; } } namespace M { - export var n: number; + export var n!: number; } var objA = new A(); @@ -48,8 +48,9 @@ typeof M.n; typeof objA.a, M.n; // use typeof in type query -var z: number; -var x: number[]; +declare var z: number; +declare var x: number[]; +declare var r: () => number; z: typeof NUMBER; x: typeof NUMBER1; r: typeof foo; @@ -60,8 +61,6 @@ z: typeof A.foo; z: typeof M.n; //// [typeofOperatorWithNumberType.js] -// typeof operator on number type -var NUMBER; var NUMBER1 = [1, 2]; function foo() { return 1; } var A = /** @class */ (function () { @@ -99,9 +98,6 @@ typeof foo(); typeof objA.a; typeof M.n; typeof objA.a, M.n; -// use typeof in type query -var z; -var x; z: typeof NUMBER; x: typeof NUMBER1; r: typeof foo; diff --git a/tests/baselines/reference/typeofOperatorWithNumberType.symbols b/tests/baselines/reference/typeofOperatorWithNumberType.symbols index e9f80d00de00d..0505c2b6225fb 100644 --- a/tests/baselines/reference/typeofOperatorWithNumberType.symbols +++ b/tests/baselines/reference/typeofOperatorWithNumberType.symbols @@ -2,8 +2,8 @@ === typeofOperatorWithNumberType.ts === // typeof operator on number type -var NUMBER: number; ->NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 3)) +declare var NUMBER: number; +>NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 11)) var NUMBER1: number[] = [1, 2]; >NUMBER1 : Symbol(NUMBER1, Decl(typeofOperatorWithNumberType.ts, 2, 3)) @@ -23,7 +23,7 @@ class A { namespace M { >M : Symbol(M, Decl(typeofOperatorWithNumberType.ts, 9, 1)) - export var n: number; + export var n!: number; >n : Symbol(n, Decl(typeofOperatorWithNumberType.ts, 11, 14)) } @@ -34,7 +34,7 @@ var objA = new A(); // number type var var ResultIsString1 = typeof NUMBER; >ResultIsString1 : Symbol(ResultIsString1, Decl(typeofOperatorWithNumberType.ts, 17, 3)) ->NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 11)) var ResultIsString2 = typeof NUMBER1; >ResultIsString2 : Symbol(ResultIsString2, Decl(typeofOperatorWithNumberType.ts, 18, 3)) @@ -85,23 +85,23 @@ var ResultIsString10 = typeof A.foo(); var ResultIsString11 = typeof (NUMBER + NUMBER); >ResultIsString11 : Symbol(ResultIsString11, Decl(typeofOperatorWithNumberType.ts, 31, 3)) ->NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 3)) ->NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 11)) +>NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 11)) // multiple typeof operators var ResultIsString12 = typeof typeof NUMBER; >ResultIsString12 : Symbol(ResultIsString12, Decl(typeofOperatorWithNumberType.ts, 34, 3)) ->NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 11)) var ResultIsString13 = typeof typeof typeof (NUMBER + NUMBER); >ResultIsString13 : Symbol(ResultIsString13, Decl(typeofOperatorWithNumberType.ts, 35, 3)) ->NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 3)) ->NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 11)) +>NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 11)) // miss assignment operators typeof 1; typeof NUMBER; ->NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 11)) typeof NUMBER1; >NUMBER1 : Symbol(NUMBER1, Decl(typeofOperatorWithNumberType.ts, 2, 3)) @@ -128,14 +128,17 @@ typeof objA.a, M.n; >n : Symbol(M.n, Decl(typeofOperatorWithNumberType.ts, 11, 14)) // use typeof in type query -var z: number; ->z : Symbol(z, Decl(typeofOperatorWithNumberType.ts, 47, 3)) +declare var z: number; +>z : Symbol(z, Decl(typeofOperatorWithNumberType.ts, 47, 11)) -var x: number[]; ->x : Symbol(x, Decl(typeofOperatorWithNumberType.ts, 48, 3)) +declare var x: number[]; +>x : Symbol(x, Decl(typeofOperatorWithNumberType.ts, 48, 11)) + +declare var r: () => number; +>r : Symbol(r, Decl(typeofOperatorWithNumberType.ts, 49, 11)) z: typeof NUMBER; ->NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 3)) +>NUMBER : Symbol(NUMBER, Decl(typeofOperatorWithNumberType.ts, 1, 11)) x: typeof NUMBER1; >NUMBER1 : Symbol(NUMBER1, Decl(typeofOperatorWithNumberType.ts, 2, 3)) @@ -144,14 +147,14 @@ r: typeof foo; >foo : Symbol(foo, Decl(typeofOperatorWithNumberType.ts, 2, 31)) var y = { a: 1, b: 2 }; ->y : Symbol(y, Decl(typeofOperatorWithNumberType.ts, 52, 3)) ->a : Symbol(a, Decl(typeofOperatorWithNumberType.ts, 52, 9)) ->b : Symbol(b, Decl(typeofOperatorWithNumberType.ts, 52, 15)) +>y : Symbol(y, Decl(typeofOperatorWithNumberType.ts, 53, 3)) +>a : Symbol(a, Decl(typeofOperatorWithNumberType.ts, 53, 9)) +>b : Symbol(b, Decl(typeofOperatorWithNumberType.ts, 53, 15)) z: typeof y.a; ->y.a : Symbol(a, Decl(typeofOperatorWithNumberType.ts, 52, 9)) ->y : Symbol(y, Decl(typeofOperatorWithNumberType.ts, 52, 3)) ->a : Symbol(a, Decl(typeofOperatorWithNumberType.ts, 52, 9)) +>y.a : Symbol(a, Decl(typeofOperatorWithNumberType.ts, 53, 9)) +>y : Symbol(y, Decl(typeofOperatorWithNumberType.ts, 53, 3)) +>a : Symbol(a, Decl(typeofOperatorWithNumberType.ts, 53, 9)) z: typeof objA.a; >objA.a : Symbol(A.a, Decl(typeofOperatorWithNumberType.ts, 6, 9)) diff --git a/tests/baselines/reference/typeofOperatorWithNumberType.types b/tests/baselines/reference/typeofOperatorWithNumberType.types index 70dc7b60b4707..fd8ad494b5afd 100644 --- a/tests/baselines/reference/typeofOperatorWithNumberType.types +++ b/tests/baselines/reference/typeofOperatorWithNumberType.types @@ -2,7 +2,7 @@ === typeofOperatorWithNumberType.ts === // typeof operator on number type -var NUMBER: number; +declare var NUMBER: number; >NUMBER : number > : ^^^^^^ @@ -40,7 +40,7 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: number; + export var n!: number; >n : number > : ^^^^^^ } @@ -285,14 +285,18 @@ typeof objA.a, M.n; > : ^^^^^^ // use typeof in type query -var z: number; +declare var z: number; >z : number > : ^^^^^^ -var x: number[]; +declare var x: number[]; >x : number[] > : ^^^^^^^^ +declare var r: () => number; +>r : () => number +> : ^^^^^^ + z: typeof NUMBER; >z : any > : ^^^ diff --git a/tests/baselines/reference/typeofOperatorWithStringType.errors.txt b/tests/baselines/reference/typeofOperatorWithStringType.errors.txt index 68a51040a9853..24318020ff473 100644 --- a/tests/baselines/reference/typeofOperatorWithStringType.errors.txt +++ b/tests/baselines/reference/typeofOperatorWithStringType.errors.txt @@ -3,7 +3,7 @@ typeofOperatorWithStringType.ts(44,1): error TS2695: Left side of comma operator ==== typeofOperatorWithStringType.ts (1 errors) ==== // typeof operator on string type - var STRING: string; + declare var STRING: string; var STRING1: string[] = ["", "abc"]; function foo(): string { return "abc"; } @@ -13,7 +13,7 @@ typeofOperatorWithStringType.ts(44,1): error TS2695: Left side of comma operator static foo() { return ""; } } namespace M { - export var n: string; + export var n!: string; } var objA = new A(); @@ -50,9 +50,9 @@ typeofOperatorWithStringType.ts(44,1): error TS2695: Left side of comma operator !!! error TS2695: Left side of comma operator is unused and has no side effects. // use typeof in type query - var z: string; - var x: string[]; - var r: () => string; + declare var z: string; + declare var x: string[]; + declare var r: () => string; z: typeof STRING; x: typeof STRING1; r: typeof foo; diff --git a/tests/baselines/reference/typeofOperatorWithStringType.js b/tests/baselines/reference/typeofOperatorWithStringType.js index 2d350ea926f6a..9f911abf1129e 100644 --- a/tests/baselines/reference/typeofOperatorWithStringType.js +++ b/tests/baselines/reference/typeofOperatorWithStringType.js @@ -2,7 +2,7 @@ //// [typeofOperatorWithStringType.ts] // typeof operator on string type -var STRING: string; +declare var STRING: string; var STRING1: string[] = ["", "abc"]; function foo(): string { return "abc"; } @@ -12,7 +12,7 @@ class A { static foo() { return ""; } } namespace M { - export var n: string; + export var n!: string; } var objA = new A(); @@ -47,9 +47,9 @@ typeof foo(); typeof objA.a, M.n; // use typeof in type query -var z: string; -var x: string[]; -var r: () => string; +declare var z: string; +declare var x: string[]; +declare var r: () => string; z: typeof STRING; x: typeof STRING1; r: typeof foo; @@ -60,8 +60,6 @@ z: typeof A.foo; z: typeof M.n; //// [typeofOperatorWithStringType.js] -// typeof operator on string type -var STRING; var STRING1 = ["", "abc"]; function foo() { return "abc"; } var A = /** @class */ (function () { @@ -98,10 +96,6 @@ typeof STRING; typeof STRING1; typeof foo(); typeof objA.a, M.n; -// use typeof in type query -var z; -var x; -var r; z: typeof STRING; x: typeof STRING1; r: typeof foo; diff --git a/tests/baselines/reference/typeofOperatorWithStringType.symbols b/tests/baselines/reference/typeofOperatorWithStringType.symbols index 5bc71cf4d3cf8..2fdd456acbd02 100644 --- a/tests/baselines/reference/typeofOperatorWithStringType.symbols +++ b/tests/baselines/reference/typeofOperatorWithStringType.symbols @@ -2,8 +2,8 @@ === typeofOperatorWithStringType.ts === // typeof operator on string type -var STRING: string; ->STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 3)) +declare var STRING: string; +>STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 11)) var STRING1: string[] = ["", "abc"]; >STRING1 : Symbol(STRING1, Decl(typeofOperatorWithStringType.ts, 2, 3)) @@ -23,7 +23,7 @@ class A { namespace M { >M : Symbol(M, Decl(typeofOperatorWithStringType.ts, 9, 1)) - export var n: string; + export var n!: string; >n : Symbol(n, Decl(typeofOperatorWithStringType.ts, 11, 14)) } @@ -34,7 +34,7 @@ var objA = new A(); // string type var var ResultIsString1 = typeof STRING; >ResultIsString1 : Symbol(ResultIsString1, Decl(typeofOperatorWithStringType.ts, 17, 3)) ->STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 11)) var ResultIsString2 = typeof STRING1; >ResultIsString2 : Symbol(ResultIsString2, Decl(typeofOperatorWithStringType.ts, 18, 3)) @@ -85,29 +85,29 @@ var ResultIsString10 = typeof A.foo(); var ResultIsString11 = typeof (STRING + STRING); >ResultIsString11 : Symbol(ResultIsString11, Decl(typeofOperatorWithStringType.ts, 31, 3)) ->STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 3)) ->STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 11)) +>STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 11)) var ResultIsString12 = typeof STRING.charAt(0); >ResultIsString12 : Symbol(ResultIsString12, Decl(typeofOperatorWithStringType.ts, 32, 3)) >STRING.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) ->STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 11)) >charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) // multiple typeof operators var ResultIsString13 = typeof typeof STRING; >ResultIsString13 : Symbol(ResultIsString13, Decl(typeofOperatorWithStringType.ts, 35, 3)) ->STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 11)) var ResultIsString14 = typeof typeof typeof (STRING + STRING); >ResultIsString14 : Symbol(ResultIsString14, Decl(typeofOperatorWithStringType.ts, 36, 3)) ->STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 3)) ->STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 11)) +>STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 11)) // miss assignment operators typeof ""; typeof STRING; ->STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 11)) typeof STRING1; >STRING1 : Symbol(STRING1, Decl(typeofOperatorWithStringType.ts, 2, 3)) @@ -124,17 +124,17 @@ typeof objA.a, M.n; >n : Symbol(M.n, Decl(typeofOperatorWithStringType.ts, 11, 14)) // use typeof in type query -var z: string; ->z : Symbol(z, Decl(typeofOperatorWithStringType.ts, 46, 3)) +declare var z: string; +>z : Symbol(z, Decl(typeofOperatorWithStringType.ts, 46, 11)) -var x: string[]; ->x : Symbol(x, Decl(typeofOperatorWithStringType.ts, 47, 3)) +declare var x: string[]; +>x : Symbol(x, Decl(typeofOperatorWithStringType.ts, 47, 11)) -var r: () => string; ->r : Symbol(r, Decl(typeofOperatorWithStringType.ts, 48, 3)) +declare var r: () => string; +>r : Symbol(r, Decl(typeofOperatorWithStringType.ts, 48, 11)) z: typeof STRING; ->STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 3)) +>STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 11)) x: typeof STRING1; >STRING1 : Symbol(STRING1, Decl(typeofOperatorWithStringType.ts, 2, 3)) diff --git a/tests/baselines/reference/typeofOperatorWithStringType.types b/tests/baselines/reference/typeofOperatorWithStringType.types index b8b780e367fa6..75a49f4543a96 100644 --- a/tests/baselines/reference/typeofOperatorWithStringType.types +++ b/tests/baselines/reference/typeofOperatorWithStringType.types @@ -2,7 +2,7 @@ === typeofOperatorWithStringType.ts === // typeof operator on string type -var STRING: string; +declare var STRING: string; >STRING : string > : ^^^^^^ @@ -40,7 +40,7 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: string; + export var n!: string; >n : string > : ^^^^^^ } @@ -281,15 +281,15 @@ typeof objA.a, M.n; > : ^^^^^^ // use typeof in type query -var z: string; +declare var z: string; >z : string > : ^^^^^^ -var x: string[]; +declare var x: string[]; >x : string[] > : ^^^^^^^^ -var r: () => string; +declare var r: () => string; >r : () => string > : ^^^^^^ diff --git a/tests/baselines/reference/typeofSimple.errors.txt b/tests/baselines/reference/typeofSimple.errors.txt index 7d904de8639b9..f2b55af210db5 100644 --- a/tests/baselines/reference/typeofSimple.errors.txt +++ b/tests/baselines/reference/typeofSimple.errors.txt @@ -1,10 +1,10 @@ typeofSimple.ts(3,5): error TS2322: Type 'number' is not assignable to type 'string'. -typeofSimple.ts(8,21): error TS2693: 'J' only refers to a type, but is being used as a value here. +typeofSimple.ts(8,29): error TS2693: 'J' only refers to a type, but is being used as a value here. ==== typeofSimple.ts (2 errors) ==== var v = 3; - var v2: typeof v; + var v2: typeof v = v; var v3: string = v2; // Not assignment compatible ~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. @@ -12,10 +12,10 @@ typeofSimple.ts(8,21): error TS2693: 'J' only refers to a type, but is being use interface I { x: T; } interface J { } - var numberJ: typeof J; //Error, cannot reference type in typeof - ~ + declare var numberJ: typeof J; //Error, cannot reference type in typeof + ~ !!! error TS2693: 'J' only refers to a type, but is being used as a value here. - var numberI: I; + declare var numberI: I; - var fun: () => I; + declare var fun: () => I; numberI = fun(); \ No newline at end of file diff --git a/tests/baselines/reference/typeofSimple.js b/tests/baselines/reference/typeofSimple.js index 98cfa8f5916ab..9dec21f2bb1b0 100644 --- a/tests/baselines/reference/typeofSimple.js +++ b/tests/baselines/reference/typeofSimple.js @@ -2,23 +2,20 @@ //// [typeofSimple.ts] var v = 3; -var v2: typeof v; +var v2: typeof v = v; var v3: string = v2; // Not assignment compatible interface I { x: T; } interface J { } -var numberJ: typeof J; //Error, cannot reference type in typeof -var numberI: I; +declare var numberJ: typeof J; //Error, cannot reference type in typeof +declare var numberI: I; -var fun: () => I; +declare var fun: () => I; numberI = fun(); //// [typeofSimple.js] var v = 3; -var v2; +var v2 = v; var v3 = v2; // Not assignment compatible -var numberJ; //Error, cannot reference type in typeof -var numberI; -var fun; numberI = fun(); diff --git a/tests/baselines/reference/typeofSimple.symbols b/tests/baselines/reference/typeofSimple.symbols index 3e74fa4ac60f1..96012c5f7b9ce 100644 --- a/tests/baselines/reference/typeofSimple.symbols +++ b/tests/baselines/reference/typeofSimple.symbols @@ -4,9 +4,10 @@ var v = 3; >v : Symbol(v, Decl(typeofSimple.ts, 0, 3)) -var v2: typeof v; +var v2: typeof v = v; >v2 : Symbol(v2, Decl(typeofSimple.ts, 1, 3)) >v : Symbol(v, Decl(typeofSimple.ts, 0, 3)) +>v : Symbol(v, Decl(typeofSimple.ts, 0, 3)) var v3: string = v2; // Not assignment compatible >v3 : Symbol(v3, Decl(typeofSimple.ts, 2, 3)) @@ -21,19 +22,19 @@ interface I { x: T; } interface J { } >J : Symbol(J, Decl(typeofSimple.ts, 4, 24)) -var numberJ: typeof J; //Error, cannot reference type in typeof ->numberJ : Symbol(numberJ, Decl(typeofSimple.ts, 7, 3)) +declare var numberJ: typeof J; //Error, cannot reference type in typeof +>numberJ : Symbol(numberJ, Decl(typeofSimple.ts, 7, 11)) -var numberI: I; ->numberI : Symbol(numberI, Decl(typeofSimple.ts, 8, 3)) +declare var numberI: I; +>numberI : Symbol(numberI, Decl(typeofSimple.ts, 8, 11)) >I : Symbol(I, Decl(typeofSimple.ts, 2, 20)) >v2 : Symbol(v2, Decl(typeofSimple.ts, 1, 3)) -var fun: () => I; ->fun : Symbol(fun, Decl(typeofSimple.ts, 10, 3)) +declare var fun: () => I; +>fun : Symbol(fun, Decl(typeofSimple.ts, 10, 11)) >I : Symbol(I, Decl(typeofSimple.ts, 2, 20)) numberI = fun(); ->numberI : Symbol(numberI, Decl(typeofSimple.ts, 8, 3)) ->fun : Symbol(fun, Decl(typeofSimple.ts, 10, 3)) +>numberI : Symbol(numberI, Decl(typeofSimple.ts, 8, 11)) +>fun : Symbol(fun, Decl(typeofSimple.ts, 10, 11)) diff --git a/tests/baselines/reference/typeofSimple.types b/tests/baselines/reference/typeofSimple.types index d5091946e6ffc..5d4c19fe17b81 100644 --- a/tests/baselines/reference/typeofSimple.types +++ b/tests/baselines/reference/typeofSimple.types @@ -7,11 +7,13 @@ var v = 3; >3 : 3 > : ^ -var v2: typeof v; +var v2: typeof v = v; >v2 : number > : ^^^^^^ >v : number > : ^^^^^^ +>v : number +> : ^^^^^^ var v3: string = v2; // Not assignment compatible >v3 : string @@ -25,19 +27,19 @@ interface I { x: T; } interface J { } -var numberJ: typeof J; //Error, cannot reference type in typeof +declare var numberJ: typeof J; //Error, cannot reference type in typeof >numberJ : any > : ^^^ >J : any > : ^^^ -var numberI: I; +declare var numberI: I; >numberI : I > : ^^^^^^^^^ >v2 : number > : ^^^^^^ -var fun: () => I; +declare var fun: () => I; >fun : () => I > : ^^^^^^ diff --git a/tests/baselines/reference/typeofTypeParameter.errors.txt b/tests/baselines/reference/typeofTypeParameter.errors.txt index 467bca2396202..ce2acbef3bedf 100644 --- a/tests/baselines/reference/typeofTypeParameter.errors.txt +++ b/tests/baselines/reference/typeofTypeParameter.errors.txt @@ -1,11 +1,11 @@ -typeofTypeParameter.ts(3,19): error TS2693: 'T' only refers to a type, but is being used as a value here. +typeofTypeParameter.ts(3,20): error TS2693: 'T' only refers to a type, but is being used as a value here. ==== typeofTypeParameter.ts (1 errors) ==== function f(x: T): T { - var a: typeof x; - var y: typeof T; - ~ + var a!: typeof x; + var y!: typeof T; + ~ !!! error TS2693: 'T' only refers to a type, but is being used as a value here. return a; } \ No newline at end of file diff --git a/tests/baselines/reference/typeofTypeParameter.js b/tests/baselines/reference/typeofTypeParameter.js index bf74443df4d7e..a7e4b03b2e981 100644 --- a/tests/baselines/reference/typeofTypeParameter.js +++ b/tests/baselines/reference/typeofTypeParameter.js @@ -2,8 +2,8 @@ //// [typeofTypeParameter.ts] function f(x: T): T { - var a: typeof x; - var y: typeof T; + var a!: typeof x; + var y!: typeof T; return a; } diff --git a/tests/baselines/reference/typeofTypeParameter.symbols b/tests/baselines/reference/typeofTypeParameter.symbols index 8e41e27202463..cdedee3025b8b 100644 --- a/tests/baselines/reference/typeofTypeParameter.symbols +++ b/tests/baselines/reference/typeofTypeParameter.symbols @@ -8,11 +8,11 @@ function f(x: T): T { >T : Symbol(T, Decl(typeofTypeParameter.ts, 0, 11)) >T : Symbol(T, Decl(typeofTypeParameter.ts, 0, 11)) - var a: typeof x; + var a!: typeof x; >a : Symbol(a, Decl(typeofTypeParameter.ts, 1, 7)) >x : Symbol(x, Decl(typeofTypeParameter.ts, 0, 14)) - var y: typeof T; + var y!: typeof T; >y : Symbol(y, Decl(typeofTypeParameter.ts, 2, 7)) return a; diff --git a/tests/baselines/reference/typeofTypeParameter.types b/tests/baselines/reference/typeofTypeParameter.types index b226539695853..06fbc989850bb 100644 --- a/tests/baselines/reference/typeofTypeParameter.types +++ b/tests/baselines/reference/typeofTypeParameter.types @@ -7,13 +7,13 @@ function f(x: T): T { >x : T > : ^ - var a: typeof x; + var a!: typeof x; >a : T > : ^ >x : T > : ^ - var y: typeof T; + var y!: typeof T; >y : any > : ^^^ >T : any diff --git a/tests/baselines/reference/umd5.errors.txt b/tests/baselines/reference/umd5.errors.txt index 34108d4d75804..a68162069344a 100644 --- a/tests/baselines/reference/umd5.errors.txt +++ b/tests/baselines/reference/umd5.errors.txt @@ -4,7 +4,7 @@ a.ts(6,9): error TS2686: 'Foo' refers to a UMD global, but the current file is a ==== a.ts (1 errors) ==== import * as Bar from './foo'; Bar.fn(); - let x: Bar.Thing; + declare let x: Bar.Thing; let y: number = x.n; // should error let z = Foo; diff --git a/tests/baselines/reference/umd5.js b/tests/baselines/reference/umd5.js index 11057d45eb673..7bae36b1bdbbc 100644 --- a/tests/baselines/reference/umd5.js +++ b/tests/baselines/reference/umd5.js @@ -9,7 +9,7 @@ export as namespace Foo; //// [a.ts] import * as Bar from './foo'; Bar.fn(); -let x: Bar.Thing; +declare let x: Bar.Thing; let y: number = x.n; // should error let z = Foo; @@ -53,7 +53,6 @@ var __importStar = (this && this.__importStar) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); var Bar = __importStar(require("./foo")); Bar.fn(); -var x; var y = x.n; // should error var z = Foo; diff --git a/tests/baselines/reference/umd5.symbols b/tests/baselines/reference/umd5.symbols index 41eba451b25cc..34ab80afb71b8 100644 --- a/tests/baselines/reference/umd5.symbols +++ b/tests/baselines/reference/umd5.symbols @@ -9,15 +9,15 @@ Bar.fn(); >Bar : Symbol(Bar, Decl(a.ts, 0, 6)) >fn : Symbol(Bar.fn, Decl(foo.d.ts, 0, 21)) -let x: Bar.Thing; ->x : Symbol(x, Decl(a.ts, 2, 3)) +declare let x: Bar.Thing; +>x : Symbol(x, Decl(a.ts, 2, 11)) >Bar : Symbol(Bar, Decl(a.ts, 0, 6)) >Thing : Symbol(Bar.Thing, Decl(foo.d.ts, 1, 27)) let y: number = x.n; >y : Symbol(y, Decl(a.ts, 3, 3)) >x.n : Symbol(Bar.Thing.n, Decl(foo.d.ts, 2, 24)) ->x : Symbol(x, Decl(a.ts, 2, 3)) +>x : Symbol(x, Decl(a.ts, 2, 11)) >n : Symbol(Bar.Thing.n, Decl(foo.d.ts, 2, 24)) // should error diff --git a/tests/baselines/reference/umd5.types b/tests/baselines/reference/umd5.types index 9add60c8b8c81..d256717500c57 100644 --- a/tests/baselines/reference/umd5.types +++ b/tests/baselines/reference/umd5.types @@ -15,7 +15,7 @@ Bar.fn(); >fn : () => void > : ^^^^^^ -let x: Bar.Thing; +declare let x: Bar.Thing; >x : Bar.Thing > : ^^^^^^^^^ >Bar : any diff --git a/tests/baselines/reference/umd8.errors.txt b/tests/baselines/reference/umd8.errors.txt index 79dc529f2d62c..50d40e9f0b421 100644 --- a/tests/baselines/reference/umd8.errors.txt +++ b/tests/baselines/reference/umd8.errors.txt @@ -5,9 +5,9 @@ a.ts(7,14): error TS2686: 'Foo' refers to a UMD global, but the current file is /// import * as ff from './foo'; - let y: Foo; // OK in type position + declare let y: Foo; // OK in type position y.foo(); - let z: Foo.SubThing; // OK in ns position + declare let z: Foo.SubThing; // OK in ns position let x: any = Foo; // Not OK in value position ~~~ !!! error TS2686: 'Foo' refers to a UMD global, but the current file is a module. Consider adding an import instead. diff --git a/tests/baselines/reference/umd8.js b/tests/baselines/reference/umd8.js index a6a501057b99c..e1938399bca14 100644 --- a/tests/baselines/reference/umd8.js +++ b/tests/baselines/reference/umd8.js @@ -14,16 +14,14 @@ export as namespace Foo; /// import * as ff from './foo'; -let y: Foo; // OK in type position +declare let y: Foo; // OK in type position y.foo(); -let z: Foo.SubThing; // OK in ns position +declare let z: Foo.SubThing; // OK in ns position let x: any = Foo; // Not OK in value position //// [a.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var y; // OK in type position y.foo(); -var z; // OK in ns position var x = Foo; // Not OK in value position diff --git a/tests/baselines/reference/umd8.symbols b/tests/baselines/reference/umd8.symbols index 0cb5bdf2f270f..2a8264365b7a7 100644 --- a/tests/baselines/reference/umd8.symbols +++ b/tests/baselines/reference/umd8.symbols @@ -5,17 +5,17 @@ import * as ff from './foo'; >ff : Symbol(ff, Decl(a.ts, 1, 6)) -let y: Foo; // OK in type position ->y : Symbol(y, Decl(a.ts, 3, 3)) +declare let y: Foo; // OK in type position +>y : Symbol(y, Decl(a.ts, 3, 11)) >Foo : Symbol(Foo, Decl(foo.d.ts, 6, 15)) y.foo(); >y.foo : Symbol(Thing.foo, Decl(foo.d.ts, 0, 21)) ->y : Symbol(y, Decl(a.ts, 3, 3)) +>y : Symbol(y, Decl(a.ts, 3, 11)) >foo : Symbol(Thing.foo, Decl(foo.d.ts, 0, 21)) -let z: Foo.SubThing; // OK in ns position ->z : Symbol(z, Decl(a.ts, 5, 3)) +declare let z: Foo.SubThing; // OK in ns position +>z : Symbol(z, Decl(a.ts, 5, 11)) >Foo : Symbol(Foo, Decl(foo.d.ts, 6, 15)) >SubThing : Symbol(ff.SubThing, Decl(foo.d.ts, 3, 25)) diff --git a/tests/baselines/reference/umd8.types b/tests/baselines/reference/umd8.types index 57d63c467b132..d7543561dc686 100644 --- a/tests/baselines/reference/umd8.types +++ b/tests/baselines/reference/umd8.types @@ -6,7 +6,7 @@ import * as ff from './foo'; >ff : typeof ff > : ^^^^^^^^^ -let y: Foo; // OK in type position +declare let y: Foo; // OK in type position >y : import("foo") > : ^^^^^^^^^^^^^ @@ -20,7 +20,7 @@ y.foo(); >foo : () => number > : ^^^^^^ -let z: Foo.SubThing; // OK in ns position +declare let z: Foo.SubThing; // OK in ns position >z : ff.SubThing > : ^^^^^^^^^^^ >Foo : any diff --git a/tests/baselines/reference/underscoreTest1.errors.txt b/tests/baselines/reference/underscoreTest1.errors.txt index ab14202e8fc98..ba91927c40b90 100644 --- a/tests/baselines/reference/underscoreTest1.errors.txt +++ b/tests/baselines/reference/underscoreTest1.errors.txt @@ -144,7 +144,7 @@ underscoreTest1_underscoreTests.ts(26,3): error TS2769: No overload matches this initialize(); initialize(); - var notes: any[]; + var notes: any[] = []; var render = () => alert("rendering..."); var renderNotes = _.after(notes.length, render); _.each(notes, (note) => note.asyncSave({ success: renderNotes })); diff --git a/tests/baselines/reference/underscoreTest1.js b/tests/baselines/reference/underscoreTest1.js index 6e81cdc454014..cf2db5f34c0e3 100644 --- a/tests/baselines/reference/underscoreTest1.js +++ b/tests/baselines/reference/underscoreTest1.js @@ -775,7 +775,7 @@ var initialize = _.once(createApplication); initialize(); initialize(); -var notes: any[]; +var notes: any[] = []; var render = () => alert("rendering..."); var renderNotes = _.after(notes.length, render); _.each(notes, (note) => note.asyncSave({ success: renderNotes })); @@ -996,7 +996,7 @@ var createApplication = function () { return alert('creating application...'); } var initialize = _.once(createApplication); initialize(); initialize(); -var notes; +var notes = []; var render = function () { return alert("rendering..."); }; var renderNotes = _.after(notes.length, render); _.each(notes, function (note) { return note.asyncSave({ success: renderNotes }); }); diff --git a/tests/baselines/reference/underscoreTest1.symbols b/tests/baselines/reference/underscoreTest1.symbols index be9548bdf6daa..c4e6d3ca27173 100644 --- a/tests/baselines/reference/underscoreTest1.symbols +++ b/tests/baselines/reference/underscoreTest1.symbols @@ -500,7 +500,7 @@ initialize(); initialize(); >initialize : Symbol(initialize, Decl(underscoreTest1_underscoreTests.ts, 122, 3)) -var notes: any[]; +var notes: any[] = []; >notes : Symbol(notes, Decl(underscoreTest1_underscoreTests.ts, 126, 3)) var render = () => alert("rendering..."); diff --git a/tests/baselines/reference/underscoreTest1.types b/tests/baselines/reference/underscoreTest1.types index 8ab77090fa52e..77de0efd1bcbf 100644 --- a/tests/baselines/reference/underscoreTest1.types +++ b/tests/baselines/reference/underscoreTest1.types @@ -1812,9 +1812,11 @@ initialize(); >initialize : () => void > : ^^^^^^^^^^ -var notes: any[]; +var notes: any[] = []; >notes : any[] > : ^^^^^ +>[] : undefined[] +> : ^^^^^^^^^^^ var render = () => alert("rendering..."); >render : () => void diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).errors.txt b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).errors.txt index de53e2b1953e1..5189ef7361999 100644 --- a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).errors.txt +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).errors.txt @@ -6,8 +6,8 @@ astralAsSurrogatePair.ts(1,24): error TS2305: Module '"./extendedEscapesForAstra ==== extendedEscapesForAstralsInVarsAndClasses.ts (0 errors) ==== // U+102A7 CARIAN LETTER A2 - var 𐊧: string; - var \u{102A7}: string; + declare var 𐊧: string; + declare var \u{102A7}: string; if (Math.random()) { 𐊧 = "hello"; diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).js b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).js index fb37c4b33871a..d2f99305fa346 100644 --- a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).js +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).js @@ -2,8 +2,8 @@ //// [extendedEscapesForAstralsInVarsAndClasses.ts] // U+102A7 CARIAN LETTER A2 -var 𐊧: string; -var \u{102A7}: string; +declare var 𐊧: string; +declare var \u{102A7}: string; if (Math.random()) { 𐊧 = "hello"; @@ -31,9 +31,6 @@ import { _𐊧 as \uD800\uDEA7 } from "./extendedEscapesForAstralsInVarsAndClass //// [extendedEscapesForAstralsInVarsAndClasses.js] -// U+102A7 CARIAN LETTER A2 -var 𐊧; -var \u{102A7}; if (Math.random()) { 𐊧 = "hello"; } diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).js.map b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).js.map index 8eb7b3f65eac1..2c7b919a93385 100644 --- a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).js.map +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).js.map @@ -1,6 +1,6 @@ //// [extendedEscapesForAstralsInVarsAndClasses.js.map] -{"version":3,"file":"extendedEscapesForAstralsInVarsAndClasses.js","sourceRoot":"","sources":["extendedEscapesForAstralsInVarsAndClasses.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,IAAI,EAAU,CAAC;AACf,IAAI,SAAiB,CAAC;AAEtB,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;IAChB,EAAE,GAAG,OAAO,CAAC;AACjB,CAAC;KACI,CAAC;IACF,SAAS,GAAG,OAAO,CAAC;AACxB,CAAC;AAED,MAAM,GAAG;IAEL;QACI,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IACD,OAAO;QACH,OAAO,IAAI,CAAC,EAAE,CAAC;IACnB,CAAC;CACJ;AAED,MAAM,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAE3D,UAAU,IAAI,GAAG,CAAC"} -//// https://sokra.github.io/source-map-visualization#base64,Ly8gVSsxMDJBNyBDQVJJQU4gTEVUVEVSIEEyDQp2YXIg7aCA7bqnOw0KdmFyIFx1ezEwMkE3fTsNCmlmIChNYXRoLnJhbmRvbSgpKSB7DQogICAg7aCA7bqnID0gImhlbGxvIjsNCn0NCmVsc2Ugew0KICAgIFx1ezEwMkE3fSA9ICJoYWxsbyI7DQp9DQpjbGFzcyBGb28gew0KICAgIGNvbnN0cnVjdG9yKCkgew0KICAgICAgICB0aGlzLlx1ezEwMkE3fSA9ICIgd29ybGQiOw0KICAgIH0NCiAgICBtZXRob2RBKCkgew0KICAgICAgICByZXR1cm4gdGhpcy7toIDtuqc7DQogICAgfQ0KfQ0KZXhwb3J0IHZhciBf7aCA7bqnID0gbmV3IEZvbygpLlx1ezEwMkE3fSArIG5ldyBGb28oKS5tZXRob2RBKCk7DQpfXHV7MTAyQTd9ICs9ICIhIjsNCi8vIyBzb3VyY2VNYXBwaW5nVVJMPWV4dGVuZGVkRXNjYXBlc0ZvckFzdHJhbHNJblZhcnNBbmRDbGFzc2VzLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWRFc2NhcGVzRm9yQXN0cmFsc0luVmFyc0FuZENsYXNzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlbmRlZEVzY2FwZXNGb3JBc3RyYWxzSW5WYXJzQW5kQ2xhc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkI7QUFDM0IsSUFBSSxFQUFVLENBQUM7QUFDZixJQUFJLFNBQWlCLENBQUM7QUFFdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUNoQixFQUFFLEdBQUcsT0FBTyxDQUFDO0FBQ2pCLENBQUM7S0FDSSxDQUFDO0lBQ0YsU0FBUyxHQUFHLE9BQU8sQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxHQUFHO0lBRUw7UUFDSSxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBQ0QsT0FBTztRQUNILE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0NBQ0o7QUFFRCxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUUzRCxVQUFVLElBQUksR0FBRyxDQUFDIn0=,Ly8gVSsxMDJBNyBDQVJJQU4gTEVUVEVSIEEyCnZhciDtoIDtuqc6IHN0cmluZzsKdmFyIFx1ezEwMkE3fTogc3RyaW5nOwoKaWYgKE1hdGgucmFuZG9tKCkpIHsKICAgIO2ggO26pyA9ICJoZWxsbyI7Cn0KZWxzZSB7CiAgICBcdXsxMDJBN30gPSAiaGFsbG8iOwp9CgpjbGFzcyBGb28gewogICAgXHV7MTAyQTd9OiBzdHJpbmc7CiAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgICB0aGlzLlx1ezEwMkE3fSA9ICIgd29ybGQiOwogICAgfQogICAgbWV0aG9kQSgpIHsKICAgICAgICByZXR1cm4gdGhpcy7toIDtuqc7CiAgICB9Cn0KCmV4cG9ydCB2YXIgX+2ggO26pyA9IG5ldyBGb28oKS5cdXsxMDJBN30gKyBuZXcgRm9vKCkubWV0aG9kQSgpOwoKX1x1ezEwMkE3fSArPSAiISI7Cg== +{"version":3,"file":"extendedEscapesForAstralsInVarsAndClasses.js","sourceRoot":"","sources":["extendedEscapesForAstralsInVarsAndClasses.ts"],"names":[],"mappings":"AAIA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;IAChB,EAAE,GAAG,OAAO,CAAC;AACjB,CAAC;KACI,CAAC;IACF,SAAS,GAAG,OAAO,CAAC;AACxB,CAAC;AAED,MAAM,GAAG;IAEL;QACI,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IACD,OAAO;QACH,OAAO,IAAI,CAAC,EAAE,CAAC;IACnB,CAAC;CACJ;AAED,MAAM,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAE3D,UAAU,IAAI,GAAG,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,aWYgKE1hdGgucmFuZG9tKCkpIHsNCiAgICDtoIDtuqcgPSAiaGVsbG8iOw0KfQ0KZWxzZSB7DQogICAgXHV7MTAyQTd9ID0gImhhbGxvIjsNCn0NCmNsYXNzIEZvbyB7DQogICAgY29uc3RydWN0b3IoKSB7DQogICAgICAgIHRoaXMuXHV7MTAyQTd9ID0gIiB3b3JsZCI7DQogICAgfQ0KICAgIG1ldGhvZEEoKSB7DQogICAgICAgIHJldHVybiB0aGlzLu2ggO26pzsNCiAgICB9DQp9DQpleHBvcnQgdmFyIF/toIDtuqcgPSBuZXcgRm9vKCkuXHV7MTAyQTd9ICsgbmV3IEZvbygpLm1ldGhvZEEoKTsNCl9cdXsxMDJBN30gKz0gIiEiOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXh0ZW5kZWRFc2NhcGVzRm9yQXN0cmFsc0luVmFyc0FuZENsYXNzZXMuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWRFc2NhcGVzRm9yQXN0cmFsc0luVmFyc0FuZENsYXNzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlbmRlZEVzY2FwZXNGb3JBc3RyYWxzSW5WYXJzQW5kQ2xhc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBQ2hCLEVBQUUsR0FBRyxPQUFPLENBQUM7QUFDakIsQ0FBQztLQUNJLENBQUM7SUFDRixTQUFTLEdBQUcsT0FBTyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLEdBQUc7SUFFTDtRQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFDRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7Q0FDSjtBQUVELE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBRTNELFVBQVUsSUFBSSxHQUFHLENBQUMifQ==,Ly8gVSsxMDJBNyBDQVJJQU4gTEVUVEVSIEEyCmRlY2xhcmUgdmFyIO2ggO26pzogc3RyaW5nOwpkZWNsYXJlIHZhciBcdXsxMDJBN306IHN0cmluZzsKCmlmIChNYXRoLnJhbmRvbSgpKSB7CiAgICDtoIDtuqcgPSAiaGVsbG8iOwp9CmVsc2UgewogICAgXHV7MTAyQTd9ID0gImhhbGxvIjsKfQoKY2xhc3MgRm9vIHsKICAgIFx1ezEwMkE3fTogc3RyaW5nOwogICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgdGhpcy5cdXsxMDJBN30gPSAiIHdvcmxkIjsKICAgIH0KICAgIG1ldGhvZEEoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMu7aCA7bqnOwogICAgfQp9CgpleHBvcnQgdmFyIF/toIDtuqcgPSBuZXcgRm9vKCkuXHV7MTAyQTd9ICsgbmV3IEZvbygpLm1ldGhvZEEoKTsKCl9cdXsxMDJBN30gKz0gIiEiOwo= //// [astralAsSurrogatePair.js.map] {"version":3,"file":"astralAsSurrogatePair.js","sourceRoot":"","sources":["astralAsSurrogatePair.ts"],"names":[],"mappings":""} diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).sourcemap.txt b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).sourcemap.txt index e9ffa88cad7ca..1417ea17e9c7d 100644 --- a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).sourcemap.txt +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).sourcemap.txt @@ -8,48 +8,8 @@ sources: extendedEscapesForAstralsInVarsAndClasses.ts emittedFile:extendedEscapesForAstralsInVarsAndClasses.js sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts ------------------------------------------------------------------- ->>>// U+102A7 CARIAN LETTER A2 -1 > -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1 > -2 >// U+102A7 CARIAN LETTER A2 -1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) -2 >Emitted(1, 28) Source(1, 28) + SourceIndex(0) ---- ->>>var 𐊧; -1 > -2 >^^^^ -3 > ^^ -4 > ^ -5 > ^^^^^^^^-> -1 > - > -2 >var -3 > 𐊧: string -4 > ; -1 >Emitted(2, 1) Source(2, 1) + SourceIndex(0) -2 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) -3 >Emitted(2, 7) Source(2, 15) + SourceIndex(0) -4 >Emitted(2, 8) Source(2, 16) + SourceIndex(0) ---- ->>>var \u{102A7}; -1-> -2 >^^^^ -3 > ^^^^^^^^^ -4 > ^ -5 > ^^^^^^^-> -1-> - > -2 >var -3 > \u{102A7}: string -4 > ; -1->Emitted(3, 1) Source(3, 1) + SourceIndex(0) -2 >Emitted(3, 5) Source(3, 5) + SourceIndex(0) -3 >Emitted(3, 14) Source(3, 22) + SourceIndex(0) -4 >Emitted(3, 15) Source(3, 23) + SourceIndex(0) ---- >>>if (Math.random()) { -1-> +1 > 2 >^^^^ 3 > ^^^^ 4 > ^ @@ -57,7 +17,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 6 > ^^ 7 > ^^ 8 > ^ -1-> +1 >// U+102A7 CARIAN LETTER A2 + >declare var 𐊧: string; + >declare var \u{102A7}: string; > > 2 >if ( @@ -67,14 +29,14 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 6 > () 7 > ) 8 > { -1->Emitted(4, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(4, 5) Source(5, 5) + SourceIndex(0) -3 >Emitted(4, 9) Source(5, 9) + SourceIndex(0) -4 >Emitted(4, 10) Source(5, 10) + SourceIndex(0) -5 >Emitted(4, 16) Source(5, 16) + SourceIndex(0) -6 >Emitted(4, 18) Source(5, 18) + SourceIndex(0) -7 >Emitted(4, 20) Source(5, 20) + SourceIndex(0) -8 >Emitted(4, 21) Source(5, 21) + SourceIndex(0) +1 >Emitted(1, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(1, 5) Source(5, 5) + SourceIndex(0) +3 >Emitted(1, 9) Source(5, 9) + SourceIndex(0) +4 >Emitted(1, 10) Source(5, 10) + SourceIndex(0) +5 >Emitted(1, 16) Source(5, 16) + SourceIndex(0) +6 >Emitted(1, 18) Source(5, 18) + SourceIndex(0) +7 >Emitted(1, 20) Source(5, 20) + SourceIndex(0) +8 >Emitted(1, 21) Source(5, 21) + SourceIndex(0) --- >>> 𐊧 = "hello"; 1 >^^^^ @@ -88,11 +50,11 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 3 > = 4 > "hello" 5 > ; -1 >Emitted(5, 5) Source(6, 5) + SourceIndex(0) -2 >Emitted(5, 7) Source(6, 7) + SourceIndex(0) -3 >Emitted(5, 10) Source(6, 10) + SourceIndex(0) -4 >Emitted(5, 17) Source(6, 17) + SourceIndex(0) -5 >Emitted(5, 18) Source(6, 18) + SourceIndex(0) +1 >Emitted(2, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(2, 7) Source(6, 7) + SourceIndex(0) +3 >Emitted(2, 10) Source(6, 10) + SourceIndex(0) +4 >Emitted(2, 17) Source(6, 17) + SourceIndex(0) +5 >Emitted(2, 18) Source(6, 18) + SourceIndex(0) --- >>>} 1 > @@ -101,8 +63,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1 > > 2 >} -1 >Emitted(6, 1) Source(7, 1) + SourceIndex(0) -2 >Emitted(6, 2) Source(7, 2) + SourceIndex(0) +1 >Emitted(3, 1) Source(7, 1) + SourceIndex(0) +2 >Emitted(3, 2) Source(7, 2) + SourceIndex(0) --- >>>else { 1->^^^^^ @@ -111,8 +73,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1-> >else 2 > { -1->Emitted(7, 6) Source(8, 6) + SourceIndex(0) -2 >Emitted(7, 7) Source(8, 7) + SourceIndex(0) +1->Emitted(4, 6) Source(8, 6) + SourceIndex(0) +2 >Emitted(4, 7) Source(8, 7) + SourceIndex(0) --- >>> \u{102A7} = "hallo"; 1->^^^^ @@ -126,11 +88,11 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 3 > = 4 > "hallo" 5 > ; -1->Emitted(8, 5) Source(9, 5) + SourceIndex(0) -2 >Emitted(8, 14) Source(9, 14) + SourceIndex(0) -3 >Emitted(8, 17) Source(9, 17) + SourceIndex(0) -4 >Emitted(8, 24) Source(9, 24) + SourceIndex(0) -5 >Emitted(8, 25) Source(9, 25) + SourceIndex(0) +1->Emitted(5, 5) Source(9, 5) + SourceIndex(0) +2 >Emitted(5, 14) Source(9, 14) + SourceIndex(0) +3 >Emitted(5, 17) Source(9, 17) + SourceIndex(0) +4 >Emitted(5, 24) Source(9, 24) + SourceIndex(0) +5 >Emitted(5, 25) Source(9, 25) + SourceIndex(0) --- >>>} 1 > @@ -139,8 +101,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1 > > 2 >} -1 >Emitted(9, 1) Source(10, 1) + SourceIndex(0) -2 >Emitted(9, 2) Source(10, 2) + SourceIndex(0) +1 >Emitted(6, 1) Source(10, 1) + SourceIndex(0) +2 >Emitted(6, 2) Source(10, 2) + SourceIndex(0) --- >>>class Foo { 1-> @@ -152,9 +114,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts > 2 >class 3 > Foo -1->Emitted(10, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(10, 7) Source(12, 7) + SourceIndex(0) -3 >Emitted(10, 10) Source(12, 10) + SourceIndex(0) +1->Emitted(7, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(7, 7) Source(12, 7) + SourceIndex(0) +3 >Emitted(7, 10) Source(12, 10) + SourceIndex(0) --- >>> constructor() { 1->^^^^ @@ -162,7 +124,7 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1-> { > \u{102A7}: string; > -1->Emitted(11, 5) Source(14, 5) + SourceIndex(0) +1->Emitted(8, 5) Source(14, 5) + SourceIndex(0) --- >>> this.\u{102A7} = " world"; 1->^^^^^^^^ @@ -180,13 +142,13 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 5 > = 6 > " world" 7 > ; -1->Emitted(12, 9) Source(15, 9) + SourceIndex(0) -2 >Emitted(12, 13) Source(15, 13) + SourceIndex(0) -3 >Emitted(12, 14) Source(15, 14) + SourceIndex(0) -4 >Emitted(12, 23) Source(15, 23) + SourceIndex(0) -5 >Emitted(12, 26) Source(15, 26) + SourceIndex(0) -6 >Emitted(12, 34) Source(15, 34) + SourceIndex(0) -7 >Emitted(12, 35) Source(15, 35) + SourceIndex(0) +1->Emitted(9, 9) Source(15, 9) + SourceIndex(0) +2 >Emitted(9, 13) Source(15, 13) + SourceIndex(0) +3 >Emitted(9, 14) Source(15, 14) + SourceIndex(0) +4 >Emitted(9, 23) Source(15, 23) + SourceIndex(0) +5 >Emitted(9, 26) Source(15, 26) + SourceIndex(0) +6 >Emitted(9, 34) Source(15, 34) + SourceIndex(0) +7 >Emitted(9, 35) Source(15, 35) + SourceIndex(0) --- >>> } 1 >^^^^ @@ -195,8 +157,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1 > > 2 > } -1 >Emitted(13, 5) Source(16, 5) + SourceIndex(0) -2 >Emitted(13, 6) Source(16, 6) + SourceIndex(0) +1 >Emitted(10, 5) Source(16, 5) + SourceIndex(0) +2 >Emitted(10, 6) Source(16, 6) + SourceIndex(0) --- >>> methodA() { 1->^^^^ @@ -205,8 +167,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1-> > 2 > methodA -1->Emitted(14, 5) Source(17, 5) + SourceIndex(0) -2 >Emitted(14, 12) Source(17, 12) + SourceIndex(0) +1->Emitted(11, 5) Source(17, 5) + SourceIndex(0) +2 >Emitted(11, 12) Source(17, 12) + SourceIndex(0) --- >>> return this.𐊧; 1->^^^^^^^^ @@ -222,12 +184,12 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 4 > . 5 > 𐊧 6 > ; -1->Emitted(15, 9) Source(18, 9) + SourceIndex(0) -2 >Emitted(15, 16) Source(18, 16) + SourceIndex(0) -3 >Emitted(15, 20) Source(18, 20) + SourceIndex(0) -4 >Emitted(15, 21) Source(18, 21) + SourceIndex(0) -5 >Emitted(15, 23) Source(18, 23) + SourceIndex(0) -6 >Emitted(15, 24) Source(18, 24) + SourceIndex(0) +1->Emitted(12, 9) Source(18, 9) + SourceIndex(0) +2 >Emitted(12, 16) Source(18, 16) + SourceIndex(0) +3 >Emitted(12, 20) Source(18, 20) + SourceIndex(0) +4 >Emitted(12, 21) Source(18, 21) + SourceIndex(0) +5 >Emitted(12, 23) Source(18, 23) + SourceIndex(0) +6 >Emitted(12, 24) Source(18, 24) + SourceIndex(0) --- >>> } 1 >^^^^ @@ -235,15 +197,15 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1 > > 2 > } -1 >Emitted(16, 5) Source(19, 5) + SourceIndex(0) -2 >Emitted(16, 6) Source(19, 6) + SourceIndex(0) +1 >Emitted(13, 5) Source(19, 5) + SourceIndex(0) +2 >Emitted(13, 6) Source(19, 6) + SourceIndex(0) --- >>>} 1 >^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > >} -1 >Emitted(17, 2) Source(20, 2) + SourceIndex(0) +1 >Emitted(14, 2) Source(20, 2) + SourceIndex(0) --- >>>export var _𐊧 = new Foo().\u{102A7} + new Foo().methodA(); 1-> @@ -286,25 +248,25 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 17> methodA 18> () 19> ; -1->Emitted(18, 1) Source(22, 1) + SourceIndex(0) -2 >Emitted(18, 7) Source(22, 7) + SourceIndex(0) -3 >Emitted(18, 8) Source(22, 8) + SourceIndex(0) -4 >Emitted(18, 12) Source(22, 12) + SourceIndex(0) -5 >Emitted(18, 15) Source(22, 15) + SourceIndex(0) -6 >Emitted(18, 18) Source(22, 18) + SourceIndex(0) -7 >Emitted(18, 22) Source(22, 22) + SourceIndex(0) -8 >Emitted(18, 25) Source(22, 25) + SourceIndex(0) -9 >Emitted(18, 27) Source(22, 27) + SourceIndex(0) -10>Emitted(18, 28) Source(22, 28) + SourceIndex(0) -11>Emitted(18, 37) Source(22, 37) + SourceIndex(0) -12>Emitted(18, 40) Source(22, 40) + SourceIndex(0) -13>Emitted(18, 44) Source(22, 44) + SourceIndex(0) -14>Emitted(18, 47) Source(22, 47) + SourceIndex(0) -15>Emitted(18, 49) Source(22, 49) + SourceIndex(0) -16>Emitted(18, 50) Source(22, 50) + SourceIndex(0) -17>Emitted(18, 57) Source(22, 57) + SourceIndex(0) -18>Emitted(18, 59) Source(22, 59) + SourceIndex(0) -19>Emitted(18, 60) Source(22, 60) + SourceIndex(0) +1->Emitted(15, 1) Source(22, 1) + SourceIndex(0) +2 >Emitted(15, 7) Source(22, 7) + SourceIndex(0) +3 >Emitted(15, 8) Source(22, 8) + SourceIndex(0) +4 >Emitted(15, 12) Source(22, 12) + SourceIndex(0) +5 >Emitted(15, 15) Source(22, 15) + SourceIndex(0) +6 >Emitted(15, 18) Source(22, 18) + SourceIndex(0) +7 >Emitted(15, 22) Source(22, 22) + SourceIndex(0) +8 >Emitted(15, 25) Source(22, 25) + SourceIndex(0) +9 >Emitted(15, 27) Source(22, 27) + SourceIndex(0) +10>Emitted(15, 28) Source(22, 28) + SourceIndex(0) +11>Emitted(15, 37) Source(22, 37) + SourceIndex(0) +12>Emitted(15, 40) Source(22, 40) + SourceIndex(0) +13>Emitted(15, 44) Source(22, 44) + SourceIndex(0) +14>Emitted(15, 47) Source(22, 47) + SourceIndex(0) +15>Emitted(15, 49) Source(22, 49) + SourceIndex(0) +16>Emitted(15, 50) Source(22, 50) + SourceIndex(0) +17>Emitted(15, 57) Source(22, 57) + SourceIndex(0) +18>Emitted(15, 59) Source(22, 59) + SourceIndex(0) +19>Emitted(15, 60) Source(22, 60) + SourceIndex(0) --- >>>_\u{102A7} += "!"; 1 > @@ -320,11 +282,11 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 3 > += 4 > "!" 5 > ; -1 >Emitted(19, 1) Source(24, 1) + SourceIndex(0) -2 >Emitted(19, 11) Source(24, 11) + SourceIndex(0) -3 >Emitted(19, 15) Source(24, 15) + SourceIndex(0) -4 >Emitted(19, 18) Source(24, 18) + SourceIndex(0) -5 >Emitted(19, 19) Source(24, 19) + SourceIndex(0) +1 >Emitted(16, 1) Source(24, 1) + SourceIndex(0) +2 >Emitted(16, 11) Source(24, 11) + SourceIndex(0) +3 >Emitted(16, 15) Source(24, 15) + SourceIndex(0) +4 >Emitted(16, 18) Source(24, 18) + SourceIndex(0) +5 >Emitted(16, 19) Source(24, 19) + SourceIndex(0) --- >>>//# sourceMappingURL=extendedEscapesForAstralsInVarsAndClasses.js.map=================================================================== JsFile: astralAsSurrogatePair.js diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).symbols b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).symbols index 85df1f8dc0559..2a5919ded6bc5 100644 --- a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).symbols +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).symbols @@ -2,11 +2,11 @@ === extendedEscapesForAstralsInVarsAndClasses.ts === // U+102A7 CARIAN LETTER A2 -var 𐊧: string; ->𐊧 : Symbol(𐊧, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 1, 3), Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 3)) +declare var 𐊧: string; +>𐊧 : Symbol(𐊧, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 1, 11), Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 11)) -var \u{102A7}: string; ->\u{102A7} : Symbol(𐊧, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 1, 3), Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 3)) +declare var \u{102A7}: string; +>\u{102A7} : Symbol(𐊧, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 1, 11), Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 11)) if (Math.random()) { >Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) @@ -14,11 +14,11 @@ if (Math.random()) { >random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) 𐊧 = "hello"; ->𐊧 : Symbol(𐊧, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 1, 3), Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 3)) +>𐊧 : Symbol(𐊧, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 1, 11), Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 11)) } else { \u{102A7} = "hallo"; ->\u{102A7} : Symbol(𐊧, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 1, 3), Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 3)) +>\u{102A7} : Symbol(𐊧, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 1, 11), Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 11)) } class Foo { diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).types b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).types index cc561770d8044..567ceb9c94b4b 100644 --- a/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).types +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es2015).types @@ -2,11 +2,11 @@ === extendedEscapesForAstralsInVarsAndClasses.ts === // U+102A7 CARIAN LETTER A2 -var 𐊧: string; +declare var 𐊧: string; >𐊧 : string > : ^^^^^^ -var \u{102A7}: string; +declare var \u{102A7}: string; >\u{102A7} : string > : ^^^^^^ diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).errors.txt b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).errors.txt index d0482948aa891..4ff9ce9e6f575 100644 --- a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).errors.txt +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).errors.txt @@ -5,11 +5,11 @@ astralAsSurrogatePair.ts(1,17): error TS1127: Invalid character. astralAsSurrogatePair.ts(1,18): error TS2305: Module '"./extendedEscapesForAstralsInVarsAndClasses.js"' has no exported member 'uD800'. astralAsSurrogatePair.ts(1,23): error TS1127: Invalid character. astralAsSurrogatePair.ts(1,24): error TS2305: Module '"./extendedEscapesForAstralsInVarsAndClasses.js"' has no exported member 'uDEA7'. -extendedEscapesForAstralsInVarsAndClasses.ts(2,5): error TS1127: Invalid character. -extendedEscapesForAstralsInVarsAndClasses.ts(2,7): error TS1134: Variable declaration expected. -extendedEscapesForAstralsInVarsAndClasses.ts(3,5): error TS1127: Invalid character. -extendedEscapesForAstralsInVarsAndClasses.ts(3,7): error TS1005: ',' expected. -extendedEscapesForAstralsInVarsAndClasses.ts(3,11): error TS1351: An identifier or keyword cannot immediately follow a numeric literal. +extendedEscapesForAstralsInVarsAndClasses.ts(2,13): error TS1127: Invalid character. +extendedEscapesForAstralsInVarsAndClasses.ts(2,15): error TS1134: Variable declaration expected. +extendedEscapesForAstralsInVarsAndClasses.ts(3,13): error TS1127: Invalid character. +extendedEscapesForAstralsInVarsAndClasses.ts(3,15): error TS1005: ',' expected. +extendedEscapesForAstralsInVarsAndClasses.ts(3,19): error TS1351: An identifier or keyword cannot immediately follow a numeric literal. extendedEscapesForAstralsInVarsAndClasses.ts(6,5): error TS1127: Invalid character. extendedEscapesForAstralsInVarsAndClasses.ts(6,8): error TS1128: Declaration or statement expected. extendedEscapesForAstralsInVarsAndClasses.ts(9,5): error TS1127: Invalid character. @@ -50,17 +50,17 @@ extendedEscapesForAstralsInVarsAndClasses.ts(24,12): error TS1128: Declaration o !!! related TS2532 extendedEscapesForAstralsInVarsAndClasses.ts:18:16: Object is possibly 'undefined'. ==== extendedEscapesForAstralsInVarsAndClasses.ts (38 errors) ==== // U+102A7 CARIAN LETTER A2 - var 𐊧: string; - ~~ + declare var 𐊧: string; + ~~ !!! error TS1127: Invalid character. - ~ + ~ !!! error TS1134: Variable declaration expected. - var \u{102A7}: string; - + declare var \u{102A7}: string; + !!! error TS1127: Invalid character. - ~ + ~ !!! error TS1005: ',' expected. - ~~ + ~~ !!! error TS1351: An identifier or keyword cannot immediately follow a numeric literal. if (Math.random()) { diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).js b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).js index 2d6548b846408..d34b06c56d046 100644 --- a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).js +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).js @@ -2,8 +2,8 @@ //// [extendedEscapesForAstralsInVarsAndClasses.ts] // U+102A7 CARIAN LETTER A2 -var 𐊧: string; -var \u{102A7}: string; +declare var 𐊧: string; +declare var \u{102A7}: string; if (Math.random()) { 𐊧 = "hello"; @@ -31,9 +31,6 @@ import { _𐊧 as \uD800\uDEA7 } from "./extendedEscapesForAstralsInVarsAndClass //// [extendedEscapesForAstralsInVarsAndClasses.js] -// U+102A7 CARIAN LETTER A2 -var string; -var u, A7 = (void 0)[102]; if (Math.random()) { "hello"; } diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).js.map b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).js.map index e62265291f04f..0ecca25a49cbe 100644 --- a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).js.map +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).js.map @@ -1,6 +1,6 @@ //// [extendedEscapesForAstralsInVarsAndClasses.js.map] -{"version":3,"file":"extendedEscapesForAstralsInVarsAndClasses.js","sourceRoot":"","sources":["extendedEscapesForAstralsInVarsAndClasses.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,IAAQ,MAAM,CAAC;AACV,IAAA,CAAC,EAAI,EAAE,gBAAA,CAAU;AAEtB,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;IACX,OAAO,CAAC;AACjB,CAAC;KACI,CAAC;IACD,CAAC,CAAA;IAAA,CAAC;QAAA,GAAG,CAAA;QAAA,EAAE,CAAA;IAAA,CAAC;IAAG,OAAO,CAAC;AACxB,CAAC;AAED;IAAA;IACM,CAAC,AAAD;IAAA,UAAC;AAAD,CAAC,AAAD,AADN,IACM;AAAA,CAAC;IAAA,GAAG,CAAA;IAAA,EAAE,CAAA;AAAA,CAAC;AAAE,MAAM,CAAC;AAClB,WAAW,EAAE,CAAA;AAAC,CAAC;IACX,IAAI,CAAC,CAAA;IAAC,CAAC,CAAA;IAAA,CAAC;QAAA,GAAG,CAAA;QAAA,EAAE,CAAA;IAAA,CAAC;IAAG,QAAQ,CAAC;AAC9B,CAAC;AACD,OAAO,EAAE,CAAA;AAAC,CAAC;IACP,OAAO,IAAI,CAAC,EAAE,CAAC;AACnB,CAAC;AAGL,MAAM,CAAC,IAAI,CAAK,CAAA;AAAC,IAAI,GAAG,EAAE,CAAC,CAAA;AAAC,CAAC,CAAA;AAAA,CAAC;IAAA,GAAG,CAAA;IAAA,EAAE,CAAA;AAAA,CAAC;AAAC,CAAE,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAE3D,CAAC,CAAA;AAAC,CAAC,CAAA;AAAA,CAAC;IAAA,GAAG,CAAA;IAAA,EAAE,CAAA;AAAA,CAAC;AAAI,GAAG,CAAC"} -//// https://sokra.github.io/source-map-visualization#base64,Ly8gVSsxMDJBNyBDQVJJQU4gTEVUVEVSIEEyDQp2YXIgc3RyaW5nOw0KdmFyIHUsIEE3ID0gKHZvaWQgMClbMTAyXTsNCmlmIChNYXRoLnJhbmRvbSgpKSB7DQogICAgImhlbGxvIjsNCn0NCmVsc2Ugew0KICAgIHU7DQogICAgew0KICAgICAgICAxMDI7DQogICAgICAgIEE3Ow0KICAgIH0NCiAgICAiaGFsbG8iOw0KfQ0KdmFyIEZvbyA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHsNCiAgICBmdW5jdGlvbiBGb28oKSB7DQogICAgfQ0KICAgIHJldHVybiBGb287DQp9KCkpOw0Kew0KICAgIDEwMjsNCiAgICBBNzsNCn0NCnN0cmluZzsNCmNvbnN0cnVjdG9yKCk7DQp7DQogICAgdGhpcy47DQogICAgdTsNCiAgICB7DQogICAgICAgIDEwMjsNCiAgICAgICAgQTc7DQogICAgfQ0KICAgICIgd29ybGQiOw0KfQ0KbWV0aG9kQSgpOw0Kew0KICAgIHJldHVybiB0aGlzLu2ggO26pzsNCn0NCmV4cG9ydCB2YXIgXzsNCm5ldyBGb28oKS47DQp1Ow0Kew0KICAgIDEwMjsNCiAgICBBNzsNCn0NCituZXcgRm9vKCkubWV0aG9kQSgpOw0KXzsNCnU7DQp7DQogICAgMTAyOw0KICAgIEE3Ow0KfQ0KIiEiOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXh0ZW5kZWRFc2NhcGVzRm9yQXN0cmFsc0luVmFyc0FuZENsYXNzZXMuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWRFc2NhcGVzRm9yQXN0cmFsc0luVmFyc0FuZENsYXNzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlbmRlZEVzY2FwZXNGb3JBc3RyYWxzSW5WYXJzQW5kQ2xhc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkI7QUFDM0IsSUFBUSxNQUFNLENBQUM7QUFDVixJQUFBLENBQUMsRUFBSSxFQUFFLGdCQUFBLENBQVU7QUFFdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUNYLE9BQU8sQ0FBQztBQUNqQixDQUFDO0tBQ0ksQ0FBQztJQUNELENBQUMsQ0FBQTtJQUFBLENBQUM7UUFBQSxHQUFHLENBQUE7UUFBQSxFQUFFLENBQUE7SUFBQSxDQUFDO0lBQUcsT0FBTyxDQUFDO0FBQ3hCLENBQUM7QUFFRDtJQUFBO0lBQ00sQ0FBQyxBQUFEO0lBQUEsVUFBQztBQUFELENBQUMsQUFBRCxBQUROLElBQ007QUFBQSxDQUFDO0lBQUEsR0FBRyxDQUFBO0lBQUEsRUFBRSxDQUFBO0FBQUEsQ0FBQztBQUFFLE1BQU0sQ0FBQztBQUNsQixXQUFXLEVBQUUsQ0FBQTtBQUFDLENBQUM7SUFDWCxJQUFJLENBQUMsQ0FBQTtJQUFDLENBQUMsQ0FBQTtJQUFBLENBQUM7UUFBQSxHQUFHLENBQUE7UUFBQSxFQUFFLENBQUE7SUFBQSxDQUFDO0lBQUcsUUFBUSxDQUFDO0FBQzlCLENBQUM7QUFDRCxPQUFPLEVBQUUsQ0FBQTtBQUFDLENBQUM7SUFDUCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDbkIsQ0FBQztBQUdMLE1BQU0sQ0FBQyxJQUFJLENBQUssQ0FBQTtBQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQTtBQUFDLENBQUMsQ0FBQTtBQUFBLENBQUM7SUFBQSxHQUFHLENBQUE7SUFBQSxFQUFFLENBQUE7QUFBQSxDQUFDO0FBQUMsQ0FBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBRTNELENBQUMsQ0FBQTtBQUFDLENBQUMsQ0FBQTtBQUFBLENBQUM7SUFBQSxHQUFHLENBQUE7SUFBQSxFQUFFLENBQUE7QUFBQSxDQUFDO0FBQUksR0FBRyxDQUFDIn0=,Ly8gVSsxMDJBNyBDQVJJQU4gTEVUVEVSIEEyCnZhciDtoIDtuqc6IHN0cmluZzsKdmFyIFx1ezEwMkE3fTogc3RyaW5nOwoKaWYgKE1hdGgucmFuZG9tKCkpIHsKICAgIO2ggO26pyA9ICJoZWxsbyI7Cn0KZWxzZSB7CiAgICBcdXsxMDJBN30gPSAiaGFsbG8iOwp9CgpjbGFzcyBGb28gewogICAgXHV7MTAyQTd9OiBzdHJpbmc7CiAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgICB0aGlzLlx1ezEwMkE3fSA9ICIgd29ybGQiOwogICAgfQogICAgbWV0aG9kQSgpIHsKICAgICAgICByZXR1cm4gdGhpcy7toIDtuqc7CiAgICB9Cn0KCmV4cG9ydCB2YXIgX+2ggO26pyA9IG5ldyBGb28oKS5cdXsxMDJBN30gKyBuZXcgRm9vKCkubWV0aG9kQSgpOwoKX1x1ezEwMkE3fSArPSAiISI7Cg== +{"version":3,"file":"extendedEscapesForAstralsInVarsAndClasses.js","sourceRoot":"","sources":["extendedEscapesForAstralsInVarsAndClasses.ts"],"names":[],"mappings":"AAIA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;IACX,OAAO,CAAC;AACjB,CAAC;KACI,CAAC;IACD,CAAC,CAAA;IAAA,CAAC;QAAA,GAAG,CAAA;QAAA,EAAE,CAAA;IAAA,CAAC;IAAG,OAAO,CAAC;AACxB,CAAC;AAED;IAAA;IACM,CAAC,AAAD;IAAA,UAAC;AAAD,CAAC,AAAD,AADN,IACM;AAAA,CAAC;IAAA,GAAG,CAAA;IAAA,EAAE,CAAA;AAAA,CAAC;AAAE,MAAM,CAAC;AAClB,WAAW,EAAE,CAAA;AAAC,CAAC;IACX,IAAI,CAAC,CAAA;IAAC,CAAC,CAAA;IAAA,CAAC;QAAA,GAAG,CAAA;QAAA,EAAE,CAAA;IAAA,CAAC;IAAG,QAAQ,CAAC;AAC9B,CAAC;AACD,OAAO,EAAE,CAAA;AAAC,CAAC;IACP,OAAO,IAAI,CAAC,EAAE,CAAC;AACnB,CAAC;AAGL,MAAM,CAAC,IAAI,CAAK,CAAA;AAAC,IAAI,GAAG,EAAE,CAAC,CAAA;AAAC,CAAC,CAAA;AAAA,CAAC;IAAA,GAAG,CAAA;IAAA,EAAE,CAAA;AAAA,CAAC;AAAC,CAAE,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAE3D,CAAC,CAAA;AAAC,CAAC,CAAA;AAAA,CAAC;IAAA,GAAG,CAAA;IAAA,EAAE,CAAA;AAAA,CAAC;AAAI,GAAG,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,aWYgKE1hdGgucmFuZG9tKCkpIHsNCiAgICAiaGVsbG8iOw0KfQ0KZWxzZSB7DQogICAgdTsNCiAgICB7DQogICAgICAgIDEwMjsNCiAgICAgICAgQTc7DQogICAgfQ0KICAgICJoYWxsbyI7DQp9DQp2YXIgRm9vID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIEZvbygpIHsNCiAgICB9DQogICAgcmV0dXJuIEZvbzsNCn0oKSk7DQp7DQogICAgMTAyOw0KICAgIEE3Ow0KfQ0Kc3RyaW5nOw0KY29uc3RydWN0b3IoKTsNCnsNCiAgICB0aGlzLjsNCiAgICB1Ow0KICAgIHsNCiAgICAgICAgMTAyOw0KICAgICAgICBBNzsNCiAgICB9DQogICAgIiB3b3JsZCI7DQp9DQptZXRob2RBKCk7DQp7DQogICAgcmV0dXJuIHRoaXMu7aCA7bqnOw0KfQ0KZXhwb3J0IHZhciBfOw0KbmV3IEZvbygpLjsNCnU7DQp7DQogICAgMTAyOw0KICAgIEE3Ow0KfQ0KK25ldyBGb28oKS5tZXRob2RBKCk7DQpfOw0KdTsNCnsNCiAgICAxMDI7DQogICAgQTc7DQp9DQoiISI7DQovLyMgc291cmNlTWFwcGluZ1VSTD1leHRlbmRlZEVzY2FwZXNGb3JBc3RyYWxzSW5WYXJzQW5kQ2xhc3Nlcy5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWRFc2NhcGVzRm9yQXN0cmFsc0luVmFyc0FuZENsYXNzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlbmRlZEVzY2FwZXNGb3JBc3RyYWxzSW5WYXJzQW5kQ2xhc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBQ1gsT0FBTyxDQUFDO0FBQ2pCLENBQUM7S0FDSSxDQUFDO0lBQ0QsQ0FBQyxDQUFBO0lBQUEsQ0FBQztRQUFBLEdBQUcsQ0FBQTtRQUFBLEVBQUUsQ0FBQTtJQUFBLENBQUM7SUFBRyxPQUFPLENBQUM7QUFDeEIsQ0FBQztBQUVEO0lBQUE7SUFDTSxDQUFDLEFBQUQ7SUFBQSxVQUFDO0FBQUQsQ0FBQyxBQUFELEFBRE4sSUFDTTtBQUFBLENBQUM7SUFBQSxHQUFHLENBQUE7SUFBQSxFQUFFLENBQUE7QUFBQSxDQUFDO0FBQUUsTUFBTSxDQUFDO0FBQ2xCLFdBQVcsRUFBRSxDQUFBO0FBQUMsQ0FBQztJQUNYLElBQUksQ0FBQyxDQUFBO0lBQUMsQ0FBQyxDQUFBO0lBQUEsQ0FBQztRQUFBLEdBQUcsQ0FBQTtRQUFBLEVBQUUsQ0FBQTtJQUFBLENBQUM7SUFBRyxRQUFRLENBQUM7QUFDOUIsQ0FBQztBQUNELE9BQU8sRUFBRSxDQUFBO0FBQUMsQ0FBQztJQUNQLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztBQUNuQixDQUFDO0FBR0wsTUFBTSxDQUFDLElBQUksQ0FBSyxDQUFBO0FBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQUMsQ0FBQyxDQUFBO0FBQUEsQ0FBQztJQUFBLEdBQUcsQ0FBQTtJQUFBLEVBQUUsQ0FBQTtBQUFBLENBQUM7QUFBQyxDQUFFLElBQUksR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7QUFFM0QsQ0FBQyxDQUFBO0FBQUMsQ0FBQyxDQUFBO0FBQUEsQ0FBQztJQUFBLEdBQUcsQ0FBQTtJQUFBLEVBQUUsQ0FBQTtBQUFBLENBQUM7QUFBSSxHQUFHLENBQUMifQ==,Ly8gVSsxMDJBNyBDQVJJQU4gTEVUVEVSIEEyCmRlY2xhcmUgdmFyIO2ggO26pzogc3RyaW5nOwpkZWNsYXJlIHZhciBcdXsxMDJBN306IHN0cmluZzsKCmlmIChNYXRoLnJhbmRvbSgpKSB7CiAgICDtoIDtuqcgPSAiaGVsbG8iOwp9CmVsc2UgewogICAgXHV7MTAyQTd9ID0gImhhbGxvIjsKfQoKY2xhc3MgRm9vIHsKICAgIFx1ezEwMkE3fTogc3RyaW5nOwogICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgdGhpcy5cdXsxMDJBN30gPSAiIHdvcmxkIjsKICAgIH0KICAgIG1ldGhvZEEoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMu7aCA7bqnOwogICAgfQp9CgpleHBvcnQgdmFyIF/toIDtuqcgPSBuZXcgRm9vKCkuXHV7MTAyQTd9ICsgbmV3IEZvbygpLm1ldGhvZEEoKTsKCl9cdXsxMDJBN30gKz0gIiEiOwo= //// [astralAsSurrogatePair.js.map] {"version":3,"file":"astralAsSurrogatePair.js","sourceRoot":"","sources":["astralAsSurrogatePair.ts"],"names":[],"mappings":""} diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).sourcemap.txt b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).sourcemap.txt index 402cd48063928..4d92cc81cdd84 100644 --- a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).sourcemap.txt +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).sourcemap.txt @@ -8,54 +8,6 @@ sources: extendedEscapesForAstralsInVarsAndClasses.ts emittedFile:extendedEscapesForAstralsInVarsAndClasses.js sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts ------------------------------------------------------------------- ->>>// U+102A7 CARIAN LETTER A2 -1 > -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1 > -2 >// U+102A7 CARIAN LETTER A2 -1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) -2 >Emitted(1, 28) Source(1, 28) + SourceIndex(0) ---- ->>>var string; -1 > -2 >^^^^ -3 > ^^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^^^-> -1 > - > -2 >var 𐊧: -3 > string -4 > ; -1 >Emitted(2, 1) Source(2, 1) + SourceIndex(0) -2 >Emitted(2, 5) Source(2, 9) + SourceIndex(0) -3 >Emitted(2, 11) Source(2, 15) + SourceIndex(0) -4 >Emitted(2, 12) Source(2, 16) + SourceIndex(0) ---- ->>>var u, A7 = (void 0)[102]; -1-> -2 >^^^^ -3 > ^ -4 > ^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^ -7 > ^ -1-> - >var \ -2 > -3 > u -4 > {102 -5 > A7 -6 > -7 > }: string; -1->Emitted(3, 1) Source(3, 6) + SourceIndex(0) -2 >Emitted(3, 5) Source(3, 6) + SourceIndex(0) -3 >Emitted(3, 6) Source(3, 7) + SourceIndex(0) -4 >Emitted(3, 8) Source(3, 11) + SourceIndex(0) -5 >Emitted(3, 10) Source(3, 13) + SourceIndex(0) -6 >Emitted(3, 26) Source(3, 13) + SourceIndex(0) -7 >Emitted(3, 27) Source(3, 23) + SourceIndex(0) ---- >>>if (Math.random()) { 1 > 2 >^^^^ @@ -65,7 +17,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 6 > ^^ 7 > ^^ 8 > ^ -1 > +1 >// U+102A7 CARIAN LETTER A2 + >declare var 𐊧: string; + >declare var \u{102A7}: string; > > 2 >if ( @@ -75,14 +29,14 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 6 > () 7 > ) 8 > { -1 >Emitted(4, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(4, 5) Source(5, 5) + SourceIndex(0) -3 >Emitted(4, 9) Source(5, 9) + SourceIndex(0) -4 >Emitted(4, 10) Source(5, 10) + SourceIndex(0) -5 >Emitted(4, 16) Source(5, 16) + SourceIndex(0) -6 >Emitted(4, 18) Source(5, 18) + SourceIndex(0) -7 >Emitted(4, 20) Source(5, 20) + SourceIndex(0) -8 >Emitted(4, 21) Source(5, 21) + SourceIndex(0) +1 >Emitted(1, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(1, 5) Source(5, 5) + SourceIndex(0) +3 >Emitted(1, 9) Source(5, 9) + SourceIndex(0) +4 >Emitted(1, 10) Source(5, 10) + SourceIndex(0) +5 >Emitted(1, 16) Source(5, 16) + SourceIndex(0) +6 >Emitted(1, 18) Source(5, 18) + SourceIndex(0) +7 >Emitted(1, 20) Source(5, 20) + SourceIndex(0) +8 >Emitted(1, 21) Source(5, 21) + SourceIndex(0) --- >>> "hello"; 1 >^^^^ @@ -92,9 +46,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts > 𐊧 = 2 > "hello" 3 > ; -1 >Emitted(5, 5) Source(6, 10) + SourceIndex(0) -2 >Emitted(5, 12) Source(6, 17) + SourceIndex(0) -3 >Emitted(5, 13) Source(6, 18) + SourceIndex(0) +1 >Emitted(2, 5) Source(6, 10) + SourceIndex(0) +2 >Emitted(2, 12) Source(6, 17) + SourceIndex(0) +3 >Emitted(2, 13) Source(6, 18) + SourceIndex(0) --- >>>} 1 > @@ -103,8 +57,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1 > > 2 >} -1 >Emitted(6, 1) Source(7, 1) + SourceIndex(0) -2 >Emitted(6, 2) Source(7, 2) + SourceIndex(0) +1 >Emitted(3, 1) Source(7, 1) + SourceIndex(0) +2 >Emitted(3, 2) Source(7, 2) + SourceIndex(0) --- >>>else { 1->^^^^^ @@ -113,8 +67,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1-> >else 2 > { -1->Emitted(7, 6) Source(8, 6) + SourceIndex(0) -2 >Emitted(7, 7) Source(8, 7) + SourceIndex(0) +1->Emitted(4, 6) Source(8, 6) + SourceIndex(0) +2 >Emitted(4, 7) Source(8, 7) + SourceIndex(0) --- >>> u; 1->^^^^ @@ -124,9 +78,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts > \ 2 > u 3 > -1->Emitted(8, 5) Source(9, 6) + SourceIndex(0) -2 >Emitted(8, 6) Source(9, 7) + SourceIndex(0) -3 >Emitted(8, 7) Source(9, 7) + SourceIndex(0) +1->Emitted(5, 5) Source(9, 6) + SourceIndex(0) +2 >Emitted(5, 6) Source(9, 7) + SourceIndex(0) +3 >Emitted(5, 7) Source(9, 7) + SourceIndex(0) --- >>> { 1 >^^^^ @@ -134,8 +88,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 3 > ^^^^^^^^-> 1 > 2 > { -1 >Emitted(9, 5) Source(9, 7) + SourceIndex(0) -2 >Emitted(9, 6) Source(9, 8) + SourceIndex(0) +1 >Emitted(6, 5) Source(9, 7) + SourceIndex(0) +2 >Emitted(6, 6) Source(9, 8) + SourceIndex(0) --- >>> 102; 1->^^^^^^^^ @@ -144,9 +98,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1-> 2 > 102 3 > -1->Emitted(10, 9) Source(9, 8) + SourceIndex(0) -2 >Emitted(10, 12) Source(9, 11) + SourceIndex(0) -3 >Emitted(10, 13) Source(9, 11) + SourceIndex(0) +1->Emitted(7, 9) Source(9, 8) + SourceIndex(0) +2 >Emitted(7, 12) Source(9, 11) + SourceIndex(0) +3 >Emitted(7, 13) Source(9, 11) + SourceIndex(0) --- >>> A7; 1 >^^^^^^^^ @@ -155,9 +109,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1 > 2 > A7 3 > -1 >Emitted(11, 9) Source(9, 11) + SourceIndex(0) -2 >Emitted(11, 11) Source(9, 13) + SourceIndex(0) -3 >Emitted(11, 12) Source(9, 13) + SourceIndex(0) +1 >Emitted(8, 9) Source(9, 11) + SourceIndex(0) +2 >Emitted(8, 11) Source(9, 13) + SourceIndex(0) +3 >Emitted(8, 12) Source(9, 13) + SourceIndex(0) --- >>> } 1 >^^^^ @@ -165,8 +119,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 3 > ^^^^^^^^-> 1 > 2 > } -1 >Emitted(12, 5) Source(9, 13) + SourceIndex(0) -2 >Emitted(12, 6) Source(9, 14) + SourceIndex(0) +1 >Emitted(9, 5) Source(9, 13) + SourceIndex(0) +2 >Emitted(9, 6) Source(9, 14) + SourceIndex(0) --- >>> "hallo"; 1->^^^^ @@ -175,9 +129,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1-> = 2 > "hallo" 3 > ; -1->Emitted(13, 5) Source(9, 17) + SourceIndex(0) -2 >Emitted(13, 12) Source(9, 24) + SourceIndex(0) -3 >Emitted(13, 13) Source(9, 25) + SourceIndex(0) +1->Emitted(10, 5) Source(9, 17) + SourceIndex(0) +2 >Emitted(10, 12) Source(9, 24) + SourceIndex(0) +3 >Emitted(10, 13) Source(9, 25) + SourceIndex(0) --- >>>} 1 > @@ -186,8 +140,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1 > > 2 >} -1 >Emitted(14, 1) Source(10, 1) + SourceIndex(0) -2 >Emitted(14, 2) Source(10, 2) + SourceIndex(0) +1 >Emitted(11, 1) Source(10, 1) + SourceIndex(0) +2 >Emitted(11, 2) Source(10, 2) + SourceIndex(0) --- >>>var Foo = /** @class */ (function () { 1-> @@ -195,13 +149,13 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1-> > > -1->Emitted(15, 1) Source(12, 1) + SourceIndex(0) +1->Emitted(12, 1) Source(12, 1) + SourceIndex(0) --- >>> function Foo() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(16, 5) Source(12, 1) + SourceIndex(0) +1->Emitted(13, 5) Source(12, 1) + SourceIndex(0) --- >>> } 1->^^^^ @@ -212,17 +166,17 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts > \u 2 > { 3 > -1->Emitted(17, 5) Source(13, 7) + SourceIndex(0) -2 >Emitted(17, 6) Source(13, 8) + SourceIndex(0) -3 >Emitted(17, 6) Source(13, 7) + SourceIndex(0) +1->Emitted(14, 5) Source(13, 7) + SourceIndex(0) +2 >Emitted(14, 6) Source(13, 8) + SourceIndex(0) +3 >Emitted(14, 6) Source(13, 7) + SourceIndex(0) --- >>> return Foo; 1->^^^^ 2 > ^^^^^^^^^^ 1-> 2 > { -1->Emitted(18, 5) Source(13, 7) + SourceIndex(0) -2 >Emitted(18, 15) Source(13, 8) + SourceIndex(0) +1->Emitted(15, 5) Source(13, 7) + SourceIndex(0) +2 >Emitted(15, 15) Source(13, 8) + SourceIndex(0) --- >>>}()); 1 > @@ -236,11 +190,11 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 4 > 5 > class Foo { > \u -1 >Emitted(19, 1) Source(13, 7) + SourceIndex(0) -2 >Emitted(19, 2) Source(13, 8) + SourceIndex(0) -3 >Emitted(19, 2) Source(13, 7) + SourceIndex(0) -4 >Emitted(19, 2) Source(12, 1) + SourceIndex(0) -5 >Emitted(19, 6) Source(13, 7) + SourceIndex(0) +1 >Emitted(16, 1) Source(13, 7) + SourceIndex(0) +2 >Emitted(16, 2) Source(13, 8) + SourceIndex(0) +3 >Emitted(16, 2) Source(13, 7) + SourceIndex(0) +4 >Emitted(16, 2) Source(12, 1) + SourceIndex(0) +5 >Emitted(16, 6) Source(13, 7) + SourceIndex(0) --- >>>{ 1 > @@ -248,8 +202,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 3 > ^^^^^^^^-> 1 > 2 >{ -1 >Emitted(20, 1) Source(13, 7) + SourceIndex(0) -2 >Emitted(20, 2) Source(13, 8) + SourceIndex(0) +1 >Emitted(17, 1) Source(13, 7) + SourceIndex(0) +2 >Emitted(17, 2) Source(13, 8) + SourceIndex(0) --- >>> 102; 1->^^^^ @@ -258,9 +212,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1-> 2 > 102 3 > -1->Emitted(21, 5) Source(13, 8) + SourceIndex(0) -2 >Emitted(21, 8) Source(13, 11) + SourceIndex(0) -3 >Emitted(21, 9) Source(13, 11) + SourceIndex(0) +1->Emitted(18, 5) Source(13, 8) + SourceIndex(0) +2 >Emitted(18, 8) Source(13, 11) + SourceIndex(0) +3 >Emitted(18, 9) Source(13, 11) + SourceIndex(0) --- >>> A7; 1 >^^^^ @@ -269,9 +223,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1 > 2 > A7 3 > -1 >Emitted(22, 5) Source(13, 11) + SourceIndex(0) -2 >Emitted(22, 7) Source(13, 13) + SourceIndex(0) -3 >Emitted(22, 8) Source(13, 13) + SourceIndex(0) +1 >Emitted(19, 5) Source(13, 11) + SourceIndex(0) +2 >Emitted(19, 7) Source(13, 13) + SourceIndex(0) +3 >Emitted(19, 8) Source(13, 13) + SourceIndex(0) --- >>>} 1 > @@ -279,8 +233,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 3 > ^^^^^^^-> 1 > 2 >} -1 >Emitted(23, 1) Source(13, 13) + SourceIndex(0) -2 >Emitted(23, 2) Source(13, 14) + SourceIndex(0) +1 >Emitted(20, 1) Source(13, 13) + SourceIndex(0) +2 >Emitted(20, 2) Source(13, 14) + SourceIndex(0) --- >>>string; 1-> @@ -290,9 +244,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1->: 2 >string 3 > ; -1->Emitted(24, 1) Source(13, 16) + SourceIndex(0) -2 >Emitted(24, 7) Source(13, 22) + SourceIndex(0) -3 >Emitted(24, 8) Source(13, 23) + SourceIndex(0) +1->Emitted(21, 1) Source(13, 16) + SourceIndex(0) +2 >Emitted(21, 7) Source(13, 22) + SourceIndex(0) +3 >Emitted(21, 8) Source(13, 23) + SourceIndex(0) --- >>>constructor(); 1-> @@ -304,10 +258,10 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 2 >constructor 3 > () 4 > -1->Emitted(25, 1) Source(14, 5) + SourceIndex(0) -2 >Emitted(25, 12) Source(14, 16) + SourceIndex(0) -3 >Emitted(25, 14) Source(14, 18) + SourceIndex(0) -4 >Emitted(25, 15) Source(14, 18) + SourceIndex(0) +1->Emitted(22, 1) Source(14, 5) + SourceIndex(0) +2 >Emitted(22, 12) Source(14, 16) + SourceIndex(0) +3 >Emitted(22, 14) Source(14, 18) + SourceIndex(0) +4 >Emitted(22, 15) Source(14, 18) + SourceIndex(0) --- >>>{ 1 > @@ -315,8 +269,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 3 > ^^^^^^^^^^-> 1 > 2 >{ -1 >Emitted(26, 1) Source(14, 19) + SourceIndex(0) -2 >Emitted(26, 2) Source(14, 20) + SourceIndex(0) +1 >Emitted(23, 1) Source(14, 19) + SourceIndex(0) +2 >Emitted(23, 2) Source(14, 20) + SourceIndex(0) --- >>> this.; 1->^^^^ @@ -328,10 +282,10 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 2 > this 3 > . 4 > -1->Emitted(27, 5) Source(15, 9) + SourceIndex(0) -2 >Emitted(27, 9) Source(15, 13) + SourceIndex(0) -3 >Emitted(27, 10) Source(15, 14) + SourceIndex(0) -4 >Emitted(27, 11) Source(15, 14) + SourceIndex(0) +1->Emitted(24, 5) Source(15, 9) + SourceIndex(0) +2 >Emitted(24, 9) Source(15, 13) + SourceIndex(0) +3 >Emitted(24, 10) Source(15, 14) + SourceIndex(0) +4 >Emitted(24, 11) Source(15, 14) + SourceIndex(0) --- >>> u; 1 >^^^^ @@ -340,9 +294,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1 >\ 2 > u 3 > -1 >Emitted(28, 5) Source(15, 15) + SourceIndex(0) -2 >Emitted(28, 6) Source(15, 16) + SourceIndex(0) -3 >Emitted(28, 7) Source(15, 16) + SourceIndex(0) +1 >Emitted(25, 5) Source(15, 15) + SourceIndex(0) +2 >Emitted(25, 6) Source(15, 16) + SourceIndex(0) +3 >Emitted(25, 7) Source(15, 16) + SourceIndex(0) --- >>> { 1 >^^^^ @@ -350,8 +304,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 3 > ^^^^^^^^-> 1 > 2 > { -1 >Emitted(29, 5) Source(15, 16) + SourceIndex(0) -2 >Emitted(29, 6) Source(15, 17) + SourceIndex(0) +1 >Emitted(26, 5) Source(15, 16) + SourceIndex(0) +2 >Emitted(26, 6) Source(15, 17) + SourceIndex(0) --- >>> 102; 1->^^^^^^^^ @@ -360,9 +314,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1-> 2 > 102 3 > -1->Emitted(30, 9) Source(15, 17) + SourceIndex(0) -2 >Emitted(30, 12) Source(15, 20) + SourceIndex(0) -3 >Emitted(30, 13) Source(15, 20) + SourceIndex(0) +1->Emitted(27, 9) Source(15, 17) + SourceIndex(0) +2 >Emitted(27, 12) Source(15, 20) + SourceIndex(0) +3 >Emitted(27, 13) Source(15, 20) + SourceIndex(0) --- >>> A7; 1 >^^^^^^^^ @@ -371,9 +325,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1 > 2 > A7 3 > -1 >Emitted(31, 9) Source(15, 20) + SourceIndex(0) -2 >Emitted(31, 11) Source(15, 22) + SourceIndex(0) -3 >Emitted(31, 12) Source(15, 22) + SourceIndex(0) +1 >Emitted(28, 9) Source(15, 20) + SourceIndex(0) +2 >Emitted(28, 11) Source(15, 22) + SourceIndex(0) +3 >Emitted(28, 12) Source(15, 22) + SourceIndex(0) --- >>> } 1 >^^^^ @@ -381,8 +335,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 3 > ^^^^^^^^^-> 1 > 2 > } -1 >Emitted(32, 5) Source(15, 22) + SourceIndex(0) -2 >Emitted(32, 6) Source(15, 23) + SourceIndex(0) +1 >Emitted(29, 5) Source(15, 22) + SourceIndex(0) +2 >Emitted(29, 6) Source(15, 23) + SourceIndex(0) --- >>> " world"; 1->^^^^ @@ -391,9 +345,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1-> = 2 > " world" 3 > ; -1->Emitted(33, 5) Source(15, 26) + SourceIndex(0) -2 >Emitted(33, 13) Source(15, 34) + SourceIndex(0) -3 >Emitted(33, 14) Source(15, 35) + SourceIndex(0) +1->Emitted(30, 5) Source(15, 26) + SourceIndex(0) +2 >Emitted(30, 13) Source(15, 34) + SourceIndex(0) +3 >Emitted(30, 14) Source(15, 35) + SourceIndex(0) --- >>>} 1 > @@ -402,8 +356,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1 > > 2 >} -1 >Emitted(34, 1) Source(16, 5) + SourceIndex(0) -2 >Emitted(34, 2) Source(16, 6) + SourceIndex(0) +1 >Emitted(31, 1) Source(16, 5) + SourceIndex(0) +2 >Emitted(31, 2) Source(16, 6) + SourceIndex(0) --- >>>methodA(); 1-> @@ -415,10 +369,10 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 2 >methodA 3 > () 4 > -1->Emitted(35, 1) Source(17, 5) + SourceIndex(0) -2 >Emitted(35, 8) Source(17, 12) + SourceIndex(0) -3 >Emitted(35, 10) Source(17, 14) + SourceIndex(0) -4 >Emitted(35, 11) Source(17, 14) + SourceIndex(0) +1->Emitted(32, 1) Source(17, 5) + SourceIndex(0) +2 >Emitted(32, 8) Source(17, 12) + SourceIndex(0) +3 >Emitted(32, 10) Source(17, 14) + SourceIndex(0) +4 >Emitted(32, 11) Source(17, 14) + SourceIndex(0) --- >>>{ 1 > @@ -426,8 +380,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 3 > ^^^^^^^^^^^^^^^^^^^-> 1 > 2 >{ -1 >Emitted(36, 1) Source(17, 15) + SourceIndex(0) -2 >Emitted(36, 2) Source(17, 16) + SourceIndex(0) +1 >Emitted(33, 1) Source(17, 15) + SourceIndex(0) +2 >Emitted(33, 2) Source(17, 16) + SourceIndex(0) --- >>> return this.𐊧; 1->^^^^ @@ -443,12 +397,12 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 4 > . 5 > 𐊧 6 > ; -1->Emitted(37, 5) Source(18, 9) + SourceIndex(0) -2 >Emitted(37, 12) Source(18, 16) + SourceIndex(0) -3 >Emitted(37, 16) Source(18, 20) + SourceIndex(0) -4 >Emitted(37, 17) Source(18, 21) + SourceIndex(0) -5 >Emitted(37, 19) Source(18, 23) + SourceIndex(0) -6 >Emitted(37, 20) Source(18, 24) + SourceIndex(0) +1->Emitted(34, 5) Source(18, 9) + SourceIndex(0) +2 >Emitted(34, 12) Source(18, 16) + SourceIndex(0) +3 >Emitted(34, 16) Source(18, 20) + SourceIndex(0) +4 >Emitted(34, 17) Source(18, 21) + SourceIndex(0) +5 >Emitted(34, 19) Source(18, 23) + SourceIndex(0) +6 >Emitted(34, 20) Source(18, 24) + SourceIndex(0) --- >>>} 1 > @@ -457,8 +411,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1 > > 2 >} -1 >Emitted(38, 1) Source(19, 5) + SourceIndex(0) -2 >Emitted(38, 2) Source(19, 6) + SourceIndex(0) +1 >Emitted(35, 1) Source(19, 5) + SourceIndex(0) +2 >Emitted(35, 2) Source(19, 6) + SourceIndex(0) --- >>>export var _; 1-> @@ -476,12 +430,12 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 4 > var 5 > _𐊧 = 6 > -1->Emitted(39, 1) Source(22, 1) + SourceIndex(0) -2 >Emitted(39, 7) Source(22, 7) + SourceIndex(0) -3 >Emitted(39, 8) Source(22, 8) + SourceIndex(0) -4 >Emitted(39, 12) Source(22, 12) + SourceIndex(0) -5 >Emitted(39, 13) Source(22, 17) + SourceIndex(0) -6 >Emitted(39, 14) Source(22, 17) + SourceIndex(0) +1->Emitted(36, 1) Source(22, 1) + SourceIndex(0) +2 >Emitted(36, 7) Source(22, 7) + SourceIndex(0) +3 >Emitted(36, 8) Source(22, 8) + SourceIndex(0) +4 >Emitted(36, 12) Source(22, 12) + SourceIndex(0) +5 >Emitted(36, 13) Source(22, 17) + SourceIndex(0) +6 >Emitted(36, 14) Source(22, 17) + SourceIndex(0) --- >>>new Foo().; 1 > @@ -496,12 +450,12 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 4 > () 5 > . 6 > -1 >Emitted(40, 1) Source(22, 18) + SourceIndex(0) -2 >Emitted(40, 5) Source(22, 22) + SourceIndex(0) -3 >Emitted(40, 8) Source(22, 25) + SourceIndex(0) -4 >Emitted(40, 10) Source(22, 27) + SourceIndex(0) -5 >Emitted(40, 11) Source(22, 28) + SourceIndex(0) -6 >Emitted(40, 12) Source(22, 28) + SourceIndex(0) +1 >Emitted(37, 1) Source(22, 18) + SourceIndex(0) +2 >Emitted(37, 5) Source(22, 22) + SourceIndex(0) +3 >Emitted(37, 8) Source(22, 25) + SourceIndex(0) +4 >Emitted(37, 10) Source(22, 27) + SourceIndex(0) +5 >Emitted(37, 11) Source(22, 28) + SourceIndex(0) +6 >Emitted(37, 12) Source(22, 28) + SourceIndex(0) --- >>>u; 1 > @@ -510,9 +464,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1 >\ 2 >u 3 > -1 >Emitted(41, 1) Source(22, 29) + SourceIndex(0) -2 >Emitted(41, 2) Source(22, 30) + SourceIndex(0) -3 >Emitted(41, 3) Source(22, 30) + SourceIndex(0) +1 >Emitted(38, 1) Source(22, 29) + SourceIndex(0) +2 >Emitted(38, 2) Source(22, 30) + SourceIndex(0) +3 >Emitted(38, 3) Source(22, 30) + SourceIndex(0) --- >>>{ 1 > @@ -520,8 +474,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 3 > ^^^^^^^^-> 1 > 2 >{ -1 >Emitted(42, 1) Source(22, 30) + SourceIndex(0) -2 >Emitted(42, 2) Source(22, 31) + SourceIndex(0) +1 >Emitted(39, 1) Source(22, 30) + SourceIndex(0) +2 >Emitted(39, 2) Source(22, 31) + SourceIndex(0) --- >>> 102; 1->^^^^ @@ -530,9 +484,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1-> 2 > 102 3 > -1->Emitted(43, 5) Source(22, 31) + SourceIndex(0) -2 >Emitted(43, 8) Source(22, 34) + SourceIndex(0) -3 >Emitted(43, 9) Source(22, 34) + SourceIndex(0) +1->Emitted(40, 5) Source(22, 31) + SourceIndex(0) +2 >Emitted(40, 8) Source(22, 34) + SourceIndex(0) +3 >Emitted(40, 9) Source(22, 34) + SourceIndex(0) --- >>> A7; 1 >^^^^ @@ -541,9 +495,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1 > 2 > A7 3 > -1 >Emitted(44, 5) Source(22, 34) + SourceIndex(0) -2 >Emitted(44, 7) Source(22, 36) + SourceIndex(0) -3 >Emitted(44, 8) Source(22, 36) + SourceIndex(0) +1 >Emitted(41, 5) Source(22, 34) + SourceIndex(0) +2 >Emitted(41, 7) Source(22, 36) + SourceIndex(0) +3 >Emitted(41, 8) Source(22, 36) + SourceIndex(0) --- >>>} 1 > @@ -551,8 +505,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 3 > ^^^^^^^^^^^^^^^^^^^^^-> 1 > 2 >} -1 >Emitted(45, 1) Source(22, 36) + SourceIndex(0) -2 >Emitted(45, 2) Source(22, 37) + SourceIndex(0) +1 >Emitted(42, 1) Source(22, 36) + SourceIndex(0) +2 >Emitted(42, 2) Source(22, 37) + SourceIndex(0) --- >>>+new Foo().methodA(); 1-> @@ -573,15 +527,15 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 7 > methodA 8 > () 9 > ; -1->Emitted(46, 1) Source(22, 38) + SourceIndex(0) -2 >Emitted(46, 2) Source(22, 40) + SourceIndex(0) -3 >Emitted(46, 6) Source(22, 44) + SourceIndex(0) -4 >Emitted(46, 9) Source(22, 47) + SourceIndex(0) -5 >Emitted(46, 11) Source(22, 49) + SourceIndex(0) -6 >Emitted(46, 12) Source(22, 50) + SourceIndex(0) -7 >Emitted(46, 19) Source(22, 57) + SourceIndex(0) -8 >Emitted(46, 21) Source(22, 59) + SourceIndex(0) -9 >Emitted(46, 22) Source(22, 60) + SourceIndex(0) +1->Emitted(43, 1) Source(22, 38) + SourceIndex(0) +2 >Emitted(43, 2) Source(22, 40) + SourceIndex(0) +3 >Emitted(43, 6) Source(22, 44) + SourceIndex(0) +4 >Emitted(43, 9) Source(22, 47) + SourceIndex(0) +5 >Emitted(43, 11) Source(22, 49) + SourceIndex(0) +6 >Emitted(43, 12) Source(22, 50) + SourceIndex(0) +7 >Emitted(43, 19) Source(22, 57) + SourceIndex(0) +8 >Emitted(43, 21) Source(22, 59) + SourceIndex(0) +9 >Emitted(43, 22) Source(22, 60) + SourceIndex(0) --- >>>_; 1 > @@ -593,9 +547,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts > 2 >_ 3 > -1 >Emitted(47, 1) Source(24, 1) + SourceIndex(0) -2 >Emitted(47, 2) Source(24, 2) + SourceIndex(0) -3 >Emitted(47, 3) Source(24, 2) + SourceIndex(0) +1 >Emitted(44, 1) Source(24, 1) + SourceIndex(0) +2 >Emitted(44, 2) Source(24, 2) + SourceIndex(0) +3 >Emitted(44, 3) Source(24, 2) + SourceIndex(0) --- >>>u; 1-> @@ -604,9 +558,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1->\ 2 >u 3 > -1->Emitted(48, 1) Source(24, 3) + SourceIndex(0) -2 >Emitted(48, 2) Source(24, 4) + SourceIndex(0) -3 >Emitted(48, 3) Source(24, 4) + SourceIndex(0) +1->Emitted(45, 1) Source(24, 3) + SourceIndex(0) +2 >Emitted(45, 2) Source(24, 4) + SourceIndex(0) +3 >Emitted(45, 3) Source(24, 4) + SourceIndex(0) --- >>>{ 1 > @@ -614,8 +568,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 3 > ^^^^^^^^-> 1 > 2 >{ -1 >Emitted(49, 1) Source(24, 4) + SourceIndex(0) -2 >Emitted(49, 2) Source(24, 5) + SourceIndex(0) +1 >Emitted(46, 1) Source(24, 4) + SourceIndex(0) +2 >Emitted(46, 2) Source(24, 5) + SourceIndex(0) --- >>> 102; 1->^^^^ @@ -624,9 +578,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1-> 2 > 102 3 > -1->Emitted(50, 5) Source(24, 5) + SourceIndex(0) -2 >Emitted(50, 8) Source(24, 8) + SourceIndex(0) -3 >Emitted(50, 9) Source(24, 8) + SourceIndex(0) +1->Emitted(47, 5) Source(24, 5) + SourceIndex(0) +2 >Emitted(47, 8) Source(24, 8) + SourceIndex(0) +3 >Emitted(47, 9) Source(24, 8) + SourceIndex(0) --- >>> A7; 1 >^^^^ @@ -635,9 +589,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1 > 2 > A7 3 > -1 >Emitted(51, 5) Source(24, 8) + SourceIndex(0) -2 >Emitted(51, 7) Source(24, 10) + SourceIndex(0) -3 >Emitted(51, 8) Source(24, 10) + SourceIndex(0) +1 >Emitted(48, 5) Source(24, 8) + SourceIndex(0) +2 >Emitted(48, 7) Source(24, 10) + SourceIndex(0) +3 >Emitted(48, 8) Source(24, 10) + SourceIndex(0) --- >>>} 1 > @@ -645,8 +599,8 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 3 > ^^^^-> 1 > 2 >} -1 >Emitted(52, 1) Source(24, 10) + SourceIndex(0) -2 >Emitted(52, 2) Source(24, 11) + SourceIndex(0) +1 >Emitted(49, 1) Source(24, 10) + SourceIndex(0) +2 >Emitted(49, 2) Source(24, 11) + SourceIndex(0) --- >>>"!"; 1-> @@ -656,9 +610,9 @@ sourceFile:extendedEscapesForAstralsInVarsAndClasses.ts 1-> += 2 >"!" 3 > ; -1->Emitted(53, 1) Source(24, 15) + SourceIndex(0) -2 >Emitted(53, 4) Source(24, 18) + SourceIndex(0) -3 >Emitted(53, 5) Source(24, 19) + SourceIndex(0) +1->Emitted(50, 1) Source(24, 15) + SourceIndex(0) +2 >Emitted(50, 4) Source(24, 18) + SourceIndex(0) +3 >Emitted(50, 5) Source(24, 19) + SourceIndex(0) --- >>>//# sourceMappingURL=extendedEscapesForAstralsInVarsAndClasses.js.map=================================================================== JsFile: astralAsSurrogatePair.js diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).symbols b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).symbols index 75ef2daee9d4b..a5d382b65d581 100644 --- a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).symbols +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).symbols @@ -2,12 +2,12 @@ === extendedEscapesForAstralsInVarsAndClasses.ts === // U+102A7 CARIAN LETTER A2 -var 𐊧: string; ->string : Symbol(string, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 1, 7)) +declare var 𐊧: string; +>string : Symbol(string, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 1, 15)) -var \u{102A7}: string; ->u : Symbol(u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 5)) ->A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 7)) +declare var \u{102A7}: string; +>u : Symbol(u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 13)) +>A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 15)) if (Math.random()) { >Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) @@ -18,8 +18,8 @@ if (Math.random()) { } else { \u{102A7} = "hallo"; ->u : Symbol(u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 5)) ->A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 7)) +>u : Symbol(u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 13)) +>A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 15)) } class Foo { @@ -27,13 +27,13 @@ class Foo { \u{102A7}: string; >u : Symbol(Foo.u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 12, 5)) ->A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 7)) ->string : Symbol(string, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 1, 7)) +>A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 15)) +>string : Symbol(string, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 1, 15)) constructor() { this.\u{102A7} = " world"; ->u : Symbol(u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 5)) ->A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 7)) +>u : Symbol(u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 13)) +>A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 15)) } methodA() { return this.𐊧; @@ -43,14 +43,14 @@ class Foo { export var _𐊧 = new Foo().\u{102A7} + new Foo().methodA(); >_ : Symbol(_, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 21, 10)) >Foo : Symbol(Foo, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 9, 1)) ->u : Symbol(u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 5)) ->A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 7)) +>u : Symbol(u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 13)) +>A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 15)) >Foo : Symbol(Foo, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 9, 1)) _\u{102A7} += "!"; >_ : Symbol(_, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 21, 10)) ->u : Symbol(u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 5)) ->A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 7)) +>u : Symbol(u, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 13)) +>A7 : Symbol(A7, Decl(extendedEscapesForAstralsInVarsAndClasses.ts, 2, 15)) === astralAsSurrogatePair.ts === import { _𐊧 as \uD800\uDEA7 } from "./extendedEscapesForAstralsInVarsAndClasses.js"; diff --git a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).types b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).types index 25ad36211f7c3..124b57415db0f 100644 --- a/tests/baselines/reference/unicodeEscapesInNames02(target=es5).types +++ b/tests/baselines/reference/unicodeEscapesInNames02(target=es5).types @@ -2,11 +2,11 @@ === extendedEscapesForAstralsInVarsAndClasses.ts === // U+102A7 CARIAN LETTER A2 -var 𐊧: string; +declare var 𐊧: string; >string : any > : ^^^ -var \u{102A7}: string; +declare var \u{102A7}: string; >u : any > : ^^^ >A7 : string diff --git a/tests/baselines/reference/unionPropertyExistence.errors.txt b/tests/baselines/reference/unionPropertyExistence.errors.txt index 3afdb838e1e92..4bed59ad72407 100644 --- a/tests/baselines/reference/unionPropertyExistence.errors.txt +++ b/tests/baselines/reference/unionPropertyExistence.errors.txt @@ -37,8 +37,8 @@ unionPropertyExistence.ts(40,5): error TS2339: Property 'inNone' does not exist type AB = A | B; type ABC = C | AB; - var ab: AB; - var abc: ABC; + declare var ab: AB; + declare var abc: ABC; declare const x: "foo" | "bar"; declare const bFoo: B | "foo"; diff --git a/tests/baselines/reference/unionPropertyExistence.js b/tests/baselines/reference/unionPropertyExistence.js index 62a85f2f0dd37..ee3e5c9d8af10 100644 --- a/tests/baselines/reference/unionPropertyExistence.js +++ b/tests/baselines/reference/unionPropertyExistence.js @@ -21,8 +21,8 @@ interface C { type AB = A | B; type ABC = C | AB; -var ab: AB; -var abc: ABC; +declare var ab: AB; +declare var abc: ABC; declare const x: "foo" | "bar"; declare const bFoo: B | "foo"; @@ -44,8 +44,6 @@ abc.inNone; //// [unionPropertyExistence.js] -var ab; -var abc; x.nope(); bFoo.onlyInB; x.length; // Ok diff --git a/tests/baselines/reference/unionPropertyExistence.symbols b/tests/baselines/reference/unionPropertyExistence.symbols index 9d30626c102e5..29d36b46fcd64 100644 --- a/tests/baselines/reference/unionPropertyExistence.symbols +++ b/tests/baselines/reference/unionPropertyExistence.symbols @@ -47,12 +47,12 @@ type ABC = C | AB; >C : Symbol(C, Decl(unionPropertyExistence.ts, 10, 1)) >AB : Symbol(AB, Decl(unionPropertyExistence.ts, 15, 1)) -var ab: AB; ->ab : Symbol(ab, Decl(unionPropertyExistence.ts, 20, 3)) +declare var ab: AB; +>ab : Symbol(ab, Decl(unionPropertyExistence.ts, 20, 11)) >AB : Symbol(AB, Decl(unionPropertyExistence.ts, 15, 1)) -var abc: ABC; ->abc : Symbol(abc, Decl(unionPropertyExistence.ts, 21, 3)) +declare var abc: ABC; +>abc : Symbol(abc, Decl(unionPropertyExistence.ts, 21, 11)) >ABC : Symbol(ABC, Decl(unionPropertyExistence.ts, 17, 16)) declare const x: "foo" | "bar"; @@ -77,27 +77,27 @@ bFoo.length; >bFoo : Symbol(bFoo, Decl(unionPropertyExistence.ts, 24, 13)) ab.onlyInB; ->ab : Symbol(ab, Decl(unionPropertyExistence.ts, 20, 3)) +>ab : Symbol(ab, Decl(unionPropertyExistence.ts, 20, 11)) ab.notInC; // Ok >ab.notInC : Symbol(notInC, Decl(unionPropertyExistence.ts, 2, 19), Decl(unionPropertyExistence.ts, 8, 20)) ->ab : Symbol(ab, Decl(unionPropertyExistence.ts, 20, 3)) +>ab : Symbol(ab, Decl(unionPropertyExistence.ts, 20, 11)) >notInC : Symbol(notInC, Decl(unionPropertyExistence.ts, 2, 19), Decl(unionPropertyExistence.ts, 8, 20)) abc.notInC; ->abc : Symbol(abc, Decl(unionPropertyExistence.ts, 21, 3)) +>abc : Symbol(abc, Decl(unionPropertyExistence.ts, 21, 11)) ab.notInB; ->ab : Symbol(ab, Decl(unionPropertyExistence.ts, 20, 3)) +>ab : Symbol(ab, Decl(unionPropertyExistence.ts, 20, 11)) abc.notInB; ->abc : Symbol(abc, Decl(unionPropertyExistence.ts, 21, 3)) +>abc : Symbol(abc, Decl(unionPropertyExistence.ts, 21, 11)) abc.inAll; // Ok >abc.inAll : Symbol(inAll, Decl(unionPropertyExistence.ts, 0, 13), Decl(unionPropertyExistence.ts, 6, 13), Decl(unionPropertyExistence.ts, 12, 13)) ->abc : Symbol(abc, Decl(unionPropertyExistence.ts, 21, 3)) +>abc : Symbol(abc, Decl(unionPropertyExistence.ts, 21, 11)) >inAll : Symbol(inAll, Decl(unionPropertyExistence.ts, 0, 13), Decl(unionPropertyExistence.ts, 6, 13), Decl(unionPropertyExistence.ts, 12, 13)) abc.inNone; ->abc : Symbol(abc, Decl(unionPropertyExistence.ts, 21, 3)) +>abc : Symbol(abc, Decl(unionPropertyExistence.ts, 21, 11)) diff --git a/tests/baselines/reference/unionPropertyExistence.types b/tests/baselines/reference/unionPropertyExistence.types index 8283919ae57bb..5304df3f6d108 100644 --- a/tests/baselines/reference/unionPropertyExistence.types +++ b/tests/baselines/reference/unionPropertyExistence.types @@ -47,11 +47,11 @@ type ABC = C | AB; >ABC : ABC > : ^^^ -var ab: AB; +declare var ab: AB; >ab : AB > : ^^ -var abc: ABC; +declare var abc: ABC; >abc : ABC > : ^^^ diff --git a/tests/baselines/reference/unionTypeCallSignatures.errors.txt b/tests/baselines/reference/unionTypeCallSignatures.errors.txt index 05db312f7c471..38de1d403e107 100644 --- a/tests/baselines/reference/unionTypeCallSignatures.errors.txt +++ b/tests/baselines/reference/unionTypeCallSignatures.errors.txt @@ -38,13 +38,13 @@ unionTypeCallSignatures.ts(73,12): error TS2554: Expected 2 arguments, but got 1 ==== unionTypeCallSignatures.ts (28 errors) ==== - var numOrDate: number | Date; - var strOrBoolean: string | boolean; - var strOrNum: string | number; + declare var numOrDate: number | Date; + declare var strOrBoolean: string | boolean; + declare var strOrNum: string | number; // If each type in U has call signatures and the sets of call signatures are identical ignoring return types, // U has the same set of call signatures, but with return types that are unions of the return types of the respective call signatures from each type in U. - var unionOfDifferentReturnType: { (a: number): number; } | { (a: number): Date; }; + declare var unionOfDifferentReturnType: { (a: number): number; } | { (a: number): Date; }; numOrDate = unionOfDifferentReturnType(10); strOrBoolean = unionOfDifferentReturnType("hello"); // error ~~~~~~~~~~~~ @@ -60,7 +60,7 @@ unionTypeCallSignatures.ts(73,12): error TS2554: Expected 2 arguments, but got 1 !!! error TS2769: Overload 2 of 2, '(a: string): string | boolean', gave the following error. !!! error TS2769: Argument of type 'boolean' is not assignable to parameter of type 'string'. - var unionOfDifferentReturnType1: { (a: number): number; (a: string): string; } | { (a: number): Date; (a: string): boolean; }; + declare var unionOfDifferentReturnType1: { (a: number): number; (a: string): string; } | { (a: number): Date; (a: string): boolean; }; numOrDate = unionOfDifferentReturnType1(10); strOrBoolean = unionOfDifferentReturnType1("hello"); unionOfDifferentReturnType1(true); // error in type of parameter @@ -73,9 +73,9 @@ unionTypeCallSignatures.ts(73,12): error TS2554: Expected 2 arguments, but got 1 unionOfDifferentReturnType1(); // error missing parameter ~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 1 arguments, but got 0. -!!! related TS6210 unionTypeCallSignatures.ts:12:37: An argument for 'a' was not provided. +!!! related TS6210 unionTypeCallSignatures.ts:12:45: An argument for 'a' was not provided. - var unionOfDifferentParameterTypes: { (a: number): number; } | { (a: string): Date; }; + declare var unionOfDifferentParameterTypes: { (a: number): number; } | { (a: string): Date; }; unionOfDifferentParameterTypes(10);// error - no call signatures ~~ !!! error TS2345: Argument of type '10' is not assignable to parameter of type 'never'. @@ -85,30 +85,30 @@ unionTypeCallSignatures.ts(73,12): error TS2554: Expected 2 arguments, but got 1 unionOfDifferentParameterTypes();// error - no call signatures ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 1 arguments, but got 0. -!!! related TS6210 unionTypeCallSignatures.ts:18:40: An argument for 'a' was not provided. +!!! related TS6210 unionTypeCallSignatures.ts:18:48: An argument for 'a' was not provided. - var unionOfDifferentNumberOfSignatures: { (a: number): number; } | { (a: number): Date; (a: string): boolean; }; + declare var unionOfDifferentNumberOfSignatures: { (a: number): number; } | { (a: number): Date; (a: string): boolean; }; unionOfDifferentNumberOfSignatures(); // error - no call signatures ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 1 arguments, but got 0. -!!! related TS6210 unionTypeCallSignatures.ts:23:44: An argument for 'a' was not provided. +!!! related TS6210 unionTypeCallSignatures.ts:23:52: An argument for 'a' was not provided. unionOfDifferentNumberOfSignatures(10); // error - no call signatures unionOfDifferentNumberOfSignatures("hello"); // error - no call signatures ~~~~~~~ !!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. - var unionWithDifferentParameterCount: { (a: string): string; } | { (a: string, b: number): number; } ; + declare var unionWithDifferentParameterCount: { (a: string): string; } | { (a: string, b: number): number; } ; unionWithDifferentParameterCount();// needs more args ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 2 arguments, but got 0. -!!! related TS6210 unionTypeCallSignatures.ts:28:69: An argument for 'a' was not provided. +!!! related TS6210 unionTypeCallSignatures.ts:28:77: An argument for 'a' was not provided. unionWithDifferentParameterCount("hello");// needs more args ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 2 arguments, but got 1. -!!! related TS6210 unionTypeCallSignatures.ts:28:80: An argument for 'b' was not provided. +!!! related TS6210 unionTypeCallSignatures.ts:28:88: An argument for 'b' was not provided. unionWithDifferentParameterCount("hello", 10);// OK - var unionWithOptionalParameter1: { (a: string, b?: number): string; } | { (a: string, b?: number): number; }; + declare var unionWithOptionalParameter1: { (a: string, b?: number): string; } | { (a: string, b?: number): number; }; strOrNum = unionWithOptionalParameter1('hello'); strOrNum = unionWithOptionalParameter1('hello', 10); strOrNum = unionWithOptionalParameter1('hello', "hello"); // error in parameter type @@ -117,13 +117,13 @@ unionTypeCallSignatures.ts(73,12): error TS2554: Expected 2 arguments, but got 1 strOrNum = unionWithOptionalParameter1(); // error ~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 1-2 arguments, but got 0. -!!! related TS6210 unionTypeCallSignatures.ts:33:37: An argument for 'a' was not provided. +!!! related TS6210 unionTypeCallSignatures.ts:33:45: An argument for 'a' was not provided. - var unionWithOptionalParameter2: { (a: string, b?: number): string; } | { (a: string, b: number): number }; + declare var unionWithOptionalParameter2: { (a: string, b?: number): string; } | { (a: string, b: number): number }; strOrNum = unionWithOptionalParameter2('hello'); // error no call signature ~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 2 arguments, but got 1. -!!! related TS6210 unionTypeCallSignatures.ts:39:87: An argument for 'b' was not provided. +!!! related TS6210 unionTypeCallSignatures.ts:39:95: An argument for 'b' was not provided. strOrNum = unionWithOptionalParameter2('hello', 10); // error no call signature strOrNum = unionWithOptionalParameter2('hello', "hello"); // error no call signature ~~~~~~~ @@ -131,9 +131,9 @@ unionTypeCallSignatures.ts(73,12): error TS2554: Expected 2 arguments, but got 1 strOrNum = unionWithOptionalParameter2(); // error no call signature ~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 2 arguments, but got 0. -!!! related TS6210 unionTypeCallSignatures.ts:39:76: An argument for 'a' was not provided. +!!! related TS6210 unionTypeCallSignatures.ts:39:84: An argument for 'a' was not provided. - var unionWithOptionalParameter3: { (a: string, b?: number): string; } | { (a: string): number; }; + declare var unionWithOptionalParameter3: { (a: string, b?: number): string; } | { (a: string): number; }; strOrNum = unionWithOptionalParameter3('hello'); strOrNum = unionWithOptionalParameter3('hello', 10); // ok strOrNum = unionWithOptionalParameter3('hello', "hello"); // wrong argument type @@ -142,9 +142,9 @@ unionTypeCallSignatures.ts(73,12): error TS2554: Expected 2 arguments, but got 1 strOrNum = unionWithOptionalParameter3(); // needs more args ~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 1-2 arguments, but got 0. -!!! related TS6210 unionTypeCallSignatures.ts:45:37: An argument for 'a' was not provided. +!!! related TS6210 unionTypeCallSignatures.ts:45:45: An argument for 'a' was not provided. - var unionWithRestParameter1: { (a: string, ...b: number[]): string; } | { (a: string, ...b: number[]): number }; + declare var unionWithRestParameter1: { (a: string, ...b: number[]): string; } | { (a: string, ...b: number[]): number }; strOrNum = unionWithRestParameter1('hello'); strOrNum = unionWithRestParameter1('hello', 10); strOrNum = unionWithRestParameter1('hello', 10, 11); @@ -154,13 +154,13 @@ unionTypeCallSignatures.ts(73,12): error TS2554: Expected 2 arguments, but got 1 strOrNum = unionWithRestParameter1(); // error ~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2555: Expected at least 1 arguments, but got 0. -!!! related TS6210 unionTypeCallSignatures.ts:51:33: An argument for 'a' was not provided. +!!! related TS6210 unionTypeCallSignatures.ts:51:41: An argument for 'a' was not provided. - var unionWithRestParameter2: { (a: string, ...b: number[]): string; } | { (a: string, b: number): number }; + declare var unionWithRestParameter2: { (a: string, ...b: number[]): string; } | { (a: string, b: number): number }; strOrNum = unionWithRestParameter2('hello'); // error no call signature ~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 2 arguments, but got 1. -!!! related TS6210 unionTypeCallSignatures.ts:58:87: An argument for 'b' was not provided. +!!! related TS6210 unionTypeCallSignatures.ts:58:95: An argument for 'b' was not provided. strOrNum = unionWithRestParameter2('hello', 10); // error no call signature strOrNum = unionWithRestParameter2('hello', 10, 11); // error no call signature ~~ @@ -171,9 +171,9 @@ unionTypeCallSignatures.ts(73,12): error TS2554: Expected 2 arguments, but got 1 strOrNum = unionWithRestParameter2(); // error no call signature ~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 2 arguments, but got 0. -!!! related TS6210 unionTypeCallSignatures.ts:58:76: An argument for 'a' was not provided. +!!! related TS6210 unionTypeCallSignatures.ts:58:84: An argument for 'a' was not provided. - var unionWithRestParameter3: { (a: string, ...b: number[]): string; } | { (a: string): number }; + declare var unionWithRestParameter3: { (a: string, ...b: number[]): string; } | { (a: string): number }; strOrNum = unionWithRestParameter3('hello'); strOrNum = unionWithRestParameter3('hello', 10); // error no call signature strOrNum = unionWithRestParameter3('hello', 10, 11); // error no call signature @@ -183,12 +183,12 @@ unionTypeCallSignatures.ts(73,12): error TS2554: Expected 2 arguments, but got 1 strOrNum = unionWithRestParameter3(); // error no call signature ~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2555: Expected at least 1 arguments, but got 0. -!!! related TS6210 unionTypeCallSignatures.ts:65:33: An argument for 'a' was not provided. +!!! related TS6210 unionTypeCallSignatures.ts:65:41: An argument for 'a' was not provided. - var unionWithRestParameter4: { (...a: string[]): string; } | { (a: string, b: string): number; }; + declare var unionWithRestParameter4: { (...a: string[]): string; } | { (a: string, b: string): number; }; strOrNum = unionWithRestParameter4("hello"); // error supplied parameters do not match any call signature ~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 2 arguments, but got 1. -!!! related TS6210 unionTypeCallSignatures.ts:72:76: An argument for 'b' was not provided. +!!! related TS6210 unionTypeCallSignatures.ts:72:84: An argument for 'b' was not provided. strOrNum = unionWithRestParameter4("hello", "world"); \ No newline at end of file diff --git a/tests/baselines/reference/unionTypeCallSignatures.js b/tests/baselines/reference/unionTypeCallSignatures.js index ae2d22bccf7e2..ea53d3822697b 100644 --- a/tests/baselines/reference/unionTypeCallSignatures.js +++ b/tests/baselines/reference/unionTypeCallSignatures.js @@ -1,142 +1,125 @@ //// [tests/cases/conformance/types/union/unionTypeCallSignatures.ts] //// //// [unionTypeCallSignatures.ts] -var numOrDate: number | Date; -var strOrBoolean: string | boolean; -var strOrNum: string | number; +declare var numOrDate: number | Date; +declare var strOrBoolean: string | boolean; +declare var strOrNum: string | number; // If each type in U has call signatures and the sets of call signatures are identical ignoring return types, // U has the same set of call signatures, but with return types that are unions of the return types of the respective call signatures from each type in U. -var unionOfDifferentReturnType: { (a: number): number; } | { (a: number): Date; }; +declare var unionOfDifferentReturnType: { (a: number): number; } | { (a: number): Date; }; numOrDate = unionOfDifferentReturnType(10); strOrBoolean = unionOfDifferentReturnType("hello"); // error unionOfDifferentReturnType1(true); // error in type of parameter -var unionOfDifferentReturnType1: { (a: number): number; (a: string): string; } | { (a: number): Date; (a: string): boolean; }; +declare var unionOfDifferentReturnType1: { (a: number): number; (a: string): string; } | { (a: number): Date; (a: string): boolean; }; numOrDate = unionOfDifferentReturnType1(10); strOrBoolean = unionOfDifferentReturnType1("hello"); unionOfDifferentReturnType1(true); // error in type of parameter unionOfDifferentReturnType1(); // error missing parameter -var unionOfDifferentParameterTypes: { (a: number): number; } | { (a: string): Date; }; +declare var unionOfDifferentParameterTypes: { (a: number): number; } | { (a: string): Date; }; unionOfDifferentParameterTypes(10);// error - no call signatures unionOfDifferentParameterTypes("hello");// error - no call signatures unionOfDifferentParameterTypes();// error - no call signatures -var unionOfDifferentNumberOfSignatures: { (a: number): number; } | { (a: number): Date; (a: string): boolean; }; +declare var unionOfDifferentNumberOfSignatures: { (a: number): number; } | { (a: number): Date; (a: string): boolean; }; unionOfDifferentNumberOfSignatures(); // error - no call signatures unionOfDifferentNumberOfSignatures(10); // error - no call signatures unionOfDifferentNumberOfSignatures("hello"); // error - no call signatures -var unionWithDifferentParameterCount: { (a: string): string; } | { (a: string, b: number): number; } ; +declare var unionWithDifferentParameterCount: { (a: string): string; } | { (a: string, b: number): number; } ; unionWithDifferentParameterCount();// needs more args unionWithDifferentParameterCount("hello");// needs more args unionWithDifferentParameterCount("hello", 10);// OK -var unionWithOptionalParameter1: { (a: string, b?: number): string; } | { (a: string, b?: number): number; }; +declare var unionWithOptionalParameter1: { (a: string, b?: number): string; } | { (a: string, b?: number): number; }; strOrNum = unionWithOptionalParameter1('hello'); strOrNum = unionWithOptionalParameter1('hello', 10); strOrNum = unionWithOptionalParameter1('hello', "hello"); // error in parameter type strOrNum = unionWithOptionalParameter1(); // error -var unionWithOptionalParameter2: { (a: string, b?: number): string; } | { (a: string, b: number): number }; +declare var unionWithOptionalParameter2: { (a: string, b?: number): string; } | { (a: string, b: number): number }; strOrNum = unionWithOptionalParameter2('hello'); // error no call signature strOrNum = unionWithOptionalParameter2('hello', 10); // error no call signature strOrNum = unionWithOptionalParameter2('hello', "hello"); // error no call signature strOrNum = unionWithOptionalParameter2(); // error no call signature -var unionWithOptionalParameter3: { (a: string, b?: number): string; } | { (a: string): number; }; +declare var unionWithOptionalParameter3: { (a: string, b?: number): string; } | { (a: string): number; }; strOrNum = unionWithOptionalParameter3('hello'); strOrNum = unionWithOptionalParameter3('hello', 10); // ok strOrNum = unionWithOptionalParameter3('hello', "hello"); // wrong argument type strOrNum = unionWithOptionalParameter3(); // needs more args -var unionWithRestParameter1: { (a: string, ...b: number[]): string; } | { (a: string, ...b: number[]): number }; +declare var unionWithRestParameter1: { (a: string, ...b: number[]): string; } | { (a: string, ...b: number[]): number }; strOrNum = unionWithRestParameter1('hello'); strOrNum = unionWithRestParameter1('hello', 10); strOrNum = unionWithRestParameter1('hello', 10, 11); strOrNum = unionWithRestParameter1('hello', "hello"); // error in parameter type strOrNum = unionWithRestParameter1(); // error -var unionWithRestParameter2: { (a: string, ...b: number[]): string; } | { (a: string, b: number): number }; +declare var unionWithRestParameter2: { (a: string, ...b: number[]): string; } | { (a: string, b: number): number }; strOrNum = unionWithRestParameter2('hello'); // error no call signature strOrNum = unionWithRestParameter2('hello', 10); // error no call signature strOrNum = unionWithRestParameter2('hello', 10, 11); // error no call signature strOrNum = unionWithRestParameter2('hello', "hello"); // error no call signature strOrNum = unionWithRestParameter2(); // error no call signature -var unionWithRestParameter3: { (a: string, ...b: number[]): string; } | { (a: string): number }; +declare var unionWithRestParameter3: { (a: string, ...b: number[]): string; } | { (a: string): number }; strOrNum = unionWithRestParameter3('hello'); strOrNum = unionWithRestParameter3('hello', 10); // error no call signature strOrNum = unionWithRestParameter3('hello', 10, 11); // error no call signature strOrNum = unionWithRestParameter3('hello', "hello"); // wrong argument type strOrNum = unionWithRestParameter3(); // error no call signature -var unionWithRestParameter4: { (...a: string[]): string; } | { (a: string, b: string): number; }; +declare var unionWithRestParameter4: { (...a: string[]): string; } | { (a: string, b: string): number; }; strOrNum = unionWithRestParameter4("hello"); // error supplied parameters do not match any call signature strOrNum = unionWithRestParameter4("hello", "world"); //// [unionTypeCallSignatures.js] -var numOrDate; -var strOrBoolean; -var strOrNum; -// If each type in U has call signatures and the sets of call signatures are identical ignoring return types, -// U has the same set of call signatures, but with return types that are unions of the return types of the respective call signatures from each type in U. -var unionOfDifferentReturnType; numOrDate = unionOfDifferentReturnType(10); strOrBoolean = unionOfDifferentReturnType("hello"); // error unionOfDifferentReturnType1(true); // error in type of parameter -var unionOfDifferentReturnType1; numOrDate = unionOfDifferentReturnType1(10); strOrBoolean = unionOfDifferentReturnType1("hello"); unionOfDifferentReturnType1(true); // error in type of parameter unionOfDifferentReturnType1(); // error missing parameter -var unionOfDifferentParameterTypes; unionOfDifferentParameterTypes(10); // error - no call signatures unionOfDifferentParameterTypes("hello"); // error - no call signatures unionOfDifferentParameterTypes(); // error - no call signatures -var unionOfDifferentNumberOfSignatures; unionOfDifferentNumberOfSignatures(); // error - no call signatures unionOfDifferentNumberOfSignatures(10); // error - no call signatures unionOfDifferentNumberOfSignatures("hello"); // error - no call signatures -var unionWithDifferentParameterCount; unionWithDifferentParameterCount(); // needs more args unionWithDifferentParameterCount("hello"); // needs more args unionWithDifferentParameterCount("hello", 10); // OK -var unionWithOptionalParameter1; strOrNum = unionWithOptionalParameter1('hello'); strOrNum = unionWithOptionalParameter1('hello', 10); strOrNum = unionWithOptionalParameter1('hello', "hello"); // error in parameter type strOrNum = unionWithOptionalParameter1(); // error -var unionWithOptionalParameter2; strOrNum = unionWithOptionalParameter2('hello'); // error no call signature strOrNum = unionWithOptionalParameter2('hello', 10); // error no call signature strOrNum = unionWithOptionalParameter2('hello', "hello"); // error no call signature strOrNum = unionWithOptionalParameter2(); // error no call signature -var unionWithOptionalParameter3; strOrNum = unionWithOptionalParameter3('hello'); strOrNum = unionWithOptionalParameter3('hello', 10); // ok strOrNum = unionWithOptionalParameter3('hello', "hello"); // wrong argument type strOrNum = unionWithOptionalParameter3(); // needs more args -var unionWithRestParameter1; strOrNum = unionWithRestParameter1('hello'); strOrNum = unionWithRestParameter1('hello', 10); strOrNum = unionWithRestParameter1('hello', 10, 11); strOrNum = unionWithRestParameter1('hello', "hello"); // error in parameter type strOrNum = unionWithRestParameter1(); // error -var unionWithRestParameter2; strOrNum = unionWithRestParameter2('hello'); // error no call signature strOrNum = unionWithRestParameter2('hello', 10); // error no call signature strOrNum = unionWithRestParameter2('hello', 10, 11); // error no call signature strOrNum = unionWithRestParameter2('hello', "hello"); // error no call signature strOrNum = unionWithRestParameter2(); // error no call signature -var unionWithRestParameter3; strOrNum = unionWithRestParameter3('hello'); strOrNum = unionWithRestParameter3('hello', 10); // error no call signature strOrNum = unionWithRestParameter3('hello', 10, 11); // error no call signature strOrNum = unionWithRestParameter3('hello', "hello"); // wrong argument type strOrNum = unionWithRestParameter3(); // error no call signature -var unionWithRestParameter4; strOrNum = unionWithRestParameter4("hello"); // error supplied parameters do not match any call signature strOrNum = unionWithRestParameter4("hello", "world"); diff --git a/tests/baselines/reference/unionTypeCallSignatures.symbols b/tests/baselines/reference/unionTypeCallSignatures.symbols index 04cdcea967725..619fbe8df948c 100644 --- a/tests/baselines/reference/unionTypeCallSignatures.symbols +++ b/tests/baselines/reference/unionTypeCallSignatures.symbols @@ -1,262 +1,262 @@ //// [tests/cases/conformance/types/union/unionTypeCallSignatures.ts] //// === unionTypeCallSignatures.ts === -var numOrDate: number | Date; ->numOrDate : Symbol(numOrDate, Decl(unionTypeCallSignatures.ts, 0, 3)) +declare var numOrDate: number | Date; +>numOrDate : Symbol(numOrDate, Decl(unionTypeCallSignatures.ts, 0, 11)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) -var strOrBoolean: string | boolean; ->strOrBoolean : Symbol(strOrBoolean, Decl(unionTypeCallSignatures.ts, 1, 3)) +declare var strOrBoolean: string | boolean; +>strOrBoolean : Symbol(strOrBoolean, Decl(unionTypeCallSignatures.ts, 1, 11)) -var strOrNum: string | number; ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) +declare var strOrNum: string | number; +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) // If each type in U has call signatures and the sets of call signatures are identical ignoring return types, // U has the same set of call signatures, but with return types that are unions of the return types of the respective call signatures from each type in U. -var unionOfDifferentReturnType: { (a: number): number; } | { (a: number): Date; }; ->unionOfDifferentReturnType : Symbol(unionOfDifferentReturnType, Decl(unionTypeCallSignatures.ts, 6, 3)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 6, 35)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 6, 62)) +declare var unionOfDifferentReturnType: { (a: number): number; } | { (a: number): Date; }; +>unionOfDifferentReturnType : Symbol(unionOfDifferentReturnType, Decl(unionTypeCallSignatures.ts, 6, 11)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 6, 43)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 6, 70)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) numOrDate = unionOfDifferentReturnType(10); ->numOrDate : Symbol(numOrDate, Decl(unionTypeCallSignatures.ts, 0, 3)) ->unionOfDifferentReturnType : Symbol(unionOfDifferentReturnType, Decl(unionTypeCallSignatures.ts, 6, 3)) +>numOrDate : Symbol(numOrDate, Decl(unionTypeCallSignatures.ts, 0, 11)) +>unionOfDifferentReturnType : Symbol(unionOfDifferentReturnType, Decl(unionTypeCallSignatures.ts, 6, 11)) strOrBoolean = unionOfDifferentReturnType("hello"); // error ->strOrBoolean : Symbol(strOrBoolean, Decl(unionTypeCallSignatures.ts, 1, 3)) ->unionOfDifferentReturnType : Symbol(unionOfDifferentReturnType, Decl(unionTypeCallSignatures.ts, 6, 3)) +>strOrBoolean : Symbol(strOrBoolean, Decl(unionTypeCallSignatures.ts, 1, 11)) +>unionOfDifferentReturnType : Symbol(unionOfDifferentReturnType, Decl(unionTypeCallSignatures.ts, 6, 11)) unionOfDifferentReturnType1(true); // error in type of parameter ->unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeCallSignatures.ts, 11, 3)) +>unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeCallSignatures.ts, 11, 11)) -var unionOfDifferentReturnType1: { (a: number): number; (a: string): string; } | { (a: number): Date; (a: string): boolean; }; ->unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeCallSignatures.ts, 11, 3)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 11, 36)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 11, 57)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 11, 84)) +declare var unionOfDifferentReturnType1: { (a: number): number; (a: string): string; } | { (a: number): Date; (a: string): boolean; }; +>unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeCallSignatures.ts, 11, 11)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 11, 44)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 11, 65)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 11, 92)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 11, 103)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 11, 111)) numOrDate = unionOfDifferentReturnType1(10); ->numOrDate : Symbol(numOrDate, Decl(unionTypeCallSignatures.ts, 0, 3)) ->unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeCallSignatures.ts, 11, 3)) +>numOrDate : Symbol(numOrDate, Decl(unionTypeCallSignatures.ts, 0, 11)) +>unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeCallSignatures.ts, 11, 11)) strOrBoolean = unionOfDifferentReturnType1("hello"); ->strOrBoolean : Symbol(strOrBoolean, Decl(unionTypeCallSignatures.ts, 1, 3)) ->unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeCallSignatures.ts, 11, 3)) +>strOrBoolean : Symbol(strOrBoolean, Decl(unionTypeCallSignatures.ts, 1, 11)) +>unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeCallSignatures.ts, 11, 11)) unionOfDifferentReturnType1(true); // error in type of parameter ->unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeCallSignatures.ts, 11, 3)) +>unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeCallSignatures.ts, 11, 11)) unionOfDifferentReturnType1(); // error missing parameter ->unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeCallSignatures.ts, 11, 3)) +>unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeCallSignatures.ts, 11, 11)) -var unionOfDifferentParameterTypes: { (a: number): number; } | { (a: string): Date; }; ->unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeCallSignatures.ts, 17, 3)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 17, 39)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 17, 66)) +declare var unionOfDifferentParameterTypes: { (a: number): number; } | { (a: string): Date; }; +>unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeCallSignatures.ts, 17, 11)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 17, 47)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 17, 74)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) unionOfDifferentParameterTypes(10);// error - no call signatures ->unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeCallSignatures.ts, 17, 3)) +>unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeCallSignatures.ts, 17, 11)) unionOfDifferentParameterTypes("hello");// error - no call signatures ->unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeCallSignatures.ts, 17, 3)) +>unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeCallSignatures.ts, 17, 11)) unionOfDifferentParameterTypes();// error - no call signatures ->unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeCallSignatures.ts, 17, 3)) +>unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeCallSignatures.ts, 17, 11)) -var unionOfDifferentNumberOfSignatures: { (a: number): number; } | { (a: number): Date; (a: string): boolean; }; ->unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeCallSignatures.ts, 22, 3)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 22, 43)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 22, 70)) +declare var unionOfDifferentNumberOfSignatures: { (a: number): number; } | { (a: number): Date; (a: string): boolean; }; +>unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeCallSignatures.ts, 22, 11)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 22, 51)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 22, 78)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 22, 89)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 22, 97)) unionOfDifferentNumberOfSignatures(); // error - no call signatures ->unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeCallSignatures.ts, 22, 3)) +>unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeCallSignatures.ts, 22, 11)) unionOfDifferentNumberOfSignatures(10); // error - no call signatures ->unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeCallSignatures.ts, 22, 3)) +>unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeCallSignatures.ts, 22, 11)) unionOfDifferentNumberOfSignatures("hello"); // error - no call signatures ->unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeCallSignatures.ts, 22, 3)) +>unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeCallSignatures.ts, 22, 11)) -var unionWithDifferentParameterCount: { (a: string): string; } | { (a: string, b: number): number; } ; ->unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeCallSignatures.ts, 27, 3)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 27, 41)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 27, 68)) ->b : Symbol(b, Decl(unionTypeCallSignatures.ts, 27, 78)) +declare var unionWithDifferentParameterCount: { (a: string): string; } | { (a: string, b: number): number; } ; +>unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeCallSignatures.ts, 27, 11)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 27, 49)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 27, 76)) +>b : Symbol(b, Decl(unionTypeCallSignatures.ts, 27, 86)) unionWithDifferentParameterCount();// needs more args ->unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeCallSignatures.ts, 27, 3)) +>unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeCallSignatures.ts, 27, 11)) unionWithDifferentParameterCount("hello");// needs more args ->unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeCallSignatures.ts, 27, 3)) +>unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeCallSignatures.ts, 27, 11)) unionWithDifferentParameterCount("hello", 10);// OK ->unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeCallSignatures.ts, 27, 3)) +>unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeCallSignatures.ts, 27, 11)) -var unionWithOptionalParameter1: { (a: string, b?: number): string; } | { (a: string, b?: number): number; }; ->unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeCallSignatures.ts, 32, 3)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 32, 36)) ->b : Symbol(b, Decl(unionTypeCallSignatures.ts, 32, 46)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 32, 75)) ->b : Symbol(b, Decl(unionTypeCallSignatures.ts, 32, 85)) +declare var unionWithOptionalParameter1: { (a: string, b?: number): string; } | { (a: string, b?: number): number; }; +>unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeCallSignatures.ts, 32, 11)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 32, 44)) +>b : Symbol(b, Decl(unionTypeCallSignatures.ts, 32, 54)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 32, 83)) +>b : Symbol(b, Decl(unionTypeCallSignatures.ts, 32, 93)) strOrNum = unionWithOptionalParameter1('hello'); ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeCallSignatures.ts, 32, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeCallSignatures.ts, 32, 11)) strOrNum = unionWithOptionalParameter1('hello', 10); ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeCallSignatures.ts, 32, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeCallSignatures.ts, 32, 11)) strOrNum = unionWithOptionalParameter1('hello', "hello"); // error in parameter type ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeCallSignatures.ts, 32, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeCallSignatures.ts, 32, 11)) strOrNum = unionWithOptionalParameter1(); // error ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeCallSignatures.ts, 32, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeCallSignatures.ts, 32, 11)) -var unionWithOptionalParameter2: { (a: string, b?: number): string; } | { (a: string, b: number): number }; ->unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeCallSignatures.ts, 38, 3)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 38, 36)) ->b : Symbol(b, Decl(unionTypeCallSignatures.ts, 38, 46)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 38, 75)) ->b : Symbol(b, Decl(unionTypeCallSignatures.ts, 38, 85)) +declare var unionWithOptionalParameter2: { (a: string, b?: number): string; } | { (a: string, b: number): number }; +>unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeCallSignatures.ts, 38, 11)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 38, 44)) +>b : Symbol(b, Decl(unionTypeCallSignatures.ts, 38, 54)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 38, 83)) +>b : Symbol(b, Decl(unionTypeCallSignatures.ts, 38, 93)) strOrNum = unionWithOptionalParameter2('hello'); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeCallSignatures.ts, 38, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeCallSignatures.ts, 38, 11)) strOrNum = unionWithOptionalParameter2('hello', 10); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeCallSignatures.ts, 38, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeCallSignatures.ts, 38, 11)) strOrNum = unionWithOptionalParameter2('hello', "hello"); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeCallSignatures.ts, 38, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeCallSignatures.ts, 38, 11)) strOrNum = unionWithOptionalParameter2(); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeCallSignatures.ts, 38, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeCallSignatures.ts, 38, 11)) -var unionWithOptionalParameter3: { (a: string, b?: number): string; } | { (a: string): number; }; ->unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeCallSignatures.ts, 44, 3)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 44, 36)) ->b : Symbol(b, Decl(unionTypeCallSignatures.ts, 44, 46)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 44, 75)) +declare var unionWithOptionalParameter3: { (a: string, b?: number): string; } | { (a: string): number; }; +>unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeCallSignatures.ts, 44, 11)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 44, 44)) +>b : Symbol(b, Decl(unionTypeCallSignatures.ts, 44, 54)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 44, 83)) strOrNum = unionWithOptionalParameter3('hello'); ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeCallSignatures.ts, 44, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeCallSignatures.ts, 44, 11)) strOrNum = unionWithOptionalParameter3('hello', 10); // ok ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeCallSignatures.ts, 44, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeCallSignatures.ts, 44, 11)) strOrNum = unionWithOptionalParameter3('hello', "hello"); // wrong argument type ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeCallSignatures.ts, 44, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeCallSignatures.ts, 44, 11)) strOrNum = unionWithOptionalParameter3(); // needs more args ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeCallSignatures.ts, 44, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeCallSignatures.ts, 44, 11)) -var unionWithRestParameter1: { (a: string, ...b: number[]): string; } | { (a: string, ...b: number[]): number }; ->unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeCallSignatures.ts, 50, 3)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 50, 32)) ->b : Symbol(b, Decl(unionTypeCallSignatures.ts, 50, 42)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 50, 75)) ->b : Symbol(b, Decl(unionTypeCallSignatures.ts, 50, 85)) +declare var unionWithRestParameter1: { (a: string, ...b: number[]): string; } | { (a: string, ...b: number[]): number }; +>unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeCallSignatures.ts, 50, 11)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 50, 40)) +>b : Symbol(b, Decl(unionTypeCallSignatures.ts, 50, 50)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 50, 83)) +>b : Symbol(b, Decl(unionTypeCallSignatures.ts, 50, 93)) strOrNum = unionWithRestParameter1('hello'); ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeCallSignatures.ts, 50, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeCallSignatures.ts, 50, 11)) strOrNum = unionWithRestParameter1('hello', 10); ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeCallSignatures.ts, 50, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeCallSignatures.ts, 50, 11)) strOrNum = unionWithRestParameter1('hello', 10, 11); ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeCallSignatures.ts, 50, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeCallSignatures.ts, 50, 11)) strOrNum = unionWithRestParameter1('hello', "hello"); // error in parameter type ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeCallSignatures.ts, 50, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeCallSignatures.ts, 50, 11)) strOrNum = unionWithRestParameter1(); // error ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeCallSignatures.ts, 50, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeCallSignatures.ts, 50, 11)) -var unionWithRestParameter2: { (a: string, ...b: number[]): string; } | { (a: string, b: number): number }; ->unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeCallSignatures.ts, 57, 3)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 57, 32)) ->b : Symbol(b, Decl(unionTypeCallSignatures.ts, 57, 42)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 57, 75)) ->b : Symbol(b, Decl(unionTypeCallSignatures.ts, 57, 85)) +declare var unionWithRestParameter2: { (a: string, ...b: number[]): string; } | { (a: string, b: number): number }; +>unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeCallSignatures.ts, 57, 11)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 57, 40)) +>b : Symbol(b, Decl(unionTypeCallSignatures.ts, 57, 50)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 57, 83)) +>b : Symbol(b, Decl(unionTypeCallSignatures.ts, 57, 93)) strOrNum = unionWithRestParameter2('hello'); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeCallSignatures.ts, 57, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeCallSignatures.ts, 57, 11)) strOrNum = unionWithRestParameter2('hello', 10); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeCallSignatures.ts, 57, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeCallSignatures.ts, 57, 11)) strOrNum = unionWithRestParameter2('hello', 10, 11); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeCallSignatures.ts, 57, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeCallSignatures.ts, 57, 11)) strOrNum = unionWithRestParameter2('hello', "hello"); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeCallSignatures.ts, 57, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeCallSignatures.ts, 57, 11)) strOrNum = unionWithRestParameter2(); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeCallSignatures.ts, 57, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeCallSignatures.ts, 57, 11)) -var unionWithRestParameter3: { (a: string, ...b: number[]): string; } | { (a: string): number }; ->unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeCallSignatures.ts, 64, 3)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 64, 32)) ->b : Symbol(b, Decl(unionTypeCallSignatures.ts, 64, 42)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 64, 75)) +declare var unionWithRestParameter3: { (a: string, ...b: number[]): string; } | { (a: string): number }; +>unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeCallSignatures.ts, 64, 11)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 64, 40)) +>b : Symbol(b, Decl(unionTypeCallSignatures.ts, 64, 50)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 64, 83)) strOrNum = unionWithRestParameter3('hello'); ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeCallSignatures.ts, 64, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeCallSignatures.ts, 64, 11)) strOrNum = unionWithRestParameter3('hello', 10); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeCallSignatures.ts, 64, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeCallSignatures.ts, 64, 11)) strOrNum = unionWithRestParameter3('hello', 10, 11); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeCallSignatures.ts, 64, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeCallSignatures.ts, 64, 11)) strOrNum = unionWithRestParameter3('hello', "hello"); // wrong argument type ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeCallSignatures.ts, 64, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeCallSignatures.ts, 64, 11)) strOrNum = unionWithRestParameter3(); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeCallSignatures.ts, 64, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeCallSignatures.ts, 64, 11)) -var unionWithRestParameter4: { (...a: string[]): string; } | { (a: string, b: string): number; }; ->unionWithRestParameter4 : Symbol(unionWithRestParameter4, Decl(unionTypeCallSignatures.ts, 71, 3)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 71, 32)) ->a : Symbol(a, Decl(unionTypeCallSignatures.ts, 71, 64)) ->b : Symbol(b, Decl(unionTypeCallSignatures.ts, 71, 74)) +declare var unionWithRestParameter4: { (...a: string[]): string; } | { (a: string, b: string): number; }; +>unionWithRestParameter4 : Symbol(unionWithRestParameter4, Decl(unionTypeCallSignatures.ts, 71, 11)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 71, 40)) +>a : Symbol(a, Decl(unionTypeCallSignatures.ts, 71, 72)) +>b : Symbol(b, Decl(unionTypeCallSignatures.ts, 71, 82)) strOrNum = unionWithRestParameter4("hello"); // error supplied parameters do not match any call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter4 : Symbol(unionWithRestParameter4, Decl(unionTypeCallSignatures.ts, 71, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter4 : Symbol(unionWithRestParameter4, Decl(unionTypeCallSignatures.ts, 71, 11)) strOrNum = unionWithRestParameter4("hello", "world"); ->strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 3)) ->unionWithRestParameter4 : Symbol(unionWithRestParameter4, Decl(unionTypeCallSignatures.ts, 71, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeCallSignatures.ts, 2, 11)) +>unionWithRestParameter4 : Symbol(unionWithRestParameter4, Decl(unionTypeCallSignatures.ts, 71, 11)) diff --git a/tests/baselines/reference/unionTypeCallSignatures.types b/tests/baselines/reference/unionTypeCallSignatures.types index 7663b60400216..ec61455e147b2 100644 --- a/tests/baselines/reference/unionTypeCallSignatures.types +++ b/tests/baselines/reference/unionTypeCallSignatures.types @@ -1,21 +1,21 @@ //// [tests/cases/conformance/types/union/unionTypeCallSignatures.ts] //// === unionTypeCallSignatures.ts === -var numOrDate: number | Date; +declare var numOrDate: number | Date; >numOrDate : number | Date > : ^^^^^^^^^^^^^ -var strOrBoolean: string | boolean; +declare var strOrBoolean: string | boolean; >strOrBoolean : string | boolean > : ^^^^^^^^^^^^^^^^ -var strOrNum: string | number; +declare var strOrNum: string | number; >strOrNum : string | number > : ^^^^^^^^^^^^^^^ // If each type in U has call signatures and the sets of call signatures are identical ignoring return types, // U has the same set of call signatures, but with return types that are unions of the return types of the respective call signatures from each type in U. -var unionOfDifferentReturnType: { (a: number): number; } | { (a: number): Date; }; +declare var unionOfDifferentReturnType: { (a: number): number; } | { (a: number): Date; }; >unionOfDifferentReturnType : ((a: number) => number) | ((a: number) => Date) > : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >a : number @@ -55,7 +55,7 @@ unionOfDifferentReturnType1(true); // error in type of parameter >true : true > : ^^^^ -var unionOfDifferentReturnType1: { (a: number): number; (a: string): string; } | { (a: number): Date; (a: string): boolean; }; +declare var unionOfDifferentReturnType1: { (a: number): number; (a: string): string; } | { (a: number): Date; (a: string): boolean; }; >unionOfDifferentReturnType1 : { (a: number): number; (a: string): string; } | { (a: number): Date; (a: string): boolean; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number @@ -105,7 +105,7 @@ unionOfDifferentReturnType1(); // error missing parameter >unionOfDifferentReturnType1 : { (a: number): number; (a: string): string; } | { (a: number): Date; (a: string): boolean; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ -var unionOfDifferentParameterTypes: { (a: number): number; } | { (a: string): Date; }; +declare var unionOfDifferentParameterTypes: { (a: number): number; } | { (a: string): Date; }; >unionOfDifferentParameterTypes : ((a: number) => number) | ((a: string) => Date) > : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >a : number @@ -135,7 +135,7 @@ unionOfDifferentParameterTypes();// error - no call signatures >unionOfDifferentParameterTypes : ((a: number) => number) | ((a: string) => Date) > : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ -var unionOfDifferentNumberOfSignatures: { (a: number): number; } | { (a: number): Date; (a: string): boolean; }; +declare var unionOfDifferentNumberOfSignatures: { (a: number): number; } | { (a: number): Date; (a: string): boolean; }; >unionOfDifferentNumberOfSignatures : ((a: number) => number) | { (a: number): Date; (a: string): boolean; } > : ^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number @@ -167,7 +167,7 @@ unionOfDifferentNumberOfSignatures("hello"); // error - no call signatures >"hello" : "hello" > : ^^^^^^^ -var unionWithDifferentParameterCount: { (a: string): string; } | { (a: string, b: number): number; } ; +declare var unionWithDifferentParameterCount: { (a: string): string; } | { (a: string, b: number): number; } ; >unionWithDifferentParameterCount : ((a: string) => string) | ((a: string, b: number) => number) > : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >a : string @@ -201,7 +201,7 @@ unionWithDifferentParameterCount("hello", 10);// OK >10 : 10 > : ^^ -var unionWithOptionalParameter1: { (a: string, b?: number): string; } | { (a: string, b?: number): number; }; +declare var unionWithOptionalParameter1: { (a: string, b?: number): string; } | { (a: string, b?: number): number; }; >unionWithOptionalParameter1 : ((a: string, b?: number) => string) | ((a: string, b?: number) => number) > : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^ >a : string @@ -263,7 +263,7 @@ strOrNum = unionWithOptionalParameter1(); // error >unionWithOptionalParameter1 : ((a: string, b?: number) => string) | ((a: string, b?: number) => number) > : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^ -var unionWithOptionalParameter2: { (a: string, b?: number): string; } | { (a: string, b: number): number }; +declare var unionWithOptionalParameter2: { (a: string, b?: number): string; } | { (a: string, b: number): number }; >unionWithOptionalParameter2 : ((a: string, b?: number) => string) | ((a: string, b: number) => number) > : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >a : string @@ -325,7 +325,7 @@ strOrNum = unionWithOptionalParameter2(); // error no call signature >unionWithOptionalParameter2 : ((a: string, b?: number) => string) | ((a: string, b: number) => number) > : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ -var unionWithOptionalParameter3: { (a: string, b?: number): string; } | { (a: string): number; }; +declare var unionWithOptionalParameter3: { (a: string, b?: number): string; } | { (a: string): number; }; >unionWithOptionalParameter3 : ((a: string, b?: number) => string) | ((a: string) => number) > : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >a : string @@ -385,7 +385,7 @@ strOrNum = unionWithOptionalParameter3(); // needs more args >unionWithOptionalParameter3 : ((a: string, b?: number) => string) | ((a: string) => number) > : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ -var unionWithRestParameter1: { (a: string, ...b: number[]): string; } | { (a: string, ...b: number[]): number }; +declare var unionWithRestParameter1: { (a: string, ...b: number[]): string; } | { (a: string, ...b: number[]): number }; >unionWithRestParameter1 : ((a: string, ...b: number[]) => string) | ((a: string, ...b: number[]) => number) > : ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^ >a : string @@ -463,7 +463,7 @@ strOrNum = unionWithRestParameter1(); // error >unionWithRestParameter1 : ((a: string, ...b: number[]) => string) | ((a: string, ...b: number[]) => number) > : ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^ -var unionWithRestParameter2: { (a: string, ...b: number[]): string; } | { (a: string, b: number): number }; +declare var unionWithRestParameter2: { (a: string, ...b: number[]): string; } | { (a: string, b: number): number }; >unionWithRestParameter2 : ((a: string, ...b: number[]) => string) | ((a: string, b: number) => number) > : ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >a : string @@ -541,7 +541,7 @@ strOrNum = unionWithRestParameter2(); // error no call signature >unionWithRestParameter2 : ((a: string, ...b: number[]) => string) | ((a: string, b: number) => number) > : ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ -var unionWithRestParameter3: { (a: string, ...b: number[]): string; } | { (a: string): number }; +declare var unionWithRestParameter3: { (a: string, ...b: number[]): string; } | { (a: string): number }; >unionWithRestParameter3 : ((a: string, ...b: number[]) => string) | ((a: string) => number) > : ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >a : string @@ -617,7 +617,7 @@ strOrNum = unionWithRestParameter3(); // error no call signature >unionWithRestParameter3 : ((a: string, ...b: number[]) => string) | ((a: string) => number) > : ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ -var unionWithRestParameter4: { (...a: string[]): string; } | { (a: string, b: string): number; }; +declare var unionWithRestParameter4: { (...a: string[]): string; } | { (a: string, b: string): number; }; >unionWithRestParameter4 : ((...a: string[]) => string) | ((a: string, b: string) => number) > : ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >a : string[] diff --git a/tests/baselines/reference/unionTypeCallSignatures4.errors.txt b/tests/baselines/reference/unionTypeCallSignatures4.errors.txt index 3a790cf5d9987..58dd8b3336e22 100644 --- a/tests/baselines/reference/unionTypeCallSignatures4.errors.txt +++ b/tests/baselines/reference/unionTypeCallSignatures4.errors.txt @@ -9,22 +9,22 @@ unionTypeCallSignatures4.ts(25,18): error TS2554: Expected 2 arguments, but got type F4 = (a: string, b?: string, ...rest: string[]) => void; type F5 = (a: string, b: string) => void; - var f12: F1 | F2; + declare var f12: F1 | F2; f12("a"); f12("a", "b"); f12("a", "b", "c"); // ok - var f34: F3 | F4; + declare var f34: F3 | F4; f34("a"); f34("a", "b"); f34("a", "b", "c"); - var f1234: F1 | F2 | F3 | F4; + declare var f1234: F1 | F2 | F3 | F4; f1234("a"); f1234("a", "b"); f1234("a", "b", "c"); // ok - var f12345: F1 | F2 | F3 | F4 | F5; + declare var f12345: F1 | F2 | F3 | F4 | F5; f12345("a"); // error ~~~~~~ !!! error TS2554: Expected 2 arguments, but got 1. diff --git a/tests/baselines/reference/unionTypeCallSignatures4.js b/tests/baselines/reference/unionTypeCallSignatures4.js index 33ea11a8cd7ca..f2d76d67bdd91 100644 --- a/tests/baselines/reference/unionTypeCallSignatures4.js +++ b/tests/baselines/reference/unionTypeCallSignatures4.js @@ -7,41 +7,37 @@ type F3 = (a: string, ...rest: string[]) => void; type F4 = (a: string, b?: string, ...rest: string[]) => void; type F5 = (a: string, b: string) => void; -var f12: F1 | F2; +declare var f12: F1 | F2; f12("a"); f12("a", "b"); f12("a", "b", "c"); // ok -var f34: F3 | F4; +declare var f34: F3 | F4; f34("a"); f34("a", "b"); f34("a", "b", "c"); -var f1234: F1 | F2 | F3 | F4; +declare var f1234: F1 | F2 | F3 | F4; f1234("a"); f1234("a", "b"); f1234("a", "b", "c"); // ok -var f12345: F1 | F2 | F3 | F4 | F5; +declare var f12345: F1 | F2 | F3 | F4 | F5; f12345("a"); // error f12345("a", "b"); f12345("a", "b", "c"); // error //// [unionTypeCallSignatures4.js] -var f12; f12("a"); f12("a", "b"); f12("a", "b", "c"); // ok -var f34; f34("a"); f34("a", "b"); f34("a", "b", "c"); -var f1234; f1234("a"); f1234("a", "b"); f1234("a", "b", "c"); // ok -var f12345; f12345("a"); // error f12345("a", "b"); f12345("a", "b", "c"); // error diff --git a/tests/baselines/reference/unionTypeCallSignatures4.symbols b/tests/baselines/reference/unionTypeCallSignatures4.symbols index c9b8df146dfe5..b9203cd32040e 100644 --- a/tests/baselines/reference/unionTypeCallSignatures4.symbols +++ b/tests/baselines/reference/unionTypeCallSignatures4.symbols @@ -28,52 +28,52 @@ type F5 = (a: string, b: string) => void; >a : Symbol(a, Decl(unionTypeCallSignatures4.ts, 4, 11)) >b : Symbol(b, Decl(unionTypeCallSignatures4.ts, 4, 21)) -var f12: F1 | F2; ->f12 : Symbol(f12, Decl(unionTypeCallSignatures4.ts, 6, 3)) +declare var f12: F1 | F2; +>f12 : Symbol(f12, Decl(unionTypeCallSignatures4.ts, 6, 11)) >F1 : Symbol(F1, Decl(unionTypeCallSignatures4.ts, 0, 0)) >F2 : Symbol(F2, Decl(unionTypeCallSignatures4.ts, 0, 42)) f12("a"); ->f12 : Symbol(f12, Decl(unionTypeCallSignatures4.ts, 6, 3)) +>f12 : Symbol(f12, Decl(unionTypeCallSignatures4.ts, 6, 11)) f12("a", "b"); ->f12 : Symbol(f12, Decl(unionTypeCallSignatures4.ts, 6, 3)) +>f12 : Symbol(f12, Decl(unionTypeCallSignatures4.ts, 6, 11)) f12("a", "b", "c"); // ok ->f12 : Symbol(f12, Decl(unionTypeCallSignatures4.ts, 6, 3)) +>f12 : Symbol(f12, Decl(unionTypeCallSignatures4.ts, 6, 11)) -var f34: F3 | F4; ->f34 : Symbol(f34, Decl(unionTypeCallSignatures4.ts, 11, 3)) +declare var f34: F3 | F4; +>f34 : Symbol(f34, Decl(unionTypeCallSignatures4.ts, 11, 11)) >F3 : Symbol(F3, Decl(unionTypeCallSignatures4.ts, 1, 54)) >F4 : Symbol(F4, Decl(unionTypeCallSignatures4.ts, 2, 49)) f34("a"); ->f34 : Symbol(f34, Decl(unionTypeCallSignatures4.ts, 11, 3)) +>f34 : Symbol(f34, Decl(unionTypeCallSignatures4.ts, 11, 11)) f34("a", "b"); ->f34 : Symbol(f34, Decl(unionTypeCallSignatures4.ts, 11, 3)) +>f34 : Symbol(f34, Decl(unionTypeCallSignatures4.ts, 11, 11)) f34("a", "b", "c"); ->f34 : Symbol(f34, Decl(unionTypeCallSignatures4.ts, 11, 3)) +>f34 : Symbol(f34, Decl(unionTypeCallSignatures4.ts, 11, 11)) -var f1234: F1 | F2 | F3 | F4; ->f1234 : Symbol(f1234, Decl(unionTypeCallSignatures4.ts, 16, 3)) +declare var f1234: F1 | F2 | F3 | F4; +>f1234 : Symbol(f1234, Decl(unionTypeCallSignatures4.ts, 16, 11)) >F1 : Symbol(F1, Decl(unionTypeCallSignatures4.ts, 0, 0)) >F2 : Symbol(F2, Decl(unionTypeCallSignatures4.ts, 0, 42)) >F3 : Symbol(F3, Decl(unionTypeCallSignatures4.ts, 1, 54)) >F4 : Symbol(F4, Decl(unionTypeCallSignatures4.ts, 2, 49)) f1234("a"); ->f1234 : Symbol(f1234, Decl(unionTypeCallSignatures4.ts, 16, 3)) +>f1234 : Symbol(f1234, Decl(unionTypeCallSignatures4.ts, 16, 11)) f1234("a", "b"); ->f1234 : Symbol(f1234, Decl(unionTypeCallSignatures4.ts, 16, 3)) +>f1234 : Symbol(f1234, Decl(unionTypeCallSignatures4.ts, 16, 11)) f1234("a", "b", "c"); // ok ->f1234 : Symbol(f1234, Decl(unionTypeCallSignatures4.ts, 16, 3)) +>f1234 : Symbol(f1234, Decl(unionTypeCallSignatures4.ts, 16, 11)) -var f12345: F1 | F2 | F3 | F4 | F5; ->f12345 : Symbol(f12345, Decl(unionTypeCallSignatures4.ts, 21, 3)) +declare var f12345: F1 | F2 | F3 | F4 | F5; +>f12345 : Symbol(f12345, Decl(unionTypeCallSignatures4.ts, 21, 11)) >F1 : Symbol(F1, Decl(unionTypeCallSignatures4.ts, 0, 0)) >F2 : Symbol(F2, Decl(unionTypeCallSignatures4.ts, 0, 42)) >F3 : Symbol(F3, Decl(unionTypeCallSignatures4.ts, 1, 54)) @@ -81,11 +81,11 @@ var f12345: F1 | F2 | F3 | F4 | F5; >F5 : Symbol(F5, Decl(unionTypeCallSignatures4.ts, 3, 61)) f12345("a"); // error ->f12345 : Symbol(f12345, Decl(unionTypeCallSignatures4.ts, 21, 3)) +>f12345 : Symbol(f12345, Decl(unionTypeCallSignatures4.ts, 21, 11)) f12345("a", "b"); ->f12345 : Symbol(f12345, Decl(unionTypeCallSignatures4.ts, 21, 3)) +>f12345 : Symbol(f12345, Decl(unionTypeCallSignatures4.ts, 21, 11)) f12345("a", "b", "c"); // error ->f12345 : Symbol(f12345, Decl(unionTypeCallSignatures4.ts, 21, 3)) +>f12345 : Symbol(f12345, Decl(unionTypeCallSignatures4.ts, 21, 11)) diff --git a/tests/baselines/reference/unionTypeCallSignatures4.types b/tests/baselines/reference/unionTypeCallSignatures4.types index 84058d75f95bf..6ccd8bf5ad631 100644 --- a/tests/baselines/reference/unionTypeCallSignatures4.types +++ b/tests/baselines/reference/unionTypeCallSignatures4.types @@ -45,7 +45,7 @@ type F5 = (a: string, b: string) => void; >b : string > : ^^^^^^ -var f12: F1 | F2; +declare var f12: F1 | F2; >f12 : F1 | F2 > : ^^^^^^^ @@ -79,7 +79,7 @@ f12("a", "b", "c"); // ok >"c" : "c" > : ^^^ -var f34: F3 | F4; +declare var f34: F3 | F4; >f34 : F3 | F4 > : ^^^^^^^ @@ -113,7 +113,7 @@ f34("a", "b", "c"); >"c" : "c" > : ^^^ -var f1234: F1 | F2 | F3 | F4; +declare var f1234: F1 | F2 | F3 | F4; >f1234 : F1 | F2 | F3 | F4 > : ^^^^^^^^^^^^^^^^^ @@ -147,7 +147,7 @@ f1234("a", "b", "c"); // ok >"c" : "c" > : ^^^ -var f12345: F1 | F2 | F3 | F4 | F5; +declare var f12345: F1 | F2 | F3 | F4 | F5; >f12345 : F1 | F2 | F3 | F4 | F5 > : ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/unionTypeConstructSignatures.errors.txt b/tests/baselines/reference/unionTypeConstructSignatures.errors.txt index e72268863a43e..80ac57a990560 100644 --- a/tests/baselines/reference/unionTypeConstructSignatures.errors.txt +++ b/tests/baselines/reference/unionTypeConstructSignatures.errors.txt @@ -38,13 +38,13 @@ unionTypeConstructSignatures.ts(73,1): error TS2511: Cannot create an instance o ==== unionTypeConstructSignatures.ts (28 errors) ==== - var numOrDate: number | Date; - var strOrBoolean: string | boolean; - var strOrNum: string | number; + declare var numOrDate: number | Date; + declare var strOrBoolean: string | boolean; + declare var strOrNum: string | number; // If each type in U has construct signatures and the sets of construct signatures are identical ignoring return types, // U has the same set of construct signatures, but with return types that are unions of the return types of the respective construct signatures from each type in U. - var unionOfDifferentReturnType: { new (a: number): number; } | { new (a: number): Date; }; + declare var unionOfDifferentReturnType: { new (a: number): number; } | { new (a: number): Date; }; numOrDate = new unionOfDifferentReturnType(10); strOrBoolean = new unionOfDifferentReturnType("hello"); // error ~~~~~~~~~~~~ @@ -60,7 +60,7 @@ unionTypeConstructSignatures.ts(73,1): error TS2511: Cannot create an instance o !!! error TS2769: Overload 2 of 2, '(a: string): string | boolean', gave the following error. !!! error TS2769: Argument of type 'boolean' is not assignable to parameter of type 'string'. - var unionOfDifferentReturnType1: { new (a: number): number; new (a: string): string; } | { new (a: number): Date; new (a: string): boolean; }; + declare var unionOfDifferentReturnType1: { new (a: number): number; new (a: string): string; } | { new (a: number): Date; new (a: string): boolean; }; numOrDate = new unionOfDifferentReturnType1(10); strOrBoolean = new unionOfDifferentReturnType1("hello"); new unionOfDifferentReturnType1(true); // error in type of parameter @@ -73,9 +73,9 @@ unionTypeConstructSignatures.ts(73,1): error TS2511: Cannot create an instance o new unionOfDifferentReturnType1(); // error missing parameter ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 1 arguments, but got 0. -!!! related TS6210 unionTypeConstructSignatures.ts:12:41: An argument for 'a' was not provided. +!!! related TS6210 unionTypeConstructSignatures.ts:12:49: An argument for 'a' was not provided. - var unionOfDifferentParameterTypes: { new (a: number): number; } | { new (a: string): Date; }; + declare var unionOfDifferentParameterTypes: { new (a: number): number; } | { new (a: string): Date; }; new unionOfDifferentParameterTypes(10);// error - no call signatures ~~ !!! error TS2345: Argument of type '10' is not assignable to parameter of type 'never'. @@ -85,30 +85,30 @@ unionTypeConstructSignatures.ts(73,1): error TS2511: Cannot create an instance o new unionOfDifferentParameterTypes();// error - no call signatures ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 1 arguments, but got 0. -!!! related TS6210 unionTypeConstructSignatures.ts:18:44: An argument for 'a' was not provided. +!!! related TS6210 unionTypeConstructSignatures.ts:18:52: An argument for 'a' was not provided. - var unionOfDifferentNumberOfSignatures: { new (a: number): number; } | { new (a: number): Date; new (a: string): boolean; }; + declare var unionOfDifferentNumberOfSignatures: { new (a: number): number; } | { new (a: number): Date; new (a: string): boolean; }; new unionOfDifferentNumberOfSignatures(); // error - no call signatures ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 1 arguments, but got 0. -!!! related TS6210 unionTypeConstructSignatures.ts:23:48: An argument for 'a' was not provided. +!!! related TS6210 unionTypeConstructSignatures.ts:23:56: An argument for 'a' was not provided. new unionOfDifferentNumberOfSignatures(10); // error - no call signatures new unionOfDifferentNumberOfSignatures("hello"); // error - no call signatures ~~~~~~~ !!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. - var unionWithDifferentParameterCount: { new (a: string): string; } | { new (a: string, b: number): number; }; + declare var unionWithDifferentParameterCount: { new (a: string): string; } | { new (a: string, b: number): number; }; new unionWithDifferentParameterCount();// needs more args ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 2 arguments, but got 0. -!!! related TS6210 unionTypeConstructSignatures.ts:28:77: An argument for 'a' was not provided. +!!! related TS6210 unionTypeConstructSignatures.ts:28:85: An argument for 'a' was not provided. new unionWithDifferentParameterCount("hello");// needs more args ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 2 arguments, but got 1. -!!! related TS6210 unionTypeConstructSignatures.ts:28:88: An argument for 'b' was not provided. +!!! related TS6210 unionTypeConstructSignatures.ts:28:96: An argument for 'b' was not provided. new unionWithDifferentParameterCount("hello", 10);// ok - var unionWithOptionalParameter1: { new (a: string, b?: number): string; } | { new (a: string, b?: number): number; }; + declare var unionWithOptionalParameter1: { new (a: string, b?: number): string; } | { new (a: string, b?: number): number; }; strOrNum = new unionWithOptionalParameter1('hello'); strOrNum = new unionWithOptionalParameter1('hello', 10); strOrNum = new unionWithOptionalParameter1('hello', "hello"); // error in parameter type @@ -117,13 +117,13 @@ unionTypeConstructSignatures.ts(73,1): error TS2511: Cannot create an instance o strOrNum = new unionWithOptionalParameter1(); // error ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 1-2 arguments, but got 0. -!!! related TS6210 unionTypeConstructSignatures.ts:33:41: An argument for 'a' was not provided. +!!! related TS6210 unionTypeConstructSignatures.ts:33:49: An argument for 'a' was not provided. - var unionWithOptionalParameter2: { new (a: string, b?: number): string; } | { new (a: string, b: number): number }; + declare var unionWithOptionalParameter2: { new (a: string, b?: number): string; } | { new (a: string, b: number): number }; strOrNum = new unionWithOptionalParameter2('hello'); // error no call signature ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 2 arguments, but got 1. -!!! related TS6210 unionTypeConstructSignatures.ts:39:95: An argument for 'b' was not provided. +!!! related TS6210 unionTypeConstructSignatures.ts:39:103: An argument for 'b' was not provided. strOrNum = new unionWithOptionalParameter2('hello', 10); // error no call signature strOrNum = new unionWithOptionalParameter2('hello', "hello"); // error no call signature ~~~~~~~ @@ -131,9 +131,9 @@ unionTypeConstructSignatures.ts(73,1): error TS2511: Cannot create an instance o strOrNum = new unionWithOptionalParameter2(); // error no call signature ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 2 arguments, but got 0. -!!! related TS6210 unionTypeConstructSignatures.ts:39:84: An argument for 'a' was not provided. +!!! related TS6210 unionTypeConstructSignatures.ts:39:92: An argument for 'a' was not provided. - var unionWithOptionalParameter3: { new (a: string, b?: number): string; } | { new (a: string): number; }; + declare var unionWithOptionalParameter3: { new (a: string, b?: number): string; } | { new (a: string): number; }; strOrNum = new unionWithOptionalParameter3('hello'); // error no call signature strOrNum = new unionWithOptionalParameter3('hello', 10); // ok strOrNum = new unionWithOptionalParameter3('hello', "hello"); // wrong type @@ -142,9 +142,9 @@ unionTypeConstructSignatures.ts(73,1): error TS2511: Cannot create an instance o strOrNum = new unionWithOptionalParameter3(); // error no call signature ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 1-2 arguments, but got 0. -!!! related TS6210 unionTypeConstructSignatures.ts:45:41: An argument for 'a' was not provided. +!!! related TS6210 unionTypeConstructSignatures.ts:45:49: An argument for 'a' was not provided. - var unionWithRestParameter1: { new (a: string, ...b: number[]): string; } | { new (a: string, ...b: number[]): number }; + declare var unionWithRestParameter1: { new (a: string, ...b: number[]): string; } | { new (a: string, ...b: number[]): number }; strOrNum = new unionWithRestParameter1('hello'); strOrNum = new unionWithRestParameter1('hello', 10); strOrNum = new unionWithRestParameter1('hello', 10, 11); @@ -154,13 +154,13 @@ unionTypeConstructSignatures.ts(73,1): error TS2511: Cannot create an instance o strOrNum = new unionWithRestParameter1(); // error ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2555: Expected at least 1 arguments, but got 0. -!!! related TS6210 unionTypeConstructSignatures.ts:51:37: An argument for 'a' was not provided. +!!! related TS6210 unionTypeConstructSignatures.ts:51:45: An argument for 'a' was not provided. - var unionWithRestParameter2: { new (a: string, ...b: number[]): string; } | { new (a: string, b: number): number }; + declare var unionWithRestParameter2: { new (a: string, ...b: number[]): string; } | { new (a: string, b: number): number }; strOrNum = new unionWithRestParameter2('hello'); // error no call signature ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 2 arguments, but got 1. -!!! related TS6210 unionTypeConstructSignatures.ts:58:95: An argument for 'b' was not provided. +!!! related TS6210 unionTypeConstructSignatures.ts:58:103: An argument for 'b' was not provided. strOrNum = new unionWithRestParameter2('hello', 10); // error no call signature strOrNum = new unionWithRestParameter2('hello', 10, 11); // error no call signature ~~ @@ -171,9 +171,9 @@ unionTypeConstructSignatures.ts(73,1): error TS2511: Cannot create an instance o strOrNum = new unionWithRestParameter2(); // error no call signature ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2554: Expected 2 arguments, but got 0. -!!! related TS6210 unionTypeConstructSignatures.ts:58:84: An argument for 'a' was not provided. +!!! related TS6210 unionTypeConstructSignatures.ts:58:92: An argument for 'a' was not provided. - var unionWithRestParameter3: { new (a: string, ...b: number[]): string; } | { new (a: string): number }; + declare var unionWithRestParameter3: { new (a: string, ...b: number[]): string; } | { new (a: string): number }; strOrNum = new unionWithRestParameter3('hello'); // error no call signature strOrNum = new unionWithRestParameter3('hello', 10); // ok strOrNum = new unionWithRestParameter3('hello', 10, 11); // ok @@ -183,9 +183,9 @@ unionTypeConstructSignatures.ts(73,1): error TS2511: Cannot create an instance o strOrNum = new unionWithRestParameter3(); // error no call signature ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2555: Expected at least 1 arguments, but got 0. -!!! related TS6210 unionTypeConstructSignatures.ts:65:37: An argument for 'a' was not provided. +!!! related TS6210 unionTypeConstructSignatures.ts:65:45: An argument for 'a' was not provided. - var unionWithAbstractSignature: (abstract new (a: string) => string) | (new (a: string) => string); + declare var unionWithAbstractSignature: (abstract new (a: string) => string) | (new (a: string) => string); new unionWithAbstractSignature('hello'); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2511: Cannot create an instance of an abstract class. diff --git a/tests/baselines/reference/unionTypeConstructSignatures.js b/tests/baselines/reference/unionTypeConstructSignatures.js index 0bade18beec4c..4509cf066b263 100644 --- a/tests/baselines/reference/unionTypeConstructSignatures.js +++ b/tests/baselines/reference/unionTypeConstructSignatures.js @@ -1,140 +1,123 @@ //// [tests/cases/conformance/types/union/unionTypeConstructSignatures.ts] //// //// [unionTypeConstructSignatures.ts] -var numOrDate: number | Date; -var strOrBoolean: string | boolean; -var strOrNum: string | number; +declare var numOrDate: number | Date; +declare var strOrBoolean: string | boolean; +declare var strOrNum: string | number; // If each type in U has construct signatures and the sets of construct signatures are identical ignoring return types, // U has the same set of construct signatures, but with return types that are unions of the return types of the respective construct signatures from each type in U. -var unionOfDifferentReturnType: { new (a: number): number; } | { new (a: number): Date; }; +declare var unionOfDifferentReturnType: { new (a: number): number; } | { new (a: number): Date; }; numOrDate = new unionOfDifferentReturnType(10); strOrBoolean = new unionOfDifferentReturnType("hello"); // error new unionOfDifferentReturnType1(true); // error in type of parameter -var unionOfDifferentReturnType1: { new (a: number): number; new (a: string): string; } | { new (a: number): Date; new (a: string): boolean; }; +declare var unionOfDifferentReturnType1: { new (a: number): number; new (a: string): string; } | { new (a: number): Date; new (a: string): boolean; }; numOrDate = new unionOfDifferentReturnType1(10); strOrBoolean = new unionOfDifferentReturnType1("hello"); new unionOfDifferentReturnType1(true); // error in type of parameter new unionOfDifferentReturnType1(); // error missing parameter -var unionOfDifferentParameterTypes: { new (a: number): number; } | { new (a: string): Date; }; +declare var unionOfDifferentParameterTypes: { new (a: number): number; } | { new (a: string): Date; }; new unionOfDifferentParameterTypes(10);// error - no call signatures new unionOfDifferentParameterTypes("hello");// error - no call signatures new unionOfDifferentParameterTypes();// error - no call signatures -var unionOfDifferentNumberOfSignatures: { new (a: number): number; } | { new (a: number): Date; new (a: string): boolean; }; +declare var unionOfDifferentNumberOfSignatures: { new (a: number): number; } | { new (a: number): Date; new (a: string): boolean; }; new unionOfDifferentNumberOfSignatures(); // error - no call signatures new unionOfDifferentNumberOfSignatures(10); // error - no call signatures new unionOfDifferentNumberOfSignatures("hello"); // error - no call signatures -var unionWithDifferentParameterCount: { new (a: string): string; } | { new (a: string, b: number): number; }; +declare var unionWithDifferentParameterCount: { new (a: string): string; } | { new (a: string, b: number): number; }; new unionWithDifferentParameterCount();// needs more args new unionWithDifferentParameterCount("hello");// needs more args new unionWithDifferentParameterCount("hello", 10);// ok -var unionWithOptionalParameter1: { new (a: string, b?: number): string; } | { new (a: string, b?: number): number; }; +declare var unionWithOptionalParameter1: { new (a: string, b?: number): string; } | { new (a: string, b?: number): number; }; strOrNum = new unionWithOptionalParameter1('hello'); strOrNum = new unionWithOptionalParameter1('hello', 10); strOrNum = new unionWithOptionalParameter1('hello', "hello"); // error in parameter type strOrNum = new unionWithOptionalParameter1(); // error -var unionWithOptionalParameter2: { new (a: string, b?: number): string; } | { new (a: string, b: number): number }; +declare var unionWithOptionalParameter2: { new (a: string, b?: number): string; } | { new (a: string, b: number): number }; strOrNum = new unionWithOptionalParameter2('hello'); // error no call signature strOrNum = new unionWithOptionalParameter2('hello', 10); // error no call signature strOrNum = new unionWithOptionalParameter2('hello', "hello"); // error no call signature strOrNum = new unionWithOptionalParameter2(); // error no call signature -var unionWithOptionalParameter3: { new (a: string, b?: number): string; } | { new (a: string): number; }; +declare var unionWithOptionalParameter3: { new (a: string, b?: number): string; } | { new (a: string): number; }; strOrNum = new unionWithOptionalParameter3('hello'); // error no call signature strOrNum = new unionWithOptionalParameter3('hello', 10); // ok strOrNum = new unionWithOptionalParameter3('hello', "hello"); // wrong type strOrNum = new unionWithOptionalParameter3(); // error no call signature -var unionWithRestParameter1: { new (a: string, ...b: number[]): string; } | { new (a: string, ...b: number[]): number }; +declare var unionWithRestParameter1: { new (a: string, ...b: number[]): string; } | { new (a: string, ...b: number[]): number }; strOrNum = new unionWithRestParameter1('hello'); strOrNum = new unionWithRestParameter1('hello', 10); strOrNum = new unionWithRestParameter1('hello', 10, 11); strOrNum = new unionWithRestParameter1('hello', "hello"); // error in parameter type strOrNum = new unionWithRestParameter1(); // error -var unionWithRestParameter2: { new (a: string, ...b: number[]): string; } | { new (a: string, b: number): number }; +declare var unionWithRestParameter2: { new (a: string, ...b: number[]): string; } | { new (a: string, b: number): number }; strOrNum = new unionWithRestParameter2('hello'); // error no call signature strOrNum = new unionWithRestParameter2('hello', 10); // error no call signature strOrNum = new unionWithRestParameter2('hello', 10, 11); // error no call signature strOrNum = new unionWithRestParameter2('hello', "hello"); // error no call signature strOrNum = new unionWithRestParameter2(); // error no call signature -var unionWithRestParameter3: { new (a: string, ...b: number[]): string; } | { new (a: string): number }; +declare var unionWithRestParameter3: { new (a: string, ...b: number[]): string; } | { new (a: string): number }; strOrNum = new unionWithRestParameter3('hello'); // error no call signature strOrNum = new unionWithRestParameter3('hello', 10); // ok strOrNum = new unionWithRestParameter3('hello', 10, 11); // ok strOrNum = new unionWithRestParameter3('hello', "hello"); // wrong type strOrNum = new unionWithRestParameter3(); // error no call signature -var unionWithAbstractSignature: (abstract new (a: string) => string) | (new (a: string) => string); +declare var unionWithAbstractSignature: (abstract new (a: string) => string) | (new (a: string) => string); new unionWithAbstractSignature('hello'); //// [unionTypeConstructSignatures.js] -var numOrDate; -var strOrBoolean; -var strOrNum; -// If each type in U has construct signatures and the sets of construct signatures are identical ignoring return types, -// U has the same set of construct signatures, but with return types that are unions of the return types of the respective construct signatures from each type in U. -var unionOfDifferentReturnType; numOrDate = new unionOfDifferentReturnType(10); strOrBoolean = new unionOfDifferentReturnType("hello"); // error new unionOfDifferentReturnType1(true); // error in type of parameter -var unionOfDifferentReturnType1; numOrDate = new unionOfDifferentReturnType1(10); strOrBoolean = new unionOfDifferentReturnType1("hello"); new unionOfDifferentReturnType1(true); // error in type of parameter new unionOfDifferentReturnType1(); // error missing parameter -var unionOfDifferentParameterTypes; new unionOfDifferentParameterTypes(10); // error - no call signatures new unionOfDifferentParameterTypes("hello"); // error - no call signatures new unionOfDifferentParameterTypes(); // error - no call signatures -var unionOfDifferentNumberOfSignatures; new unionOfDifferentNumberOfSignatures(); // error - no call signatures new unionOfDifferentNumberOfSignatures(10); // error - no call signatures new unionOfDifferentNumberOfSignatures("hello"); // error - no call signatures -var unionWithDifferentParameterCount; new unionWithDifferentParameterCount(); // needs more args new unionWithDifferentParameterCount("hello"); // needs more args new unionWithDifferentParameterCount("hello", 10); // ok -var unionWithOptionalParameter1; strOrNum = new unionWithOptionalParameter1('hello'); strOrNum = new unionWithOptionalParameter1('hello', 10); strOrNum = new unionWithOptionalParameter1('hello', "hello"); // error in parameter type strOrNum = new unionWithOptionalParameter1(); // error -var unionWithOptionalParameter2; strOrNum = new unionWithOptionalParameter2('hello'); // error no call signature strOrNum = new unionWithOptionalParameter2('hello', 10); // error no call signature strOrNum = new unionWithOptionalParameter2('hello', "hello"); // error no call signature strOrNum = new unionWithOptionalParameter2(); // error no call signature -var unionWithOptionalParameter3; strOrNum = new unionWithOptionalParameter3('hello'); // error no call signature strOrNum = new unionWithOptionalParameter3('hello', 10); // ok strOrNum = new unionWithOptionalParameter3('hello', "hello"); // wrong type strOrNum = new unionWithOptionalParameter3(); // error no call signature -var unionWithRestParameter1; strOrNum = new unionWithRestParameter1('hello'); strOrNum = new unionWithRestParameter1('hello', 10); strOrNum = new unionWithRestParameter1('hello', 10, 11); strOrNum = new unionWithRestParameter1('hello', "hello"); // error in parameter type strOrNum = new unionWithRestParameter1(); // error -var unionWithRestParameter2; strOrNum = new unionWithRestParameter2('hello'); // error no call signature strOrNum = new unionWithRestParameter2('hello', 10); // error no call signature strOrNum = new unionWithRestParameter2('hello', 10, 11); // error no call signature strOrNum = new unionWithRestParameter2('hello', "hello"); // error no call signature strOrNum = new unionWithRestParameter2(); // error no call signature -var unionWithRestParameter3; strOrNum = new unionWithRestParameter3('hello'); // error no call signature strOrNum = new unionWithRestParameter3('hello', 10); // ok strOrNum = new unionWithRestParameter3('hello', 10, 11); // ok strOrNum = new unionWithRestParameter3('hello', "hello"); // wrong type strOrNum = new unionWithRestParameter3(); // error no call signature -var unionWithAbstractSignature; new unionWithAbstractSignature('hello'); diff --git a/tests/baselines/reference/unionTypeConstructSignatures.symbols b/tests/baselines/reference/unionTypeConstructSignatures.symbols index c5776d7dbc106..89855db0e8f73 100644 --- a/tests/baselines/reference/unionTypeConstructSignatures.symbols +++ b/tests/baselines/reference/unionTypeConstructSignatures.symbols @@ -1,256 +1,256 @@ //// [tests/cases/conformance/types/union/unionTypeConstructSignatures.ts] //// === unionTypeConstructSignatures.ts === -var numOrDate: number | Date; ->numOrDate : Symbol(numOrDate, Decl(unionTypeConstructSignatures.ts, 0, 3)) +declare var numOrDate: number | Date; +>numOrDate : Symbol(numOrDate, Decl(unionTypeConstructSignatures.ts, 0, 11)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) -var strOrBoolean: string | boolean; ->strOrBoolean : Symbol(strOrBoolean, Decl(unionTypeConstructSignatures.ts, 1, 3)) +declare var strOrBoolean: string | boolean; +>strOrBoolean : Symbol(strOrBoolean, Decl(unionTypeConstructSignatures.ts, 1, 11)) -var strOrNum: string | number; ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) +declare var strOrNum: string | number; +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) // If each type in U has construct signatures and the sets of construct signatures are identical ignoring return types, // U has the same set of construct signatures, but with return types that are unions of the return types of the respective construct signatures from each type in U. -var unionOfDifferentReturnType: { new (a: number): number; } | { new (a: number): Date; }; ->unionOfDifferentReturnType : Symbol(unionOfDifferentReturnType, Decl(unionTypeConstructSignatures.ts, 6, 3)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 6, 39)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 6, 70)) +declare var unionOfDifferentReturnType: { new (a: number): number; } | { new (a: number): Date; }; +>unionOfDifferentReturnType : Symbol(unionOfDifferentReturnType, Decl(unionTypeConstructSignatures.ts, 6, 11)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 6, 47)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 6, 78)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) numOrDate = new unionOfDifferentReturnType(10); ->numOrDate : Symbol(numOrDate, Decl(unionTypeConstructSignatures.ts, 0, 3)) ->unionOfDifferentReturnType : Symbol(unionOfDifferentReturnType, Decl(unionTypeConstructSignatures.ts, 6, 3)) +>numOrDate : Symbol(numOrDate, Decl(unionTypeConstructSignatures.ts, 0, 11)) +>unionOfDifferentReturnType : Symbol(unionOfDifferentReturnType, Decl(unionTypeConstructSignatures.ts, 6, 11)) strOrBoolean = new unionOfDifferentReturnType("hello"); // error ->strOrBoolean : Symbol(strOrBoolean, Decl(unionTypeConstructSignatures.ts, 1, 3)) ->unionOfDifferentReturnType : Symbol(unionOfDifferentReturnType, Decl(unionTypeConstructSignatures.ts, 6, 3)) +>strOrBoolean : Symbol(strOrBoolean, Decl(unionTypeConstructSignatures.ts, 1, 11)) +>unionOfDifferentReturnType : Symbol(unionOfDifferentReturnType, Decl(unionTypeConstructSignatures.ts, 6, 11)) new unionOfDifferentReturnType1(true); // error in type of parameter ->unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeConstructSignatures.ts, 11, 3)) +>unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeConstructSignatures.ts, 11, 11)) -var unionOfDifferentReturnType1: { new (a: number): number; new (a: string): string; } | { new (a: number): Date; new (a: string): boolean; }; ->unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeConstructSignatures.ts, 11, 3)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 11, 40)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 11, 65)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 11, 96)) +declare var unionOfDifferentReturnType1: { new (a: number): number; new (a: string): string; } | { new (a: number): Date; new (a: string): boolean; }; +>unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeConstructSignatures.ts, 11, 11)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 11, 48)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 11, 73)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 11, 104)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 11, 119)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 11, 127)) numOrDate = new unionOfDifferentReturnType1(10); ->numOrDate : Symbol(numOrDate, Decl(unionTypeConstructSignatures.ts, 0, 3)) ->unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeConstructSignatures.ts, 11, 3)) +>numOrDate : Symbol(numOrDate, Decl(unionTypeConstructSignatures.ts, 0, 11)) +>unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeConstructSignatures.ts, 11, 11)) strOrBoolean = new unionOfDifferentReturnType1("hello"); ->strOrBoolean : Symbol(strOrBoolean, Decl(unionTypeConstructSignatures.ts, 1, 3)) ->unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeConstructSignatures.ts, 11, 3)) +>strOrBoolean : Symbol(strOrBoolean, Decl(unionTypeConstructSignatures.ts, 1, 11)) +>unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeConstructSignatures.ts, 11, 11)) new unionOfDifferentReturnType1(true); // error in type of parameter ->unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeConstructSignatures.ts, 11, 3)) +>unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeConstructSignatures.ts, 11, 11)) new unionOfDifferentReturnType1(); // error missing parameter ->unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeConstructSignatures.ts, 11, 3)) +>unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeConstructSignatures.ts, 11, 11)) -var unionOfDifferentParameterTypes: { new (a: number): number; } | { new (a: string): Date; }; ->unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeConstructSignatures.ts, 17, 3)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 17, 43)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 17, 74)) +declare var unionOfDifferentParameterTypes: { new (a: number): number; } | { new (a: string): Date; }; +>unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeConstructSignatures.ts, 17, 11)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 17, 51)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 17, 82)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) new unionOfDifferentParameterTypes(10);// error - no call signatures ->unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeConstructSignatures.ts, 17, 3)) +>unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeConstructSignatures.ts, 17, 11)) new unionOfDifferentParameterTypes("hello");// error - no call signatures ->unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeConstructSignatures.ts, 17, 3)) +>unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeConstructSignatures.ts, 17, 11)) new unionOfDifferentParameterTypes();// error - no call signatures ->unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeConstructSignatures.ts, 17, 3)) +>unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeConstructSignatures.ts, 17, 11)) -var unionOfDifferentNumberOfSignatures: { new (a: number): number; } | { new (a: number): Date; new (a: string): boolean; }; ->unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeConstructSignatures.ts, 22, 3)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 22, 47)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 22, 78)) +declare var unionOfDifferentNumberOfSignatures: { new (a: number): number; } | { new (a: number): Date; new (a: string): boolean; }; +>unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeConstructSignatures.ts, 22, 11)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 22, 55)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 22, 86)) >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 22, 101)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 22, 109)) new unionOfDifferentNumberOfSignatures(); // error - no call signatures ->unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeConstructSignatures.ts, 22, 3)) +>unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeConstructSignatures.ts, 22, 11)) new unionOfDifferentNumberOfSignatures(10); // error - no call signatures ->unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeConstructSignatures.ts, 22, 3)) +>unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeConstructSignatures.ts, 22, 11)) new unionOfDifferentNumberOfSignatures("hello"); // error - no call signatures ->unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeConstructSignatures.ts, 22, 3)) +>unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeConstructSignatures.ts, 22, 11)) -var unionWithDifferentParameterCount: { new (a: string): string; } | { new (a: string, b: number): number; }; ->unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeConstructSignatures.ts, 27, 3)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 27, 45)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 27, 76)) ->b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 27, 86)) +declare var unionWithDifferentParameterCount: { new (a: string): string; } | { new (a: string, b: number): number; }; +>unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeConstructSignatures.ts, 27, 11)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 27, 53)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 27, 84)) +>b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 27, 94)) new unionWithDifferentParameterCount();// needs more args ->unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeConstructSignatures.ts, 27, 3)) +>unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeConstructSignatures.ts, 27, 11)) new unionWithDifferentParameterCount("hello");// needs more args ->unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeConstructSignatures.ts, 27, 3)) +>unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeConstructSignatures.ts, 27, 11)) new unionWithDifferentParameterCount("hello", 10);// ok ->unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeConstructSignatures.ts, 27, 3)) +>unionWithDifferentParameterCount : Symbol(unionWithDifferentParameterCount, Decl(unionTypeConstructSignatures.ts, 27, 11)) -var unionWithOptionalParameter1: { new (a: string, b?: number): string; } | { new (a: string, b?: number): number; }; ->unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeConstructSignatures.ts, 32, 3)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 32, 40)) ->b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 32, 50)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 32, 83)) ->b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 32, 93)) +declare var unionWithOptionalParameter1: { new (a: string, b?: number): string; } | { new (a: string, b?: number): number; }; +>unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeConstructSignatures.ts, 32, 11)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 32, 48)) +>b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 32, 58)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 32, 91)) +>b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 32, 101)) strOrNum = new unionWithOptionalParameter1('hello'); ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeConstructSignatures.ts, 32, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeConstructSignatures.ts, 32, 11)) strOrNum = new unionWithOptionalParameter1('hello', 10); ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeConstructSignatures.ts, 32, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeConstructSignatures.ts, 32, 11)) strOrNum = new unionWithOptionalParameter1('hello', "hello"); // error in parameter type ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeConstructSignatures.ts, 32, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeConstructSignatures.ts, 32, 11)) strOrNum = new unionWithOptionalParameter1(); // error ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeConstructSignatures.ts, 32, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithOptionalParameter1 : Symbol(unionWithOptionalParameter1, Decl(unionTypeConstructSignatures.ts, 32, 11)) -var unionWithOptionalParameter2: { new (a: string, b?: number): string; } | { new (a: string, b: number): number }; ->unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeConstructSignatures.ts, 38, 3)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 38, 40)) ->b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 38, 50)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 38, 83)) ->b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 38, 93)) +declare var unionWithOptionalParameter2: { new (a: string, b?: number): string; } | { new (a: string, b: number): number }; +>unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeConstructSignatures.ts, 38, 11)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 38, 48)) +>b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 38, 58)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 38, 91)) +>b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 38, 101)) strOrNum = new unionWithOptionalParameter2('hello'); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeConstructSignatures.ts, 38, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeConstructSignatures.ts, 38, 11)) strOrNum = new unionWithOptionalParameter2('hello', 10); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeConstructSignatures.ts, 38, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeConstructSignatures.ts, 38, 11)) strOrNum = new unionWithOptionalParameter2('hello', "hello"); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeConstructSignatures.ts, 38, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeConstructSignatures.ts, 38, 11)) strOrNum = new unionWithOptionalParameter2(); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeConstructSignatures.ts, 38, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithOptionalParameter2 : Symbol(unionWithOptionalParameter2, Decl(unionTypeConstructSignatures.ts, 38, 11)) -var unionWithOptionalParameter3: { new (a: string, b?: number): string; } | { new (a: string): number; }; ->unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeConstructSignatures.ts, 44, 3)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 44, 40)) ->b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 44, 50)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 44, 83)) +declare var unionWithOptionalParameter3: { new (a: string, b?: number): string; } | { new (a: string): number; }; +>unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeConstructSignatures.ts, 44, 11)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 44, 48)) +>b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 44, 58)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 44, 91)) strOrNum = new unionWithOptionalParameter3('hello'); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeConstructSignatures.ts, 44, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeConstructSignatures.ts, 44, 11)) strOrNum = new unionWithOptionalParameter3('hello', 10); // ok ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeConstructSignatures.ts, 44, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeConstructSignatures.ts, 44, 11)) strOrNum = new unionWithOptionalParameter3('hello', "hello"); // wrong type ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeConstructSignatures.ts, 44, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeConstructSignatures.ts, 44, 11)) strOrNum = new unionWithOptionalParameter3(); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeConstructSignatures.ts, 44, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithOptionalParameter3 : Symbol(unionWithOptionalParameter3, Decl(unionTypeConstructSignatures.ts, 44, 11)) -var unionWithRestParameter1: { new (a: string, ...b: number[]): string; } | { new (a: string, ...b: number[]): number }; ->unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeConstructSignatures.ts, 50, 3)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 50, 36)) ->b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 50, 46)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 50, 83)) ->b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 50, 93)) +declare var unionWithRestParameter1: { new (a: string, ...b: number[]): string; } | { new (a: string, ...b: number[]): number }; +>unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeConstructSignatures.ts, 50, 11)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 50, 44)) +>b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 50, 54)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 50, 91)) +>b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 50, 101)) strOrNum = new unionWithRestParameter1('hello'); ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeConstructSignatures.ts, 50, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeConstructSignatures.ts, 50, 11)) strOrNum = new unionWithRestParameter1('hello', 10); ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeConstructSignatures.ts, 50, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeConstructSignatures.ts, 50, 11)) strOrNum = new unionWithRestParameter1('hello', 10, 11); ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeConstructSignatures.ts, 50, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeConstructSignatures.ts, 50, 11)) strOrNum = new unionWithRestParameter1('hello', "hello"); // error in parameter type ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeConstructSignatures.ts, 50, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeConstructSignatures.ts, 50, 11)) strOrNum = new unionWithRestParameter1(); // error ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeConstructSignatures.ts, 50, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithRestParameter1 : Symbol(unionWithRestParameter1, Decl(unionTypeConstructSignatures.ts, 50, 11)) -var unionWithRestParameter2: { new (a: string, ...b: number[]): string; } | { new (a: string, b: number): number }; ->unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeConstructSignatures.ts, 57, 3)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 57, 36)) ->b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 57, 46)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 57, 83)) ->b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 57, 93)) +declare var unionWithRestParameter2: { new (a: string, ...b: number[]): string; } | { new (a: string, b: number): number }; +>unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeConstructSignatures.ts, 57, 11)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 57, 44)) +>b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 57, 54)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 57, 91)) +>b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 57, 101)) strOrNum = new unionWithRestParameter2('hello'); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeConstructSignatures.ts, 57, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeConstructSignatures.ts, 57, 11)) strOrNum = new unionWithRestParameter2('hello', 10); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeConstructSignatures.ts, 57, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeConstructSignatures.ts, 57, 11)) strOrNum = new unionWithRestParameter2('hello', 10, 11); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeConstructSignatures.ts, 57, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeConstructSignatures.ts, 57, 11)) strOrNum = new unionWithRestParameter2('hello', "hello"); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeConstructSignatures.ts, 57, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeConstructSignatures.ts, 57, 11)) strOrNum = new unionWithRestParameter2(); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeConstructSignatures.ts, 57, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithRestParameter2 : Symbol(unionWithRestParameter2, Decl(unionTypeConstructSignatures.ts, 57, 11)) -var unionWithRestParameter3: { new (a: string, ...b: number[]): string; } | { new (a: string): number }; ->unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeConstructSignatures.ts, 64, 3)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 64, 36)) ->b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 64, 46)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 64, 83)) +declare var unionWithRestParameter3: { new (a: string, ...b: number[]): string; } | { new (a: string): number }; +>unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeConstructSignatures.ts, 64, 11)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 64, 44)) +>b : Symbol(b, Decl(unionTypeConstructSignatures.ts, 64, 54)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 64, 91)) strOrNum = new unionWithRestParameter3('hello'); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeConstructSignatures.ts, 64, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeConstructSignatures.ts, 64, 11)) strOrNum = new unionWithRestParameter3('hello', 10); // ok ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeConstructSignatures.ts, 64, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeConstructSignatures.ts, 64, 11)) strOrNum = new unionWithRestParameter3('hello', 10, 11); // ok ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeConstructSignatures.ts, 64, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeConstructSignatures.ts, 64, 11)) strOrNum = new unionWithRestParameter3('hello', "hello"); // wrong type ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeConstructSignatures.ts, 64, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeConstructSignatures.ts, 64, 11)) strOrNum = new unionWithRestParameter3(); // error no call signature ->strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 3)) ->unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeConstructSignatures.ts, 64, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeConstructSignatures.ts, 2, 11)) +>unionWithRestParameter3 : Symbol(unionWithRestParameter3, Decl(unionTypeConstructSignatures.ts, 64, 11)) -var unionWithAbstractSignature: (abstract new (a: string) => string) | (new (a: string) => string); ->unionWithAbstractSignature : Symbol(unionWithAbstractSignature, Decl(unionTypeConstructSignatures.ts, 71, 3)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 71, 47)) ->a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 71, 77)) +declare var unionWithAbstractSignature: (abstract new (a: string) => string) | (new (a: string) => string); +>unionWithAbstractSignature : Symbol(unionWithAbstractSignature, Decl(unionTypeConstructSignatures.ts, 71, 11)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 71, 55)) +>a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 71, 85)) new unionWithAbstractSignature('hello'); ->unionWithAbstractSignature : Symbol(unionWithAbstractSignature, Decl(unionTypeConstructSignatures.ts, 71, 3)) +>unionWithAbstractSignature : Symbol(unionWithAbstractSignature, Decl(unionTypeConstructSignatures.ts, 71, 11)) diff --git a/tests/baselines/reference/unionTypeConstructSignatures.types b/tests/baselines/reference/unionTypeConstructSignatures.types index 7876baf6bc870..2900b172307fa 100644 --- a/tests/baselines/reference/unionTypeConstructSignatures.types +++ b/tests/baselines/reference/unionTypeConstructSignatures.types @@ -1,21 +1,21 @@ //// [tests/cases/conformance/types/union/unionTypeConstructSignatures.ts] //// === unionTypeConstructSignatures.ts === -var numOrDate: number | Date; +declare var numOrDate: number | Date; >numOrDate : number | Date > : ^^^^^^^^^^^^^ -var strOrBoolean: string | boolean; +declare var strOrBoolean: string | boolean; >strOrBoolean : string | boolean > : ^^^^^^^^^^^^^^^^ -var strOrNum: string | number; +declare var strOrNum: string | number; >strOrNum : string | number > : ^^^^^^^^^^^^^^^ // If each type in U has construct signatures and the sets of construct signatures are identical ignoring return types, // U has the same set of construct signatures, but with return types that are unions of the return types of the respective construct signatures from each type in U. -var unionOfDifferentReturnType: { new (a: number): number; } | { new (a: number): Date; }; +declare var unionOfDifferentReturnType: { new (a: number): number; } | { new (a: number): Date; }; >unionOfDifferentReturnType : (new (a: number) => number) | (new (a: number) => Date) > : ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^ >a : number @@ -55,7 +55,7 @@ new unionOfDifferentReturnType1(true); // error in type of parameter >true : true > : ^^^^ -var unionOfDifferentReturnType1: { new (a: number): number; new (a: string): string; } | { new (a: number): Date; new (a: string): boolean; }; +declare var unionOfDifferentReturnType1: { new (a: number): number; new (a: string): string; } | { new (a: number): Date; new (a: string): boolean; }; >unionOfDifferentReturnType1 : { new (a: number): number; new (a: string): string; } | { new (a: number): Date; new (a: string): boolean; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >a : number @@ -105,7 +105,7 @@ new unionOfDifferentReturnType1(); // error missing parameter >unionOfDifferentReturnType1 : { new (a: number): number; new (a: string): string; } | { new (a: number): Date; new (a: string): boolean; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ -var unionOfDifferentParameterTypes: { new (a: number): number; } | { new (a: string): Date; }; +declare var unionOfDifferentParameterTypes: { new (a: number): number; } | { new (a: string): Date; }; >unionOfDifferentParameterTypes : (new (a: number) => number) | (new (a: string) => Date) > : ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^ >a : number @@ -135,7 +135,7 @@ new unionOfDifferentParameterTypes();// error - no call signatures >unionOfDifferentParameterTypes : (new (a: number) => number) | (new (a: string) => Date) > : ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^ -var unionOfDifferentNumberOfSignatures: { new (a: number): number; } | { new (a: number): Date; new (a: string): boolean; }; +declare var unionOfDifferentNumberOfSignatures: { new (a: number): number; } | { new (a: number): Date; new (a: string): boolean; }; >unionOfDifferentNumberOfSignatures : (new (a: number) => number) | { new (a: number): Date; new (a: string): boolean; } > : ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >a : number @@ -167,7 +167,7 @@ new unionOfDifferentNumberOfSignatures("hello"); // error - no call signatures >"hello" : "hello" > : ^^^^^^^ -var unionWithDifferentParameterCount: { new (a: string): string; } | { new (a: string, b: number): number; }; +declare var unionWithDifferentParameterCount: { new (a: string): string; } | { new (a: string, b: number): number; }; >unionWithDifferentParameterCount : (new (a: string) => string) | (new (a: string, b: number) => number) > : ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >a : string @@ -201,7 +201,7 @@ new unionWithDifferentParameterCount("hello", 10);// ok >10 : 10 > : ^^ -var unionWithOptionalParameter1: { new (a: string, b?: number): string; } | { new (a: string, b?: number): number; }; +declare var unionWithOptionalParameter1: { new (a: string, b?: number): string; } | { new (a: string, b?: number): number; }; >unionWithOptionalParameter1 : (new (a: string, b?: number) => string) | (new (a: string, b?: number) => number) > : ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^ >a : string @@ -263,7 +263,7 @@ strOrNum = new unionWithOptionalParameter1(); // error >unionWithOptionalParameter1 : (new (a: string, b?: number) => string) | (new (a: string, b?: number) => number) > : ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^ -var unionWithOptionalParameter2: { new (a: string, b?: number): string; } | { new (a: string, b: number): number }; +declare var unionWithOptionalParameter2: { new (a: string, b?: number): string; } | { new (a: string, b: number): number }; >unionWithOptionalParameter2 : (new (a: string, b?: number) => string) | (new (a: string, b: number) => number) > : ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >a : string @@ -325,7 +325,7 @@ strOrNum = new unionWithOptionalParameter2(); // error no call signature >unionWithOptionalParameter2 : (new (a: string, b?: number) => string) | (new (a: string, b: number) => number) > : ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^ -var unionWithOptionalParameter3: { new (a: string, b?: number): string; } | { new (a: string): number; }; +declare var unionWithOptionalParameter3: { new (a: string, b?: number): string; } | { new (a: string): number; }; >unionWithOptionalParameter3 : (new (a: string, b?: number) => string) | (new (a: string) => number) > : ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^ >a : string @@ -385,7 +385,7 @@ strOrNum = new unionWithOptionalParameter3(); // error no call signature >unionWithOptionalParameter3 : (new (a: string, b?: number) => string) | (new (a: string) => number) > : ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^ -var unionWithRestParameter1: { new (a: string, ...b: number[]): string; } | { new (a: string, ...b: number[]): number }; +declare var unionWithRestParameter1: { new (a: string, ...b: number[]): string; } | { new (a: string, ...b: number[]): number }; >unionWithRestParameter1 : (new (a: string, ...b: number[]) => string) | (new (a: string, ...b: number[]) => number) > : ^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^ >a : string @@ -463,7 +463,7 @@ strOrNum = new unionWithRestParameter1(); // error >unionWithRestParameter1 : (new (a: string, ...b: number[]) => string) | (new (a: string, ...b: number[]) => number) > : ^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^ -var unionWithRestParameter2: { new (a: string, ...b: number[]): string; } | { new (a: string, b: number): number }; +declare var unionWithRestParameter2: { new (a: string, ...b: number[]): string; } | { new (a: string, b: number): number }; >unionWithRestParameter2 : (new (a: string, ...b: number[]) => string) | (new (a: string, b: number) => number) > : ^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >a : string @@ -541,7 +541,7 @@ strOrNum = new unionWithRestParameter2(); // error no call signature >unionWithRestParameter2 : (new (a: string, ...b: number[]) => string) | (new (a: string, b: number) => number) > : ^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^ -var unionWithRestParameter3: { new (a: string, ...b: number[]): string; } | { new (a: string): number }; +declare var unionWithRestParameter3: { new (a: string, ...b: number[]): string; } | { new (a: string): number }; >unionWithRestParameter3 : (new (a: string, ...b: number[]) => string) | (new (a: string) => number) > : ^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^ >a : string @@ -617,7 +617,7 @@ strOrNum = new unionWithRestParameter3(); // error no call signature >unionWithRestParameter3 : (new (a: string, ...b: number[]) => string) | (new (a: string) => number) > : ^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^ -var unionWithAbstractSignature: (abstract new (a: string) => string) | (new (a: string) => string); +declare var unionWithAbstractSignature: (abstract new (a: string) => string) | (new (a: string) => string); >unionWithAbstractSignature : (abstract new (a: string) => string) | (new (a: string) => string) > : ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^ >a : string diff --git a/tests/baselines/reference/unionTypeFromArrayLiteral.errors.txt b/tests/baselines/reference/unionTypeFromArrayLiteral.errors.txt index 8c0fd372531b5..a9790631b1838 100644 --- a/tests/baselines/reference/unionTypeFromArrayLiteral.errors.txt +++ b/tests/baselines/reference/unionTypeFromArrayLiteral.errors.txt @@ -24,7 +24,7 @@ unionTypeFromArrayLiteral.ts(9,5): error TS2322: Type '[number, string, string]' class D { foo2() { } } class E extends C { foo3() { } } class F extends C { foo4() { } } - var c: C, d: D, e: E, f: F; + declare var c: C, d: D, e: E, f: F; var arr6 = [c, d]; // (C | D)[] var arr7 = [c, d, e]; // (C | D)[] var arr8 = [c, e]; // C[] diff --git a/tests/baselines/reference/unionTypeFromArrayLiteral.js b/tests/baselines/reference/unionTypeFromArrayLiteral.js index d3439676599dd..e042fbfb699bd 100644 --- a/tests/baselines/reference/unionTypeFromArrayLiteral.js +++ b/tests/baselines/reference/unionTypeFromArrayLiteral.js @@ -19,7 +19,7 @@ class C { foo() { } } class D { foo2() { } } class E extends C { foo3() { } } class F extends C { foo4() { } } -var c: C, d: D, e: E, f: F; +declare var c: C, d: D, e: E, f: F; var arr6 = [c, d]; // (C | D)[] var arr7 = [c, d, e]; // (C | D)[] var arr8 = [c, e]; // C[] @@ -79,7 +79,6 @@ var F = /** @class */ (function (_super) { F.prototype.foo4 = function () { }; return F; }(C)); -var c, d, e, f; var arr6 = [c, d]; // (C | D)[] var arr7 = [c, d, e]; // (C | D)[] var arr8 = [c, e]; // C[] diff --git a/tests/baselines/reference/unionTypeFromArrayLiteral.symbols b/tests/baselines/reference/unionTypeFromArrayLiteral.symbols index 2ea513ded00e5..8af8030042cb2 100644 --- a/tests/baselines/reference/unionTypeFromArrayLiteral.symbols +++ b/tests/baselines/reference/unionTypeFromArrayLiteral.symbols @@ -49,34 +49,34 @@ class F extends C { foo4() { } } >C : Symbol(C, Decl(unionTypeFromArrayLiteral.ts, 13, 54)) >foo4 : Symbol(F.foo4, Decl(unionTypeFromArrayLiteral.ts, 17, 19)) -var c: C, d: D, e: E, f: F; ->c : Symbol(c, Decl(unionTypeFromArrayLiteral.ts, 18, 3)) +declare var c: C, d: D, e: E, f: F; +>c : Symbol(c, Decl(unionTypeFromArrayLiteral.ts, 18, 11)) >C : Symbol(C, Decl(unionTypeFromArrayLiteral.ts, 13, 54)) ->d : Symbol(d, Decl(unionTypeFromArrayLiteral.ts, 18, 9)) +>d : Symbol(d, Decl(unionTypeFromArrayLiteral.ts, 18, 17)) >D : Symbol(D, Decl(unionTypeFromArrayLiteral.ts, 14, 21)) ->e : Symbol(e, Decl(unionTypeFromArrayLiteral.ts, 18, 15)) +>e : Symbol(e, Decl(unionTypeFromArrayLiteral.ts, 18, 23)) >E : Symbol(E, Decl(unionTypeFromArrayLiteral.ts, 15, 22)) ->f : Symbol(f, Decl(unionTypeFromArrayLiteral.ts, 18, 21)) +>f : Symbol(f, Decl(unionTypeFromArrayLiteral.ts, 18, 29)) >F : Symbol(F, Decl(unionTypeFromArrayLiteral.ts, 16, 32)) var arr6 = [c, d]; // (C | D)[] >arr6 : Symbol(arr6, Decl(unionTypeFromArrayLiteral.ts, 19, 3)) ->c : Symbol(c, Decl(unionTypeFromArrayLiteral.ts, 18, 3)) ->d : Symbol(d, Decl(unionTypeFromArrayLiteral.ts, 18, 9)) +>c : Symbol(c, Decl(unionTypeFromArrayLiteral.ts, 18, 11)) +>d : Symbol(d, Decl(unionTypeFromArrayLiteral.ts, 18, 17)) var arr7 = [c, d, e]; // (C | D)[] >arr7 : Symbol(arr7, Decl(unionTypeFromArrayLiteral.ts, 20, 3)) ->c : Symbol(c, Decl(unionTypeFromArrayLiteral.ts, 18, 3)) ->d : Symbol(d, Decl(unionTypeFromArrayLiteral.ts, 18, 9)) ->e : Symbol(e, Decl(unionTypeFromArrayLiteral.ts, 18, 15)) +>c : Symbol(c, Decl(unionTypeFromArrayLiteral.ts, 18, 11)) +>d : Symbol(d, Decl(unionTypeFromArrayLiteral.ts, 18, 17)) +>e : Symbol(e, Decl(unionTypeFromArrayLiteral.ts, 18, 23)) var arr8 = [c, e]; // C[] >arr8 : Symbol(arr8, Decl(unionTypeFromArrayLiteral.ts, 21, 3)) ->c : Symbol(c, Decl(unionTypeFromArrayLiteral.ts, 18, 3)) ->e : Symbol(e, Decl(unionTypeFromArrayLiteral.ts, 18, 15)) +>c : Symbol(c, Decl(unionTypeFromArrayLiteral.ts, 18, 11)) +>e : Symbol(e, Decl(unionTypeFromArrayLiteral.ts, 18, 23)) var arr9 = [e, f]; // (E|F)[] >arr9 : Symbol(arr9, Decl(unionTypeFromArrayLiteral.ts, 22, 3)) ->e : Symbol(e, Decl(unionTypeFromArrayLiteral.ts, 18, 15)) ->f : Symbol(f, Decl(unionTypeFromArrayLiteral.ts, 18, 21)) +>e : Symbol(e, Decl(unionTypeFromArrayLiteral.ts, 18, 23)) +>f : Symbol(f, Decl(unionTypeFromArrayLiteral.ts, 18, 29)) diff --git a/tests/baselines/reference/unionTypeFromArrayLiteral.types b/tests/baselines/reference/unionTypeFromArrayLiteral.types index 3678810494fce..6edb312757f86 100644 --- a/tests/baselines/reference/unionTypeFromArrayLiteral.types +++ b/tests/baselines/reference/unionTypeFromArrayLiteral.types @@ -112,7 +112,7 @@ class F extends C { foo4() { } } >foo4 : () => void > : ^^^^^^^^^^ -var c: C, d: D, e: E, f: F; +declare var c: C, d: D, e: E, f: F; >c : C > : ^ >d : D diff --git a/tests/baselines/reference/unionTypeMembers.errors.txt b/tests/baselines/reference/unionTypeMembers.errors.txt index 5f83b5fbf1708..4a94ed8190542 100644 --- a/tests/baselines/reference/unionTypeMembers.errors.txt +++ b/tests/baselines/reference/unionTypeMembers.errors.txt @@ -43,10 +43,10 @@ unionTypeMembers.ts(54,3): error TS2339: Property 'methodOnlyInI2' does not exis // a union type U has those members that are present in every one of its constituent types, // with types that are unions of the respective members in the constituent types - var x : I1 | I2; - var str: string; - var num: number; - var strOrNum: string | number; + declare var x : I1 | I2; + declare var str: string; + declare var num: number; + declare var strOrNum: string | number; // If each type in U has a property P, U has a property P of a union type of the types of P from each type in U. str = x.commonPropertyType; // string diff --git a/tests/baselines/reference/unionTypeMembers.js b/tests/baselines/reference/unionTypeMembers.js index 653a7574f5b44..e9a04a1f1273a 100644 --- a/tests/baselines/reference/unionTypeMembers.js +++ b/tests/baselines/reference/unionTypeMembers.js @@ -33,10 +33,10 @@ interface I2 { // a union type U has those members that are present in every one of its constituent types, // with types that are unions of the respective members in the constituent types -var x : I1 | I2; -var str: string; -var num: number; -var strOrNum: string | number; +declare var x : I1 | I2; +declare var str: string; +declare var num: number; +declare var strOrNum: string | number; // If each type in U has a property P, U has a property P of a union type of the types of P from each type in U. str = x.commonPropertyType; // string @@ -57,12 +57,6 @@ x.methodOnlyInI1("hello"); // error x.methodOnlyInI2(10); // error //// [unionTypeMembers.js] -// a union type U has those members that are present in every one of its constituent types, -// with types that are unions of the respective members in the constituent types -var x; -var str; -var num; -var strOrNum; // If each type in U has a property P, U has a property P of a union type of the types of P from each type in U. str = x.commonPropertyType; // string str = x.commonMethodType(str); // (a: string) => string so result should be string diff --git a/tests/baselines/reference/unionTypeMembers.symbols b/tests/baselines/reference/unionTypeMembers.symbols index deea535c41a30..4e90aeb319eaa 100644 --- a/tests/baselines/reference/unionTypeMembers.symbols +++ b/tests/baselines/reference/unionTypeMembers.symbols @@ -89,96 +89,96 @@ interface I2 { // a union type U has those members that are present in every one of its constituent types, // with types that are unions of the respective members in the constituent types -var x : I1 | I2; ->x : Symbol(x, Decl(unionTypeMembers.ts, 32, 3)) +declare var x : I1 | I2; +>x : Symbol(x, Decl(unionTypeMembers.ts, 32, 11)) >I1 : Symbol(I1, Decl(unionTypeMembers.ts, 0, 0)) >I2 : Symbol(I2, Decl(unionTypeMembers.ts, 13, 1)) -var str: string; ->str : Symbol(str, Decl(unionTypeMembers.ts, 33, 3)) +declare var str: string; +>str : Symbol(str, Decl(unionTypeMembers.ts, 33, 11)) -var num: number; ->num : Symbol(num, Decl(unionTypeMembers.ts, 34, 3)) +declare var num: number; +>num : Symbol(num, Decl(unionTypeMembers.ts, 34, 11)) -var strOrNum: string | number; ->strOrNum : Symbol(strOrNum, Decl(unionTypeMembers.ts, 35, 3)) +declare var strOrNum: string | number; +>strOrNum : Symbol(strOrNum, Decl(unionTypeMembers.ts, 35, 11)) // If each type in U has a property P, U has a property P of a union type of the types of P from each type in U. str = x.commonPropertyType; // string ->str : Symbol(str, Decl(unionTypeMembers.ts, 33, 3)) +>str : Symbol(str, Decl(unionTypeMembers.ts, 33, 11)) >x.commonPropertyType : Symbol(commonPropertyType, Decl(unionTypeMembers.ts, 1, 40), Decl(unionTypeMembers.ts, 16, 40)) ->x : Symbol(x, Decl(unionTypeMembers.ts, 32, 3)) +>x : Symbol(x, Decl(unionTypeMembers.ts, 32, 11)) >commonPropertyType : Symbol(commonPropertyType, Decl(unionTypeMembers.ts, 1, 40), Decl(unionTypeMembers.ts, 16, 40)) str = x.commonMethodType(str); // (a: string) => string so result should be string ->str : Symbol(str, Decl(unionTypeMembers.ts, 33, 3)) +>str : Symbol(str, Decl(unionTypeMembers.ts, 33, 11)) >x.commonMethodType : Symbol(commonMethodType, Decl(unionTypeMembers.ts, 0, 17), Decl(unionTypeMembers.ts, 15, 17)) ->x : Symbol(x, Decl(unionTypeMembers.ts, 32, 3)) +>x : Symbol(x, Decl(unionTypeMembers.ts, 32, 11)) >commonMethodType : Symbol(commonMethodType, Decl(unionTypeMembers.ts, 0, 17), Decl(unionTypeMembers.ts, 15, 17)) ->str : Symbol(str, Decl(unionTypeMembers.ts, 33, 3)) +>str : Symbol(str, Decl(unionTypeMembers.ts, 33, 11)) strOrNum = x.commonPropertyDifferenType; ->strOrNum : Symbol(strOrNum, Decl(unionTypeMembers.ts, 35, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeMembers.ts, 35, 11)) >x.commonPropertyDifferenType : Symbol(commonPropertyDifferenType, Decl(unionTypeMembers.ts, 5, 55), Decl(unionTypeMembers.ts, 20, 55)) ->x : Symbol(x, Decl(unionTypeMembers.ts, 32, 3)) +>x : Symbol(x, Decl(unionTypeMembers.ts, 32, 11)) >commonPropertyDifferenType : Symbol(commonPropertyDifferenType, Decl(unionTypeMembers.ts, 5, 55), Decl(unionTypeMembers.ts, 20, 55)) strOrNum = x.commonMethodDifferentReturnType(str); // string | union ->strOrNum : Symbol(strOrNum, Decl(unionTypeMembers.ts, 35, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeMembers.ts, 35, 11)) >x.commonMethodDifferentReturnType : Symbol(commonMethodDifferentReturnType, Decl(unionTypeMembers.ts, 4, 58), Decl(unionTypeMembers.ts, 19, 58)) ->x : Symbol(x, Decl(unionTypeMembers.ts, 32, 3)) +>x : Symbol(x, Decl(unionTypeMembers.ts, 32, 11)) >commonMethodDifferentReturnType : Symbol(commonMethodDifferentReturnType, Decl(unionTypeMembers.ts, 4, 58), Decl(unionTypeMembers.ts, 19, 58)) ->str : Symbol(str, Decl(unionTypeMembers.ts, 33, 3)) +>str : Symbol(str, Decl(unionTypeMembers.ts, 33, 11)) x.commonMethodDifferentParameterType; // No error - property exists >x.commonMethodDifferentParameterType : Symbol(commonMethodDifferentParameterType, Decl(unionTypeMembers.ts, 2, 31), Decl(unionTypeMembers.ts, 17, 31)) ->x : Symbol(x, Decl(unionTypeMembers.ts, 32, 3)) +>x : Symbol(x, Decl(unionTypeMembers.ts, 32, 11)) >commonMethodDifferentParameterType : Symbol(commonMethodDifferentParameterType, Decl(unionTypeMembers.ts, 2, 31), Decl(unionTypeMembers.ts, 17, 31)) x.commonMethodDifferentParameterType(strOrNum); // error - no call signatures because the type of this property is ((a: string) => string) | (a: number) => number >x.commonMethodDifferentParameterType : Symbol(commonMethodDifferentParameterType, Decl(unionTypeMembers.ts, 2, 31), Decl(unionTypeMembers.ts, 17, 31)) ->x : Symbol(x, Decl(unionTypeMembers.ts, 32, 3)) +>x : Symbol(x, Decl(unionTypeMembers.ts, 32, 11)) >commonMethodDifferentParameterType : Symbol(commonMethodDifferentParameterType, Decl(unionTypeMembers.ts, 2, 31), Decl(unionTypeMembers.ts, 17, 31)) ->strOrNum : Symbol(strOrNum, Decl(unionTypeMembers.ts, 35, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeMembers.ts, 35, 11)) // and the call signatures arent identical num = x.commonMethodWithTypeParameter(num); ->num : Symbol(num, Decl(unionTypeMembers.ts, 34, 3)) +>num : Symbol(num, Decl(unionTypeMembers.ts, 34, 11)) >x.commonMethodWithTypeParameter : Symbol(commonMethodWithTypeParameter, Decl(unionTypeMembers.ts, 6, 39), Decl(unionTypeMembers.ts, 21, 39)) ->x : Symbol(x, Decl(unionTypeMembers.ts, 32, 3)) +>x : Symbol(x, Decl(unionTypeMembers.ts, 32, 11)) >commonMethodWithTypeParameter : Symbol(commonMethodWithTypeParameter, Decl(unionTypeMembers.ts, 6, 39), Decl(unionTypeMembers.ts, 21, 39)) ->num : Symbol(num, Decl(unionTypeMembers.ts, 34, 3)) +>num : Symbol(num, Decl(unionTypeMembers.ts, 34, 11)) num = x.commonMethodWithOwnTypeParameter(num); ->num : Symbol(num, Decl(unionTypeMembers.ts, 34, 3)) +>num : Symbol(num, Decl(unionTypeMembers.ts, 34, 11)) >x.commonMethodWithOwnTypeParameter : Symbol(commonMethodWithOwnTypeParameter, Decl(unionTypeMembers.ts, 8, 43), Decl(unionTypeMembers.ts, 23, 43)) ->x : Symbol(x, Decl(unionTypeMembers.ts, 32, 3)) +>x : Symbol(x, Decl(unionTypeMembers.ts, 32, 11)) >commonMethodWithOwnTypeParameter : Symbol(commonMethodWithOwnTypeParameter, Decl(unionTypeMembers.ts, 8, 43), Decl(unionTypeMembers.ts, 23, 43)) ->num : Symbol(num, Decl(unionTypeMembers.ts, 34, 3)) +>num : Symbol(num, Decl(unionTypeMembers.ts, 34, 11)) str = x.commonMethodWithOwnTypeParameter(str); ->str : Symbol(str, Decl(unionTypeMembers.ts, 33, 3)) +>str : Symbol(str, Decl(unionTypeMembers.ts, 33, 11)) >x.commonMethodWithOwnTypeParameter : Symbol(commonMethodWithOwnTypeParameter, Decl(unionTypeMembers.ts, 8, 43), Decl(unionTypeMembers.ts, 23, 43)) ->x : Symbol(x, Decl(unionTypeMembers.ts, 32, 3)) +>x : Symbol(x, Decl(unionTypeMembers.ts, 32, 11)) >commonMethodWithOwnTypeParameter : Symbol(commonMethodWithOwnTypeParameter, Decl(unionTypeMembers.ts, 8, 43), Decl(unionTypeMembers.ts, 23, 43)) ->str : Symbol(str, Decl(unionTypeMembers.ts, 33, 3)) +>str : Symbol(str, Decl(unionTypeMembers.ts, 33, 11)) strOrNum = x.commonMethodWithOwnTypeParameter(strOrNum); ->strOrNum : Symbol(strOrNum, Decl(unionTypeMembers.ts, 35, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeMembers.ts, 35, 11)) >x.commonMethodWithOwnTypeParameter : Symbol(commonMethodWithOwnTypeParameter, Decl(unionTypeMembers.ts, 8, 43), Decl(unionTypeMembers.ts, 23, 43)) ->x : Symbol(x, Decl(unionTypeMembers.ts, 32, 3)) +>x : Symbol(x, Decl(unionTypeMembers.ts, 32, 11)) >commonMethodWithOwnTypeParameter : Symbol(commonMethodWithOwnTypeParameter, Decl(unionTypeMembers.ts, 8, 43), Decl(unionTypeMembers.ts, 23, 43)) ->strOrNum : Symbol(strOrNum, Decl(unionTypeMembers.ts, 35, 3)) +>strOrNum : Symbol(strOrNum, Decl(unionTypeMembers.ts, 35, 11)) x.propertyOnlyInI1; // error ->x : Symbol(x, Decl(unionTypeMembers.ts, 32, 3)) +>x : Symbol(x, Decl(unionTypeMembers.ts, 32, 11)) x.propertyOnlyInI2; // error ->x : Symbol(x, Decl(unionTypeMembers.ts, 32, 3)) +>x : Symbol(x, Decl(unionTypeMembers.ts, 32, 11)) x.methodOnlyInI1("hello"); // error ->x : Symbol(x, Decl(unionTypeMembers.ts, 32, 3)) +>x : Symbol(x, Decl(unionTypeMembers.ts, 32, 11)) x.methodOnlyInI2(10); // error ->x : Symbol(x, Decl(unionTypeMembers.ts, 32, 3)) +>x : Symbol(x, Decl(unionTypeMembers.ts, 32, 11)) diff --git a/tests/baselines/reference/unionTypeMembers.types b/tests/baselines/reference/unionTypeMembers.types index f7f64cc525415..9523dcac4eadc 100644 --- a/tests/baselines/reference/unionTypeMembers.types +++ b/tests/baselines/reference/unionTypeMembers.types @@ -103,19 +103,19 @@ interface I2 { // a union type U has those members that are present in every one of its constituent types, // with types that are unions of the respective members in the constituent types -var x : I1 | I2; +declare var x : I1 | I2; >x : I1 | I2 > : ^^^^^^^^^^^^^^^^^^^^^^^ -var str: string; +declare var str: string; >str : string > : ^^^^^^ -var num: number; +declare var num: number; >num : number > : ^^^^^^ -var strOrNum: string | number; +declare var strOrNum: string | number; >strOrNum : string | number > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/unionTypePropertyAccessibility.errors.txt b/tests/baselines/reference/unionTypePropertyAccessibility.errors.txt index 76a35c9930427..7ec39b2a9ab9e 100644 --- a/tests/baselines/reference/unionTypePropertyAccessibility.errors.txt +++ b/tests/baselines/reference/unionTypePropertyAccessibility.errors.txt @@ -29,21 +29,21 @@ unionTypePropertyAccessibility.ts(47,5): error TS2339: Property 'member' does no private member: number; } - var v1: Default; - var v2: Public; - var v3: Protected; - var v4: Private; - var v5: Default | Public; - var v6: Default | Protected; - var v7: Default | Private; - var v8: Public | Protected; - var v9: Public | Private; - var v10: Protected | Private; - var v11: Default | Public | Protected; - var v12: Default | Public | Private; - var v13: Default | Protected | Private; - var v14: Public | Private | Protected; - var v15: Default | Public | Private | Protected; + declare var v1: Default; + declare var v2: Public; + declare var v3: Protected; + declare var v4: Private; + declare var v5: Default | Public; + declare var v6: Default | Protected; + declare var v7: Default | Private; + declare var v8: Public | Protected; + declare var v9: Public | Private; + declare var v10: Protected | Private; + declare var v11: Default | Public | Protected; + declare var v12: Default | Public | Private; + declare var v13: Default | Protected | Private; + declare var v14: Public | Private | Protected; + declare var v15: Default | Public | Private | Protected; v1.member; v2.member; diff --git a/tests/baselines/reference/unionTypePropertyAccessibility.js b/tests/baselines/reference/unionTypePropertyAccessibility.js index bc29a2c276376..ccf7a50fe35ce 100644 --- a/tests/baselines/reference/unionTypePropertyAccessibility.js +++ b/tests/baselines/reference/unionTypePropertyAccessibility.js @@ -17,21 +17,21 @@ class Private { private member: number; } -var v1: Default; -var v2: Public; -var v3: Protected; -var v4: Private; -var v5: Default | Public; -var v6: Default | Protected; -var v7: Default | Private; -var v8: Public | Protected; -var v9: Public | Private; -var v10: Protected | Private; -var v11: Default | Public | Protected; -var v12: Default | Public | Private; -var v13: Default | Protected | Private; -var v14: Public | Private | Protected; -var v15: Default | Public | Private | Protected; +declare var v1: Default; +declare var v2: Public; +declare var v3: Protected; +declare var v4: Private; +declare var v5: Default | Public; +declare var v6: Default | Protected; +declare var v7: Default | Private; +declare var v8: Public | Protected; +declare var v9: Public | Private; +declare var v10: Protected | Private; +declare var v11: Default | Public | Protected; +declare var v12: Default | Public | Private; +declare var v13: Default | Protected | Private; +declare var v14: Public | Private | Protected; +declare var v15: Default | Public | Private | Protected; v1.member; v2.member; @@ -71,21 +71,6 @@ var Private = /** @class */ (function () { } return Private; }()); -var v1; -var v2; -var v3; -var v4; -var v5; -var v6; -var v7; -var v8; -var v9; -var v10; -var v11; -var v12; -var v13; -var v14; -var v15; v1.member; v2.member; v3.member; diff --git a/tests/baselines/reference/unionTypePropertyAccessibility.symbols b/tests/baselines/reference/unionTypePropertyAccessibility.symbols index e046bdc92eb29..05f43ba6fcb04 100644 --- a/tests/baselines/reference/unionTypePropertyAccessibility.symbols +++ b/tests/baselines/reference/unionTypePropertyAccessibility.symbols @@ -29,78 +29,78 @@ class Private { >member : Symbol(Private.member, Decl(unionTypePropertyAccessibility.ts, 12, 15)) } -var v1: Default; ->v1 : Symbol(v1, Decl(unionTypePropertyAccessibility.ts, 16, 3)) +declare var v1: Default; +>v1 : Symbol(v1, Decl(unionTypePropertyAccessibility.ts, 16, 11)) >Default : Symbol(Default, Decl(unionTypePropertyAccessibility.ts, 0, 0)) -var v2: Public; ->v2 : Symbol(v2, Decl(unionTypePropertyAccessibility.ts, 17, 3)) +declare var v2: Public; +>v2 : Symbol(v2, Decl(unionTypePropertyAccessibility.ts, 17, 11)) >Public : Symbol(Public, Decl(unionTypePropertyAccessibility.ts, 2, 1)) -var v3: Protected; ->v3 : Symbol(v3, Decl(unionTypePropertyAccessibility.ts, 18, 3)) +declare var v3: Protected; +>v3 : Symbol(v3, Decl(unionTypePropertyAccessibility.ts, 18, 11)) >Protected : Symbol(Protected, Decl(unionTypePropertyAccessibility.ts, 6, 1)) -var v4: Private; ->v4 : Symbol(v4, Decl(unionTypePropertyAccessibility.ts, 19, 3)) +declare var v4: Private; +>v4 : Symbol(v4, Decl(unionTypePropertyAccessibility.ts, 19, 11)) >Private : Symbol(Private, Decl(unionTypePropertyAccessibility.ts, 10, 1)) -var v5: Default | Public; ->v5 : Symbol(v5, Decl(unionTypePropertyAccessibility.ts, 20, 3)) +declare var v5: Default | Public; +>v5 : Symbol(v5, Decl(unionTypePropertyAccessibility.ts, 20, 11)) >Default : Symbol(Default, Decl(unionTypePropertyAccessibility.ts, 0, 0)) >Public : Symbol(Public, Decl(unionTypePropertyAccessibility.ts, 2, 1)) -var v6: Default | Protected; ->v6 : Symbol(v6, Decl(unionTypePropertyAccessibility.ts, 21, 3)) +declare var v6: Default | Protected; +>v6 : Symbol(v6, Decl(unionTypePropertyAccessibility.ts, 21, 11)) >Default : Symbol(Default, Decl(unionTypePropertyAccessibility.ts, 0, 0)) >Protected : Symbol(Protected, Decl(unionTypePropertyAccessibility.ts, 6, 1)) -var v7: Default | Private; ->v7 : Symbol(v7, Decl(unionTypePropertyAccessibility.ts, 22, 3)) +declare var v7: Default | Private; +>v7 : Symbol(v7, Decl(unionTypePropertyAccessibility.ts, 22, 11)) >Default : Symbol(Default, Decl(unionTypePropertyAccessibility.ts, 0, 0)) >Private : Symbol(Private, Decl(unionTypePropertyAccessibility.ts, 10, 1)) -var v8: Public | Protected; ->v8 : Symbol(v8, Decl(unionTypePropertyAccessibility.ts, 23, 3)) +declare var v8: Public | Protected; +>v8 : Symbol(v8, Decl(unionTypePropertyAccessibility.ts, 23, 11)) >Public : Symbol(Public, Decl(unionTypePropertyAccessibility.ts, 2, 1)) >Protected : Symbol(Protected, Decl(unionTypePropertyAccessibility.ts, 6, 1)) -var v9: Public | Private; ->v9 : Symbol(v9, Decl(unionTypePropertyAccessibility.ts, 24, 3)) +declare var v9: Public | Private; +>v9 : Symbol(v9, Decl(unionTypePropertyAccessibility.ts, 24, 11)) >Public : Symbol(Public, Decl(unionTypePropertyAccessibility.ts, 2, 1)) >Private : Symbol(Private, Decl(unionTypePropertyAccessibility.ts, 10, 1)) -var v10: Protected | Private; ->v10 : Symbol(v10, Decl(unionTypePropertyAccessibility.ts, 25, 3)) +declare var v10: Protected | Private; +>v10 : Symbol(v10, Decl(unionTypePropertyAccessibility.ts, 25, 11)) >Protected : Symbol(Protected, Decl(unionTypePropertyAccessibility.ts, 6, 1)) >Private : Symbol(Private, Decl(unionTypePropertyAccessibility.ts, 10, 1)) -var v11: Default | Public | Protected; ->v11 : Symbol(v11, Decl(unionTypePropertyAccessibility.ts, 26, 3)) +declare var v11: Default | Public | Protected; +>v11 : Symbol(v11, Decl(unionTypePropertyAccessibility.ts, 26, 11)) >Default : Symbol(Default, Decl(unionTypePropertyAccessibility.ts, 0, 0)) >Public : Symbol(Public, Decl(unionTypePropertyAccessibility.ts, 2, 1)) >Protected : Symbol(Protected, Decl(unionTypePropertyAccessibility.ts, 6, 1)) -var v12: Default | Public | Private; ->v12 : Symbol(v12, Decl(unionTypePropertyAccessibility.ts, 27, 3)) +declare var v12: Default | Public | Private; +>v12 : Symbol(v12, Decl(unionTypePropertyAccessibility.ts, 27, 11)) >Default : Symbol(Default, Decl(unionTypePropertyAccessibility.ts, 0, 0)) >Public : Symbol(Public, Decl(unionTypePropertyAccessibility.ts, 2, 1)) >Private : Symbol(Private, Decl(unionTypePropertyAccessibility.ts, 10, 1)) -var v13: Default | Protected | Private; ->v13 : Symbol(v13, Decl(unionTypePropertyAccessibility.ts, 28, 3)) +declare var v13: Default | Protected | Private; +>v13 : Symbol(v13, Decl(unionTypePropertyAccessibility.ts, 28, 11)) >Default : Symbol(Default, Decl(unionTypePropertyAccessibility.ts, 0, 0)) >Protected : Symbol(Protected, Decl(unionTypePropertyAccessibility.ts, 6, 1)) >Private : Symbol(Private, Decl(unionTypePropertyAccessibility.ts, 10, 1)) -var v14: Public | Private | Protected; ->v14 : Symbol(v14, Decl(unionTypePropertyAccessibility.ts, 29, 3)) +declare var v14: Public | Private | Protected; +>v14 : Symbol(v14, Decl(unionTypePropertyAccessibility.ts, 29, 11)) >Public : Symbol(Public, Decl(unionTypePropertyAccessibility.ts, 2, 1)) >Private : Symbol(Private, Decl(unionTypePropertyAccessibility.ts, 10, 1)) >Protected : Symbol(Protected, Decl(unionTypePropertyAccessibility.ts, 6, 1)) -var v15: Default | Public | Private | Protected; ->v15 : Symbol(v15, Decl(unionTypePropertyAccessibility.ts, 30, 3)) +declare var v15: Default | Public | Private | Protected; +>v15 : Symbol(v15, Decl(unionTypePropertyAccessibility.ts, 30, 11)) >Default : Symbol(Default, Decl(unionTypePropertyAccessibility.ts, 0, 0)) >Public : Symbol(Public, Decl(unionTypePropertyAccessibility.ts, 2, 1)) >Private : Symbol(Private, Decl(unionTypePropertyAccessibility.ts, 10, 1)) @@ -108,56 +108,56 @@ var v15: Default | Public | Private | Protected; v1.member; >v1.member : Symbol(Default.member, Decl(unionTypePropertyAccessibility.ts, 0, 15)) ->v1 : Symbol(v1, Decl(unionTypePropertyAccessibility.ts, 16, 3)) +>v1 : Symbol(v1, Decl(unionTypePropertyAccessibility.ts, 16, 11)) >member : Symbol(Default.member, Decl(unionTypePropertyAccessibility.ts, 0, 15)) v2.member; >v2.member : Symbol(Public.member, Decl(unionTypePropertyAccessibility.ts, 4, 14)) ->v2 : Symbol(v2, Decl(unionTypePropertyAccessibility.ts, 17, 3)) +>v2 : Symbol(v2, Decl(unionTypePropertyAccessibility.ts, 17, 11)) >member : Symbol(Public.member, Decl(unionTypePropertyAccessibility.ts, 4, 14)) v3.member; >v3.member : Symbol(Protected.member, Decl(unionTypePropertyAccessibility.ts, 8, 17)) ->v3 : Symbol(v3, Decl(unionTypePropertyAccessibility.ts, 18, 3)) +>v3 : Symbol(v3, Decl(unionTypePropertyAccessibility.ts, 18, 11)) >member : Symbol(Protected.member, Decl(unionTypePropertyAccessibility.ts, 8, 17)) v4.member; >v4.member : Symbol(Private.member, Decl(unionTypePropertyAccessibility.ts, 12, 15)) ->v4 : Symbol(v4, Decl(unionTypePropertyAccessibility.ts, 19, 3)) +>v4 : Symbol(v4, Decl(unionTypePropertyAccessibility.ts, 19, 11)) >member : Symbol(Private.member, Decl(unionTypePropertyAccessibility.ts, 12, 15)) v5.member; >v5.member : Symbol(member, Decl(unionTypePropertyAccessibility.ts, 0, 15), Decl(unionTypePropertyAccessibility.ts, 4, 14)) ->v5 : Symbol(v5, Decl(unionTypePropertyAccessibility.ts, 20, 3)) +>v5 : Symbol(v5, Decl(unionTypePropertyAccessibility.ts, 20, 11)) >member : Symbol(member, Decl(unionTypePropertyAccessibility.ts, 0, 15), Decl(unionTypePropertyAccessibility.ts, 4, 14)) v6.member; ->v6 : Symbol(v6, Decl(unionTypePropertyAccessibility.ts, 21, 3)) +>v6 : Symbol(v6, Decl(unionTypePropertyAccessibility.ts, 21, 11)) v7.member; ->v7 : Symbol(v7, Decl(unionTypePropertyAccessibility.ts, 22, 3)) +>v7 : Symbol(v7, Decl(unionTypePropertyAccessibility.ts, 22, 11)) v8.member; ->v8 : Symbol(v8, Decl(unionTypePropertyAccessibility.ts, 23, 3)) +>v8 : Symbol(v8, Decl(unionTypePropertyAccessibility.ts, 23, 11)) v9.member; ->v9 : Symbol(v9, Decl(unionTypePropertyAccessibility.ts, 24, 3)) +>v9 : Symbol(v9, Decl(unionTypePropertyAccessibility.ts, 24, 11)) v10.member; ->v10 : Symbol(v10, Decl(unionTypePropertyAccessibility.ts, 25, 3)) +>v10 : Symbol(v10, Decl(unionTypePropertyAccessibility.ts, 25, 11)) v11.member; ->v11 : Symbol(v11, Decl(unionTypePropertyAccessibility.ts, 26, 3)) +>v11 : Symbol(v11, Decl(unionTypePropertyAccessibility.ts, 26, 11)) v12.member; ->v12 : Symbol(v12, Decl(unionTypePropertyAccessibility.ts, 27, 3)) +>v12 : Symbol(v12, Decl(unionTypePropertyAccessibility.ts, 27, 11)) v13.member; ->v13 : Symbol(v13, Decl(unionTypePropertyAccessibility.ts, 28, 3)) +>v13 : Symbol(v13, Decl(unionTypePropertyAccessibility.ts, 28, 11)) v14.member; ->v14 : Symbol(v14, Decl(unionTypePropertyAccessibility.ts, 29, 3)) +>v14 : Symbol(v14, Decl(unionTypePropertyAccessibility.ts, 29, 11)) v15.member; ->v15 : Symbol(v15, Decl(unionTypePropertyAccessibility.ts, 30, 3)) +>v15 : Symbol(v15, Decl(unionTypePropertyAccessibility.ts, 30, 11)) diff --git a/tests/baselines/reference/unionTypePropertyAccessibility.types b/tests/baselines/reference/unionTypePropertyAccessibility.types index 2c635e777d209..d5ae2a6e117b2 100644 --- a/tests/baselines/reference/unionTypePropertyAccessibility.types +++ b/tests/baselines/reference/unionTypePropertyAccessibility.types @@ -37,63 +37,63 @@ class Private { > : ^^^^^^ } -var v1: Default; +declare var v1: Default; >v1 : Default > : ^^^^^^^ -var v2: Public; +declare var v2: Public; >v2 : Public > : ^^^^^^ -var v3: Protected; +declare var v3: Protected; >v3 : Protected > : ^^^^^^^^^ -var v4: Private; +declare var v4: Private; >v4 : Private > : ^^^^^^^ -var v5: Default | Public; +declare var v5: Default | Public; >v5 : Default | Public > : ^^^^^^^^^^^^^^^^ -var v6: Default | Protected; +declare var v6: Default | Protected; >v6 : Default | Protected > : ^^^^^^^^^^^^^^^^^^^ -var v7: Default | Private; +declare var v7: Default | Private; >v7 : Default | Private > : ^^^^^^^^^^^^^^^^^ -var v8: Public | Protected; +declare var v8: Public | Protected; >v8 : Public | Protected > : ^^^^^^^^^^^^^^^^^^ -var v9: Public | Private; +declare var v9: Public | Private; >v9 : Public | Private > : ^^^^^^^^^^^^^^^^ -var v10: Protected | Private; +declare var v10: Protected | Private; >v10 : Protected | Private > : ^^^^^^^^^^^^^^^^^^^ -var v11: Default | Public | Protected; +declare var v11: Default | Public | Protected; >v11 : Default | Public | Protected > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -var v12: Default | Public | Private; +declare var v12: Default | Public | Private; >v12 : Default | Public | Private > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ -var v13: Default | Protected | Private; +declare var v13: Default | Protected | Private; >v13 : Default | Protected | Private > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -var v14: Public | Private | Protected; +declare var v14: Public | Private | Protected; >v14 : Public | Protected | Private > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -var v15: Default | Public | Private | Protected; +declare var v15: Default | Public | Private | Protected; >v15 : Default | Public | Protected | Private > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/unionTypeReadonly.errors.txt b/tests/baselines/reference/unionTypeReadonly.errors.txt index 6b31cf413fcb9..e4bdd93d879e4 100644 --- a/tests/baselines/reference/unionTypeReadonly.errors.txt +++ b/tests/baselines/reference/unionTypeReadonly.errors.txt @@ -22,23 +22,23 @@ unionTypeReadonly.ts(25,15): error TS2339: Property 'value' does not exist on ty interface DifferentName { readonly other: number; } - let base: Base; + declare let base: Base; base.value = 12 // error, lhs can't be a readonly property ~~~~~ !!! error TS2540: Cannot assign to 'value' because it is a read-only property. - let identical: Base | Identical; + declare let identical: Base | Identical; identical.value = 12; // error, lhs can't be a readonly property ~~~~~ !!! error TS2540: Cannot assign to 'value' because it is a read-only property. - let mutable: Base | Mutable; + declare let mutable: Base | Mutable; mutable.value = 12; // error, lhs can't be a readonly property ~~~~~ !!! error TS2540: Cannot assign to 'value' because it is a read-only property. - let differentType: Base | DifferentType; + declare let differentType: Base | DifferentType; differentType.value = 12; // error, lhs can't be a readonly property ~~~~~ !!! error TS2540: Cannot assign to 'value' because it is a read-only property. - let differentName: Base | DifferentName; + declare let differentName: Base | DifferentName; differentName.value = 12; // error, property 'value' doesn't exist ~~~~~ !!! error TS2339: Property 'value' does not exist on type 'Base | DifferentName'. diff --git a/tests/baselines/reference/unionTypeReadonly.js b/tests/baselines/reference/unionTypeReadonly.js index d1000302b7ac7..c39020f1090c6 100644 --- a/tests/baselines/reference/unionTypeReadonly.js +++ b/tests/baselines/reference/unionTypeReadonly.js @@ -16,27 +16,22 @@ interface DifferentType { interface DifferentName { readonly other: number; } -let base: Base; +declare let base: Base; base.value = 12 // error, lhs can't be a readonly property -let identical: Base | Identical; +declare let identical: Base | Identical; identical.value = 12; // error, lhs can't be a readonly property -let mutable: Base | Mutable; +declare let mutable: Base | Mutable; mutable.value = 12; // error, lhs can't be a readonly property -let differentType: Base | DifferentType; +declare let differentType: Base | DifferentType; differentType.value = 12; // error, lhs can't be a readonly property -let differentName: Base | DifferentName; +declare let differentName: Base | DifferentName; differentName.value = 12; // error, property 'value' doesn't exist //// [unionTypeReadonly.js] -var base; base.value = 12; // error, lhs can't be a readonly property -var identical; identical.value = 12; // error, lhs can't be a readonly property -var mutable; mutable.value = 12; // error, lhs can't be a readonly property -var differentType; differentType.value = 12; // error, lhs can't be a readonly property -var differentName; differentName.value = 12; // error, property 'value' doesn't exist diff --git a/tests/baselines/reference/unionTypeReadonly.symbols b/tests/baselines/reference/unionTypeReadonly.symbols index e98c6c7117ea5..19e6be7eb5354 100644 --- a/tests/baselines/reference/unionTypeReadonly.symbols +++ b/tests/baselines/reference/unionTypeReadonly.symbols @@ -31,51 +31,51 @@ interface DifferentName { readonly other: number; >other : Symbol(DifferentName.other, Decl(unionTypeReadonly.ts, 12, 25)) } -let base: Base; ->base : Symbol(base, Decl(unionTypeReadonly.ts, 15, 3)) +declare let base: Base; +>base : Symbol(base, Decl(unionTypeReadonly.ts, 15, 11)) >Base : Symbol(Base, Decl(unionTypeReadonly.ts, 0, 0)) base.value = 12 // error, lhs can't be a readonly property >base.value : Symbol(Base.value, Decl(unionTypeReadonly.ts, 0, 16)) ->base : Symbol(base, Decl(unionTypeReadonly.ts, 15, 3)) +>base : Symbol(base, Decl(unionTypeReadonly.ts, 15, 11)) >value : Symbol(Base.value, Decl(unionTypeReadonly.ts, 0, 16)) -let identical: Base | Identical; ->identical : Symbol(identical, Decl(unionTypeReadonly.ts, 17, 3)) +declare let identical: Base | Identical; +>identical : Symbol(identical, Decl(unionTypeReadonly.ts, 17, 11)) >Base : Symbol(Base, Decl(unionTypeReadonly.ts, 0, 0)) >Identical : Symbol(Identical, Decl(unionTypeReadonly.ts, 2, 1)) identical.value = 12; // error, lhs can't be a readonly property >identical.value : Symbol(value, Decl(unionTypeReadonly.ts, 0, 16), Decl(unionTypeReadonly.ts, 3, 21)) ->identical : Symbol(identical, Decl(unionTypeReadonly.ts, 17, 3)) +>identical : Symbol(identical, Decl(unionTypeReadonly.ts, 17, 11)) >value : Symbol(value, Decl(unionTypeReadonly.ts, 0, 16), Decl(unionTypeReadonly.ts, 3, 21)) -let mutable: Base | Mutable; ->mutable : Symbol(mutable, Decl(unionTypeReadonly.ts, 19, 3)) +declare let mutable: Base | Mutable; +>mutable : Symbol(mutable, Decl(unionTypeReadonly.ts, 19, 11)) >Base : Symbol(Base, Decl(unionTypeReadonly.ts, 0, 0)) >Mutable : Symbol(Mutable, Decl(unionTypeReadonly.ts, 5, 1)) mutable.value = 12; // error, lhs can't be a readonly property >mutable.value : Symbol(value, Decl(unionTypeReadonly.ts, 0, 16), Decl(unionTypeReadonly.ts, 6, 19)) ->mutable : Symbol(mutable, Decl(unionTypeReadonly.ts, 19, 3)) +>mutable : Symbol(mutable, Decl(unionTypeReadonly.ts, 19, 11)) >value : Symbol(value, Decl(unionTypeReadonly.ts, 0, 16), Decl(unionTypeReadonly.ts, 6, 19)) -let differentType: Base | DifferentType; ->differentType : Symbol(differentType, Decl(unionTypeReadonly.ts, 21, 3)) +declare let differentType: Base | DifferentType; +>differentType : Symbol(differentType, Decl(unionTypeReadonly.ts, 21, 11)) >Base : Symbol(Base, Decl(unionTypeReadonly.ts, 0, 0)) >DifferentType : Symbol(DifferentType, Decl(unionTypeReadonly.ts, 8, 1)) differentType.value = 12; // error, lhs can't be a readonly property >differentType.value : Symbol(value, Decl(unionTypeReadonly.ts, 0, 16), Decl(unionTypeReadonly.ts, 9, 25)) ->differentType : Symbol(differentType, Decl(unionTypeReadonly.ts, 21, 3)) +>differentType : Symbol(differentType, Decl(unionTypeReadonly.ts, 21, 11)) >value : Symbol(value, Decl(unionTypeReadonly.ts, 0, 16), Decl(unionTypeReadonly.ts, 9, 25)) -let differentName: Base | DifferentName; ->differentName : Symbol(differentName, Decl(unionTypeReadonly.ts, 23, 3)) +declare let differentName: Base | DifferentName; +>differentName : Symbol(differentName, Decl(unionTypeReadonly.ts, 23, 11)) >Base : Symbol(Base, Decl(unionTypeReadonly.ts, 0, 0)) >DifferentName : Symbol(DifferentName, Decl(unionTypeReadonly.ts, 11, 1)) differentName.value = 12; // error, property 'value' doesn't exist ->differentName : Symbol(differentName, Decl(unionTypeReadonly.ts, 23, 3)) +>differentName : Symbol(differentName, Decl(unionTypeReadonly.ts, 23, 11)) diff --git a/tests/baselines/reference/unionTypeReadonly.types b/tests/baselines/reference/unionTypeReadonly.types index e7cb4e1b5315d..479ecb9d0b76d 100644 --- a/tests/baselines/reference/unionTypeReadonly.types +++ b/tests/baselines/reference/unionTypeReadonly.types @@ -26,7 +26,7 @@ interface DifferentName { >other : number > : ^^^^^^ } -let base: Base; +declare let base: Base; >base : Base > : ^^^^ @@ -42,7 +42,7 @@ base.value = 12 // error, lhs can't be a readonly property >12 : 12 > : ^^ -let identical: Base | Identical; +declare let identical: Base | Identical; >identical : Base | Identical > : ^^^^^^^^^^^^^^^^ @@ -58,7 +58,7 @@ identical.value = 12; // error, lhs can't be a readonly property >12 : 12 > : ^^ -let mutable: Base | Mutable; +declare let mutable: Base | Mutable; >mutable : Base | Mutable > : ^^^^^^^^^^^^^^ @@ -74,7 +74,7 @@ mutable.value = 12; // error, lhs can't be a readonly property >12 : 12 > : ^^ -let differentType: Base | DifferentType; +declare let differentType: Base | DifferentType; >differentType : Base | DifferentType > : ^^^^^^^^^^^^^^^^^^^^ @@ -90,7 +90,7 @@ differentType.value = 12; // error, lhs can't be a readonly property >12 : 12 > : ^^ -let differentName: Base | DifferentName; +declare let differentName: Base | DifferentName; >differentName : Base | DifferentName > : ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.errors.txt b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.errors.txt index a15de01e3a7be..4527c16471a6d 100644 --- a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.errors.txt +++ b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.errors.txt @@ -32,8 +32,8 @@ unionTypeWithRecursiveSubtypeReduction2.ts(20,1): error TS2322: Type 'Class' is public parent: Module | Class; } - var c: Class; - var p: Property; + declare var c: Class; + declare var p: Property; c = p; ~ !!! error TS2322: Type 'Property' is not assignable to type 'Class'. diff --git a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.js b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.js index 6b22cbef99aca..e3a7ff1e7074b 100644 --- a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.js +++ b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.js @@ -17,8 +17,8 @@ class Property { public parent: Module | Class; } -var c: Class; -var p: Property; +declare var c: Class; +declare var p: Property; c = p; p = c; @@ -44,7 +44,5 @@ var Property = /** @class */ (function () { } return Property; }()); -var c; -var p; c = p; p = c; diff --git a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.symbols b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.symbols index 69b5b25d03ecf..c8917d2bb4381 100644 --- a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.symbols +++ b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.symbols @@ -35,19 +35,19 @@ class Property { >Class : Symbol(Class, Decl(unionTypeWithRecursiveSubtypeReduction2.ts, 6, 1)) } -var c: Class; ->c : Symbol(c, Decl(unionTypeWithRecursiveSubtypeReduction2.ts, 16, 3)) +declare var c: Class; +>c : Symbol(c, Decl(unionTypeWithRecursiveSubtypeReduction2.ts, 16, 11)) >Class : Symbol(Class, Decl(unionTypeWithRecursiveSubtypeReduction2.ts, 6, 1)) -var p: Property; ->p : Symbol(p, Decl(unionTypeWithRecursiveSubtypeReduction2.ts, 17, 3)) +declare var p: Property; +>p : Symbol(p, Decl(unionTypeWithRecursiveSubtypeReduction2.ts, 17, 11)) >Property : Symbol(Property, Decl(unionTypeWithRecursiveSubtypeReduction2.ts, 10, 1)) c = p; ->c : Symbol(c, Decl(unionTypeWithRecursiveSubtypeReduction2.ts, 16, 3)) ->p : Symbol(p, Decl(unionTypeWithRecursiveSubtypeReduction2.ts, 17, 3)) +>c : Symbol(c, Decl(unionTypeWithRecursiveSubtypeReduction2.ts, 16, 11)) +>p : Symbol(p, Decl(unionTypeWithRecursiveSubtypeReduction2.ts, 17, 11)) p = c; ->p : Symbol(p, Decl(unionTypeWithRecursiveSubtypeReduction2.ts, 17, 3)) ->c : Symbol(c, Decl(unionTypeWithRecursiveSubtypeReduction2.ts, 16, 3)) +>p : Symbol(p, Decl(unionTypeWithRecursiveSubtypeReduction2.ts, 17, 11)) +>c : Symbol(c, Decl(unionTypeWithRecursiveSubtypeReduction2.ts, 16, 11)) diff --git a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.types b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.types index ec862b8bd7cf6..f73161babe545 100644 --- a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.types +++ b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.types @@ -37,11 +37,11 @@ class Property { > : ^^^^^^^^^^^^^^ } -var c: Class; +declare var c: Class; >c : Class > : ^^^^^ -var p: Property; +declare var p: Property; >p : Property > : ^^^^^^^^ diff --git a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.errors.txt b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.errors.txt index 5939db39b1ab7..b5b1605b40d32 100644 --- a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.errors.txt +++ b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.errors.txt @@ -3,10 +3,10 @@ unionTypeWithRecursiveSubtypeReduction3.ts(5,5): error TS2322: Type '{ prop: num ==== unionTypeWithRecursiveSubtypeReduction3.ts (1 errors) ==== - var a27: { prop: number } | { prop: T27 }; + declare var a27: { prop: number } | { prop: T27 }; type T27 = typeof a27; - var b: T27; + declare var b: T27; var s: string = b; ~ !!! error TS2322: Type '{ prop: number; } | { prop: { prop: number; } | any; }' is not assignable to type 'string'. diff --git a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.js b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.js index 1ab84be585263..8c95436929a8a 100644 --- a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.js +++ b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.js @@ -1,14 +1,12 @@ //// [tests/cases/compiler/unionTypeWithRecursiveSubtypeReduction3.ts] //// //// [unionTypeWithRecursiveSubtypeReduction3.ts] -var a27: { prop: number } | { prop: T27 }; +declare var a27: { prop: number } | { prop: T27 }; type T27 = typeof a27; -var b: T27; +declare var b: T27; var s: string = b; //// [unionTypeWithRecursiveSubtypeReduction3.js] -var a27; -var b; var s = b; diff --git a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.symbols b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.symbols index 39b5c5f211f1f..3c4613902a764 100644 --- a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.symbols +++ b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.symbols @@ -1,21 +1,21 @@ //// [tests/cases/compiler/unionTypeWithRecursiveSubtypeReduction3.ts] //// === unionTypeWithRecursiveSubtypeReduction3.ts === -var a27: { prop: number } | { prop: T27 }; ->a27 : Symbol(a27, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 0, 3)) ->prop : Symbol(prop, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 0, 10)) ->prop : Symbol(prop, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 0, 29)) ->T27 : Symbol(T27, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 0, 42)) +declare var a27: { prop: number } | { prop: T27 }; +>a27 : Symbol(a27, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 0, 11)) +>prop : Symbol(prop, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 0, 18)) +>prop : Symbol(prop, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 0, 37)) +>T27 : Symbol(T27, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 0, 50)) type T27 = typeof a27; ->T27 : Symbol(T27, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 0, 42)) ->a27 : Symbol(a27, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 0, 3)) +>T27 : Symbol(T27, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 0, 50)) +>a27 : Symbol(a27, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 0, 11)) -var b: T27; ->b : Symbol(b, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 3, 3)) ->T27 : Symbol(T27, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 0, 42)) +declare var b: T27; +>b : Symbol(b, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 3, 11)) +>T27 : Symbol(T27, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 0, 50)) var s: string = b; >s : Symbol(s, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 4, 3)) ->b : Symbol(b, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 3, 3)) +>b : Symbol(b, Decl(unionTypeWithRecursiveSubtypeReduction3.ts, 3, 11)) diff --git a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.types b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.types index 50db124d50cb7..ef5284315fe58 100644 --- a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.types +++ b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction3.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/unionTypeWithRecursiveSubtypeReduction3.ts] //// === unionTypeWithRecursiveSubtypeReduction3.ts === -var a27: { prop: number } | { prop: T27 }; +declare var a27: { prop: number } | { prop: T27 }; >a27 : { prop: number; } | { prop: T27; } > : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >prop : number @@ -15,7 +15,7 @@ type T27 = typeof a27; >a27 : { prop: number; } | { prop: T27; } > : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ -var b: T27; +declare var b: T27; >b : { prop: number; } | { prop: T27; } > : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.errors.txt b/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.errors.txt index 0f1c2a7f23582..e26249486d0ff 100644 --- a/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.errors.txt +++ b/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.errors.txt @@ -22,7 +22,7 @@ untypedFunctionCallsWithTypeParameters1.ts(41,4): error TS2558: Expected 0 type ~~~~~~~~~~~ !!! error TS2347: Untyped function calls may not accept type arguments. - var c: Function; + declare var c: Function; var r3 = c(); // should be an error ~~~~~~~~~~~ !!! error TS2347: Untyped function calls may not accept type arguments. @@ -37,14 +37,14 @@ untypedFunctionCallsWithTypeParameters1.ts(41,4): error TS2558: Expected 0 type caller = () => { }; } - var c2: C; + declare var c2: C; var r4 = c2(); // should be an error ~~ !!! error TS2349: This expression is not callable. !!! error TS2349: Type 'C' has no call signatures. class C2 extends Function { } // error - var c3: C2; + declare var c3: C2; var r5 = c3(); // error ~~~~~~~~~~~~ !!! error TS2347: Untyped function calls may not accept type arguments. @@ -52,7 +52,7 @@ untypedFunctionCallsWithTypeParameters1.ts(41,4): error TS2558: Expected 0 type interface I { (number): number; } - var z: I; + declare var z: I; var r6 = z(1); // error ~~~~~~ !!! error TS2558: Expected 0 type arguments, but got 1. @@ -61,7 +61,7 @@ untypedFunctionCallsWithTypeParameters1.ts(41,4): error TS2558: Expected 0 type (a: T): T; } - var c4: callable2; + declare var c4: callable2; c4(1); ~~~~~~ !!! error TS2558: Expected 0 type arguments, but got 1. @@ -69,7 +69,7 @@ untypedFunctionCallsWithTypeParameters1.ts(41,4): error TS2558: Expected 0 type (a: T): T; } - var c5: callable3; + declare var c5: callable3; c5(1); // error ~~~~~~ !!! error TS2558: Expected 0 type arguments, but got 1. diff --git a/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.js b/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.js index 94adf1b1d714b..01f7dc7a0072f 100644 --- a/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.js +++ b/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.js @@ -7,7 +7,7 @@ var r1 = x(); var y: any = x; var r2 = y(); -var c: Function; +declare var c: Function; var r3 = c(); // should be an error class C implements Function { @@ -17,30 +17,30 @@ class C implements Function { caller = () => { }; } -var c2: C; +declare var c2: C; var r4 = c2(); // should be an error class C2 extends Function { } // error -var c3: C2; +declare var c3: C2; var r5 = c3(); // error interface I { (number): number; } -var z: I; +declare var z: I; var r6 = z(1); // error interface callable2 { (a: T): T; } -var c4: callable2; +declare var c4: callable2; c4(1); interface callable3 { (a: T): T; } -var c5: callable3; +declare var c5: callable3; c5(1); // error @@ -66,7 +66,6 @@ var x = function () { return; }; var r1 = x(); var y = x; var r2 = y(); -var c; var r3 = c(); // should be an error var C = /** @class */ (function () { function C() { @@ -77,7 +76,6 @@ var C = /** @class */ (function () { } return C; }()); -var c2; var r4 = c2(); // should be an error var C2 = /** @class */ (function (_super) { __extends(C2, _super); @@ -86,11 +84,7 @@ var C2 = /** @class */ (function (_super) { } return C2; }(Function)); // error -var c3; var r5 = c3(); // error -var z; var r6 = z(1); // error -var c4; c4(1); -var c5; c5(1); // error diff --git a/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.symbols b/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.symbols index 6dd2599b7f68f..c55b31fe83499 100644 --- a/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.symbols +++ b/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.symbols @@ -17,13 +17,13 @@ var r2 = y(); >r2 : Symbol(r2, Decl(untypedFunctionCallsWithTypeParameters1.ts, 4, 3)) >y : Symbol(y, Decl(untypedFunctionCallsWithTypeParameters1.ts, 3, 3)) -var c: Function; ->c : Symbol(c, Decl(untypedFunctionCallsWithTypeParameters1.ts, 6, 3)) +declare var c: Function; +>c : Symbol(c, Decl(untypedFunctionCallsWithTypeParameters1.ts, 6, 11)) >Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var r3 = c(); // should be an error >r3 : Symbol(r3, Decl(untypedFunctionCallsWithTypeParameters1.ts, 7, 3)) ->c : Symbol(c, Decl(untypedFunctionCallsWithTypeParameters1.ts, 6, 3)) +>c : Symbol(c, Decl(untypedFunctionCallsWithTypeParameters1.ts, 6, 11)) class C implements Function { >C : Symbol(C, Decl(untypedFunctionCallsWithTypeParameters1.ts, 7, 21)) @@ -42,25 +42,25 @@ class C implements Function { >caller : Symbol(C.caller, Decl(untypedFunctionCallsWithTypeParameters1.ts, 12, 21)) } -var c2: C; ->c2 : Symbol(c2, Decl(untypedFunctionCallsWithTypeParameters1.ts, 16, 3)) +declare var c2: C; +>c2 : Symbol(c2, Decl(untypedFunctionCallsWithTypeParameters1.ts, 16, 11)) >C : Symbol(C, Decl(untypedFunctionCallsWithTypeParameters1.ts, 7, 21)) var r4 = c2(); // should be an error >r4 : Symbol(r4, Decl(untypedFunctionCallsWithTypeParameters1.ts, 17, 3)) ->c2 : Symbol(c2, Decl(untypedFunctionCallsWithTypeParameters1.ts, 16, 3)) +>c2 : Symbol(c2, Decl(untypedFunctionCallsWithTypeParameters1.ts, 16, 11)) class C2 extends Function { } // error >C2 : Symbol(C2, Decl(untypedFunctionCallsWithTypeParameters1.ts, 17, 22)) >Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) -var c3: C2; ->c3 : Symbol(c3, Decl(untypedFunctionCallsWithTypeParameters1.ts, 20, 3)) +declare var c3: C2; +>c3 : Symbol(c3, Decl(untypedFunctionCallsWithTypeParameters1.ts, 20, 11)) >C2 : Symbol(C2, Decl(untypedFunctionCallsWithTypeParameters1.ts, 17, 22)) var r5 = c3(); // error >r5 : Symbol(r5, Decl(untypedFunctionCallsWithTypeParameters1.ts, 21, 3)) ->c3 : Symbol(c3, Decl(untypedFunctionCallsWithTypeParameters1.ts, 20, 3)) +>c3 : Symbol(c3, Decl(untypedFunctionCallsWithTypeParameters1.ts, 20, 11)) interface I { >I : Symbol(I, Decl(untypedFunctionCallsWithTypeParameters1.ts, 21, 22)) @@ -68,13 +68,13 @@ interface I { (number): number; >number : Symbol(number, Decl(untypedFunctionCallsWithTypeParameters1.ts, 24, 5)) } -var z: I; ->z : Symbol(z, Decl(untypedFunctionCallsWithTypeParameters1.ts, 26, 3)) +declare var z: I; +>z : Symbol(z, Decl(untypedFunctionCallsWithTypeParameters1.ts, 26, 11)) >I : Symbol(I, Decl(untypedFunctionCallsWithTypeParameters1.ts, 21, 22)) var r6 = z(1); // error >r6 : Symbol(r6, Decl(untypedFunctionCallsWithTypeParameters1.ts, 27, 3)) ->z : Symbol(z, Decl(untypedFunctionCallsWithTypeParameters1.ts, 26, 3)) +>z : Symbol(z, Decl(untypedFunctionCallsWithTypeParameters1.ts, 26, 11)) interface callable2 { >callable2 : Symbol(callable2, Decl(untypedFunctionCallsWithTypeParameters1.ts, 27, 22)) @@ -86,12 +86,12 @@ interface callable2 { >T : Symbol(T, Decl(untypedFunctionCallsWithTypeParameters1.ts, 29, 20)) } -var c4: callable2; ->c4 : Symbol(c4, Decl(untypedFunctionCallsWithTypeParameters1.ts, 33, 3)) +declare var c4: callable2; +>c4 : Symbol(c4, Decl(untypedFunctionCallsWithTypeParameters1.ts, 33, 11)) >callable2 : Symbol(callable2, Decl(untypedFunctionCallsWithTypeParameters1.ts, 27, 22)) c4(1); ->c4 : Symbol(c4, Decl(untypedFunctionCallsWithTypeParameters1.ts, 33, 3)) +>c4 : Symbol(c4, Decl(untypedFunctionCallsWithTypeParameters1.ts, 33, 11)) interface callable3 { >callable3 : Symbol(callable3, Decl(untypedFunctionCallsWithTypeParameters1.ts, 34, 14)) @@ -103,11 +103,11 @@ interface callable3 { >T : Symbol(T, Decl(untypedFunctionCallsWithTypeParameters1.ts, 35, 20)) } -var c5: callable3; ->c5 : Symbol(c5, Decl(untypedFunctionCallsWithTypeParameters1.ts, 39, 3)) +declare var c5: callable3; +>c5 : Symbol(c5, Decl(untypedFunctionCallsWithTypeParameters1.ts, 39, 11)) >callable3 : Symbol(callable3, Decl(untypedFunctionCallsWithTypeParameters1.ts, 34, 14)) c5(1); // error ->c5 : Symbol(c5, Decl(untypedFunctionCallsWithTypeParameters1.ts, 39, 3)) +>c5 : Symbol(c5, Decl(untypedFunctionCallsWithTypeParameters1.ts, 39, 11)) diff --git a/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.types b/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.types index b8e4050c1026b..109ea71a9c544 100644 --- a/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.types +++ b/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.types @@ -30,7 +30,7 @@ var r2 = y(); >y : any > : ^^^ -var c: Function; +declare var c: Function; >c : Function > : ^^^^^^^^ @@ -67,7 +67,7 @@ class C implements Function { > : ^^^^^^^^^^ } -var c2: C; +declare var c2: C; >c2 : C > : ^ @@ -85,7 +85,7 @@ class C2 extends Function { } // error >Function : Function > : ^^^^^^^^ -var c3: C2; +declare var c3: C2; >c3 : C2 > : ^^ @@ -102,7 +102,7 @@ interface I { >number : any > : ^^^ } -var z: I; +declare var z: I; >z : I > : ^ @@ -122,7 +122,7 @@ interface callable2 { > : ^ } -var c4: callable2; +declare var c4: callable2; >c4 : callable2 > : ^^^^^^^^^^^^^^^^^ @@ -140,7 +140,7 @@ interface callable3 { > : ^ } -var c5: callable3; +declare var c5: callable3; >c5 : callable3 > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt index 88511f029a087..9627ae6bd78e0 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt @@ -3,11 +3,11 @@ unusedPrivateVariableInClass5.ts(3,13): error TS6133: 'y' is declared but its va ==== unusedPrivateVariableInClass5.ts (1 errors) ==== class greeter { - private x: string; - private y: string; + private x!: string; + private y!: string; ~ !!! error TS6133: 'y' is declared but its value is never read. - public z: string; + public z!: string; constructor() { this.x; diff --git a/tests/baselines/reference/unusedPrivateVariableInClass5.js b/tests/baselines/reference/unusedPrivateVariableInClass5.js index 0b7af8693893c..807032dc28008 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass5.js +++ b/tests/baselines/reference/unusedPrivateVariableInClass5.js @@ -2,9 +2,9 @@ //// [unusedPrivateVariableInClass5.ts] class greeter { - private x: string; - private y: string; - public z: string; + private x!: string; + private y!: string; + public z!: string; constructor() { this.x; diff --git a/tests/baselines/reference/unusedPrivateVariableInClass5.symbols b/tests/baselines/reference/unusedPrivateVariableInClass5.symbols index 00bd314e44b13..6e933dd776b80 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass5.symbols +++ b/tests/baselines/reference/unusedPrivateVariableInClass5.symbols @@ -4,14 +4,14 @@ class greeter { >greeter : Symbol(greeter, Decl(unusedPrivateVariableInClass5.ts, 0, 0)) - private x: string; + private x!: string; >x : Symbol(greeter.x, Decl(unusedPrivateVariableInClass5.ts, 0, 15)) - private y: string; ->y : Symbol(greeter.y, Decl(unusedPrivateVariableInClass5.ts, 1, 22)) + private y!: string; +>y : Symbol(greeter.y, Decl(unusedPrivateVariableInClass5.ts, 1, 23)) - public z: string; ->z : Symbol(greeter.z, Decl(unusedPrivateVariableInClass5.ts, 2, 22)) + public z!: string; +>z : Symbol(greeter.z, Decl(unusedPrivateVariableInClass5.ts, 2, 23)) constructor() { this.x; diff --git a/tests/baselines/reference/unusedPrivateVariableInClass5.types b/tests/baselines/reference/unusedPrivateVariableInClass5.types index e7f15bf0b6682..3e2013d96f6f2 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass5.types +++ b/tests/baselines/reference/unusedPrivateVariableInClass5.types @@ -5,15 +5,15 @@ class greeter { >greeter : greeter > : ^^^^^^^ - private x: string; + private x!: string; >x : string > : ^^^^^^ - private y: string; + private y!: string; >y : string > : ^^^^^^ - public z: string; + public z!: string; >z : string > : ^^^^^^ diff --git a/tests/baselines/reference/unusedTypeParameterInFunction2.errors.txt b/tests/baselines/reference/unusedTypeParameterInFunction2.errors.txt index cf8a06f14ef55..678bb5653f91a 100644 --- a/tests/baselines/reference/unusedTypeParameterInFunction2.errors.txt +++ b/tests/baselines/reference/unusedTypeParameterInFunction2.errors.txt @@ -5,6 +5,6 @@ unusedTypeParameterInFunction2.ts(1,16): error TS6133: 'Y' is declared but its v function f1() { ~ !!! error TS6133: 'Y' is declared but its value is never read. - var a: X; + var a!: X; a; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInFunction2.js b/tests/baselines/reference/unusedTypeParameterInFunction2.js index 2ceb0c573f649..f04c44bdef355 100644 --- a/tests/baselines/reference/unusedTypeParameterInFunction2.js +++ b/tests/baselines/reference/unusedTypeParameterInFunction2.js @@ -2,7 +2,7 @@ //// [unusedTypeParameterInFunction2.ts] function f1() { - var a: X; + var a!: X; a; } diff --git a/tests/baselines/reference/unusedTypeParameterInFunction2.symbols b/tests/baselines/reference/unusedTypeParameterInFunction2.symbols index e66ef7132e241..ff1087dc1de6f 100644 --- a/tests/baselines/reference/unusedTypeParameterInFunction2.symbols +++ b/tests/baselines/reference/unusedTypeParameterInFunction2.symbols @@ -6,7 +6,7 @@ function f1() { >X : Symbol(X, Decl(unusedTypeParameterInFunction2.ts, 0, 12)) >Y : Symbol(Y, Decl(unusedTypeParameterInFunction2.ts, 0, 14)) - var a: X; + var a!: X; >a : Symbol(a, Decl(unusedTypeParameterInFunction2.ts, 1, 7)) >X : Symbol(X, Decl(unusedTypeParameterInFunction2.ts, 0, 12)) diff --git a/tests/baselines/reference/unusedTypeParameterInFunction2.types b/tests/baselines/reference/unusedTypeParameterInFunction2.types index 05aceaa41eaf6..2590e14de0d79 100644 --- a/tests/baselines/reference/unusedTypeParameterInFunction2.types +++ b/tests/baselines/reference/unusedTypeParameterInFunction2.types @@ -5,7 +5,7 @@ function f1() { >f1 : () => void > : ^ ^^ ^^^^^^^^^^^ - var a: X; + var a!: X; >a : X > : ^ diff --git a/tests/baselines/reference/unusedTypeParameterInFunction3.errors.txt b/tests/baselines/reference/unusedTypeParameterInFunction3.errors.txt index b2c1fb3f86443..94927cdecab4e 100644 --- a/tests/baselines/reference/unusedTypeParameterInFunction3.errors.txt +++ b/tests/baselines/reference/unusedTypeParameterInFunction3.errors.txt @@ -5,8 +5,8 @@ unusedTypeParameterInFunction3.ts(1,16): error TS6133: 'Y' is declared but its v function f1() { ~ !!! error TS6133: 'Y' is declared but its value is never read. - var a: X; - var b: Z; + var a!: X; + var b!: Z; a; b; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInFunction3.js b/tests/baselines/reference/unusedTypeParameterInFunction3.js index 90b680d17fb38..ca7d80ab4d43a 100644 --- a/tests/baselines/reference/unusedTypeParameterInFunction3.js +++ b/tests/baselines/reference/unusedTypeParameterInFunction3.js @@ -2,8 +2,8 @@ //// [unusedTypeParameterInFunction3.ts] function f1() { - var a: X; - var b: Z; + var a!: X; + var b!: Z; a; b; } diff --git a/tests/baselines/reference/unusedTypeParameterInFunction3.symbols b/tests/baselines/reference/unusedTypeParameterInFunction3.symbols index d513c64b25251..a9588d4898f82 100644 --- a/tests/baselines/reference/unusedTypeParameterInFunction3.symbols +++ b/tests/baselines/reference/unusedTypeParameterInFunction3.symbols @@ -7,11 +7,11 @@ function f1() { >Y : Symbol(Y, Decl(unusedTypeParameterInFunction3.ts, 0, 14)) >Z : Symbol(Z, Decl(unusedTypeParameterInFunction3.ts, 0, 17)) - var a: X; + var a!: X; >a : Symbol(a, Decl(unusedTypeParameterInFunction3.ts, 1, 7)) >X : Symbol(X, Decl(unusedTypeParameterInFunction3.ts, 0, 12)) - var b: Z; + var b!: Z; >b : Symbol(b, Decl(unusedTypeParameterInFunction3.ts, 2, 7)) >Z : Symbol(Z, Decl(unusedTypeParameterInFunction3.ts, 0, 17)) diff --git a/tests/baselines/reference/unusedTypeParameterInFunction3.types b/tests/baselines/reference/unusedTypeParameterInFunction3.types index d666f2201117c..d3e12f2680bc7 100644 --- a/tests/baselines/reference/unusedTypeParameterInFunction3.types +++ b/tests/baselines/reference/unusedTypeParameterInFunction3.types @@ -5,11 +5,11 @@ function f1() { >f1 : () => void > : ^ ^^ ^^ ^^^^^^^^^^^ - var a: X; + var a!: X; >a : X > : ^ - var b: Z; + var b!: Z; >b : Z > : ^ diff --git a/tests/baselines/reference/unusedTypeParameterInFunction4.errors.txt b/tests/baselines/reference/unusedTypeParameterInFunction4.errors.txt index a4997f6ed0e7c..66da672ee9ba0 100644 --- a/tests/baselines/reference/unusedTypeParameterInFunction4.errors.txt +++ b/tests/baselines/reference/unusedTypeParameterInFunction4.errors.txt @@ -5,8 +5,8 @@ unusedTypeParameterInFunction4.ts(1,13): error TS6133: 'X' is declared but its v function f1() { ~ !!! error TS6133: 'X' is declared but its value is never read. - var a: Y; - var b: Z; + var a!: Y; + var b!: Z; a; b; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInFunction4.js b/tests/baselines/reference/unusedTypeParameterInFunction4.js index b50c971ad3192..c851c2b01ede0 100644 --- a/tests/baselines/reference/unusedTypeParameterInFunction4.js +++ b/tests/baselines/reference/unusedTypeParameterInFunction4.js @@ -2,8 +2,8 @@ //// [unusedTypeParameterInFunction4.ts] function f1() { - var a: Y; - var b: Z; + var a!: Y; + var b!: Z; a; b; } diff --git a/tests/baselines/reference/unusedTypeParameterInFunction4.symbols b/tests/baselines/reference/unusedTypeParameterInFunction4.symbols index 097ce8344febc..8a51a9163021a 100644 --- a/tests/baselines/reference/unusedTypeParameterInFunction4.symbols +++ b/tests/baselines/reference/unusedTypeParameterInFunction4.symbols @@ -7,11 +7,11 @@ function f1() { >Y : Symbol(Y, Decl(unusedTypeParameterInFunction4.ts, 0, 14)) >Z : Symbol(Z, Decl(unusedTypeParameterInFunction4.ts, 0, 17)) - var a: Y; + var a!: Y; >a : Symbol(a, Decl(unusedTypeParameterInFunction4.ts, 1, 7)) >Y : Symbol(Y, Decl(unusedTypeParameterInFunction4.ts, 0, 14)) - var b: Z; + var b!: Z; >b : Symbol(b, Decl(unusedTypeParameterInFunction4.ts, 2, 7)) >Z : Symbol(Z, Decl(unusedTypeParameterInFunction4.ts, 0, 17)) diff --git a/tests/baselines/reference/unusedTypeParameterInFunction4.types b/tests/baselines/reference/unusedTypeParameterInFunction4.types index b0696729e4afb..041ee326194aa 100644 --- a/tests/baselines/reference/unusedTypeParameterInFunction4.types +++ b/tests/baselines/reference/unusedTypeParameterInFunction4.types @@ -5,11 +5,11 @@ function f1() { >f1 : () => void > : ^ ^^ ^^ ^^^^^^^^^^^ - var a: Y; + var a!: Y; >a : Y > : ^ - var b: Z; + var b!: Z; >b : Z > : ^ diff --git a/tests/baselines/reference/unusedTypeParameterInLambda2.errors.txt b/tests/baselines/reference/unusedTypeParameterInLambda2.errors.txt index f395698e6c420..d35b11a6e27ad 100644 --- a/tests/baselines/reference/unusedTypeParameterInLambda2.errors.txt +++ b/tests/baselines/reference/unusedTypeParameterInLambda2.errors.txt @@ -7,7 +7,7 @@ unusedTypeParameterInLambda2.ts(3,17): error TS6133: 'T' is declared but its val return () => { ~ !!! error TS6133: 'T' is declared but its value is never read. - var a: X; + var a!: X; a; } } diff --git a/tests/baselines/reference/unusedTypeParameterInLambda2.js b/tests/baselines/reference/unusedTypeParameterInLambda2.js index e9737d36668c9..78dbf51a4bd33 100644 --- a/tests/baselines/reference/unusedTypeParameterInLambda2.js +++ b/tests/baselines/reference/unusedTypeParameterInLambda2.js @@ -4,7 +4,7 @@ class A { public f1() { return () => { - var a: X; + var a!: X; a; } } diff --git a/tests/baselines/reference/unusedTypeParameterInLambda2.symbols b/tests/baselines/reference/unusedTypeParameterInLambda2.symbols index f8d4ba797bb8e..3e470918a5a16 100644 --- a/tests/baselines/reference/unusedTypeParameterInLambda2.symbols +++ b/tests/baselines/reference/unusedTypeParameterInLambda2.symbols @@ -11,7 +11,7 @@ class A { >T : Symbol(T, Decl(unusedTypeParameterInLambda2.ts, 2, 16)) >X : Symbol(X, Decl(unusedTypeParameterInLambda2.ts, 2, 18)) - var a: X; + var a!: X; >a : Symbol(a, Decl(unusedTypeParameterInLambda2.ts, 3, 15)) >X : Symbol(X, Decl(unusedTypeParameterInLambda2.ts, 2, 18)) diff --git a/tests/baselines/reference/unusedTypeParameterInLambda2.types b/tests/baselines/reference/unusedTypeParameterInLambda2.types index 94b1b2d48e105..2a5401beac606 100644 --- a/tests/baselines/reference/unusedTypeParameterInLambda2.types +++ b/tests/baselines/reference/unusedTypeParameterInLambda2.types @@ -10,10 +10,10 @@ class A { > : ^^^^^^^ ^^ ^^^^^^^^^^^ return () => { ->() => { var a: X; a; } : () => void -> : ^ ^^ ^^^^^^^^^^^ +>() => { var a!: X; a; } : () => void +> : ^ ^^ ^^^^^^^^^^^ - var a: X; + var a!: X; >a : X > : ^ diff --git a/tests/baselines/reference/unusedTypeParameterInMethod1.errors.txt b/tests/baselines/reference/unusedTypeParameterInMethod1.errors.txt index e23b8060fb2a3..9dc915d8e35b2 100644 --- a/tests/baselines/reference/unusedTypeParameterInMethod1.errors.txt +++ b/tests/baselines/reference/unusedTypeParameterInMethod1.errors.txt @@ -6,8 +6,8 @@ unusedTypeParameterInMethod1.ts(2,15): error TS6133: 'X' is declared but its val public f1() { ~ !!! error TS6133: 'X' is declared but its value is never read. - var a: Y; - var b: Z; + var a!: Y; + var b!: Z; a; b; } diff --git a/tests/baselines/reference/unusedTypeParameterInMethod1.js b/tests/baselines/reference/unusedTypeParameterInMethod1.js index 85ef2cac5b23a..d5348e269a941 100644 --- a/tests/baselines/reference/unusedTypeParameterInMethod1.js +++ b/tests/baselines/reference/unusedTypeParameterInMethod1.js @@ -3,8 +3,8 @@ //// [unusedTypeParameterInMethod1.ts] class A { public f1() { - var a: Y; - var b: Z; + var a!: Y; + var b!: Z; a; b; } diff --git a/tests/baselines/reference/unusedTypeParameterInMethod1.symbols b/tests/baselines/reference/unusedTypeParameterInMethod1.symbols index bffd0ac9142f7..b32516a60dd04 100644 --- a/tests/baselines/reference/unusedTypeParameterInMethod1.symbols +++ b/tests/baselines/reference/unusedTypeParameterInMethod1.symbols @@ -10,11 +10,11 @@ class A { >Y : Symbol(Y, Decl(unusedTypeParameterInMethod1.ts, 1, 16)) >Z : Symbol(Z, Decl(unusedTypeParameterInMethod1.ts, 1, 19)) - var a: Y; + var a!: Y; >a : Symbol(a, Decl(unusedTypeParameterInMethod1.ts, 2, 11)) >Y : Symbol(Y, Decl(unusedTypeParameterInMethod1.ts, 1, 16)) - var b: Z; + var b!: Z; >b : Symbol(b, Decl(unusedTypeParameterInMethod1.ts, 3, 11)) >Z : Symbol(Z, Decl(unusedTypeParameterInMethod1.ts, 1, 19)) diff --git a/tests/baselines/reference/unusedTypeParameterInMethod1.types b/tests/baselines/reference/unusedTypeParameterInMethod1.types index ecd2d731ff44d..478994db1902d 100644 --- a/tests/baselines/reference/unusedTypeParameterInMethod1.types +++ b/tests/baselines/reference/unusedTypeParameterInMethod1.types @@ -9,11 +9,11 @@ class A { >f1 : () => void > : ^ ^^ ^^ ^^^^^^^^^^^ - var a: Y; + var a!: Y; >a : Y > : ^ - var b: Z; + var b!: Z; >b : Z > : ^ diff --git a/tests/baselines/reference/unusedTypeParameterInMethod2.errors.txt b/tests/baselines/reference/unusedTypeParameterInMethod2.errors.txt index 5903c148d9b63..e745f10e7cfd1 100644 --- a/tests/baselines/reference/unusedTypeParameterInMethod2.errors.txt +++ b/tests/baselines/reference/unusedTypeParameterInMethod2.errors.txt @@ -6,8 +6,8 @@ unusedTypeParameterInMethod2.ts(2,18): error TS6133: 'Y' is declared but its val public f1() { ~ !!! error TS6133: 'Y' is declared but its value is never read. - var a: X; - var b: Z; + var a!: X; + var b!: Z; a; b; } diff --git a/tests/baselines/reference/unusedTypeParameterInMethod2.js b/tests/baselines/reference/unusedTypeParameterInMethod2.js index ed576caf05c02..1cff82e08fa64 100644 --- a/tests/baselines/reference/unusedTypeParameterInMethod2.js +++ b/tests/baselines/reference/unusedTypeParameterInMethod2.js @@ -3,8 +3,8 @@ //// [unusedTypeParameterInMethod2.ts] class A { public f1() { - var a: X; - var b: Z; + var a!: X; + var b!: Z; a; b; } diff --git a/tests/baselines/reference/unusedTypeParameterInMethod2.symbols b/tests/baselines/reference/unusedTypeParameterInMethod2.symbols index eebf0f895df88..19b889c9a729b 100644 --- a/tests/baselines/reference/unusedTypeParameterInMethod2.symbols +++ b/tests/baselines/reference/unusedTypeParameterInMethod2.symbols @@ -10,11 +10,11 @@ class A { >Y : Symbol(Y, Decl(unusedTypeParameterInMethod2.ts, 1, 16)) >Z : Symbol(Z, Decl(unusedTypeParameterInMethod2.ts, 1, 19)) - var a: X; + var a!: X; >a : Symbol(a, Decl(unusedTypeParameterInMethod2.ts, 2, 11)) >X : Symbol(X, Decl(unusedTypeParameterInMethod2.ts, 1, 14)) - var b: Z; + var b!: Z; >b : Symbol(b, Decl(unusedTypeParameterInMethod2.ts, 3, 11)) >Z : Symbol(Z, Decl(unusedTypeParameterInMethod2.ts, 1, 19)) diff --git a/tests/baselines/reference/unusedTypeParameterInMethod2.types b/tests/baselines/reference/unusedTypeParameterInMethod2.types index a7480f74f0b9b..c926cfe24ade1 100644 --- a/tests/baselines/reference/unusedTypeParameterInMethod2.types +++ b/tests/baselines/reference/unusedTypeParameterInMethod2.types @@ -9,11 +9,11 @@ class A { >f1 : () => void > : ^ ^^ ^^ ^^^^^^^^^^^ - var a: X; + var a!: X; >a : X > : ^ - var b: Z; + var b!: Z; >b : Z > : ^ diff --git a/tests/baselines/reference/unusedTypeParameterInMethod3.errors.txt b/tests/baselines/reference/unusedTypeParameterInMethod3.errors.txt index 2d8ac88be2556..90be2662dc4bc 100644 --- a/tests/baselines/reference/unusedTypeParameterInMethod3.errors.txt +++ b/tests/baselines/reference/unusedTypeParameterInMethod3.errors.txt @@ -6,8 +6,8 @@ unusedTypeParameterInMethod3.ts(2,21): error TS6133: 'Z' is declared but its val public f1() { ~ !!! error TS6133: 'Z' is declared but its value is never read. - var a: X; - var b: Y; + var a!: X; + var b!: Y; a; b; } diff --git a/tests/baselines/reference/unusedTypeParameterInMethod3.js b/tests/baselines/reference/unusedTypeParameterInMethod3.js index c15c63785262a..a5c9aae44707e 100644 --- a/tests/baselines/reference/unusedTypeParameterInMethod3.js +++ b/tests/baselines/reference/unusedTypeParameterInMethod3.js @@ -3,8 +3,8 @@ //// [unusedTypeParameterInMethod3.ts] class A { public f1() { - var a: X; - var b: Y; + var a!: X; + var b!: Y; a; b; } diff --git a/tests/baselines/reference/unusedTypeParameterInMethod3.symbols b/tests/baselines/reference/unusedTypeParameterInMethod3.symbols index 91adcbfdf1d39..cf9beead3b728 100644 --- a/tests/baselines/reference/unusedTypeParameterInMethod3.symbols +++ b/tests/baselines/reference/unusedTypeParameterInMethod3.symbols @@ -10,11 +10,11 @@ class A { >Y : Symbol(Y, Decl(unusedTypeParameterInMethod3.ts, 1, 16)) >Z : Symbol(Z, Decl(unusedTypeParameterInMethod3.ts, 1, 19)) - var a: X; + var a!: X; >a : Symbol(a, Decl(unusedTypeParameterInMethod3.ts, 2, 11)) >X : Symbol(X, Decl(unusedTypeParameterInMethod3.ts, 1, 14)) - var b: Y; + var b!: Y; >b : Symbol(b, Decl(unusedTypeParameterInMethod3.ts, 3, 11)) >Y : Symbol(Y, Decl(unusedTypeParameterInMethod3.ts, 1, 16)) diff --git a/tests/baselines/reference/unusedTypeParameterInMethod3.types b/tests/baselines/reference/unusedTypeParameterInMethod3.types index 9aded1d9ebf92..9b5f4565ddd65 100644 --- a/tests/baselines/reference/unusedTypeParameterInMethod3.types +++ b/tests/baselines/reference/unusedTypeParameterInMethod3.types @@ -9,11 +9,11 @@ class A { >f1 : () => void > : ^ ^^ ^^ ^^^^^^^^^^^ - var a: X; + var a!: X; >a : X > : ^ - var b: Y; + var b!: Y; >b : Y > : ^ diff --git a/tests/baselines/reference/validEnumAssignments.errors.txt b/tests/baselines/reference/validEnumAssignments.errors.txt index bd10e6b81d21e..5ad6c634bfaae 100644 --- a/tests/baselines/reference/validEnumAssignments.errors.txt +++ b/tests/baselines/reference/validEnumAssignments.errors.txt @@ -7,9 +7,9 @@ validEnumAssignments.ts(26,1): error TS2322: Type '-1' is not assignable to type B } - var n: number; - var a: any; - var e: E; + declare var n: number; + declare var a: any; + declare var e: E; n = e; n = E.A; diff --git a/tests/baselines/reference/validEnumAssignments.js b/tests/baselines/reference/validEnumAssignments.js index 711aa3433df37..30e92aaee0fce 100644 --- a/tests/baselines/reference/validEnumAssignments.js +++ b/tests/baselines/reference/validEnumAssignments.js @@ -6,9 +6,9 @@ enum E { B } -var n: number; -var a: any; -var e: E; +declare var n: number; +declare var a: any; +declare var e: E; n = e; n = E.A; @@ -34,9 +34,6 @@ var E; E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; })(E || (E = {})); -var n; -var a; -var e; n = e; n = E.A; a = n; diff --git a/tests/baselines/reference/validEnumAssignments.symbols b/tests/baselines/reference/validEnumAssignments.symbols index 7f4d5e0e5fe28..3c5adc5241451 100644 --- a/tests/baselines/reference/validEnumAssignments.symbols +++ b/tests/baselines/reference/validEnumAssignments.symbols @@ -11,76 +11,76 @@ enum E { >B : Symbol(E.B, Decl(validEnumAssignments.ts, 1, 6)) } -var n: number; ->n : Symbol(n, Decl(validEnumAssignments.ts, 5, 3)) +declare var n: number; +>n : Symbol(n, Decl(validEnumAssignments.ts, 5, 11)) -var a: any; ->a : Symbol(a, Decl(validEnumAssignments.ts, 6, 3)) +declare var a: any; +>a : Symbol(a, Decl(validEnumAssignments.ts, 6, 11)) -var e: E; ->e : Symbol(e, Decl(validEnumAssignments.ts, 7, 3)) +declare var e: E; +>e : Symbol(e, Decl(validEnumAssignments.ts, 7, 11)) >E : Symbol(E, Decl(validEnumAssignments.ts, 0, 0)) n = e; ->n : Symbol(n, Decl(validEnumAssignments.ts, 5, 3)) ->e : Symbol(e, Decl(validEnumAssignments.ts, 7, 3)) +>n : Symbol(n, Decl(validEnumAssignments.ts, 5, 11)) +>e : Symbol(e, Decl(validEnumAssignments.ts, 7, 11)) n = E.A; ->n : Symbol(n, Decl(validEnumAssignments.ts, 5, 3)) +>n : Symbol(n, Decl(validEnumAssignments.ts, 5, 11)) >E.A : Symbol(E.A, Decl(validEnumAssignments.ts, 0, 8)) >E : Symbol(E, Decl(validEnumAssignments.ts, 0, 0)) >A : Symbol(E.A, Decl(validEnumAssignments.ts, 0, 8)) a = n; ->a : Symbol(a, Decl(validEnumAssignments.ts, 6, 3)) ->n : Symbol(n, Decl(validEnumAssignments.ts, 5, 3)) +>a : Symbol(a, Decl(validEnumAssignments.ts, 6, 11)) +>n : Symbol(n, Decl(validEnumAssignments.ts, 5, 11)) a = e; ->a : Symbol(a, Decl(validEnumAssignments.ts, 6, 3)) ->e : Symbol(e, Decl(validEnumAssignments.ts, 7, 3)) +>a : Symbol(a, Decl(validEnumAssignments.ts, 6, 11)) +>e : Symbol(e, Decl(validEnumAssignments.ts, 7, 11)) a = E.A; ->a : Symbol(a, Decl(validEnumAssignments.ts, 6, 3)) +>a : Symbol(a, Decl(validEnumAssignments.ts, 6, 11)) >E.A : Symbol(E.A, Decl(validEnumAssignments.ts, 0, 8)) >E : Symbol(E, Decl(validEnumAssignments.ts, 0, 0)) >A : Symbol(E.A, Decl(validEnumAssignments.ts, 0, 8)) e = e; ->e : Symbol(e, Decl(validEnumAssignments.ts, 7, 3)) ->e : Symbol(e, Decl(validEnumAssignments.ts, 7, 3)) +>e : Symbol(e, Decl(validEnumAssignments.ts, 7, 11)) +>e : Symbol(e, Decl(validEnumAssignments.ts, 7, 11)) e = E.A; ->e : Symbol(e, Decl(validEnumAssignments.ts, 7, 3)) +>e : Symbol(e, Decl(validEnumAssignments.ts, 7, 11)) >E.A : Symbol(E.A, Decl(validEnumAssignments.ts, 0, 8)) >E : Symbol(E, Decl(validEnumAssignments.ts, 0, 0)) >A : Symbol(E.A, Decl(validEnumAssignments.ts, 0, 8)) e = E.B; ->e : Symbol(e, Decl(validEnumAssignments.ts, 7, 3)) +>e : Symbol(e, Decl(validEnumAssignments.ts, 7, 11)) >E.B : Symbol(E.B, Decl(validEnumAssignments.ts, 1, 6)) >E : Symbol(E, Decl(validEnumAssignments.ts, 0, 0)) >B : Symbol(E.B, Decl(validEnumAssignments.ts, 1, 6)) e = n; ->e : Symbol(e, Decl(validEnumAssignments.ts, 7, 3)) ->n : Symbol(n, Decl(validEnumAssignments.ts, 5, 3)) +>e : Symbol(e, Decl(validEnumAssignments.ts, 7, 11)) +>n : Symbol(n, Decl(validEnumAssignments.ts, 5, 11)) e = null; ->e : Symbol(e, Decl(validEnumAssignments.ts, 7, 3)) +>e : Symbol(e, Decl(validEnumAssignments.ts, 7, 11)) e = undefined; ->e : Symbol(e, Decl(validEnumAssignments.ts, 7, 3)) +>e : Symbol(e, Decl(validEnumAssignments.ts, 7, 11)) >undefined : Symbol(undefined) e = 1; ->e : Symbol(e, Decl(validEnumAssignments.ts, 7, 3)) +>e : Symbol(e, Decl(validEnumAssignments.ts, 7, 11)) e = 1.; ->e : Symbol(e, Decl(validEnumAssignments.ts, 7, 3)) +>e : Symbol(e, Decl(validEnumAssignments.ts, 7, 11)) e = 1.0; ->e : Symbol(e, Decl(validEnumAssignments.ts, 7, 3)) +>e : Symbol(e, Decl(validEnumAssignments.ts, 7, 11)) e = -1; ->e : Symbol(e, Decl(validEnumAssignments.ts, 7, 3)) +>e : Symbol(e, Decl(validEnumAssignments.ts, 7, 11)) diff --git a/tests/baselines/reference/validEnumAssignments.types b/tests/baselines/reference/validEnumAssignments.types index 1c63ff33548c6..64bd8b33d958a 100644 --- a/tests/baselines/reference/validEnumAssignments.types +++ b/tests/baselines/reference/validEnumAssignments.types @@ -14,15 +14,15 @@ enum E { > : ^^^ } -var n: number; +declare var n: number; >n : number > : ^^^^^^ -var a: any; +declare var a: any; >a : any > : ^^^ -var e: E; +declare var e: E; >e : E > : ^ diff --git a/tests/baselines/reference/voidOperatorWithAnyOtherType.errors.txt b/tests/baselines/reference/voidOperatorWithAnyOtherType.errors.txt index 1dd68ac5d8482..61cf059655af6 100644 --- a/tests/baselines/reference/voidOperatorWithAnyOtherType.errors.txt +++ b/tests/baselines/reference/voidOperatorWithAnyOtherType.errors.txt @@ -6,25 +6,25 @@ voidOperatorWithAnyOtherType.ts(48,27): error TS2365: Operator '+' cannot be app ==== voidOperatorWithAnyOtherType.ts (3 errors) ==== // void operator on any type - var ANY: any; - var ANY1; + declare var ANY: any; + declare var ANY1; var ANY2: any[] = ["", ""]; - var obj: () => {} + declare var obj: () => {}; var obj1 = {x:"",y:1}; function foo(): any { - var a; + var a!: any; return a; } class A { public a: any; static foo() { - var a; + var a!: any; return a; } } namespace M { - export var n: any; + export var n!: any; } var objA = new A(); diff --git a/tests/baselines/reference/voidOperatorWithAnyOtherType.js b/tests/baselines/reference/voidOperatorWithAnyOtherType.js index 3774fac744ba6..1901a916ee878 100644 --- a/tests/baselines/reference/voidOperatorWithAnyOtherType.js +++ b/tests/baselines/reference/voidOperatorWithAnyOtherType.js @@ -3,25 +3,25 @@ //// [voidOperatorWithAnyOtherType.ts] // void operator on any type -var ANY: any; -var ANY1; +declare var ANY: any; +declare var ANY1; var ANY2: any[] = ["", ""]; -var obj: () => {} +declare var obj: () => {}; var obj1 = {x:"",y:1}; function foo(): any { - var a; + var a!: any; return a; } class A { public a: any; static foo() { - var a; + var a!: any; return a; } } namespace M { - export var n: any; + export var n!: any; } var objA = new A(); @@ -64,10 +64,7 @@ void M.n; //// [voidOperatorWithAnyOtherType.js] // void operator on any type -var ANY; -var ANY1; var ANY2 = ["", ""]; -var obj; var obj1 = { x: "", y: 1 }; function foo() { var a; diff --git a/tests/baselines/reference/voidOperatorWithAnyOtherType.symbols b/tests/baselines/reference/voidOperatorWithAnyOtherType.symbols index 68042164ef765..c5f129893a5dc 100644 --- a/tests/baselines/reference/voidOperatorWithAnyOtherType.symbols +++ b/tests/baselines/reference/voidOperatorWithAnyOtherType.symbols @@ -3,17 +3,17 @@ === voidOperatorWithAnyOtherType.ts === // void operator on any type -var ANY: any; ->ANY : Symbol(ANY, Decl(voidOperatorWithAnyOtherType.ts, 2, 3)) +declare var ANY: any; +>ANY : Symbol(ANY, Decl(voidOperatorWithAnyOtherType.ts, 2, 11)) -var ANY1; ->ANY1 : Symbol(ANY1, Decl(voidOperatorWithAnyOtherType.ts, 3, 3)) +declare var ANY1; +>ANY1 : Symbol(ANY1, Decl(voidOperatorWithAnyOtherType.ts, 3, 11)) var ANY2: any[] = ["", ""]; >ANY2 : Symbol(ANY2, Decl(voidOperatorWithAnyOtherType.ts, 4, 3)) -var obj: () => {} ->obj : Symbol(obj, Decl(voidOperatorWithAnyOtherType.ts, 5, 3)) +declare var obj: () => {}; +>obj : Symbol(obj, Decl(voidOperatorWithAnyOtherType.ts, 5, 11)) var obj1 = {x:"",y:1}; >obj1 : Symbol(obj1, Decl(voidOperatorWithAnyOtherType.ts, 6, 3)) @@ -23,7 +23,7 @@ var obj1 = {x:"",y:1}; function foo(): any { >foo : Symbol(foo, Decl(voidOperatorWithAnyOtherType.ts, 6, 22)) - var a; + var a!: any; >a : Symbol(a, Decl(voidOperatorWithAnyOtherType.ts, 9, 7)) return a; @@ -38,7 +38,7 @@ class A { static foo() { >foo : Symbol(A.foo, Decl(voidOperatorWithAnyOtherType.ts, 13, 18)) - var a; + var a!: any; >a : Symbol(a, Decl(voidOperatorWithAnyOtherType.ts, 15, 11)) return a; @@ -48,7 +48,7 @@ class A { namespace M { >M : Symbol(M, Decl(voidOperatorWithAnyOtherType.ts, 18, 1)) - export var n: any; + export var n!: any; >n : Symbol(n, Decl(voidOperatorWithAnyOtherType.ts, 20, 14)) } var objA = new A(); @@ -58,7 +58,7 @@ var objA = new A(); // any type var var ResultIsAny1 = void ANY1; >ResultIsAny1 : Symbol(ResultIsAny1, Decl(voidOperatorWithAnyOtherType.ts, 25, 3)) ->ANY1 : Symbol(ANY1, Decl(voidOperatorWithAnyOtherType.ts, 3, 3)) +>ANY1 : Symbol(ANY1, Decl(voidOperatorWithAnyOtherType.ts, 3, 11)) var ResultIsAny2 = void ANY2; >ResultIsAny2 : Symbol(ResultIsAny2, Decl(voidOperatorWithAnyOtherType.ts, 26, 3)) @@ -74,7 +74,7 @@ var ResultIsAny4 = void M; var ResultIsAny5 = void obj; >ResultIsAny5 : Symbol(ResultIsAny5, Decl(voidOperatorWithAnyOtherType.ts, 29, 3)) ->obj : Symbol(obj, Decl(voidOperatorWithAnyOtherType.ts, 5, 3)) +>obj : Symbol(obj, Decl(voidOperatorWithAnyOtherType.ts, 5, 11)) var ResultIsAny6 = void obj1; >ResultIsAny6 : Symbol(ResultIsAny6, Decl(voidOperatorWithAnyOtherType.ts, 30, 3)) @@ -129,8 +129,8 @@ var ResultIsAny15 = void A.foo(); var ResultIsAny16 = void (ANY + ANY1); >ResultIsAny16 : Symbol(ResultIsAny16, Decl(voidOperatorWithAnyOtherType.ts, 44, 3)) ->ANY : Symbol(ANY, Decl(voidOperatorWithAnyOtherType.ts, 2, 3)) ->ANY1 : Symbol(ANY1, Decl(voidOperatorWithAnyOtherType.ts, 3, 3)) +>ANY : Symbol(ANY, Decl(voidOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(voidOperatorWithAnyOtherType.ts, 3, 11)) var ResultIsAny17 = void (null + undefined); >ResultIsAny17 : Symbol(ResultIsAny17, Decl(voidOperatorWithAnyOtherType.ts, 45, 3)) @@ -147,26 +147,26 @@ var ResultIsAny19 = void (undefined + undefined); // multiple void operators var ResultIsAny20 = void void ANY; >ResultIsAny20 : Symbol(ResultIsAny20, Decl(voidOperatorWithAnyOtherType.ts, 50, 3)) ->ANY : Symbol(ANY, Decl(voidOperatorWithAnyOtherType.ts, 2, 3)) +>ANY : Symbol(ANY, Decl(voidOperatorWithAnyOtherType.ts, 2, 11)) var ResultIsAny21 = void void void (ANY + ANY1); >ResultIsAny21 : Symbol(ResultIsAny21, Decl(voidOperatorWithAnyOtherType.ts, 51, 3)) ->ANY : Symbol(ANY, Decl(voidOperatorWithAnyOtherType.ts, 2, 3)) ->ANY1 : Symbol(ANY1, Decl(voidOperatorWithAnyOtherType.ts, 3, 3)) +>ANY : Symbol(ANY, Decl(voidOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(voidOperatorWithAnyOtherType.ts, 3, 11)) // miss assignment operators void ANY; ->ANY : Symbol(ANY, Decl(voidOperatorWithAnyOtherType.ts, 2, 3)) +>ANY : Symbol(ANY, Decl(voidOperatorWithAnyOtherType.ts, 2, 11)) void ANY1; ->ANY1 : Symbol(ANY1, Decl(voidOperatorWithAnyOtherType.ts, 3, 3)) +>ANY1 : Symbol(ANY1, Decl(voidOperatorWithAnyOtherType.ts, 3, 11)) void ANY2[0]; >ANY2 : Symbol(ANY2, Decl(voidOperatorWithAnyOtherType.ts, 4, 3)) void ANY, ANY1; ->ANY : Symbol(ANY, Decl(voidOperatorWithAnyOtherType.ts, 2, 3)) ->ANY1 : Symbol(ANY1, Decl(voidOperatorWithAnyOtherType.ts, 3, 3)) +>ANY : Symbol(ANY, Decl(voidOperatorWithAnyOtherType.ts, 2, 11)) +>ANY1 : Symbol(ANY1, Decl(voidOperatorWithAnyOtherType.ts, 3, 11)) void objA.a; >objA.a : Symbol(A.a, Decl(voidOperatorWithAnyOtherType.ts, 12, 9)) diff --git a/tests/baselines/reference/voidOperatorWithAnyOtherType.types b/tests/baselines/reference/voidOperatorWithAnyOtherType.types index 5b75774fe997a..8ff2706271615 100644 --- a/tests/baselines/reference/voidOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/voidOperatorWithAnyOtherType.types @@ -3,11 +3,11 @@ === voidOperatorWithAnyOtherType.ts === // void operator on any type -var ANY: any; +declare var ANY: any; >ANY : any > : ^^^ -var ANY1; +declare var ANY1; >ANY1 : any > : ^^^ @@ -21,7 +21,7 @@ var ANY2: any[] = ["", ""]; >"" : "" > : ^^ -var obj: () => {} +declare var obj: () => {}; >obj : () => {} > : ^^^^^^ @@ -43,7 +43,7 @@ function foo(): any { >foo : () => any > : ^^^^^^ - var a; + var a!: any; >a : any > : ^^^ @@ -63,7 +63,7 @@ class A { >foo : () => any > : ^^^^^^^^^ - var a; + var a!: any; >a : any > : ^^^ @@ -76,7 +76,7 @@ namespace M { >M : typeof M > : ^^^^^^^^ - export var n: any; + export var n!: any; >n : any > : ^^^ } diff --git a/tests/baselines/reference/weakType.errors.txt b/tests/baselines/reference/weakType.errors.txt index 63732842ec62c..6e484730c68e2 100644 --- a/tests/baselines/reference/weakType.errors.txt +++ b/tests/baselines/reference/weakType.errors.txt @@ -60,7 +60,7 @@ weakType.ts(62,5): error TS2322: Type '{ properties: { wrong: string; }; }' is n function del(options: ConfigurableStartEnd = {}, error: { error?: number } = {}) { - let changes: ChangeOptions[]; + let changes: ChangeOptions[] = []; changes.push(options); changes.push(error); ~~~~~ diff --git a/tests/baselines/reference/weakType.js b/tests/baselines/reference/weakType.js index bccd0a198de39..2bae064881a5b 100644 --- a/tests/baselines/reference/weakType.js +++ b/tests/baselines/reference/weakType.js @@ -35,7 +35,7 @@ type ChangeOptions = ConfigurableStartEnd & InsertOptions; function del(options: ConfigurableStartEnd = {}, error: { error?: number } = {}) { - let changes: ChangeOptions[]; + let changes: ChangeOptions[] = []; changes.push(options); changes.push(error); } @@ -81,7 +81,7 @@ doSomething(false); function del(options, error) { if (options === void 0) { options = {}; } if (error === void 0) { error = {}; } - var changes; + var changes = []; changes.push(options); changes.push(error); } diff --git a/tests/baselines/reference/weakType.symbols b/tests/baselines/reference/weakType.symbols index bae7c5a89342b..924f4ddff9b93 100644 --- a/tests/baselines/reference/weakType.symbols +++ b/tests/baselines/reference/weakType.symbols @@ -90,7 +90,7 @@ function del(options: ConfigurableStartEnd = {}, >error : Symbol(error, Decl(weakType.ts, 32, 48)) >error : Symbol(error, Decl(weakType.ts, 33, 21)) - let changes: ChangeOptions[]; + let changes: ChangeOptions[] = []; >changes : Symbol(changes, Decl(weakType.ts, 34, 7)) >ChangeOptions : Symbol(ChangeOptions, Decl(weakType.ts, 29, 1)) diff --git a/tests/baselines/reference/weakType.types b/tests/baselines/reference/weakType.types index be047048adee5..0830ab160b910 100644 --- a/tests/baselines/reference/weakType.types +++ b/tests/baselines/reference/weakType.types @@ -141,9 +141,11 @@ function del(options: ConfigurableStartEnd = {}, >{} : {} > : ^^ - let changes: ChangeOptions[]; + let changes: ChangeOptions[] = []; >changes : ChangeOptions[] > : ^^^^^^^^^^^^^^^ +>[] : undefined[] +> : ^^^^^^^^^^^ changes.push(options); >changes.push(options) : number diff --git a/tests/baselines/reference/witness.errors.txt b/tests/baselines/reference/witness.errors.txt index f5883461341cf..937e545c4db4d 100644 --- a/tests/baselines/reference/witness.errors.txt +++ b/tests/baselines/reference/witness.errors.txt @@ -181,7 +181,7 @@ witness.ts(128,19): error TS2729: Property 'q' is used before its initialization !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'propAcc1' must be of type 'any', but here has type '{ m: any; }'. !!! related TS6203 witness.ts:107:5: 'propAcc1' was also declared here. - // Property access of module member + // Property access of namespace member namespace M2 { export var x = M2.x; var y = x; diff --git a/tests/baselines/reference/witness.js b/tests/baselines/reference/witness.js index 17e054e1a3e9c..ad88800ce321b 100644 --- a/tests/baselines/reference/witness.js +++ b/tests/baselines/reference/witness.js @@ -112,7 +112,7 @@ var propAcc1 = { }; var propAcc1: { m: any; } -// Property access of module member +// Property access of namespace member namespace M2 { export var x = M2.x; var y = x; @@ -240,7 +240,7 @@ var propAcc1 = { m: propAcc1.m }; var propAcc1; -// Property access of module member +// Property access of namespace member var M2; (function (M2) { M2.x = M2.x; diff --git a/tests/baselines/reference/witness.symbols b/tests/baselines/reference/witness.symbols index 63431a726d27e..5c1a03126efa3 100644 --- a/tests/baselines/reference/witness.symbols +++ b/tests/baselines/reference/witness.symbols @@ -292,7 +292,7 @@ var propAcc1: { m: any; } >propAcc1 : Symbol(propAcc1, Decl(witness.ts, 106, 3), Decl(witness.ts, 109, 3)) >m : Symbol(m, Decl(witness.ts, 109, 15)) -// Property access of module member +// Property access of namespace member namespace M2 { >M2 : Symbol(M2, Decl(witness.ts, 109, 25)) diff --git a/tests/baselines/reference/witness.types b/tests/baselines/reference/witness.types index 1581d05441c9a..b37e6312867bf 100644 --- a/tests/baselines/reference/witness.types +++ b/tests/baselines/reference/witness.types @@ -540,7 +540,7 @@ var propAcc1: { m: any; } >m : any > : ^^^ -// Property access of module member +// Property access of namespace member namespace M2 { >M2 : typeof M2 > : ^^^^^^^^^ diff --git a/tests/baselines/reference/wrappedRecursiveGenericType.errors.txt b/tests/baselines/reference/wrappedRecursiveGenericType.errors.txt index 07ba088446578..9055b44a18708 100644 --- a/tests/baselines/reference/wrappedRecursiveGenericType.errors.txt +++ b/tests/baselines/reference/wrappedRecursiveGenericType.errors.txt @@ -12,7 +12,7 @@ wrappedRecursiveGenericType.ts(14,1): error TS2322: Type 'number' is not assigna b: A>; val: T; } - var x: A; + declare var x: A; x.val = 5; // val -> number x.a.val = 5; // val -> number x.a.b.val = 5; // val -> X (This should be an error) diff --git a/tests/baselines/reference/wrappedRecursiveGenericType.js b/tests/baselines/reference/wrappedRecursiveGenericType.js index 5cf142670c5b1..e175424590ae0 100644 --- a/tests/baselines/reference/wrappedRecursiveGenericType.js +++ b/tests/baselines/reference/wrappedRecursiveGenericType.js @@ -10,14 +10,13 @@ interface B { b: A>; val: T; } -var x: A; +declare var x: A; x.val = 5; // val -> number x.a.val = 5; // val -> number x.a.b.val = 5; // val -> X (This should be an error) x.a.b.a.val = 5; // val -> X (This should be an error) //// [wrappedRecursiveGenericType.js] -var x; x.val = 5; // val -> number x.a.val = 5; // val -> number x.a.b.val = 5; // val -> X (This should be an error) diff --git a/tests/baselines/reference/wrappedRecursiveGenericType.symbols b/tests/baselines/reference/wrappedRecursiveGenericType.symbols index 2135d475189b1..e76444b0bef18 100644 --- a/tests/baselines/reference/wrappedRecursiveGenericType.symbols +++ b/tests/baselines/reference/wrappedRecursiveGenericType.symbols @@ -34,19 +34,19 @@ interface B { >val : Symbol(B.val, Decl(wrappedRecursiveGenericType.ts, 6, 15)) >T : Symbol(T, Decl(wrappedRecursiveGenericType.ts, 5, 12)) } -var x: A; ->x : Symbol(x, Decl(wrappedRecursiveGenericType.ts, 9, 3)) +declare var x: A; +>x : Symbol(x, Decl(wrappedRecursiveGenericType.ts, 9, 11)) >A : Symbol(A, Decl(wrappedRecursiveGenericType.ts, 0, 24)) x.val = 5; // val -> number >x.val : Symbol(A.val, Decl(wrappedRecursiveGenericType.ts, 2, 12)) ->x : Symbol(x, Decl(wrappedRecursiveGenericType.ts, 9, 3)) +>x : Symbol(x, Decl(wrappedRecursiveGenericType.ts, 9, 11)) >val : Symbol(A.val, Decl(wrappedRecursiveGenericType.ts, 2, 12)) x.a.val = 5; // val -> number >x.a.val : Symbol(B.val, Decl(wrappedRecursiveGenericType.ts, 6, 15)) >x.a : Symbol(A.a, Decl(wrappedRecursiveGenericType.ts, 1, 16)) ->x : Symbol(x, Decl(wrappedRecursiveGenericType.ts, 9, 3)) +>x : Symbol(x, Decl(wrappedRecursiveGenericType.ts, 9, 11)) >a : Symbol(A.a, Decl(wrappedRecursiveGenericType.ts, 1, 16)) >val : Symbol(B.val, Decl(wrappedRecursiveGenericType.ts, 6, 15)) @@ -54,7 +54,7 @@ x.a.b.val = 5; // val -> X (This should be an error) >x.a.b.val : Symbol(A.val, Decl(wrappedRecursiveGenericType.ts, 2, 12)) >x.a.b : Symbol(B.b, Decl(wrappedRecursiveGenericType.ts, 5, 16)) >x.a : Symbol(A.a, Decl(wrappedRecursiveGenericType.ts, 1, 16)) ->x : Symbol(x, Decl(wrappedRecursiveGenericType.ts, 9, 3)) +>x : Symbol(x, Decl(wrappedRecursiveGenericType.ts, 9, 11)) >a : Symbol(A.a, Decl(wrappedRecursiveGenericType.ts, 1, 16)) >b : Symbol(B.b, Decl(wrappedRecursiveGenericType.ts, 5, 16)) >val : Symbol(A.val, Decl(wrappedRecursiveGenericType.ts, 2, 12)) @@ -64,7 +64,7 @@ x.a.b.a.val = 5; // val -> X (This should be an error) >x.a.b.a : Symbol(A.a, Decl(wrappedRecursiveGenericType.ts, 1, 16)) >x.a.b : Symbol(B.b, Decl(wrappedRecursiveGenericType.ts, 5, 16)) >x.a : Symbol(A.a, Decl(wrappedRecursiveGenericType.ts, 1, 16)) ->x : Symbol(x, Decl(wrappedRecursiveGenericType.ts, 9, 3)) +>x : Symbol(x, Decl(wrappedRecursiveGenericType.ts, 9, 11)) >a : Symbol(A.a, Decl(wrappedRecursiveGenericType.ts, 1, 16)) >b : Symbol(B.b, Decl(wrappedRecursiveGenericType.ts, 5, 16)) >a : Symbol(A.a, Decl(wrappedRecursiveGenericType.ts, 1, 16)) diff --git a/tests/baselines/reference/wrappedRecursiveGenericType.types b/tests/baselines/reference/wrappedRecursiveGenericType.types index c98ea5de25b7c..5beacb9d157bf 100644 --- a/tests/baselines/reference/wrappedRecursiveGenericType.types +++ b/tests/baselines/reference/wrappedRecursiveGenericType.types @@ -23,7 +23,7 @@ interface B { >val : T > : ^ } -var x: A; +declare var x: A; >x : A > : ^^^^^^^^^ diff --git a/tests/cases/compiler/aliasOnMergedModuleInterface.ts b/tests/cases/compiler/aliasOnMergedModuleInterface.ts index bfa1835641447..0b0bec43eedef 100644 --- a/tests/cases/compiler/aliasOnMergedModuleInterface.ts +++ b/tests/cases/compiler/aliasOnMergedModuleInterface.ts @@ -15,6 +15,6 @@ declare module "foo" // @Filename: aliasOnMergedModuleInterface_1.ts /// import foo = require("foo") -var z: foo; +declare var z: foo; z.bar("hello"); // This should be ok var x: foo.A = foo.bar("hello"); // foo.A should be ok but foo.bar should be error diff --git a/tests/cases/compiler/aliasUsageInOrExpression.ts b/tests/cases/compiler/aliasUsageInOrExpression.ts index 540a3ae91c03d..efead7edf5f92 100644 --- a/tests/cases/compiler/aliasUsageInOrExpression.ts +++ b/tests/cases/compiler/aliasUsageInOrExpression.ts @@ -16,7 +16,7 @@ import moduleA = require("./aliasUsageInOrExpression_moduleA"); interface IHasVisualizationModel { VisualizationModel: typeof Backbone.Model; } -var i: IHasVisualizationModel; +declare var i: IHasVisualizationModel; var d1 = i || moduleA; var d2: IHasVisualizationModel = i || moduleA; var d2: IHasVisualizationModel = moduleA || i; diff --git a/tests/cases/compiler/arrayLiteralAndArrayConstructorEquivalence1.ts b/tests/cases/compiler/arrayLiteralAndArrayConstructorEquivalence1.ts index 5f44389ba933d..439afb15ba80e 100644 --- a/tests/cases/compiler/arrayLiteralAndArrayConstructorEquivalence1.ts +++ b/tests/cases/compiler/arrayLiteralAndArrayConstructorEquivalence1.ts @@ -1,7 +1,7 @@ var myCars=new Array(); var myCars3 = new Array({}); -var myCars4: Array; // error -var myCars5: Array[]; +declare var myCars4: Array; // error +declare var myCars5: Array[]; myCars = myCars3; myCars = myCars4; diff --git a/tests/cases/compiler/arraySigChecking.ts b/tests/cases/compiler/arraySigChecking.ts index 191f13f5afb82..686b99ea86f7a 100644 --- a/tests/cases/compiler/arraySigChecking.ts +++ b/tests/cases/compiler/arraySigChecking.ts @@ -14,7 +14,7 @@ declare namespace M { interface myInt { voidFn(): void; } -var myVar: myInt; +declare var myVar: myInt; var strArray: string[] = [myVar.voidFn()]; diff --git a/tests/cases/compiler/assigningFromObjectToAnythingElse.ts b/tests/cases/compiler/assigningFromObjectToAnythingElse.ts index ebf1a0a876318..692808306c5d5 100644 --- a/tests/cases/compiler/assigningFromObjectToAnythingElse.ts +++ b/tests/cases/compiler/assigningFromObjectToAnythingElse.ts @@ -1,4 +1,4 @@ -var x: Object; +declare var x: Object; var y: RegExp; y = x; diff --git a/tests/cases/compiler/assignmentCompat1.ts b/tests/cases/compiler/assignmentCompat1.ts index e93da76d95e06..02eac0e9927b5 100644 --- a/tests/cases/compiler/assignmentCompat1.ts +++ b/tests/cases/compiler/assignmentCompat1.ts @@ -1,6 +1,6 @@ var x = { one: 1 }; -var y: { [index: string]: any }; -var z: { [index: number]: any }; +declare var y: { [index: string]: any }; +declare var z: { [index: number]: any }; x = y; // Error y = x; // Ok because index signature type is any x = z; // Error diff --git a/tests/cases/compiler/assignmentCompatability25.ts b/tests/cases/compiler/assignmentCompatability25.ts index d805e63156115..f87acce4b5f6c 100644 --- a/tests/cases/compiler/assignmentCompatability25.ts +++ b/tests/cases/compiler/assignmentCompatability25.ts @@ -3,7 +3,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{two:number;};; + export declare var aa:{two:number;};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 \ No newline at end of file diff --git a/tests/cases/compiler/assignmentCompatability26.ts b/tests/cases/compiler/assignmentCompatability26.ts index e137f5d1ac6ae..4b1dc00df58e9 100644 --- a/tests/cases/compiler/assignmentCompatability26.ts +++ b/tests/cases/compiler/assignmentCompatability26.ts @@ -3,7 +3,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:string;};; + export declare var aa:{one:string;};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 \ No newline at end of file diff --git a/tests/cases/compiler/assignmentCompatability27.ts b/tests/cases/compiler/assignmentCompatability27.ts index 857cf5f0882d2..9c6a65bd77f19 100644 --- a/tests/cases/compiler/assignmentCompatability27.ts +++ b/tests/cases/compiler/assignmentCompatability27.ts @@ -3,7 +3,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{two:string;};; + export declare var aa:{two:string;};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 \ No newline at end of file diff --git a/tests/cases/compiler/assignmentCompatability28.ts b/tests/cases/compiler/assignmentCompatability28.ts index 86c932399fff8..9a37180a795ef 100644 --- a/tests/cases/compiler/assignmentCompatability28.ts +++ b/tests/cases/compiler/assignmentCompatability28.ts @@ -3,7 +3,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:boolean;};; + export declare var aa:{one:boolean;};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 \ No newline at end of file diff --git a/tests/cases/compiler/assignmentCompatability29.ts b/tests/cases/compiler/assignmentCompatability29.ts index ecc9d4e0e63c6..8f7d9efbb056d 100644 --- a/tests/cases/compiler/assignmentCompatability29.ts +++ b/tests/cases/compiler/assignmentCompatability29.ts @@ -3,7 +3,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:any[];};; + export declare var aa:{one:any[];};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 \ No newline at end of file diff --git a/tests/cases/compiler/assignmentCompatability30.ts b/tests/cases/compiler/assignmentCompatability30.ts index 9268ae7a55c61..a685a6e2814a7 100644 --- a/tests/cases/compiler/assignmentCompatability30.ts +++ b/tests/cases/compiler/assignmentCompatability30.ts @@ -3,7 +3,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:number[];};; + export declare var aa:{one:number[];};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 \ No newline at end of file diff --git a/tests/cases/compiler/assignmentCompatability31.ts b/tests/cases/compiler/assignmentCompatability31.ts index 90323e6e925ca..4cb4eab4c1781 100644 --- a/tests/cases/compiler/assignmentCompatability31.ts +++ b/tests/cases/compiler/assignmentCompatability31.ts @@ -3,7 +3,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:string[];};; + export declare var aa:{one:string[];};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 \ No newline at end of file diff --git a/tests/cases/compiler/assignmentCompatability32.ts b/tests/cases/compiler/assignmentCompatability32.ts index 9de6cc70112bd..745efafb3cb6e 100644 --- a/tests/cases/compiler/assignmentCompatability32.ts +++ b/tests/cases/compiler/assignmentCompatability32.ts @@ -3,7 +3,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{one:boolean[];};; + export declare var aa:{one:boolean[];};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 \ No newline at end of file diff --git a/tests/cases/compiler/assignmentCompatability33.ts b/tests/cases/compiler/assignmentCompatability33.ts index 6688ba7ace607..d4e157aad88aa 100644 --- a/tests/cases/compiler/assignmentCompatability33.ts +++ b/tests/cases/compiler/assignmentCompatability33.ts @@ -3,7 +3,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var obj: { (a: Tstring): Tstring; }; + export declare var obj: { (a: Tstring): Tstring; }; export var __val__obj = obj; } __test2__.__val__obj = __test1__.__val__obj4 \ No newline at end of file diff --git a/tests/cases/compiler/assignmentCompatability34.ts b/tests/cases/compiler/assignmentCompatability34.ts index 34481a64e8123..39e348b95d46a 100644 --- a/tests/cases/compiler/assignmentCompatability34.ts +++ b/tests/cases/compiler/assignmentCompatability34.ts @@ -3,7 +3,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var obj: { (a:Tnumber):Tnumber;}; + export declare var obj: { (a:Tnumber):Tnumber;}; export var __val__obj = obj; } __test2__.__val__obj = __test1__.__val__obj4 \ No newline at end of file diff --git a/tests/cases/compiler/assignmentCompatability35.ts b/tests/cases/compiler/assignmentCompatability35.ts index 384fefe3832d7..e2b7a143afe17 100644 --- a/tests/cases/compiler/assignmentCompatability35.ts +++ b/tests/cases/compiler/assignmentCompatability35.ts @@ -3,7 +3,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{[index:number]:number;};; + export declare var aa:{[index:number]:number;};; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 \ No newline at end of file diff --git a/tests/cases/compiler/assignmentCompatability37.ts b/tests/cases/compiler/assignmentCompatability37.ts index 8e15f53297fc2..418f096ca897c 100644 --- a/tests/cases/compiler/assignmentCompatability37.ts +++ b/tests/cases/compiler/assignmentCompatability37.ts @@ -3,7 +3,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{ new (param: Tnumber); };; + export declare var aa:{ new (param: Tnumber); };; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 \ No newline at end of file diff --git a/tests/cases/compiler/assignmentCompatability38.ts b/tests/cases/compiler/assignmentCompatability38.ts index 8a95ffebde0b1..6d8f0d79a8707 100644 --- a/tests/cases/compiler/assignmentCompatability38.ts +++ b/tests/cases/compiler/assignmentCompatability38.ts @@ -3,7 +3,7 @@ namespace __test1__ { export var __val__obj4 = obj4; } namespace __test2__ { - export var aa:{ new (param: Tstring); };; + export declare var aa:{ new (param: Tstring); };; export var __val__aa = aa; } __test2__.__val__aa = __test1__.__val__obj4 \ No newline at end of file diff --git a/tests/cases/compiler/bestCommonTypeWithContextualTyping.ts b/tests/cases/compiler/bestCommonTypeWithContextualTyping.ts index 32990cbb264e7..d44fe15d9e45f 100644 --- a/tests/cases/compiler/bestCommonTypeWithContextualTyping.ts +++ b/tests/cases/compiler/bestCommonTypeWithContextualTyping.ts @@ -8,7 +8,7 @@ interface Ellement { p: any; } -var e: Ellement; +declare var e: Ellement; // All of these should pass. Neither type is a supertype of the other, but the RHS should // always use Ellement in these examples (not Contextual). Because Ellement is assignable diff --git a/tests/cases/compiler/bluebirdStaticThis.ts b/tests/cases/compiler/bluebirdStaticThis.ts index 02dab6f350a52..e4d0872934cfd 100644 --- a/tests/cases/compiler/bluebirdStaticThis.ts +++ b/tests/cases/compiler/bluebirdStaticThis.ts @@ -122,10 +122,10 @@ interface Foo { a: number; b: string; } -var x: any; -var arr: any[]; -var foo: Foo; -var fooProm: Promise; +declare var x: any; +declare var arr: any[]; +declare var foo: Foo; +declare var fooProm: Promise; fooProm = Promise.try(Promise, () => { return foo; diff --git a/tests/cases/compiler/booleanAssignment.ts b/tests/cases/compiler/booleanAssignment.ts index 619b16bc419fd..b1556fa7af064 100644 --- a/tests/cases/compiler/booleanAssignment.ts +++ b/tests/cases/compiler/booleanAssignment.ts @@ -8,5 +8,5 @@ o = b; // OK b = true; // OK -var b2:boolean; +declare var b2:boolean; b = b2; // OK \ No newline at end of file diff --git a/tests/cases/compiler/callConstructAssignment.ts b/tests/cases/compiler/callConstructAssignment.ts index 1ed8a318c309e..78e80beb3bc37 100644 --- a/tests/cases/compiler/callConstructAssignment.ts +++ b/tests/cases/compiler/callConstructAssignment.ts @@ -1,8 +1,8 @@ -var foo:{ ( ):void; } +declare var foo:{ ( ):void; } -var bar:{ new ( ):any; } +declare var bar:{ new ( ):any; } foo = bar; // error bar = foo; // error \ No newline at end of file diff --git a/tests/cases/compiler/callSignaturesShouldBeResolvedBeforeSpecialization.ts b/tests/cases/compiler/callSignaturesShouldBeResolvedBeforeSpecialization.ts index b3bd77031a98c..a373ec20ce3a1 100644 --- a/tests/cases/compiler/callSignaturesShouldBeResolvedBeforeSpecialization.ts +++ b/tests/cases/compiler/callSignaturesShouldBeResolvedBeforeSpecialization.ts @@ -4,7 +4,7 @@ interface I1 { } function foo() { - var test: I1; + var test!: I1; test("expects boolean instead of string"); // should not error - "test" should not expect a boolean test(true); // should error - string expected } \ No newline at end of file diff --git a/tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts b/tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts index 0e8e5a0d53c46..a22bf10a38ccc 100644 --- a/tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts +++ b/tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts @@ -1,8 +1,8 @@ class Chain { constructor(public value: T) { } then(cb: (x: T) => S): Chain { - var t: T; - var s: S; + var t!: T; + var s!: S; // Ok to go down the chain, but error to climb up the chain (new Chain(t)).then(tt => s).then(ss => t); @@ -24,9 +24,9 @@ interface I { class Chain2 { constructor(public value: T) { } then(cb: (x: T) => S): Chain2 { - var i: I; - var t: T; - var s: S; + var i!: I; + var t!: T; + var s!: S; // Ok to go down the chain, check the constraint at the end. // Should get an error that we are assigning a string to a number (new Chain2(i)).then(ii => t).then(tt => s).value.x = ""; diff --git a/tests/cases/compiler/checkSuperCallBeforeThisAccessing5.ts b/tests/cases/compiler/checkSuperCallBeforeThisAccessing5.ts index 65d1db6df7522..41f36623fe0bf 100644 --- a/tests/cases/compiler/checkSuperCallBeforeThisAccessing5.ts +++ b/tests/cases/compiler/checkSuperCallBeforeThisAccessing5.ts @@ -1,6 +1,6 @@ class Based { constructor(...arg) { } } class Derived extends Based { - public x: number; + public x!: number; constructor() { super(this.x); } diff --git a/tests/cases/compiler/classImplementsClass2.ts b/tests/cases/compiler/classImplementsClass2.ts index 74a16a1c03c54..36b4acdb61d16 100644 --- a/tests/cases/compiler/classImplementsClass2.ts +++ b/tests/cases/compiler/classImplementsClass2.ts @@ -7,7 +7,7 @@ class C2 extends A { } } -var c: C; -var c2: C2; +declare var c: C; +declare var c2: C2; c = c2; c2 = c; \ No newline at end of file diff --git a/tests/cases/compiler/classImplementsClass4.ts b/tests/cases/compiler/classImplementsClass4.ts index 29e0125908302..a4157dec7adaa 100644 --- a/tests/cases/compiler/classImplementsClass4.ts +++ b/tests/cases/compiler/classImplementsClass4.ts @@ -10,7 +10,7 @@ class C implements A { class C2 extends A {} -var c: C; -var c2: C2; +declare var c: C; +declare var c2: C2; c = c2; c2 = c; \ No newline at end of file diff --git a/tests/cases/compiler/classImplementsClass5.ts b/tests/cases/compiler/classImplementsClass5.ts index e3023de60557d..3c4c3fafdf280 100644 --- a/tests/cases/compiler/classImplementsClass5.ts +++ b/tests/cases/compiler/classImplementsClass5.ts @@ -11,7 +11,7 @@ class C implements A { class C2 extends A {} -var c: C; -var c2: C2; +declare var c: C; +declare var c2: C2; c = c2; c2 = c; \ No newline at end of file diff --git a/tests/cases/compiler/classImplementsClass6.ts b/tests/cases/compiler/classImplementsClass6.ts index e945ab5072868..756160bde5cc8 100644 --- a/tests/cases/compiler/classImplementsClass6.ts +++ b/tests/cases/compiler/classImplementsClass6.ts @@ -13,8 +13,8 @@ class C implements A { class C2 extends A {} -var c: C; -var c2: C2; +declare var c: C; +declare var c2: C2; c = c2; c2 = c; c.bar(); // error diff --git a/tests/cases/compiler/classSideInheritance1.ts b/tests/cases/compiler/classSideInheritance1.ts index eff2b43674fd7..f6428d583ce86 100644 --- a/tests/cases/compiler/classSideInheritance1.ts +++ b/tests/cases/compiler/classSideInheritance1.ts @@ -7,8 +7,8 @@ class A { class C2 extends A {} -var a: A; -var c: C2; +declare var a: A; +declare var c: C2; a.bar(); // static off an instance - should be an error c.bar(); // static off an instance - should be an error A.bar(); // valid diff --git a/tests/cases/compiler/constraints0.ts b/tests/cases/compiler/constraints0.ts index 08416c00fce53..3120a8709717b 100644 --- a/tests/cases/compiler/constraints0.ts +++ b/tests/cases/compiler/constraints0.ts @@ -10,7 +10,7 @@ interface C { x: T; } -var v1: C; // should work -var v2: C; // should not work +declare var v1: C; // should work +declare var v2: C; // should not work var y = v1.x.a; // 'a' should be of type 'number' \ No newline at end of file diff --git a/tests/cases/compiler/constructorAsType.ts b/tests/cases/compiler/constructorAsType.ts index 0191f40504938..7fb5e27ab35b5 100644 --- a/tests/cases/compiler/constructorAsType.ts +++ b/tests/cases/compiler/constructorAsType.ts @@ -1,5 +1,5 @@ var Person:new () => {name: string;} = function () {return {name:"joe"};}; -var Person2:{new() : {name:string;};}; +declare var Person2:{new() : {name:string;};}; Person = Person2; \ No newline at end of file diff --git a/tests/cases/compiler/contextualSignatureInstatiationContravariance.ts b/tests/cases/compiler/contextualSignatureInstatiationContravariance.ts index 2bd0673abd5e5..0e442028706c6 100644 --- a/tests/cases/compiler/contextualSignatureInstatiationContravariance.ts +++ b/tests/cases/compiler/contextualSignatureInstatiationContravariance.ts @@ -2,10 +2,10 @@ interface Animal { x } interface Giraffe extends Animal { y } interface Elephant extends Animal { y2 } -var f2: (x: T, y: T) => void; +declare var f2: (x: T, y: T) => void; -var g2: (g: Giraffe, e: Elephant) => void; +declare var g2: (g: Giraffe, e: Elephant) => void; g2 = f2; // error because Giraffe and Elephant are disjoint types -var h2: (g1: Giraffe, g2: Giraffe) => void; +declare var h2: (g1: Giraffe, g2: Giraffe) => void; h2 = f2; // valid because Giraffe satisfies the constraint. It is safe in the traditional contravariant fashion. \ No newline at end of file diff --git a/tests/cases/compiler/contextualTyping.ts b/tests/cases/compiler/contextualTyping.ts index c8df0a473403c..5a962e16381a2 100644 --- a/tests/cases/compiler/contextualTyping.ts +++ b/tests/cases/compiler/contextualTyping.ts @@ -18,7 +18,7 @@ class C1T5 { } } -// CONTEXT: Module property declaration +// CONTEXT: Namespace property declaration namespace C2T5 { export var foo: (i: number, s: string) => number = function(i) { return i; @@ -63,7 +63,7 @@ class C4T5 { } } -// CONTEXT: Module property assignment +// CONTEXT: Namespace property assignment namespace C5T5 { export var foo: (i: number, s: string) => string; foo = function(i, s) { @@ -76,7 +76,7 @@ var c6t5: (n: number) => IFoo; c6t5 = <(n: number) => IFoo>function(n) { return ({}) }; // CONTEXT: Array index assignment -var c7t2: IFoo[]; +var c7t2: IFoo[] = []; c7t2[0] = ({n: 1}); // CONTEXT: Object property assignment diff --git a/tests/cases/compiler/contextualTypingOfGenericFunctionTypedArguments1.ts b/tests/cases/compiler/contextualTypingOfGenericFunctionTypedArguments1.ts index 1a58317c4692d..9c483595a7618 100644 --- a/tests/cases/compiler/contextualTypingOfGenericFunctionTypedArguments1.ts +++ b/tests/cases/compiler/contextualTypingOfGenericFunctionTypedArguments1.ts @@ -8,8 +8,8 @@ interface Combinators { forEach(c: Collection, f: (x: T) => Date): void; } -var c2: Collection; -var _: Combinators; +declare var c2: Collection; +declare var _: Combinators; // errors on all 3 lines, bug was that r5 was the only line with errors var f = (x: number) => { return x.toFixed() }; diff --git a/tests/cases/compiler/contextualTypingWithFixedTypeParameters1.ts b/tests/cases/compiler/contextualTypingWithFixedTypeParameters1.ts index 451e67092bb7a..3da3fa407c504 100644 --- a/tests/cases/compiler/contextualTypingWithFixedTypeParameters1.ts +++ b/tests/cases/compiler/contextualTypingWithFixedTypeParameters1.ts @@ -1,3 +1,3 @@ -var f10: (x: T, b: () => (a: T) => void, y: T) => T; +declare var f10: (x: T, b: () => (a: T) => void, y: T) => T; f10('', () => a => a.foo, ''); // a is "" var r9 = f10('', () => (a => a.foo), 1); // error \ No newline at end of file diff --git a/tests/cases/compiler/declarationMapsWithoutDeclaration.ts b/tests/cases/compiler/declarationMapsWithoutDeclaration.ts index 30070a04d9087..5bdc359a01a6f 100644 --- a/tests/cases/compiler/declarationMapsWithoutDeclaration.ts +++ b/tests/cases/compiler/declarationMapsWithoutDeclaration.ts @@ -10,7 +10,7 @@ namespace m2 { } -var m2: { +declare var m2: { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; diff --git a/tests/cases/compiler/derivedInterfaceCallSignature.ts b/tests/cases/compiler/derivedInterfaceCallSignature.ts index ce6a8eeafdf83..ee0aa7093596a 100644 --- a/tests/cases/compiler/derivedInterfaceCallSignature.ts +++ b/tests/cases/compiler/derivedInterfaceCallSignature.ts @@ -23,5 +23,5 @@ interface D3SvgArea extends D3SvgPath { defined(defined: (data: any, index?: number) => boolean): D3SvgArea; } -var area: D3SvgArea; +declare var area: D3SvgArea; area.interpolate('two')('one'); \ No newline at end of file diff --git a/tests/cases/compiler/dynamicNamesErrors.ts b/tests/cases/compiler/dynamicNamesErrors.ts index 9187f5bab467a..a33d3654c5bfd 100644 --- a/tests/cases/compiler/dynamicNamesErrors.ts +++ b/tests/cases/compiler/dynamicNamesErrors.ts @@ -24,8 +24,8 @@ interface T3 { [c1]: string; } -let t1: T1; -let t2: T2; +declare let t1: T1; +declare let t2: T2; t1 = t2; t2 = t1; diff --git a/tests/cases/compiler/elaboratedErrors.ts b/tests/cases/compiler/elaboratedErrors.ts index e985a9362f333..09e7b83f90c00 100644 --- a/tests/cases/compiler/elaboratedErrors.ts +++ b/tests/cases/compiler/elaboratedErrors.ts @@ -13,8 +13,8 @@ class WorkerFS implements FileSystem { interface Alpha { x: string; } interface Beta { y: number; } -var x: Alpha; -var y: Beta; +declare var x: Alpha; +declare var y: Beta; // Only one of these errors should be large x = y; diff --git a/tests/cases/compiler/enumAssignmentCompat3.ts b/tests/cases/compiler/enumAssignmentCompat3.ts index 4b987b97f7463..b568461d94cb3 100644 --- a/tests/cases/compiler/enumAssignmentCompat3.ts +++ b/tests/cases/compiler/enumAssignmentCompat3.ts @@ -54,16 +54,16 @@ namespace Merged2 { } } -var abc: First.E; -var secondAbc: Abc.E; -var secondAbcd: Abcd.E; -var secondAb: Ab.E; -var secondCd: Cd.E; -var nope: Abc.Nope; -var k: Const.E; -var decl: Decl.E; -var merged: Merged.E; -var merged2: Merged2.E; +declare var abc: First.E; +declare var secondAbc: Abc.E; +declare var secondAbcd: Abcd.E; +declare var secondAb: Ab.E; +declare var secondCd: Cd.E; +declare var nope: Abc.Nope; +declare var k: Const.E; +declare var decl: Decl.E; +declare var merged: Merged.E; +declare var merged2: Merged2.E; abc = secondAbc; // ok abc = secondAbcd; // missing 'd' abc = secondAb; // ok diff --git a/tests/cases/compiler/enumAssignmentCompat5.ts b/tests/cases/compiler/enumAssignmentCompat5.ts index c56db8b04f564..f36768ee48be4 100644 --- a/tests/cases/compiler/enumAssignmentCompat5.ts +++ b/tests/cases/compiler/enumAssignmentCompat5.ts @@ -6,7 +6,7 @@ enum Computed { B = 1 << 2, C = 1 << 3, } -let n: number; +declare let n: number; let e: E = n; // ok because it's too inconvenient otherwise e = 0; // ok, in range e = 4; // ok, out of range, but allowed computed enums don't have all members diff --git a/tests/cases/compiler/errorElaboration.ts b/tests/cases/compiler/errorElaboration.ts index bea98f7e60adf..2acbbce84ce4a 100644 --- a/tests/cases/compiler/errorElaboration.ts +++ b/tests/cases/compiler/errorElaboration.ts @@ -8,7 +8,7 @@ interface Container { m2: T; } declare function foo(x: () => Container>): void; -let a: () => Container>; +declare let a: () => Container>; foo(a); // Repro for #25498 diff --git a/tests/cases/compiler/errorMessageOnObjectLiteralType.ts b/tests/cases/compiler/errorMessageOnObjectLiteralType.ts index a9d9bd727451f..4851a288e8535 100644 --- a/tests/cases/compiler/errorMessageOnObjectLiteralType.ts +++ b/tests/cases/compiler/errorMessageOnObjectLiteralType.ts @@ -1,4 +1,4 @@ -var x: { +declare var x: { a: string; b: number; }; diff --git a/tests/cases/compiler/errorWithSameNameType.ts b/tests/cases/compiler/errorWithSameNameType.ts index 662ae638753bb..bae75776b908b 100644 --- a/tests/cases/compiler/errorWithSameNameType.ts +++ b/tests/cases/compiler/errorWithSameNameType.ts @@ -12,8 +12,8 @@ export interface F { import * as A from './a' import * as B from './b' -let a: A.F -let b: B.F +declare let a: A.F +declare let b: B.F if (a === b) { diff --git a/tests/cases/compiler/errorWithTruncatedType.ts b/tests/cases/compiler/errorWithTruncatedType.ts index c615ff928e40a..237860d29bbbf 100644 --- a/tests/cases/compiler/errorWithTruncatedType.ts +++ b/tests/cases/compiler/errorWithTruncatedType.ts @@ -1,6 +1,6 @@ // @noErrorTruncation: false -var x: { +declare var x: { propertyWithAnExceedinglyLongName1: string; propertyWithAnExceedinglyLongName2: string; propertyWithAnExceedinglyLongName3: string; diff --git a/tests/cases/compiler/exportAssignmentOfDeclaredExternalModule.ts b/tests/cases/compiler/exportAssignmentOfDeclaredExternalModule.ts index fd6b55c9c0855..e527466940047 100644 --- a/tests/cases/compiler/exportAssignmentOfDeclaredExternalModule.ts +++ b/tests/cases/compiler/exportAssignmentOfDeclaredExternalModule.ts @@ -11,6 +11,6 @@ export = Sammy; import Sammy = require('./exportAssignmentOfDeclaredExternalModule_0'); var x = new Sammy(); // error to use as constructor as there is not constructor symbol var y = Sammy(); // error to use interface name as call target -var z: Sammy; // no error - z is of type interface Sammy from module 'M' +declare var z: Sammy; // no error - z is of type interface Sammy from module 'M' var a = new z(); // constructor - no error var b = z(); // call signature - no error \ No newline at end of file diff --git a/tests/cases/compiler/exportEqualErrorType.ts b/tests/cases/compiler/exportEqualErrorType.ts index 5adaffcbaee4d..0c741b2b058af 100644 --- a/tests/cases/compiler/exportEqualErrorType.ts +++ b/tests/cases/compiler/exportEqualErrorType.ts @@ -8,7 +8,7 @@ namespace server { use: (mod: connectModule) => connectExport; } } -var server: { +declare var server: { (): server.connectExport; foo: Date; }; diff --git a/tests/cases/compiler/exportEqualMemberMissing.ts b/tests/cases/compiler/exportEqualMemberMissing.ts index 0751aea85e813..348bb7dd2f117 100644 --- a/tests/cases/compiler/exportEqualMemberMissing.ts +++ b/tests/cases/compiler/exportEqualMemberMissing.ts @@ -8,7 +8,7 @@ namespace server { use: (mod: connectModule) => connectExport; } } -var server: { +declare var server: { (): server.connectExport; foo: Date; }; diff --git a/tests/cases/compiler/exportSpecifierForAGlobal.ts b/tests/cases/compiler/exportSpecifierForAGlobal.ts index c24ec0b086f88..058648090da1e 100644 --- a/tests/cases/compiler/exportSpecifierForAGlobal.ts +++ b/tests/cases/compiler/exportSpecifierForAGlobal.ts @@ -7,6 +7,6 @@ declare class X { } // @filename: b.ts export {X}; export function f() { - var x: X; + var x!: X; return x; } diff --git a/tests/cases/compiler/expr.ts b/tests/cases/compiler/expr.ts index 8d6f7beed7ece..7e0f6231ba3ed 100644 --- a/tests/cases/compiler/expr.ts +++ b/tests/cases/compiler/expr.ts @@ -6,12 +6,12 @@ enum E { } function f() { - var a: any; + var a!: any; var n=3; var s=""; var b=false; - var i:I; - var e:E; + var i!: I; + var e!: E; n&&a; n&&s; diff --git a/tests/cases/compiler/extension.ts b/tests/cases/compiler/extension.ts index f412c4d700d7e..8e512c8a441e1 100644 --- a/tests/cases/compiler/extension.ts +++ b/tests/cases/compiler/extension.ts @@ -21,7 +21,7 @@ declare namespace M { var c=new M.C(); c.pe; c.p; -var i:I; +declare var i:I; i.x; i.y; diff --git a/tests/cases/compiler/fixingTypeParametersRepeatedly2.ts b/tests/cases/compiler/fixingTypeParametersRepeatedly2.ts index b439838862f4e..bb51a6a784f88 100644 --- a/tests/cases/compiler/fixingTypeParametersRepeatedly2.ts +++ b/tests/cases/compiler/fixingTypeParametersRepeatedly2.ts @@ -5,7 +5,7 @@ interface Derived extends Base { toBase(): Base; } -var derived: Derived; +declare var derived: Derived; declare function foo(x: T, func: (p: T) => T): T; var result = foo(derived, d => d.toBase()); diff --git a/tests/cases/compiler/forInStatement2.ts b/tests/cases/compiler/forInStatement2.ts index 4e5ea37cc07f5..adb95b9ae5fb7 100644 --- a/tests/cases/compiler/forInStatement2.ts +++ b/tests/cases/compiler/forInStatement2.ts @@ -1,3 +1,3 @@ -var expr: number; +declare var expr: number; for (var a in expr) { } \ No newline at end of file diff --git a/tests/cases/compiler/functionAssignment.ts b/tests/cases/compiler/functionAssignment.ts index 4d05e9c5b4a12..597a0285f8a1f 100644 --- a/tests/cases/compiler/functionAssignment.ts +++ b/tests/cases/compiler/functionAssignment.ts @@ -9,8 +9,8 @@ interface baz { get(callback: Function): number; } -var barbaz: baz; -var test: foo; +declare var barbaz: baz; +declare var test: foo; test.get(function (param) { var x = barbaz.get(function () { }); diff --git a/tests/cases/compiler/functionSignatureAssignmentCompat1.ts b/tests/cases/compiler/functionSignatureAssignmentCompat1.ts index 93684bbaf507d..c05104da4b9aa 100644 --- a/tests/cases/compiler/functionSignatureAssignmentCompat1.ts +++ b/tests/cases/compiler/functionSignatureAssignmentCompat1.ts @@ -5,7 +5,7 @@ interface Parsers { raw: ParserFunc; readline(delimiter?: string): ParserFunc; } -var parsers: Parsers; +declare var parsers: Parsers; var c: ParserFunc = parsers.raw; // ok! var d: ParserFunc = parsers.readline; // not ok var e: ParserFunc = parsers.readline(); // ok \ No newline at end of file diff --git a/tests/cases/compiler/genericArrayAssignment1.ts b/tests/cases/compiler/genericArrayAssignment1.ts index a10c91cfd3bbf..9e5b613b510c1 100644 --- a/tests/cases/compiler/genericArrayAssignment1.ts +++ b/tests/cases/compiler/genericArrayAssignment1.ts @@ -1,4 +1,4 @@ -var s: string[]; -var n: number[]; +declare var s: string[]; +declare var n: number[]; s = n; \ No newline at end of file diff --git a/tests/cases/compiler/genericArrayAssignmentCompatErrors.ts b/tests/cases/compiler/genericArrayAssignmentCompatErrors.ts index 3e58bafebef36..1085cf0fe1224 100644 --- a/tests/cases/compiler/genericArrayAssignmentCompatErrors.ts +++ b/tests/cases/compiler/genericArrayAssignmentCompatErrors.ts @@ -1,8 +1,8 @@ var myCars=new Array(); var myCars2 = new []; var myCars3 = new Array({}); -var myCars4: Array; // error -var myCars5: Array[]; +declare var myCars4: Array; // error +declare var myCars5: Array[]; myCars = myCars2; myCars = myCars3; diff --git a/tests/cases/compiler/genericCombinators2.ts b/tests/cases/compiler/genericCombinators2.ts index d221e37e2a8dc..8ba56a01029db 100644 --- a/tests/cases/compiler/genericCombinators2.ts +++ b/tests/cases/compiler/genericCombinators2.ts @@ -9,8 +9,8 @@ interface Combinators { map(c: Collection, f: (x: T, y: U) => V): Collection; } -var _: Combinators; -var c2: Collection; +declare var _: Combinators; +declare var c2: Collection; var rf1 = (x: number, y: string) => { return x.toFixed() }; var r5a = _.map(c2, (x, y) => { return x.toFixed() }); var r5b = _.map(c2, rf1); \ No newline at end of file diff --git a/tests/cases/compiler/genericConstraintSatisfaction1.ts b/tests/cases/compiler/genericConstraintSatisfaction1.ts index 976c9535c0338..68e3b3073d551 100644 --- a/tests/cases/compiler/genericConstraintSatisfaction1.ts +++ b/tests/cases/compiler/genericConstraintSatisfaction1.ts @@ -3,4 +3,5 @@ interface I { } var x: I<{s: string}> +declare var x: I<{s: string}> x.f({s: 1}) diff --git a/tests/cases/compiler/genericConstructorFunction1.ts b/tests/cases/compiler/genericConstructorFunction1.ts index 1b6330fb63aca..cb1efab977a55 100644 --- a/tests/cases/compiler/genericConstructorFunction1.ts +++ b/tests/cases/compiler/genericConstructorFunction1.ts @@ -1,5 +1,5 @@ function f1(args: T) { - var v1: { [index: string]: new (arg: T) => Date }; + var v1!: { [index: string]: new (arg: T) => Date }; var v2 = v1['test']; v2(args); return new v2(args); // used to give error @@ -8,7 +8,7 @@ function f1(args: T) { interface I1 { new (arg: T): Date }; function f2(args: T) { - var v1: { [index: string]: I1 }; + var v1!: { [index: string]: I1 }; var v2 = v1['test']; var y = v2(args); return new v2(args); // used to give error diff --git a/tests/cases/compiler/genericDerivedTypeWithSpecializedBase.ts b/tests/cases/compiler/genericDerivedTypeWithSpecializedBase.ts index ab62f1f5b25a9..43ecf5b219d00 100644 --- a/tests/cases/compiler/genericDerivedTypeWithSpecializedBase.ts +++ b/tests/cases/compiler/genericDerivedTypeWithSpecializedBase.ts @@ -6,6 +6,6 @@ class B extends A { y: U; } -var x: A; -var y: B; +declare var x: A; +declare var y: B; x = y; // error diff --git a/tests/cases/compiler/genericDerivedTypeWithSpecializedBase2.ts b/tests/cases/compiler/genericDerivedTypeWithSpecializedBase2.ts index b116f32acf608..025fc6c91d562 100644 --- a/tests/cases/compiler/genericDerivedTypeWithSpecializedBase2.ts +++ b/tests/cases/compiler/genericDerivedTypeWithSpecializedBase2.ts @@ -6,6 +6,6 @@ class B extends A { y: U; } -var x: A<{ length: number; foo: number }>; -var y: B; +declare var x: A<{ length: number; foo: number }>; +declare var y: B; x = y; // error diff --git a/tests/cases/compiler/genericFunctionCallSignatureReturnTypeMismatch.ts b/tests/cases/compiler/genericFunctionCallSignatureReturnTypeMismatch.ts index 7cbef9329638f..09f49a61ec57b 100644 --- a/tests/cases/compiler/genericFunctionCallSignatureReturnTypeMismatch.ts +++ b/tests/cases/compiler/genericFunctionCallSignatureReturnTypeMismatch.ts @@ -1,8 +1,8 @@ interface Array {} -var f : { (x:T): T; } +declare var f : { (x:T): T; } -var g : { () : S[]; }; +declare var g : { () : S[]; }; f = g; var s = f("str").toUpperCase(); diff --git a/tests/cases/compiler/genericFunctionsWithOptionalParameters2.ts b/tests/cases/compiler/genericFunctionsWithOptionalParameters2.ts index 9f1c1211afad5..d00a78523ec3f 100644 --- a/tests/cases/compiler/genericFunctionsWithOptionalParameters2.ts +++ b/tests/cases/compiler/genericFunctionsWithOptionalParameters2.ts @@ -2,7 +2,7 @@ interface Utils { fold(c: Array, folder?: (s: S, t: T) => T, init?: S): T; } -var utils: Utils; +declare var utils: Utils; utils.fold(); // error utils.fold(null); // no error diff --git a/tests/cases/compiler/genericSpecializations3.ts b/tests/cases/compiler/genericSpecializations3.ts index f19ca0c72ba90..3841648b1f83f 100644 --- a/tests/cases/compiler/genericSpecializations3.ts +++ b/tests/cases/compiler/genericSpecializations3.ts @@ -2,26 +2,26 @@ interface IFoo { foo(x: T): T; } -var iFoo: IFoo; +declare var iFoo: IFoo; iFoo.foo(1); class IntFooBad implements IFoo { // error foo(x: string): string { return null; } } -var intFooBad: IntFooBad; +declare var intFooBad: IntFooBad; class IntFoo implements IFoo { foo(x: number): number { return null; } } -var intFoo: IntFoo; +declare var intFoo: IntFoo; class StringFoo2 implements IFoo { foo(x: string): string { return null; } } -var stringFoo2: StringFoo2; +declare var stringFoo2: StringFoo2; stringFoo2.foo("hm"); diff --git a/tests/cases/compiler/genericTypeAssertions6.ts b/tests/cases/compiler/genericTypeAssertions6.ts index 4fa99031033f6..358274a7bfc7c 100644 --- a/tests/cases/compiler/genericTypeAssertions6.ts +++ b/tests/cases/compiler/genericTypeAssertions6.ts @@ -20,5 +20,5 @@ class B extends A { } } -var b: B; +declare var b: B; var c: A = >b; \ No newline at end of file diff --git a/tests/cases/compiler/genericWithOpenTypeParameters1.ts b/tests/cases/compiler/genericWithOpenTypeParameters1.ts index 4a6b3d6e7d371..25cbbb6f2d28c 100644 --- a/tests/cases/compiler/genericWithOpenTypeParameters1.ts +++ b/tests/cases/compiler/genericWithOpenTypeParameters1.ts @@ -2,7 +2,7 @@ class B { foo(x: T): T { return null; } } -var x: B; +declare var x: B; x.foo(1); // no error var f = (x: B) => { return x.foo(1); } // error var f2 = (x: B) => { return x.foo(1); } // error diff --git a/tests/cases/compiler/generics4.ts b/tests/cases/compiler/generics4.ts index f1e8be9614d3f..5aa9a3eaca892 100644 --- a/tests/cases/compiler/generics4.ts +++ b/tests/cases/compiler/generics4.ts @@ -1,7 +1,7 @@ class C { private x: T; } interface X { f(): string; } interface Y { f(): boolean; } -var a: C; -var b: C; +declare var a: C; +declare var b: C; a = b; // Not ok - return types of "f" are different \ No newline at end of file diff --git a/tests/cases/compiler/i3.ts b/tests/cases/compiler/i3.ts index a6c1f5cbec9c3..70b4c9e2408e4 100644 --- a/tests/cases/compiler/i3.ts +++ b/tests/cases/compiler/i3.ts @@ -1,6 +1,6 @@ interface I3 { one?: number; }; -var x: {one: number}; -var i: I3; +declare var x: {one: number}; +declare var i: I3; i = x; x = i; \ No newline at end of file diff --git a/tests/cases/compiler/implicitAnyFunctionInvocationWithAnyArguements.ts b/tests/cases/compiler/implicitAnyFunctionInvocationWithAnyArguements.ts index 4a1325179fba8..b770496bff484 100644 --- a/tests/cases/compiler/implicitAnyFunctionInvocationWithAnyArguements.ts +++ b/tests/cases/compiler/implicitAnyFunctionInvocationWithAnyArguements.ts @@ -2,8 +2,8 @@ // this should be errors var arg0 = null; // error at "arg0" var anyArray = [null, undefined]; // error at array literal -var objL: { v; w; } // error at "y,z" -var funcL: (y2) => number; +declare var objL: { v; w; } // error at "y,z" +declare var funcL: (y2) => number; function temp1(arg1) { } // error at "temp1" function testFunctionExprC(subReplace: (s: string, ...arg: any[]) => string) { } function testFunctionExprC2(eq: (v1: any, v2: any) => number) { }; diff --git a/tests/cases/compiler/implicitAnyWidenToAny.ts b/tests/cases/compiler/implicitAnyWidenToAny.ts index dcbabd38b47e2..4d76a2ed984d6 100644 --- a/tests/cases/compiler/implicitAnyWidenToAny.ts +++ b/tests/cases/compiler/implicitAnyWidenToAny.ts @@ -21,7 +21,7 @@ var array3: any[] = [null, undefined]; var array4: number[] = [null, undefined]; var array5 = [null, undefined]; -var objLit: { new (n: number): any; }; +declare var objLit: { new (n: number): any; }; function anyReturnFunc(): any { } var obj0 = new objLit(1); var obj1 = anyReturnFunc(); diff --git a/tests/cases/compiler/inOperator.ts b/tests/cases/compiler/inOperator.ts index d5d45c0106495..74b2c620cf913 100644 --- a/tests/cases/compiler/inOperator.ts +++ b/tests/cases/compiler/inOperator.ts @@ -6,6 +6,6 @@ if (3 in a) {} var b = '' in 0; -var c: any; -var y: number; +declare var c: any; +declare var y: number; if (y in c) { } diff --git a/tests/cases/compiler/incrementOnTypeParameter.ts b/tests/cases/compiler/incrementOnTypeParameter.ts index 8b285e7d135e0..1cf66a7347e70 100644 --- a/tests/cases/compiler/incrementOnTypeParameter.ts +++ b/tests/cases/compiler/incrementOnTypeParameter.ts @@ -1,8 +1,8 @@ class C { - a: T; + a!: T; foo() { this.a++; - for (var i: T, j = 0; j < 10; i++) { + for (var i: T = this.a, j = 0; j < 10; i++) { } } } diff --git a/tests/cases/compiler/indexIntoArraySubclass.ts b/tests/cases/compiler/indexIntoArraySubclass.ts index 01d3f50f5dfc3..c00608a086029 100644 --- a/tests/cases/compiler/indexIntoArraySubclass.ts +++ b/tests/cases/compiler/indexIntoArraySubclass.ts @@ -1,4 +1,4 @@ interface Foo2 extends Array { } -var x2: Foo2; +declare var x2: Foo2; var r = x2[0]; // string r = 0; //error \ No newline at end of file diff --git a/tests/cases/compiler/indexTypeCheck.ts b/tests/cases/compiler/indexTypeCheck.ts index 33bc4c1c7b281..825713a91165a 100644 --- a/tests/cases/compiler/indexTypeCheck.ts +++ b/tests/cases/compiler/indexTypeCheck.ts @@ -36,8 +36,8 @@ interface Magenta { [p:Purple]; // error } -var yellow: Yellow; -var blue: Blue; +declare var yellow: Yellow; +declare var blue: Blue; var s = "some string"; yellow[5]; // ok @@ -50,7 +50,7 @@ s[{}]; // ok yellow[blue]; // error -var x:number[]; +declare var x:number[]; x[0]; class Benchmark { diff --git a/tests/cases/compiler/inheritance1.ts b/tests/cases/compiler/inheritance1.ts index 1c9b661279346..1f1b1207e61f6 100644 --- a/tests/cases/compiler/inheritance1.ts +++ b/tests/cases/compiler/inheritance1.ts @@ -21,40 +21,40 @@ class Locations implements SelectableControl { class Locations1 { select() { } } -var sc: SelectableControl; -var c: Control; +declare var sc: SelectableControl; +declare var c: Control; -var b: Button; +declare var b: Button; sc = b; c = b; b = sc; b = c; -var t: TextBox; +declare var t: TextBox; sc = t; c = t; t = sc; t = c; -var i: ImageBase; +declare var i: ImageBase; sc = i; c = i; i = sc; i = c; -var i1: Image1; +declare var i1: Image1; sc = i1; c = i1; i1 = sc; i1 = c; -var l: Locations; +declare var l: Locations; sc = l; c = l; l = sc; l = c; -var l1: Locations1; +declare var l1: Locations1; sc = l1; c = l1; l1 = sc; diff --git a/tests/cases/compiler/instanceofOperator.ts b/tests/cases/compiler/instanceofOperator.ts index b7071aebb0d10..b998ef2db2faf 100644 Binary files a/tests/cases/compiler/instanceofOperator.ts and b/tests/cases/compiler/instanceofOperator.ts differ diff --git a/tests/cases/compiler/intTypeCheck.ts b/tests/cases/compiler/intTypeCheck.ts index a156309786353..39f9356a6e108 100644 --- a/tests/cases/compiler/intTypeCheck.ts +++ b/tests/cases/compiler/intTypeCheck.ts @@ -89,7 +89,7 @@ var anyVar: any; // // Property signatures // -var obj0: i1; +declare var obj0: i1; var obj1: i1 = { p: null, p3: function ():any { return 0; }, @@ -108,7 +108,7 @@ var obj10: i1 = new {}; // // Call signatures // -var obj11: i2; +declare var obj11: i2; var obj12: i2 = {}; var obj13: i2 = new Object(); var obj14: i2 = new obj11; @@ -122,7 +122,7 @@ var obj21: i2 = new {}; // // Construct Signatures // -var obj22: i3; +declare var obj22: i3; var obj23: i3 = {}; var obj24: i3 = new Object(); var obj25: i3 = new obj22; @@ -136,7 +136,7 @@ var obj32: i3 = new {}; // // Index Signatures // -var obj33: i4; +declare var obj33: i4; var obj34: i4 = {}; var obj35: i4 = new Object(); var obj36: i4 = new obj33; @@ -150,7 +150,7 @@ var obj43: i4 = new {}; // // Interface Derived I1 // -var obj44: i5; +declare var obj44: i5; var obj45: i5 = {}; var obj46: i5 = new Object(); var obj47: i5 = new obj44; @@ -164,7 +164,7 @@ var obj54: i5 = new {}; // // Interface Derived I2 // -var obj55: i6; +declare var obj55: i6; var obj56: i6 = {}; var obj57: i6 = new Object(); var obj58: i6 = new obj55; @@ -178,7 +178,7 @@ var obj65: i6 = new {}; // // Interface Derived I3 // -var obj66: i7; +declare var obj66: i7; var obj67: i7 = {}; var obj68: i7 = new Object(); var obj69: i7 = new obj66; @@ -192,7 +192,7 @@ var obj76: i7 = new {}; // // Interface Derived I4 // -var obj77: i8; +declare var obj77: i8; var obj78: i8 = {}; var obj79: i8 = new Object(); var obj80: i8 = new obj77; diff --git a/tests/cases/compiler/interfaceExtendsClassWithPrivate1.ts b/tests/cases/compiler/interfaceExtendsClassWithPrivate1.ts index d9d296056f800..cec5a83c66d47 100644 --- a/tests/cases/compiler/interfaceExtendsClassWithPrivate1.ts +++ b/tests/cases/compiler/interfaceExtendsClassWithPrivate1.ts @@ -14,8 +14,8 @@ class D extends C implements I { } var c: C; -var i: I; -var d: D; +declare var i: I; +declare var d: D; c = i; i = c; // error diff --git a/tests/cases/compiler/interfaceImplementation1.ts b/tests/cases/compiler/interfaceImplementation1.ts index 74776ed9eefe6..6b415774bb62e 100644 --- a/tests/cases/compiler/interfaceImplementation1.ts +++ b/tests/cases/compiler/interfaceImplementation1.ts @@ -13,8 +13,8 @@ class C1 implements I1,I2 { private iFn(); private iFn(n?:number, s?:string) { } private iAny:any; - private iNum:number; - private iObj:{ }; + private iNum!:number; + private iObj!:{ }; } interface I3 { @@ -40,6 +40,6 @@ new a(); new b(); */ -var c:I4; +declare var c:I4; c[5]; c["foo"]; diff --git a/tests/cases/compiler/interfaceInheritance.ts b/tests/cases/compiler/interfaceInheritance.ts index 9553113b11dab..6d690f3ad5bf0 100644 --- a/tests/cases/compiler/interfaceInheritance.ts +++ b/tests/cases/compiler/interfaceInheritance.ts @@ -20,19 +20,19 @@ interface I5 { } class C1 implements I2 { // should be an error - it doesn't implement the members of I1 - public i2P1: string; + public i2P1!: string; } -var i2: I2; +declare var i2: I2; var i1: I1; -var i3: I3; +declare var i3: I3; i1 = i2; i2 = i3; // should be an error - i3 does not implement the members of i1 var c1: C1; -var i4: I4; -var i5: I5; +declare var i4: I4; +declare var i5: I5; i4 = i5; // should be an error i5 = i4; // should be an error diff --git a/tests/cases/compiler/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts b/tests/cases/compiler/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts index 6a091f2208b84..c21c4d619dcab 100644 --- a/tests/cases/compiler/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts +++ b/tests/cases/compiler/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts @@ -9,7 +9,7 @@ export namespace a { export namespace c { import b = a.b; - export var x: b.I; + export declare var x: b.I; x.foo(); } diff --git a/tests/cases/compiler/jsdocCallbackAndType.ts b/tests/cases/compiler/jsdocCallbackAndType.ts index eaecc38135c9f..7113cec389d76 100644 --- a/tests/cases/compiler/jsdocCallbackAndType.ts +++ b/tests/cases/compiler/jsdocCallbackAndType.ts @@ -8,6 +8,6 @@ * @callback B */ /** @type {B} */ -let b; +let b = {}; b(); b(1); diff --git a/tests/cases/compiler/jsxFactoryAndReactNamespace.ts b/tests/cases/compiler/jsxFactoryAndReactNamespace.ts index 2bdc954da3af8..92ef3535e786a 100644 --- a/tests/cases/compiler/jsxFactoryAndReactNamespace.ts +++ b/tests/cases/compiler/jsxFactoryAndReactNamespace.ts @@ -1,10 +1,10 @@ -//@jsx: react -//@target: es6 -//@module: commonjs -//@reactNamespace: Element -//@jsxFactory: Element.createElement - -// @filename: Element.ts +//@jsx: react +//@target: es6 +//@module: commonjs +//@reactNamespace: Element +//@jsxFactory: Element.createElement + +// @filename: Element.ts declare namespace JSX { interface Element { name: string; @@ -33,12 +33,12 @@ export let createElement = Element.createElement; function toCamelCase(text: string): string { return text[0].toLowerCase() + text.substring(1); -} - -// @filename: test.tsx +} + +// @filename: test.tsx import { Element} from './Element'; -let c: { +declare let c: { a?: { b: string } diff --git a/tests/cases/compiler/jsxFactoryNotIdentifierOrQualifiedName.ts b/tests/cases/compiler/jsxFactoryNotIdentifierOrQualifiedName.ts index 6f7c584d2320d..587e20ef8b999 100644 --- a/tests/cases/compiler/jsxFactoryNotIdentifierOrQualifiedName.ts +++ b/tests/cases/compiler/jsxFactoryNotIdentifierOrQualifiedName.ts @@ -1,9 +1,9 @@ -//@jsx: react -//@target: es6 -//@module: commonjs -//@jsxFactory: Element.createElement= - -// @filename: Element.ts +//@jsx: react +//@target: es6 +//@module: commonjs +//@jsxFactory: Element.createElement= + +// @filename: Element.ts declare namespace JSX { interface Element { name: string; @@ -32,12 +32,12 @@ export let createElement = Element.createElement; function toCamelCase(text: string): string { return text[0].toLowerCase() + text.substring(1); -} - -// @filename: test.tsx +} + +// @filename: test.tsx import { Element} from './Element'; -let c: { +declare let c: { a?: { b: string } diff --git a/tests/cases/compiler/jsxFactoryNotIdentifierOrQualifiedName2.ts b/tests/cases/compiler/jsxFactoryNotIdentifierOrQualifiedName2.ts index 610063f7d341b..aad8fc29a52db 100644 --- a/tests/cases/compiler/jsxFactoryNotIdentifierOrQualifiedName2.ts +++ b/tests/cases/compiler/jsxFactoryNotIdentifierOrQualifiedName2.ts @@ -1,9 +1,9 @@ -//@jsx: react -//@target: es6 -//@module: commonjs -//@jsxFactory: id1 id2 - -// @filename: Element.ts +//@jsx: react +//@target: es6 +//@module: commonjs +//@jsxFactory: id1 id2 + +// @filename: Element.ts declare namespace JSX { interface Element { name: string; @@ -32,12 +32,12 @@ export let createElement = Element.createElement; function toCamelCase(text: string): string { return text[0].toLowerCase() + text.substring(1); -} - -// @filename: test.tsx +} + +// @filename: test.tsx import { Element} from './Element'; -let c: { +declare let c: { a?: { b: string } diff --git a/tests/cases/compiler/literalsInComputedProperties1.ts b/tests/cases/compiler/literalsInComputedProperties1.ts index e3fed5b80aab1..c962b607fad7b 100644 --- a/tests/cases/compiler/literalsInComputedProperties1.ts +++ b/tests/cases/compiler/literalsInComputedProperties1.ts @@ -18,20 +18,20 @@ interface A { ["4"]:number; } -let y:A; +declare let y:A; y[1].toExponential(); y[2].toExponential(); y[3].toExponential(); y[4].toExponential(); class C { - 1:number; - [2]:number; + 1!:number; + [2]!:number; "3":number; - ["4"]:number; + ["4"]!:number; } -let z:C; +declare let z:C; z[1].toExponential(); z[2].toExponential(); z[3].toExponential(); diff --git a/tests/cases/compiler/mappedTypeRecursiveInference.ts b/tests/cases/compiler/mappedTypeRecursiveInference.ts index 1b2e34837f6fe..78b13162e06b0 100644 --- a/tests/cases/compiler/mappedTypeRecursiveInference.ts +++ b/tests/cases/compiler/mappedTypeRecursiveInference.ts @@ -16,7 +16,7 @@ oub.b oub.b.b oub.b.a.n.a.n.a -let xhr: XMLHttpRequest; +declare let xhr: XMLHttpRequest; const out2 = foo(xhr); out2.responseXML out2.responseXML.activeElement.className.length diff --git a/tests/cases/compiler/moduleAugmentationImportsAndExports2.ts b/tests/cases/compiler/moduleAugmentationImportsAndExports2.ts index 8e76475c4043a..d9d367c4b74fc 100644 --- a/tests/cases/compiler/moduleAugmentationImportsAndExports2.ts +++ b/tests/cases/compiler/moduleAugmentationImportsAndExports2.ts @@ -6,7 +6,7 @@ export class A {} // @filename: f2.ts export class B { - n: number; + n!: number; } // @filename: f3.ts @@ -36,5 +36,5 @@ declare module "./f1" { import {A} from "./f1"; import "./f3"; -let a: A; +declare let a: A; let b = a.foo().n; \ No newline at end of file diff --git a/tests/cases/compiler/moduleAugmentationImportsAndExports3.ts b/tests/cases/compiler/moduleAugmentationImportsAndExports3.ts index ea1d5e435da04..1b68bc37ca382 100644 --- a/tests/cases/compiler/moduleAugmentationImportsAndExports3.ts +++ b/tests/cases/compiler/moduleAugmentationImportsAndExports3.ts @@ -6,7 +6,7 @@ export class A {} // @filename: f2.ts export class B { - n: number; + n!: number; } // @filename: f3.ts @@ -34,5 +34,5 @@ declare module "./f1" { import {A} from "./f1"; import "./f3"; -let a: A; +declare let a: A; let b = a.foo().n; \ No newline at end of file diff --git a/tests/cases/compiler/multiLineErrors.ts b/tests/cases/compiler/multiLineErrors.ts index c96f66150e3ca..2c2201cb8d2a4 100644 --- a/tests/cases/compiler/multiLineErrors.ts +++ b/tests/cases/compiler/multiLineErrors.ts @@ -16,6 +16,6 @@ interface A2 { x: { y: string; }; } -var t1: A1; -var t2: A2; +declare var t1: A1; +declare var t2: A2; t1 = t2; diff --git a/tests/cases/compiler/multipleExportAssignments.ts b/tests/cases/compiler/multipleExportAssignments.ts index 076ca2e019cd5..80ab81445ba1d 100644 --- a/tests/cases/compiler/multipleExportAssignments.ts +++ b/tests/cases/compiler/multipleExportAssignments.ts @@ -6,7 +6,7 @@ interface connectExport { use: (mod: connectModule) => connectExport; listen: (port: number) => void; } -var server: { +declare const server: { (): connectExport; test1: connectModule; test2(): connectModule; diff --git a/tests/cases/compiler/namedImportNonExistentName.ts b/tests/cases/compiler/namedImportNonExistentName.ts index 3fd3c3011cc96..234dce20f64e7 100644 --- a/tests/cases/compiler/namedImportNonExistentName.ts +++ b/tests/cases/compiler/namedImportNonExistentName.ts @@ -7,7 +7,7 @@ declare namespace Foo { } // @filename: foo2.ts -let x: { a: string; c: string; } | { b: number; c: number; }; +declare let x: { a: string; c: string; } | { b: number; c: number; }; export = x // @filename: bar.ts diff --git a/tests/cases/compiler/noCrashOnNoLib.ts b/tests/cases/compiler/noCrashOnNoLib.ts index c4cb3f193594e..f8e33513475b2 100644 --- a/tests/cases/compiler/noCrashOnNoLib.ts +++ b/tests/cases/compiler/noCrashOnNoLib.ts @@ -1,7 +1,7 @@ // @noLib: true export function f() { - let e: {}[]; + let e: {}[] = []; while (true) { e = [...(e || [])]; } diff --git a/tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts b/tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts index f550bd7bb4d0f..6ab88daf6eec2 100644 --- a/tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts +++ b/tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts @@ -74,12 +74,12 @@ declare const sym : unique symbol; o[sym]; enum NumEnum { a, b } -let numEnumKey: NumEnum; +declare let numEnumKey: NumEnum; o[numEnumKey]; enum StrEnum { a = "a", b = "b" } -let strEnumKey: StrEnum; +declare let strEnumKey: StrEnum; o[strEnumKey]; diff --git a/tests/cases/compiler/numberVsBigIntOperations.ts b/tests/cases/compiler/numberVsBigIntOperations.ts index f53b3a142f914..8d95dca4cf098 100644 --- a/tests/cases/compiler/numberVsBigIntOperations.ts +++ b/tests/cases/compiler/numberVsBigIntOperations.ts @@ -58,7 +58,7 @@ result = bigInt !== num; num = "3" & 5; num = 2 ** false; // should error, but infer number "3" & 5n; 2n ** false; // should error, result in any num = ~"3"; num = -false; // should infer number -let bigIntOrNumber: bigint | number; +declare let bigIntOrNumber: bigint | number; bigIntOrNumber + bigIntOrNumber; // should error, result in any bigIntOrNumber << bigIntOrNumber; // should error, result in any if (typeof bigIntOrNumber === "bigint") { @@ -85,14 +85,14 @@ anyValue--; // should infer number // Distinguishing numbers from bigints with typeof const isBigInt: (x: 0n | 1n) => bigint = (x: 0n | 1n) => x; const isNumber: (x: 0 | 1) => number = (x: 0 | 1) => x; -const zeroOrBigOne: 0 | 1n; +declare const zeroOrBigOne: 0 | 1n; if (typeof zeroOrBigOne === "bigint") isBigInt(zeroOrBigOne); else isNumber(zeroOrBigOne); // Distinguishing truthy from falsy const isOne = (x: 1 | 1n) => x; if (zeroOrBigOne) isOne(zeroOrBigOne); -const bigZeroOrOne: 0n | 1; +declare const bigZeroOrOne: 0n | 1; if (bigZeroOrOne) isOne(bigZeroOrOne); type NumberOrBigint = number | bigint; diff --git a/tests/cases/compiler/numericIndexExpressions.ts b/tests/cases/compiler/numericIndexExpressions.ts index 287429c390c81..e93c8c5d89323 100644 --- a/tests/cases/compiler/numericIndexExpressions.ts +++ b/tests/cases/compiler/numericIndexExpressions.ts @@ -6,10 +6,10 @@ interface Strings1 { } -var x: Numbers1; +declare var x: Numbers1; x[1] = 4; // error x['1'] = 4; // error -var y: Strings1; +declare var y: Strings1; y['1'] = 4; // should be error y[1] = 4; // should be error \ No newline at end of file diff --git a/tests/cases/compiler/numericIndexerConstraint1.ts b/tests/cases/compiler/numericIndexerConstraint1.ts index 9e268ec75d196..382fe465cccfa 100644 --- a/tests/cases/compiler/numericIndexerConstraint1.ts +++ b/tests/cases/compiler/numericIndexerConstraint1.ts @@ -1,3 +1,3 @@ class Foo { foo() { } } -var x: { [index: string]: number; }; +declare var x: { [index: string]: number; }; var result: Foo = x["one"]; // error diff --git a/tests/cases/compiler/numericIndexerConstraint2.ts b/tests/cases/compiler/numericIndexerConstraint2.ts index 0ee9a210ea7a7..1b47aa889529c 100644 --- a/tests/cases/compiler/numericIndexerConstraint2.ts +++ b/tests/cases/compiler/numericIndexerConstraint2.ts @@ -1,4 +1,4 @@ class Foo { foo() { } } -var x: { [index: string]: Foo; }; -var a: { one: number; }; +declare var x: { [index: string]: Foo; }; +var a: { one: number; } = { one: 1 }; x = a; \ No newline at end of file diff --git a/tests/cases/compiler/numericIndexerTyping1.ts b/tests/cases/compiler/numericIndexerTyping1.ts index bedf3d4806f61..6394d4e97a9cc 100644 --- a/tests/cases/compiler/numericIndexerTyping1.ts +++ b/tests/cases/compiler/numericIndexerTyping1.ts @@ -5,8 +5,8 @@ interface I { interface I2 extends I { } -var i: I; +declare var i: I; var r: string = i[1]; // error: numeric indexer returns the type of the string indexer -var i2: I2; +declare var i2: I2; var r2: string = i2[1]; // error: numeric indexer returns the type of the string indexer \ No newline at end of file diff --git a/tests/cases/compiler/numericIndexerTyping2.ts b/tests/cases/compiler/numericIndexerTyping2.ts index f0b477f537b37..bf172194d6174 100644 --- a/tests/cases/compiler/numericIndexerTyping2.ts +++ b/tests/cases/compiler/numericIndexerTyping2.ts @@ -5,8 +5,8 @@ class I { class I2 extends I { } -var i: I; +declare var i: I; var r: string = i[1]; // error: numeric indexer returns the type of the string indexer -var i2: I2; +declare var i2: I2; var r2: string = i2[1]; // error: numeric indexer returns the type of the string indexere \ No newline at end of file diff --git a/tests/cases/compiler/objectLiteralIndexerErrors.ts b/tests/cases/compiler/objectLiteralIndexerErrors.ts index 7adf65c0f92f1..042f88905ba84 100644 --- a/tests/cases/compiler/objectLiteralIndexerErrors.ts +++ b/tests/cases/compiler/objectLiteralIndexerErrors.ts @@ -6,8 +6,8 @@ interface B extends A { y: string; } -var a: A; -var b: B; +declare var a: A; +declare var b: B; var c: any; var o1: { [s: string]: A;[n: number]: B; } = { x: b, 0: a }; // both indexers are A diff --git a/tests/cases/compiler/optionalParamAssignmentCompat.ts b/tests/cases/compiler/optionalParamAssignmentCompat.ts index 60c618eba7471..4bb3cffb55201 100644 --- a/tests/cases/compiler/optionalParamAssignmentCompat.ts +++ b/tests/cases/compiler/optionalParamAssignmentCompat.ts @@ -5,6 +5,6 @@ interface I2 { p1: I1; m1(p1?: string): I1; } -var i2: I2; +declare var i2: I2; var c: I1 = i2.p1; // should be ok var d: I1 = i2.m1; // should error diff --git a/tests/cases/compiler/optionalParamTypeComparison.ts b/tests/cases/compiler/optionalParamTypeComparison.ts index 1b53f57b1f1e7..fcebf901e2c9d 100644 --- a/tests/cases/compiler/optionalParamTypeComparison.ts +++ b/tests/cases/compiler/optionalParamTypeComparison.ts @@ -1,5 +1,5 @@ -var f: (s: string, n?: number) => void; -var g: (s: string, b?: boolean) => void; +declare var f: (s: string, n?: number) => void; +declare var g: (s: string, b?: boolean) => void; f = g; g = f; \ No newline at end of file diff --git a/tests/cases/compiler/optionalPropertiesTest.ts b/tests/cases/compiler/optionalPropertiesTest.ts index 0f485609a64e8..e0130f4365296 100644 --- a/tests/cases/compiler/optionalPropertiesTest.ts +++ b/tests/cases/compiler/optionalPropertiesTest.ts @@ -33,8 +33,8 @@ test7 = {}; var test8: i4 = { M: 5 } test8 = {}; var test9_1: i2; -var test9_2: i1; +declare var test9_2: i1; test9_1 = test9_2; var test10_1: i1; -var test10_2: i2; +declare var test10_2: i2; test10_1 = test10_2; \ No newline at end of file diff --git a/tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts b/tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts index d80a56bb47baa..bfb102ca1c146 100644 --- a/tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts +++ b/tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts @@ -13,12 +13,12 @@ interface C { (x: { s: string }): string } -var v: A; -var v: B; +declare var v: A; +declare var v: B; v({ s: "", n: 0 }).toLowerCase(); -var w: A; -var w: C; +declare var w: A; +declare var w: C; w({ s: "", n: 0 }).toLowerCase(); \ No newline at end of file diff --git a/tests/cases/compiler/overloadErrorMatchesImplementationElaboaration.ts b/tests/cases/compiler/overloadErrorMatchesImplementationElaboaration.ts index 39bec86bf04d9..1f73cf9c60cc0 100644 --- a/tests/cases/compiler/overloadErrorMatchesImplementationElaboaration.ts +++ b/tests/cases/compiler/overloadErrorMatchesImplementationElaboaration.ts @@ -4,5 +4,5 @@ class EventAggregator publish(event: T): void {} } -var ea: EventAggregator; +declare var ea: EventAggregator; ea.publish([1,2,3]); \ No newline at end of file diff --git a/tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts b/tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts index 54710254823fc..3855aa942cb28 100644 --- a/tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts +++ b/tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts @@ -13,7 +13,7 @@ class C { } } -var c: C; +declare var c: C; c.x1(1, (x: 'hi') => { return 1; } ); c.x1(1, (x: 'bye') => { return 1; } ); c.x1(1, (x) => { return 1; } ); diff --git a/tests/cases/compiler/overloadOnConstNoStringImplementation2.ts b/tests/cases/compiler/overloadOnConstNoStringImplementation2.ts index a9caec335e35b..6028a896abb4a 100644 --- a/tests/cases/compiler/overloadOnConstNoStringImplementation2.ts +++ b/tests/cases/compiler/overloadOnConstNoStringImplementation2.ts @@ -13,7 +13,7 @@ class C implements I { } } -var c: C; +declare var c: C; c.x1(1, (x: 'hi') => { return 1; } ); c.x1(1, (x: 'bye') => { return 1; } ); c.x1(1, (x: string) => { return 1; } ); diff --git a/tests/cases/compiler/overloadingOnConstants1.ts b/tests/cases/compiler/overloadingOnConstants1.ts index c7f46c3d02915..1ea3687a95fb1 100644 --- a/tests/cases/compiler/overloadingOnConstants1.ts +++ b/tests/cases/compiler/overloadingOnConstants1.ts @@ -1,7 +1,7 @@ -class Base { foo() { } } -class Derived1 extends Base { bar() { } } -class Derived2 extends Base { baz() { } } -class Derived3 extends Base { biz() { } } +class Base { foo() { } } +class Derived1 extends Base { bar() { } } +class Derived2 extends Base { baz() { } } +class Derived3 extends Base { biz() { } } interface Document2 { createElement(tagName: 'canvas'): Derived1; @@ -10,7 +10,7 @@ interface Document2 { createElement(tagName: string): Base; } -var d2: Document2; +declare var d2: Document2; // these are ok var htmlElement: Base = d2.createElement("yo") diff --git a/tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts b/tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts index a139eb8557234..e0bb5846567a6 100644 --- a/tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts +++ b/tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts @@ -16,6 +16,6 @@ var result: number = foo(x => new G(x)); // x has type D, new G(x) fails, so fir var result2: number = foo(x => new G(x)); // x has type D, new G(x) fails, so first overload is picked. var result3: string = foo(x => { // x has type D - var y: G; // error that D does not satisfy constraint, y is of type G, entire call to foo is an error + var y: G = new G(x); // error that D does not satisfy constraint, y is of type G, entire call to foo is an error return y; }); diff --git a/tests/cases/compiler/overloadsWithProvisionalErrors.ts b/tests/cases/compiler/overloadsWithProvisionalErrors.ts index 7fbfaa68cfa0d..173b853ae6d3f 100644 --- a/tests/cases/compiler/overloadsWithProvisionalErrors.ts +++ b/tests/cases/compiler/overloadsWithProvisionalErrors.ts @@ -1,4 +1,4 @@ -var func: { +declare var func: { (s: string): number; (lambda: (s: string) => { a: number; b: number }): string; }; diff --git a/tests/cases/compiler/primitiveMembers.ts b/tests/cases/compiler/primitiveMembers.ts index 9ac0321035f68..d68a96d87a450 100644 --- a/tests/cases/compiler/primitiveMembers.ts +++ b/tests/cases/compiler/primitiveMembers.ts @@ -6,7 +6,7 @@ x.toBAZ(); x.toString(); var n = 0; -var N: Number; +declare var N: Number; n = N; // should not work, as 'number' has a different brand N = n; // should work diff --git a/tests/cases/compiler/promisePermutations.ts b/tests/cases/compiler/promisePermutations.ts index 0ce62be8181a0..80b3065555941 100644 --- a/tests/cases/compiler/promisePermutations.ts +++ b/tests/cases/compiler/promisePermutations.ts @@ -45,75 +45,75 @@ declare function testFunction12(x: T, y: T): IPromise; declare function testFunction12P(x: T): IPromise; declare function testFunction12P(x: T, y: T): Promise; -var r1: IPromise; +declare var r1: IPromise; var r1a = r1.then(testFunction, testFunction, testFunction); var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); -var s1: Promise; +declare var s1: Promise; var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); -var r2: IPromise<{ x: number; }>; +declare var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var s2: Promise<{ x: number; }>; +declare var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var r3: IPromise; +declare var r3: IPromise; var r3a = r3.then(testFunction3, testFunction3, testFunction3); var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); -var s3: Promise; +declare var s3: Promise; var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // error -var r4: IPromise; -var sIPromise: (x: any) => IPromise; -var sPromise: (x: any) => Promise; +declare var r4: IPromise; +declare var sIPromise: (x: any) => IPromise; +declare var sPromise: (x: any) => Promise; var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok -var s4: Promise; +declare var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); -var r5: IPromise; +declare var r5: IPromise; var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s5: Promise; +declare var s5: Promise; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r6: IPromise; +declare var r6: IPromise; var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s6: Promise; +declare var s6: Promise; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r7: IPromise; +declare var r7: IPromise; var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s7: Promise; +declare var s7: Promise; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? -var r8: IPromise; -var nIPromise: (x: any) => IPromise; -var nPromise: (x: any) => Promise; +declare var r8: IPromise; +declare var nIPromise: (x: any) => IPromise; +declare var nPromise: (x: any) => Promise; var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok var s8: Promise; @@ -122,13 +122,13 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok -var r9: IPromise; +declare var r9: IPromise; var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok var r9d = r9.then(testFunction, sIPromise, nIPromise); // ok var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s9: Promise; +declare var s9: Promise; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error @@ -152,9 +152,9 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok -var r11: IPromise; +declare var r11: IPromise; var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error -var s11: Promise; +declare var s11: Promise; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error diff --git a/tests/cases/compiler/promisePermutations2.ts b/tests/cases/compiler/promisePermutations2.ts index 05a60860929fb..406b77757a72c 100644 --- a/tests/cases/compiler/promisePermutations2.ts +++ b/tests/cases/compiler/promisePermutations2.ts @@ -44,75 +44,75 @@ declare function testFunction12(x: T, y: T): IPromise; declare function testFunction12P(x: T): IPromise; declare function testFunction12P(x: T, y: T): Promise; -var r1: IPromise; +declare var r1: IPromise; var r1a = r1.then(testFunction, testFunction, testFunction); var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); -var s1: Promise; +declare var s1: Promise; var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); -var r2: IPromise<{ x: number; }>; +declare var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var s2: Promise<{ x: number; }>; +declare var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var r3: IPromise; +declare var r3: IPromise; var r3a = r3.then(testFunction3, testFunction3, testFunction3); var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); -var s3: Promise; +declare var s3: Promise; var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // Should error -var r4: IPromise; -var sIPromise: (x: any) => IPromise; -var sPromise: (x: any) => Promise; +declare var r4: IPromise; +declare var sIPromise: (x: any) => IPromise; +declare var sPromise: (x: any) => Promise; var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok -var s4: Promise; +declare var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); -var r5: IPromise; +declare var r5: IPromise; var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s5: Promise; +declare var s5: Promise; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r6: IPromise; +declare var r6: IPromise; var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s6: Promise; +declare var s6: Promise; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r7: IPromise; +declare var r7: IPromise; var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s7: Promise; +declare var s7: Promise; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? -var r8: IPromise; -var nIPromise: (x: any) => IPromise; -var nPromise: (x: any) => Promise; +declare var r8: IPromise; +declare var nIPromise: (x: any) => IPromise; +declare var nPromise: (x: any) => Promise; var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok var s8: Promise; @@ -121,13 +121,13 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok -var r9: IPromise; +declare var r9: IPromise; var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok var r9d = r9.then(testFunction, sIPromise, nIPromise); // error var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s9: Promise; +declare var s9: Promise; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error @@ -151,9 +151,9 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok -var r11: IPromise; +declare var r11: IPromise; var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error -var s11: Promise; +declare var s11: Promise; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // ok var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // ok diff --git a/tests/cases/compiler/promisePermutations3.ts b/tests/cases/compiler/promisePermutations3.ts index 3aab00b0ed030..bde9bb49b1be2 100644 --- a/tests/cases/compiler/promisePermutations3.ts +++ b/tests/cases/compiler/promisePermutations3.ts @@ -44,75 +44,75 @@ declare function testFunction12(x: T, y: T): IPromise; declare function testFunction12P(x: T): IPromise; declare function testFunction12P(x: T, y: T): Promise; -var r1: IPromise; +declare var r1: IPromise; var r1a = r1.then(testFunction, testFunction, testFunction); var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); -var s1: Promise; +declare var s1: Promise; var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); -var r2: IPromise<{ x: number; }>; +declare var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var s2: Promise<{ x: number; }>; +declare var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); -var r3: IPromise; +declare var r3: IPromise; var r3a = r3.then(testFunction3, testFunction3, testFunction3); var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); -var s3: Promise; +declare var s3: Promise; var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); -var r4: IPromise; -var sIPromise: (x: any) => IPromise; -var sPromise: (x: any) => Promise; +declare var r4: IPromise; +declare var sIPromise: (x: any) => IPromise; +declare var sPromise: (x: any) => Promise; var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok -var s4: Promise; +declare var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); -var r5: IPromise; +declare var r5: IPromise; var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s5: Promise; +declare var s5: Promise; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r6: IPromise; +declare var r6: IPromise; var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s6: Promise; +declare var s6: Promise; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok -var r7: IPromise; +declare var r7: IPromise; var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s7: Promise; +declare var s7: Promise; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? -var r8: IPromise; -var nIPromise: (x: any) => IPromise; -var nPromise: (x: any) => Promise; +declare var r8: IPromise; +declare var nIPromise: (x: any) => IPromise; +declare var nPromise: (x: any) => Promise; var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok var s8: Promise; @@ -121,13 +121,13 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok -var r9: IPromise; +declare var r9: IPromise; var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok var r9d = r9.then(testFunction, sIPromise, nIPromise); // error var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok -var s9: Promise; +declare var s9: Promise; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error @@ -151,9 +151,9 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok -var r11: IPromise; +declare var r11: IPromise; var r11a = r11.then(testFunction11, testFunction11, testFunction11); // ok -var s11: Promise; +declare var s11: Promise; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error diff --git a/tests/cases/compiler/promisesWithConstraints.ts b/tests/cases/compiler/promisesWithConstraints.ts index d8ce613480fb5..6d8f2feebb546 100644 --- a/tests/cases/compiler/promisesWithConstraints.ts +++ b/tests/cases/compiler/promisesWithConstraints.ts @@ -6,15 +6,15 @@ interface CPromise { then(cb: (x: T) => Promise): Promise; } -interface Foo { x; } -interface Bar { x; y; } +interface Foo { x: any; } +interface Bar { x: any; y: any; } var a: Promise; -var b: Promise; +declare var b: Promise; a = b; // ok b = a; // ok var a2: CPromise; -var b2: CPromise; +declare var b2: CPromise; a2 = b2; // ok b2 = a2; // was error diff --git a/tests/cases/compiler/propertyAccess1.ts b/tests/cases/compiler/propertyAccess1.ts index 705e4eadeaed4..25acd55e92b0b 100644 --- a/tests/cases/compiler/propertyAccess1.ts +++ b/tests/cases/compiler/propertyAccess1.ts @@ -1,3 +1,3 @@ -var foo: { a: number; }; +declare var foo: { a: number; }; foo.a = 4; foo.b = 5; \ No newline at end of file diff --git a/tests/cases/compiler/propertyAccess2.ts b/tests/cases/compiler/propertyAccess2.ts index 53a5e92058a63..a3f679598afe0 100644 --- a/tests/cases/compiler/propertyAccess2.ts +++ b/tests/cases/compiler/propertyAccess2.ts @@ -1,2 +1,2 @@ -var foo: number; +declare var foo: number; foo.toBAZ(); \ No newline at end of file diff --git a/tests/cases/compiler/propertyAccess3.ts b/tests/cases/compiler/propertyAccess3.ts index 5223ca5d24dd3..0950fb8d79cea 100644 --- a/tests/cases/compiler/propertyAccess3.ts +++ b/tests/cases/compiler/propertyAccess3.ts @@ -1,2 +1,2 @@ -var foo: boolean; +declare var foo: boolean; foo.toBAZ(); \ No newline at end of file diff --git a/tests/cases/compiler/propertyAssignment.ts b/tests/cases/compiler/propertyAssignment.ts index 0c8351fb05d2f..ff1c9083c9166 100644 --- a/tests/cases/compiler/propertyAssignment.ts +++ b/tests/cases/compiler/propertyAssignment.ts @@ -1,13 +1,13 @@ -var foo1: { new ():any; } -var bar1: { x : number; } +declare var foo1: { new ():any; } +declare var bar1: { x : number; } -var foo2: { [index]; } // should be an error, used to be indexer, now it is a computed property -var bar2: { x : number; } +declare var foo2: { [index]; } // should be an error, used to be indexer, now it is a computed property +declare var bar2: { x : number; } -var foo3: { ():void; } -var bar3: { x : number; } +declare var foo3: { ():void; } +declare var bar3: { x : number; } diff --git a/tests/cases/compiler/propertyParameterWithQuestionMark.ts b/tests/cases/compiler/propertyParameterWithQuestionMark.ts index ce2d88669c3ed..ed388e0156e9c 100644 --- a/tests/cases/compiler/propertyParameterWithQuestionMark.ts +++ b/tests/cases/compiler/propertyParameterWithQuestionMark.ts @@ -4,6 +4,6 @@ class C { // x should be an optional property var v: C = {}; // Should succeed -var v2: { x? } +declare var v2: { x? } v = v2; // Should succeed var v3: { x } = new C; // Should fail \ No newline at end of file diff --git a/tests/cases/compiler/propertySignatures.ts b/tests/cases/compiler/propertySignatures.ts index b4c73bb304713..dffe0b8833156 100644 --- a/tests/cases/compiler/propertySignatures.ts +++ b/tests/cases/compiler/propertySignatures.ts @@ -1,19 +1,19 @@ // Should be error - duplicate identifiers -var foo1: { a:string; a: string; }; +declare var foo1: { a:string; a: string; }; // Should be OK -var foo2: { a; }; +declare var foo2: { a; }; foo2.a = 2; foo2.a = "0"; // Should be error -var foo3: { (): string; (): string; }; +declare var foo3: { (): string; (): string; }; // Should be OK -var foo4: { (): void; }; +declare var foo4: { (): void; }; var test = foo(); // Should be OK -var foo5: {();}; +declare var foo5: {();}; var test = foo5(); test.bar = 2; diff --git a/tests/cases/compiler/protectedMembers.ts b/tests/cases/compiler/protectedMembers.ts index b7528f26068fb..bf3e32a653498 100644 --- a/tests/cases/compiler/protectedMembers.ts +++ b/tests/cases/compiler/protectedMembers.ts @@ -1,6 +1,6 @@ // Class with protected members class C1 { - protected x: number; + protected x!: number; protected static sx: number; protected f() { return this.x; @@ -22,8 +22,8 @@ class C2 extends C1 { // Derived class making protected members public class C3 extends C2 { - x: number; - static sx: number; + x!: number; + static sx: number f() { return super.f(); } @@ -32,9 +32,9 @@ class C3 extends C2 { } } -var c1: C1; -var c2: C2; -var c3: C3; +declare var c1: C1; +declare var c2: C2; +declare var c3: C3; // All of these should be errors c1.x; @@ -92,8 +92,8 @@ class A1 { class B1 { x; } -var a1: A1; -var b1: B1; +declare var a1: A1; +declare var b1: B1; a1 = b1; // Error, B1 doesn't derive from A1 b1 = a1; // Error, x is protected in A1 but public in B1 diff --git a/tests/cases/compiler/qualify.ts b/tests/cases/compiler/qualify.ts index 0e2db204238dd..e874f0057d2e0 100644 --- a/tests/cases/compiler/qualify.ts +++ b/tests/cases/compiler/qualify.ts @@ -41,7 +41,7 @@ namespace Everest { export interface I4 { z; } - var v1:I4; + var v1:I4 = undefined as any; var v2:K1.I3=v1; var v3:K1.I3[]=v1; var v4:()=>K1.I3=v1; @@ -54,6 +54,6 @@ interface I { k; } -var y:I; +var y:I = undefined as any; var x:T.I=y; diff --git a/tests/cases/compiler/readonlyMembers.ts b/tests/cases/compiler/readonlyMembers.ts index b625da3b12d09..2dc690cdeee28 100644 --- a/tests/cases/compiler/readonlyMembers.ts +++ b/tests/cases/compiler/readonlyMembers.ts @@ -63,10 +63,10 @@ N.a = 1; // Error N.b = 1; N.c = 1; -let xx: { readonly [x: string]: string }; +declare let xx: { readonly [x: string]: string }; let s = xx["foo"]; xx["foo"] = "abc"; // Error -let yy: { readonly [x: number]: string, [x: string]: string }; +declare let yy: { readonly [x: number]: string, [x: string]: string }; yy[1] = "abc"; // Error yy["foo"] = "abc"; \ No newline at end of file diff --git a/tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts b/tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts index 5cfdbad015f3e..8d206eb5ba1df 100644 --- a/tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts +++ b/tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts @@ -1,4 +1,5 @@ // @declaration: true +// @strict: false namespace rionegrensis { export class caniventer extends Lanthanum.nitidus { salomonseni() : caniventer { var x : caniventer; () => { var y = this; }; return x; } diff --git a/tests/cases/compiler/restInvalidArgumentType.ts b/tests/cases/compiler/restInvalidArgumentType.ts index db372fbd4af53..0e69aa9f90dd2 100644 --- a/tests/cases/compiler/restInvalidArgumentType.ts +++ b/tests/cases/compiler/restInvalidArgumentType.ts @@ -1,28 +1,28 @@ enum E { v1, v2 }; function f(p1: T, p2: T[]) { - var t: T; - - var i: T["b"]; - var k: keyof T; - - var mapped_generic: {[P in keyof T]: T[P]}; - var mapped: {[P in "b"]: T[P]}; - - var union_generic: T | { a: number }; - var union_primitive: { a: number } | number; - var intersection_generic: T & { a: number }; - var intersection_primitive: { a: number } & string; - var num: number; - var str: string; - var literal_string: "string"; - var literal_number: 42; + var t!: T; + + var i!: T["b"]; + var k!: keyof T; + + var mapped_generic!: {[P in keyof T]: T[P]}; + var mapped!: {[P in "b"]: T[P]}; + + var union_generic!: T | { a: number }; + var union_primitive!: { a: number } | number; + var intersection_generic!: T & { a: number }; + var intersection_primitive!: { a: number } & string; + var num!: number; + var str!: string; + var literal_string: "string" = "string"; + var literal_number: 42 = 42; var e: E; - var u: undefined; - var n: null; + var u: undefined = undefined; + var n: null = null; - var a: any; + var a: any = 0; var {...r1} = p1; // Error, generic type paramterre var {...r2} = p2; // OK diff --git a/tests/cases/compiler/spreadInvalidArgumentType.ts b/tests/cases/compiler/spreadInvalidArgumentType.ts index 82e59fbac5921..a368e66211a14 100644 --- a/tests/cases/compiler/spreadInvalidArgumentType.ts +++ b/tests/cases/compiler/spreadInvalidArgumentType.ts @@ -1,31 +1,30 @@ enum E { v1, v2 }; function f(p1: T, p2: T[]) { - var t: T; + var t!: T; - var i: T["b"]; - var k: keyof T; + var i!: T["b"]; + var k!: keyof T; - var mapped_generic: {[P in keyof T]: T[P]}; - var mapped: {[P in "b"]: T[P]}; + var mapped_generic!: {[P in keyof T]: T[P]}; + var mapped!: {[P in "b"]: T[P]}; - var union_generic: T | { a: number }; - var union_primitive: { a: number } | number; + var union_generic!: T | { a: number }; + var union_primitive!: { a: number } | number; + var intersection_generic!: T & { a: number }; + var intersection_primitive!: { a: number } | string; - var intersection_generic: T & { a: number }; - var intersection_primitive: { a: number } | string; + var num!: number; + var str!: number; + var literal_string: "string" = "string"; + var literal_number: 42 = 42; - var num: number; - var str: number; - var literal_string: "string"; - var literal_number: 42; + var u: undefined = undefined; + var n: null = null; + var a: any = 0; - var u: undefined; - var n: null; - var a: any; - - var e: E; + var e!: E; var o1 = { ...p1 }; // OK, generic type paramterre var o2 = { ...p2 }; // OK diff --git a/tests/cases/compiler/staticMemberExportAccess.ts b/tests/cases/compiler/staticMemberExportAccess.ts index e508d10b7fe3f..dbb131c246a5f 100644 --- a/tests/cases/compiler/staticMemberExportAccess.ts +++ b/tests/cases/compiler/staticMemberExportAccess.ts @@ -10,7 +10,7 @@ namespace Sammy { interface JQueryStatic { sammy: Sammy; // class instance } -var $: JQueryStatic; +declare var $: JQueryStatic; var instanceOfClassSammy: Sammy = new $.sammy(); // should be error var r1 = instanceOfClassSammy.foo(); // r1 is string var r2 = $.sammy.foo(); diff --git a/tests/cases/compiler/stringIndexerAssignments1.ts b/tests/cases/compiler/stringIndexerAssignments1.ts index a13f46d273277..473e9a90f1ecf 100644 --- a/tests/cases/compiler/stringIndexerAssignments1.ts +++ b/tests/cases/compiler/stringIndexerAssignments1.ts @@ -1,5 +1,5 @@ var x: { [index: string]: string; one: string; }; -var a: { one: string; }; -var b: { one: number; two: string; }; +declare var a: { one: string; }; +declare var b: { one: number; two: string; }; x = a; x = b; // error diff --git a/tests/cases/compiler/stringIndexerAssignments2.ts b/tests/cases/compiler/stringIndexerAssignments2.ts index 0792851ff34e7..c325f43a5038d 100644 --- a/tests/cases/compiler/stringIndexerAssignments2.ts +++ b/tests/cases/compiler/stringIndexerAssignments2.ts @@ -1,20 +1,20 @@ class C1 { [index: string]: string - one: string; + one!: string; } class C2 { - one: string; + one!: string; } class C3 { - one: number; - two: string; + one!: number; + two!: string; } -var x: C1; -var a: C2; -var b: C3; +declare var x: C1; +declare var a: C2; +declare var b: C3; x = a; x = b; \ No newline at end of file diff --git a/tests/cases/compiler/thisBinding2.ts b/tests/cases/compiler/thisBinding2.ts index b478ce9338f4c..1abf7aac0800e 100644 --- a/tests/cases/compiler/thisBinding2.ts +++ b/tests/cases/compiler/thisBinding2.ts @@ -2,7 +2,7 @@ // @noImplicitThis: true class C { - x: number; + x!: number; constructor() { this.x = (() => { var x = 1; diff --git a/tests/cases/compiler/typeAliasDeclareKeywordNewlines.ts b/tests/cases/compiler/typeAliasDeclareKeywordNewlines.ts index f8fd5867dd985..ae8a31baa086c 100644 --- a/tests/cases/compiler/typeAliasDeclareKeywordNewlines.ts +++ b/tests/cases/compiler/typeAliasDeclareKeywordNewlines.ts @@ -1,11 +1,12 @@ -var declare: string, type: number; +declare var declare: string; +declare var type: number; // The following is invalid but should declare a type alias named 'T1': declare type /*unexpected newline*/ T1 = null; const t1: T1 = null; // Assert that T1 is the null type. -let T: null; +let T: null = null; // The following should use a variable named 'declare', use a variable named // 'type', and assign to a variable named 'T'. declare /*ASI*/ diff --git a/tests/cases/compiler/typeArgumentInferenceWithConstraintAsCommonRoot.ts b/tests/cases/compiler/typeArgumentInferenceWithConstraintAsCommonRoot.ts index 29b63dbbadc07..cc215adbced8c 100644 --- a/tests/cases/compiler/typeArgumentInferenceWithConstraintAsCommonRoot.ts +++ b/tests/cases/compiler/typeArgumentInferenceWithConstraintAsCommonRoot.ts @@ -2,6 +2,6 @@ interface Animal { x } interface Giraffe extends Animal { y } interface Elephant extends Animal { z } function f(x: T, y: T): T { return undefined; } -var g: Giraffe; -var e: Elephant; +declare var g: Giraffe; +declare var e: Elephant; f(g, e); // valid because both Giraffe and Elephant satisfy the constraint. T is Animal \ No newline at end of file diff --git a/tests/cases/compiler/typeComparisonCaching.ts b/tests/cases/compiler/typeComparisonCaching.ts index b47d35c60b681..f1b268243af6b 100644 --- a/tests/cases/compiler/typeComparisonCaching.ts +++ b/tests/cases/compiler/typeComparisonCaching.ts @@ -19,9 +19,9 @@ interface D { } var a: A; -var b: B; +declare var b: B; var c: C; -var d: D; +declare var d: D; a = b; c = d; // Should not be allowed diff --git a/tests/cases/compiler/typeGuardConstructorClassAndNumber.ts b/tests/cases/compiler/typeGuardConstructorClassAndNumber.ts index 9a6038a9d0197..99f63b23db6d3 100644 --- a/tests/cases/compiler/typeGuardConstructorClassAndNumber.ts +++ b/tests/cases/compiler/typeGuardConstructorClassAndNumber.ts @@ -1,9 +1,9 @@ // Typical case class C1 { - property1: string; + property1!: string; } -let var1: C1 | number; +declare let var1: C1 | number; if (var1.constructor == C1) { var1; // C1 var1.property1; // string diff --git a/tests/cases/compiler/typeGuardConstructorDerivedClass.ts b/tests/cases/compiler/typeGuardConstructorDerivedClass.ts index 5bca75c7a010b..dc3191fe5bec4 100644 --- a/tests/cases/compiler/typeGuardConstructorDerivedClass.ts +++ b/tests/cases/compiler/typeGuardConstructorDerivedClass.ts @@ -1,13 +1,13 @@ // Derived class with different structures class C1 { - property1: number; + property1!: number; } class C2 extends C1 { - property2: number; + property2!: number; } -let var1: C2 | string; +declare let var1: C2 | string; if (var1.constructor === C1) { var1; // never var1.property1; // error @@ -22,7 +22,7 @@ class C3 {} class C4 extends C3 {} -let var2: C4 | string; +declare let var2: C4 | string; if (var2.constructor === C3) { var2; // never } @@ -32,14 +32,14 @@ if (var2.constructor === C4) { // Disjointly structured classes class C5 { - property1: number; + property1!: number; } class C6 { - property2: number; + property2!: number; } -let let3: C6 | string; +declare let let3: C6 | string; if (let3.constructor === C5) { let3; // never } @@ -56,7 +56,7 @@ class C8 { property1: number; } -let let4: C8 | string; +declare let let4: C8 | string; if (let4.constructor === C7) { let4; // never } diff --git a/tests/cases/compiler/typeMatch1.ts b/tests/cases/compiler/typeMatch1.ts index c4bea3f4b92e0..333d679f2d30a 100644 --- a/tests/cases/compiler/typeMatch1.ts +++ b/tests/cases/compiler/typeMatch1.ts @@ -1,10 +1,10 @@ interface I { z; } interface I2 { z; } -var x1: { z: number; f(n: number): string; f(s: string): number; } +declare var x1: { z: number; f(n: number): string; f(s: string): number; } var x2: { z:number;f:{(n:number):string;(s:string):number;}; } = x1; -var i:I; -var i2:I2; +declare var i:I; +declare var i2:I2; var x3:{ z; }= i; var x4:{ z; }= i2; var x5:I=i2; diff --git a/tests/cases/compiler/typeParameterArgumentEquivalence.ts b/tests/cases/compiler/typeParameterArgumentEquivalence.ts index 8c8e917a536bf..8d3b1757cee9d 100644 --- a/tests/cases/compiler/typeParameterArgumentEquivalence.ts +++ b/tests/cases/compiler/typeParameterArgumentEquivalence.ts @@ -1,6 +1,6 @@ function foo() { - var x: (item: number) => boolean; - var y: (item: T) => boolean; + var x!: (item: number) => boolean; + var y!: (item: T) => boolean; x = y; // Should be an error y = x; // Shound be an error } diff --git a/tests/cases/compiler/typeParameterArgumentEquivalence2.ts b/tests/cases/compiler/typeParameterArgumentEquivalence2.ts index a3038213ef9d2..6804a25ee08fc 100644 --- a/tests/cases/compiler/typeParameterArgumentEquivalence2.ts +++ b/tests/cases/compiler/typeParameterArgumentEquivalence2.ts @@ -1,6 +1,6 @@ function foo() { - var x: (item: U) => boolean; - var y: (item: T) => boolean; + var x!: (item: U) => boolean; + var y!: (item: T) => boolean; x = y; // Should be an error y = x; // Shound be an error } diff --git a/tests/cases/compiler/typeParameterArgumentEquivalence3.ts b/tests/cases/compiler/typeParameterArgumentEquivalence3.ts index 6455dffc00f8c..12d05e38cc95e 100644 --- a/tests/cases/compiler/typeParameterArgumentEquivalence3.ts +++ b/tests/cases/compiler/typeParameterArgumentEquivalence3.ts @@ -1,6 +1,6 @@ function foo() { - var x: (item) => T; - var y: (item) => boolean; + var x!: (item: any) => T; + var y!: (item: any) => boolean; x = y; // Should be an error y = x; // Shound be an error } diff --git a/tests/cases/compiler/typeParameterArgumentEquivalence4.ts b/tests/cases/compiler/typeParameterArgumentEquivalence4.ts index cdf6bf6410a62..2f63d1b8c14fd 100644 --- a/tests/cases/compiler/typeParameterArgumentEquivalence4.ts +++ b/tests/cases/compiler/typeParameterArgumentEquivalence4.ts @@ -1,6 +1,6 @@ function foo() { - var x: (item) => U; - var y: (item) => T; + var x!: (item: any) => U; + var y!: (item: any) => T; x = y; // Should be an error y = x; // Shound be an error } diff --git a/tests/cases/compiler/typeParameterArgumentEquivalence5.ts b/tests/cases/compiler/typeParameterArgumentEquivalence5.ts index 1dc0aaa49ea09..bf967d691eb7e 100644 --- a/tests/cases/compiler/typeParameterArgumentEquivalence5.ts +++ b/tests/cases/compiler/typeParameterArgumentEquivalence5.ts @@ -1,6 +1,6 @@ function foo() { - var x: () => (item) => U; - var y: () => (item) => T; + var x!: () => (item: any) => U; + var y!: () => (item: any) => T; x = y; // Should be an error y = x; // Shound be an error } diff --git a/tests/cases/compiler/typeParameterAssignmentCompat1.ts b/tests/cases/compiler/typeParameterAssignmentCompat1.ts index 2f3a2c2e19c63..084b587b1c079 100644 --- a/tests/cases/compiler/typeParameterAssignmentCompat1.ts +++ b/tests/cases/compiler/typeParameterAssignmentCompat1.ts @@ -3,16 +3,16 @@ interface Foo { } function f(): Foo { - var x: Foo; - var y: Foo; + var x!: Foo; + var y!: Foo; x = y; // should be an error return x; } class C { f(): Foo { - var x: Foo; - var y: Foo; + var x!: Foo; + var y!: Foo; x = y; // should be an error return x; } diff --git a/tests/cases/compiler/typeParameterConstrainedToOuterTypeParameter.ts b/tests/cases/compiler/typeParameterConstrainedToOuterTypeParameter.ts index 25b60a7034c7f..c268c5be54652 100644 --- a/tests/cases/compiler/typeParameterConstrainedToOuterTypeParameter.ts +++ b/tests/cases/compiler/typeParameterConstrainedToOuterTypeParameter.ts @@ -6,5 +6,5 @@ interface B { (x: U) } -var a: A +declare var a: A; var b: B = a; // assignment should be legal (both U's get instantiated to any for comparison) \ No newline at end of file diff --git a/tests/cases/compiler/typeParameterDiamond2.ts b/tests/cases/compiler/typeParameterDiamond2.ts index e099e79626bf6..146c38567e46e 100644 --- a/tests/cases/compiler/typeParameterDiamond2.ts +++ b/tests/cases/compiler/typeParameterDiamond2.ts @@ -1,9 +1,9 @@ function diamondTop() { function diamondMiddle() { function diamondBottom() { - var top: Top; - var middle: T | U; - var bottom: Bottom; + var top!: Top; + var middle!: T | U; + var bottom!: Bottom; top = middle; middle = bottom; diff --git a/tests/cases/compiler/typeParameterDiamond3.ts b/tests/cases/compiler/typeParameterDiamond3.ts index df434d829f2ae..2ae951ecc6c7b 100644 --- a/tests/cases/compiler/typeParameterDiamond3.ts +++ b/tests/cases/compiler/typeParameterDiamond3.ts @@ -1,9 +1,9 @@ function diamondTop() { function diamondMiddle() { function diamondBottom() { - var top: Top; - var middle: T | U; - var bottom: Bottom; + var top!: Top; + var middle!: T | U; + var bottom!: Bottom; top = middle; middle = bottom; diff --git a/tests/cases/compiler/typeParameterDiamond4.ts b/tests/cases/compiler/typeParameterDiamond4.ts index d962122edc852..74635e3e9d881 100644 --- a/tests/cases/compiler/typeParameterDiamond4.ts +++ b/tests/cases/compiler/typeParameterDiamond4.ts @@ -1,9 +1,9 @@ function diamondTop() { function diamondMiddle() { function diamondBottom() { - var top: Top; - var middle: Top | T | U; - var bottom: Bottom; + var top!: Top; + var middle!: Top | T | U; + var bottom!: Bottom; top = middle; middle = bottom; diff --git a/tests/cases/compiler/typeParameterExplicitlyExtendsAny.ts b/tests/cases/compiler/typeParameterExplicitlyExtendsAny.ts index 1ff14373dcb1e..69dc8685793a0 100644 --- a/tests/cases/compiler/typeParameterExplicitlyExtendsAny.ts +++ b/tests/cases/compiler/typeParameterExplicitlyExtendsAny.ts @@ -1,11 +1,11 @@ function fee() { - var t: T; + var t!: T; t.blah; // Error t.toString; // ok } function fee2() { - var t: T; + var t!: T; t.blah; // ok t.toString; // ok } diff --git a/tests/cases/compiler/typeParameterFixingWithContextSensitiveArguments2.ts b/tests/cases/compiler/typeParameterFixingWithContextSensitiveArguments2.ts index f4f001c9f2795..10af9d4817af3 100644 --- a/tests/cases/compiler/typeParameterFixingWithContextSensitiveArguments2.ts +++ b/tests/cases/compiler/typeParameterFixingWithContextSensitiveArguments2.ts @@ -2,6 +2,6 @@ function f(y: T, y1: U, p: (z: U) => T, p1: (x: T) => U): [T, U] { return interface A { a: A; } interface B extends A { b; } -var a: A, b: B; +declare var a: A, b: B; var d = f(a, b, x => x, x => x); // A => A not assignable to A => B \ No newline at end of file diff --git a/tests/cases/compiler/typeParameterFixingWithContextSensitiveArguments3.ts b/tests/cases/compiler/typeParameterFixingWithContextSensitiveArguments3.ts index 1bf4169624db5..417b66d9d3f29 100644 --- a/tests/cases/compiler/typeParameterFixingWithContextSensitiveArguments3.ts +++ b/tests/cases/compiler/typeParameterFixingWithContextSensitiveArguments3.ts @@ -2,6 +2,6 @@ function f(t1: T, u1: U, pf1: (u2: U) => T, pf2: (t2: T) => U): [T, U] { r interface A { a: A; } interface B extends A { b: B; } -var a: A, b: B; +declare var a: A, b: B; var d = f(a, b, u2 => u2.b, t2 => t2); \ No newline at end of file diff --git a/tests/cases/compiler/typeParameterWithInvalidConstraintType.ts b/tests/cases/compiler/typeParameterWithInvalidConstraintType.ts index a97876b0ab34c..2e4fcb77c19ce 100644 --- a/tests/cases/compiler/typeParameterWithInvalidConstraintType.ts +++ b/tests/cases/compiler/typeParameterWithInvalidConstraintType.ts @@ -1,6 +1,6 @@ class A { foo() { - var x: T; + var x!: T; var a = x.foo(); var b = new x(123); var c = x[1]; diff --git a/tests/cases/compiler/typeParametersShouldNotBeEqual.ts b/tests/cases/compiler/typeParametersShouldNotBeEqual.ts index e418e53819f28..ab12a935e988c 100644 --- a/tests/cases/compiler/typeParametersShouldNotBeEqual.ts +++ b/tests/cases/compiler/typeParametersShouldNotBeEqual.ts @@ -1,5 +1,5 @@ function ff(x: T, y: U) { - var z: Object; + var z!: Object; x = x; // Ok x = y; // Error x = z; // Error diff --git a/tests/cases/compiler/typeParametersShouldNotBeEqual2.ts b/tests/cases/compiler/typeParametersShouldNotBeEqual2.ts index 63e9777769e68..2af7e93747574 100644 --- a/tests/cases/compiler/typeParametersShouldNotBeEqual2.ts +++ b/tests/cases/compiler/typeParametersShouldNotBeEqual2.ts @@ -1,5 +1,5 @@ function ff(x: T, y: U, z: V) { - var zz: Object; + var zz!: Object; x = x; // Ok x = y; // Ok x = z; // Error diff --git a/tests/cases/compiler/typeParametersShouldNotBeEqual3.ts b/tests/cases/compiler/typeParametersShouldNotBeEqual3.ts index e920c271d8396..652f6688f8775 100644 --- a/tests/cases/compiler/typeParametersShouldNotBeEqual3.ts +++ b/tests/cases/compiler/typeParametersShouldNotBeEqual3.ts @@ -1,5 +1,5 @@ function ff(x: T, y: U) { - var z: Object; + var z!: Object; x = x; // Ok x = y; // Ok x = z; // Ok diff --git a/tests/cases/compiler/typeofClass.ts b/tests/cases/compiler/typeofClass.ts index f8062cc46e265..5e8705dd9e369 100644 --- a/tests/cases/compiler/typeofClass.ts +++ b/tests/cases/compiler/typeofClass.ts @@ -3,9 +3,9 @@ class K { static bar: string; } -var k1: K; +declare var k1: K; k1.foo; k1.bar; -var k2: typeof K; +declare var k2: typeof K; k2.foo; k2.bar; \ No newline at end of file diff --git a/tests/cases/compiler/typeofSimple.ts b/tests/cases/compiler/typeofSimple.ts index 049ad57bf72c7..9984b384340c0 100644 --- a/tests/cases/compiler/typeofSimple.ts +++ b/tests/cases/compiler/typeofSimple.ts @@ -1,12 +1,12 @@ var v = 3; -var v2: typeof v; +var v2: typeof v = v; var v3: string = v2; // Not assignment compatible interface I { x: T; } interface J { } -var numberJ: typeof J; //Error, cannot reference type in typeof -var numberI: I; +declare var numberJ: typeof J; //Error, cannot reference type in typeof +declare var numberI: I; -var fun: () => I; +declare var fun: () => I; numberI = fun(); \ No newline at end of file diff --git a/tests/cases/compiler/underscoreTest1.ts b/tests/cases/compiler/underscoreTest1.ts index 92e16788e0240..27f74909b97d0 100644 --- a/tests/cases/compiler/underscoreTest1.ts +++ b/tests/cases/compiler/underscoreTest1.ts @@ -773,7 +773,7 @@ var initialize = _.once(createApplication); initialize(); initialize(); -var notes: any[]; +var notes: any[] = []; var render = () => alert("rendering..."); var renderNotes = _.after(notes.length, render); _.each(notes, (note) => note.asyncSave({ success: renderNotes })); diff --git a/tests/cases/compiler/unicodeEscapesInNames02.ts b/tests/cases/compiler/unicodeEscapesInNames02.ts index f8529f5ceef32..ccdedc4d996ea 100644 --- a/tests/cases/compiler/unicodeEscapesInNames02.ts +++ b/tests/cases/compiler/unicodeEscapesInNames02.ts @@ -7,8 +7,8 @@ // @filename: extendedEscapesForAstralsInVarsAndClasses.ts // U+102A7 CARIAN LETTER A2 -var 𐊧: string; -var \u{102A7}: string; +declare var 𐊧: string; +declare var \u{102A7}: string; if (Math.random()) { 𐊧 = "hello"; diff --git a/tests/cases/compiler/unionPropertyExistence.ts b/tests/cases/compiler/unionPropertyExistence.ts index 6593708889897..d11c832aa9a01 100644 --- a/tests/cases/compiler/unionPropertyExistence.ts +++ b/tests/cases/compiler/unionPropertyExistence.ts @@ -18,8 +18,8 @@ interface C { type AB = A | B; type ABC = C | AB; -var ab: AB; -var abc: ABC; +declare var ab: AB; +declare var abc: ABC; declare const x: "foo" | "bar"; declare const bFoo: B | "foo"; diff --git a/tests/cases/compiler/unionTypeWithRecursiveSubtypeReduction2.ts b/tests/cases/compiler/unionTypeWithRecursiveSubtypeReduction2.ts index cddcf4d45664d..292f016302518 100644 --- a/tests/cases/compiler/unionTypeWithRecursiveSubtypeReduction2.ts +++ b/tests/cases/compiler/unionTypeWithRecursiveSubtypeReduction2.ts @@ -14,7 +14,7 @@ class Property { public parent: Module | Class; } -var c: Class; -var p: Property; +declare var c: Class; +declare var p: Property; c = p; p = c; diff --git a/tests/cases/compiler/unionTypeWithRecursiveSubtypeReduction3.ts b/tests/cases/compiler/unionTypeWithRecursiveSubtypeReduction3.ts index 4bac9ca1b9c83..bceb9a5ac795f 100644 --- a/tests/cases/compiler/unionTypeWithRecursiveSubtypeReduction3.ts +++ b/tests/cases/compiler/unionTypeWithRecursiveSubtypeReduction3.ts @@ -1,5 +1,5 @@ -var a27: { prop: number } | { prop: T27 }; +declare var a27: { prop: number } | { prop: T27 }; type T27 = typeof a27; -var b: T27; +declare var b: T27; var s: string = b; diff --git a/tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts b/tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts index 24e1ca648dbb2..6f0e51577fcb1 100644 --- a/tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts +++ b/tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts @@ -4,7 +4,7 @@ var r1 = x(); var y: any = x; var r2 = y(); -var c: Function; +declare var c: Function; var r3 = c(); // should be an error class C implements Function { @@ -14,29 +14,29 @@ class C implements Function { caller = () => { }; } -var c2: C; +declare var c2: C; var r4 = c2(); // should be an error class C2 extends Function { } // error -var c3: C2; +declare var c3: C2; var r5 = c3(); // error interface I { (number): number; } -var z: I; +declare var z: I; var r6 = z(1); // error interface callable2 { (a: T): T; } -var c4: callable2; +declare var c4: callable2; c4(1); interface callable3 { (a: T): T; } -var c5: callable3; +declare var c5: callable3; c5(1); // error diff --git a/tests/cases/compiler/unusedPrivateVariableInClass5.ts b/tests/cases/compiler/unusedPrivateVariableInClass5.ts index 4234f16bdbcd5..757a4d864d1de 100644 --- a/tests/cases/compiler/unusedPrivateVariableInClass5.ts +++ b/tests/cases/compiler/unusedPrivateVariableInClass5.ts @@ -2,9 +2,9 @@ //@noUnusedParameters:true class greeter { - private x: string; - private y: string; - public z: string; + private x!: string; + private y!: string; + public z!: string; constructor() { this.x; diff --git a/tests/cases/compiler/unusedTypeParameterInFunction2.ts b/tests/cases/compiler/unusedTypeParameterInFunction2.ts index 76eeb11bb34fc..17524236c2599 100644 --- a/tests/cases/compiler/unusedTypeParameterInFunction2.ts +++ b/tests/cases/compiler/unusedTypeParameterInFunction2.ts @@ -2,6 +2,6 @@ //@noUnusedParameters:true function f1() { - var a: X; + var a!: X; a; } \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameterInFunction3.ts b/tests/cases/compiler/unusedTypeParameterInFunction3.ts index 37f01468156e3..b21da72cdd49c 100644 --- a/tests/cases/compiler/unusedTypeParameterInFunction3.ts +++ b/tests/cases/compiler/unusedTypeParameterInFunction3.ts @@ -2,8 +2,8 @@ //@noUnusedParameters:true function f1() { - var a: X; - var b: Z; + var a!: X; + var b!: Z; a; b; } \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameterInFunction4.ts b/tests/cases/compiler/unusedTypeParameterInFunction4.ts index 56549d9397646..5c53467df44a1 100644 --- a/tests/cases/compiler/unusedTypeParameterInFunction4.ts +++ b/tests/cases/compiler/unusedTypeParameterInFunction4.ts @@ -2,8 +2,8 @@ //@noUnusedParameters:true function f1() { - var a: Y; - var b: Z; + var a!: Y; + var b!: Z; a; b; } \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameterInLambda2.ts b/tests/cases/compiler/unusedTypeParameterInLambda2.ts index 73177a8b09dab..7a0361ba419b7 100644 --- a/tests/cases/compiler/unusedTypeParameterInLambda2.ts +++ b/tests/cases/compiler/unusedTypeParameterInLambda2.ts @@ -4,7 +4,7 @@ class A { public f1() { return () => { - var a: X; + var a!: X; a; } } diff --git a/tests/cases/compiler/unusedTypeParameterInMethod1.ts b/tests/cases/compiler/unusedTypeParameterInMethod1.ts index f58bde3d2a100..c10d08c7b70f3 100644 --- a/tests/cases/compiler/unusedTypeParameterInMethod1.ts +++ b/tests/cases/compiler/unusedTypeParameterInMethod1.ts @@ -3,8 +3,8 @@ class A { public f1() { - var a: Y; - var b: Z; + var a!: Y; + var b!: Z; a; b; } diff --git a/tests/cases/compiler/unusedTypeParameterInMethod2.ts b/tests/cases/compiler/unusedTypeParameterInMethod2.ts index f344d188b0a5a..f862d15afc6c9 100644 --- a/tests/cases/compiler/unusedTypeParameterInMethod2.ts +++ b/tests/cases/compiler/unusedTypeParameterInMethod2.ts @@ -3,8 +3,8 @@ class A { public f1() { - var a: X; - var b: Z; + var a!: X; + var b!: Z; a; b; } diff --git a/tests/cases/compiler/unusedTypeParameterInMethod3.ts b/tests/cases/compiler/unusedTypeParameterInMethod3.ts index 9734136bd0359..8f3af22fc1497 100644 --- a/tests/cases/compiler/unusedTypeParameterInMethod3.ts +++ b/tests/cases/compiler/unusedTypeParameterInMethod3.ts @@ -3,8 +3,8 @@ class A { public f1() { - var a: X; - var b: Y; + var a!: X; + var b!: Y; a; b; } diff --git a/tests/cases/compiler/weakType.ts b/tests/cases/compiler/weakType.ts index d9415fdef45e6..3d8400a2ff9a4 100644 --- a/tests/cases/compiler/weakType.ts +++ b/tests/cases/compiler/weakType.ts @@ -32,7 +32,7 @@ type ChangeOptions = ConfigurableStartEnd & InsertOptions; function del(options: ConfigurableStartEnd = {}, error: { error?: number } = {}) { - let changes: ChangeOptions[]; + let changes: ChangeOptions[] = []; changes.push(options); changes.push(error); } diff --git a/tests/cases/compiler/wrappedRecursiveGenericType.ts b/tests/cases/compiler/wrappedRecursiveGenericType.ts index 7180ad047652f..e3dc0a2a11036 100644 --- a/tests/cases/compiler/wrappedRecursiveGenericType.ts +++ b/tests/cases/compiler/wrappedRecursiveGenericType.ts @@ -7,7 +7,7 @@ interface B { b: A>; val: T; } -var x: A; +declare var x: A; x.val = 5; // val -> number x.a.val = 5; // val -> number x.a.b.val = 5; // val -> X (This should be an error) diff --git a/tests/cases/conformance/Symbols/ES5SymbolProperty5.ts b/tests/cases/conformance/Symbols/ES5SymbolProperty5.ts index ec46ddad21dc1..3da931380b43e 100644 --- a/tests/cases/conformance/Symbols/ES5SymbolProperty5.ts +++ b/tests/cases/conformance/Symbols/ES5SymbolProperty5.ts @@ -1,5 +1,5 @@ //@target: ES5 -var Symbol: { iterator: symbol }; +declare var Symbol: { iterator: symbol }; class C { [Symbol.iterator]() { } diff --git a/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractClinterfaceAssignability.ts b/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractClinterfaceAssignability.ts index 682ad6faa0f28..6fc20955aa409 100644 --- a/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractClinterfaceAssignability.ts +++ b/tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractClinterfaceAssignability.ts @@ -9,15 +9,15 @@ interface IConstructor { prototype: I; } -var I: IConstructor; +declare var I: IConstructor; abstract class A { x: number; static y: number; } -var AA: typeof A; +declare var AA: typeof A; AA = I; -var AAA: typeof I; +declare var AAA: typeof I; AAA = A; \ No newline at end of file diff --git a/tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsEveryObjectType.ts b/tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsEveryObjectType.ts index f2eef7c7ce10e..839395bb8a972 100644 --- a/tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsEveryObjectType.ts +++ b/tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsEveryObjectType.ts @@ -4,7 +4,7 @@ interface I { class C extends I { } // error class C2 extends { foo: string; } { } // error -var x: { foo: string; } +declare var x: { foo: string; } class C3 extends x { } // error namespace M { export var x = 1; } diff --git a/tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility.ts b/tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility.ts index 91d235b06fdf0..fd3af1aa9969c 100644 --- a/tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility.ts +++ b/tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility.ts @@ -1,21 +1,21 @@ class C1 { constructor(public x: number) { } } -var c1: C1; +declare var c1: C1; c1.x // OK class C2 { constructor(private p: number) { } } -var c2: C2; +declare var c2: C2; c2.p // private, error class C3 { constructor(protected p: number) { } } -var c3: C3; +declare var c3: C3; c3.p // protected, error class Derived extends C3 { constructor(p: number) { diff --git a/tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility2.ts b/tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility2.ts index 2f5adca95b309..ef92d80406c25 100644 --- a/tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility2.ts +++ b/tests/cases/conformance/classes/constructorDeclarations/classConstructorParametersAccessibility2.ts @@ -1,21 +1,21 @@ class C1 { constructor(public x?: number) { } } -var c1: C1; +declare var c1: C1; c1.x // OK class C2 { constructor(private p?: number) { } } -var c2: C2; +declare var c2: C2; c2.p // private, error class C3 { constructor(protected p?: number) { } } -var c3: C3; +declare var c3: C3; c3.p // protected, error class Derived extends C3 { constructor(p: number) { diff --git a/tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts b/tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts index f4d63da1192fc..ca5f147d77181 100644 --- a/tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts +++ b/tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts @@ -3,7 +3,7 @@ class C { constructor(private x: string, protected z: string) { } } -var c: C; +declare var c: C; var r = c.y; var r2 = c.x; // error var r3 = c.z; // error @@ -13,7 +13,7 @@ class D { constructor(a: T, private x: T, protected z: T) { } } -var d: D; +declare var d: D; var r = d.y; var r2 = d.x; // error var r3 = d.a; // error diff --git a/tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties2.ts b/tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties2.ts index b95891c0845e7..e677788302c37 100644 --- a/tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties2.ts +++ b/tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties2.ts @@ -3,7 +3,7 @@ class C { constructor(y: number) { } // ok } -var c: C; +declare var c: C; var r = c.y; class D { @@ -11,7 +11,7 @@ class D { constructor(public y: number) { } // error } -var d: D; +declare var d: D; var r2 = d.y; class E { @@ -19,7 +19,7 @@ class E { constructor(private y: number) { } // error } -var e: E; +declare var e: E; var r3 = e.y; // error class F { @@ -27,5 +27,5 @@ class F { constructor(protected y: number) { } // error } -var f: F; +declare var f: F; var r4 = f.y; // error diff --git a/tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts b/tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts index 0fdbd59913315..04745bd8de561 100644 --- a/tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts +++ b/tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts @@ -10,7 +10,7 @@ class C { private static foo() { } } -var c: C; +declare var c: C; // all errors c.x; c.y; diff --git a/tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts b/tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts index 7efe159c058f2..ab40eef28b991 100644 --- a/tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts +++ b/tests/cases/conformance/classes/members/accessibility/classPropertyAsProtected.ts @@ -10,7 +10,7 @@ class C { protected static foo() { } } -var c: C; +declare var c: C; // all errors c.x; c.y; diff --git a/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts b/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts index 1128da7079577..b7ab3683252e8 100644 --- a/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts +++ b/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinNestedSubclass1.ts @@ -1,13 +1,13 @@ class Base { - protected x: string; + protected x!: string; method() { class A { methoda() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // OK, accessed within their declaring class d1.x; // OK, accessed within their declaring class @@ -23,11 +23,11 @@ class Derived1 extends Base { method1() { class B { method1b() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class @@ -43,11 +43,11 @@ class Derived2 extends Base { method2() { class C { method2c() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class @@ -60,15 +60,15 @@ class Derived2 extends Base { } class Derived3 extends Derived1 { - protected x: string; + protected x!: string; method3() { class D { method3d() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class @@ -84,11 +84,11 @@ class Derived4 extends Derived2 { method4() { class E { method4e() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class @@ -101,11 +101,11 @@ class Derived4 extends Derived2 { } -var b: Base; -var d1: Derived1; -var d2: Derived2; -var d3: Derived3; -var d4: Derived4; +var b: Base = undefined as any; +var d1: Derived1 = undefined as any; +var d2: Derived2 = undefined as any; +var d3: Derived3 = undefined as any; +var d4: Derived4 = undefined as any; b.x; // Error, neither within their declaring class nor classes derived from their declaring class d1.x; // Error, neither within their declaring class nor classes derived from their declaring class diff --git a/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts b/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts index 0bc89667abae3..39ecaa7ed8653 100644 --- a/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts +++ b/tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinSubclass2.ts @@ -1,11 +1,11 @@ class Base { - protected x: string; + protected x!: string; method() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // OK, accessed within their declaring class d1.x; // OK, accessed within their declaring class @@ -17,11 +17,11 @@ class Base { class Derived1 extends Base { method1() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // OK, accessed within a class derived from their declaring class, and through an instance of the enclosing class @@ -33,11 +33,11 @@ class Derived1 extends Base { class Derived2 extends Base { method2() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class @@ -48,13 +48,13 @@ class Derived2 extends Base { } class Derived3 extends Derived1 { - protected x: string; + protected x!: string; method3() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class @@ -66,11 +66,11 @@ class Derived3 extends Derived1 { class Derived4 extends Derived2 { method4() { - var b: Base; - var d1: Derived1; - var d2: Derived2; - var d3: Derived3; - var d4: Derived4; + var b: Base = undefined as any; + var d1: Derived1 = undefined as any; + var d2: Derived2 = undefined as any; + var d3: Derived3 = undefined as any; + var d4: Derived4 = undefined as any; b.x; // Error, isn't accessed through an instance of the enclosing class d1.x; // Error, isn't accessed through an instance of the enclosing class @@ -81,11 +81,11 @@ class Derived4 extends Derived2 { } -var b: Base; -var d1: Derived1; -var d2: Derived2; -var d3: Derived3; -var d4: Derived4; +var b: Base = undefined as any; +var d1: Derived1 = undefined as any; +var d2: Derived2 = undefined as any; +var d3: Derived3 = undefined as any; +var d4: Derived4 = undefined as any; b.x; // Error, neither within their declaring class nor classes derived from their declaring class d1.x; // Error, neither within their declaring class nor classes derived from their declaring class diff --git a/tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts b/tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts index b92d29d4d632d..9b0a1505afbb5 100644 --- a/tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts +++ b/tests/cases/conformance/classes/members/accessibility/protectedInstanceMemberAccessibility.ts @@ -1,12 +1,12 @@ class A { - protected x: string; + protected x!: string; protected f(): string { return "hello"; } } class B extends A { - protected y: string; + protected y!: string; g() { var t1 = this.x; var t2 = this.f(); @@ -18,19 +18,19 @@ class B extends A { var s3 = super.y; // error var s4 = super.z; // error - var a: A; + var a: A = undefined as any; var a1 = a.x; // error var a2 = a.f(); // error var a3 = a.y; // error var a4 = a.z; // error - var b: B; + var b: B = undefined as any; var b1 = b.x; var b2 = b.f(); var b3 = b.y; var b4 = b.z; // error - var c: C; + var c: C = undefined as any; var c1 = c.x; // error var c2 = c.f(); // error var c3 = c.y; // error @@ -39,5 +39,5 @@ class B extends A { } class C extends A { - protected z: string; + protected z!: string; } diff --git a/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity.ts b/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity.ts index 48c697f5933fe..be384799d9c10 100644 --- a/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity.ts +++ b/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity.ts @@ -12,9 +12,9 @@ class E extends D { foo(x?: string) { } // ok to add optional parameters } -var c: C; -var d: D; -var e: E; +declare var c: C; +declare var d: D; +declare var e: E; c = e; var r = c.foo(1); var r2 = e.foo(''); \ No newline at end of file diff --git a/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity2.ts b/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity2.ts index beff53f06cdf2..b6699050e3375 100644 --- a/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity2.ts +++ b/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity2.ts @@ -12,9 +12,9 @@ class E extends D { foo(x: number, y?: string) { } // ok to add optional parameters } -var c: C; -var d: D; -var e: E; +declare var c: C; +declare var d: D; +declare var e: E; c = e; var r = c.foo(1, 1); var r2 = e.foo(1, ''); \ No newline at end of file diff --git a/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity3.ts b/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity3.ts index 7e9e88c1c9461..d234e93e53343 100644 --- a/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity3.ts +++ b/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity3.ts @@ -12,9 +12,9 @@ class E extends D { foo(x: T, y?: number) { } // ok to add optional parameters } -var c: C; -var d: D; -var e: E; +declare var c: C; +declare var d: D; +declare var e: E; c = e; var r = c.foo('', ''); var r2 = e.foo('', 1); \ No newline at end of file diff --git a/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity4.ts b/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity4.ts index 3fa0cec4318de..e0ffd590430ee 100644 --- a/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity4.ts +++ b/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity4.ts @@ -12,9 +12,9 @@ class E extends D { public foo(x?: string) { } // ok to add optional parameters } -var c: C; -var d: D; -var e: E; +declare var c: C; +declare var d: D; +declare var e: E; c = e; var r = c.foo(1); var r2 = e.foo(''); \ No newline at end of file diff --git a/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithAny.ts b/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithAny.ts index fb649d1d52648..3d38db063aebc 100644 --- a/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithAny.ts +++ b/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithAny.ts @@ -49,9 +49,9 @@ class E extends D { } } -var c: C; -var d: D; -var e: E; +declare var c: C; +declare var d: D; +declare var e: E; c = d; c = e; diff --git a/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericClassWithAny.ts b/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericClassWithAny.ts index 3d75992cfc437..2bb5b03397e79 100644 --- a/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericClassWithAny.ts +++ b/tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericClassWithAny.ts @@ -33,9 +33,9 @@ class E extends D { } } -var c: C; -var d: D; -var e: E; +declare var c: C; +declare var d: D; +declare var e: E; c = d; c = e; diff --git a/tests/cases/conformance/classes/members/instanceAndStaticMembers/typeOfThisInInstanceMember.ts b/tests/cases/conformance/classes/members/instanceAndStaticMembers/typeOfThisInInstanceMember.ts index e5f53845282b1..185f8b072ace3 100644 --- a/tests/cases/conformance/classes/members/instanceAndStaticMembers/typeOfThisInInstanceMember.ts +++ b/tests/cases/conformance/classes/members/instanceAndStaticMembers/typeOfThisInInstanceMember.ts @@ -16,7 +16,7 @@ class C { } } -var c: C; +declare var c: C; // all ok var r = c.x; var ra = c.x.x.x; diff --git a/tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts b/tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts index e9267a2f6e8ef..45401bf0554c3 100644 --- a/tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts +++ b/tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts @@ -39,10 +39,10 @@ class D { } -var c: C; +declare var c: C; var r = c.foo(1); // error -var d: D; +declare var d: D; var r2 = d.foo(2); // error var r3 = C.foo(1); // error diff --git a/tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPublicPrivateOverloads.ts b/tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPublicPrivateOverloads.ts index 293db09be14c1..45022a40bbf36 100644 --- a/tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPublicPrivateOverloads.ts +++ b/tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPublicPrivateOverloads.ts @@ -55,8 +55,8 @@ class D { protected static baz(x: any, y?: any) { } } -var c: C; +declare var c: C; var r = c.foo(1); // error -var d: D; +declare var d: D; var r2 = d.foo(2); // error \ No newline at end of file diff --git a/tests/cases/conformance/controlFlow/controlFlowForStatement.ts b/tests/cases/conformance/controlFlow/controlFlowForStatement.ts index d9e46781aa7b5..9699a10f54465 100644 --- a/tests/cases/conformance/controlFlow/controlFlowForStatement.ts +++ b/tests/cases/conformance/controlFlow/controlFlowForStatement.ts @@ -1,4 +1,4 @@ -let cond: boolean; +declare let cond: boolean; function a() { let x: string | number | boolean; for (x = ""; cond; x = 5) { diff --git a/tests/cases/conformance/es6/Symbols/symbolProperty17.ts b/tests/cases/conformance/es6/Symbols/symbolProperty17.ts index 737059d0e3bcf..7bd1bf9a03a9b 100644 --- a/tests/cases/conformance/es6/Symbols/symbolProperty17.ts +++ b/tests/cases/conformance/es6/Symbols/symbolProperty17.ts @@ -5,5 +5,5 @@ interface I { "__@iterator": string; } -var i: I; +declare var i: I; var it = i[Symbol.iterator]; \ No newline at end of file diff --git a/tests/cases/conformance/es6/Symbols/symbolType15.ts b/tests/cases/conformance/es6/Symbols/symbolType15.ts index 22f1f9662c0ed..9ac43e9d200ba 100644 --- a/tests/cases/conformance/es6/Symbols/symbolType15.ts +++ b/tests/cases/conformance/es6/Symbols/symbolType15.ts @@ -1,5 +1,5 @@ //@target: ES6 -var sym: symbol; +declare var sym: symbol; var symObj: Symbol; symObj = sym; diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames51_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames51_ES5.ts index 1d467245fb2ce..c4f5d879a17dd 100644 --- a/tests/cases/conformance/es6/computedProperties/computedPropertyNames51_ES5.ts +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames51_ES5.ts @@ -1,6 +1,6 @@ function f() { - var t: T; - var k: K; + var t!: T; + var k!: K; var v = { [t]: 0, [k]: 1 diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames51_ES6.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames51_ES6.ts index ca209996c4c3c..84a51af1840b6 100644 --- a/tests/cases/conformance/es6/computedProperties/computedPropertyNames51_ES6.ts +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames51_ES6.ts @@ -1,7 +1,7 @@ // @target: es6 function f() { - var t: T; - var k: K; + var t!: T; + var k!: K; var v = { [t]: 0, [k]: 1 diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts index e9d7d6ffab497..874c8c79ac794 100644 --- a/tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts @@ -1,5 +1,5 @@ // @target: es5 -var b: boolean; +declare var b: boolean; var v = { [b]: 0, [true]: 1, diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts index 590f819c4e4cc..6d9a65002c40f 100644 --- a/tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts @@ -1,5 +1,5 @@ // @target: es6 -var b: boolean; +declare var b: boolean; var v = { [b]: 0, [true]: 1, diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts index 0521873d70ca0..07c78ed0e5fbb 100644 --- a/tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts @@ -1,7 +1,7 @@ // @target: es5 -var p1: number | string; -var p2: number | number[]; -var p3: string | boolean; +declare var p1: number | string; +declare var p2: number | number[]; +declare var p3: string | boolean; var v = { [p1]: 0, [p2]: 1, diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES6.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES6.ts index b21b76b03f2cf..7bfd950e96a05 100644 --- a/tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES6.ts +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES6.ts @@ -1,7 +1,7 @@ // @target: es6 -var p1: number | string; -var p2: number | number[]; -var p3: string | boolean; +declare var p1: number | string; +declare var p2: number | number[]; +declare var p3: string | boolean; var v = { [p1]: 0, [p2]: 1, diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts index 0723552edc2ec..7282afcc519c9 100644 --- a/tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts @@ -1,7 +1,7 @@ // @target: es5 function f() { - var t: T; - var u: U; + var t!: T; + var u!: U; var v = { [t]: 0, [u]: 1 diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES6.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES6.ts index 95b6398a62d71..185af9e63a05b 100644 --- a/tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES6.ts +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES6.ts @@ -1,7 +1,7 @@ // @target: es6 function f() { - var t: T; - var u: U; + var t!: T; + var u!: U; var v = { [t]: 0, [u]: 1 diff --git a/tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts b/tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts index a5e663640fbe5..781c224213fba 100644 --- a/tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts +++ b/tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts @@ -4,8 +4,8 @@ function f0() { var [x, y] = [1, "hello"]; var [x, y, z] = [1, "hello"]; var [,, x] = [0, 1, 2]; - var x: number; - var y: string; + var x!: number; + var y!: string; } function f1() { @@ -13,9 +13,9 @@ function f1() { var [x] = a; var [x, y] = a; var [x, y, z] = a; - var x: number | string; - var y: number | string; - var z: number | string; + var x!: number | string; + var y!: number | string; + var z!: number | string; } function f2() { @@ -23,39 +23,39 @@ function f2() { var { x } = { x: 5, y: "hello" }; // Error, no y in target var { y } = { x: 5, y: "hello" }; // Error, no x in target var { x, y } = { x: 5, y: "hello" }; - var x: number; - var y: string; + var x!: number; + var y!: string; var { x: a } = { x: 5, y: "hello" }; // Error, no y in target var { y: b } = { x: 5, y: "hello" }; // Error, no x in target var { x: a, y: b } = { x: 5, y: "hello" }; - var a: number; - var b: string; + var a!: number; + var b!: string; } function f3() { var [x, [y, [z]]] = [1, ["hello", [true]]]; - var x: number; - var y: string; - var z: boolean; + var x!: number; + var y!: string; + var z!: boolean; } function f4() { var { a: x, b: { a: y, b: { a: z }}} = { a: 1, b: { a: "hello", b: { a: true } } }; - var x: number; - var y: string; - var z: boolean; + var x!: number; + var y!: string; + var z!: boolean; } function f6() { var [x = 0, y = ""] = [1, "hello"]; - var x: number; - var y: string; + var x!: number; + var y!: string; } function f7() { var [x = 0, y = 1] = [1, "hello"]; // Error, initializer for y must be string - var x: number; - var y: string; + var x!: number; + var y!: string; } function f8() { @@ -79,16 +79,16 @@ function f11() { var { 0: a, 1: b } = { 0: 10, 1: "hello" }; var { "<": a, ">": b } = { "<": 10, ">": "hello" }; var { 0: a, 1: b } = [10, "hello"]; - var a: number; - var b: string; + var a!: number; + var b!: string; } function f12() { var [a, [b, { x, y: c }] = ["abc", { x: 10, y: false }]] = [1, ["hello", { x: 5, y: true }]]; - var a: number; - var b: string; - var x: number; - var c: boolean; + var a!: number; + var b!: string; + var x!: number; + var c!: boolean; } function f13() { @@ -97,9 +97,9 @@ function f13() { } function f14([a = 1, [b = "hello", { x, y: c = false }]]) { - var a: number; - var b: string; - var c: boolean; + var a!: number; + var b!: string; + var c!: boolean; } f14([2, ["abc", { x: 0, y: true }]]); f14([2, ["abc", { x: 0 }]]); @@ -129,9 +129,9 @@ f17({ c: true }); f17(f15()); function f18() { - var a: number; - var b: string; - var aa: number[]; + var a!: number; + var b!: string; + var aa!: number[]; ({ a, b } = { a, b }); ({ a, b } = { b, a }); [aa[0], b] = [a, b]; @@ -149,13 +149,13 @@ function f19() { } function f20(v: [number, number, number]) { - var x: number; - var y: number; - var z: number; - var a0: []; - var a1: [number]; - var a2: [number, number]; - var a3: [number, number, number]; + var x!: number; + var y!: number; + var z!: number; + var a0!: []; + var a1!: [number]; + var a2!: [number, number]; + var a3!: [number, number, number]; var [...a3] = v; var [x, ...a2] = v; var [x, y, ...a1] = v; @@ -167,13 +167,13 @@ function f20(v: [number, number, number]) { } function f21(v: [number, string, boolean]) { - var x: number; - var y: string; - var z: boolean; - var a0: [number, string, boolean]; - var a1: [string, boolean]; - var a2: [boolean]; - var a3: []; + var x!: number; + var y!: string; + var z!: boolean; + var a0!: [number, string, boolean]; + var a1!: [string, boolean]; + var a2!: [boolean]; + var a3!: []; var [...a0] = v; var [x, ...a1] = v; var [x, y, ...a2] = v; diff --git a/tests/cases/conformance/es6/destructuring/restElementWithInitializer1.ts b/tests/cases/conformance/es6/destructuring/restElementWithInitializer1.ts index 7357e36cc05c2..069f874330bbc 100644 --- a/tests/cases/conformance/es6/destructuring/restElementWithInitializer1.ts +++ b/tests/cases/conformance/es6/destructuring/restElementWithInitializer1.ts @@ -1,2 +1,2 @@ -var a: number[]; +declare var a: number[]; var [...x = a] = a; // Error, rest element cannot have initializer diff --git a/tests/cases/conformance/es6/destructuring/restElementWithInitializer2.ts b/tests/cases/conformance/es6/destructuring/restElementWithInitializer2.ts index dc41aacf0b935..032ff2a32e6be 100644 --- a/tests/cases/conformance/es6/destructuring/restElementWithInitializer2.ts +++ b/tests/cases/conformance/es6/destructuring/restElementWithInitializer2.ts @@ -1,3 +1,3 @@ -var a: number[]; +declare var a: number[]; var x: number[]; [...x = a] = a; // Error, rest element cannot have initializer diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of29.ts b/tests/cases/conformance/es6/for-ofStatements/for-of29.ts index 8df83db158808..7dd18a4d323a1 100644 --- a/tests/cases/conformance/es6/for-ofStatements/for-of29.ts +++ b/tests/cases/conformance/es6/for-ofStatements/for-of29.ts @@ -1,5 +1,5 @@ //@target: ES6 -var iterableWithOptionalIterator: { +declare var iterableWithOptionalIterator: { [Symbol.iterator]?(): Iterator }; diff --git a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts index d8be6cbd7c270..38bf590fe92a6 100644 --- a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts +++ b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts @@ -7,7 +7,7 @@ [x: number]: I; } -var f: I; +declare var f: I; f `abc` diff --git a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts index dec483c167893..ec9236198151b 100644 --- a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts +++ b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts @@ -8,7 +8,7 @@ interface I { [x: number]: I; } -var f: I; +declare var f: I; f `abc` diff --git a/tests/cases/conformance/es6/templates/taggedTemplateWithConstructableTag02.ts b/tests/cases/conformance/es6/templates/taggedTemplateWithConstructableTag02.ts index 7c6f009bf237f..9d6b4b64d2149 100644 --- a/tests/cases/conformance/es6/templates/taggedTemplateWithConstructableTag02.ts +++ b/tests/cases/conformance/es6/templates/taggedTemplateWithConstructableTag02.ts @@ -2,5 +2,5 @@ interface I { new (...args: any[]): string; new (): number; } -var tag: I; +declare var tag: I; tag `Hello world!`; \ No newline at end of file diff --git a/tests/cases/conformance/es7/exponentiationOperator/compoundExponentiationAssignmentLHSCanBeAssigned1.ts b/tests/cases/conformance/es7/exponentiationOperator/compoundExponentiationAssignmentLHSCanBeAssigned1.ts index 35b434b6bac58..7773ddad068b7 100644 --- a/tests/cases/conformance/es7/exponentiationOperator/compoundExponentiationAssignmentLHSCanBeAssigned1.ts +++ b/tests/cases/conformance/es7/exponentiationOperator/compoundExponentiationAssignmentLHSCanBeAssigned1.ts @@ -1,24 +1,24 @@ enum E { a, b, c } -var a: any; -var b: number; -var c: E; +declare var a: any; +declare var b: number; +declare var c: E; -var x1: any; +declare var x1: any; x1 **= a; x1 **= b; x1 **= c; x1 **= null; x1 **= undefined; -var x2: number; +declare var x2: number; x2 **= a; x2 **= b; x2 **= c; x2 **= null; x2 **= undefined; -var x3: E; +declare var x3: E; x3 **= a; x3 **= b; x3 **= c; diff --git a/tests/cases/conformance/es7/exponentiationOperator/compoundExponentiationAssignmentLHSCannotBeAssigned.ts b/tests/cases/conformance/es7/exponentiationOperator/compoundExponentiationAssignmentLHSCannotBeAssigned.ts index 93623f667b809..50477fc0a3415 100644 --- a/tests/cases/conformance/es7/exponentiationOperator/compoundExponentiationAssignmentLHSCannotBeAssigned.ts +++ b/tests/cases/conformance/es7/exponentiationOperator/compoundExponentiationAssignmentLHSCannotBeAssigned.ts @@ -1,9 +1,9 @@ enum E { a, b } -var a: any; -var b: void; +declare var a: any; +declare var b: void; -var x1: boolean; +declare var x1: boolean; x1 **= a; x1 **= b; x1 **= true; @@ -14,7 +14,7 @@ x1 **= {}; x1 **= null; x1 **= undefined; -var x2: string; +declare var x2: string; x2 **= a; x2 **= b; x2 **= true; @@ -25,7 +25,7 @@ x2 **= {}; x2 **= null; x2 **= undefined; -var x3: {}; +declare var x3: {}; x3 **= a; x3 **= b; x3 **= true; @@ -36,7 +36,7 @@ x3 **= {}; x3 **= null; x3 **= undefined; -var x4: void; +declare var x4: void; x4 **= a; x4 **= b; x4 **= true; @@ -47,13 +47,13 @@ x4 **= {}; x4 **= null; x4 **= undefined; -var x5: number; +declare var x5: number; x5 **= b; x5 **= true; x5 **= '' x5 **= {}; -var x6: E; +declare var x6: E; x6 **= b; x6 **= true; x6 **= '' diff --git a/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithInvalidOperands.ts b/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithInvalidOperands.ts index f16ddc61ed5e6..95353a0cc27df 100644 --- a/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithInvalidOperands.ts +++ b/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithInvalidOperands.ts @@ -2,12 +2,12 @@ // an enum type enum E { a, b, c } -var a: any; -var b: boolean; -var c: number; -var d: string; -var e: { a: number }; -var f: Number; +declare var a: any; +declare var b: boolean; +declare var c: number; +declare var d: string; +declare var e: { a: number }; +declare var f: Number; // All of the below should be an error unless otherwise noted // operator ** diff --git a/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithNullValueAndInvalidOperands.ts b/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithNullValueAndInvalidOperands.ts index 7ecec740d416b..b09b30c897661 100644 --- a/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithNullValueAndInvalidOperands.ts +++ b/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithNullValueAndInvalidOperands.ts @@ -1,9 +1,9 @@ // If one operand is the null or undefined value, it is treated as having the type of the // other operand. -var a: boolean; -var b: string; -var c: Object; +declare var a: boolean; +declare var b: string; +declare var c: Object; // operator ** var r1a1 = null ** a; diff --git a/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithNullValueAndValidOperands.ts b/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithNullValueAndValidOperands.ts index acc152ea696d4..bfaadee12f313 100644 --- a/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithNullValueAndValidOperands.ts +++ b/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithNullValueAndValidOperands.ts @@ -6,8 +6,8 @@ enum E { b } -var a: any; -var b: number; +declare var a: any; +declare var b: number; // operator ** var r1 = null ** a; diff --git a/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithTypeParameter.ts b/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithTypeParameter.ts index d028b5c65750e..cfc392e2910d2 100644 --- a/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithTypeParameter.ts +++ b/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithTypeParameter.ts @@ -1,10 +1,10 @@ // type parameter type is not valid for arithmetic operand function foo(t: T) { - var a: any; - var b: boolean; - var c: number; - var d: string; - var e: {}; + var a!: any; + var b!: boolean; + var c!: number; + var d!: string; + var e!: {}; var r1a1 = a ** t; var r2a1 = t ** a; diff --git a/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts b/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts index 7693e4a83f9ae..c2cc3e6df547d 100644 --- a/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts +++ b/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts @@ -1,9 +1,9 @@ // If one operand is the undefined or undefined value, it is treated as having the type of the // other operand. -var a: boolean; -var b: string; -var c: Object; +declare var a: boolean; +declare var b: string; +declare var c: Object; // operator ** var r1a1 = undefined ** a; diff --git a/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithUndefinedValueAndValidOperands.ts b/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithUndefinedValueAndValidOperands.ts index c1862f1bbe918..406df2cb416af 100644 --- a/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithUndefinedValueAndValidOperands.ts +++ b/tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithUndefinedValueAndValidOperands.ts @@ -6,8 +6,8 @@ enum E { b } -var a: any; -var b: number; +declare var a: any; +declare var b: number; // operator * var rk1 = undefined ** a; diff --git a/tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentLHSCanBeAssigned.ts b/tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentLHSCanBeAssigned.ts index 7679362a1f202..ff43c9acda9ea 100644 --- a/tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentLHSCanBeAssigned.ts +++ b/tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentLHSCanBeAssigned.ts @@ -1,9 +1,9 @@ enum E { a, b } -var a: any; -var b: void; +declare var a: any; +declare var b: void; -var x1: any; +declare var x1: any; x1 += a; x1 += b; x1 += true; @@ -14,7 +14,7 @@ x1 += {}; x1 += null; x1 += undefined; -var x2: string; +declare var x2: string; x2 += a; x2 += b; x2 += true; @@ -25,26 +25,26 @@ x2 += {}; x2 += null; x2 += undefined; -var x3: number; +declare var x3: number; x3 += a; x3 += 0; x3 += E.a; x3 += null; x3 += undefined; -var x4: E; +declare var x4: E; x4 += a; x4 += 0; x4 += E.a; x4 += null; x4 += undefined; -var x5: boolean; +declare var x5: boolean; x5 += a; -var x6: {}; +declare var x6: {}; x6 += a; x6 += ''; -var x7: void; +declare var x7: void; x7 += a; \ No newline at end of file diff --git a/tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentLHSCannotBeAssigned.ts b/tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentLHSCannotBeAssigned.ts index c24a89f62c1d4..d142b98b519b1 100644 --- a/tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentLHSCannotBeAssigned.ts +++ b/tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentLHSCannotBeAssigned.ts @@ -1,17 +1,17 @@ // string can add every type, and result string cannot be assigned to below types enum E { a, b, c } -var x1: boolean; +declare var x1: boolean; x1 += ''; -var x2: number; +declare var x2: number; x2 += ''; -var x3: E; +declare var x3: E; x3 += ''; -var x4: {a: string}; +declare var x4: {a: string}; x4 += ''; -var x5: void; +declare var x5: void; x5 += ''; \ No newline at end of file diff --git a/tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts b/tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts index 20a3897d28cc1..024357ca6bd5d 100644 --- a/tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts +++ b/tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts @@ -1,8 +1,8 @@ enum E { a, b } -var a: void; +declare var a: void; -var x1: boolean; +declare var x1: boolean; x1 += a; x1 += true; x1 += 0; @@ -11,7 +11,7 @@ x1 += {}; x1 += null; x1 += undefined; -var x2: {}; +declare var x2: {}; x2 += a; x2 += true; x2 += 0; @@ -20,7 +20,7 @@ x2 += {}; x2 += null; x2 += undefined; -var x3: void; +declare var x3: void; x3 += a; x3 += true; x3 += 0; @@ -29,12 +29,12 @@ x3 += {}; x3 += null; x3 += undefined; -var x4: number; +declare var x4: number; x4 += a; x4 += true; x4 += {}; -var x5: E; +declare var x5: E; x5 += a; x5 += true; x5 += {}; \ No newline at end of file diff --git a/tests/cases/conformance/expressions/assignmentOperator/compoundArithmeticAssignmentLHSCanBeAssigned.ts b/tests/cases/conformance/expressions/assignmentOperator/compoundArithmeticAssignmentLHSCanBeAssigned.ts index 58571c6cfac3e..ec744a9d1b78e 100644 --- a/tests/cases/conformance/expressions/assignmentOperator/compoundArithmeticAssignmentLHSCanBeAssigned.ts +++ b/tests/cases/conformance/expressions/assignmentOperator/compoundArithmeticAssignmentLHSCanBeAssigned.ts @@ -1,24 +1,24 @@ enum E { a, b, c } -var a: any; -var b: number; -var c: E; +declare var a: any; +declare var b: number; +declare var c: E; -var x1: any; +declare var x1: any; x1 *= a; x1 *= b; x1 *= c; x1 *= null; x1 *= undefined; -var x2: number; +declare var x2: number; x2 *= a; x2 *= b; x2 *= c; x2 *= null; x2 *= undefined; -var x3: E; +declare var x3: E; x3 *= a; x3 *= b; x3 *= c; diff --git a/tests/cases/conformance/expressions/assignmentOperator/compoundArithmeticAssignmentWithInvalidOperands.ts b/tests/cases/conformance/expressions/assignmentOperator/compoundArithmeticAssignmentWithInvalidOperands.ts index 7dcb73696f5e4..5f384a0d8e76e 100644 --- a/tests/cases/conformance/expressions/assignmentOperator/compoundArithmeticAssignmentWithInvalidOperands.ts +++ b/tests/cases/conformance/expressions/assignmentOperator/compoundArithmeticAssignmentWithInvalidOperands.ts @@ -1,9 +1,9 @@ enum E { a, b } -var a: any; -var b: void; +declare var a: any; +declare var b: void; -var x1: boolean; +declare var x1: boolean; x1 *= a; x1 *= b; x1 *= true; @@ -14,7 +14,7 @@ x1 *= {}; x1 *= null; x1 *= undefined; -var x2: string; +declare var x2: string; x2 *= a; x2 *= b; x2 *= true; @@ -25,7 +25,7 @@ x2 *= {}; x2 *= null; x2 *= undefined; -var x3: {}; +declare var x3: {}; x3 *= a; x3 *= b; x3 *= true; @@ -36,7 +36,7 @@ x3 *= {}; x3 *= null; x3 *= undefined; -var x4: void; +declare var x4: void; x4 *= a; x4 *= b; x4 *= true; @@ -47,13 +47,13 @@ x4 *= {}; x4 *= null; x4 *= undefined; -var x5: number; +declare var x5: number; x5 *= b; x5 *= true; x5 *= '' x5 *= {}; -var x6: E; +declare var x6: E; x6 *= b; x6 *= true; x6 *= '' diff --git a/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts b/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts index 59153b0a33ca5..1f4a81366487b 100644 --- a/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts +++ b/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts @@ -6,10 +6,10 @@ class C { enum E { a, b, c } namespace M { export var a } -var a: boolean; -var b: number; -var c: Object; -var d: Number; +declare var a: boolean; +declare var b: number; +declare var c: Object; +declare var d: Number; // boolean + every type except any and string var r1 = a + a; diff --git a/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts b/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts index 66f5eef42f751..ba6c62cfa5a98 100644 --- a/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts +++ b/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts @@ -2,10 +2,10 @@ function foo(): void { return undefined } -var a: boolean; -var b: Object; -var c: void; -var d: Number; +declare var a: boolean; +declare var b: Object; +declare var c: void; +declare var d: Number; // null + boolean/Object var r1 = null + a; diff --git a/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts b/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts index 319bb55e7a153..29622e339efb9 100644 --- a/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts +++ b/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts @@ -2,10 +2,10 @@ enum E { a, b, c } -var a: any; -var b: number; -var c: E; -var d: string; +declare var a: any; +declare var b: number; +declare var c: E; +declare var d: string; // null + any var r1: any = null + a; diff --git a/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithTypeParameter.ts b/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithTypeParameter.ts index af2c16def6108..02dac66582c38 100644 --- a/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithTypeParameter.ts +++ b/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithTypeParameter.ts @@ -2,13 +2,13 @@ enum E { a, b } function foo(t: T, u: U) { - var a: any; - var b: boolean; - var c: number; - var d: string; - var e: Object; - var g: E; - var f: void; + let a!: any; + let b!: boolean; + let c!: number; + let d!: string; + let e!: Object; + let g!: E; + let f!: void; // type parameter as left operand var r1: any = t + a; // ok, one operand is any diff --git a/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts b/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts index 62739dff8185d..03d466ce7da9b 100644 --- a/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts +++ b/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts @@ -2,10 +2,10 @@ function foo(): void { return undefined } -var a: boolean; -var b: Object; -var c: void; -var d: Number; +declare var a: boolean; +declare var b: Object; +declare var c: void; +declare var d: Number; // undefined + boolean/Object var r1 = undefined + a; diff --git a/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndValidOperator.ts b/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndValidOperator.ts index 868374bccbf87..325db7ce257c7 100644 --- a/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndValidOperator.ts +++ b/tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndValidOperator.ts @@ -2,10 +2,10 @@ enum E { a, b, c } -var a: any; -var b: number; -var c: E; -var d: string; +declare var a: any; +declare var b: number; +declare var c: E; +declare var d: string; // undefined + any var r1: any = undefined + a; diff --git a/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithInvalidOperands.ts b/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithInvalidOperands.ts index b71973b3246bf..2a7b420a1920a 100644 --- a/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithInvalidOperands.ts +++ b/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithInvalidOperands.ts @@ -2,12 +2,12 @@ // an enum type enum E { a, b, c } -var a: any; -var b: boolean; -var c: number; -var d: string; -var e: { a: number }; -var f: Number; +declare var a: any; +declare var b: boolean; +declare var c: number; +declare var d: string; +declare var e: { a: number }; +declare var f: Number; // All of the below should be an error unless otherwise noted // operator * diff --git a/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithNullValueAndInvalidOperands.ts b/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithNullValueAndInvalidOperands.ts index 2d2a7a8604654..840c7e3d53126 100644 --- a/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithNullValueAndInvalidOperands.ts +++ b/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithNullValueAndInvalidOperands.ts @@ -1,9 +1,9 @@ // If one operand is the null or undefined value, it is treated as having the type of the // other operand. -var a: boolean; -var b: string; -var c: Object; +declare var a: boolean; +declare var b: string; +declare var c: Object; // operator * var r1a1 = null * a; diff --git a/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithNullValueAndValidOperands.ts b/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithNullValueAndValidOperands.ts index d173692f4f749..3fddcbbeb95d7 100644 --- a/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithNullValueAndValidOperands.ts +++ b/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithNullValueAndValidOperands.ts @@ -6,8 +6,8 @@ enum E { b } -var a: any; -var b: number; +declare var a: any; +declare var b: number; // operator * var ra1 = null * a; diff --git a/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithTypeParameter.ts b/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithTypeParameter.ts index 4fa061b6d224c..6855d5343ebce 100644 --- a/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithTypeParameter.ts +++ b/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithTypeParameter.ts @@ -1,10 +1,10 @@ // type parameter type is not valid for arithmetic operand function foo(t: T) { - var a: any; - var b: boolean; - var c: number; - var d: string; - var e: {}; + let a!: any; + let b!: boolean; + let c!: number; + let d!: string; + let e!: {}; var r1a1 = a * t; var r1a2 = a / t; diff --git a/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts b/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts index eeca5985f4619..ff602ec0b486f 100644 --- a/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts +++ b/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts @@ -1,9 +1,9 @@ // If one operand is the undefined or undefined value, it is treated as having the type of the // other operand. -var a: boolean; -var b: string; -var c: Object; +declare var a: boolean; +declare var b: string; +declare var c: Object; // operator * var r1a1 = undefined * a; diff --git a/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithUndefinedValueAndValidOperands.ts b/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithUndefinedValueAndValidOperands.ts index 69180798aeead..4bc202516cbe1 100644 --- a/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithUndefinedValueAndValidOperands.ts +++ b/tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithUndefinedValueAndValidOperands.ts @@ -6,8 +6,8 @@ enum E { b } -var a: any; -var b: number; +declare var a: any; +declare var b: number; // operator * var ra1 = undefined * a; diff --git a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithIdenticalPrimitiveType.ts b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithIdenticalPrimitiveType.ts index 8cdeda6f1f3c0..64a661b2a583a 100644 --- a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithIdenticalPrimitiveType.ts +++ b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithIdenticalPrimitiveType.ts @@ -1,10 +1,10 @@ enum E { a, b, c } -var a: number; -var b: boolean; -var c: string; -var d: void; -var e: E; +declare var a: number; +declare var b: boolean; +declare var c: string; +declare var d: void; +declare var e: E; // operator < var ra1 = a < a; diff --git a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts index 575e9f1960388..4fd5abd09773b 100644 --- a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts +++ b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts @@ -10,26 +10,26 @@ class C { public c: string; } -var a1: { fn(): Base }; -var b1: { new (): Base }; +declare var a1: { fn(): Base }; +declare var b1: { new (): Base }; -var a2: { fn(a: number, b: string): void }; -var b2: { fn(a: string): void }; +declare var a2: { fn(a: number, b: string): void }; +declare var b2: { fn(a: string): void }; -var a3: { fn(a: Base, b: string): void }; -var b3: { fn(a: Derived, b: Base): void }; +declare var a3: { fn(a: Base, b: string): void }; +declare var b3: { fn(a: Derived, b: Base): void }; -var a4: { fn(): Base }; -var b4: { fn(): C }; +declare var a4: { fn(): Base }; +declare var b4: { fn(): C }; -var a5: { fn(a?: Base): void }; -var b5: { fn(a?: C): void }; +declare var a5: { fn(a?: Base): void }; +declare var b5: { fn(a?: C): void }; -var a6: { fn(...a: Base[]): void }; -var b6: { fn(...a: C[]): void }; +declare var a6: { fn(...a: Base[]): void }; +declare var b6: { fn(...a: C[]): void }; -var a7: { fn(t: T): T }; -var b7: { fn(t: T[]): T }; +declare var a7: { fn(t: T): T }; +declare var b7: { fn(t: T[]): T }; // operator < var r1a1 = a1 < b1; diff --git a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts index 0ec9fa1f91d41..bdfcf2c07fc1e 100644 --- a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts +++ b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts @@ -10,26 +10,26 @@ class C { public c: string; } -var a1: { fn(): Base }; -var b1: { new (): Base }; +declare var a1: { fn(): Base }; +declare var b1: { new (): Base }; -var a2: { new (a: number, b: string): Base }; -var b2: { new (a: string): Base }; +declare var a2: { new (a: number, b: string): Base }; +declare var b2: { new (a: string): Base }; -var a3: { new (a: Base, b: string): Base }; -var b3: { new (a: Derived, b: Base): Base }; +declare var a3: { new (a: Base, b: string): Base }; +declare var b3: { new (a: Derived, b: Base): Base }; -var a4: { new (): Base }; -var b4: { new (): C }; +declare var a4: { new (): Base }; +declare var b4: { new (): C }; -var a5: { new (a?: Base): Base }; -var b5: { new (a?: C): Base }; +declare var a5: { new (a?: Base): Base }; +declare var b5: { new (a?: C): Base }; -var a6: { new (...a: Base[]): Base }; -var b6: { new (...a: C[]): Base }; +declare var a6: { new (...a: Base[]): Base }; +declare var b6: { new (...a: C[]): Base }; -var a7: { new (t: T): T }; -var b7: { new (t: T[]): T }; +declare var a7: { new (t: T): T }; +declare var b7: { new (t: T[]): T }; // operator < var r1a1 = a1 < b1; diff --git a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts index fdc9f9e7da075..fcd0b93b146fd 100644 --- a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts +++ b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts @@ -10,17 +10,17 @@ class C { public c: string; } -var a1: { [a: string]: string }; -var b1: { [b: string]: number }; +declare var a1: { [a: string]: string }; +declare var b1: { [b: string]: number }; -var a2: { [index: string]: Base }; -var b2: { [index: string]: C }; +declare var a2: { [index: string]: Base }; +declare var b2: { [index: string]: C }; -var a3: { [index: number]: Base }; -var b3: { [index: number]: C }; +declare var a3: { [index: number]: Base }; +declare var b3: { [index: number]: C }; -var a4: { [index: number]: Derived }; -var b4: { [index: string]: Base }; +declare var a4: { [index: number]: Derived }; +declare var b4: { [index: string]: Base }; // operator < var r1a1 = a1 < b1; diff --git a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts index a293e6c1276f3..4c179f1fd0bb4 100644 --- a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts +++ b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts @@ -6,8 +6,8 @@ interface B1 { b?: string; } -var a: A1; -var b: B1; +declare var a: A1; +declare var b: B1; // operator < var ra1 = a < b; diff --git a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnProperty.ts b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnProperty.ts index a04c38d3506e5..5bc9af41ae117 100644 --- a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnProperty.ts +++ b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnProperty.ts @@ -14,10 +14,10 @@ class B2 { private a: string; } -var a1: A1; -var b1: B1; -var a2: A2; -var b2: B2; +declare var a1: A1; +declare var b1: B1; +declare var a2: A2; +declare var b2: B2; // operator < var r1a1 = a1 < b1; diff --git a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipPrimitiveType.ts b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipPrimitiveType.ts index 07ca640f38a5c..5626154a0ac31 100644 --- a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipPrimitiveType.ts +++ b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipPrimitiveType.ts @@ -1,10 +1,10 @@ enum E { a, b, c } -var a: number; -var b: boolean; -var c: string; -var d: void; -var e: E; +declare var a: number; +declare var b: boolean; +declare var c: string; +declare var d: void; +declare var e: E; // operator < var r1a1 = a < b; diff --git a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts index 16a0c4905ae35..94cf6d8a7e9da 100644 --- a/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts +++ b/tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts @@ -20,13 +20,13 @@ function foo(t: T) { var foo_r8 = null !== t; } -var a: boolean; -var b: number; -var c: string; -var d: void; -var e: E; -var f: {}; -var g: string[]; +declare var a: boolean; +declare var b: number; +declare var c: string; +declare var d: void; +declare var e: E; +declare var f: {}; +declare var g: string[]; // operator < var r1a1 = null < a; diff --git a/tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts b/tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts index 3087a728f1008..fcd7c16048688 100644 --- a/tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts +++ b/tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts @@ -5,12 +5,12 @@ var x: any; // invalid left operands // the left operand is required to be of type Any, the String primitive type, or the Number primitive type -var a1: boolean; -var a2: void; -var a3: {}; -var a4: E; -var a5: Foo | string; -var a6: Foo; +declare var a1: boolean; +declare var a2: void; +declare var a3: {}; +declare var a4: E; +declare var a5: Foo | string; +declare var a6: Foo; var ra1 = a1 in x; var ra2 = a2 in x; @@ -26,11 +26,11 @@ var ra11 = a6 in x; // invalid right operands // the right operand is required to be of type Any, an object type, or a type parameter type -var b1: number; -var b2: boolean; -var b3: string; -var b4: void; -var b5: string | number; +declare var b1: number; +declare var b2: boolean; +declare var b3: string; +declare var b4: void; +declare var b5: string | number; var rb1 = x in b1; var rb2 = x in b2; diff --git a/tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithValidOperands.ts b/tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithValidOperands.ts index 3ad3198276eba..3ef01e09c8474 100644 --- a/tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithValidOperands.ts +++ b/tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithValidOperands.ts @@ -2,10 +2,10 @@ var x: any; // valid left operands // the left operand is required to be of type Any, the String primitive type, or the Number primitive type -var a1: string; -var a2: number; -var a3: string | number | symbol; -var a4: any; +declare var a1: string; +declare var a2: number; +declare var a3: string | number | symbol; +declare var a4: any; var ra1 = x in x; var ra2 = a1 in x; @@ -17,7 +17,7 @@ var ra7 = a4 in x; // valid right operands // the right operand is required to be of type Any, an object type, or a type parameter type -var b1: {}; +declare var b1: {}; var rb1 = x in b1; var rb2 = x in {}; @@ -37,9 +37,9 @@ function unionCase2(t: T | object) { interface X { x: number } interface Y { y: number } -var c1: X | Y; -var c2: X; -var c3: Y; +declare var c1: X | Y; +declare var c2: X; +declare var c3: Y; var rc1 = x in c1; var rc2 = x in (c2 || c3); diff --git a/tests/cases/conformance/expressions/binaryOperators/instanceofOperator/instanceofOperatorWithInvalidOperands.es2015.ts b/tests/cases/conformance/expressions/binaryOperators/instanceofOperator/instanceofOperatorWithInvalidOperands.es2015.ts index d608292502dbf..21cd9b020759a 100644 --- a/tests/cases/conformance/expressions/binaryOperators/instanceofOperator/instanceofOperatorWithInvalidOperands.es2015.ts +++ b/tests/cases/conformance/expressions/binaryOperators/instanceofOperator/instanceofOperatorWithInvalidOperands.es2015.ts @@ -8,9 +8,9 @@ var x: any; // invalid left operand // the left operand is required to be of type Any, an object type, or a type parameter type -var a1: number; -var a2: boolean; -var a3: string; +declare var a1: number; +declare var a2: boolean; +declare var a3: string; var a4: void; var ra1 = a1 instanceof x; @@ -25,13 +25,13 @@ var ra9 = undefined instanceof x; // invalid right operand // the right operand to be of type Any or a subtype of the 'Function' interface type -var b1: number; -var b2: boolean; -var b3: string; +declare var b1: number; +declare var b2: boolean; +declare var b3: string; var b4: void; -var o1: {}; -var o2: Object; -var o3: C; +declare var o1: {}; +declare var o2: Object; +declare var o3: C; var rb1 = x instanceof b1; var rb2 = x instanceof b2; @@ -48,10 +48,10 @@ var rb10 = x instanceof o3; var rc1 = '' instanceof {}; // @@hasInstance restricts LHS -var o4: {[Symbol.hasInstance](value: { x: number }): boolean;}; -var o5: { y: string }; +declare var o4: {[Symbol.hasInstance](value: { x: number }): boolean;}; +declare var o5: { y: string }; var ra10 = o5 instanceof o4; // invalid @@hasInstance method return type on RHS -var o6: {[Symbol.hasInstance](value: unknown): number;}; +declare var o6: {[Symbol.hasInstance](value: unknown): number;}; var rb11 = x instanceof o6; \ No newline at end of file diff --git a/tests/cases/conformance/expressions/binaryOperators/instanceofOperator/instanceofOperatorWithInvalidOperands.ts b/tests/cases/conformance/expressions/binaryOperators/instanceofOperator/instanceofOperatorWithInvalidOperands.ts index e42b6a8b41f65..a8802d2680f08 100644 --- a/tests/cases/conformance/expressions/binaryOperators/instanceofOperator/instanceofOperatorWithInvalidOperands.ts +++ b/tests/cases/conformance/expressions/binaryOperators/instanceofOperator/instanceofOperatorWithInvalidOperands.ts @@ -6,9 +6,9 @@ var x: any; // invalid left operand // the left operand is required to be of type Any, an object type, or a type parameter type -var a1: number; -var a2: boolean; -var a3: string; +declare var a1: number; +declare var a2: boolean; +declare var a3: string; var a4: void; var ra1 = a1 instanceof x; @@ -23,13 +23,13 @@ var ra9 = undefined instanceof x; // invalid right operand // the right operand to be of type Any or a subtype of the 'Function' interface type -var b1: number; -var b2: boolean; -var b3: string; -var b4: void; -var o1: {}; -var o2: Object; -var o3: C; +declare var b1: number; +declare var b2: boolean; +declare var b3: string; +declare var b4: void; +declare var o1: {}; +declare var o2: Object; +declare var o3: C; var rb1 = x instanceof b1; var rb2 = x instanceof b2; diff --git a/tests/cases/conformance/expressions/binaryOperators/logicalAndOperator/logicalAndOperatorWithEveryType.ts b/tests/cases/conformance/expressions/binaryOperators/logicalAndOperator/logicalAndOperatorWithEveryType.ts index 034af8ed9823c..2fb6ceda7747e 100644 --- a/tests/cases/conformance/expressions/binaryOperators/logicalAndOperator/logicalAndOperatorWithEveryType.ts +++ b/tests/cases/conformance/expressions/binaryOperators/logicalAndOperator/logicalAndOperatorWithEveryType.ts @@ -4,13 +4,13 @@ enum E { a, b, c } var a1: any; -var a2: boolean; -var a3: number -var a4: string; -var a5: void; -var a6: E; -var a7: {}; -var a8: string[]; +declare var a2: boolean; +declare var a3: number; +declare var a4: string; +declare var a5: void; +declare var a6: E; +declare var a7: {}; +declare var a8: string[]; var ra1 = a1 && a1; var ra2 = a2 && a1; diff --git a/tests/cases/conformance/expressions/binaryOperators/logicalOrOperator/logicalOrOperatorWithEveryType.ts b/tests/cases/conformance/expressions/binaryOperators/logicalOrOperator/logicalOrOperatorWithEveryType.ts index 9ec124449f31d..5ad0fe3fc7059 100644 --- a/tests/cases/conformance/expressions/binaryOperators/logicalOrOperator/logicalOrOperatorWithEveryType.ts +++ b/tests/cases/conformance/expressions/binaryOperators/logicalOrOperator/logicalOrOperatorWithEveryType.ts @@ -6,13 +6,13 @@ enum E { a, b, c } var a1: any; -var a2: boolean; -var a3: number -var a4: string; -var a5: void; -var a6: E; -var a7: {a: string}; -var a8: string[]; +declare var a2: boolean; +declare var a3: number; +declare var a4: string; +declare var a5: void; +declare var a6: E; +declare var a7: {a: string}; +declare var a8: string[]; var ra1 = a1 || a1; // any || any is any var ra2 = a2 || a1; // boolean || any is any diff --git a/tests/cases/conformance/expressions/commaOperator/commaOperatorInvalidAssignmentType.ts b/tests/cases/conformance/expressions/commaOperator/commaOperatorInvalidAssignmentType.ts index b0eb6ec4d8b03..0971c7eb170b7 100644 --- a/tests/cases/conformance/expressions/commaOperator/commaOperatorInvalidAssignmentType.ts +++ b/tests/cases/conformance/expressions/commaOperator/commaOperatorInvalidAssignmentType.ts @@ -1,12 +1,12 @@ // @allowUnreachableCode: true -var BOOLEAN: boolean; -var NUMBER: number; -var STRING: string; +declare var BOOLEAN: boolean; +declare var NUMBER: number; +declare var STRING: string; -var resultIsBoolean: boolean -var resultIsNumber: number -var resultIsString: string +declare var resultIsBoolean: boolean +declare var resultIsNumber: number +declare var resultIsString: string //Expect errors when the results type is different form the second operand resultIsBoolean = (BOOLEAN, STRING); diff --git a/tests/cases/conformance/expressions/commaOperator/commaOperatorWithoutOperand.ts b/tests/cases/conformance/expressions/commaOperator/commaOperatorWithoutOperand.ts index dce2222c967c4..cfe9a270b54a1 100644 --- a/tests/cases/conformance/expressions/commaOperator/commaOperatorWithoutOperand.ts +++ b/tests/cases/conformance/expressions/commaOperator/commaOperatorWithoutOperand.ts @@ -1,9 +1,9 @@ // @allowUnreachableCode: false -var ANY: any; -var BOOLEAN: boolean; -var NUMBER: number; -var STRING: string; -var OBJECT: Object; +declare var ANY: any; +declare var BOOLEAN: boolean; +declare var NUMBER: number; +declare var STRING: string; +declare var OBJECT: Object; // Expect to have compiler errors // Missing the second operand diff --git a/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditionIsNumberType.ts b/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditionIsNumberType.ts index 2e2c39ef316b1..c1d72bacf76f9 100644 --- a/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditionIsNumberType.ts +++ b/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditionIsNumberType.ts @@ -1,17 +1,17 @@ //Cond ? Expr1 : Expr2, Cond is of number type, Expr1 and Expr2 have the same type -var condNumber: number; - -var exprAny1: any; -var exprBoolean1: boolean; -var exprNumber1: number; -var exprString1: string; -var exprIsObject1: Object; - -var exprAny2: any; -var exprBoolean2: boolean; -var exprNumber2: number; -var exprString2: string; -var exprIsObject2: Object; +declare var condNumber: number; + +declare var exprAny1: any; +declare var exprBoolean1: boolean; +declare var exprNumber1: number; +declare var exprString1: string; +declare var exprIsObject1: Object; + +declare var exprAny2: any; +declare var exprBoolean2: boolean; +declare var exprNumber2: number; +declare var exprString2: string; +declare var exprIsObject2: Object; //Cond is a number type variable condNumber ? exprAny1 : exprAny2; diff --git a/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditionIsObjectType.ts b/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditionIsObjectType.ts index 24b6970e12bca..85e916febcfcb 100644 --- a/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditionIsObjectType.ts +++ b/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditionIsObjectType.ts @@ -1,17 +1,17 @@ //Cond ? Expr1 : Expr2, Cond is of object type, Expr1 and Expr2 have the same type -var condObject: Object; - -var exprAny1: any; -var exprBoolean1: boolean; -var exprNumber1: number; -var exprString1: string; -var exprIsObject1: Object; - -var exprAny2: any; -var exprBoolean2: boolean; -var exprNumber2: number; -var exprString2: string; -var exprIsObject2: Object; +declare var condObject: Object; + +declare var exprAny1: any; +declare var exprBoolean1: boolean; +declare var exprNumber1: number; +declare var exprString1: string; +declare var exprIsObject1: Object; + +declare var exprAny2: any; +declare var exprBoolean2: boolean; +declare var exprNumber2: number; +declare var exprString2: string; +declare var exprIsObject2: Object; function foo() { }; class C { static doIt: () => void }; diff --git a/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditoinIsAnyType.ts b/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditoinIsAnyType.ts index 3a03dfdacaa67..669a70395e5c3 100644 --- a/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditoinIsAnyType.ts +++ b/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditoinIsAnyType.ts @@ -1,18 +1,18 @@ //Cond ? Expr1 : Expr2, Cond is of any type, Expr1 and Expr2 have the same type -var condAny: any; -var x: any; - -var exprAny1: any; -var exprBoolean1: boolean; -var exprNumber1: number; -var exprString1: string; -var exprIsObject1: Object; - -var exprAny2: any; -var exprBoolean2: boolean; -var exprNumber2: number; -var exprString2: string; -var exprIsObject2: Object; +declare var condAny: any; +declare var x: any; + +declare var exprAny1: any; +declare var exprBoolean1: boolean; +declare var exprNumber1: number; +declare var exprString1: string; +declare var exprIsObject1: Object; + +declare var exprAny2: any; +declare var exprBoolean2: boolean; +declare var exprNumber2: number; +declare var exprString2: string; +declare var exprIsObject2: Object; //Cond is an any type variable condAny ? exprAny1 : exprAny2; diff --git a/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditoinIsStringType.ts b/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditoinIsStringType.ts index e8f026d52e31a..a65f4d1467b91 100644 --- a/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditoinIsStringType.ts +++ b/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditoinIsStringType.ts @@ -1,17 +1,17 @@ //Cond ? Expr1 : Expr2, Cond is of string type, Expr1 and Expr2 have the same type -var condString: string; +declare var condString: string; -var exprAny1: any; -var exprBoolean1: boolean; -var exprNumber1: number; -var exprString1: string; -var exprIsObject1: Object; +declare var exprAny1: any; +declare var exprBoolean1: boolean; +declare var exprNumber1: number; +declare var exprString1: string; +declare var exprIsObject1: Object; -var exprAny2: any; -var exprBoolean2: boolean; -var exprNumber2: number; -var exprString2: string; -var exprIsObject2: Object; +declare var exprAny2: any; +declare var exprBoolean2: boolean; +declare var exprNumber2: number; +declare var exprString2: string; +declare var exprIsObject2: Object; //Cond is a string type variable condString ? exprAny1 : exprAny2; diff --git a/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorWithoutIdenticalBCT.ts b/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorWithoutIdenticalBCT.ts index f529b4fb9a065..89d2b6a0957cf 100644 --- a/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorWithoutIdenticalBCT.ts +++ b/tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorWithoutIdenticalBCT.ts @@ -3,9 +3,9 @@ class X { propertyX: any; propertyX1: number; propertyX2: string }; class A extends X { propertyA: number }; class B extends X { propertyB: string }; -var x: X; -var a: A; -var b: B; +declare var x: X; +declare var a: A; +declare var b: B; // No errors anymore, uses union types true ? a : b; diff --git a/tests/cases/conformance/expressions/functionCalls/callOverload.ts b/tests/cases/conformance/expressions/functionCalls/callOverload.ts index abd9b065c9128..c0e524a121ccc 100644 --- a/tests/cases/conformance/expressions/functionCalls/callOverload.ts +++ b/tests/cases/conformance/expressions/functionCalls/callOverload.ts @@ -1,7 +1,7 @@ declare function fn(x: any): void; declare function takeTwo(x: any, y: any): void; declare function withRest(a: any, ...args: Array): void; -var n: number[]; +declare var n: number[]; fn(1) // no error fn(1, 2, 3, 4) diff --git a/tests/cases/conformance/expressions/functionCalls/functionCalls.ts b/tests/cases/conformance/expressions/functionCalls/functionCalls.ts index 66a575193ce25..534c71c503f40 100644 --- a/tests/cases/conformance/expressions/functionCalls/functionCalls.ts +++ b/tests/cases/conformance/expressions/functionCalls/functionCalls.ts @@ -1,6 +1,6 @@ // Invoke function call on value of type 'any' with no type arguments -var anyVar: any; +declare var anyVar: any; anyVar(0); anyVar(''); @@ -15,7 +15,7 @@ anyVar(undefined); interface SubFunc extends Function { prop: number; } -var subFunc: SubFunc; +declare var subFunc: SubFunc; subFunc(0); subFunc(''); subFunc(); @@ -29,7 +29,7 @@ subFunc(); // Invoke function call on value of type Function with no call signatures with type arguments // These should be errors -var func: Function; +declare var func: Function; func(0); func(''); func(); diff --git a/tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts b/tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts index fc62f96ff70c5..b674d7358fa1b 100644 --- a/tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts +++ b/tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts @@ -17,7 +17,7 @@ interface fn1 { new (s: string): string; new (s: number): number; } -var fn1: fn1; +declare var fn1: fn1; // Ambiguous call picks the first overload in declaration order var s = new fn1(undefined); @@ -31,7 +31,7 @@ interface fn2 { new (s: string, n: number): number; new (n: number, t: T): T; } -var fn2: fn2; +declare var fn2: fn2; var d = new fn2(0, undefined); var d: Date; @@ -51,7 +51,7 @@ interface fn3 { new(s: string, t: T, u: U): U; new(v: V, u: U, t: T): number; } -var fn3: fn3; +declare var fn3: fn3; var s = new fn3(3); var s = new fn3('', 3, ''); @@ -71,7 +71,7 @@ interface fn4 { new(n: T, m: U); new(n: T, m: U); } -var fn4: fn4; +declare var fn4: fn4; new fn4('', 3); new fn4(3, ''); // Error @@ -96,6 +96,6 @@ interface fn5 { new(f: (n: string) => void): string; new(f: (n: number) => void): number; } -var fn5: fn5; +declare var fn5: fn5; var n = new fn5((n) => n.toFixed()); var s = new fn5((n) => n.substr(0)); diff --git a/tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts b/tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts index 3bcc2bd538943..a05e6a946d67e 100644 --- a/tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts +++ b/tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts @@ -2,7 +2,7 @@ interface NoParams { new (); } -var noParams: NoParams; +declare var noParams: NoParams; new noParams(); new noParams(); new noParams<{}>(); @@ -11,7 +11,7 @@ new noParams<{}>(); interface noGenericParams { new (n: string); } -var noGenericParams: noGenericParams; +declare var noGenericParams: noGenericParams; new noGenericParams(''); new noGenericParams(''); new noGenericParams<{}>(''); @@ -20,7 +20,7 @@ new noGenericParams<{}>(''); interface someGenerics1 { new (n: T, m: number); } -var someGenerics1: someGenerics1; +declare var someGenerics1: someGenerics1; new someGenerics1(3, 4); new someGenerics1(3, 4); // Error new someGenerics1(3, 4); @@ -29,7 +29,7 @@ new someGenerics1(3, 4); interface someGenerics2a { new (n: (x: T) => void); } -var someGenerics2a: someGenerics2a; +declare var someGenerics2a: someGenerics2a; new someGenerics2a((n: string) => n); new someGenerics2a((n: string) => n); new someGenerics2a((n) => n.substr(0)); @@ -37,7 +37,7 @@ new someGenerics2a((n) => n.substr(0)); interface someGenerics2b { new (n: (x: T, y: U) => void); } -var someGenerics2b: someGenerics2b; +declare var someGenerics2b: someGenerics2b; new someGenerics2b((n: string, x: number) => n); new someGenerics2b((n: string, t: number) => n); new someGenerics2b((n, t) => n.substr(t * t)); @@ -46,7 +46,7 @@ new someGenerics2b((n, t) => n.substr(t * t)); interface someGenerics3 { new (producer: () => T); } -var someGenerics3: someGenerics3; +declare var someGenerics3: someGenerics3; new someGenerics3(() => ''); new someGenerics3(() => undefined); new someGenerics3(() => 3); @@ -55,7 +55,7 @@ new someGenerics3(() => 3); interface someGenerics4 { new (n: T, f: (x: U) => void); } -var someGenerics4: someGenerics4; +declare var someGenerics4: someGenerics4; new someGenerics4(4, () => null); new someGenerics4('', () => 3); new someGenerics4('', (x: string) => ''); // Error @@ -65,7 +65,7 @@ new someGenerics4(null, null); interface someGenerics5 { new (n: T, f: (x: U) => void); } -var someGenerics5: someGenerics5; +declare var someGenerics5: someGenerics5; new someGenerics5(4, () => null); new someGenerics5('', () => 3); new someGenerics5('', (x: string) => ''); // Error @@ -75,7 +75,7 @@ new someGenerics5(null, null); interface someGenerics6 { new (a: (a: A) => A, b: (b: A) => A, c: (c: A) => A); } -var someGenerics6: someGenerics6; +declare var someGenerics6: someGenerics6; new someGenerics6(n => n, n => n, n => n); new someGenerics6(n => n, n => n, n => n); new someGenerics6((n: number) => n, (n: string) => n, (n: number) => n); // Error @@ -85,7 +85,7 @@ new someGenerics6((n: number) => n, (n: number) => n, (n: number) => n); interface someGenerics7 { new (a: (a: A) => A, b: (b: B) => B, c: (c: C) => C); } -var someGenerics7: someGenerics7; +declare var someGenerics7: someGenerics7; new someGenerics7(n => n, n => n, n => n); new someGenerics7(n => n, n => n, n => n); new someGenerics7((n: number) => n, (n: string) => n, (n: number) => n); @@ -94,7 +94,7 @@ new someGenerics7((n: number) => n, (n: string) => n, (n interface someGenerics8 { new (n: T): T; } -var someGenerics8: someGenerics8; +declare var someGenerics8: someGenerics8; var x = new someGenerics8(someGenerics7); new x(null, null, null); @@ -102,11 +102,11 @@ new x(null, null, null); interface someGenerics9 { new (a: T, b: T, c: T): T; } -var someGenerics9: someGenerics9; +declare var someGenerics9: someGenerics9; var a9a = new someGenerics9('', 0, []); -var a9a: {}; +declare var a9a: {}; var a9b = new someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); -var a9b: { a?: number; b?: string; }; +declare var a9b: { a?: number; b?: string; }; // Generic call with multiple parameters of generic type passed arguments with multiple best common types interface A91 { @@ -118,20 +118,20 @@ interface A92 { z?: Window; } var a9e = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); -var a9e: {}; +declare var a9e: {}; var a9f = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); -var a9f: A92; +declare var a9f: A92; // Generic call with multiple parameters of generic type passed arguments with a single best common type var a9d = new someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }); -var a9d: { x: number; }; +declare var a9d: { x: number; }; // Generic call with multiple parameters of generic type where one argument is of type 'any' -var anyVar: any; +declare var anyVar: any; var a = new someGenerics9(7, anyVar, 4); -var a: any; +declare var a: any; // Generic call with multiple parameters of generic type where one argument is [] and the other is not 'any' var arr = new someGenerics9([], null, undefined); -var arr: any[]; +declare var arr: any[]; diff --git a/tests/cases/conformance/expressions/identifiers/scopeResolutionIdentifiers.ts b/tests/cases/conformance/expressions/identifiers/scopeResolutionIdentifiers.ts index cfaf6a177888b..70e3169aa1e0d 100644 --- a/tests/cases/conformance/expressions/identifiers/scopeResolutionIdentifiers.ts +++ b/tests/cases/conformance/expressions/identifiers/scopeResolutionIdentifiers.ts @@ -2,25 +2,25 @@ var s: string; namespace M1 { - export var s: number; + export var s: number = 0; var n = s; var n: number; } namespace M2 { - var s: number; + var s: number = 0; var n = s; var n: number; } function fn() { - var s: boolean; + var s: boolean = false; var n = s; var n: boolean; } class C { - s: Date; + s!: Date; n = this.s; x() { var p = this.n; diff --git a/tests/cases/conformance/expressions/propertyAccess/propertyAccess.ts b/tests/cases/conformance/expressions/propertyAccess/propertyAccess.ts index d5ea7e6e06a23..c5df48cc118e9 100644 --- a/tests/cases/conformance/expressions/propertyAccess/propertyAccess.ts +++ b/tests/cases/conformance/expressions/propertyAccess/propertyAccess.ts @@ -1,8 +1,8 @@ class A { - a: number; + a!: number; } class B extends A { - b: number; + b!: number; } enum Compass { North, South, East, West @@ -10,7 +10,7 @@ enum Compass { var numIndex: { [n: number]: string } = { 3: 'three', 'three': 'three' }; var strIndex: { [n: string]: Compass } = { 'N': Compass.North, 'E': Compass.East }; -var bothIndex: +declare var bothIndex: { [n: string]: A; [m: number]: B; @@ -26,8 +26,8 @@ var obj = { 'literal property': 100 }; var anyVar: any = {}; -var stringOrNumber: string | number; -var someObject: { name: string }; +declare var stringOrNumber: string | number; +declare var someObject: { name: string }; // Assign to a property access obj.y = 4; diff --git a/tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignature.ts b/tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignature.ts index 7faf758bc9f60..865b800590a36 100644 --- a/tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignature.ts +++ b/tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignature.ts @@ -1,11 +1,12 @@ +// @noImplicitAny: true, false interface Flags { [name: string]: boolean }; -let flags: Flags; +declare let flags: Flags; flags.b; flags.f; flags.isNotNecessarilyNeverFalse; flags['this is fine']; interface Empty { } -let empty: Empty; +declare let empty: Empty; empty.nope; empty["that's ok"]; diff --git a/tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignatureNoImplicitAny.ts b/tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignatureNoImplicitAny.ts deleted file mode 100644 index bfb64c6098ac5..0000000000000 --- a/tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignatureNoImplicitAny.ts +++ /dev/null @@ -1,12 +0,0 @@ -// @noImplicitAny: true -interface Flags { [name: string]: boolean } -let flags: Flags; -flags.b; -flags.f; -flags.isNotNecessarilyNeverFalse; -flags['this is fine']; - -interface Empty { } -let empty: Empty; -empty.nope; -empty["not allowed either"]; diff --git a/tests/cases/conformance/expressions/thisKeyword/typeOfThisGeneral.ts b/tests/cases/conformance/expressions/thisKeyword/typeOfThisGeneral.ts index 99d6a50b00102..cd651f54867e6 100644 --- a/tests/cases/conformance/expressions/thisKeyword/typeOfThisGeneral.ts +++ b/tests/cases/conformance/expressions/thisKeyword/typeOfThisGeneral.ts @@ -7,28 +7,28 @@ class MyTestClass { constructor() { //type of 'this' in constructor body is the class instance type var p = this.canary; - var p: number; + var p!: number; this.canary = 3; } //type of 'this' in member function param list is the class instance type memberFunc(t = this) { - var t: MyTestClass; + var t!: MyTestClass; //type of 'this' in member function body is the class instance type var p = this; - var p: MyTestClass; + var p!: MyTestClass; } //type of 'this' in member accessor(get and set) body is the class instance type get prop() { var p = this; - var p: MyTestClass; + var p!: MyTestClass; return this; } set prop(v) { var p = this; - var p: MyTestClass; + var p!: MyTestClass; p = v; v = p; } @@ -36,18 +36,18 @@ class MyTestClass { someFunc = () => { //type of 'this' in member variable initializer is the class instance type var t = this; - var t: MyTestClass; + var t!: MyTestClass; }; //type of 'this' in static function param list is constructor function type static staticFn(t = this) { - var t: typeof MyTestClass; + var t!: typeof MyTestClass; var t = MyTestClass; t.staticCanary; //type of 'this' in static function body is constructor function type var p = this; - var p: typeof MyTestClass; + var p!: typeof MyTestClass; var p = MyTestClass; p.staticCanary; } @@ -55,7 +55,7 @@ class MyTestClass { static get staticProp() { //type of 'this' in static accessor body is constructor function type var p = this; - var p: typeof MyTestClass; + var p!: typeof MyTestClass; var p = MyTestClass; p.staticCanary; return this; @@ -63,7 +63,7 @@ class MyTestClass { static set staticProp(v: typeof MyTestClass) { //type of 'this' in static accessor body is constructor function type var p = this; - var p: typeof MyTestClass; + var p!: typeof MyTestClass; var p = MyTestClass; p.staticCanary; } @@ -76,28 +76,28 @@ class MyGenericTestClass { constructor() { //type of 'this' in constructor body is the class instance type var p = this.canary; - var p: number; + var p!: number; this.canary = 3; } //type of 'this' in member function param list is the class instance type memberFunc(t = this) { - var t: MyGenericTestClass; + var t!: MyGenericTestClass; //type of 'this' in member function body is the class instance type var p = this; - var p: MyGenericTestClass; + var p!: MyGenericTestClass; } //type of 'this' in member accessor(get and set) body is the class instance type get prop() { var p = this; - var p: MyGenericTestClass; + var p!: MyGenericTestClass; return this; } set prop(v) { var p = this; - var p: MyGenericTestClass; + var p!: MyGenericTestClass; p = v; v = p; } @@ -105,18 +105,18 @@ class MyGenericTestClass { someFunc = () => { //type of 'this' in member variable initializer is the class instance type var t = this; - var t: MyGenericTestClass; + var t!: MyGenericTestClass; }; //type of 'this' in static function param list is constructor function type static staticFn(t = this) { - var t: typeof MyGenericTestClass; + var t!: typeof MyGenericTestClass; var t = MyGenericTestClass; t.staticCanary; //type of 'this' in static function body is constructor function type var p = this; - var p: typeof MyGenericTestClass; + var p!: typeof MyGenericTestClass; var p = MyGenericTestClass; p.staticCanary; } @@ -124,7 +124,7 @@ class MyGenericTestClass { static get staticProp() { //type of 'this' in static accessor body is constructor function type var p = this; - var p: typeof MyGenericTestClass; + var p!: typeof MyGenericTestClass; var p = MyGenericTestClass; p.staticCanary; return this; @@ -132,7 +132,7 @@ class MyGenericTestClass { static set staticProp(v: typeof MyGenericTestClass) { //type of 'this' in static accessor body is constructor function type var p = this; - var p: typeof MyGenericTestClass; + var p!: typeof MyGenericTestClass; var p = MyGenericTestClass; p.staticCanary; } @@ -140,39 +140,39 @@ class MyGenericTestClass { //type of 'this' in a function declaration param list is Any function fn(s = this) { - var s: any; + var s!: any; s.spaaaaaaace = 4; //type of 'this' in a function declaration body is Any - var t: any; + var t!: any; var t = this; this.spaaaaace = 4; } //type of 'this' in a function expression param list list is Any var q1 = function (s = this) { - var s: any; + var s!: any; s.spaaaaaaace = 4; //type of 'this' in a function expression body is Any - var t: any; + var t!: any; var t = this; this.spaaaaace = 4; } //type of 'this' in a fat arrow expression param list is typeof globalThis var q2 = (s = this) => { - var s: typeof globalThis; + var s!: typeof globalThis; s.spaaaaaaace = 4; //type of 'this' in a fat arrow expression body is typeof globalThis - var t: typeof globalThis; + var t!: typeof globalThis; var t = this; this.spaaaaace = 4; } -//type of 'this' in global module is GlobalThis -var t: typeof globalThis; +//type of 'this' in global namespace is GlobalThis +var t!: typeof globalThis; var t = this; this.spaaaaace = 4; diff --git a/tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts b/tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts index f30eafb39188c..7b2c75757bec9 100644 --- a/tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts +++ b/tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts @@ -4,8 +4,8 @@ function fn2(t: any) { } fn1(fn2(4)); // Error -var a: any; -var s: string; +declare var a: any; +declare var s: string; // Type assertion of non - unary expression var a = "" + 4; @@ -39,8 +39,8 @@ someOther = someBase; // Error someOther = someOther; // Type assertion cannot be a type-predicate type -var numOrStr: number | string; -var str: string; +declare var numOrStr: number | string; +declare var str: string; if((numOrStr === undefined)) { // Error str = numOrStr; // Error, no narrowing occurred } diff --git a/tests/cases/conformance/expressions/typeGuards/typeGuardFunctionOfFormThisErrors.ts b/tests/cases/conformance/expressions/typeGuards/typeGuardFunctionOfFormThisErrors.ts index 1c449e624f15c..68d2713e17a1b 100644 --- a/tests/cases/conformance/expressions/typeGuards/typeGuardFunctionOfFormThisErrors.ts +++ b/tests/cases/conformance/expressions/typeGuards/typeGuardFunctionOfFormThisErrors.ts @@ -31,7 +31,7 @@ function invalidGuard(c: any): this is number { return false; } -let c: number | number[]; +declare var c: number | number[]; if (invalidGuard(c)) { c; } diff --git a/tests/cases/conformance/expressions/typeGuards/typeGuardInClass.ts b/tests/cases/conformance/expressions/typeGuards/typeGuardInClass.ts index aa394aaa75b99..d520656569e13 100644 --- a/tests/cases/conformance/expressions/typeGuards/typeGuardInClass.ts +++ b/tests/cases/conformance/expressions/typeGuards/typeGuardInClass.ts @@ -1,4 +1,4 @@ -let x: string | number; +declare var x: string | number; if (typeof x === "string") { let n = class { diff --git a/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormThisMember.ts b/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormThisMember.ts index decf6d99353eb..118463748c7c9 100644 --- a/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormThisMember.ts +++ b/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormThisMember.ts @@ -60,7 +60,7 @@ namespace Test { isFollower: this is GenericFollowerGuard; } - let guard: GenericGuard; + declare var guard: GenericGuard; if (guard.isLeader) { guard.lead(); } @@ -76,7 +76,7 @@ namespace Test { do(): void; } - let general: SpecificGuard; + declare var general: SpecificGuard; if (general.isMoreSpecific) { general.do(); } diff --git a/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts b/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts index 03d650ad6261f..4b4cd755702e9 100644 --- a/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts +++ b/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts @@ -1,9 +1,9 @@ class C { private p: string }; -var strOrNum: string | number; -var strOrBool: string | boolean; -var numOrBool: number | boolean -var strOrC: string | C; +declare var strOrNum: string | number; +declare var strOrBool: string | boolean; +declare var numOrBool: number | boolean; +declare var strOrC: string | C; // typeof x == s has not effect on typeguard if (typeof strOrNum == "string") { diff --git a/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts b/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts index 19d5495fcbba9..f20709e8c90bf 100644 --- a/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts +++ b/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts @@ -1,9 +1,9 @@ class C { private p: string }; -var strOrNum: string | number; -var strOrBool: string | boolean; -var numOrBool: number | boolean -var strOrC: string | C; +declare var strOrNum: string | number; +declare var strOrBool: string | boolean; +declare var numOrBool: number | boolean; +declare var strOrC: string | C; // typeof x != s has not effect on typeguard if (typeof strOrNum != "string") { diff --git a/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfOther.ts b/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfOther.ts index 92b3103723e57..c072576ec7160 100644 --- a/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfOther.ts +++ b/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfOther.ts @@ -7,9 +7,9 @@ var strOrNum: string | number; var strOrBool: string | boolean; var numOrBool: number | boolean var strOrNumOrBool: string | number | boolean; -var strOrC: string | C; -var numOrC: number | C; -var boolOrC: boolean | C; +declare var strOrC: string | C; +declare var numOrC: number | C; +declare var boolOrC: boolean | C; var emptyObj: {}; var c: C; diff --git a/tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts b/tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts index 39febe097edc0..99add0b7bac11 100644 --- a/tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts +++ b/tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts @@ -6,13 +6,13 @@ interface A { } declare var A: AConstructor; -var obj1: A | string; +declare var obj1: A | string; if (obj1 instanceof A) { // narrowed to A. obj1.foo; obj1.bar; } -var obj2: any; +declare var obj2: any; if (obj2 instanceof A) { obj2.foo; obj2.bar; @@ -27,14 +27,14 @@ interface B { } declare var B: BConstructor; -var obj3: B | string; +declare var obj3: B | string; if (obj3 instanceof B) { // narrowed to B. obj3.foo = 1; obj3.foo = "str"; obj3.bar = "str"; } -var obj4: any; +declare var obj4: any; if (obj4 instanceof B) { obj4.foo = "str"; obj4.foo = 1; @@ -58,7 +58,7 @@ interface C2 { } declare var C: CConstructor; -var obj5: C1 | A; +declare var obj5: C1 | A; if (obj5 instanceof C) { // narrowed to C1. obj5.foo; obj5.c; @@ -66,7 +66,7 @@ if (obj5 instanceof C) { // narrowed to C1. obj5.bar2; } -var obj6: any; +declare var obj6: any; if (obj6 instanceof C) { obj6.foo; obj6.bar1; @@ -79,13 +79,13 @@ interface D { } declare var D: { new (): D; }; -var obj7: D | string; +declare var obj7: D | string; if (obj7 instanceof D) { // narrowed to D. obj7.foo; obj7.bar; } -var obj8: any; +declare var obj8: any; if (obj8 instanceof D) { obj8.foo; obj8.bar; @@ -105,14 +105,14 @@ interface E2 { } declare var E: EConstructor; -var obj9: E1 | A; +declare var obj9: E1 | A; if (obj9 instanceof E) { // narrowed to E1 obj9.foo; obj9.bar1; obj9.bar2; } -var obj10: any; +declare var obj10: any; if (obj10 instanceof E) { obj10.foo; obj10.bar1; @@ -129,13 +129,13 @@ interface F { } declare var F: FConstructor; -var obj11: F | string; +declare var obj11: F | string; if (obj11 instanceof F) { // can't type narrowing, construct signature returns any. obj11.foo; obj11.bar; } -var obj12: any; +declare var obj12: any; if (obj12 instanceof F) { obj12.foo; obj12.bar; @@ -154,13 +154,13 @@ interface G2 { } declare var G: GConstructor; -var obj13: G1 | G2; +declare var obj13: G1 | G2; if (obj13 instanceof G) { // narrowed to G1. G1 is return type of prototype property. obj13.foo1; obj13.foo2; } -var obj14: any; +declare var obj14: any; if (obj14 instanceof G) { obj14.foo1; obj14.foo2; @@ -176,25 +176,25 @@ interface H { } declare var H: HConstructor; -var obj15: H | string; +declare var obj15: H | string; if (obj15 instanceof H) { // narrowed to H. obj15.foo; obj15.bar; } -var obj16: any; +declare var obj16: any; if (obj16 instanceof H) { obj16.foo1; obj16.foo2; } -var obj17: any; +declare var obj17: any; if (obj17 instanceof Object) { // can't narrow type from 'any' to 'Object' obj17.foo1; obj17.foo2; } -var obj18: any; +declare var obj18: any; if (obj18 instanceof Function) { // can't narrow type from 'any' to 'Function' obj18.foo1; obj18.foo2; diff --git a/tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfBySymbolHasInstance.ts b/tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfBySymbolHasInstance.ts index d47a87a483548..bbb4e97e363bf 100644 --- a/tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfBySymbolHasInstance.ts +++ b/tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfBySymbolHasInstance.ts @@ -9,13 +9,13 @@ interface A { } declare var A: AConstructor; -var obj1: A | string; +declare var obj1: A | string; if (obj1 instanceof A) { // narrowed to A. obj1.foo; obj1.bar; } -var obj2: any; +declare var obj2: any; if (obj2 instanceof A) { obj2.foo; obj2.bar; @@ -31,14 +31,14 @@ interface B { } declare var B: BConstructor; -var obj3: B | string; +declare var obj3: B | string; if (obj3 instanceof B) { // narrowed to B. obj3.foo = 1; obj3.foo = "str"; obj3.bar = "str"; } -var obj4: any; +declare var obj4: any; if (obj4 instanceof B) { obj4.foo = "str"; obj4.foo = 1; @@ -63,7 +63,7 @@ interface C2 { } declare var C: CConstructor; -var obj5: C1 | A; +declare var obj5: C1 | A; if (obj5 instanceof C) { // narrowed to C1. obj5.foo; obj5.c; @@ -71,7 +71,7 @@ if (obj5 instanceof C) { // narrowed to C1. obj5.bar2; } -var obj6: any; +declare var obj6: any; if (obj6 instanceof C) { obj6.foo; obj6.bar1; @@ -87,13 +87,13 @@ declare var D: { [Symbol.hasInstance](value: unknown): value is D; }; -var obj7: D | string; +declare var obj7: D | string; if (obj7 instanceof D) { // narrowed to D. obj7.foo; obj7.bar; } -var obj8: any; +declare var obj8: any; if (obj8 instanceof D) { obj8.foo; obj8.bar; @@ -114,14 +114,14 @@ interface E2 { } declare var E: EConstructor; -var obj9: E1 | A; +declare var obj9: E1 | A; if (obj9 instanceof E) { // narrowed to E1 obj9.foo; obj9.bar1; obj9.bar2; } -var obj10: any; +declare var obj10: any; if (obj10 instanceof E) { obj10.foo; obj10.bar1; @@ -139,13 +139,13 @@ interface F { } declare var F: FConstructor; -var obj11: F | string; +declare var obj11: F | string; if (obj11 instanceof F) { // can't type narrowing, construct signature returns any. obj11.foo; obj11.bar; } -var obj12: any; +declare var obj12: any; if (obj12 instanceof F) { obj12.foo; obj12.bar; @@ -165,13 +165,13 @@ interface G2 { } declare var G: GConstructor; -var obj13: G1 | G2; +declare var obj13: G1 | G2; if (obj13 instanceof G) { // narrowed to G1. G1 is return type of prototype property. obj13.foo1; obj13.foo2; } -var obj14: any; +declare var obj14: any; if (obj14 instanceof G) { obj14.foo1; obj14.foo2; @@ -188,25 +188,25 @@ interface H { } declare var H: HConstructor; -var obj15: H | string; +declare var obj15: H | string; if (obj15 instanceof H) { // narrowed to H. obj15.foo; obj15.bar; } -var obj16: any; +declare var obj16: any; if (obj16 instanceof H) { obj16.foo1; obj16.foo2; } -var obj17: any; +declare var obj17: any; if (obj17 instanceof Object) { // can't narrow type from 'any' to 'Object' obj17.foo1; obj17.foo2; } -var obj18: any; +declare var obj18: any; if (obj18 instanceof Function) { // can't narrow type from 'any' to 'Function' obj18.foo1; obj18.foo2; diff --git a/tests/cases/conformance/expressions/unaryOperators/bitwiseNotOperator/bitwiseNotOperatorWithAnyOtherType.ts b/tests/cases/conformance/expressions/unaryOperators/bitwiseNotOperator/bitwiseNotOperatorWithAnyOtherType.ts index b7b63b1371dcd..29d3f1932e5aa 100644 --- a/tests/cases/conformance/expressions/unaryOperators/bitwiseNotOperator/bitwiseNotOperatorWithAnyOtherType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/bitwiseNotOperator/bitwiseNotOperatorWithAnyOtherType.ts @@ -2,11 +2,11 @@ // ~ operator on any type -var ANY: any; -var ANY1; -var ANY2: any[] = ["", ""]; -var obj: () => {} -var obj1 = { x:"", y: () => { }}; +declare var ANY: any; +declare var ANY1; +declare var ANY2: any[]; +declare var obj: () => {}; +declare var obj1: { x:"", y: () => { }}; function foo(): any { var a; @@ -20,9 +20,9 @@ class A { } } namespace M { - export var n: any; + export declare var n: any; } -var objA = new A(); +declare var objA: A; // any other type var var ResultIsNumber = ~ANY1; diff --git a/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithAnyOtherTypeInvalidOperations.ts b/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithAnyOtherTypeInvalidOperations.ts index 610fea7443c4a..cbcbd14b5fcb5 100644 --- a/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithAnyOtherTypeInvalidOperations.ts +++ b/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithAnyOtherTypeInvalidOperations.ts @@ -1,8 +1,8 @@ // -- operator on any type -var ANY1: any; +declare var ANY1: any; var ANY2: any[] = ["", ""]; -var obj: () => {} +declare var obj: () => {} var obj1 = { x: "", y: () => { } }; function foo(): any { var a; diff --git a/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithNumberTypeInvalidOperations.ts b/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithNumberTypeInvalidOperations.ts index 1e9d96107c888..55e011a613422 100644 --- a/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithNumberTypeInvalidOperations.ts +++ b/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithNumberTypeInvalidOperations.ts @@ -1,5 +1,5 @@ // -- operator on number type -var NUMBER: number; +declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } diff --git a/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithUnsupportedBooleanType.ts b/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithUnsupportedBooleanType.ts index 617417c72520a..91e49a5719112 100644 --- a/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithUnsupportedBooleanType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithUnsupportedBooleanType.ts @@ -1,5 +1,5 @@ // -- operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; function foo(): boolean { return true; } diff --git a/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithUnsupportedStringType.ts b/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithUnsupportedStringType.ts index 4b9658a207728..8313dbd93ff60 100644 --- a/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithUnsupportedStringType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithUnsupportedStringType.ts @@ -1,5 +1,5 @@ // -- operator on string type -var STRING: string; +declare var STRING: string; var STRING1: string[] = ["", ""]; function foo(): string { return ""; } diff --git a/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts b/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts index 3954f64481f97..91fdec9e5337e 100644 --- a/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts @@ -1,9 +1,9 @@ // delete operator on any type -var ANY: any; -var ANY1; +declare var ANY: any; +declare var ANY1; var ANY2: any[] = ["", ""]; -var obj: () => {}; +declare var obj: () => {}; var obj1 = { x: "", y: () => { }}; function foo(): any { var a; diff --git a/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithBooleanType.ts b/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithBooleanType.ts index c574445954352..49601e062b8ad 100644 --- a/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithBooleanType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithBooleanType.ts @@ -1,5 +1,5 @@ // delete operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; function foo(): boolean { return true; } diff --git a/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithNumberType.ts b/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithNumberType.ts index 8ce9862705d94..12c562abd124c 100644 --- a/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithNumberType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithNumberType.ts @@ -1,5 +1,5 @@ // delete operator on number type -var NUMBER: number; +declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } diff --git a/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithStringType.ts b/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithStringType.ts index 90a2a9bc3a9f1..c4d8f9979a2d8 100644 --- a/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithStringType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithStringType.ts @@ -1,5 +1,5 @@ // delete operator on string type -var STRING: string; +declare var STRING: string; var STRING1: string[] = ["", "abc"]; function foo(): string { return "abc"; } diff --git a/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithAnyOtherTypeInvalidOperations.ts b/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithAnyOtherTypeInvalidOperations.ts index c5df5cb53a022..e8ef25e450345 100644 --- a/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithAnyOtherTypeInvalidOperations.ts +++ b/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithAnyOtherTypeInvalidOperations.ts @@ -2,7 +2,7 @@ var ANY1: any; var ANY2: any[] = [1, 2]; -var obj: () => {} +declare var obj: () => {} var obj1 = { x: "", y: () => { } }; function foo(): any { var a; diff --git a/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithNumberTypeInvalidOperations.ts b/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithNumberTypeInvalidOperations.ts index 6485392c3e4bc..ead050ca5fd37 100644 --- a/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithNumberTypeInvalidOperations.ts +++ b/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithNumberTypeInvalidOperations.ts @@ -1,11 +1,11 @@ // ++ operator on number type -var NUMBER: number; +declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } class A { - public a: number; + public a!: number; static foo() { return 1; } } namespace M { diff --git a/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithUnsupportedBooleanType.ts b/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithUnsupportedBooleanType.ts index 7985957cee984..998a564b3e221 100644 --- a/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithUnsupportedBooleanType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithUnsupportedBooleanType.ts @@ -1,10 +1,10 @@ // ++ operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; function foo(): boolean { return true; } class A { - public a: boolean; + public a!: boolean; static foo() { return true; } } namespace M { diff --git a/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithUnsupportedStringType.ts b/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithUnsupportedStringType.ts index af73a815238f9..b70a81b99175b 100644 --- a/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithUnsupportedStringType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithUnsupportedStringType.ts @@ -1,11 +1,11 @@ // ++ operator on string type -var STRING: string; +declare var STRING: string; var STRING1: string[] = ["", ""]; function foo(): string { return ""; } class A { - public a: string; + public a!: string; static foo() { return ""; } } namespace M { diff --git a/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorInvalidOperations.ts b/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorInvalidOperations.ts index 5e535a2f8e389..c4ee042263f97 100644 --- a/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorInvalidOperations.ts +++ b/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorInvalidOperations.ts @@ -1,5 +1,5 @@ // Unary operator ! -var b: number; +declare var b: number; // operand before ! var BOOLEAN1 = b!; //expect error diff --git a/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithAnyOtherType.ts b/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithAnyOtherType.ts index a82a6e9625d77..b7723bc7aa385 100644 --- a/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithAnyOtherType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithAnyOtherType.ts @@ -3,7 +3,7 @@ var ANY: any; var ANY1; var ANY2: any[] = ["", ""]; -var obj: () => {} +declare var obj: () => {} var obj1 = { x: "", y: () => { }}; function foo(): any { var a; diff --git a/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithBooleanType.ts b/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithBooleanType.ts index f8e530b348541..bd191eb9400c4 100644 --- a/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithBooleanType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithBooleanType.ts @@ -1,14 +1,14 @@ // ! operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; function foo(): boolean { return true; } class A { - public a: boolean; + public a!: boolean; static foo() { return false; } } namespace M { - export var n: boolean; + export declare var n: boolean; } var objA = new A(); diff --git a/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithNumberType.ts b/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithNumberType.ts index 492d06084dcb6..8cd379be629ea 100644 --- a/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithNumberType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithNumberType.ts @@ -1,15 +1,15 @@ // ! operator on number type -var NUMBER: number; +declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } class A { - public a: number; + public a!: number; static foo() { return 1; } } namespace M { - export var n: number; + export declare var n: number; } var objA = new A(); diff --git a/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithStringType.ts b/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithStringType.ts index 84c311fcfffa6..c7ad76523a714 100644 --- a/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithStringType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithStringType.ts @@ -1,15 +1,15 @@ // ! operator on string type -var STRING: string; +declare var STRING: string; var STRING1: string[] = ["", "abc"]; function foo(): string { return "abc"; } class A { - public a: string; + public a!: string; static foo() { return ""; } } namespace M { - export var n: string; + export declare var n: string; } var objA = new A(); diff --git a/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithAnyOtherType.ts b/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithAnyOtherType.ts index 1bc646fc84dda..6a0196d271727 100644 --- a/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithAnyOtherType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithAnyOtherType.ts @@ -11,7 +11,7 @@ function foo(): any { return a; } class A { - public a: any; + public a!: any; static foo(): any { var a; return a; diff --git a/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithBooleanType.ts b/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithBooleanType.ts index 9f2a6a21c2a88..315364d25b425 100644 --- a/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithBooleanType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithBooleanType.ts @@ -1,14 +1,14 @@ // - operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; function foo(): boolean { return true; } class A { - public a: boolean; + public a!: boolean; static foo() { return false; } } namespace M { - export var n: boolean; + export declare var n: boolean; } var objA = new A(); diff --git a/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithNumberType.ts b/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithNumberType.ts index 681b71e87bb7a..7b149145176bd 100644 --- a/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithNumberType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithNumberType.ts @@ -1,15 +1,15 @@ // - operator on number type -var NUMBER: number; +declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } class A { - public a: number; + public a!: number; static foo() { return 1; } } namespace M { - export var n: number; + export declare var n: number; } var objA = new A(); diff --git a/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithStringType.ts b/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithStringType.ts index d2f4480689b2f..e51cecc13146b 100644 --- a/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithStringType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithStringType.ts @@ -1,15 +1,15 @@ // - operator on string type -var STRING: string; +declare var STRING: string; var STRING1: string[] = ["", "abc"]; function foo(): string { return "abc"; } class A { - public a: string; + public a!: string; static foo() { return ""; } } namespace M { - export var n: string; + export var n: string = ""; } var objA = new A(); diff --git a/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithAnyOtherType.ts b/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithAnyOtherType.ts index 0f858adad6068..4d564fa7b0830 100644 --- a/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithAnyOtherType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithAnyOtherType.ts @@ -1,24 +1,24 @@ // + operator on any type -var ANY: any; -var ANY1; +declare var ANY: any; +declare var ANY1: any; var ANY2: any[] = ["", ""]; -var obj: () => {} +declare var obj: () => {} var obj1 = { x: (s: string) => { }, y: (s1) => { }}; function foo(): any { - var a; + var a = undefined; return a; } class A { - public a: any; + public a!: any; static foo() { - var a; + var a: any = undefined; return a; } } namespace M { - export var n: any; + export var n: any = undefined; } var objA = new A(); diff --git a/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithBooleanType.ts b/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithBooleanType.ts index f636ee849fd96..e9b64121701c0 100644 --- a/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithBooleanType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithBooleanType.ts @@ -1,14 +1,14 @@ // + operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; function foo(): boolean { return true; } class A { - public a: boolean; + public a!: boolean; static foo() { return false; } } namespace M { - export var n: boolean; + export var n: boolean = false; } var objA = new A(); diff --git a/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithNumberType.ts b/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithNumberType.ts index eae2f4a373f02..68a76d08b4333 100644 --- a/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithNumberType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithNumberType.ts @@ -1,15 +1,15 @@ // + operator on number type -var NUMBER: number; +declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } class A { - public a: number; + public a!: number; static foo() { return 1; } } namespace M { - export var n: number; + export var n: number = 0; } var objA = new A(); diff --git a/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithStringType.ts b/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithStringType.ts index 2ba0f993c0fa1..573bb5b472e52 100644 --- a/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithStringType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithStringType.ts @@ -1,15 +1,15 @@ // + operator on string type -var STRING: string; +declare var STRING: string; var STRING1: string[] = ["", "abc"]; function foo(): string { return "abc"; } class A { - public a: string; + public a!: string; static foo() { return ""; } } namespace M { - export var n: string; + export var n: string = ""; } var objA = new A(); diff --git a/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithAnyOtherType.ts b/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithAnyOtherType.ts index 1914d968045c2..5b09027f35758 100644 --- a/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithAnyOtherType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithAnyOtherType.ts @@ -1,24 +1,25 @@ +// @noImplicitAny: false // typeof operator on any type -var ANY: any; -var ANY1; +declare var ANY: any; +declare var ANY1; var ANY2: any[] = ["", ""]; -var obj: () => {} +declare var obj: () => {}; var obj1 = { x: "a", y: () => { }}; function foo(): any { - var a; + var a!: any; return a; } class A { public a: any; static foo() { - var a; + var a!: any; return a; } } namespace M { - export var n: any; + export var n!: any; } var objA = new A(); @@ -62,9 +63,9 @@ typeof objA.a; typeof M.n; // use typeof in type query -var z: any; -var x: any[]; -var r: () => any; +var z!: any; +var x!: any[]; +var r!: () => any; z: typeof ANY; x: typeof ANY2; r: typeof foo; diff --git a/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithBooleanType.ts b/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithBooleanType.ts index 5a4bf1abe9e4c..80f874339e6db 100644 --- a/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithBooleanType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithBooleanType.ts @@ -1,7 +1,8 @@ +// @noImplicitAny: false // @allowUnusedLabels: true // typeof operator on boolean type -var BOOLEAN: boolean; +declare var BOOLEAN: boolean; function foo(): boolean { return true; } @@ -10,7 +11,7 @@ class A { static foo() { return false; } } namespace M { - export var n: boolean; + export var n!: boolean; } var objA = new A(); @@ -40,9 +41,9 @@ typeof objA.a; typeof M.n; // use typeof in type query -var z: boolean; -var x: boolean[]; -var r: () => boolean; +declare var z: boolean; +declare var x: boolean[]; +declare var r: () => boolean; z: typeof BOOLEAN; r: typeof foo; var y = { a: true, b: false}; diff --git a/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithNumberType.ts b/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithNumberType.ts index eec41e9ba6c44..a13cfd2b58268 100644 --- a/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithNumberType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithNumberType.ts @@ -1,6 +1,6 @@ // @allowUnusedLabels: true // typeof operator on number type -var NUMBER: number; +declare var NUMBER: number; var NUMBER1: number[] = [1, 2]; function foo(): number { return 1; } @@ -10,7 +10,7 @@ class A { static foo() { return 1; } } namespace M { - export var n: number; + export var n!: number; } var objA = new A(); @@ -46,8 +46,9 @@ typeof M.n; typeof objA.a, M.n; // use typeof in type query -var z: number; -var x: number[]; +declare var z: number; +declare var x: number[]; +declare var r: () => number; z: typeof NUMBER; x: typeof NUMBER1; r: typeof foo; diff --git a/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithStringType.ts b/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithStringType.ts index 4e9a19464fb64..9b56ac7b8878a 100644 --- a/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithStringType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithStringType.ts @@ -1,5 +1,5 @@ // typeof operator on string type -var STRING: string; +declare var STRING: string; var STRING1: string[] = ["", "abc"]; function foo(): string { return "abc"; } @@ -9,7 +9,7 @@ class A { static foo() { return ""; } } namespace M { - export var n: string; + export var n!: string; } var objA = new A(); @@ -44,9 +44,9 @@ typeof foo(); typeof objA.a, M.n; // use typeof in type query -var z: string; -var x: string[]; -var r: () => string; +declare var z: string; +declare var x: string[]; +declare var r: () => string; z: typeof STRING; x: typeof STRING1; r: typeof foo; diff --git a/tests/cases/conformance/expressions/unaryOperators/voidOperator/voidOperatorWithAnyOtherType.ts b/tests/cases/conformance/expressions/unaryOperators/voidOperator/voidOperatorWithAnyOtherType.ts index 2a0057158e361..66da0b6f2c551 100644 --- a/tests/cases/conformance/expressions/unaryOperators/voidOperator/voidOperatorWithAnyOtherType.ts +++ b/tests/cases/conformance/expressions/unaryOperators/voidOperator/voidOperatorWithAnyOtherType.ts @@ -1,24 +1,25 @@ +// @noImplicitAny: false // void operator on any type -var ANY: any; -var ANY1; +declare var ANY: any; +declare var ANY1; var ANY2: any[] = ["", ""]; -var obj: () => {} +declare var obj: () => {}; var obj1 = {x:"",y:1}; function foo(): any { - var a; + var a!: any; return a; } class A { public a: any; static foo() { - var a; + var a!: any; return a; } } namespace M { - export var n: any; + export var n!: any; } var objA = new A(); diff --git a/tests/cases/conformance/externalModules/typeOnly/importsNotUsedAsValues_error.ts b/tests/cases/conformance/externalModules/typeOnly/importsNotUsedAsValues_error.ts index ae697e7c3cb4e..e4d3f83159a0a 100644 --- a/tests/cases/conformance/externalModules/typeOnly/importsNotUsedAsValues_error.ts +++ b/tests/cases/conformance/externalModules/typeOnly/importsNotUsedAsValues_error.ts @@ -9,20 +9,20 @@ export const enum C { One, Two } // @Filename: /b.ts import { A, B } from './a'; // Error -let a: A; -let b: B; +declare let a: A; +declare let b: B; console.log(a, b); // @Filename: /c.ts import Default, * as named from './a'; // Error -let a: Default; -let b: named.B; +declare let a: Default; +declare let b: named.B; console.log(a, b); // @Filename: /d.ts import Default, { A } from './a'; const a = A; -let b: Default; +declare let b: Default; console.log(a, b); // @Filename: /e.ts @@ -38,8 +38,8 @@ console.log(c, d); // @Filename: /g.ts import { C } from './a'; -let c: C; -let d: C.Two; +declare let c: C; +declare let d: C.Two; console.log(c, d); // @Filename: /h.ts diff --git a/tests/cases/conformance/externalModules/umd5.ts b/tests/cases/conformance/externalModules/umd5.ts index b6d949c2d0a76..75369776d4b7d 100644 --- a/tests/cases/conformance/externalModules/umd5.ts +++ b/tests/cases/conformance/externalModules/umd5.ts @@ -10,7 +10,7 @@ export as namespace Foo; // @filename: a.ts import * as Bar from './foo'; Bar.fn(); -let x: Bar.Thing; +declare let x: Bar.Thing; let y: number = x.n; // should error let z = Foo; diff --git a/tests/cases/conformance/externalModules/umd8.ts b/tests/cases/conformance/externalModules/umd8.ts index 9a8331fded30e..351acb6cf750d 100644 --- a/tests/cases/conformance/externalModules/umd8.ts +++ b/tests/cases/conformance/externalModules/umd8.ts @@ -15,7 +15,7 @@ export as namespace Foo; /// import * as ff from './foo'; -let y: Foo; // OK in type position +declare let y: Foo; // OK in type position y.foo(); -let z: Foo.SubThing; // OK in ns position +declare let z: Foo.SubThing; // OK in ns position let x: any = Foo; // Not OK in value position diff --git a/tests/cases/conformance/functions/functionImplementationErrors.ts b/tests/cases/conformance/functions/functionImplementationErrors.ts index 0a7c7812932f8..edae8bd2b5aa9 100644 --- a/tests/cases/conformance/functions/functionImplementationErrors.ts +++ b/tests/cases/conformance/functions/functionImplementationErrors.ts @@ -27,7 +27,7 @@ var f4 = function () { function f5(): number { } -var m; +declare var m: any; // Function signature with parameter initializer referencing in scope local variable function f6(n = m) { var m = 4; diff --git a/tests/cases/conformance/functions/parameterInitializersForwardReferencing1.ts b/tests/cases/conformance/functions/parameterInitializersForwardReferencing1.ts index a3b88150f4f37..680fa921ab34d 100644 --- a/tests/cases/conformance/functions/parameterInitializersForwardReferencing1.ts +++ b/tests/cases/conformance/functions/parameterInitializersForwardReferencing1.ts @@ -1,3 +1,5 @@ +// @strict: false + let foo: string = ""; function f1 (bar = foo) { // unexpected compiler error; works at runtime diff --git a/tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates.ts b/tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates.ts index 31cbaa79ec195..92d3c2c6d0c8a 100644 --- a/tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates.ts +++ b/tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates.ts @@ -1,5 +1,5 @@ class C { - private x: number; + private x!: number; } interface A extends C { @@ -11,16 +11,16 @@ interface A { } class D implements A { // error - private x: number; - y: string; - z: string; + private x!: number; + y!: string; + z!: string; } class E implements A { // error - x: number; - y: string; - z: string; + x!: number; + y!: string; + z!: string; } -var a: A; +declare var a: A; var r = a.x; // error \ No newline at end of file diff --git a/tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates2.ts b/tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates2.ts index ee301bfff9d6b..c8dfb9e90ddc3 100644 --- a/tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates2.ts +++ b/tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates2.ts @@ -1,9 +1,9 @@ class C { - private x: number; + private x!: number; } class C2 { - private w: number; + private w!: number; } interface A extends C { @@ -15,17 +15,17 @@ interface A extends C2 { } class D extends C implements A { // error - private w: number; - y: string; - z: string; + private w!: number; + y!: string; + z!: string; } class E extends C2 implements A { // error - w: number; - y: string; - z: string; + w!: number; + y!: string; + z!: string; } -var a: A; +declare var a: A; var r = a.x; // error var r2 = a.w; // error \ No newline at end of file diff --git a/tests/cases/conformance/interfaces/declarationMerging/twoInterfacesDifferentRootModule.ts b/tests/cases/conformance/interfaces/declarationMerging/twoInterfacesDifferentRootModule.ts index d827c65d5035c..f129b97f7bd3a 100644 --- a/tests/cases/conformance/interfaces/declarationMerging/twoInterfacesDifferentRootModule.ts +++ b/tests/cases/conformance/interfaces/declarationMerging/twoInterfacesDifferentRootModule.ts @@ -15,7 +15,7 @@ namespace M2 { bar: number; } - var a: A; + declare var a: A; var r1 = a.foo; // error var r2 = a.bar; @@ -23,7 +23,7 @@ namespace M2 { bar: T; } - var b: B; + declare var b: B; var r3 = b.foo; // error var r4 = b.bar; } \ No newline at end of file diff --git a/tests/cases/conformance/interfaces/declarationMerging/twoInterfacesDifferentRootModule2.ts b/tests/cases/conformance/interfaces/declarationMerging/twoInterfacesDifferentRootModule2.ts index 1ff421812249d..2021025b90f84 100644 --- a/tests/cases/conformance/interfaces/declarationMerging/twoInterfacesDifferentRootModule2.ts +++ b/tests/cases/conformance/interfaces/declarationMerging/twoInterfacesDifferentRootModule2.ts @@ -14,7 +14,7 @@ namespace M { bar: number; } - var a: A; + declare var a: A; var r1 = a.foo; // error var r2 = a.bar; @@ -22,16 +22,16 @@ namespace M { bar: T; } - var b: B; + declare var b: B; var r3 = b.foo; // error var r4 = b.bar; } - var a: A; + declare var a: A; var r1 = a.foo; var r2 = a.bar; // error - var b: B; + declare var b: B; var r3 = b.foo; var r4 = b.bar; // error } \ No newline at end of file diff --git a/tests/cases/conformance/interfaces/interfaceDeclarations/asiPreventsParsingAsInterface05.ts b/tests/cases/conformance/interfaces/interfaceDeclarations/asiPreventsParsingAsInterface05.ts index 1c7dd46de6f48..b60410d91d0a0 100644 --- a/tests/cases/conformance/interfaces/interfaceDeclarations/asiPreventsParsingAsInterface05.ts +++ b/tests/cases/conformance/interfaces/interfaceDeclarations/asiPreventsParsingAsInterface05.ts @@ -1,6 +1,6 @@ "use strict" -var interface: number; +var interface: number = 123; // 'interface' is a strict mode reserved word, and so it would be permissible // to allow 'interface' and the name of the interface to be on separate lines; diff --git a/tests/cases/conformance/interfaces/interfacesExtendingClasses/implementingAnInterfaceExtendingClassWithPrivates2.ts b/tests/cases/conformance/interfaces/interfacesExtendingClasses/implementingAnInterfaceExtendingClassWithPrivates2.ts index 79ebfd94dd6d5..bd9629a8e0124 100644 --- a/tests/cases/conformance/interfaces/interfacesExtendingClasses/implementingAnInterfaceExtendingClassWithPrivates2.ts +++ b/tests/cases/conformance/interfaces/interfacesExtendingClasses/implementingAnInterfaceExtendingClassWithPrivates2.ts @@ -1,5 +1,5 @@ class Foo { - private x: string; + private x!: string; } interface I extends Foo { @@ -7,27 +7,27 @@ interface I extends Foo { } class Bar extends Foo implements I { // ok - y: number; + y!: number; } class Bar2 extends Foo implements I { // error - x: string; - y: number; + x!: string; + y!: number; } class Bar3 extends Foo implements I { // error - private x: string; - y: number; + private x!: string; + y!: number; } // another level of indirection namespace M { class Foo { - private x: string; + private x!: string; } class Baz extends Foo { - z: number; + z!: number; } interface I extends Baz { @@ -35,29 +35,29 @@ namespace M { } class Bar extends Foo implements I { // ok - y: number; - z: number; + y!: number; + z!: number; } class Bar2 extends Foo implements I { // error - x: string; - y: number; + x!: string; + y!: number; } class Bar3 extends Foo implements I { // error - private x: string; - y: number; + private x!: string; + y!: number; } } // two levels of privates namespace M2 { class Foo { - private x: string; + private x!: string; } class Baz extends Foo { - private y: number; + private y!: number; } interface I extends Baz { @@ -65,21 +65,21 @@ namespace M2 { } class Bar extends Foo implements I { // error - z: number; + z!: number; } - var b: Bar; + declare var b: Bar; var r1 = b.z; var r2 = b.x; // error var r3 = b.y; // error class Bar2 extends Foo implements I { // error - x: string; - z: number; + x!: string; + z!: number; } class Bar3 extends Foo implements I { // error - private x: string; - z: number; + private x!: string; + z!: number; } } \ No newline at end of file diff --git a/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates.ts b/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates.ts index b745fb5b7f1d7..580688a9a9097 100644 --- a/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates.ts +++ b/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates.ts @@ -1,5 +1,5 @@ class Foo { - private x: string; + private x!: string; } interface I extends Foo { // error @@ -10,6 +10,6 @@ interface I2 extends Foo { y: string; } -var i: I2; +declare var i: I2; var r = i.y; var r2 = i.x; // error \ No newline at end of file diff --git a/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates2.ts b/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates2.ts index 41646a1d1c7b0..d21a94dea95ed 100644 --- a/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates2.ts +++ b/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates2.ts @@ -1,9 +1,9 @@ class Foo { - private x: string; + private x!: string; } class Bar { - private x: string; + private x!: string; } interface I3 extends Foo, Bar { // error @@ -14,14 +14,14 @@ interface I4 extends Foo, Bar { // error } class Baz { - private y: string; + private y!: string; } interface I5 extends Foo, Baz { z: string; } -var i: I5; +declare var i: I5; var r: string = i.z; var r2 = i.x; // error var r3 = i.y; // error \ No newline at end of file diff --git a/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds.ts b/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds.ts index 6a504a916da41..ff957e83ffe99 100644 --- a/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds.ts +++ b/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds.ts @@ -1,5 +1,5 @@ class Foo { - protected x: string; + protected x!: string; } interface I extends Foo { // error @@ -10,6 +10,6 @@ interface I2 extends Foo { y: string; } -var i: I2; +declare var i: I2; var r = i.y; var r2 = i.x; // error \ No newline at end of file diff --git a/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds2.ts b/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds2.ts index 4663709bce8f2..2849aa022678a 100644 --- a/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds2.ts +++ b/tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithProtecteds2.ts @@ -1,9 +1,9 @@ class Foo { - protected x: string; + protected x!: string; } class Bar { - protected x: string; + protected x!: string; } interface I3 extends Foo, Bar { // error @@ -14,14 +14,14 @@ interface I4 extends Foo, Bar { // error } class Baz { - protected y: string; + protected y!: string; } interface I5 extends Foo, Baz { z: string; } -var i: I5; +declare var i: I5; var r: string = i.z; var r2 = i.x; // error var r3 = i.y; // error \ No newline at end of file diff --git a/tests/cases/conformance/jsx/tsxElementResolution10.tsx b/tests/cases/conformance/jsx/tsxElementResolution10.tsx index 895f20754a8ae..71788e310b7eb 100644 --- a/tests/cases/conformance/jsx/tsxElementResolution10.tsx +++ b/tests/cases/conformance/jsx/tsxElementResolution10.tsx @@ -11,11 +11,11 @@ declare namespace JSX { interface Obj1type { new(n: string): { x: number }; } -var Obj1: Obj1type; +declare var Obj1: Obj1type; ; // Error, no render member interface Obj2type { (n: string): { x: number; render: any; }; } -var Obj2: Obj2type; +declare var Obj2: Obj2type; ; // OK diff --git a/tests/cases/conformance/jsx/tsxElementResolution11.tsx b/tests/cases/conformance/jsx/tsxElementResolution11.tsx index 09c0550de560a..329ab900fcea7 100644 --- a/tests/cases/conformance/jsx/tsxElementResolution11.tsx +++ b/tests/cases/conformance/jsx/tsxElementResolution11.tsx @@ -9,17 +9,17 @@ declare namespace JSX { interface Obj1type { new(n: string): any; } -var Obj1: Obj1type; +declare var Obj1: Obj1type; ; // OK interface Obj2type { new(n: string): { q?: number }; } -var Obj2: Obj2type; +declare var Obj2: Obj2type; ; // Error interface Obj3type { new(n: string): { x: number; }; } -var Obj3: Obj3type; +declare var Obj3: Obj3type; ; // OK diff --git a/tests/cases/conformance/jsx/tsxElementResolution12.tsx b/tests/cases/conformance/jsx/tsxElementResolution12.tsx index a06f2deb0eef6..ffa1d05ba3839 100644 --- a/tests/cases/conformance/jsx/tsxElementResolution12.tsx +++ b/tests/cases/conformance/jsx/tsxElementResolution12.tsx @@ -9,19 +9,19 @@ declare namespace JSX { interface Obj1type { new(n: string): any; } -var Obj1: Obj1type; +declare var Obj1: Obj1type; ; // OK interface Obj2type { new(n: string): { q?: number; pr: any }; } -var Obj2: Obj2type; +declare var Obj2: Obj2type; ; // OK interface Obj3type { new(n: string): { x: number; }; } -var Obj3: Obj3type; +declare var Obj3: Obj3type; ; // Error var attributes: any; ; // Error @@ -30,6 +30,6 @@ var attributes: any; interface Obj4type { new(n: string): { x: number; pr: { x: number; } }; } -var Obj4: Obj4type; +declare var Obj4: Obj4type; ; // OK ; // Error diff --git a/tests/cases/conformance/jsx/tsxElementResolution15.tsx b/tests/cases/conformance/jsx/tsxElementResolution15.tsx index 4142d88184274..7f1c30fc09c09 100644 --- a/tests/cases/conformance/jsx/tsxElementResolution15.tsx +++ b/tests/cases/conformance/jsx/tsxElementResolution15.tsx @@ -9,5 +9,5 @@ declare namespace JSX { interface Obj1type { new(n: string): {}; } -var Obj1: Obj1type; +declare var Obj1: Obj1type; ; // Error diff --git a/tests/cases/conformance/jsx/tsxElementResolution8.tsx b/tests/cases/conformance/jsx/tsxElementResolution8.tsx index 69cd06d7fd344..1530148f34bda 100644 --- a/tests/cases/conformance/jsx/tsxElementResolution8.tsx +++ b/tests/cases/conformance/jsx/tsxElementResolution8.tsx @@ -21,16 +21,16 @@ interface Obj1 { new(): {}; (): number; } -var Obj1: Obj1; +declare var Obj1: Obj1; ; // OK, prefer construct signatures interface Obj2 { (): number; } -var Obj2: Obj2; +declare var Obj2: Obj2; ; // Error interface Obj3 { } -var Obj3: Obj3; +declare var Obj3: Obj3; ; // Error diff --git a/tests/cases/conformance/jsx/tsxElementResolution9.tsx b/tests/cases/conformance/jsx/tsxElementResolution9.tsx index c2e4b0bb8a51b..7053a5d8faa58 100644 --- a/tests/cases/conformance/jsx/tsxElementResolution9.tsx +++ b/tests/cases/conformance/jsx/tsxElementResolution9.tsx @@ -9,19 +9,19 @@ interface Obj1 { new(n: string): { x: number }; new(n: number): { y: string }; } -var Obj1: Obj1; +declare var Obj1: Obj1; ; // Error, return type is not an object type interface Obj2 { (n: string): { x: number }; (n: number): { y: string }; } -var Obj2: Obj2; +declare var Obj2: Obj2; ; // Error, return type is not an object type interface Obj3 { (n: string): { x: number }; (n: number): { x: number; y: string }; } -var Obj3: Obj3; +declare var Obj3: Obj3; ; // OK diff --git a/tests/cases/conformance/jsx/tsxIntrinsicAttributeErrors.tsx b/tests/cases/conformance/jsx/tsxIntrinsicAttributeErrors.tsx index f96fa440c729f..8f2e5c8bbd145 100644 --- a/tests/cases/conformance/jsx/tsxIntrinsicAttributeErrors.tsx +++ b/tests/cases/conformance/jsx/tsxIntrinsicAttributeErrors.tsx @@ -27,5 +27,5 @@ interface I { render(): void } } -var E: I; +declare var E: I; diff --git a/tests/cases/conformance/jsx/tsxSpreadChildrenInvalidType.tsx b/tests/cases/conformance/jsx/tsxSpreadChildrenInvalidType.tsx index bd8e70f2f0562..9adc2da969280 100644 --- a/tests/cases/conformance/jsx/tsxSpreadChildrenInvalidType.tsx +++ b/tests/cases/conformance/jsx/tsxSpreadChildrenInvalidType.tsx @@ -29,5 +29,5 @@ function TodoListNoError({ todos }: TodoListProps) { {...( as any)} ; } -let x: TodoListProps; +declare let x: TodoListProps; diff --git a/tests/cases/conformance/parser/ecmascript5/AutomaticSemicolonInsertion/parserAutomaticSemicolonInsertion1.ts b/tests/cases/conformance/parser/ecmascript5/AutomaticSemicolonInsertion/parserAutomaticSemicolonInsertion1.ts index 1c9e1681a5ecf..7fd1923b5f2a7 100644 --- a/tests/cases/conformance/parser/ecmascript5/AutomaticSemicolonInsertion/parserAutomaticSemicolonInsertion1.ts +++ b/tests/cases/conformance/parser/ecmascript5/AutomaticSemicolonInsertion/parserAutomaticSemicolonInsertion1.ts @@ -2,12 +2,12 @@ interface I { (): void; } -var i: I; +declare var i: I; var o: Object; o = i; i = o; -var a: { +declare var a: { (): void } o = a; diff --git a/tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts b/tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts index b96c6f7397327..0010269c9ba6d 100644 --- a/tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts +++ b/tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts @@ -17,28 +17,28 @@ interface i1 { nc_l1: () => void; } class c1 implements i1 { - public i1_p1: number; + public i1_p1!: number; public i1_f1() { } - public i1_l1: () => void; - public i1_nc_p1: number; + public i1_l1!: () => void; + public i1_nc_p1!: number; public i1_nc_f1() { } - public i1_nc_l1: () => void; + public i1_nc_l1!: () => void; /** c1_p1*/ - public p1: number; + public p1!: number; /** c1_f1*/ public f1() { } /** c1_l1*/ - public l1: () => void; + public l1!: () => void; /** c1_nc_p1*/ - public nc_p1: number; + public nc_p1!: number; /** c1_nc_f1*/ public nc_f1() { } /** c1_nc_l1*/ - public nc_l1: () => void; + public nc_l1!: () => void; } var i1_i: i1; i1_i.i1_f1(); @@ -79,14 +79,14 @@ class c2 { public get c2_prop() { return 10; } - public c2_nc_p1: number; + public c2_nc_p1!: number; public c2_nc_f1() { } public get c2_nc_prop() { return 10; } /** c2 p1*/ - public p1: number; + public p1!: number; /** c2 f1*/ public f1() { } @@ -94,7 +94,7 @@ class c2 { public get prop() { return 10; } - public nc_p1: number; + public nc_p1!: number; public nc_f1() { } public get nc_prop() { @@ -111,7 +111,7 @@ class c3 extends c2 { this.p1 = super.c2_p1; } /** c3 p1*/ - public p1: number; + public p1!: number; /** c3 f1*/ public f1() { } @@ -119,7 +119,7 @@ class c3 extends c2 { public get prop() { return 10; } - public nc_p1: number; + public nc_p1!: number; public nc_f1() { } public get nc_prop() { @@ -208,10 +208,10 @@ i2_i.nc_l1(); /**c5 class*/ class c5 { - public b: number; + public b!: number; } class c6 extends c5 { - public d; + public d!: any; constructor() { super(); this.d = super.b; diff --git a/tests/cases/conformance/salsa/prototypePropertyAssignmentMergeAcrossFiles2.ts b/tests/cases/conformance/salsa/prototypePropertyAssignmentMergeAcrossFiles2.ts index 6d1018d7afc9c..109c9893d9d98 100644 --- a/tests/cases/conformance/salsa/prototypePropertyAssignmentMergeAcrossFiles2.ts +++ b/tests/cases/conformance/salsa/prototypePropertyAssignmentMergeAcrossFiles2.ts @@ -16,10 +16,10 @@ Ns.Two.prototype = { /** * @type {Ns.One} */ -var one; +var one = undefined; one.wat; /** * @type {Ns.Two} */ -var two; +var two = undefined; two.wat; diff --git a/tests/cases/conformance/statements/for-inStatements/for-inStatementsArrayErrors.ts b/tests/cases/conformance/statements/for-inStatements/for-inStatementsArrayErrors.ts index c87ab6cea03b9..87063a132c302 100644 --- a/tests/cases/conformance/statements/for-inStatements/for-inStatementsArrayErrors.ts +++ b/tests/cases/conformance/statements/for-inStatements/for-inStatementsArrayErrors.ts @@ -1,6 +1,6 @@ // @noImplicitAny: true -let a: Date[]; +declare let a: Date[]; for (let x in a) { let a1 = a[x + 1]; diff --git a/tests/cases/conformance/statements/for-inStatements/for-inStatementsInvalid.ts b/tests/cases/conformance/statements/for-inStatements/for-inStatementsInvalid.ts index f12f85e4705f7..664a68b8172cf 100644 --- a/tests/cases/conformance/statements/for-inStatements/for-inStatementsInvalid.ts +++ b/tests/cases/conformance/statements/for-inStatements/for-inStatementsInvalid.ts @@ -12,7 +12,7 @@ for (var idx : number in {}) { } function fn(): void { } for (var x in fn()) { } -var c : string, d:string, e; +declare var c : string, d:string, e: any; for (var x in c || d) { } for (var x in e ? c : d) { } @@ -57,6 +57,6 @@ interface I { id: number; [idx: number]: number; } -var i: I; +declare var i: I; for (var x in i[42]) { } diff --git a/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck11.ts b/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck11.ts index a39371a4843be..f20682c7de7b3 100644 --- a/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck11.ts +++ b/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck11.ts @@ -1,4 +1,4 @@ //@target: ES5 -var union: string | number[]; +declare var union: string | number[]; var v: string; for (v of union) { } \ No newline at end of file diff --git a/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck14.ts b/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck14.ts index 9474fcec5d909..3f58e9d4ac93c 100644 --- a/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck14.ts +++ b/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck14.ts @@ -1,4 +1,4 @@ //@target: ES5 //@lib: ES6 -var union: string | Set +declare var union: string | Set for (const e of union) { } \ No newline at end of file diff --git a/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck7.ts b/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck7.ts index 4f7dd1c6d3f0f..dd6e6b8fa77da 100644 --- a/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck7.ts +++ b/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck7.ts @@ -1,3 +1,3 @@ //@target: ES5 -var union: string | number; +declare var union: string | number; for (var v of union) { } \ No newline at end of file diff --git a/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck8.ts b/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck8.ts index 2c9f3b63d1db6..43ee909f8530e 100644 --- a/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck8.ts +++ b/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck8.ts @@ -1,4 +1,4 @@ //@target: ES5 -var union: string | string[]| number[]| symbol[]; +declare var union: string | string[]| number[]| symbol[]; var v: symbol; for (v of union) { } \ No newline at end of file diff --git a/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck9.ts b/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck9.ts index 3c68f329f0e25..4baa2f49843d5 100644 --- a/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck9.ts +++ b/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck9.ts @@ -1,3 +1,3 @@ //@target: ES5 -var union: string | string[] | number | symbol; +declare var union: string | string[] | number | symbol; for (let v of union) { } \ No newline at end of file diff --git a/tests/cases/conformance/types/intersection/intersectionTypeAssignment.ts b/tests/cases/conformance/types/intersection/intersectionTypeAssignment.ts index 00a299ea24421..5b0e4d40b1039 100644 --- a/tests/cases/conformance/types/intersection/intersectionTypeAssignment.ts +++ b/tests/cases/conformance/types/intersection/intersectionTypeAssignment.ts @@ -1,7 +1,7 @@ -var a: { a: string }; -var b: { b: string }; -var x: { a: string, b: string }; -var y: { a: string } & { b: string }; +declare var a: { a: string }; +declare var b: { b: string }; +declare var x: { a: string, b: string }; +declare var y: { a: string } & { b: string }; a = x; a = y; diff --git a/tests/cases/conformance/types/intersection/intersectionTypeInference.ts b/tests/cases/conformance/types/intersection/intersectionTypeInference.ts index 32a419ff03a55..747a1b1548e52 100644 --- a/tests/cases/conformance/types/intersection/intersectionTypeInference.ts +++ b/tests/cases/conformance/types/intersection/intersectionTypeInference.ts @@ -1,5 +1,5 @@ function extend(obj1: T, obj2: U): T & U { - var result: T & U; + var result!: T & U; obj1 = result; obj2 = result; result = obj1; // Error diff --git a/tests/cases/conformance/types/intersection/intersectionTypeReadonly.ts b/tests/cases/conformance/types/intersection/intersectionTypeReadonly.ts index 78bc557ac63aa..97e192d02c94b 100644 --- a/tests/cases/conformance/types/intersection/intersectionTypeReadonly.ts +++ b/tests/cases/conformance/types/intersection/intersectionTypeReadonly.ts @@ -13,13 +13,13 @@ interface DifferentType { interface DifferentName { readonly other: number; } -let base: Base; +declare let base: Base; base.value = 12 // error, lhs can't be a readonly property -let identical: Base & Identical; +declare let identical: Base & Identical; identical.value = 12; // error, lhs can't be a readonly property -let mutable: Base & Mutable; +declare let mutable: Base & Mutable; mutable.value = 12; -let differentType: Base & DifferentType; +declare let differentType: Base & DifferentType; differentType.value = 12; // error, lhs can't be a readonly property -let differentName: Base & DifferentName; +declare let differentName: Base & DifferentName; differentName.value = 12; // error, property 'value' doesn't exist diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts index 3179be186ea48..6996071113294 100644 --- a/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts +++ b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts @@ -1,5 +1,5 @@ -let x: "foo"; -let y: "foo" | "bar"; +declare let x: "foo"; +declare let y: "foo" | "bar"; let b: boolean; b = x === y; diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts index 25a687a8941a8..ac9cc950c75d7 100644 --- a/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts +++ b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts @@ -1,5 +1,5 @@ -let x: "foo"; -let y: "foo" | "bar"; +declare let x: "foo"; +declare let y: "foo" | "bar"; let b: boolean; b = x == y; diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks03.ts b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks03.ts index b4fb064818728..0bc8d4942625f 100644 --- a/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks03.ts +++ b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks03.ts @@ -6,8 +6,8 @@ interface Refrigerator extends Runnable { makesFoodGoBrrr: boolean; } -let x: string; -let y: "foo" | Refrigerator; +declare let x: string; +declare let y: "foo" | Refrigerator; let b: boolean; b = x === y; diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks04.ts b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks04.ts index 01e1c0896fb2a..a1bfb478ef944 100644 --- a/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks04.ts +++ b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks04.ts @@ -6,8 +6,8 @@ interface Refrigerator extends Runnable { makesFoodGoBrrr: boolean; } -let x: string; -let y: "foo" | Refrigerator; +declare let x: string; +declare let y: "foo" | Refrigerator; let b: boolean; b = x == y; diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements01.ts b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements01.ts index b1c1aaa64cae2..3eb6211f88d1b 100644 --- a/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements01.ts +++ b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements01.ts @@ -1,5 +1,5 @@ -let x: "foo"; -let y: "foo" | "bar"; +declare let x: "foo"; +declare let y: "foo" | "bar"; switch (x) { case "foo": diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements02.ts b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements02.ts index d396eb16bed00..95da681f2baf7 100644 --- a/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements02.ts +++ b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements02.ts @@ -1,5 +1,5 @@ -let x: "foo"; -let y: "foo" | "bar"; +declare let x: "foo"; +declare let y: "foo" | "bar"; let b: boolean; b = x == y; diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts index 289ffd11060f3..bfb9288e4aa4d 100644 --- a/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts +++ b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts @@ -1,6 +1,6 @@ -let x: "foo"; -let y: "foo" | "bar"; -let z: "bar"; +declare let x: "foo"; +declare let y: "foo" | "bar"; +declare let z: "bar"; declare function randBool(): boolean; diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements04.ts b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements04.ts index ee119cd1db544..1ec62e52169f8 100644 --- a/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements04.ts +++ b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements04.ts @@ -1,5 +1,5 @@ -let x: "foo"; -let y: "foo" | "bar"; +declare let x: "foo"; +declare let y: "foo" | "bar"; declare function randBool(): boolean; diff --git a/tests/cases/conformance/types/members/objectTypeHidingMembersOfExtendedObject.ts b/tests/cases/conformance/types/members/objectTypeHidingMembersOfExtendedObject.ts index b18dc498bb6c3..dfa7c9c52207b 100644 --- a/tests/cases/conformance/types/members/objectTypeHidingMembersOfExtendedObject.ts +++ b/tests/cases/conformance/types/members/objectTypeHidingMembersOfExtendedObject.ts @@ -1,10 +1,10 @@ // @skipDefaultLibCheck: false class A { - foo: string; + foo!: string; } class B extends A { - bar: string; + bar!: string; } interface Object { @@ -14,11 +14,11 @@ interface Object { class C { valueOf() { } - data: B; + data!: B; [x: string]: any; } -var c: C; +declare var c: C; var r1: void = c.valueOf(); var r1b: B = c.data; var r1c = r1b['hm']; // should be 'Object' @@ -30,7 +30,7 @@ interface I { [x: string]: any; } -var i: I; +declare var i: I; var r2: void = i.valueOf(); var r2b: B = i.data; var r2c = r2b['hm']; // should be 'Object' @@ -46,7 +46,7 @@ var r3b: B = a.data; var r3c = r3b['hm']; // should be 'Object' var r3d = i['hm']; -var b: { +declare var b: { valueOf(): void; data: B; [x: string]: any; diff --git a/tests/cases/conformance/types/members/objectTypeHidingMembersOfObjectAssignmentCompat.ts b/tests/cases/conformance/types/members/objectTypeHidingMembersOfObjectAssignmentCompat.ts index d6b17149fb9c5..410db154f8e24 100644 --- a/tests/cases/conformance/types/members/objectTypeHidingMembersOfObjectAssignmentCompat.ts +++ b/tests/cases/conformance/types/members/objectTypeHidingMembersOfObjectAssignmentCompat.ts @@ -2,15 +2,15 @@ interface I { toString(): void; } -var i: I; -var o: Object; +declare var i: I; +declare var o: Object; o = i; // error i = o; // ok class C { toString(): void { } } -var c: C; +declare var c: C; o = c; // error c = o; // ok diff --git a/tests/cases/conformance/types/members/objectTypeHidingMembersOfObjectAssignmentCompat2.ts b/tests/cases/conformance/types/members/objectTypeHidingMembersOfObjectAssignmentCompat2.ts index 3111d22b91517..7b0553aeea18a 100644 --- a/tests/cases/conformance/types/members/objectTypeHidingMembersOfObjectAssignmentCompat2.ts +++ b/tests/cases/conformance/types/members/objectTypeHidingMembersOfObjectAssignmentCompat2.ts @@ -2,15 +2,15 @@ interface I { toString(): number; } -var i: I; -var o: Object; +declare var i: I; +declare var o: Object; o = i; // error i = o; // error class C { toString(): number { return 1; } } -var c: C; +declare var c: C; o = c; // error c = o; // error diff --git a/tests/cases/conformance/types/members/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts b/tests/cases/conformance/types/members/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts index 9bb2971814001..69a10cce1826a 100644 --- a/tests/cases/conformance/types/members/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts +++ b/tests/cases/conformance/types/members/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts @@ -2,12 +2,12 @@ interface I { (): void; } -var i: I; -var f: Object; +declare var i: I; +declare var f: Object; f = i; i = f; -var a: { +declare var a: { (): void } f = a; diff --git a/tests/cases/conformance/types/members/objectTypeWithConstructSignatureAppearsToBeFunctionType.ts b/tests/cases/conformance/types/members/objectTypeWithConstructSignatureAppearsToBeFunctionType.ts index 1a3f38c9dee60..d86c28a70fe5b 100644 --- a/tests/cases/conformance/types/members/objectTypeWithConstructSignatureAppearsToBeFunctionType.ts +++ b/tests/cases/conformance/types/members/objectTypeWithConstructSignatureAppearsToBeFunctionType.ts @@ -4,12 +4,12 @@ interface I { new(): number; } -var i: I; +declare var i: I; var r2: number = i(); var r2b: number = new i(); var r2c: (x: any, y?: any) => any = i.apply; -var b: { +declare var b: { new(): number; } diff --git a/tests/cases/conformance/types/members/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts b/tests/cases/conformance/types/members/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts index 6e3057e4bb15e..cf745954e237a 100644 --- a/tests/cases/conformance/types/members/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts +++ b/tests/cases/conformance/types/members/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts @@ -2,12 +2,12 @@ interface I { new(): any; } -var i: I; -var f: Object; +declare var i: I; +declare var f: Object; f = i; i = f; -var a: { +declare var a: { new(): any } f = a; diff --git a/tests/cases/conformance/types/members/objectTypeWithStringIndexerHidingObjectIndexer.ts b/tests/cases/conformance/types/members/objectTypeWithStringIndexerHidingObjectIndexer.ts index 797ad2cb09153..d5c6a4a395477 100644 --- a/tests/cases/conformance/types/members/objectTypeWithStringIndexerHidingObjectIndexer.ts +++ b/tests/cases/conformance/types/members/objectTypeWithStringIndexerHidingObjectIndexer.ts @@ -9,20 +9,20 @@ var o = {}; var r = o['']; // should be Object class C { - foo: string; + foo!: string; [x: string]: string; } -var c: C; +declare var c: C; var r2: string = c['']; interface I { bar: string; [x: string]: string; } -var i: I; +declare var i: I; var r3: string = i['']; -var o2: { +declare var o2: { baz: string; [x: string]: string; } diff --git a/tests/cases/conformance/types/members/objectTypeWithStringNamedNumericProperty.ts b/tests/cases/conformance/types/members/objectTypeWithStringNamedNumericProperty.ts index c379906da4ad8..d3c99433892bd 100644 --- a/tests/cases/conformance/types/members/objectTypeWithStringNamedNumericProperty.ts +++ b/tests/cases/conformance/types/members/objectTypeWithStringNamedNumericProperty.ts @@ -15,7 +15,7 @@ class C { "-1": Date; } -var c: C; +declare var c: C; var r1 = c['0.1']; var r2 = c['.1']; var r3 = c['1']; @@ -46,7 +46,7 @@ interface I { "-1": Date; } -var i: I; +declare var i: I; var r1 = i['0.1']; var r2 = i['.1']; var r3 = i['1']; @@ -66,7 +66,7 @@ var r11 = i[-0x1] var r12 = i[01] var r13 = i[-01] -var a: { +declare var a: { "0.1": void; ".1": Object; "1": number; diff --git a/tests/cases/conformance/types/nonPrimitive/nonPrimitiveAccessProperty.ts b/tests/cases/conformance/types/nonPrimitive/nonPrimitiveAccessProperty.ts index cf902c12e65f3..971dd5c29e68a 100644 --- a/tests/cases/conformance/types/nonPrimitive/nonPrimitiveAccessProperty.ts +++ b/tests/cases/conformance/types/nonPrimitive/nonPrimitiveAccessProperty.ts @@ -1,4 +1,4 @@ -var a: object; +var a: object = {}; a.toString(); a.nonExist(); // error diff --git a/tests/cases/conformance/types/nonPrimitive/nonPrimitiveAssignError.ts b/tests/cases/conformance/types/nonPrimitive/nonPrimitiveAssignError.ts index 83801652865dc..647427eb5c501 100644 --- a/tests/cases/conformance/types/nonPrimitive/nonPrimitiveAssignError.ts +++ b/tests/cases/conformance/types/nonPrimitive/nonPrimitiveAssignError.ts @@ -1,6 +1,6 @@ var x = {}; var y = {foo: "bar"}; -var a: object; +var a: object = {}; x = a; y = a; // expect error a = x; diff --git a/tests/cases/conformance/types/nonPrimitive/nonPrimitiveInFunction.ts b/tests/cases/conformance/types/nonPrimitive/nonPrimitiveInFunction.ts index d56c02fafe98d..c4e2865fe0396 100644 --- a/tests/cases/conformance/types/nonPrimitive/nonPrimitiveInFunction.ts +++ b/tests/cases/conformance/types/nonPrimitive/nonPrimitiveInFunction.ts @@ -4,7 +4,7 @@ function returnObject(): object { return {}; } -var nonPrimitive: object; +var nonPrimitive: object = {}; var primitive: boolean; takeObject(nonPrimitive); diff --git a/tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInNoImplicitAny.ts b/tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInNoImplicitAny.ts index 1050cdea4976b..36c860133c290 100644 --- a/tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInNoImplicitAny.ts +++ b/tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInNoImplicitAny.ts @@ -1,5 +1,5 @@ -// @noImplicitAny: true -var a: object; + +var a: object = {}; for (var key in a) { var value = a[key]; // error diff --git a/tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInSupressError.ts b/tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInSupressError.ts index 3f63faee6040c..3a6b34e0fc0cf 100644 --- a/tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInSupressError.ts +++ b/tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInSupressError.ts @@ -1,6 +1,6 @@ // @noImplicitAny: true // @suppressImplicitAnyIndexErrors: true -var a: object; +var a: object = {}; for (var key in a) { var value = a[key]; diff --git a/tests/cases/conformance/types/nonPrimitive/nonPrimitiveNarrow.ts b/tests/cases/conformance/types/nonPrimitive/nonPrimitiveNarrow.ts index 2df691958dec4..d28ef5c179e15 100644 --- a/tests/cases/conformance/types/nonPrimitive/nonPrimitiveNarrow.ts +++ b/tests/cases/conformance/types/nonPrimitive/nonPrimitiveNarrow.ts @@ -1,8 +1,8 @@ class Narrow { - narrowed: boolean + narrowed!: boolean } -var a: object +declare var a: object; if (a instanceof Narrow) { a.narrowed; // ok @@ -13,7 +13,7 @@ if (typeof a === 'number') { a.toFixed(); // error, never } -var b: object | null +declare var b: object | null; if (typeof b === 'object') { b.toString(); // ok, object | null diff --git a/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWithOptionalParameterAndInitializer.ts b/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWithOptionalParameterAndInitializer.ts index 17baab5b8dd99..3f1fcbb6f1bc3 100644 --- a/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWithOptionalParameterAndInitializer.ts +++ b/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWithOptionalParameterAndInitializer.ts @@ -15,7 +15,7 @@ class C { foo(x?: number = 1) { } } -var c: C; +declare var c: C; c.foo(); c.foo(1); @@ -24,13 +24,13 @@ interface I { foo(x: number, y?: number = 1); } -var i: I; +declare var i: I; i(); i(1); i.foo(1); i.foo(1, 2); -var a: { +declare var a: { (x?: number = 1); foo(x? = 1); } diff --git a/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesThatDifferOnlyByReturnType2.ts b/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesThatDifferOnlyByReturnType2.ts index 6da8e576b3421..c131052a73633 100644 --- a/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesThatDifferOnlyByReturnType2.ts +++ b/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesThatDifferOnlyByReturnType2.ts @@ -7,7 +7,7 @@ interface I { interface A extends I, I { } -var x: A; +declare var x: A; // BUG 822524 var r = x.foo(1); // no error var r2 = x.foo(''); // error diff --git a/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesWithParameterInitializers.ts b/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesWithParameterInitializers.ts index acbc2083ef388..6baa9f5ffd180 100644 --- a/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesWithParameterInitializers.ts +++ b/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesWithParameterInitializers.ts @@ -15,7 +15,7 @@ class C { foo(x = 1) { } } -var c: C; +declare var c: C; c.foo(); c.foo(1); @@ -25,14 +25,14 @@ interface I { foo(x: number, y = 1); } -var i: I; +declare var i: I; i(); i(1); i.foo(1); i.foo(1, 2); // these are errors -var a: { +declare var a: { (x = 1); foo(x = 1); } diff --git a/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesWithParameterInitializers2.ts b/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesWithParameterInitializers2.ts index 04f1acd84ca3f..ff27018c7eb11 100644 --- a/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesWithParameterInitializers2.ts +++ b/tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesWithParameterInitializers2.ts @@ -12,7 +12,7 @@ class C { foo(x = 1) { } } -var c: C; +declare var c: C; c.foo(); c.foo(1); diff --git a/tests/cases/conformance/types/objectTypeLiteral/constructSignatures/constructSignaturesWithOverloads2.ts b/tests/cases/conformance/types/objectTypeLiteral/constructSignatures/constructSignaturesWithOverloads2.ts index 71fbcd6d97c28..8bdaaab2f2c42 100644 --- a/tests/cases/conformance/types/objectTypeLiteral/constructSignatures/constructSignaturesWithOverloads2.ts +++ b/tests/cases/conformance/types/objectTypeLiteral/constructSignatures/constructSignaturesWithOverloads2.ts @@ -34,6 +34,6 @@ interface I { new (x: T, y: number): C2; } -var i2: I; +declare var i2: I; var r4 = new i2(1, ''); var r5 = new i2(1, 1); \ No newline at end of file diff --git a/tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface.ts b/tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface.ts index ebfeeaf807148..2592f92c3a7be 100644 --- a/tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface.ts +++ b/tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface.ts @@ -1,4 +1,4 @@ var x = true; -var a: Boolean; +declare var a: Boolean; x = a; a = x; \ No newline at end of file diff --git a/tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface2.ts b/tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface2.ts index ae0e817bdc90d..4d8a5117a1c01 100644 --- a/tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface2.ts +++ b/tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface2.ts @@ -7,8 +7,8 @@ interface NotBoolean { } var x = true; -var a: Boolean; -var b: NotBoolean; +declare var a: Boolean; +declare var b: NotBoolean; a = x; a = b; diff --git a/tests/cases/conformance/types/primitives/enum/validEnumAssignments.ts b/tests/cases/conformance/types/primitives/enum/validEnumAssignments.ts index 2c8e5634ddbb9..30d0b1a391707 100644 --- a/tests/cases/conformance/types/primitives/enum/validEnumAssignments.ts +++ b/tests/cases/conformance/types/primitives/enum/validEnumAssignments.ts @@ -3,9 +3,9 @@ enum E { B } -var n: number; -var a: any; -var e: E; +declare var n: number; +declare var a: any; +declare var e: E; n = e; n = E.A; diff --git a/tests/cases/conformance/types/primitives/number/assignFromNumberInterface.ts b/tests/cases/conformance/types/primitives/number/assignFromNumberInterface.ts index 7e3e5a17f4681..d4d03eb6a7e5c 100644 --- a/tests/cases/conformance/types/primitives/number/assignFromNumberInterface.ts +++ b/tests/cases/conformance/types/primitives/number/assignFromNumberInterface.ts @@ -1,4 +1,4 @@ var x = 1; -var a: Number; +declare var a: Number; x = a; a = x; \ No newline at end of file diff --git a/tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts b/tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts index da7da7c7a064e..1923e1cb56396 100644 --- a/tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts +++ b/tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts @@ -12,8 +12,8 @@ interface NotNumber { } var x = 1; -var a: Number; -var b: NotNumber; +declare var a: Number; +declare var b: NotNumber; a = x; a = b; diff --git a/tests/cases/conformance/types/primitives/string/assignFromStringInterface.ts b/tests/cases/conformance/types/primitives/string/assignFromStringInterface.ts index 59f7c5eecea61..cff5e51165ee5 100644 --- a/tests/cases/conformance/types/primitives/string/assignFromStringInterface.ts +++ b/tests/cases/conformance/types/primitives/string/assignFromStringInterface.ts @@ -1,4 +1,4 @@ var x = ''; -var a: String; +declare var a: String; x = a; a = x; \ No newline at end of file diff --git a/tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts b/tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts index 9c971ea5614e1..9e6677ddbe609 100644 --- a/tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts +++ b/tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts @@ -35,8 +35,8 @@ interface NotString { } var x = ''; -var a: String; -var b: NotString; +declare var a: String; +declare var b: NotString; a = x; a = b; diff --git a/tests/cases/conformance/types/primitives/void/invalidAssignmentsToVoid.ts b/tests/cases/conformance/types/primitives/void/invalidAssignmentsToVoid.ts index 73612df0b8d54..ebf6b031cefb5 100644 --- a/tests/cases/conformance/types/primitives/void/invalidAssignmentsToVoid.ts +++ b/tests/cases/conformance/types/primitives/void/invalidAssignmentsToVoid.ts @@ -4,13 +4,13 @@ x = true; x = ''; x = {} -class C { foo: string; } -var c: C; +class C { foo!: string; } +declare var c: C; x = C; x = c; interface I { foo: string; } -var i: I; +declare var i: I; x = i; namespace M { export var x = 1; } diff --git a/tests/cases/conformance/types/primitives/void/invalidVoidValues.ts b/tests/cases/conformance/types/primitives/void/invalidVoidValues.ts index 89e6d4ae9b200..85f7d91edef49 100644 --- a/tests/cases/conformance/types/primitives/void/invalidVoidValues.ts +++ b/tests/cases/conformance/types/primitives/void/invalidVoidValues.ts @@ -7,12 +7,12 @@ enum E { A } x = E; x = E.A; -class C { foo: string } -var a: C; +class C { foo!: string } +declare var a: C; x = a; interface I { foo: string } -var b: I; +declare var b: I; x = b; x = { f() {} } diff --git a/tests/cases/conformance/types/rest/objectRest.ts b/tests/cases/conformance/types/rest/objectRest.ts index 7403340c7cb4f..e3eebf0d011e3 100644 --- a/tests/cases/conformance/types/rest/objectRest.ts +++ b/tests/cases/conformance/types/rest/objectRest.ts @@ -10,24 +10,24 @@ var { b: { '0': n, '1': oooo }, ...justA } = o; let o2 = { c: 'terrible idea?', d: 'yes' }; var { d: renamed, ...d } = o2; -let nestedrest: { x: number, n1: { y: number, n2: { z: number, n3: { n4: number } } }, rest: number, restrest: number }; +declare let nestedrest: { x: number, n1: { y: number, n2: { z: number, n3: { n4: number } } }, rest: number, restrest: number }; var { x, n1: { y, n2: { z, n3: { ...nr } } }, ...restrest } = nestedrest; -let complex: { x: { ka, ki }, y: number }; +declare let complex: { x: { ka, ki }, y: number }; var { x: { ka, ...nested }, y: other, ...rest } = complex; ({x: { ka, ...nested }, y: other, ...rest} = complex); var { x, ...fresh } = { x: 1, y: 2 }; ({ x, ...fresh } = { x: 1, y: 2 }); class Removable { - private x: number; - protected y: number; + private x!: number; + protected y!: number; set z(value: number) { } get both(): number { return 12 } set both(value: number) { } m() { } - removed: string; - remainder: string; + removed!: string; + remainder!: string; } interface I { m(): void; diff --git a/tests/cases/conformance/types/rest/objectRestNegative.ts b/tests/cases/conformance/types/rest/objectRestNegative.ts index 13d214e453de4..1ccea201f8e65 100644 --- a/tests/cases/conformance/types/rest/objectRestNegative.ts +++ b/tests/cases/conformance/types/rest/objectRestNegative.ts @@ -14,5 +14,5 @@ function generic(t: T) { return rest; } -let rest: { b: string } +let rest: { b: string } = { b: "" }; ({a, ...rest.b + rest.b} = o); diff --git a/tests/cases/conformance/types/specifyingTypes/typeQueries/typeofTypeParameter.ts b/tests/cases/conformance/types/specifyingTypes/typeQueries/typeofTypeParameter.ts index 7d5ca0ae9315e..99d3267c57d68 100644 --- a/tests/cases/conformance/types/specifyingTypes/typeQueries/typeofTypeParameter.ts +++ b/tests/cases/conformance/types/specifyingTypes/typeQueries/typeofTypeParameter.ts @@ -1,5 +1,5 @@ function f(x: T): T { - var a: typeof x; - var y: typeof T; + var a!: typeof x; + var y!: typeof T; return a; } \ No newline at end of file diff --git a/tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts b/tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts index 0671fc785076d..2438e40d19b42 100644 --- a/tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts +++ b/tests/cases/conformance/types/thisType/looseThisTypeInFunctions.ts @@ -9,7 +9,7 @@ interface Unused { implicitNoThis(m: number): number; } class C implements I { - n: number; + n!: number; explicitThis(this: this, m: number): number { return this.n + m; } @@ -38,7 +38,7 @@ let o2: I = { } let x = i.explicitThis; let n = x(12); // callee:void doesn't match this:I -let u: Unused; +declare let u: Unused; let y = u.implicitNoThis; n = y(12); // ok, callee:void matches this:any c.explicitVoid = c.implicitThis // ok, implicitThis(this:any) diff --git a/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts b/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts index 481e1630092b5..f4a2eb19e2e5e 100644 --- a/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts +++ b/tests/cases/conformance/types/thisType/thisTypeInFunctions.ts @@ -100,8 +100,8 @@ let unspecifiedLambdaToSpecified: (this: {y: number}, x: number) => number = uns let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = specifiedLambda; -let explicitCFunction: (this: C, m: number) => number; -let explicitPropertyFunction: (this: {n: number}, m: number) => number; +declare let explicitCFunction: (this: C, m: number) => number; +declare let explicitPropertyFunction: (this: {n: number}, m: number) => number; c.explicitC = explicitCFunction; c.explicitC = function(this: C, m: number) { return this.n + m }; c.explicitProperty = explicitPropertyFunction; diff --git a/tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts b/tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts index 20f59cbfe02a4..62db5f28c0e8f 100644 --- a/tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts +++ b/tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts @@ -103,7 +103,7 @@ let reconstructed: { // lambdas have this: void for assignability purposes (and this unbound (free) for body checking) let d = new D(); -let explicitXProperty: (this: { x: number }, m: number) => number; +declare let explicitXProperty: (this: { x: number }, m: number) => number; // from differing object types c.explicitC = function(this: D, m: number) { return this.x + m }; diff --git a/tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts b/tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts index 85a035d472b30..5fe4b3de3ec34 100644 --- a/tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts +++ b/tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts @@ -4,9 +4,9 @@ interface StrNum extends Array { length: 2; } -var x: [string, number]; -var y: StrNum -var z: { +declare var x: [string, number]; +declare var y: StrNum +declare var z: { 0: string; 1: number; length: 2; diff --git a/tests/cases/conformance/types/tuple/strictTupleLength.ts b/tests/cases/conformance/types/tuple/strictTupleLength.ts index eaa9111e55713..d9033f0f3175f 100644 --- a/tests/cases/conformance/types/tuple/strictTupleLength.ts +++ b/tests/cases/conformance/types/tuple/strictTupleLength.ts @@ -1,7 +1,7 @@ -var t0: []; -var t1: [number]; -var t2: [number, number]; -var arr: number[]; +declare var t0: []; +declare var t1: [number]; +declare var t2: [number, number]; +declare var arr: number[]; var len0: 0 = t0.length; var len1: 1 = t1.length; @@ -12,7 +12,7 @@ var t1 = t2; // error var t2 = t1; // error type A = T['length']; -var b: A<[boolean]>; +declare var b: A<[boolean]>; var c: 1 = b; t1 = arr; // error with or without strict diff --git a/tests/cases/conformance/types/typeParameters/typeArgumentLists/callGenericFunctionWithIncorrectNumberOfTypeArguments.ts b/tests/cases/conformance/types/typeParameters/typeArgumentLists/callGenericFunctionWithIncorrectNumberOfTypeArguments.ts index 24251a41e74e4..77e53d2656103 100644 --- a/tests/cases/conformance/types/typeParameters/typeArgumentLists/callGenericFunctionWithIncorrectNumberOfTypeArguments.ts +++ b/tests/cases/conformance/types/typeParameters/typeArgumentLists/callGenericFunctionWithIncorrectNumberOfTypeArguments.ts @@ -9,7 +9,7 @@ var f2 = (x: T, y: U): T => { return null; } var r2 = f2(1, ''); var r2b = f2(1, ''); -var f3: { (x: T, y: U): T; } +declare var f3: { (x: T, y: U): T; }; var r3 = f3(1, ''); var r3b = f3(1, ''); @@ -24,7 +24,7 @@ var r4b = (new C()).f(1, ''); interface I { f(x: T, y: U): T; } -var i: I; +declare var i: I; var r5 = i.f(1, ''); var r5b = i.f(1, ''); @@ -39,6 +39,6 @@ var r6b = (new C2()).f(1, ''); interface I2 { f(x: T, y: U): T; } -var i2: I2; +declare var i2: I2; var r7 = i2.f(1, ''); var r7b = i2.f(1, ''); \ No newline at end of file diff --git a/tests/cases/conformance/types/typeParameters/typeArgumentLists/callNonGenericFunctionWithTypeArguments.ts b/tests/cases/conformance/types/typeParameters/typeArgumentLists/callNonGenericFunctionWithTypeArguments.ts index 6110d3bc88e22..00ae809df851d 100644 --- a/tests/cases/conformance/types/typeParameters/typeArgumentLists/callNonGenericFunctionWithTypeArguments.ts +++ b/tests/cases/conformance/types/typeParameters/typeArgumentLists/callNonGenericFunctionWithTypeArguments.ts @@ -7,7 +7,7 @@ var r = f(1); var f2 = (x: number) => { return null; } var r2 = f2(1); -var f3: { (x: number): any; } +declare var f3: { (x: number): any; } var r3 = f3(1); class C { @@ -20,7 +20,7 @@ var r4 = (new C()).f(1); interface I { f(x: number): any; } -var i: I; +declare var i: I; var r5 = i.f(1); class C2 { @@ -33,11 +33,11 @@ var r6 = (new C2()).f(1); interface I2 { f(x: number); } -var i2: I2; +declare var i2: I2; var r7 = i2.f(1); -var a; +declare var a; var r8 = a(); -var a2: any; +declare var a2: any; var r8 = a2(); \ No newline at end of file diff --git a/tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstraintSatisfaction2.ts b/tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstraintSatisfaction2.ts index ac202d4461642..7094d67c8a6b4 100644 --- a/tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstraintSatisfaction2.ts +++ b/tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstraintSatisfaction2.ts @@ -12,13 +12,13 @@ class C { foo: string; } -var b: { new (x: string): string }; +declare var b: { new (x: string): string }; class C2 { foo: T; } -var b2: { new (x: T): T }; +declare var b2: { new (x: T): T }; var r = foo2(new Function()); var r2 = foo2((x: string[]) => x); @@ -30,7 +30,7 @@ var r13 = foo2(C2); var r14 = foo2(b2); interface F2 extends Function { foo: string; } -var f2: F2; +declare var f2: F2; var r16 = foo2(f2); function fff(x: T, y: U) { diff --git a/tests/cases/conformance/types/typeParameters/typeArgumentLists/instantiateNonGenericTypeWithTypeArguments.ts b/tests/cases/conformance/types/typeParameters/typeArgumentLists/instantiateNonGenericTypeWithTypeArguments.ts index 93bb57d973f70..1d916beddd23e 100644 --- a/tests/cases/conformance/types/typeParameters/typeArgumentLists/instantiateNonGenericTypeWithTypeArguments.ts +++ b/tests/cases/conformance/types/typeParameters/typeArgumentLists/instantiateNonGenericTypeWithTypeArguments.ts @@ -2,7 +2,7 @@ // all of these are errors class C { - x: string; + x!: string; } var c = new C(); @@ -10,7 +10,7 @@ var c = new C(); function Foo(): void { } var r = new Foo(); -var f: { (): void }; +declare var f: { (): void }; var r2 = new f(); var a: any; diff --git a/tests/cases/conformance/types/typeParameters/typeParameterLists/propertyAccessOnTypeParameterWithConstraints4.ts b/tests/cases/conformance/types/typeParameters/typeParameterLists/propertyAccessOnTypeParameterWithConstraints4.ts index 3aaa657088a56..221970c3e8c25 100644 --- a/tests/cases/conformance/types/typeParameters/typeParameterLists/propertyAccessOnTypeParameterWithConstraints4.ts +++ b/tests/cases/conformance/types/typeParameters/typeParameterLists/propertyAccessOnTypeParameterWithConstraints4.ts @@ -1,6 +1,6 @@ class C { f() { - var x: T; + var x: T = {} as any; var a = x['notHere'](); // should be string return a + x.notHere(); } @@ -11,11 +11,11 @@ var r = (new C()).f(); interface I { foo: T; } -var i: I; +declare var i: I; var r2 = i.foo.notHere(); var r2b = i.foo['notHere'](); -var a: { +declare var a: { (): T; } var r3: string = a().notHere(); diff --git a/tests/cases/conformance/types/typeParameters/typeParameterLists/propertyAccessOnTypeParameterWithConstraints5.ts b/tests/cases/conformance/types/typeParameters/typeParameterLists/propertyAccessOnTypeParameterWithConstraints5.ts index b3e7c5ea4f5d5..61804660045da 100644 --- a/tests/cases/conformance/types/typeParameters/typeParameterLists/propertyAccessOnTypeParameterWithConstraints5.ts +++ b/tests/cases/conformance/types/typeParameters/typeParameterLists/propertyAccessOnTypeParameterWithConstraints5.ts @@ -10,7 +10,7 @@ class B extends A { class C { f() { - var x: U; + var x: U = {} as any; var a = x['foo'](); // should be string return a + x.foo() + x.notHere(); } @@ -21,11 +21,11 @@ var r = (new C()).f(); interface I { foo: U; } -var i: I; +declare var i: I; var r2 = i.foo.notHere(); var r2b = i.foo['foo'](); -var a: { +declare var a: { (): U; } // BUG 794164 diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatBetweenTupleAndArray.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatBetweenTupleAndArray.ts index 3811809742cc1..b7ae9f1c4a2ea 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatBetweenTupleAndArray.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatBetweenTupleAndArray.ts @@ -1,10 +1,10 @@ -var numStrTuple: [number, string]; -var numNumTuple: [number, number]; -var numEmptyObjTuple: [number, {}]; -var emptyObjTuple: [{}]; +declare var numStrTuple: [number, string]; +declare var numNumTuple: [number, number]; +declare var numEmptyObjTuple: [number, {}]; +declare var emptyObjTuple: [{}]; -var numArray: number[]; -var emptyObjArray: {}[]; +declare var numArray: number[]; +declare var emptyObjArray: {}[]; // no error numArray = numNumTuple; diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures.ts index 7549351d13102..5bb9f483fa701 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures.ts @@ -3,8 +3,8 @@ interface T { (x: number): void; } -var t: T; -var a: { (x: number): void }; +declare var t: T; +declare var a: { (x: number): void }; t = a; a = t; @@ -12,8 +12,8 @@ a = t; interface S { (x: number): string; } -var s: S; -var a2: { (x: number): string }; +declare var s: S; +declare var a2: { (x: number): string }; t = s; t = a2; a = s; @@ -29,8 +29,8 @@ a = function (x: number) { return ''; } interface S2 { (x: string): void; } -var s2: S2; -var a3: { (x: string): void }; +declare var s2: S2; +declare var a3: { (x: string): void }; // these are errors t = s2; t = a3; diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures2.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures2.ts index b09250d2ab9ef..3d98320fb5aaf 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures2.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures2.ts @@ -3,8 +3,8 @@ interface T { f(x: number): void; } -var t: T; -var a: { f(x: number): void }; +declare var t: T; +declare var a: { f(x: number): void }; t = a; a = t; @@ -12,8 +12,8 @@ a = t; interface S { f(x: number): string; } -var s: S; -var a2: { f(x: number): string }; +declare var s: S; +declare var a2: { f(x: number): string }; t = s; t = a2; a = s; @@ -36,8 +36,8 @@ a = function (x: number) { return ''; } interface S2 { f(x: string): void; } -var s2: S2; -var a3: { f(x: string): void }; +declare var s2: S2; +declare var a3: { f(x: string): void }; // these are errors t = s2; t = a3; diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures3.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures3.ts index f8c7b63501085..7ecca3ec0235b 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures3.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures3.ts @@ -5,33 +5,33 @@ class Derived extends Base { bar: string; } class Derived2 extends Derived { baz: string; } class OtherDerived extends Base { bing: string; } -var a: (x: number) => number[]; -var a2: (x: number) => string[]; -var a3: (x: number) => void; -var a4: (x: string, y: number) => string; -var a5: (x: (arg: string) => number) => string; -var a6: (x: (arg: Base) => Derived) => Base; -var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; -var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; -var a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; -var a10: (...x: Derived[]) => Derived; -var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; -var a12: (x: Array, y: Array) => Array; -var a13: (x: Array, y: Array) => Array; -var a14: (x: { a: string; b: number }) => Object; -var a15: { +declare var a: (x: number) => number[]; +declare var a2: (x: number) => string[]; +declare var a3: (x: number) => void; +declare var a4: (x: string, y: number) => string; +declare var a5: (x: (arg: string) => number) => string; +declare var a6: (x: (arg: Base) => Derived) => Base; +declare var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived; +declare var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +declare var a9: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +declare var a10: (...x: Derived[]) => Derived; +declare var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; +declare var a12: (x: Array, y: Array) => Array; +declare var a13: (x: Array, y: Array) => Array; +declare var a14: (x: { a: string; b: number }) => Object; +declare var a15: { (x: number): number[]; (x: string): string[]; } -var a16: { +declare var a16: { (x: T): number[]; (x: U): number[]; } -var a17: { +declare var a17: { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }; -var a18: { +declare var a18: { (x: { (a: number): number; (a: string): string; @@ -42,57 +42,57 @@ var a18: { }): any[]; } -var b: (x: T) => T[]; +declare var b: (x: T) => T[]; a = b; // ok b = a; // ok -var b2: (x: T) => string[]; +declare var b2: (x: T) => string[]; a2 = b2; // ok b2 = a2; // ok -var b3: (x: T) => T; +declare var b3: (x: T) => T; a3 = b3; // ok b3 = a3; // ok -var b4: (x: T, y: U) => T; +declare var b4: (x: T, y: U) => T; a4 = b4; // ok b4 = a4; // ok -var b5: (x: (arg: T) => U) => T; +declare var b5: (x: (arg: T) => U) => T; a5 = b5; // ok b5 = a5; // ok -var b6: (x: (arg: T) => U) => T; +declare var b6: (x: (arg: T) => U) => T; a6 = b6; // ok b6 = a6; // ok -var b7: (x: (arg: T) => U) => (r: T) => U; +declare var b7: (x: (arg: T) => U) => (r: T) => U; a7 = b7; // ok b7 = a7; // ok -var b8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; +declare var b8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; a8 = b8; // ok b8 = a8; // ok -var b9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; +declare var b9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; a9 = b9; // ok b9 = a9; // ok -var b10: (...x: T[]) => T; +declare var b10: (...x: T[]) => T; a10 = b10; // ok b10 = a10; // ok -var b11: (x: T, y: T) => T; +declare var b11: (x: T, y: T) => T; a11 = b11; // ok b11 = a11; // ok -var b12: >(x: Array, y: T) => Array; +declare var b12: >(x: Array, y: T) => Array; a12 = b12; // ok b12 = a12; // ok -var b13: >(x: Array, y: T) => T; +declare var b13: >(x: Array, y: T) => T; a13 = b13; // ok b13 = a13; // ok -var b14: (x: { a: T; b: T }) => T; +declare var b14: (x: { a: T; b: T }) => T; a14 = b14; // ok b14 = a14; // ok -var b15: (x: T) => T[]; +declare var b15: (x: T) => T[]; a15 = b15; // ok b15 = a15; // ok -var b16: (x: T) => number[]; +declare var b16: (x: T) => number[]; a16 = b16; // ok b16 = a16; // ok -var b17: (x: (a: T) => T) => T[]; // ok +declare var b17: (x: (a: T) => T) => T[]; // ok a17 = b17; // ok b17 = a17; // ok -var b18: (x: (a: T) => T) => T[]; +declare var b18: (x: (a: T) => T) => T[]; a18 = b18; // ok b18 = a18; // ok diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures4.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures4.ts index 8d19894899039..fb99cdfe62e0e 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures4.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures4.ts @@ -8,18 +8,18 @@ namespace Errors { namespace WithNonGenericSignaturesInBaseType { // target type with non-generic call signatures - var a2: (x: number) => string[]; - var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived2; - var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; - var a10: (...x: Base[]) => Base; - var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; - var a12: (x: Array, y: Array) => Array; - var a14: { + declare var a2: (x: number) => string[]; + declare var a7: (x: (arg: Base) => Derived) => (r: Base) => Derived2; + declare var a8: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; + declare var a10: (...x: Base[]) => Base; + declare var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; + declare var a12: (x: Array, y: Array) => Array; + declare var a14: { (x: number): number[]; (x: string): string[]; }; - var a15: (x: { a: string; b: number }) => number; - var a16: { + declare var a15: (x: { a: string; b: number }) => number; + declare var a16: { (x: { (a: number): number; (a?: number): number; @@ -29,7 +29,7 @@ namespace Errors { (a?: boolean): boolean; }): boolean[]; }; - var a17: { + declare var a17: { (x: { (a: T): T; (a: T): T; @@ -40,58 +40,58 @@ namespace Errors { }): any[]; }; - var b2: (x: T) => U[]; + declare var b2: (x: T) => U[]; a2 = b2; b2 = a2; - var b7: (x: (arg: T) => U) => (r: T) => V; + declare var b7: (x: (arg: T) => U) => (r: T) => V; a7 = b7; b7 = a7; - var b8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; + declare var b8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; a8 = b8; // error, { foo: number } and Base are incompatible b8 = a8; // error, { foo: number } and Base are incompatible - var b10: (...x: T[]) => T; + declare var b10: (...x: T[]) => T; a10 = b10; b10 = a10; - var b11: (x: T, y: T) => T; + declare var b11: (x: T, y: T) => T; a11 = b11; b11 = a11; - var b12: >(x: Array, y: Array) => T; + declare var b12: >(x: Array, y: Array) => T; a12 = b12; b12 = a12; - var b15: (x: { a: T; b: T }) => T; + declare var b15: (x: { a: T; b: T }) => T; a15 = b15; b15 = a15; - var b15a: (x: { a: T; b: T }) => number; + declare var b15a: (x: { a: T; b: T }) => number; a15 = b15a; b15a = a15; - var b16: (x: (a: T) => T) => T[]; + declare var b16: (x: (a: T) => T) => T[]; a16 = b16; b16 = a16; - var b17: (x: (a: T) => T) => any[]; + declare var b17: (x: (a: T) => T) => any[]; a17 = b17; b17 = a17; } namespace WithGenericSignaturesInBaseType { // target type has generic call signature - var a2: (x: T) => T[]; - var b2: (x: T) => string[]; + declare var a2: (x: T) => T[]; + declare var b2: (x: T) => string[]; a2 = b2; b2 = a2; // target type has generic call signature - var a3: (x: T) => string[]; - var b3: (x: T) => T[]; + declare var a3: (x: T) => string[]; + declare var b3: (x: T) => T[]; a3 = b3; b3 = a3; } diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures5.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures5.ts index 9f3b5f72c95ff..a541d4f27a9a9 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures5.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures5.ts @@ -5,20 +5,20 @@ class Derived extends Base { bar: string; } class Derived2 extends Derived { baz: string; } class OtherDerived extends Base { bing: string; } -var a: (x: T) => T[]; -var a2: (x: T) => string[]; -var a3: (x: T) => void; -var a4: (x: T, y: U) => string; -var a5: (x: (arg: T) => U) => T; -var a6: (x: (arg: T) => Derived) => T; -var a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; -var a15: (x: { a: T; b: T }) => T[]; -var a16: (x: { a: T; b: T }) => T[]; -var a17: { +declare var a: (x: T) => T[]; +declare var a2: (x: T) => string[]; +declare var a3: (x: T) => void; +declare var a4: (x: T, y: U) => string; +declare var a5: (x: (arg: T) => U) => T; +declare var a6: (x: (arg: T) => Derived) => T; +declare var a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base; +declare var a15: (x: { a: T; b: T }) => T[]; +declare var a16: (x: { a: T; b: T }) => T[]; +declare var a17: { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; }; -var a18: { +declare var a18: { (x: { (a: T): T; (a: T): T; @@ -29,36 +29,36 @@ var a18: { }): any[]; }; -var b: (x: T) => T[]; +declare var b: (x: T) => T[]; a = b; // ok b = a; // ok -var b2: (x: T) => string[]; +declare var b2: (x: T) => string[]; a2 = b2; // ok b2 = a2; // ok -var b3: (x: T) => T; +declare var b3: (x: T) => T; a3 = b3; // ok b3 = a3; // ok -var b4: (x: T, y: U) => string; +declare var b4: (x: T, y: U) => string; a4 = b4; // ok b4 = a4; // ok -var b5: (x: (arg: T) => U) => T; +declare var b5: (x: (arg: T) => U) => T; a5 = b5; // ok b5 = a5; // ok -var b6: (x: (arg: T) => U) => T; +declare var b6: (x: (arg: T) => U) => T; a6 = b6; // ok b6 = a6; // ok -var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; +declare var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; a11 = b11; // ok b11 = a11; // ok -var b15: (x: { a: U; b: V; }) => U[]; +declare var b15: (x: { a: U; b: V; }) => U[]; a15 = b15; // ok, T = U, T = V b15 = a15; // ok -var b16: (x: { a: T; b: T }) => T[]; +declare var b16: (x: { a: T; b: T }) => T[]; a15 = b16; // ok b15 = a16; // ok -var b17: (x: (a: T) => T) => T[]; +declare var b17: (x: (a: T) => T) => T[]; a17 = b17; // ok b17 = a17; // ok -var b18: (x: (a: T) => T) => any[]; +declare var b18: (x: (a: T) => T) => any[]; a18 = b18; // ok b18 = a18; // ok diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures6.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures6.ts index 40104fc4c734a..bb5f366006dff 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures6.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures6.ts @@ -17,26 +17,26 @@ interface A { a16: (x: { a: T; b: T }) => T[]; } -var x: A; +declare var x: A; -var b: (x: T) => T[]; +declare var b: (x: T) => T[]; x.a = b; b = x.a; -var b2: (x: T) => string[]; +declare var b2: (x: T) => string[]; x.a2 = b2; b2 = x.a2; -var b3: (x: T) => T; +declare var b3: (x: T) => T; x.a3 = b3; b3 = x.a3; -var b4: (x: T, y: U) => string; +declare var b4: (x: T, y: U) => string; x.a4 = b4; b4 = x.a4; -var b5: (x: (arg: T) => U) => T; +declare var b5: (x: (arg: T) => U) => T; x.a5 = b5; b5 = x.a5; -var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; +declare var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; x.a11 = b11; b11 = x.a11; -var b16: (x: { a: T; b: T }) => T[]; +declare var b16: (x: { a: T; b: T }) => T[]; x.a16 = b16; b16 = x.a16; \ No newline at end of file diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithOptionalParameters.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithOptionalParameters.ts index 90e376af6457b..26a96820dc409 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithOptionalParameters.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithOptionalParameters.ts @@ -8,9 +8,9 @@ interface Base { a5: (x?: number, y?: number) => number; a6: (x: number, y: number) => number; } -var b: Base; +declare var b: Base; -var a: () => number; +declare var a: () => number; a = () => 1 // ok, same number of required params a = (x?: number) => 1; // ok, same number of required params a = (x: number) => 1; // error, too many required params @@ -21,7 +21,7 @@ var a: () => number; a = b.a5; // ok a = b.a6; // error -var a2: (x?: number) => number; +declare var a2: (x?: number) => number; a2 = () => 1; // ok, same number of required params a2 = (x?: number) => 1; // ok, same number of required params a2 = (x: number) => 1; // ok, same number of params @@ -32,7 +32,7 @@ var a2: (x?: number) => number; a2 = b.a5; // ok a2 = b.a6; // error -var a3: (x: number) => number; +declare var a3: (x: number) => number; a3 = () => 1; // ok, fewer required params a3 = (x?: number) => 1; // ok, fewer required params a3 = (x: number) => 1; // ok, same number of required params @@ -44,7 +44,7 @@ var a3: (x: number) => number; a3 = b.a5; // ok a3 = b.a6; // error -var a4: (x: number, y?: number) => number; +declare var a4: (x: number, y?: number) => number; a4 = () => 1; // ok, fewer required params a4 = (x?: number, y?: number) => 1; // ok, fewer required params a4 = (x: number) => 1; // ok, same number of required params @@ -56,7 +56,7 @@ var a4: (x: number, y?: number) => number; a4 = b.a5; // ok a4 = b.a6; // ok, same number of params -var a5: (x?: number, y?: number) => number; +declare var a5: (x?: number, y?: number) => number; a5 = () => 1; // ok, fewer required params a5 = (x?: number, y?: number) => 1; // ok, fewer required params a5 = (x: number) => 1; // ok, fewer params in lambda diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures.ts index f96d60555c03a..9db38ad94c275 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures.ts @@ -3,8 +3,8 @@ interface T { new (x: number): void; } -var t: T; -var a: { new (x: number): void }; +declare var t: T; +declare var a: { new (x: number): void }; t = a; a = t; @@ -12,8 +12,8 @@ a = t; interface S { new (x: number): string; } -var s: S; -var a2: { new (x: number): string }; +declare var s: S; +declare var a2: { new (x: number): string }; t = s; t = a2; a = s; @@ -22,8 +22,8 @@ a = a2; interface S2 { (x: string): void; } -var s2: S2; -var a3: { (x: string): void }; +declare var s2: S2; +declare var a3: { (x: string): void }; // these are errors t = s2; t = a3; diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures2.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures2.ts index 2de241cc3c489..82df5ccfa00af 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures2.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures2.ts @@ -3,8 +3,8 @@ interface T { f: new (x: number) => void; } -var t: T; -var a: { f: new (x: number) => void }; +declare var t: T; +declare var a: { f: new (x: number) => void }; t = a; a = t; @@ -12,8 +12,8 @@ a = t; interface S { f: new (x: number) => string; } -var s: S; -var a2: { f: new (x: number) => string }; +declare var s: S; +declare var a2: { f: new (x: number) => string }; t = s; t = a2; a = s; @@ -28,8 +28,8 @@ a = function (x: number) { return ''; } interface S2 { f(x: string): void; } -var s2: S2; -var a3: { f(x: string): void }; +declare var s2: S2; +declare var a3: { f(x: string): void }; // these are errors t = s2; t = a3; diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures3.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures3.ts index 455300694e4f4..caf721e2a3e89 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures3.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures3.ts @@ -5,33 +5,33 @@ class Derived extends Base { bar: string; } class Derived2 extends Derived { baz: string; } class OtherDerived extends Base { bing: string; } -var a: new (x: number) => number[]; -var a2: new (x: number) => string[]; -var a3: new (x: number) => void; -var a4: new (x: string, y: number) => string; -var a5: new (x: (arg: string) => number) => string; -var a6: new (x: (arg: Base) => Derived) => Base; -var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived; -var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; -var a9: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; -var a10: new (...x: Derived[]) => Derived; -var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; -var a12: new (x: Array, y: Array) => Array; -var a13: new (x: Array, y: Array) => Array; -var a14: new (x: { a: string; b: number }) => Object; -var a15: { +declare var a: new (x: number) => number[]; +declare var a2: new (x: number) => string[]; +declare var a3: new (x: number) => void; +declare var a4: new (x: string, y: number) => string; +declare var a5: new (x: (arg: string) => number) => string; +declare var a6: new (x: (arg: Base) => Derived) => Base; +declare var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived; +declare var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +declare var a9: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; +declare var a10: new (...x: Derived[]) => Derived; +declare var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; +declare var a12: new (x: Array, y: Array) => Array; +declare var a13: new (x: Array, y: Array) => Array; +declare var a14: new (x: { a: string; b: number }) => Object; +declare var a15: { new (x: number): number[]; new (x: string): string[]; } -var a16: { +declare var a16: { new (x: T): number[]; new (x: U): number[]; } -var a17: { +declare var a17: { new (x: new (a: number) => number): number[]; new (x: new (a: string) => string): string[]; }; -var a18: { +declare var a18: { new (x: { new (a: number): number; new (a: string): string; @@ -42,57 +42,57 @@ var a18: { }): any[]; } -var b: new (x: T) => T[]; +declare var b: new (x: T) => T[]; a = b; // ok b = a; // ok -var b2: new (x: T) => string[]; +declare var b2: new (x: T) => string[]; a2 = b2; // ok b2 = a2; // ok -var b3: new (x: T) => T; +declare var b3: new (x: T) => T; a3 = b3; // ok b3 = a3; // ok -var b4: new (x: T, y: U) => T; +declare var b4: new (x: T, y: U) => T; a4 = b4; // ok b4 = a4; // ok -var b5: new (x: (arg: T) => U) => T; +declare var b5: new (x: (arg: T) => U) => T; a5 = b5; // ok b5 = a5; // ok -var b6: new (x: (arg: T) => U) => T; +declare var b6: new (x: (arg: T) => U) => T; a6 = b6; // ok b6 = a6; // ok -var b7: new (x: (arg: T) => U) => (r: T) => U; +declare var b7: new (x: (arg: T) => U) => (r: T) => U; a7 = b7; // ok b7 = a7; // ok -var b8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; +declare var b8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; a8 = b8; // ok b8 = a8; // ok -var b9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; +declare var b9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; a9 = b9; // ok b9 = a9; // ok -var b10: new (...x: T[]) => T; +declare var b10: new (...x: T[]) => T; a10 = b10; // ok b10 = a10; // ok -var b11: new (x: T, y: T) => T; +declare var b11: new (x: T, y: T) => T; a11 = b11; // ok b11 = a11; // ok -var b12: new >(x: Array, y: T) => Array; +declare var b12: new >(x: Array, y: T) => Array; a12 = b12; // ok b12 = a12; // ok -var b13: new >(x: Array, y: T) => T; +declare var b13: new >(x: Array, y: T) => T; a13 = b13; // ok b13 = a13; // ok -var b14: new (x: { a: T; b: T }) => T; +declare var b14: new (x: { a: T; b: T }) => T; a14 = b14; // ok b14 = a14; // ok -var b15: new (x: T) => T[]; +declare var b15: new (x: T) => T[]; a15 = b15; // ok b15 = a15; // ok -var b16: new (x: T) => number[]; +declare var b16: new (x: T) => number[]; a16 = b16; // ok b16 = a16; // ok -var b17: new (x: new (a: T) => T) => T[]; // ok +declare var b17: new (x: new (a: T) => T) => T[]; // ok a17 = b17; // ok b17 = a17; // ok -var b18: new (x: new (a: T) => T) => T[]; +declare var b18: new (x: new (a: T) => T) => T[]; a18 = b18; // ok b18 = a18; // ok diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures4.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures4.ts index e63a4131b769e..94fc96a44303c 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures4.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures4.ts @@ -8,18 +8,18 @@ namespace Errors { namespace WithNonGenericSignaturesInBaseType { // target type with non-generic call signatures - var a2: new (x: number) => string[]; - var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived2; - var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; - var a10: new (...x: Base[]) => Base; - var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; - var a12: new (x: Array, y: Array) => Array; - var a14: { + declare var a2: new (x: number) => string[]; + declare var a7: new (x: (arg: Base) => Derived) => (r: Base) => Derived2; + declare var a8: new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; + declare var a10: new (...x: Base[]) => Base; + declare var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; + declare var a12: new (x: Array, y: Array) => Array; + declare var a14: { new (x: number): number[]; new (x: string): string[]; }; - var a15: new (x: { a: string; b: number }) => number; - var a16: { + declare var a15: new (x: { a: string; b: number }) => number; + declare var a16: { new (x: { new (a: number): number; new (a?: number): number; @@ -29,7 +29,7 @@ namespace Errors { new (a?: boolean): boolean; }): boolean[]; }; - var a17: { + declare var a17: { new (x: { new (a: T): T; new (a: T): T; @@ -40,58 +40,58 @@ namespace Errors { }): any[]; }; - var b2: new (x: T) => U[]; + declare var b2: new (x: T) => U[]; a2 = b2; // ok b2 = a2; // ok - var b7: new (x: (arg: T) => U) => (r: T) => V; + declare var b7: new (x: (arg: T) => U) => (r: T) => V; a7 = b7; // ok b7 = a7; // ok - var b8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; + declare var b8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; a8 = b8; // error, type mismatch b8 = a8; // error - var b10: new (...x: T[]) => T; + declare var b10: new (...x: T[]) => T; a10 = b10; // ok b10 = a10; // ok - var b11: new (x: T, y: T) => T; + declare var b11: new (x: T, y: T) => T; a11 = b11; // ok b11 = a11; // ok - var b12: new >(x: Array, y: Array) => T; + declare var b12: new >(x: Array, y: Array) => T; a12 = b12; // ok b12 = a12; // ok - var b15: new (x: { a: T; b: T }) => T; + declare var b15: new (x: { a: T; b: T }) => T; a15 = b15; // ok b15 = a15; // ok - var b15a: new (x: { a: T; b: T }) => number; + declare var b15a: new (x: { a: T; b: T }) => number; a15 = b15a; // ok b15a = a15; // ok - var b16: new (x: (a: T) => T) => T[]; + declare var b16: new (x: (a: T) => T) => T[]; a16 = b16; // error b16 = a16; // error - var b17: new (x: (a: T) => T) => any[]; + declare var b17: new (x: (a: T) => T) => any[]; a17 = b17; // error b17 = a17; // error } namespace WithGenericSignaturesInBaseType { // target type has generic call signature - var a2: new (x: T) => T[]; - var b2: new (x: T) => string[]; + declare var a2: new (x: T) => T[]; + declare var b2: new (x: T) => string[]; a2 = b2; // ok b2 = a2; // ok // target type has generic call signature - var a3: new (x: T) => string[]; - var b3: new (x: T) => T[]; + declare var a3: new (x: T) => string[]; + declare var b3: new (x: T) => T[]; a3 = b3; // ok b3 = a3; // ok } diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures5.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures5.ts index 917d4a5b03125..de0bf55d25575 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures5.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures5.ts @@ -5,20 +5,20 @@ class Derived extends Base { bar: string; } class Derived2 extends Derived { baz: string; } class OtherDerived extends Base { bing: string; } -var a: new (x: T) => T[]; -var a2: new (x: T) => string[]; -var a3: new (x: T) => void; -var a4: new (x: T, y: U) => string; -var a5: new (x: new (arg: T) => U) => T; -var a6: new (x: new (arg: T) => Derived) => T; -var a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; -var a15: new (x: { a: T; b: T }) => T[]; -var a16: new (x: { a: T; b: T }) => T[]; -var a17: { +declare var a: new (x: T) => T[]; +declare var a2: new (x: T) => string[]; +declare var a3: new (x: T) => void; +declare var a4: new (x: T, y: U) => string; +declare var a5: new (x: new (arg: T) => U) => T; +declare var a6: new (x: new (arg: T) => Derived) => T; +declare var a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base; +declare var a15: new (x: { a: T; b: T }) => T[]; +declare var a16: new (x: { a: T; b: T }) => T[]; +declare var a17: { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; }; -var a18: { +declare var a18: { new (x: { new (a: T): T; new (a: T): T; @@ -29,36 +29,36 @@ var a18: { }): any[]; }; -var b: new (x: T) => T[]; +declare var b: new (x: T) => T[]; a = b; // ok b = a; // ok -var b2: new (x: T) => string[]; +declare var b2: new (x: T) => string[]; a2 = b2; // ok b2 = a2; // ok -var b3: new (x: T) => T; +declare var b3: new (x: T) => T; a3 = b3; // ok b3 = a3; // ok -var b4: new (x: T, y: U) => string; +declare var b4: new (x: T, y: U) => string; a4 = b4; // ok b4 = a4; // ok -var b5: new (x: new (arg: T) => U) => T; +declare var b5: new (x: new (arg: T) => U) => T; a5 = b5; // ok b5 = a5; // ok -var b6: new (x: new (arg: T) => U) => T; +declare var b6: new (x: new (arg: T) => U) => T; a6 = b6; // ok b6 = a6; // ok -var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; +declare var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; a11 = b11; // ok b11 = a11; // ok -var b15: new (x: { a: U; b: V; }) => U[]; +declare var b15: new (x: { a: U; b: V; }) => U[]; a15 = b15; // ok b15 = a15; // ok -var b16: new (x: { a: T; b: T }) => T[]; +declare var b16: new (x: { a: T; b: T }) => T[]; a15 = b16; // ok b15 = a16; // ok -var b17: new (x: new (a: T) => T) => T[]; +declare var b17: new (x: new (a: T) => T) => T[]; a17 = b17; // ok b17 = a17; // ok -var b18: new (x: new (a: T) => T) => any[]; +declare var b18: new (x: new (a: T) => T) => any[]; a18 = b18; // ok b18 = a18; // ok diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures6.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures6.ts index 32a4aa50e1484..e13d82fbbf9ee 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures6.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures6.ts @@ -17,26 +17,26 @@ interface A { a16: new (x: { a: T; b: T }) => T[]; } -var x: A; +declare var x: A; -var b: new (x: T) => T[]; +declare var b: new (x: T) => T[]; x.a = b; b = x.a; -var b2: new (x: T) => string[]; +declare var b2: new (x: T) => string[]; x.a2 = b2; b2 = x.a2; -var b3: new (x: T) => T; +declare var b3: new (x: T) => T; x.a3 = b3; b3 = x.a3; -var b4: new (x: T, y: U) => string; +declare var b4: new (x: T, y: U) => string; x.a4 = b4; b4 = x.a4; -var b5: new (x: (arg: T) => U) => T; +declare var b5: new (x: (arg: T) => U) => T; x.a5 = b5; b5 = x.a5; -var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; +declare var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; x.a11 = b11; b11 = x.a11; -var b16: new (x: { a: T; b: T }) => T[]; +declare var b16: new (x: { a: T; b: T }) => T[]; x.a16 = b16; b16 = x.a16; \ No newline at end of file diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignaturesWithOptionalParameters.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignaturesWithOptionalParameters.ts index c873c8b778ba1..bc9846a12be72 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignaturesWithOptionalParameters.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignaturesWithOptionalParameters.ts @@ -8,9 +8,9 @@ interface Base { a5: new (x?: number, y?: number) => number; a6: new (x: number, y: number) => number; } -var b: Base; +declare var b: Base; -var a: new () => number; +declare var a: new () => number; a = b.a; // ok a = b.a2; // ok a = b.a3; // error @@ -18,7 +18,7 @@ var a: new () => number; a = b.a5; // ok a = b.a6; // error -var a2: new (x?: number) => number; +declare var a2: new (x?: number) => number; a2 = b.a; // ok a2 = b.a2; // ok a2 = b.a3; // ok @@ -26,7 +26,7 @@ var a2: new (x?: number) => number; a2 = b.a5; // ok a2 = b.a6; // error -var a3: new (x: number) => number; +declare var a3: new (x: number) => number; a3 = b.a; // ok a3 = b.a2; // ok a3 = b.a3; // ok @@ -34,7 +34,7 @@ var a3: new (x: number) => number; a3 = b.a5; // ok a3 = b.a6; // error -var a4: new (x: number, y?: number) => number; +declare var a4: new (x: number, y?: number) => number; a4 = b.a; // ok a4 = b.a2; // ok a4 = b.a3; // ok @@ -42,7 +42,7 @@ var a4: new (x: number, y?: number) => number; a4 = b.a5; // ok a4 = b.a6; // ok -var a5: new (x?: number, y?: number) => number; +declare var a5: new (x?: number, y?: number) => number; a5 = b.a; // ok a5 = b.a2; // ok a5 = b.a3; // ok diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithDiscriminatedUnion.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithDiscriminatedUnion.ts index a717a1c718d80..c51fef7169ea4 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithDiscriminatedUnion.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithDiscriminatedUnion.ts @@ -98,7 +98,7 @@ namespace GH14865 { } const a: Style2 = { type: "A", data: "whatevs" }; - let b: Style1; + declare let b: Style1; a.type; // "A" | "B" b.type; // "A" | "B" b = a; // should be assignable diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignatures2.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignatures2.ts index e2cc7a69ee5a6..910055cf839d9 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignatures2.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignatures2.ts @@ -8,8 +8,8 @@ interface B { (x: S, ...y: S[]): void } -var a: A; -var b: B; +declare var a: A; +declare var b: B; // Both errors a = b; diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignatures4.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignatures4.ts index 8207a2861803a..40473bd2d1f89 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignatures4.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignatures4.ts @@ -4,8 +4,8 @@ interface I2 { p: T } -var x: >(z: T) => void -var y: >>(z: T) => void +declare var x: >(z: T) => void; +declare var y: >>(z: T) => void; // These both do not make sense as we would eventually be comparing I2 to I2>, and they are self referencing anyway x = y diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.ts index c5fb6773a9508..4d7240b9ae3fc 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.ts @@ -56,8 +56,8 @@ namespace GenericSignaturesInvalid { function foo() { - var b: Base2; - var t: Target; + var b!: Base2; + var t!: Target; // all errors b.a = t.a; diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithNumericIndexer.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithNumericIndexer.ts index 42a8dee654e6c..2a51413f35e96 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithNumericIndexer.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithNumericIndexer.ts @@ -8,12 +8,12 @@ class A { [x: number]: Base; } -var a: A; -var b: { [x: number]: Derived; } +declare var a: A; +declare var b: { [x: number]: Derived; } a = b; b = a; // error -var b2: { [x: number]: Derived2; } +declare var b2: { [x: number]: Derived2; } a = b2; b2 = a; // error @@ -27,16 +27,16 @@ namespace Generics { } function foo() { - var a: A; - var b: { [x: number]: Derived; } + var a!: A; + var b!: { [x: number]: Derived; } a = b; // error b = a; // error - var b2: { [x: number]: Derived2; } + var b2!: { [x: number]: Derived2; } a = b2; // error b2 = a; // error - var b3: { [x: number]: T; } + var b3!: { [x: number]: T; } a = b3; // ok b3 = a; // ok } diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithNumericIndexer2.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithNumericIndexer2.ts index ff0cb4a931905..51a9a56980398 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithNumericIndexer2.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithNumericIndexer2.ts @@ -8,12 +8,12 @@ interface A { [x: number]: Base; } -var a: A; -var b: { [x: number]: Derived; } +declare var a: A; +declare var b: { [x: number]: Derived; } a = b; b = a; // error -var b2: { [x: number]: Derived2; } +declare var b2: { [x: number]: Derived2; } a = b2; b2 = a; // error @@ -27,16 +27,16 @@ namespace Generics { } function foo() { - var a: A; - var b: { [x: number]: Derived; } + var a!: A; + var b!: { [x: number]: Derived; } a = b; // error b = a; // error - var b2: { [x: number]: Derived2; } + var b2!: { [x: number]: Derived2; } a = b2; // error b2 = a; // error - var b3: { [x: number]: T; } + var b3!: { [x: number]: T; } a = b3; // ok b3 = a; // ok } diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithNumericIndexer3.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithNumericIndexer3.ts index 249e2b8e7ce36..304f5ca3c89ff 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithNumericIndexer3.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithNumericIndexer3.ts @@ -8,8 +8,8 @@ class A { [x: number]: Derived; } -var a: A; -var b: { [x: number]: Base; }; +declare var a: A; +declare var b: { [x: number]: Base; }; a = b; // error b = a; // ok @@ -18,7 +18,7 @@ class B2 extends A { [x: number]: Derived2; // ok } -var b2: { [x: number]: Derived2; }; +declare var b2: { [x: number]: Derived2; }; a = b2; // ok b2 = a; // error @@ -28,12 +28,12 @@ namespace Generics { } function foo() { - var a: A; - var b: { [x: number]: Derived; }; + var a!: A; + var b!: { [x: number]: Derived; }; a = b; // error b = a; // ok - var b2: { [x: number]: T; }; + var b2!: { [x: number]: T; }; a = b2; // ok b2 = a; // ok } diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembers4.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembers4.ts index e2b127f223117..1d4011d9ed5f3 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembers4.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembers4.ts @@ -7,16 +7,16 @@ namespace OnlyDerived { class S { foo: Derived; } class T { foo: Derived2; } - var s: S; - var t: T; + declare var s: S; + declare var t: T; interface S2 { foo: Derived; } interface T2 { foo: Derived2; } - var s2: S2; - var t2: T2; + declare var s2: S2; + declare var t2: T2; - var a: { foo: Derived; } - var b: { foo: Derived2; } + declare var a: { foo: Derived; } + declare var b: { foo: Derived2; } var a2 = { foo: new Derived() }; var b2 = { foo: new Derived2() }; @@ -52,16 +52,16 @@ namespace WithBase { class S { foo: Base; } class T { foo: Derived2; } - var s: S; - var t: T; + declare var s: S; + declare var t: T; interface S2 { foo: Base; } interface T2 { foo: Derived2; } - var s2: S2; - var t2: T2; + declare var s2: S2; + declare var t2: T2; - var a: { foo: Base; } - var b: { foo: Derived2; } + declare var a: { foo: Base; } + declare var b: { foo: Derived2; } var a2 = { foo: new Base() }; var b2 = { foo: new Derived2() }; diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembers5.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembers5.ts index 74abe305cf0cf..ca2457e65867c 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembers5.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembers5.ts @@ -2,13 +2,13 @@ class C { foo: string; } -var c: C; +declare var c: C; interface I { fooo: string; } -var i: I; +declare var i: I; c = i; // error i = c; // error \ No newline at end of file diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersAccessibility.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersAccessibility.ts index b151a2946f0e6..eec029faeb61d 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersAccessibility.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersAccessibility.ts @@ -10,9 +10,9 @@ namespace TargetIsPublic { foo: string; } - var a: { foo: string; } - var b: Base; - var i: I; + declare var a: { foo: string; }; + declare var b: Base; + declare var i: I; // sources class D { @@ -22,8 +22,8 @@ namespace TargetIsPublic { class E { private foo: string; } - var d: D; - var e: E; + declare var d: D; + declare var e: E; a = b; a = i; @@ -62,9 +62,9 @@ namespace TargetIsPublic { interface I extends Base { } - var a: { foo: string; } - var b: Base; - var i: I; + declare var a: { foo: string; }; + declare var b: Base; + declare var i: I; // sources class D { @@ -75,8 +75,8 @@ namespace TargetIsPublic { private foo: string; } - var d: D; - var e: E; + declare var d: D; + declare var e: E; a = b; // error a = i; // error diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersOptionality.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersOptionality.ts index 9af58367a8bce..d86d7015d694b 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersOptionality.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersOptionality.ts @@ -9,9 +9,9 @@ namespace TargetHasOptional { interface C { opt?: Base } - var c: C; + declare var c: C; - var a: { opt?: Base; } + declare var a: { opt?: Base; }; var b: typeof a = { opt: new Base() } // sources @@ -24,9 +24,9 @@ namespace TargetHasOptional { interface F { opt?: Derived; } - var d: D; - var e: E; - var f: F; + declare var d: D; + declare var e: E; + declare var f: F; // all ok c = d; @@ -51,9 +51,9 @@ namespace SourceHasOptional { interface C { opt: Base } - var c: C; + declare var c: C; - var a: { opt: Base; } + declare var a: { opt: Base; }; var b = { opt: new Base() } // sources @@ -66,9 +66,9 @@ namespace SourceHasOptional { interface F { opt: Derived; } - var d: D; - var e: E; - var f: F; + declare var d: D; + declare var e: E; + declare var f: F; c = d; // error c = e; // error diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersOptionality2.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersOptionality2.ts index b34322ce514b5..fa1fa745a776a 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersOptionality2.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersOptionality2.ts @@ -10,9 +10,9 @@ namespace TargetHasOptional { interface C { opt?: Base } - var c: C; + declare var c: C; - var a: { opt?: Base; } + declare var a: { opt?: Base; }; var b: typeof a = { opt: new Base() } // sources @@ -25,9 +25,9 @@ namespace TargetHasOptional { interface F { other?: Derived; } - var d: D; - var e: E; - var f: F; + declare var d: D; + declare var e: E; + declare var f: F; // disallowed by weak type checking c = d; @@ -52,9 +52,9 @@ namespace SourceHasOptional { interface C { opt: Base } - var c: C; + declare var c: C; - var a: { opt: Base; } + declare var a: { opt: Base; }; var b = { opt: new Base() } // sources @@ -67,9 +67,9 @@ namespace SourceHasOptional { interface F { other: Derived; } - var d: D; - var e: E; - var f: F; + declare var d: D; + declare var e: E; + declare var f: F; c = d; // error c = e; // error diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts index e767ef94976f3..7f1d24bd5dcc3 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts @@ -4,16 +4,16 @@ namespace JustStrings { class S { '1': string; } class T { '1.': string; } - var s: S; - var t: T; + declare var s: S; + declare var t: T; interface S2 { '1': string; bar?: string } interface T2 { '1.0': string; baz?: string } - var s2: S2; - var t2: T2; + declare var s2: S2; + declare var t2: T2; - var a: { '1.': string; bar?: string } - var b: { '1.0': string; baz?: string } + declare var a: { '1.': string; bar?: string }; + declare var b: { '1.0': string; baz?: string }; var a2 = { '1.0': '' }; var b2 = { '1': '' }; @@ -45,16 +45,16 @@ namespace JustStrings { namespace NumbersAndStrings { class S { '1': string; } class T { 1: string; } - var s: S; - var t: T; + declare var s: S; + declare var t: T; interface S2 { '1': string; bar?: string } interface T2 { 1.0: string; baz?: string } - var s2: S2; - var t2: T2; + declare var s2: S2; + declare var t2: T2; - var a: { '1.': string; bar?: string } - var b: { 1.0: string; baz?: string } + declare var a: { '1.': string; bar?: string }; + declare var b: { 1.0: string; baz?: string }; var a2 = { '1.0': '' }; var b2 = { 1.: '' }; diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithStringIndexer.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithStringIndexer.ts index 8c5ffbc930906..fe888f189f032 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithStringIndexer.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithStringIndexer.ts @@ -8,13 +8,13 @@ class A { [x: string]: Base; } -var a: A; +declare var a: A; -var b: { [x: string]: Derived; } +declare var b: { [x: string]: Derived; }; a = b; // ok b = a; // error -var b2: { [x: string]: Derived2; } +declare var b2: { [x: string]: Derived2; }; a = b2; // ok b2 = a; // error @@ -27,8 +27,8 @@ namespace Generics { [x: string]: Derived; // ok } - var b1: { [x: string]: Derived; }; - var a1: A; + declare var b1: { [x: string]: Derived; }; + declare var a1: A; a1 = b1; // ok b1 = a1; // error @@ -36,7 +36,7 @@ namespace Generics { [x: string]: Derived2; // ok } - var b2: { [x: string]: Derived2; }; + declare var b2: { [x: string]: Derived2; }; a1 = b2; // ok b2 = a1; // error @@ -50,4 +50,4 @@ namespace Generics { a3 = b4; // error b4 = a3; // error } -} \ No newline at end of file +} diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithStringIndexer2.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithStringIndexer2.ts index 68a37a0416247..830ea07c75e89 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithStringIndexer2.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithStringIndexer2.ts @@ -8,13 +8,13 @@ interface A { [x: string]: Base; } -var a: A; +declare var a: A; -var b: { [x: string]: Derived; } +declare var b: { [x: string]: Derived; }; a = b; // ok b = a; // error -var b2: { [x: string]: Derived2; } +declare var b2: { [x: string]: Derived2; }; a = b2; // ok b2 = a; // error @@ -27,8 +27,8 @@ namespace Generics { [x: string]: Derived; // ok } - var b1: { [x: string]: Derived; }; - var a1: A; + declare var b1: { [x: string]: Derived; }; + declare var a1: A; a1 = b1; // ok b1 = a1; // error @@ -36,17 +36,17 @@ namespace Generics { [x: string]: Derived2; // ok } - var b2: { [x: string]: Derived2; }; + declare var b2: { [x: string]: Derived2; }; a1 = b2; // ok b2 = a1; // error function foo() { - var b3: { [x: string]: Derived; }; - var a3: A; + var b3!: { [x: string]: Derived; }; + var a3!: A; a3 = b3; // error b3 = a3; // error - var b4: { [x: string]: Derived2; }; + var b4!: { [x: string]: Derived2; }; a3 = b4; // error b4 = a3; // error } diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithStringIndexer3.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithStringIndexer3.ts index 6956a47a2eff4..6ede9b50046ef 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithStringIndexer3.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithStringIndexer3.ts @@ -4,8 +4,8 @@ interface Base { foo: string; } interface Derived extends Base { bar: string; } interface Derived2 extends Derived { baz: string; } -var a: A; -var b1: { [x: string]: string; } +declare var a: A; +declare var b1: { [x: string]: string; }; a = b1; // error b1 = a; // error @@ -15,8 +15,8 @@ namespace Generics { } function foo() { - var a: A; - var b: { [x: string]: string; } + var a!: A; + var b!: { [x: string]: string; }; a = b; // error b = a; // error } diff --git a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/constructSignatureAssignabilityInInheritance.ts b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/constructSignatureAssignabilityInInheritance.ts index ac822681356da..f01397b1b34ab 100644 --- a/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/constructSignatureAssignabilityInInheritance.ts +++ b/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/constructSignatureAssignabilityInInheritance.ts @@ -40,7 +40,7 @@ namespace MemberWithConstructSignature { a3: new (x: T) => void; } - var b: Base; + declare var b: Base; var r = new b.a(1); // S's diff --git a/tests/cases/conformance/types/typeRelationships/bestCommonType/bestCommonTypeOfTuple2.ts b/tests/cases/conformance/types/typeRelationships/bestCommonType/bestCommonTypeOfTuple2.ts index e3487f6bee2f7..ea0893c9d7b06 100644 --- a/tests/cases/conformance/types/typeRelationships/bestCommonType/bestCommonTypeOfTuple2.ts +++ b/tests/cases/conformance/types/typeRelationships/bestCommonType/bestCommonTypeOfTuple2.ts @@ -8,11 +8,11 @@ class F extends C { f } class C1 implements base1 { i = "foo"; c } class D1 extends C1 { i = "bar"; d } -var t1: [C, base]; -var t2: [C, D]; -var t3: [C1, D1]; -var t4: [base1, C1]; -var t5: [C1, F] +declare var t1: [C, base]; +declare var t2: [C, D]; +declare var t3: [C1, D1]; +declare var t4: [base1, C1]; +declare var t5: [C1, F] var e11 = t1[4]; // base var e21 = t2[4]; // {} diff --git a/tests/cases/conformance/types/typeRelationships/recursiveTypes/infiniteExpansionThroughInstantiation.ts b/tests/cases/conformance/types/typeRelationships/recursiveTypes/infiniteExpansionThroughInstantiation.ts index 49c561e2adb96..8078959d6e24f 100644 --- a/tests/cases/conformance/types/typeRelationships/recursiveTypes/infiniteExpansionThroughInstantiation.ts +++ b/tests/cases/conformance/types/typeRelationships/recursiveTypes/infiniteExpansionThroughInstantiation.ts @@ -11,13 +11,13 @@ interface OwnerList extends List> { name: string; } -var list: List; -var ownerList: OwnerList; +declare var list: List; +declare var ownerList: OwnerList; list = ownerList; function other(x: T) { var list: List; - var ownerList: OwnerList; + var ownerList!: OwnerList; list = ownerList; } diff --git a/tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembersOptionality2.ts b/tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembersOptionality2.ts index ac8f5642f7084..e8b85619f6b18 100644 --- a/tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembersOptionality2.ts +++ b/tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembersOptionality2.ts @@ -28,6 +28,6 @@ interface S3 extends T3 { } // object literal case -var a: { Foo: Base; } -var b: { Foo?: Derived; } +declare var a: { Foo: Base; } +declare var b: { Foo?: Derived; } var r = true ? a : b; // ok \ No newline at end of file diff --git a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallToOverloadedMethodWithOverloadedArguments.ts b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallToOverloadedMethodWithOverloadedArguments.ts index 27dad55cf3c9f..2d48a0e73fc1f 100644 --- a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallToOverloadedMethodWithOverloadedArguments.ts +++ b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallToOverloadedMethodWithOverloadedArguments.ts @@ -6,7 +6,7 @@ namespace m1 { declare function testFunction(n: number): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); } @@ -20,7 +20,7 @@ namespace m2 { declare function testFunction(n: number): Promise; declare function testFunction(s: string): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); } @@ -34,7 +34,7 @@ namespace m3 { declare function testFunction(n: number): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); } @@ -49,7 +49,7 @@ namespace m4 { declare function testFunction(n: number): Promise; declare function testFunction(s: string): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); } @@ -65,7 +65,7 @@ namespace m5 { declare function testFunction(n: number): Promise; declare function testFunction(s: string): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); } @@ -81,6 +81,6 @@ namespace m6 { declare function testFunction(s: string): Promise; declare function testFunction(b: boolean): Promise; - var numPromise: Promise; + declare var numPromise: Promise; var newPromise = numPromise.then(testFunction); } diff --git a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithConstraintsTypeArgumentInference2.ts b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithConstraintsTypeArgumentInference2.ts index 56e18745caa55..a05aa1ae502cd 100644 --- a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithConstraintsTypeArgumentInference2.ts +++ b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithConstraintsTypeArgumentInference2.ts @@ -1,7 +1,7 @@ // Generic call with parameters of T and U, U extends T, no parameter of type U function foo(t: T) { - var u: U; + var u!: U; return u; } diff --git a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithConstructorTypedArguments5.ts b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithConstructorTypedArguments5.ts index 9cd517edd2182..874b535f35119 100644 --- a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithConstructorTypedArguments5.ts +++ b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithConstructorTypedArguments5.ts @@ -4,12 +4,12 @@ function foo(arg: { cb: new(t: T) => U }) { return new arg.cb(null); } -var arg: { cb: new(x: T) => string }; +declare var arg: { cb: new(x: T) => string }; var r = foo(arg); // {} // more args not allowed -var arg2: { cb: new (x: T, y: T) => string }; +declare var arg2: { cb: new (x: T, y: T) => string }; var r2 = foo(arg2); // error -var arg3: { cb: new (x: string, y: number) => string }; +declare var arg3: { cb: new (x: string, y: number) => string }; var r3 = foo(arg3); // error function foo2(arg: { cb: new(t: T, t2: T) => U }) { @@ -18,7 +18,7 @@ function foo2(arg: { cb: new(t: T, t2: T) => U }) { // fewer args ok var r4 = foo(arg); // {} -var arg4: { cb: new (x: string) => string }; +declare var arg4: { cb: new (x: string) => string }; var r6 = foo(arg4); // string -var arg5: { cb: new () => string }; +declare var arg5: { cb: new () => string }; var r7 = foo(arg5); // string diff --git a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments2.ts b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments2.ts index 0d02afe9c880a..5582b96b5a900 100644 --- a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments2.ts +++ b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments2.ts @@ -11,9 +11,9 @@ interface I { interface I2 { new (x: T): T; } -var i: I; -var i2: I2; -var a: { +declare var i: I; +declare var i2: I2; +declare var a: { new (x: T): T; } diff --git a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts index ed1ea0b7fb7fb..3e0bf3d188f23 100644 --- a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts +++ b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts @@ -3,7 +3,7 @@ namespace onlyT { function foo(a: (x: T) => T, b: (x: T) => T) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -17,7 +17,7 @@ namespace onlyT { } function foo2(a: (x: T) => T, b: (x: T) => T) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -30,7 +30,7 @@ namespace onlyT { enum F { A } function foo3(x: T, a: (x: T) => T, b: (x: T) => T) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -39,7 +39,7 @@ namespace onlyT { namespace TU { function foo(a: (x: T) => T, b: (x: U) => U) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -52,7 +52,7 @@ namespace TU { } function foo2(a: (x: T) => T, b: (x: U) => U) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -65,7 +65,7 @@ namespace TU { enum F { A } function foo3(x: T, a: (x: T) => T, b: (x: U) => U) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } diff --git a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments3.ts b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments3.ts index 82b917efa3e27..78c1b8b94e705 100644 --- a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments3.ts +++ b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments3.ts @@ -2,7 +2,7 @@ // the corresponding inferred type arguments to become fixed and no further candidate inferences are made for them. function foo(x: T, a: (x: T) => T, b: (x: T) => T) { - var r: (x: T) => T; + var r!: (x: T) => T; return r; } @@ -20,7 +20,7 @@ var r6 = foo(E.A, (x: number) => E.A, (x: F) => F.A); // number => number function foo2(x: T, a: (x: T) => U, b: (x: T) => U) { - var r: (x: T) => U; + var r!: (x: T) => U; return r; } @@ -28,6 +28,6 @@ var r8 = foo2('', (x) => '', (x) => null); // string => string var r9 = foo2(null, (x) => '', (x) => ''); // any => any var r10 = foo2(null, (x: Object) => '', (x: string) => ''); // Object => Object -var x: (a: string) => boolean; +declare var x: (a: string) => boolean; var r11 = foo2(x, (a1: (y: string) => string) => (n: Object) => 1, (a2: (z: string) => string) => 2); // error var r12 = foo2(x, (a1: (y: string) => boolean) => (n: Object) => 1, (a2: (z: string) => boolean) => 2); // error \ No newline at end of file diff --git a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgs.ts b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgs.ts index 002749f3f6568..fb1d400b8071f 100644 --- a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgs.ts +++ b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgs.ts @@ -11,7 +11,7 @@ class X { } function foo(t: X, t2: X) { - var x: T; + var x!: T; return x; } diff --git a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints3.ts b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints3.ts index a7e7e337eadc6..d372066c26514 100644 --- a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints3.ts +++ b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints3.ts @@ -11,14 +11,14 @@ class Derived2 extends Base { } function f(a: { x: T; y: T }) { - var r: T; + var r!: T; return r; } var r1 = f({ x: new Derived(), y: new Derived2() }); // error because neither is supertype of the other function f2(a: U) { - var r: T; + var r!: T; return r; } diff --git a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints4.ts b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints4.ts index 5a026de8bc562..6f05d9ec37d85 100644 --- a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints4.ts +++ b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints4.ts @@ -13,8 +13,8 @@ function foo(t: T, t2: U) { return (x: T) => t2; } -var c: C; -var d: D; +declare var c: C; +declare var d: D; var r = foo(c, d); var r2 = foo(d, c); // error because C does not extend D var r3 = foo(c, { x: '', foo: c }); diff --git a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints5.ts b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints5.ts index b1ac6fc82d788..bf5d95f2bb009 100644 --- a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints5.ts +++ b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints5.ts @@ -13,8 +13,8 @@ function foo(t: T, t2: U) { return (x: T) => t2; } -var c: C; -var d: D; +declare var c: C; +declare var d: D; var r2 = foo(d, c); // the constraints are self-referencing, no downstream error var r9 = foo(() => 1, () => { }); // the constraints are self-referencing, no downstream error diff --git a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithOverloadedConstructorTypedArguments2.ts b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithOverloadedConstructorTypedArguments2.ts index 0041e31ec7330..041d13523e574 100644 --- a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithOverloadedConstructorTypedArguments2.ts +++ b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithOverloadedConstructorTypedArguments2.ts @@ -2,7 +2,7 @@ // Inferences are made quadratic-pairwise to and from these overload sets namespace NonGenericParameter { - var a: { + declare var a: { new(x: boolean): boolean; new(x: string): string; } @@ -11,7 +11,7 @@ namespace NonGenericParameter { return cb; } - var b: { new (x: T): U } + declare var b: { new (x: T): U } var r3 = foo4(b); // ok } @@ -20,14 +20,14 @@ namespace GenericParameter { return cb; } - var a: { new (x: T): T }; + declare var a: { new (x: T): T }; var r6 = foo5(a); // ok function foo6(cb: { new(x: T): string; new(x: T, y?: T): string }) { return cb; } - var b: { new (x: T, y: T): string }; + declare var b: { new (x: T, y: T): string }; var r10 = foo6(b); // error function foo7(x:T, cb: { new(x: T): string; new(x: T, y?: T): string }) { @@ -35,6 +35,6 @@ namespace GenericParameter { } var r13 = foo7(1, a); // ok - var c: { new(x: T): number; new(x: number): T; } + declare var c: { new(x: T): number; new(x: number): T; } var r14 = foo7(1, c); // ok } \ No newline at end of file diff --git a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithOverloadedFunctionTypedArguments2.ts b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithOverloadedFunctionTypedArguments2.ts index 535a631951121..62a3d5e7b5e65 100644 --- a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithOverloadedFunctionTypedArguments2.ts +++ b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithOverloadedFunctionTypedArguments2.ts @@ -2,7 +2,7 @@ // Inferences are made quadratic-pairwise to and from these overload sets namespace NonGenericParameter { - var a: { + declare var a: { (x: boolean): boolean; (x: string): string; } @@ -11,7 +11,7 @@ namespace NonGenericParameter { return cb; } - var r3 = foo4((x: T) => { var r: U; return r }); // ok + var r3 = foo4((x: T) => { var r!: U; return r }); // ok } namespace GenericParameter { @@ -32,6 +32,6 @@ namespace GenericParameter { } var r13 = foo7(1, (x: T) => x); // ok - var a: { (x: T): number; (x: number): T; } + declare var a: { (x: T): number; (x: number): T; } var r14 = foo7(1, a); // ok } \ No newline at end of file diff --git a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTupleType.ts b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTupleType.ts index 60198e1c510ba..4e464ff5cda33 100644 --- a/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTupleType.ts +++ b/tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTupleType.ts @@ -3,7 +3,8 @@ } var i1: I; -var i2: I<{}, {}>; +declare var i1: I; +declare var i2: I<{}, {}>; // no error i1.tuple1 = ["foo", 5]; diff --git a/tests/cases/conformance/types/typeRelationships/typeInference/genericClassWithFunctionTypedMemberArguments.ts b/tests/cases/conformance/types/typeRelationships/typeInference/genericClassWithFunctionTypedMemberArguments.ts index b2ab3c3a7546c..3df4e96528cfc 100644 --- a/tests/cases/conformance/types/typeRelationships/typeInference/genericClassWithFunctionTypedMemberArguments.ts +++ b/tests/cases/conformance/types/typeRelationships/typeInference/genericClassWithFunctionTypedMemberArguments.ts @@ -31,7 +31,7 @@ namespace WithCandidates { } } - var c: C; + declare var c: C; var r4 = c.foo2(1, function (a: Z) { return '' }); // string, contextual signature instantiation is applied to generic functions var r5 = c.foo2(1, (a) => ''); // string var r6 = c.foo2('', (a: Z) => 1); // number @@ -42,7 +42,7 @@ namespace WithCandidates { } } - var c2: C2; + declare var c2: C2; var r7 = c2.foo3(1, (a: Z) => '', ''); // string var r8 = c2.foo3(1, function (a) { return '' }, ''); // string @@ -51,7 +51,7 @@ namespace WithCandidates { return cb(x); } } - var c3: C3; + declare var c3: C3; function other(t: T, u: U) { var r10 = c.foo2(1, (x: T) => ''); // error diff --git a/tests/cases/conformance/types/typeRelationships/typeInference/indexSignatureTypeInference.ts b/tests/cases/conformance/types/typeRelationships/typeInference/indexSignatureTypeInference.ts index 66fcb53d76c71..3bdb5323e7180 100644 --- a/tests/cases/conformance/types/typeRelationships/typeInference/indexSignatureTypeInference.ts +++ b/tests/cases/conformance/types/typeRelationships/typeInference/indexSignatureTypeInference.ts @@ -9,8 +9,8 @@ interface StringMap { declare function numberMapToArray(object: NumberMap): T[]; declare function stringMapToArray(object: StringMap): T[]; -var numberMap: NumberMap; -var stringMap: StringMap; +declare var numberMap: NumberMap; +declare var stringMap: StringMap; var v1: Function[]; var v1 = numberMapToArray(numberMap); // Ok diff --git a/tests/cases/conformance/types/typeRelationships/widenedTypes/initializersWidened.ts b/tests/cases/conformance/types/typeRelationships/widenedTypes/initializersWidened.ts index 2eeb96194b753..3aafa14b98c08 100644 --- a/tests/cases/conformance/types/typeRelationships/widenedTypes/initializersWidened.ts +++ b/tests/cases/conformance/types/typeRelationships/widenedTypes/initializersWidened.ts @@ -1,3 +1,5 @@ +// @noImplicitAny: false + // these are widened to any at the point of assignment var x1 = null; @@ -6,8 +8,8 @@ var z1 = void 0; // these are not widened -var x2: null; -var y2: undefined; +declare var x2: null; +declare var y2: undefined; var x3: null = null; var y3: undefined = undefined; diff --git a/tests/cases/conformance/types/union/contextualTypeWithUnionTypeObjectLiteral.ts b/tests/cases/conformance/types/union/contextualTypeWithUnionTypeObjectLiteral.ts index b6b328a5d0936..0b802fe9880af 100644 --- a/tests/cases/conformance/types/union/contextualTypeWithUnionTypeObjectLiteral.ts +++ b/tests/cases/conformance/types/union/contextualTypeWithUnionTypeObjectLiteral.ts @@ -1,8 +1,8 @@ -var str: string; -var num: number; +declare var str: string; +declare var num: number; var strOrNumber: string | number = str || num; -var objStr: { prop: string }; -var objNum: { prop: number }; +declare var objStr: { prop: string }; +declare var objNum: { prop: number }; var objStrOrNum1: { prop: string } | { prop: number } = objStr || objNum; var objStrOrNum2: { prop: string | number } = objStr || objNum; // Below is error because : @@ -37,8 +37,8 @@ interface I11 { interface I21 { commonMethodDifferentReturnType(a: string, b: number): number; } -var i11: I11; -var i21: I21; +declare var i11: I11; +declare var i21: I21; var i11Ori21: I11 | I21 = i11; var i11Ori21: I11 | I21 = i21; var i11Ori21: I11 | I21 = { // Like i1 @@ -53,7 +53,7 @@ var i11Ori21: I11 | I21 = { // Like i2 return z; }, }; -var strOrNumber: string | number; +declare var strOrNumber: string | number; var i11Ori21: I11 | I21 = { // Like i1 and i2 both commonMethodDifferentReturnType: (a, b) => strOrNumber, }; \ No newline at end of file diff --git a/tests/cases/conformance/types/union/unionTypeCallSignatures.ts b/tests/cases/conformance/types/union/unionTypeCallSignatures.ts index 532dd9f3e1f1a..486265d94dcbc 100644 --- a/tests/cases/conformance/types/union/unionTypeCallSignatures.ts +++ b/tests/cases/conformance/types/union/unionTypeCallSignatures.ts @@ -1,74 +1,74 @@ -var numOrDate: number | Date; -var strOrBoolean: string | boolean; -var strOrNum: string | number; +declare var numOrDate: number | Date; +declare var strOrBoolean: string | boolean; +declare var strOrNum: string | number; // If each type in U has call signatures and the sets of call signatures are identical ignoring return types, // U has the same set of call signatures, but with return types that are unions of the return types of the respective call signatures from each type in U. -var unionOfDifferentReturnType: { (a: number): number; } | { (a: number): Date; }; +declare var unionOfDifferentReturnType: { (a: number): number; } | { (a: number): Date; }; numOrDate = unionOfDifferentReturnType(10); strOrBoolean = unionOfDifferentReturnType("hello"); // error unionOfDifferentReturnType1(true); // error in type of parameter -var unionOfDifferentReturnType1: { (a: number): number; (a: string): string; } | { (a: number): Date; (a: string): boolean; }; +declare var unionOfDifferentReturnType1: { (a: number): number; (a: string): string; } | { (a: number): Date; (a: string): boolean; }; numOrDate = unionOfDifferentReturnType1(10); strOrBoolean = unionOfDifferentReturnType1("hello"); unionOfDifferentReturnType1(true); // error in type of parameter unionOfDifferentReturnType1(); // error missing parameter -var unionOfDifferentParameterTypes: { (a: number): number; } | { (a: string): Date; }; +declare var unionOfDifferentParameterTypes: { (a: number): number; } | { (a: string): Date; }; unionOfDifferentParameterTypes(10);// error - no call signatures unionOfDifferentParameterTypes("hello");// error - no call signatures unionOfDifferentParameterTypes();// error - no call signatures -var unionOfDifferentNumberOfSignatures: { (a: number): number; } | { (a: number): Date; (a: string): boolean; }; +declare var unionOfDifferentNumberOfSignatures: { (a: number): number; } | { (a: number): Date; (a: string): boolean; }; unionOfDifferentNumberOfSignatures(); // error - no call signatures unionOfDifferentNumberOfSignatures(10); // error - no call signatures unionOfDifferentNumberOfSignatures("hello"); // error - no call signatures -var unionWithDifferentParameterCount: { (a: string): string; } | { (a: string, b: number): number; } ; +declare var unionWithDifferentParameterCount: { (a: string): string; } | { (a: string, b: number): number; } ; unionWithDifferentParameterCount();// needs more args unionWithDifferentParameterCount("hello");// needs more args unionWithDifferentParameterCount("hello", 10);// OK -var unionWithOptionalParameter1: { (a: string, b?: number): string; } | { (a: string, b?: number): number; }; +declare var unionWithOptionalParameter1: { (a: string, b?: number): string; } | { (a: string, b?: number): number; }; strOrNum = unionWithOptionalParameter1('hello'); strOrNum = unionWithOptionalParameter1('hello', 10); strOrNum = unionWithOptionalParameter1('hello', "hello"); // error in parameter type strOrNum = unionWithOptionalParameter1(); // error -var unionWithOptionalParameter2: { (a: string, b?: number): string; } | { (a: string, b: number): number }; +declare var unionWithOptionalParameter2: { (a: string, b?: number): string; } | { (a: string, b: number): number }; strOrNum = unionWithOptionalParameter2('hello'); // error no call signature strOrNum = unionWithOptionalParameter2('hello', 10); // error no call signature strOrNum = unionWithOptionalParameter2('hello', "hello"); // error no call signature strOrNum = unionWithOptionalParameter2(); // error no call signature -var unionWithOptionalParameter3: { (a: string, b?: number): string; } | { (a: string): number; }; +declare var unionWithOptionalParameter3: { (a: string, b?: number): string; } | { (a: string): number; }; strOrNum = unionWithOptionalParameter3('hello'); strOrNum = unionWithOptionalParameter3('hello', 10); // ok strOrNum = unionWithOptionalParameter3('hello', "hello"); // wrong argument type strOrNum = unionWithOptionalParameter3(); // needs more args -var unionWithRestParameter1: { (a: string, ...b: number[]): string; } | { (a: string, ...b: number[]): number }; +declare var unionWithRestParameter1: { (a: string, ...b: number[]): string; } | { (a: string, ...b: number[]): number }; strOrNum = unionWithRestParameter1('hello'); strOrNum = unionWithRestParameter1('hello', 10); strOrNum = unionWithRestParameter1('hello', 10, 11); strOrNum = unionWithRestParameter1('hello', "hello"); // error in parameter type strOrNum = unionWithRestParameter1(); // error -var unionWithRestParameter2: { (a: string, ...b: number[]): string; } | { (a: string, b: number): number }; +declare var unionWithRestParameter2: { (a: string, ...b: number[]): string; } | { (a: string, b: number): number }; strOrNum = unionWithRestParameter2('hello'); // error no call signature strOrNum = unionWithRestParameter2('hello', 10); // error no call signature strOrNum = unionWithRestParameter2('hello', 10, 11); // error no call signature strOrNum = unionWithRestParameter2('hello', "hello"); // error no call signature strOrNum = unionWithRestParameter2(); // error no call signature -var unionWithRestParameter3: { (a: string, ...b: number[]): string; } | { (a: string): number }; +declare var unionWithRestParameter3: { (a: string, ...b: number[]): string; } | { (a: string): number }; strOrNum = unionWithRestParameter3('hello'); strOrNum = unionWithRestParameter3('hello', 10); // error no call signature strOrNum = unionWithRestParameter3('hello', 10, 11); // error no call signature strOrNum = unionWithRestParameter3('hello', "hello"); // wrong argument type strOrNum = unionWithRestParameter3(); // error no call signature -var unionWithRestParameter4: { (...a: string[]): string; } | { (a: string, b: string): number; }; +declare var unionWithRestParameter4: { (...a: string[]): string; } | { (a: string, b: string): number; }; strOrNum = unionWithRestParameter4("hello"); // error supplied parameters do not match any call signature strOrNum = unionWithRestParameter4("hello", "world"); diff --git a/tests/cases/conformance/types/union/unionTypeCallSignatures4.ts b/tests/cases/conformance/types/union/unionTypeCallSignatures4.ts index 9ac96262bdcc4..17009d6c37e29 100644 --- a/tests/cases/conformance/types/union/unionTypeCallSignatures4.ts +++ b/tests/cases/conformance/types/union/unionTypeCallSignatures4.ts @@ -4,22 +4,22 @@ type F3 = (a: string, ...rest: string[]) => void; type F4 = (a: string, b?: string, ...rest: string[]) => void; type F5 = (a: string, b: string) => void; -var f12: F1 | F2; +declare var f12: F1 | F2; f12("a"); f12("a", "b"); f12("a", "b", "c"); // ok -var f34: F3 | F4; +declare var f34: F3 | F4; f34("a"); f34("a", "b"); f34("a", "b", "c"); -var f1234: F1 | F2 | F3 | F4; +declare var f1234: F1 | F2 | F3 | F4; f1234("a"); f1234("a", "b"); f1234("a", "b", "c"); // ok -var f12345: F1 | F2 | F3 | F4 | F5; +declare var f12345: F1 | F2 | F3 | F4 | F5; f12345("a"); // error f12345("a", "b"); f12345("a", "b", "c"); // error diff --git a/tests/cases/conformance/types/union/unionTypeConstructSignatures.ts b/tests/cases/conformance/types/union/unionTypeConstructSignatures.ts index 3e0d509fe97f3..1368f2ec6d764 100644 --- a/tests/cases/conformance/types/union/unionTypeConstructSignatures.ts +++ b/tests/cases/conformance/types/union/unionTypeConstructSignatures.ts @@ -1,73 +1,73 @@ -var numOrDate: number | Date; -var strOrBoolean: string | boolean; -var strOrNum: string | number; +declare var numOrDate: number | Date; +declare var strOrBoolean: string | boolean; +declare var strOrNum: string | number; // If each type in U has construct signatures and the sets of construct signatures are identical ignoring return types, // U has the same set of construct signatures, but with return types that are unions of the return types of the respective construct signatures from each type in U. -var unionOfDifferentReturnType: { new (a: number): number; } | { new (a: number): Date; }; +declare var unionOfDifferentReturnType: { new (a: number): number; } | { new (a: number): Date; }; numOrDate = new unionOfDifferentReturnType(10); strOrBoolean = new unionOfDifferentReturnType("hello"); // error new unionOfDifferentReturnType1(true); // error in type of parameter -var unionOfDifferentReturnType1: { new (a: number): number; new (a: string): string; } | { new (a: number): Date; new (a: string): boolean; }; +declare var unionOfDifferentReturnType1: { new (a: number): number; new (a: string): string; } | { new (a: number): Date; new (a: string): boolean; }; numOrDate = new unionOfDifferentReturnType1(10); strOrBoolean = new unionOfDifferentReturnType1("hello"); new unionOfDifferentReturnType1(true); // error in type of parameter new unionOfDifferentReturnType1(); // error missing parameter -var unionOfDifferentParameterTypes: { new (a: number): number; } | { new (a: string): Date; }; +declare var unionOfDifferentParameterTypes: { new (a: number): number; } | { new (a: string): Date; }; new unionOfDifferentParameterTypes(10);// error - no call signatures new unionOfDifferentParameterTypes("hello");// error - no call signatures new unionOfDifferentParameterTypes();// error - no call signatures -var unionOfDifferentNumberOfSignatures: { new (a: number): number; } | { new (a: number): Date; new (a: string): boolean; }; +declare var unionOfDifferentNumberOfSignatures: { new (a: number): number; } | { new (a: number): Date; new (a: string): boolean; }; new unionOfDifferentNumberOfSignatures(); // error - no call signatures new unionOfDifferentNumberOfSignatures(10); // error - no call signatures new unionOfDifferentNumberOfSignatures("hello"); // error - no call signatures -var unionWithDifferentParameterCount: { new (a: string): string; } | { new (a: string, b: number): number; }; +declare var unionWithDifferentParameterCount: { new (a: string): string; } | { new (a: string, b: number): number; }; new unionWithDifferentParameterCount();// needs more args new unionWithDifferentParameterCount("hello");// needs more args new unionWithDifferentParameterCount("hello", 10);// ok -var unionWithOptionalParameter1: { new (a: string, b?: number): string; } | { new (a: string, b?: number): number; }; +declare var unionWithOptionalParameter1: { new (a: string, b?: number): string; } | { new (a: string, b?: number): number; }; strOrNum = new unionWithOptionalParameter1('hello'); strOrNum = new unionWithOptionalParameter1('hello', 10); strOrNum = new unionWithOptionalParameter1('hello', "hello"); // error in parameter type strOrNum = new unionWithOptionalParameter1(); // error -var unionWithOptionalParameter2: { new (a: string, b?: number): string; } | { new (a: string, b: number): number }; +declare var unionWithOptionalParameter2: { new (a: string, b?: number): string; } | { new (a: string, b: number): number }; strOrNum = new unionWithOptionalParameter2('hello'); // error no call signature strOrNum = new unionWithOptionalParameter2('hello', 10); // error no call signature strOrNum = new unionWithOptionalParameter2('hello', "hello"); // error no call signature strOrNum = new unionWithOptionalParameter2(); // error no call signature -var unionWithOptionalParameter3: { new (a: string, b?: number): string; } | { new (a: string): number; }; +declare var unionWithOptionalParameter3: { new (a: string, b?: number): string; } | { new (a: string): number; }; strOrNum = new unionWithOptionalParameter3('hello'); // error no call signature strOrNum = new unionWithOptionalParameter3('hello', 10); // ok strOrNum = new unionWithOptionalParameter3('hello', "hello"); // wrong type strOrNum = new unionWithOptionalParameter3(); // error no call signature -var unionWithRestParameter1: { new (a: string, ...b: number[]): string; } | { new (a: string, ...b: number[]): number }; +declare var unionWithRestParameter1: { new (a: string, ...b: number[]): string; } | { new (a: string, ...b: number[]): number }; strOrNum = new unionWithRestParameter1('hello'); strOrNum = new unionWithRestParameter1('hello', 10); strOrNum = new unionWithRestParameter1('hello', 10, 11); strOrNum = new unionWithRestParameter1('hello', "hello"); // error in parameter type strOrNum = new unionWithRestParameter1(); // error -var unionWithRestParameter2: { new (a: string, ...b: number[]): string; } | { new (a: string, b: number): number }; +declare var unionWithRestParameter2: { new (a: string, ...b: number[]): string; } | { new (a: string, b: number): number }; strOrNum = new unionWithRestParameter2('hello'); // error no call signature strOrNum = new unionWithRestParameter2('hello', 10); // error no call signature strOrNum = new unionWithRestParameter2('hello', 10, 11); // error no call signature strOrNum = new unionWithRestParameter2('hello', "hello"); // error no call signature strOrNum = new unionWithRestParameter2(); // error no call signature -var unionWithRestParameter3: { new (a: string, ...b: number[]): string; } | { new (a: string): number }; +declare var unionWithRestParameter3: { new (a: string, ...b: number[]): string; } | { new (a: string): number }; strOrNum = new unionWithRestParameter3('hello'); // error no call signature strOrNum = new unionWithRestParameter3('hello', 10); // ok strOrNum = new unionWithRestParameter3('hello', 10, 11); // ok strOrNum = new unionWithRestParameter3('hello', "hello"); // wrong type strOrNum = new unionWithRestParameter3(); // error no call signature -var unionWithAbstractSignature: (abstract new (a: string) => string) | (new (a: string) => string); +declare var unionWithAbstractSignature: (abstract new (a: string) => string) | (new (a: string) => string); new unionWithAbstractSignature('hello'); diff --git a/tests/cases/conformance/types/union/unionTypeFromArrayLiteral.ts b/tests/cases/conformance/types/union/unionTypeFromArrayLiteral.ts index c6b575846732a..a5def4e6aafe2 100644 --- a/tests/cases/conformance/types/union/unionTypeFromArrayLiteral.ts +++ b/tests/cases/conformance/types/union/unionTypeFromArrayLiteral.ts @@ -16,7 +16,7 @@ class C { foo() { } } class D { foo2() { } } class E extends C { foo3() { } } class F extends C { foo4() { } } -var c: C, d: D, e: E, f: F; +declare var c: C, d: D, e: E, f: F; var arr6 = [c, d]; // (C | D)[] var arr7 = [c, d, e]; // (C | D)[] var arr8 = [c, e]; // C[] diff --git a/tests/cases/conformance/types/union/unionTypeMembers.ts b/tests/cases/conformance/types/union/unionTypeMembers.ts index 73c6867e9acde..29371dfb92cce 100644 --- a/tests/cases/conformance/types/union/unionTypeMembers.ts +++ b/tests/cases/conformance/types/union/unionTypeMembers.ts @@ -30,10 +30,10 @@ interface I2 { // a union type U has those members that are present in every one of its constituent types, // with types that are unions of the respective members in the constituent types -var x : I1 | I2; -var str: string; -var num: number; -var strOrNum: string | number; +declare var x : I1 | I2; +declare var str: string; +declare var num: number; +declare var strOrNum: string | number; // If each type in U has a property P, U has a property P of a union type of the types of P from each type in U. str = x.commonPropertyType; // string diff --git a/tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts b/tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts index 531ffe96e8350..d4d6470f0202a 100644 --- a/tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts +++ b/tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts @@ -14,21 +14,21 @@ class Private { private member: number; } -var v1: Default; -var v2: Public; -var v3: Protected; -var v4: Private; -var v5: Default | Public; -var v6: Default | Protected; -var v7: Default | Private; -var v8: Public | Protected; -var v9: Public | Private; -var v10: Protected | Private; -var v11: Default | Public | Protected; -var v12: Default | Public | Private; -var v13: Default | Protected | Private; -var v14: Public | Private | Protected; -var v15: Default | Public | Private | Protected; +declare var v1: Default; +declare var v2: Public; +declare var v3: Protected; +declare var v4: Private; +declare var v5: Default | Public; +declare var v6: Default | Protected; +declare var v7: Default | Private; +declare var v8: Public | Protected; +declare var v9: Public | Private; +declare var v10: Protected | Private; +declare var v11: Default | Public | Protected; +declare var v12: Default | Public | Private; +declare var v13: Default | Protected | Private; +declare var v14: Public | Private | Protected; +declare var v15: Default | Public | Private | Protected; v1.member; v2.member; diff --git a/tests/cases/conformance/types/union/unionTypeReadonly.ts b/tests/cases/conformance/types/union/unionTypeReadonly.ts index 89cf1cbfd377d..d3926e8f3a160 100644 --- a/tests/cases/conformance/types/union/unionTypeReadonly.ts +++ b/tests/cases/conformance/types/union/unionTypeReadonly.ts @@ -13,14 +13,14 @@ interface DifferentType { interface DifferentName { readonly other: number; } -let base: Base; +declare let base: Base; base.value = 12 // error, lhs can't be a readonly property -let identical: Base | Identical; +declare let identical: Base | Identical; identical.value = 12; // error, lhs can't be a readonly property -let mutable: Base | Mutable; +declare let mutable: Base | Mutable; mutable.value = 12; // error, lhs can't be a readonly property -let differentType: Base | DifferentType; +declare let differentType: Base | DifferentType; differentType.value = 12; // error, lhs can't be a readonly property -let differentName: Base | DifferentName; +declare let differentName: Base | DifferentName; differentName.value = 12; // error, property 'value' doesn't exist diff --git a/tests/cases/conformance/types/witness/witness.ts b/tests/cases/conformance/types/witness/witness.ts index 0c19b422ebff2..297b16f776f80 100644 --- a/tests/cases/conformance/types/witness/witness.ts +++ b/tests/cases/conformance/types/witness/witness.ts @@ -1,4 +1,4 @@ - +// @strict: false @@ -113,7 +113,7 @@ var propAcc1 = { }; var propAcc1: { m: any; } -// Property access of module member +// Property access of namespace member namespace M2 { export var x = M2.x; var y = x;