2 types derived from ProjectLoadState
Microsoft.CodeAnalysis.LanguageServer (2)
16 references to ProjectLoadState
Microsoft.CodeAnalysis.LanguageServer (16)
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))