2 types derived from ProjectLoadState
Microsoft.CodeAnalysis.LanguageServer (2)
HostWorkspace\LanguageServerProjectLoader.cs (2)
76public sealed record Primordial(ProjectSystemProjectFactory PrimordialProjectFactory, ProjectId PrimordialProjectId) : ProjectLoadState; 85public sealed record LoadedTargets(ImmutableArray<LoadedProject> LoadedProjectTargets) : ProjectLoadState;
16 references to ProjectLoadState
Microsoft.CodeAnalysis.LanguageServer (16)
FileBasedPrograms\CanonicalMiscFilesProjectLoader.cs (5)
89if (loadedProjects.TryGetValue(canonicalDocumentPath, out var loadState)) 91if (loadState is ProjectLoadState.LoadedTargets loadedTargets) 101var primordialTarget = loadState as ProjectLoadState.Primordial; 173return loadedProjects.TryGetValue(canonicalDocumentPath, out var loadState) 174&& loadState is ProjectLoadState.LoadedTargets;
HostWorkspace\LanguageServerProjectLoader.cs (11)
53private readonly Dictionary<string, ProjectLoadState> _loadedProjects = []; 288if (!_loadedProjects.TryGetValue(projectPath, out var currentLoadState)) 294var previousProjectTargets = currentLoadState is ProjectLoadState.LoadedTargets loaded ? loaded.LoadedProjectTargets : []; 332if (currentLoadState is ProjectLoadState.Primordial(var primordialProjectFactory, var projectId)) 342_loadedProjects[projectPath] = new ProjectLoadState.LoadedTargets(newProjectTargets); 432protected async ValueTask<T> ExecuteUnderGateAsync<T>(Func<Dictionary<string, ProjectLoadState>, ValueTask<T>> action, CancellationToken cancellationToken) 466_loadedProjects.Add(projectPath, new ProjectLoadState.Primordial(primordialProjectFactory, primordialProjectId)); 486_loadedProjects.Add(projectPath, new ProjectLoadState.LoadedTargets(LoadedProjectTargets: [])); 497if (!_loadedProjects.Remove(projectPath, out var loadState)) 504if (loadState is ProjectLoadState.Primordial(var projectFactory, var projectId)) 508else if (loadState is ProjectLoadState.LoadedTargets(var existingProjects))