From f642a4740b402c142f5ab87233153493d794dc3e Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Mon, 22 Aug 2016 12:17:33 -0700 Subject: [PATCH] switch to using dedicated functions to create\throw errors --- src/server/scriptInfo.ts | 2 +- src/server/session.ts | 6 +++--- src/server/utilities.ts | 8 ++++++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/server/scriptInfo.ts b/src/server/scriptInfo.ts index a930f7fa708..6e09247924d 100644 --- a/src/server/scriptInfo.ts +++ b/src/server/scriptInfo.ts @@ -82,7 +82,7 @@ namespace ts.server { getDefaultProject() { if (this.containingProjects.length === 0) { - throw Errors.NoProject; + return Errors.ThrowNoProject(); } Debug.assert(this.containingProjects.length !== 0); return this.containingProjects[0]; diff --git a/src/server/session.ts b/src/server/session.ts index 821994a6cbb..860e90a1a57 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -485,7 +485,7 @@ namespace ts.server { } private getProjectInfoWorker(uncheckedFileName: string, projectFileName: string, needFileNameList: boolean) { - const { file, project } = this.getFileAndProjectWorker(uncheckedFileName, projectFileName, /*refreshInferredProjects*/ true, /*errorOnMissingProject*/ true); + const { project } = this.getFileAndProjectWorker(uncheckedFileName, projectFileName, /*refreshInferredProjects*/ true, /*errorOnMissingProject*/ true); const projectInfo = { configFileName: project.getProjectName(), languageServiceDisabled: !project.languageServiceEnabled, @@ -516,7 +516,7 @@ namespace ts.server { // ts.filter handles case when 'projects' is undefined projects = filter(projects, p => p.languageServiceEnabled); if (!projects || !projects.length) { - throw Errors.NoProject; + return Errors.ThrowNoProject(); } return projects; } @@ -721,7 +721,7 @@ namespace ts.server { const file = toNormalizedPath(uncheckedFileName); const project: Project = this.getProject(projectFileName) || this.projectService.getDefaultProjectForFile(file, refreshInferredProjects); if (!project && errorOnMissingProject) { - throw Errors.NoProject; + return Errors.ThrowNoProject(); } return { file, project }; } diff --git a/src/server/utilities.ts b/src/server/utilities.ts index a915067bd32..40821efddcc 100644 --- a/src/server/utilities.ts +++ b/src/server/utilities.ts @@ -57,8 +57,12 @@ namespace ts.server { } export namespace Errors { - export const NoProject = new Error("No Project."); - export const ProjectLanguageServiceDisabled = new Error("The project's language service is disabled."); + export function ThrowNoProject(): never { + throw new Error("No Project."); + } + export function ThrowProjectLanguageServiceDisabled(): never { + throw new Error("The project's language service is disabled."); + } } export function getDefaultFormatCodeSettings(host: ServerHost): FormatCodeSettings {