2 implementations of ICompilationTracker
Microsoft.CodeAnalysis.Workspaces (2)
Workspace\Solution\SolutionState.CompilationTracker.cs (1)
33private partial class CompilationTracker : ICompilationTracker
Workspace\Solution\SolutionState.GeneratedFileReplacingCompilationTracker.cs (1)
22private class GeneratedFileReplacingCompilationTracker : ICompilationTracker
32 references to ICompilationTracker
Microsoft.CodeAnalysis.Workspaces (32)
Workspace\Solution\SolutionState.CompilationTracker.cs (2)
108public ICompilationTracker Fork( 166public ICompilationTracker FreezePartialStateWithTree(SolutionState solution, DocumentState docState, SyntaxTree tree, CancellationToken cancellationToken)
Workspace\Solution\SolutionState.cs (19)
52private ImmutableDictionary<ProjectId, ICompilationTracker> _projectIdToTrackerMap; 86ImmutableDictionary<ProjectId, ICompilationTracker> projectIdToTrackerMap, 135projectIdToTrackerMap: ImmutableDictionary<ProjectId, ICompilationTracker>.Empty, 194ImmutableDictionary<ProjectId, ICompilationTracker>? projectIdToTrackerMap = null, 415private bool TryGetCompilationTracker(ProjectId projectId, [NotNullWhen(returnValue: true)] out ICompilationTracker? tracker) 427private ICompilationTracker GetCompilationTracker(ProjectId projectId) 429if (!_projectIdToTrackerMap.TryGetValue(projectId, out var tracker)) 1506if (newTrackerMap.TryGetValue(projectId, out var tracker)) 1551private ImmutableDictionary<ProjectId, ICompilationTracker> CreateCompilationTrackerMap(ProjectId changedProjectId, ProjectDependencyGraph dependencyGraph) 1553var builder = ImmutableDictionary.CreateBuilder<ProjectId, ICompilationTracker>(); 1673var tracker = this.GetCompilationTracker(doc.Id.ProjectId); 1674var newTracker = tracker.FreezePartialStateWithTree(this, doc, tree, cancellationToken); 1774return this.TryGetCompilationTracker(projectId, out var tracker) 1890if (!newTrackerMap.TryGetValue(projectId, out var existingTracker)) 1919Contract.ThrowIfFalse(newTrackerMap.TryGetValue(projectId, out var existingTracker)); 1935if (!projectWithCachedGeneratorState.Solution.State.TryGetCompilationTracker(projectWithCachedGeneratorState.Id, out var tracker) || 1966var tracker = this.GetCompilationTracker(projectReference.ProjectId); 1982ICompilationTracker tracker, ProjectState fromProject, ProjectReference projectReference, CancellationToken cancellationToken) 2019if (!_projectIdToTrackerMap.TryGetValue(projectReference.ProjectId, out var state))
Workspace\Solution\SolutionState.GeneratedFileReplacingCompilationTracker.cs (5)
18/// An implementation of <see cref="ICompilationTracker"/> that takes a compilation from another compilation tracker and updates it 35public ICompilationTracker UnderlyingTracker { get; } 39public GeneratedFileReplacingCompilationTracker(ICompilationTracker underlyingTracker, SourceGeneratedDocumentState replacementDocumentState) 61public ICompilationTracker Fork(ProjectState newProject, CompilationAndGeneratorDriverTranslationAction? translate) 69public ICompilationTracker FreezePartialStateWithTree(SolutionState solution, DocumentState docState, SyntaxTree tree, CancellationToken cancellationToken)
Workspace\Solution\SolutionState.ICompilationTracker.cs (2)
37ICompilationTracker Fork(ProjectState newProject, CompilationAndGeneratorDriverTranslationAction? translate); 38ICompilationTracker FreezePartialStateWithTree(SolutionState solution, DocumentState docState, SyntaxTree tree, CancellationToken cancellationToken);
Workspace\Solution\SolutionState.SkeletonReferenceCache.cs (4)
41/// cref="ICompilationTracker"/> forks itself, it will also <see cref="Clone"/> this, allowing previously computed 132ICompilationTracker compilationTracker, 147ICompilationTracker compilationTracker, 177ICompilationTracker compilationTracker,