From 7e1470d5d428314c32efe7485022ac6f4ff31bdd Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Mon, 28 Mar 2016 16:24:16 -0700 Subject: [PATCH] Address PR: use getDefaultLibLocation? insteadof getUserDefinedLibFileName --- src/compiler/program.ts | 15 ++++++--------- src/compiler/types.ts | 2 +- src/harness/harness.ts | 1 - src/harness/projectsRunner.ts | 1 - src/services/services.ts | 2 -- tests/cases/unittests/moduleResolution.ts | 2 -- tests/cases/unittests/reuseProgramStructure.ts | 1 - 7 files changed, 7 insertions(+), 17 deletions(-) diff --git a/src/compiler/program.ts b/src/compiler/program.ts index be758e8dda6..62ba54e3d18 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -629,18 +629,15 @@ namespace ts { } } - function getUserDefinedLibFileName(options: CompilerOptions): string[] { - const directoryPath = getDirectoryPath(normalizePath(sys.getExecutingFilePath())); - return options.lib.map(fileName => { - return combinePaths(directoryPath, fileName); - }); + function getDefaultLibLocation(): string { + return getDirectoryPath(normalizePath(sys.getExecutingFilePath())); } const newLine = getNewLineCharacter(options); return { getSourceFile, - getUserDefinedLibFileName, + getDefaultLibLocation, getDefaultLibFileName: options => combinePaths(getDirectoryPath(normalizePath(sys.getExecutingFilePath())), getDefaultLibFileName(options)), writeFile, getCurrentDirectory: memoize(() => sys.getCurrentDirectory()), @@ -767,9 +764,9 @@ namespace ts { processRootFile(host.getDefaultLibFileName(options), /*isDefaultLib*/ true); } else { - const libFileNames = host.getUserDefinedLibFileName(options); - libFileNames.forEach(libFileName => { - processRootFile(libFileName, /*isDefaultLib*/ true); + const libDirectory = host.getDefaultLibLocation ? host.getDefaultLibLocation() : getDirectoryPath(host.getDefaultLibFileName(options)); + forEach(options.lib, libFileName => { + processRootFile(combinePaths(libDirectory, libFileName), /*isDefaultLib*/ true); }); } } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index d1a056edd7f..3bc3d1ad6a1 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2752,7 +2752,7 @@ namespace ts { getSourceFile(fileName: string, languageVersion: ScriptTarget, onError?: (message: string) => void): SourceFile; getCancellationToken?(): CancellationToken; getDefaultLibFileName(options: CompilerOptions): string; - getUserDefinedLibFileName(options: CompilerOptions): string[]; + getDefaultLibLocation?(): string; writeFile: WriteFileCallback; getCurrentDirectory(): string; getCanonicalFileName(fileName: string): string; diff --git a/src/harness/harness.ts b/src/harness/harness.ts index 2b555932e9e..b4be499e141 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -887,7 +887,6 @@ namespace Harness { getCurrentDirectory: () => currentDirectory, getSourceFile, getDefaultLibFileName: options => options.target === ts.ScriptTarget.ES6 ? es2015DefaultLibFileName : defaultLibFileName, - getUserDefinedLibFileName: options => options.lib, writeFile, getCanonicalFileName, useCaseSensitiveFileNames: () => useCaseSensitiveFileNames, diff --git a/src/harness/projectsRunner.ts b/src/harness/projectsRunner.ts index cd5ac3efd16..452ce5dbff3 100644 --- a/src/harness/projectsRunner.ts +++ b/src/harness/projectsRunner.ts @@ -172,7 +172,6 @@ class ProjectRunner extends RunnerBase { return { getSourceFile, getDefaultLibFileName: options => Harness.Compiler.defaultLibFileName, - getUserDefinedLibFileName: options => [], writeFile, getCurrentDirectory, getCanonicalFileName: Harness.Compiler.getCanonicalFileName, diff --git a/src/services/services.ts b/src/services/services.ts index af9749d6416..a634b2baf1a 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -1926,7 +1926,6 @@ namespace ts { } }, getDefaultLibFileName: () => "lib.d.ts", - getUserDefinedLibFileName: () => [], useCaseSensitiveFileNames: () => false, getCanonicalFileName: fileName => fileName, getCurrentDirectory: () => "", @@ -2826,7 +2825,6 @@ namespace ts { getCanonicalFileName, useCaseSensitiveFileNames: () => useCaseSensitivefileNames, getNewLine: () => getNewLineOrDefaultFromHost(host), - getUserDefinedLibFileName: (options) => [], getDefaultLibFileName: (options) => host.getDefaultLibFileName(options), writeFile: (fileName, data, writeByteOrderMark) => { }, getCurrentDirectory: () => currentDirectory, diff --git a/tests/cases/unittests/moduleResolution.ts b/tests/cases/unittests/moduleResolution.ts index be32e14c9ea..9a52d9896e4 100644 --- a/tests/cases/unittests/moduleResolution.ts +++ b/tests/cases/unittests/moduleResolution.ts @@ -281,7 +281,6 @@ module ts { return hasProperty(files, path) ? createSourceFile(fileName, files[path], languageVersion) : undefined; }, getDefaultLibFileName: () => "lib.d.ts", - getUserDefinedLibFileName: options => [], writeFile: (fileName, content): void => { throw new Error("NotImplemented"); }, getCurrentDirectory: () => currentDirectory, getCanonicalFileName: fileName => fileName.toLowerCase(), @@ -365,7 +364,6 @@ export = C; return hasProperty(files, path) ? createSourceFile(fileName, files[path], languageVersion) : undefined; }, getDefaultLibFileName: () => "lib.d.ts", - getUserDefinedLibFileName: options => [], writeFile: (fileName, content): void => { throw new Error("NotImplemented"); }, getCurrentDirectory: () => currentDirectory, getCanonicalFileName, diff --git a/tests/cases/unittests/reuseProgramStructure.ts b/tests/cases/unittests/reuseProgramStructure.ts index 563135ed5c2..5f313eeae2b 100644 --- a/tests/cases/unittests/reuseProgramStructure.ts +++ b/tests/cases/unittests/reuseProgramStructure.ts @@ -111,7 +111,6 @@ module ts { getDefaultLibFileName(): string { return "lib.d.ts" }, - getUserDefinedLibFileName: options => [], writeFile(file, text) { throw new Error("NYI"); },