2 types derived from ProjectLoadState
Microsoft.CodeAnalysis.LanguageServer (2)
HostWorkspace\LanguageServerProjectLoader.cs (2)
71public sealed record Primordial(ProjectSystemProjectFactory PrimordialProjectFactory, ProjectId PrimordialProjectId) : ProjectLoadState; 80public sealed record LoadedTargets(ImmutableArray<LoadedProject> LoadedProjectTargets) : ProjectLoadState;
16 references to ProjectLoadState
Microsoft.CodeAnalysis.LanguageServer (16)
FileBasedPrograms\CanonicalMiscFilesProjectLoader.cs (5)
87if (loadedProjects.TryGetValue(canonicalDocumentPath, out var loadState)) 89if (loadState is ProjectLoadState.LoadedTargets loadedTargets) 99var primordialTarget = loadState as ProjectLoadState.Primordial; 172return loadedProjects.TryGetValue(canonicalDocumentPath, out var loadState) 173&& loadState is ProjectLoadState.LoadedTargets;
HostWorkspace\LanguageServerProjectLoader.cs (11)
48private readonly Dictionary<string, ProjectLoadState> _loadedProjects = []; 283if (!_loadedProjects.TryGetValue(projectPath, out var currentLoadState)) 289var previousProjectTargets = currentLoadState is ProjectLoadState.LoadedTargets loaded ? loaded.LoadedProjectTargets : []; 327if (currentLoadState is ProjectLoadState.Primordial(var primordialProjectFactory, var projectId)) 337_loadedProjects[projectPath] = new ProjectLoadState.LoadedTargets(newProjectTargets); 427protected async ValueTask<T> ExecuteUnderGateAsync<T>(Func<Dictionary<string, ProjectLoadState>, ValueTask<T>> action, CancellationToken cancellationToken) 461_loadedProjects.Add(projectPath, new ProjectLoadState.Primordial(primordialProjectFactory, primordialProjectId)); 481_loadedProjects.Add(projectPath, new ProjectLoadState.LoadedTargets(LoadedProjectTargets: [])); 492if (!_loadedProjects.Remove(projectPath, out var loadState)) 499if (loadState is ProjectLoadState.Primordial(var projectFactory, var projectId)) 503else if (loadState is ProjectLoadState.LoadedTargets(var existingProjects))