Skip to content

Renames in servermode per feedback #39883

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 5, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/server/editorServices.ts
Original file line number Diff line number Diff line change
Expand Up @@ -719,10 +719,10 @@ namespace ts.server {
this.typesMapLocation = (opts.typesMapLocation === undefined) ? combinePaths(getDirectoryPath(this.getExecutingFilePath()), "typesMap.json") : opts.typesMapLocation;
if (opts.serverMode !== undefined) {
this.serverMode = opts.serverMode;
this.syntaxOnly = this.serverMode === LanguageServiceMode.SyntaxOnly;
this.syntaxOnly = this.serverMode === LanguageServiceMode.Syntactic;
}
else if (opts.syntaxOnly) {
this.serverMode = LanguageServiceMode.SyntaxOnly;
this.serverMode = LanguageServiceMode.Syntactic;
this.syntaxOnly = true;
}
else {
Expand Down Expand Up @@ -3029,7 +3029,7 @@ namespace ts.server {
let retainProjects: ConfiguredProject[] | ConfiguredProject | undefined;
let projectForConfigFileDiag: ConfiguredProject | undefined;
let defaultConfigProjectIsCreated = false;
if (this.serverMode === LanguageServiceMode.ApproximateSemanticOnly) {
if (this.serverMode === LanguageServiceMode.PartialSemantic) {
// Invalidate resolutions in the file since this file is now open
info.containingProjects.forEach(project => {
if (project.resolutionCache.removeRelativeNoResolveResolutionsOfFile(info.path)) {
Expand Down Expand Up @@ -3124,7 +3124,7 @@ namespace ts.server {
Debug.assert(this.openFiles.has(info.path));
this.assignOrphanScriptInfoToInferredProject(info, this.openFiles.get(info.path));
}
else if (this.serverMode === LanguageServiceMode.ApproximateSemanticOnly && info.cacheSourceFile?.sourceFile.referencedFiles.length) {
else if (this.serverMode === LanguageServiceMode.PartialSemantic && info.cacheSourceFile?.sourceFile.referencedFiles.length) {
// This file was just opened and references in this file will previously not been resolved so schedule update
info.containingProjects.forEach(project => project.markAsDirty());
}
Expand Down
12 changes: 6 additions & 6 deletions src/server/project.ts
Original file line number Diff line number Diff line change
Expand Up @@ -283,11 +283,11 @@ namespace ts.server {
case LanguageServiceMode.Semantic:
this.languageServiceEnabled = true;
break;
case LanguageServiceMode.ApproximateSemanticOnly:
case LanguageServiceMode.PartialSemantic:
this.languageServiceEnabled = true;
this.compilerOptions.types = [];
break;
case LanguageServiceMode.SyntaxOnly:
case LanguageServiceMode.Syntactic:
this.languageServiceEnabled = false;
this.compilerOptions.noResolve = true;
this.compilerOptions.types = [];
Expand Down Expand Up @@ -471,9 +471,9 @@ namespace ts.server {
switch (this.projectService.serverMode) {
case LanguageServiceMode.Semantic:
return true;
case LanguageServiceMode.ApproximateSemanticOnly:
case LanguageServiceMode.PartialSemantic:
return this.fileIsOpen(this.toPath(containingFile));
case LanguageServiceMode.SyntaxOnly:
case LanguageServiceMode.Syntactic:
return false;
default:
Debug.assertNever(this.projectService.serverMode);
Expand Down Expand Up @@ -677,7 +677,7 @@ namespace ts.server {
}

enableLanguageService() {
if (this.languageServiceEnabled || this.projectService.serverMode === LanguageServiceMode.SyntaxOnly) {
if (this.languageServiceEnabled || this.projectService.serverMode === LanguageServiceMode.Syntactic) {
return;
}
this.languageServiceEnabled = true;
Expand All @@ -689,7 +689,7 @@ namespace ts.server {
if (!this.languageServiceEnabled) {
return;
}
Debug.assert(this.projectService.serverMode !== LanguageServiceMode.SyntaxOnly);
Debug.assert(this.projectService.serverMode !== LanguageServiceMode.Syntactic);
this.languageService.cleanupSemanticCache();
this.languageServiceEnabled = false;
this.lastFileExceededProgramSize = lastFileExceededProgramSize;
Expand Down
18 changes: 9 additions & 9 deletions src/server/session.ts
Original file line number Diff line number Diff line change
Expand Up @@ -585,7 +585,7 @@ namespace ts.server {
undefined;
}

const invalidApproximateSemanticOnlyCommands: readonly CommandNames[] = [
const invalidPartialSemanticModeCommands: readonly CommandNames[] = [
CommandNames.OpenExternalProject,
CommandNames.OpenExternalProjects,
CommandNames.CloseExternalProject,
Expand Down Expand Up @@ -621,8 +621,8 @@ namespace ts.server {
CommandNames.ProvideCallHierarchyOutgoingCalls,
];

const invalidSyntaxOnlyCommands: readonly CommandNames[] = [
...invalidApproximateSemanticOnlyCommands,
const invalidSyntacticModeCommands: readonly CommandNames[] = [
...invalidPartialSemanticModeCommands,
CommandNames.Definition,
CommandNames.DefinitionFull,
CommandNames.DefinitionAndBoundSpan,
Expand Down Expand Up @@ -751,17 +751,17 @@ namespace ts.server {
switch (this.projectService.serverMode) {
case LanguageServiceMode.Semantic:
break;
case LanguageServiceMode.ApproximateSemanticOnly:
invalidApproximateSemanticOnlyCommands.forEach(commandName =>
case LanguageServiceMode.PartialSemantic:
invalidPartialSemanticModeCommands.forEach(commandName =>
this.handlers.set(commandName, request => {
throw new Error(`Request: ${request.command} not allowed on approximate semantic only server`);
throw new Error(`Request: ${request.command} not allowed in LanguageServiceMode.PartialSemantic`);
})
);
break;
case LanguageServiceMode.SyntaxOnly:
invalidSyntaxOnlyCommands.forEach(commandName =>
case LanguageServiceMode.Syntactic:
invalidSyntacticModeCommands.forEach(commandName =>
this.handlers.set(commandName, request => {
throw new Error(`Request: ${request.command} not allowed on syntax only server`);
throw new Error(`Request: ${request.command} not allowed in LanguageServiceMode.Syntactic`);
})
);
break;
Expand Down
24 changes: 12 additions & 12 deletions src/services/services.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1171,7 +1171,7 @@ namespace ts {
}
}

const invalidOperationsOnApproximateSemanticOnly: readonly (keyof LanguageService)[] = [
const invalidOperationsInPartialSemanticMode: readonly (keyof LanguageService)[] = [
"getSyntacticDiagnostics",
"getSemanticDiagnostics",
"getSuggestionDiagnostics",
Expand All @@ -1191,8 +1191,8 @@ namespace ts {
"provideCallHierarchyOutgoingCalls",
];

const invalidOperationsOnSyntaxOnly: readonly (keyof LanguageService)[] = [
...invalidOperationsOnApproximateSemanticOnly,
const invalidOperationsInSyntacticMode: readonly (keyof LanguageService)[] = [
...invalidOperationsInPartialSemanticMode,
"getCompletionsAtPosition",
"getCompletionEntryDetails",
"getCompletionEntrySymbol",
Expand Down Expand Up @@ -1222,7 +1222,7 @@ namespace ts {
}
else if (typeof syntaxOnlyOrLanguageServiceMode === "boolean") {
// languageServiceMode = SyntaxOnly
languageServiceMode = syntaxOnlyOrLanguageServiceMode ? LanguageServiceMode.SyntaxOnly : LanguageServiceMode.Semantic;
languageServiceMode = syntaxOnlyOrLanguageServiceMode ? LanguageServiceMode.Syntactic : LanguageServiceMode.Semantic;
}
else {
languageServiceMode = syntaxOnlyOrLanguageServiceMode;
Expand Down Expand Up @@ -1276,7 +1276,7 @@ namespace ts {
}

function synchronizeHostData(): void {
Debug.assert(languageServiceMode !== LanguageServiceMode.SyntaxOnly);
Debug.assert(languageServiceMode !== LanguageServiceMode.Syntactic);
// perform fast check if host supports it
if (host.getProjectVersion) {
const hostProjectVersion = host.getProjectVersion();
Expand Down Expand Up @@ -1462,7 +1462,7 @@ namespace ts {

// TODO: GH#18217 frequently asserted as defined
function getProgram(): Program | undefined {
if (languageServiceMode === LanguageServiceMode.SyntaxOnly) {
if (languageServiceMode === LanguageServiceMode.Syntactic) {
Debug.assert(program === undefined);
return undefined;
}
Expand Down Expand Up @@ -2545,17 +2545,17 @@ namespace ts {
switch (languageServiceMode) {
case LanguageServiceMode.Semantic:
break;
case LanguageServiceMode.ApproximateSemanticOnly:
invalidOperationsOnApproximateSemanticOnly.forEach(key =>
case LanguageServiceMode.PartialSemantic:
invalidOperationsInPartialSemanticMode.forEach(key =>
ls[key] = () => {
throw new Error(`LanguageService Operation: ${key} not allowed on approximate semantic only server`);
throw new Error(`LanguageService Operation: ${key} not allowed in LanguageServiceMode.PartialSemantic`);
}
);
break;
case LanguageServiceMode.SyntaxOnly:
invalidOperationsOnSyntaxOnly.forEach(key =>
case LanguageServiceMode.Syntactic:
invalidOperationsInSyntacticMode.forEach(key =>
ls[key] = () => {
throw new Error(`LanguageService Operation: ${key} not allowed on syntax only server`);
throw new Error(`LanguageService Operation: ${key} not allowed in LanguageServiceMode.Syntactic`);
}
);
break;
Expand Down
4 changes: 2 additions & 2 deletions src/services/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -223,8 +223,8 @@ namespace ts {

export enum LanguageServiceMode {
Semantic,
ApproximateSemanticOnly,
SyntaxOnly,
PartialSemantic,
Syntactic,
}

//
Expand Down
6 changes: 3 additions & 3 deletions src/testRunner/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,6 @@
"unittests/tscWatch/watchApi.ts",
"unittests/tscWatch/watchEnvironment.ts",
"unittests/tsserver/applyChangesToOpenFiles.ts",
"unittests/tsserver/approximateSemanticOnlyServer.ts",
"unittests/tsserver/autoImportProvider.ts",
"unittests/tsserver/cachingFileSystemInformation.ts",
"unittests/tsserver/cancellationToken.ts",
Expand Down Expand Up @@ -177,6 +176,7 @@
"unittests/tsserver/occurences.ts",
"unittests/tsserver/openFile.ts",
"unittests/tsserver/packageJsonInfo.ts",
"unittests/tsserver/partialSemanticServer.ts",
"unittests/tsserver/projectErrors.ts",
"unittests/tsserver/projectReferenceCompileOnSave.ts",
"unittests/tsserver/projectReferenceErrors.ts",
Expand All @@ -186,11 +186,11 @@
"unittests/tsserver/reload.ts",
"unittests/tsserver/rename.ts",
"unittests/tsserver/resolutionCache.ts",
"unittests/tsserver/semanticOperationsOnSyntaxServer.ts",
"unittests/tsserver/smartSelection.ts",
"unittests/tsserver/session.ts",
"unittests/tsserver/skipLibCheck.ts",
"unittests/tsserver/smartSelection.ts",
"unittests/tsserver/symLinks.ts",
"unittests/tsserver/syntacticServer.ts",
"unittests/tsserver/syntaxOperations.ts",
"unittests/tsserver/textStorage.ts",
"unittests/tsserver/telemetry.ts",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import { something } from "something";
content: "{}"
};
const host = createServerHost([file1, file2, file3, something, libFile, configFile]);
const session = createSession(host, { serverMode: LanguageServiceMode.ApproximateSemanticOnly, useSingleInferredProject: true });
const session = createSession(host, { serverMode: LanguageServiceMode.PartialSemantic, useSingleInferredProject: true });
return { host, session, file1, file2, file3, something, configFile };
}

Expand Down Expand Up @@ -138,7 +138,7 @@ import { something } from "something";
session.executeCommand(request);
}
catch (e) {
assert.equal(e.message, `Request: semanticDiagnosticsSync not allowed on approximate semantic only server`);
assert.equal(e.message, `Request: semanticDiagnosticsSync not allowed in LanguageServiceMode.PartialSemantic`);
hasException = true;
}
assert.isTrue(hasException);
Expand All @@ -149,7 +149,7 @@ import { something } from "something";
project.getLanguageService().getSemanticDiagnostics(file1.path);
}
catch (e) {
assert.equal(e.message, `LanguageService Operation: getSemanticDiagnostics not allowed on approximate semantic only server`);
assert.equal(e.message, `LanguageService Operation: getSemanticDiagnostics not allowed in LanguageServiceMode.PartialSemantic`);
hasException = true;
}
assert.isTrue(hasException);
Expand Down Expand Up @@ -195,7 +195,7 @@ function fooB() { }`
content: "{}"
};
const host = createServerHost([file1, file2, file3, something, libFile, configFile]);
const session = createSession(host, { serverMode: LanguageServiceMode.ApproximateSemanticOnly, useSingleInferredProject: true });
const session = createSession(host, { serverMode: LanguageServiceMode.PartialSemantic, useSingleInferredProject: true });
const service = session.getProjectService();
openFilesForSession([file1], session);
checkNumberOfProjects(service, { inferredProjects: 1 });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ import { something } from "something";
session.executeCommandSeq(request);
}
catch (e) {
assert.equal(e.message, `Request: ${request.command} not allowed on syntax only server`);
assert.equal(e.message, `Request: ${request.command} not allowed in LanguageServiceMode.Syntactic`);
hasException = true;
}
assert.isTrue(hasException);
Expand Down Expand Up @@ -119,7 +119,7 @@ import { something } from "something";
project.getLanguageService().getSemanticDiagnostics(file1.path);
}
catch (e) {
assert.equal(e.message, `LanguageService Operation: getSemanticDiagnostics not allowed on syntax only server`);
assert.equal(e.message, `LanguageService Operation: getSemanticDiagnostics not allowed in LanguageServiceMode.Syntactic`);
hasException = true;
}
assert.isTrue(hasException);
Expand Down
8 changes: 4 additions & 4 deletions src/tsserver/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -959,10 +959,10 @@ namespace ts.server {
switch (mode.toLowerCase()) {
case "semantic":
return LanguageServiceMode.Semantic;
case "approximatesemanticonly":
return LanguageServiceMode.ApproximateSemanticOnly;
case "syntaxonly":
return LanguageServiceMode.SyntaxOnly;
case "partialsemantic":
return LanguageServiceMode.PartialSemantic;
case "syntactic":
return LanguageServiceMode.Syntactic;
default:
unknownServerMode = mode;
return undefined;
Expand Down
4 changes: 2 additions & 2 deletions tests/baselines/reference/api/tsserverlibrary.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5316,8 +5316,8 @@ declare namespace ts {
}
enum LanguageServiceMode {
Semantic = 0,
ApproximateSemanticOnly = 1,
SyntaxOnly = 2
PartialSemantic = 1,
Syntactic = 2
}
interface LanguageServiceHost extends GetEffectiveTypeRootsHost {
getCompilationSettings(): CompilerOptions;
Expand Down
4 changes: 2 additions & 2 deletions tests/baselines/reference/api/typescript.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5316,8 +5316,8 @@ declare namespace ts {
}
enum LanguageServiceMode {
Semantic = 0,
ApproximateSemanticOnly = 1,
SyntaxOnly = 2
PartialSemantic = 1,
Syntactic = 2
}
interface LanguageServiceHost extends GetEffectiveTypeRootsHost {
getCompilationSettings(): CompilerOptions;
Expand Down