Skip to content

Commit cf16bde

Browse files
author
Andy Hanson
committed
Remove changes to e getDefaultProjectForFile (now #25060)
1 parent a8723a0 commit cf16bde

File tree

3 files changed

+18
-20
lines changed

3 files changed

+18
-20
lines changed

src/server/editorServices.ts

+11-13
Original file line numberDiff line numberDiff line change
@@ -692,19 +692,17 @@ namespace ts.server {
692692
return this.findExternalProjectByProjectName(projectName) || this.findConfiguredProjectByProjectName(toNormalizedPath(projectName));
693693
}
694694

695-
getDefaultProjectForFile(fileName: NormalizedPath, ensureProject = false): Project | undefined {
696-
const scriptInfo = this.getScriptInfoForNormalizedPath(fileName);
697-
return scriptInfo && !scriptInfo.isOrphan() ? scriptInfo.getDefaultProject() : ensureProject ? this.doEnsureDefaultProjectForFile(fileName) : undefined;
698-
}
699-
700-
ensureDefaultProjectForFile(fileName: NormalizedPath): Project {
701-
return this.getDefaultProjectForFile(fileName) || this.doEnsureDefaultProjectForFile(fileName);
702-
}
703-
704-
private doEnsureDefaultProjectForFile(fileName: NormalizedPath): Project {
705-
this.ensureProjectStructuresUptoDate();
706-
const scriptInfo = this.getScriptInfoForNormalizedPath(fileName);
707-
return scriptInfo ? scriptInfo.getDefaultProject() : Errors.ThrowNoProject();
695+
getDefaultProjectForFile(fileName: NormalizedPath, ensureProject: boolean): Project | undefined {
696+
let scriptInfo = this.getScriptInfoForNormalizedPath(fileName);
697+
if (ensureProject && (!scriptInfo || scriptInfo.isOrphan())) {
698+
this.ensureProjectStructuresUptoDate();
699+
scriptInfo = this.getScriptInfoForNormalizedPath(fileName);
700+
if (!scriptInfo) {
701+
return Errors.ThrowNoProject();
702+
}
703+
return scriptInfo.getDefaultProject();
704+
}
705+
return scriptInfo && !scriptInfo.isOrphan() ? scriptInfo.getDefaultProject() : undefined;
708706
}
709707

710708
/* @internal */

src/server/session.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -1148,11 +1148,11 @@ namespace ts.server {
11481148

11491149
private getFileAndProjectForFileRename(args: protocol.GetEditsForFileRenameRequestArgs): FileAndProject {
11501150
const newFilePath = toNormalizedPath(args.newFilePath);
1151-
const newProject = this.projectService.getDefaultProjectForFile(newFilePath);
1151+
const newProject = this.projectService.getDefaultProjectForFile(newFilePath, /*ensureProject*/ false);
11521152
if (newProject) return { file: newFilePath, project: newProject };
11531153

11541154
const oldFilePath = toNormalizedPath(args.oldFilePath);
1155-
const oldProject = this.projectService.getDefaultProjectForFile(oldFilePath);
1155+
const oldProject = this.projectService.getDefaultProjectForFile(oldFilePath, /*ensureProject*/ false);
11561156
if (oldProject) return { file: oldFilePath, project: oldProject };
11571157

11581158
return Debug.assertDefined(this.projectService.tryGetSomeFileInDirectory(newFilePath) || this.projectService.tryGetSomeFileInDirectory(oldFilePath));
@@ -1162,7 +1162,7 @@ namespace ts.server {
11621162
// Since this is syntactic operation, there should always be project for the file
11631163
// we wouldnt have to ensure project but rather throw if we dont get project
11641164
const file = toNormalizedPath(args.file);
1165-
const project = this.getProject(args.projectFileName) || this.projectService.getDefaultProjectForFile(file);
1165+
const project = this.getProject(args.projectFileName) || this.projectService.getDefaultProjectForFile(file, /*ensureProject*/ false);
11661166
if (!project) {
11671167
return Errors.ThrowNoProject();
11681168
}
@@ -1174,7 +1174,7 @@ namespace ts.server {
11741174

11751175
private getFileAndProjectWorker(uncheckedFileName: string, projectFileName: string | undefined): { file: NormalizedPath, project: Project } {
11761176
const file = toNormalizedPath(uncheckedFileName);
1177-
const project = this.getProject(projectFileName) || this.projectService.ensureDefaultProjectForFile(file);
1177+
const project = this.getProject(projectFileName) || this.projectService.getDefaultProjectForFile(file, /*ensureProject*/ true)!; // TODO: GH#18217
11781178
return { file, project };
11791179
}
11801180

@@ -1466,7 +1466,7 @@ namespace ts.server {
14661466
private createCheckList(fileNames: string[], defaultProject?: Project): PendingErrorCheck[] {
14671467
return mapDefined<string, PendingErrorCheck>(fileNames, uncheckedFileName => {
14681468
const fileName = toNormalizedPath(uncheckedFileName);
1469-
const project = defaultProject || this.projectService.getDefaultProjectForFile(fileName);
1469+
const project = defaultProject || this.projectService.getDefaultProjectForFile(fileName, /*ensureProject*/ false);
14701470
return project && { fileName, project };
14711471
});
14721472
}
@@ -1864,7 +1864,7 @@ namespace ts.server {
18641864
const lowPriorityFiles: NormalizedPath[] = [];
18651865
const veryLowPriorityFiles: NormalizedPath[] = [];
18661866
const normalizedFileName = toNormalizedPath(fileName);
1867-
const project = this.projectService.ensureDefaultProjectForFile(normalizedFileName);
1867+
const project = this.projectService.getDefaultProjectForFile(normalizedFileName, /*ensureProject*/ true)!;
18681868
for (const fileNameInProject of fileNamesInProject) {
18691869
if (this.getCanonicalFileName(fileNameInProject) === this.getCanonicalFileName(fileName)) {
18701870
highPriorityFiles.push(fileNameInProject);

src/testRunner/unittests/tsserverProjectSystem.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3097,7 +3097,7 @@ namespace ts.projectSystem {
30973097
checkProjectRootFiles(project, [file.path]);
30983098
checkProjectActualFiles(project, [file.path, libFile.path]);
30993099

3100-
assert.strictEqual(projectService.ensureDefaultProjectForFile(server.toNormalizedPath(file.path)), project);
3100+
assert.strictEqual(projectService.getDefaultProjectForFile(server.toNormalizedPath(file.path), /*ensureProject*/ true), project);
31013101
const indexOfX = file.content.indexOf("x");
31023102
assert.deepEqual(project.getLanguageService(/*ensureSynchronized*/ true).getQuickInfoAtPosition(file.path, indexOfX), {
31033103
kind: ScriptElementKind.variableElement,

0 commit comments

Comments
 (0)