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