switch to using dedicated functions to create\throw errors

This commit is contained in:
Vladimir Matveev
2016-08-22 12:17:33 -07:00
parent 41b61cbc1e
commit f642a4740b
3 changed files with 10 additions and 6 deletions

View File

@@ -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];

View File

@@ -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 };
}

View File

@@ -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 {