Skip to content

Commit 652dbd3

Browse files
committed
More cleanup
1 parent 5c5a528 commit 652dbd3

File tree

3 files changed

+12
-28
lines changed

3 files changed

+12
-28
lines changed

src/compiler/program.ts

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -956,13 +956,13 @@ namespace ts {
956956
oldProgram = undefined;
957957

958958
const program: Program = {
959-
getRootFileNames,
959+
getRootFileNames: () => rootNames,
960960
getSourceFile,
961961
getSourceFileByPath,
962962
getSourceFiles: () => files,
963963
getMissingFilePaths: () => missingFilePaths!, // TODO: GH#18217
964964
getFilesByNameMap: () => filesByName,
965-
getCompilerOptions,
965+
getCompilerOptions: () => options,
966966
getSyntacticDiagnostics,
967967
getOptionsDiagnostics,
968968
getGlobalDiagnostics,
@@ -976,8 +976,7 @@ namespace ts {
976976
getDiagnosticsProducingTypeChecker,
977977
getCommonSourceDirectory,
978978
emit,
979-
getCurrentDirectory,
980-
getCanonicalFileName,
979+
getCurrentDirectory: () => currentDirectory,
981980
getNodeCount: () => getDiagnosticsProducingTypeChecker().getNodeCount(),
982981
getIdentifierCount: () => getDiagnosticsProducingTypeChecker().getIdentifierCount(),
983982
getSymbolCount: () => getDiagnosticsProducingTypeChecker().getSymbolCount(),
@@ -1035,18 +1034,6 @@ namespace ts {
10351034

10361035
return program;
10371036

1038-
function getRootFileNames() {
1039-
return rootNames;
1040-
}
1041-
1042-
function getCompilerOptions() {
1043-
return options;
1044-
}
1045-
1046-
function getCurrentDirectory() {
1047-
return currentDirectory;
1048-
}
1049-
10501037
function resolveModuleNamesWorker(moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ResolvedProjectReference) {
10511038
performance.mark("beforeResolveModule");
10521039
const result = actualResolveModuleNamesWorker(moduleNames, containingFile, reusedNames, redirectedReference);
@@ -3319,7 +3306,7 @@ namespace ts {
33193306
if (!options.configFile.configFileSpecs) return undefined;
33203307
const { basePath, includeSpecs } = getFileFromConfigExplainInfo(programForExplaination);
33213308
const rootName = rootNames[reason.index];
3322-
const fileName = getNormalizedAbsolutePath(rootName, getCurrentDirectory());
3309+
const fileName = getNormalizedAbsolutePath(rootName, currentDirectory);
33233310
const filePath = getCanonicalFileName(fileName);
33243311
const matchedByFiles = find(options.configFile.configFileSpecs.validatedFilesSpec || emptyArray, fileSpec => getCanonicalFileName(getNormalizedAbsolutePath(fileSpec, basePath)) === filePath);
33253312
if (matchedByFiles) {

src/compiler/types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3864,7 +3864,6 @@ namespace ts {
38643864
/** Is the file emitted file */
38653865
/* @internal */ isEmittedFile(file: string): boolean;
38663866
/* @internal */ getFileIncludeReasons(): MultiMap<Path, FileIncludeReason>;
3867-
/* @internal */ getCanonicalFileName(fileName: string): string;
38683867
/* @internal */ useCaseSensitiveFileNames(): boolean;
38693868

38703869
/* @internal */ getResolvedModuleWithFailedLookupLocationsFromCache(moduleName: string, containingFile: string): ResolvedModuleWithFailedLookupLocations | undefined;

src/compiler/watch.ts

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -158,11 +158,8 @@ namespace ts {
158158
return result;
159159
}
160160

161-
export interface FileFromConfigExplainInfo {
162-
basePath: string | undefined;
163-
includeSpecs: { include: string; regExp: RegExp; }[] | undefined;
164-
}
165-
export function getFileFromConfigExplainInfo(program: Program): FileFromConfigExplainInfo {
161+
export type FileFromConfigExplainInfo = ReturnType<typeof getFileFromConfigExplainInfo>;
162+
export function getFileFromConfigExplainInfo(program: Program) {
166163
const options = program.getCompilerOptions();
167164
const { validatedIncludeSpecs } = options.configFile?.configFileSpecs || {};
168165
const useCaseSensitiveFileNames = program.useCaseSensitiveFileNames();
@@ -176,7 +173,8 @@ namespace ts {
176173
regExp: getRegexFromPattern(`(${pattern})$`, useCaseSensitiveFileNames)
177174
});
178175
});
179-
return { basePath, includeSpecs };
176+
const getCanonicalFileName = createGetCanonicalFileName(useCaseSensitiveFileNames)
177+
return { basePath, includeSpecs, getCanonicalFileName };
180178
}
181179

182180
export function fileIncludeReasonToDiagnostics(
@@ -223,12 +221,12 @@ namespace ts {
223221
switch (reason.kind) {
224222
case FileIncludeKind.RootFile:
225223
if (!options.configFile?.configFileSpecs) return chainDiagnosticMessages(/*details*/ undefined, Diagnostics.Root_file_specified_for_compilation);
226-
const { basePath, includeSpecs } = configFileExplainInfo || getFileFromConfigExplainInfo(program);
224+
const { basePath, includeSpecs, getCanonicalFileName } = configFileExplainInfo || getFileFromConfigExplainInfo(program);
227225
if (includeSpecs) {
228226
const rootName = program.getRootFileNames()[reason.index];
229227
const fileName = getNormalizedAbsolutePath(rootName, program.getCurrentDirectory());
230-
const filePath = program.getCanonicalFileName(fileName);
231-
const matchedByFiles = forEach(options.configFile.configFileSpecs.validatedFilesSpec, fileSpec => program.getCanonicalFileName(getNormalizedAbsolutePath(fileSpec, basePath)) === filePath);
228+
const filePath = getCanonicalFileName(fileName);
229+
const matchedByFiles = forEach(options.configFile.configFileSpecs.validatedFilesSpec, fileSpec => getCanonicalFileName(getNormalizedAbsolutePath(fileSpec, basePath)) === filePath);
232230
if (!matchedByFiles) {
233231
const isJsonFile = fileExtensionIs(fileName, Extension.Json);
234232
const matchedByInclude = find(includeSpecs, spec => (!isJsonFile || endsWith(spec.include, Extension.Json)) && spec.regExp.test(fileName));
@@ -291,7 +289,7 @@ namespace ts {
291289
function toFileName(program: Program, file: SourceFile | string, relativeFileName: boolean | undefined) {
292290
const fileName = isString(file) ? file : file.fileName;
293291
return relativeFileName ?
294-
convertToRelativePath(fileName, program.getCurrentDirectory(), fileName => program.getCanonicalFileName(fileName)) :
292+
convertToRelativePath(fileName, program.getCurrentDirectory(), fileName => createGetCanonicalFileName(program.useCaseSensitiveFileNames())(fileName)) :
295293
fileName;
296294
}
297295

0 commit comments

Comments
 (0)