3 types derived from ProjectLoadState
Microsoft.CodeAnalysis.LanguageServer (3)
HostWorkspace\LanguageServerProjectLoader.cs (3)
72
public sealed record Primordial(ProjectSystemProjectFactory PrimordialProjectFactory, ProjectId PrimordialProjectId) :
ProjectLoadState
;
81
public sealed record LoadedTargets(ImmutableArray<LoadedProject> LoadedProjectTargets) :
ProjectLoadState
;
87
public sealed record CanonicalForked(ProjectId forkedProjectId) :
ProjectLoadState
;
35 references to ProjectLoadState
Microsoft.CodeAnalysis.LanguageServer (35)
FileBasedPrograms\CanonicalMiscFilesProjectLoader.cs (14)
75
if (loadedProjects.TryGetValue(canonicalDocumentPath, out
var
canonicalLoadState))
77
Contract.ThrowIfFalse(canonicalLoadState is
ProjectLoadState
.Primordial or
ProjectLoadState
.LoadedTargets(LoadedProjectTargets: [_]));
78
if (canonicalLoadState is
ProjectLoadState
.LoadedTargets)
93
private async ValueTask<TextDocument> AddForkedCanonicalProject_NoLockAsync(Dictionary<string,
ProjectLoadState
> loadedProjects, string documentPath, SourceText documentText, CancellationToken cancellationToken)
108
loadedProjects[documentPath] = new
ProjectLoadState
.CanonicalForked(forkedProjectInfo.Id);
120
return loadedProjects.TryGetValue(canonicalDocumentPath, out
var
loadState)
121
&& loadState is
ProjectLoadState
.LoadedTargets;
126
private Document AddPrimordialMiscProject_NoLock(Dictionary<string,
ProjectLoadState
> loadedProjects, string documentPath, SourceText documentText)
135
loadedProjects.Add(documentPath, new
ProjectLoadState
.Primordial(_workspaceFactory.MiscellaneousFilesWorkspaceProjectFactory, projectInfo.Id));
209
Dictionary<string,
ProjectLoadState
> loadedProjects,
211
ProjectLoadState
.Primordial canonicalProjectState,
218
.Where(entry => entry.Key != canonicalProjectPath && entry.Value is
ProjectLoadState
.Primordial)
225
var primordial = (
ProjectLoadState
.Primordial)projectLoadState;
FileBasedPrograms\FileBasedProgramsProjectSystem.cs (2)
261
Dictionary<string,
ProjectLoadState
> loadedProjects,
263
ProjectLoadState
.Primordial projectState,
HostWorkspace\LanguageServerProjectLoader.cs (17)
49
private readonly Dictionary<string,
ProjectLoadState
> _loadedProjects = [];
221
/// Called after a design time build when transitioning from <see cref="
ProjectLoadState
.Primordial"/> to <see cref="
ProjectLoadState
.LoadedTargets"/>.
225
Dictionary<string,
ProjectLoadState
> loadedProjects,
227
ProjectLoadState
.Primordial projectState,
288
if (!_loadedProjects.TryGetValue(projectPath, out
var
currentLoadState))
294
Contract.ThrowIfTrue(currentLoadState is
ProjectLoadState
.CanonicalForked, "A design time build should not be performed on a forked project");
295
var previousProjectTargets = currentLoadState is
ProjectLoadState
.LoadedTargets loaded ? loaded.LoadedProjectTargets : [];
333
if (currentLoadState is
ProjectLoadState
.Primordial primordial)
343
_loadedProjects[projectPath] = new
ProjectLoadState
.LoadedTargets(newProjectTargets);
433
protected async ValueTask<T> ExecuteUnderGateAsync<T>(Func<Dictionary<string,
ProjectLoadState
>, ValueTask<T>> action, CancellationToken cancellationToken)
467
_loadedProjects.Add(projectPath, new
ProjectLoadState
.Primordial(primordialProjectFactory, primordialProjectId));
487
_loadedProjects.Add(projectPath, new
ProjectLoadState
.LoadedTargets(LoadedProjectTargets: []));
518
if (!_loadedProjects.Remove(projectPath, out
var
loadState))
525
if (loadState is
ProjectLoadState
.Primordial(var projectFactory, var projectId))
529
else if (loadState is
ProjectLoadState
.LoadedTargets(var existingProjects))
537
else if (loadState is
ProjectLoadState
.CanonicalForked(var forkedProjectId))
HostWorkspace\LanguageServerProjectSystem.cs (2)
103
Dictionary<string,
ProjectLoadState
> loadedProjects,
105
ProjectLoadState
.Primordial projectState,