Skip to content

Commit 1cbace6

Browse files
authored
Remove secondary reference lookup implementation (#32016)
* Remove secondary reference lookup implementation * Remove TODO
1 parent 179e0a6 commit 1cbace6

File tree

6 files changed

+9
-13
lines changed

6 files changed

+9
-13
lines changed

src/compiler/emitter.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -725,7 +725,8 @@ namespace ts {
725725
fileExists: f => host.fileExists(f),
726726
directoryExists: host.directoryExists && (f => host.directoryExists!(f)),
727727
useCaseSensitiveFileNames: () => host.useCaseSensitiveFileNames(),
728-
getProgramBuildInfo: returnUndefined
728+
getProgramBuildInfo: returnUndefined,
729+
getSourceFileFromReference: returnUndefined,
729730
};
730731
emitFiles(
731732
notImplementedResolver,

src/compiler/program.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1442,7 +1442,8 @@ namespace ts {
14421442
},
14431443
...(host.directoryExists ? { directoryExists: f => host.directoryExists!(f) } : {}),
14441444
useCaseSensitiveFileNames: () => host.useCaseSensitiveFileNames(),
1445-
getProgramBuildInfo: () => program.getProgramBuildInfo && program.getProgramBuildInfo()
1445+
getProgramBuildInfo: () => program.getProgramBuildInfo && program.getProgramBuildInfo(),
1446+
getSourceFileFromReference: (file, ref) => program.getSourceFileFromReference(file, ref),
14461447
};
14471448
}
14481449

@@ -2127,7 +2128,7 @@ namespace ts {
21272128
}
21282129

21292130
/** This should have similar behavior to 'processSourceFile' without diagnostics or mutation. */
2130-
function getSourceFileFromReference(referencingFile: SourceFile, ref: FileReference): SourceFile | undefined {
2131+
function getSourceFileFromReference(referencingFile: SourceFile | UnparsedSource, ref: FileReference): SourceFile | undefined {
21312132
return getSourceFileFromReferenceWorker(resolveTripleslashReference(ref.fileName, referencingFile.fileName), fileName => filesByName.get(toPath(fileName)) || undefined);
21322133
}
21332134

src/compiler/transformers/declarations.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ namespace ts {
348348
function collectReferences(sourceFile: SourceFile | UnparsedSource, ret: Map<SourceFile>) {
349349
if (noResolve || (!isUnparsedSource(sourceFile) && isSourceFileJS(sourceFile))) return ret;
350350
forEach(sourceFile.referencedFiles, f => {
351-
const elem = tryResolveScriptReference(host, sourceFile, f);
351+
const elem = host.getSourceFileFromReference(sourceFile, f);
352352
if (elem) {
353353
ret.set("" + getOriginalNodeId(elem), elem);
354354
}

src/compiler/types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2975,7 +2975,7 @@ namespace ts {
29752975
// For testing purposes only.
29762976
/* @internal */ structureIsReused?: StructureIsReused;
29772977

2978-
/* @internal */ getSourceFileFromReference(referencingFile: SourceFile, ref: FileReference): SourceFile | undefined;
2978+
/* @internal */ getSourceFileFromReference(referencingFile: SourceFile | UnparsedSource, ref: FileReference): SourceFile | undefined;
29792979
/* @internal */ getLibFileFromReference(ref: FileReference): SourceFile | undefined;
29802980

29812981
/** Given a source file, get the name of the package it was imported from. */
@@ -5399,6 +5399,7 @@ namespace ts {
53995399

54005400
writeFile: WriteFileCallback;
54015401
getProgramBuildInfo(): ProgramBuildInfo | undefined;
5402+
getSourceFileFromReference: Program["getSourceFileFromReference"];
54025403
}
54035404

54045405
export interface TransformationContext {

src/compiler/utilities.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2611,13 +2611,6 @@ namespace ts {
26112611
return undefined;
26122612
}
26132613

2614-
export function tryResolveScriptReference(host: ScriptReferenceHost, sourceFile: SourceFile | UnparsedSource, reference: FileReference) {
2615-
if (!host.getCompilerOptions().noResolve) {
2616-
const referenceFileName = isRootedDiskPath(reference.fileName) ? reference.fileName : combinePaths(getDirectoryPath(sourceFile.fileName), reference.fileName);
2617-
return host.getSourceFile(referenceFileName);
2618-
}
2619-
}
2620-
26212614
export function getAncestor(node: Node | undefined, kind: SyntaxKind): Node | undefined {
26222615
while (node) {
26232616
if (node.kind === kind) {

src/services/goToDefinition.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ namespace ts.GoToDefinition {
108108
export function getReferenceAtPosition(sourceFile: SourceFile, position: number, program: Program): { fileName: string, file: SourceFile } | undefined {
109109
const referencePath = findReferenceInPosition(sourceFile.referencedFiles, position);
110110
if (referencePath) {
111-
const file = tryResolveScriptReference(program, sourceFile, referencePath);
111+
const file = program.getSourceFileFromReference(sourceFile, referencePath);
112112
return file && { fileName: referencePath.fileName, file };
113113
}
114114

0 commit comments

Comments
 (0)