From da5caf5f72911e5eadb60ef814b6c1c15682dd7e Mon Sep 17 00:00:00 2001 From: Bill Ticehurst Date: Fri, 6 Mar 2015 17:09:55 -0800 Subject: [PATCH 1/5] Made the 'version' string an exported property --- src/compiler/program.ts | 2 ++ src/compiler/tsc.ts | 6 ++---- tests/baselines/reference/APISample_compile.js | 1 + tests/baselines/reference/APISample_compile.types | 3 +++ tests/baselines/reference/APISample_linter.js | 1 + tests/baselines/reference/APISample_linter.types | 3 +++ tests/baselines/reference/APISample_transform.js | 1 + tests/baselines/reference/APISample_transform.types | 3 +++ tests/baselines/reference/APISample_watcher.js | 1 + tests/baselines/reference/APISample_watcher.types | 3 +++ 10 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 9d1dc652441..6cd429b5301 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -5,6 +5,8 @@ module ts { /* @internal */ export var emitTime = 0; /* @internal */ export var ioReadTime = 0; + export var version = "1.5.0.0"; + export function createCompilerHost(options: CompilerOptions): CompilerHost { var currentDirectory: string; var existingDirectories: Map = {}; diff --git a/src/compiler/tsc.ts b/src/compiler/tsc.ts index c4422e12bf6..fc0e143e666 100644 --- a/src/compiler/tsc.ts +++ b/src/compiler/tsc.ts @@ -2,8 +2,6 @@ /// module ts { - var version = "1.5.0.0"; - export interface SourceFile { fileWatcher: FileWatcher; } @@ -178,7 +176,7 @@ module ts { } if (commandLine.options.version) { - reportDiagnostic(createCompilerDiagnostic(Diagnostics.Version_0, version)); + reportDiagnostic(createCompilerDiagnostic(Diagnostics.Version_0, ts.version)); return sys.exit(ExitStatus.Success); } @@ -419,7 +417,7 @@ module ts { } function printVersion() { - sys.write(getDiagnosticText(Diagnostics.Version_0, version) + sys.newLine); + sys.write(getDiagnosticText(Diagnostics.Version_0, ts.version) + sys.newLine); } function printHelp() { diff --git a/tests/baselines/reference/APISample_compile.js b/tests/baselines/reference/APISample_compile.js index 30fe1d09060..ec0618c517a 100644 --- a/tests/baselines/reference/APISample_compile.js +++ b/tests/baselines/reference/APISample_compile.js @@ -1472,6 +1472,7 @@ declare module "typescript" { function createTypeChecker(host: TypeCheckerHost, produceDiagnostics: boolean): TypeChecker; } declare module "typescript" { + var version: string; function createCompilerHost(options: CompilerOptions): CompilerHost; function getPreEmitDiagnostics(program: Program): Diagnostic[]; function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string; diff --git a/tests/baselines/reference/APISample_compile.types b/tests/baselines/reference/APISample_compile.types index 81b98949c7b..dbd947e17db 100644 --- a/tests/baselines/reference/APISample_compile.types +++ b/tests/baselines/reference/APISample_compile.types @@ -4716,6 +4716,9 @@ declare module "typescript" { >TypeChecker : TypeChecker } declare module "typescript" { + var version: string; +>version : string + function createCompilerHost(options: CompilerOptions): CompilerHost; >createCompilerHost : (options: CompilerOptions) => CompilerHost >options : CompilerOptions diff --git a/tests/baselines/reference/APISample_linter.js b/tests/baselines/reference/APISample_linter.js index b7a67081440..62b30eab4eb 100644 --- a/tests/baselines/reference/APISample_linter.js +++ b/tests/baselines/reference/APISample_linter.js @@ -1503,6 +1503,7 @@ declare module "typescript" { function createTypeChecker(host: TypeCheckerHost, produceDiagnostics: boolean): TypeChecker; } declare module "typescript" { + var version: string; function createCompilerHost(options: CompilerOptions): CompilerHost; function getPreEmitDiagnostics(program: Program): Diagnostic[]; function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string; diff --git a/tests/baselines/reference/APISample_linter.types b/tests/baselines/reference/APISample_linter.types index 6da030e8617..7e9101988ea 100644 --- a/tests/baselines/reference/APISample_linter.types +++ b/tests/baselines/reference/APISample_linter.types @@ -4862,6 +4862,9 @@ declare module "typescript" { >TypeChecker : TypeChecker } declare module "typescript" { + var version: string; +>version : string + function createCompilerHost(options: CompilerOptions): CompilerHost; >createCompilerHost : (options: CompilerOptions) => CompilerHost >options : CompilerOptions diff --git a/tests/baselines/reference/APISample_transform.js b/tests/baselines/reference/APISample_transform.js index c30d4f03456..de8ee896f88 100644 --- a/tests/baselines/reference/APISample_transform.js +++ b/tests/baselines/reference/APISample_transform.js @@ -1504,6 +1504,7 @@ declare module "typescript" { function createTypeChecker(host: TypeCheckerHost, produceDiagnostics: boolean): TypeChecker; } declare module "typescript" { + var version: string; function createCompilerHost(options: CompilerOptions): CompilerHost; function getPreEmitDiagnostics(program: Program): Diagnostic[]; function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string; diff --git a/tests/baselines/reference/APISample_transform.types b/tests/baselines/reference/APISample_transform.types index 42862def15f..a79c32c359c 100644 --- a/tests/baselines/reference/APISample_transform.types +++ b/tests/baselines/reference/APISample_transform.types @@ -4812,6 +4812,9 @@ declare module "typescript" { >TypeChecker : TypeChecker } declare module "typescript" { + var version: string; +>version : string + function createCompilerHost(options: CompilerOptions): CompilerHost; >createCompilerHost : (options: CompilerOptions) => CompilerHost >options : CompilerOptions diff --git a/tests/baselines/reference/APISample_watcher.js b/tests/baselines/reference/APISample_watcher.js index a9ed17e924d..4d4e5f0d5dc 100644 --- a/tests/baselines/reference/APISample_watcher.js +++ b/tests/baselines/reference/APISample_watcher.js @@ -1541,6 +1541,7 @@ declare module "typescript" { function createTypeChecker(host: TypeCheckerHost, produceDiagnostics: boolean): TypeChecker; } declare module "typescript" { + var version: string; function createCompilerHost(options: CompilerOptions): CompilerHost; function getPreEmitDiagnostics(program: Program): Diagnostic[]; function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string; diff --git a/tests/baselines/reference/APISample_watcher.types b/tests/baselines/reference/APISample_watcher.types index 3dd324c421e..0ee826cb36d 100644 --- a/tests/baselines/reference/APISample_watcher.types +++ b/tests/baselines/reference/APISample_watcher.types @@ -4985,6 +4985,9 @@ declare module "typescript" { >TypeChecker : TypeChecker } declare module "typescript" { + var version: string; +>version : string + function createCompilerHost(options: CompilerOptions): CompilerHost; >createCompilerHost : (options: CompilerOptions) => CompilerHost >options : CompilerOptions From a6816fc128191cc71dbd4b21492a334dcbc29e91 Mon Sep 17 00:00:00 2001 From: Bill Ticehurst Date: Sat, 7 Mar 2015 20:12:16 -0800 Subject: [PATCH 2/5] Added description to version exports --- src/compiler/program.ts | 1 + src/services/services.ts | 1 + tests/baselines/reference/APISample_compile.js | 2 ++ tests/baselines/reference/APISample_compile.types | 2 ++ tests/baselines/reference/APISample_linter.js | 2 ++ tests/baselines/reference/APISample_linter.types | 2 ++ tests/baselines/reference/APISample_transform.js | 2 ++ tests/baselines/reference/APISample_transform.types | 2 ++ tests/baselines/reference/APISample_watcher.js | 2 ++ tests/baselines/reference/APISample_watcher.types | 2 ++ 10 files changed, 18 insertions(+) diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 6cd429b5301..9b933cacf74 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -5,6 +5,7 @@ module ts { /* @internal */ export var emitTime = 0; /* @internal */ export var ioReadTime = 0; + /** The version of the TypeScript compiler release */ export var version = "1.5.0.0"; export function createCompilerHost(options: CompilerOptions): CompilerHost { diff --git a/src/services/services.ts b/src/services/services.ts index fc4d1eff223..73ed1132724 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -11,6 +11,7 @@ /// module ts { + /** The version of the language service API */ export var servicesVersion = "0.4" export interface Node { diff --git a/tests/baselines/reference/APISample_compile.js b/tests/baselines/reference/APISample_compile.js index ec0618c517a..e54174386b5 100644 --- a/tests/baselines/reference/APISample_compile.js +++ b/tests/baselines/reference/APISample_compile.js @@ -1472,6 +1472,7 @@ declare module "typescript" { function createTypeChecker(host: TypeCheckerHost, produceDiagnostics: boolean): TypeChecker; } declare module "typescript" { + /** The version of the TypeScript compiler release */ var version: string; function createCompilerHost(options: CompilerOptions): CompilerHost; function getPreEmitDiagnostics(program: Program): Diagnostic[]; @@ -1479,6 +1480,7 @@ declare module "typescript" { function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost): Program; } declare module "typescript" { + /** The version of the language service API */ var servicesVersion: string; interface Node { getSourceFile(): SourceFile; diff --git a/tests/baselines/reference/APISample_compile.types b/tests/baselines/reference/APISample_compile.types index dbd947e17db..45f9e807444 100644 --- a/tests/baselines/reference/APISample_compile.types +++ b/tests/baselines/reference/APISample_compile.types @@ -4716,6 +4716,7 @@ declare module "typescript" { >TypeChecker : TypeChecker } declare module "typescript" { + /** The version of the TypeScript compiler release */ var version: string; >version : string @@ -4747,6 +4748,7 @@ declare module "typescript" { >Program : Program } declare module "typescript" { + /** The version of the language service API */ var servicesVersion: string; >servicesVersion : string diff --git a/tests/baselines/reference/APISample_linter.js b/tests/baselines/reference/APISample_linter.js index 62b30eab4eb..df85e5703e4 100644 --- a/tests/baselines/reference/APISample_linter.js +++ b/tests/baselines/reference/APISample_linter.js @@ -1503,6 +1503,7 @@ declare module "typescript" { function createTypeChecker(host: TypeCheckerHost, produceDiagnostics: boolean): TypeChecker; } declare module "typescript" { + /** The version of the TypeScript compiler release */ var version: string; function createCompilerHost(options: CompilerOptions): CompilerHost; function getPreEmitDiagnostics(program: Program): Diagnostic[]; @@ -1510,6 +1511,7 @@ declare module "typescript" { function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost): Program; } declare module "typescript" { + /** The version of the language service API */ var servicesVersion: string; interface Node { getSourceFile(): SourceFile; diff --git a/tests/baselines/reference/APISample_linter.types b/tests/baselines/reference/APISample_linter.types index 7e9101988ea..9c049a3b7fb 100644 --- a/tests/baselines/reference/APISample_linter.types +++ b/tests/baselines/reference/APISample_linter.types @@ -4862,6 +4862,7 @@ declare module "typescript" { >TypeChecker : TypeChecker } declare module "typescript" { + /** The version of the TypeScript compiler release */ var version: string; >version : string @@ -4893,6 +4894,7 @@ declare module "typescript" { >Program : Program } declare module "typescript" { + /** The version of the language service API */ var servicesVersion: string; >servicesVersion : string diff --git a/tests/baselines/reference/APISample_transform.js b/tests/baselines/reference/APISample_transform.js index de8ee896f88..df74967085a 100644 --- a/tests/baselines/reference/APISample_transform.js +++ b/tests/baselines/reference/APISample_transform.js @@ -1504,6 +1504,7 @@ declare module "typescript" { function createTypeChecker(host: TypeCheckerHost, produceDiagnostics: boolean): TypeChecker; } declare module "typescript" { + /** The version of the TypeScript compiler release */ var version: string; function createCompilerHost(options: CompilerOptions): CompilerHost; function getPreEmitDiagnostics(program: Program): Diagnostic[]; @@ -1511,6 +1512,7 @@ declare module "typescript" { function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost): Program; } declare module "typescript" { + /** The version of the language service API */ var servicesVersion: string; interface Node { getSourceFile(): SourceFile; diff --git a/tests/baselines/reference/APISample_transform.types b/tests/baselines/reference/APISample_transform.types index a79c32c359c..07a14778fd2 100644 --- a/tests/baselines/reference/APISample_transform.types +++ b/tests/baselines/reference/APISample_transform.types @@ -4812,6 +4812,7 @@ declare module "typescript" { >TypeChecker : TypeChecker } declare module "typescript" { + /** The version of the TypeScript compiler release */ var version: string; >version : string @@ -4843,6 +4844,7 @@ declare module "typescript" { >Program : Program } declare module "typescript" { + /** The version of the language service API */ var servicesVersion: string; >servicesVersion : string diff --git a/tests/baselines/reference/APISample_watcher.js b/tests/baselines/reference/APISample_watcher.js index 4d4e5f0d5dc..f92d1aaa81d 100644 --- a/tests/baselines/reference/APISample_watcher.js +++ b/tests/baselines/reference/APISample_watcher.js @@ -1541,6 +1541,7 @@ declare module "typescript" { function createTypeChecker(host: TypeCheckerHost, produceDiagnostics: boolean): TypeChecker; } declare module "typescript" { + /** The version of the TypeScript compiler release */ var version: string; function createCompilerHost(options: CompilerOptions): CompilerHost; function getPreEmitDiagnostics(program: Program): Diagnostic[]; @@ -1548,6 +1549,7 @@ declare module "typescript" { function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost): Program; } declare module "typescript" { + /** The version of the language service API */ var servicesVersion: string; interface Node { getSourceFile(): SourceFile; diff --git a/tests/baselines/reference/APISample_watcher.types b/tests/baselines/reference/APISample_watcher.types index 0ee826cb36d..e37c939a5b3 100644 --- a/tests/baselines/reference/APISample_watcher.types +++ b/tests/baselines/reference/APISample_watcher.types @@ -4985,6 +4985,7 @@ declare module "typescript" { >TypeChecker : TypeChecker } declare module "typescript" { + /** The version of the TypeScript compiler release */ var version: string; >version : string @@ -5016,6 +5017,7 @@ declare module "typescript" { >Program : Program } declare module "typescript" { + /** The version of the language service API */ var servicesVersion: string; >servicesVersion : string From c0db7ffe8f55b6ec335880482ca43b93b066689d Mon Sep 17 00:00:00 2001 From: Dick van den Brink Date: Sun, 8 Mar 2015 18:08:49 +0100 Subject: [PATCH 3/5] Added valueOf definitions for String and Number --- src/lib/core.d.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib/core.d.ts b/src/lib/core.d.ts index cb5324fbd3d..bbaddeeacc1 100644 --- a/src/lib/core.d.ts +++ b/src/lib/core.d.ts @@ -410,6 +410,9 @@ interface String { */ substr(from: number, length?: number): string; + /** Returns the primitive value of the specified object. */ + valueOf(): string; + [index: number]: string; } @@ -462,6 +465,9 @@ interface Number { * @param precision Number of significant digits. Must be in the range 1 - 21, inclusive. */ toPrecision(precision?: number): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): number; } interface NumberConstructor { From 23f56dadfb422e3c45d8ee15f4d587eed1959bf4 Mon Sep 17 00:00:00 2001 From: Dick van den Brink Date: Sun, 8 Mar 2015 18:59:04 +0100 Subject: [PATCH 4/5] Fixed tests due to lib.d.ts changes --- .../types/primitives/number/assignFromNumberInterface2.ts | 1 + .../types/primitives/string/assignFromStringInterface2.ts | 1 + .../stringLiteralTypeIsSubtypeOfString.ts | 1 + tests/cases/fourslash/completionEntryForUnionProperty2.ts | 3 ++- tests/cases/fourslash/completionListEnumMembers.ts | 2 +- tests/cases/fourslash/memberCompletionInForEach1.ts | 5 ++--- tests/cases/fourslash/server/completions.ts | 5 ++--- 7 files changed, 10 insertions(+), 8 deletions(-) diff --git a/tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts b/tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts index b516f7b864d..da7da7c7a06 100644 --- a/tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts +++ b/tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts @@ -7,6 +7,7 @@ interface NotNumber { toFixed(fractionDigits?: number): string; toExponential(fractionDigits?: number): string; toPrecision(precision?: number): string; + valueOf(): number; doStuff(): string; } diff --git a/tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts b/tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts index 981df14faa3..16308f90251 100644 --- a/tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts +++ b/tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts @@ -30,6 +30,7 @@ interface NotString { trim(): string; length: number; substr(from: number, length?: number): string; + valueOf(): string; [index: number]: string; } diff --git a/tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts b/tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts index 15764837bc0..c7e9c0fc8e9 100644 --- a/tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts +++ b/tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts @@ -60,6 +60,7 @@ class C implements String { trim(): string { return null; } length: number; substr(from: number, length?: number): string { return null; } + valueOf(): string { return null; } [index: number]: string; } diff --git a/tests/cases/fourslash/completionEntryForUnionProperty2.ts b/tests/cases/fourslash/completionEntryForUnionProperty2.ts index b32e6d05345..ccf0b402d08 100644 --- a/tests/cases/fourslash/completionEntryForUnionProperty2.ts +++ b/tests/cases/fourslash/completionEntryForUnionProperty2.ts @@ -16,4 +16,5 @@ goTo.marker(); verify.memberListContains("toString", "(method) toString(): string"); -verify.memberListCount(1); \ No newline at end of file +verify.memberListContains("valueOf", "(method) valueOf(): string | number"); +verify.memberListCount(2); \ No newline at end of file diff --git a/tests/cases/fourslash/completionListEnumMembers.ts b/tests/cases/fourslash/completionListEnumMembers.ts index 938b4aa2f2e..9c24f6228b0 100644 --- a/tests/cases/fourslash/completionListEnumMembers.ts +++ b/tests/cases/fourslash/completionListEnumMembers.ts @@ -21,4 +21,4 @@ verify.memberListCount(0); goTo.marker('enumValueReference'); verify.memberListContains("toString"); verify.memberListContains("toFixed"); -verify.memberListCount(4); +verify.memberListCount(5); diff --git a/tests/cases/fourslash/memberCompletionInForEach1.ts b/tests/cases/fourslash/memberCompletionInForEach1.ts index 82d3b5b2400..2af0393283f 100644 --- a/tests/cases/fourslash/memberCompletionInForEach1.ts +++ b/tests/cases/fourslash/memberCompletionInForEach1.ts @@ -7,11 +7,10 @@ goTo.marker('1'); edit.insert('.'); verify.memberListContains('trim'); -verify.memberListCount(20); +verify.memberListCount(21); edit.insert('});'); // need the following lines to not have parse errors in order for completion list to appear goTo.marker('2'); edit.insert('.'); verify.memberListContains('trim'); -verify.memberListCount(20); - \ No newline at end of file +verify.memberListCount(21); diff --git a/tests/cases/fourslash/server/completions.ts b/tests/cases/fourslash/server/completions.ts index 82d3b5b2400..2af0393283f 100644 --- a/tests/cases/fourslash/server/completions.ts +++ b/tests/cases/fourslash/server/completions.ts @@ -7,11 +7,10 @@ goTo.marker('1'); edit.insert('.'); verify.memberListContains('trim'); -verify.memberListCount(20); +verify.memberListCount(21); edit.insert('});'); // need the following lines to not have parse errors in order for completion list to appear goTo.marker('2'); edit.insert('.'); verify.memberListContains('trim'); -verify.memberListCount(20); - \ No newline at end of file +verify.memberListCount(21); From e60edb3c7ea5651de183667f336151256728c107 Mon Sep 17 00:00:00 2001 From: Dick van den Brink Date: Sun, 8 Mar 2015 19:07:22 +0100 Subject: [PATCH 5/5] Accepted baselines --- .../assignFromNumberInterface2.errors.txt | 5 +++-- .../reference/assignFromNumberInterface2.js | 1 + .../assignFromStringInterface2.errors.txt | 5 +++-- .../reference/assignFromStringInterface2.js | 1 + .../reference/booleanAssignment.errors.txt | 16 ++++++++++------ ...stringLiteralTypeIsSubtypeOfString.errors.txt | 9 +++++---- .../stringLiteralTypeIsSubtypeOfString.js | 2 ++ ...teStringsArrayTypeDefinedInES5Mode.errors.txt | 2 +- ...StringsArrayTypeRedefinedInES6Mode.errors.txt | 2 +- 9 files changed, 27 insertions(+), 16 deletions(-) diff --git a/tests/baselines/reference/assignFromNumberInterface2.errors.txt b/tests/baselines/reference/assignFromNumberInterface2.errors.txt index fa53d8facdf..85639cdeeaf 100644 --- a/tests/baselines/reference/assignFromNumberInterface2.errors.txt +++ b/tests/baselines/reference/assignFromNumberInterface2.errors.txt @@ -1,5 +1,5 @@ -tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts(23,1): error TS2322: Type 'Number' is not assignable to type 'number'. -tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts(24,1): error TS2322: Type 'NotNumber' is not assignable to type 'number'. +tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts(24,1): error TS2322: Type 'Number' is not assignable to type 'number'. +tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts(25,1): error TS2322: Type 'NotNumber' is not assignable to type 'number'. ==== tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts (2 errors) ==== @@ -12,6 +12,7 @@ tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts(24 toFixed(fractionDigits?: number): string; toExponential(fractionDigits?: number): string; toPrecision(precision?: number): string; + valueOf(): number; doStuff(): string; } diff --git a/tests/baselines/reference/assignFromNumberInterface2.js b/tests/baselines/reference/assignFromNumberInterface2.js index 74384d42302..25262bf27f0 100644 --- a/tests/baselines/reference/assignFromNumberInterface2.js +++ b/tests/baselines/reference/assignFromNumberInterface2.js @@ -8,6 +8,7 @@ interface NotNumber { toFixed(fractionDigits?: number): string; toExponential(fractionDigits?: number): string; toPrecision(precision?: number): string; + valueOf(): number; doStuff(): string; } diff --git a/tests/baselines/reference/assignFromStringInterface2.errors.txt b/tests/baselines/reference/assignFromStringInterface2.errors.txt index 2e3e518f75b..4e09eb6eacb 100644 --- a/tests/baselines/reference/assignFromStringInterface2.errors.txt +++ b/tests/baselines/reference/assignFromStringInterface2.errors.txt @@ -1,5 +1,5 @@ -tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts(46,1): error TS2322: Type 'String' is not assignable to type 'string'. -tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts(47,1): error TS2322: Type 'NotString' is not assignable to type 'string'. +tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts(47,1): error TS2322: Type 'String' is not assignable to type 'string'. +tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts(48,1): error TS2322: Type 'NotString' is not assignable to type 'string'. ==== tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts (2 errors) ==== @@ -35,6 +35,7 @@ tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts(47 trim(): string; length: number; substr(from: number, length?: number): string; + valueOf(): string; [index: number]: string; } diff --git a/tests/baselines/reference/assignFromStringInterface2.js b/tests/baselines/reference/assignFromStringInterface2.js index 7e4821ac2a7..5636a4806cc 100644 --- a/tests/baselines/reference/assignFromStringInterface2.js +++ b/tests/baselines/reference/assignFromStringInterface2.js @@ -31,6 +31,7 @@ interface NotString { trim(): string; length: number; substr(from: number, length?: number): string; + valueOf(): string; [index: number]: string; } diff --git a/tests/baselines/reference/booleanAssignment.errors.txt b/tests/baselines/reference/booleanAssignment.errors.txt index 2d6c6b045ea..454bd7ef707 100644 --- a/tests/baselines/reference/booleanAssignment.errors.txt +++ b/tests/baselines/reference/booleanAssignment.errors.txt @@ -1,13 +1,15 @@ tests/cases/compiler/booleanAssignment.ts(2,1): error TS2322: Type 'number' is not assignable to type 'Boolean'. Types of property 'valueOf' are incompatible. - Type '() => Object' is not assignable to type '() => boolean'. - Type 'Object' is not assignable to type 'boolean'. + Type '() => number' is not assignable to type '() => boolean'. + Type 'number' is not assignable to type 'boolean'. tests/cases/compiler/booleanAssignment.ts(3,1): error TS2322: Type 'string' is not assignable to type 'Boolean'. Types of property 'valueOf' are incompatible. - Type '() => Object' is not assignable to type '() => boolean'. + Type '() => string' is not assignable to type '() => boolean'. + Type 'string' is not assignable to type 'boolean'. tests/cases/compiler/booleanAssignment.ts(4,1): error TS2322: Type '{}' is not assignable to type 'Boolean'. Types of property 'valueOf' are incompatible. Type '() => Object' is not assignable to type '() => boolean'. + Type 'Object' is not assignable to type 'boolean'. ==== tests/cases/compiler/booleanAssignment.ts (3 errors) ==== @@ -16,18 +18,20 @@ tests/cases/compiler/booleanAssignment.ts(4,1): error TS2322: Type '{}' is not a ~ !!! error TS2322: Type 'number' is not assignable to type 'Boolean'. !!! error TS2322: Types of property 'valueOf' are incompatible. -!!! error TS2322: Type '() => Object' is not assignable to type '() => boolean'. -!!! error TS2322: Type 'Object' is not assignable to type 'boolean'. +!!! error TS2322: Type '() => number' is not assignable to type '() => boolean'. +!!! error TS2322: Type 'number' is not assignable to type 'boolean'. b = "a"; // Error ~ !!! error TS2322: Type 'string' is not assignable to type 'Boolean'. !!! error TS2322: Types of property 'valueOf' are incompatible. -!!! error TS2322: Type '() => Object' is not assignable to type '() => boolean'. +!!! error TS2322: Type '() => string' is not assignable to type '() => boolean'. +!!! error TS2322: Type 'string' is not assignable to type 'boolean'. b = {}; // Error ~ !!! error TS2322: Type '{}' is not assignable to type 'Boolean'. !!! error TS2322: Types of property 'valueOf' are incompatible. !!! error TS2322: Type '() => Object' is not assignable to type '() => boolean'. +!!! error TS2322: Type 'Object' is not assignable to type 'boolean'. var o = {}; o = b; // OK diff --git a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.errors.txt b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.errors.txt index b82fa1c93ee..8a916c16b2d 100644 --- a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.errors.txt +++ b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.errors.txt @@ -3,14 +3,14 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLite tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(30,10): error TS2382: Specialized overload signature is not assignable to any non-specialized signature. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(34,10): error TS2382: Specialized overload signature is not assignable to any non-specialized signature. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(38,10): error TS2382: Specialized overload signature is not assignable to any non-specialized signature. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(76,10): error TS2382: Specialized overload signature is not assignable to any non-specialized signature. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(89,10): error TS2382: Specialized overload signature is not assignable to any non-specialized signature. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(93,17): error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(77,10): error TS2382: Specialized overload signature is not assignable to any non-specialized signature. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(90,10): error TS2382: Specialized overload signature is not assignable to any non-specialized signature. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(94,17): error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(95,17): error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(97,32): error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(96,17): error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(98,32): error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(99,32): error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(100,32): error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. ==== tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts (13 errors) ==== @@ -86,6 +86,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLite trim(): string { return null; } length: number; substr(from: number, length?: number): string { return null; } + valueOf(): string { return null; } [index: number]: string; } diff --git a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.js b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.js index 6260493dea0..01b5dc814a7 100644 --- a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.js +++ b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.js @@ -61,6 +61,7 @@ class C implements String { trim(): string { return null; } length: number; substr(from: number, length?: number): string { return null; } + valueOf(): string { return null; } [index: number]: string; } @@ -138,6 +139,7 @@ var C = (function () { C.prototype.toLocaleUpperCase = function () { return null; }; C.prototype.trim = function () { return null; }; C.prototype.substr = function (from, length) { return null; }; + C.prototype.valueOf = function () { return null; }; return C; })(); function f10(x) { } diff --git a/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.errors.txt b/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.errors.txt index 7ac2eff8652..7c796d47398 100644 --- a/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.errors.txt +++ b/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.errors.txt @@ -1,4 +1,4 @@ -lib.d.ts(515,11): error TS2300: Duplicate identifier 'TemplateStringsArray'. +lib.d.ts(521,11): error TS2300: Duplicate identifier 'TemplateStringsArray'. tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts(2,7): error TS2300: Duplicate identifier 'TemplateStringsArray'. tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts(8,3): error TS2345: Argument of type '{ [x: number]: undefined; }' is not assignable to parameter of type 'TemplateStringsArray'. Property 'raw' is missing in type '{ [x: number]: undefined; }'. diff --git a/tests/baselines/reference/templateStringsArrayTypeRedefinedInES6Mode.errors.txt b/tests/baselines/reference/templateStringsArrayTypeRedefinedInES6Mode.errors.txt index db383b216a5..4b9cb63d9aa 100644 --- a/tests/baselines/reference/templateStringsArrayTypeRedefinedInES6Mode.errors.txt +++ b/tests/baselines/reference/templateStringsArrayTypeRedefinedInES6Mode.errors.txt @@ -1,4 +1,4 @@ -lib.d.ts(515,11): error TS2300: Duplicate identifier 'TemplateStringsArray'. +lib.d.ts(521,11): error TS2300: Duplicate identifier 'TemplateStringsArray'. tests/cases/compiler/templateStringsArrayTypeRedefinedInES6Mode.ts(2,7): error TS2300: Duplicate identifier 'TemplateStringsArray'. tests/cases/compiler/templateStringsArrayTypeRedefinedInES6Mode.ts(8,3): error TS2345: Argument of type '{ [x: number]: undefined; }' is not assignable to parameter of type 'TemplateStringsArray'. Property 'raw' is missing in type '{ [x: number]: undefined; }'.