3 implementations of ICompilationTracker
Microsoft.CodeAnalysis.Workspaces (3)
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs (1)
31private sealed partial class RegularCompilationTracker : ICompilationTracker
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker_Generators.cs (1)
27private sealed partial class RegularCompilationTracker : ICompilationTracker
Workspace\Solution\SolutionCompilationState.WithFrozenSourceGeneratedDocumentsCompilationTracker.cs (1)
27private sealed class WithFrozenSourceGeneratedDocumentsCompilationTracker : ICompilationTracker
48 references to ICompilationTracker
Microsoft.CodeAnalysis.Workspaces (48)
Workspace\Solution\SolutionCompilationState.cs (29)
47private ImmutableSegmentedDictionary<ProjectId, ICompilationTracker> _projectIdToTrackerMap; 62ImmutableSegmentedDictionary<ProjectId, ICompilationTracker> projectIdToTrackerMap, 94projectIdToTrackerMap: ImmutableSegmentedDictionary<ProjectId, ICompilationTracker>.Empty, 117ImmutableSegmentedDictionary<ProjectId, ICompilationTracker>? projectIdToTrackerMap = null, 191if (trackerMap.TryGetValue(arg.projectId, out var tracker)) 208/// Creates a mapping of <see cref="ProjectId"/> to <see cref="ICompilationTracker"/> 214private ImmutableSegmentedDictionary<ProjectId, ICompilationTracker> CreateCompilationTrackerMap<TArg>( 217Action<ImmutableSegmentedDictionary<ProjectId, ICompilationTracker>.Builder, TArg> modifyNewTrackerInfo, 236/// Creates a mapping of <see cref="ProjectId"/> to <see cref="ICompilationTracker"/> 242private ImmutableSegmentedDictionary<ProjectId, ICompilationTracker> CreateCompilationTrackerMap<TArg>( 245Action<ImmutableSegmentedDictionary<ProjectId, ICompilationTracker>.Builder, TArg> modifyNewTrackerInfo, 268/// Creates a mapping of <see cref="ProjectId"/> to <see cref="ICompilationTracker"/> 274private ImmutableSegmentedDictionary<ProjectId, ICompilationTracker> CreateCompilationTrackerMap<TArgCanReuse, TArgModifyNewTrackerInfo>( 277Action<ImmutableSegmentedDictionary<ProjectId, ICompilationTracker>.Builder, TArgModifyNewTrackerInfo> modifyNewTrackerInfo, 294var localTracker = tracker.Fork(tracker.ProjectState, translate: null); 1151private bool TryGetCompilationTracker(ProjectId projectId, [NotNullWhen(returnValue: true)] out ICompilationTracker? tracker) 1163private ICompilationTracker GetCompilationTracker(ProjectId projectId) 1165if (!_projectIdToTrackerMap.TryGetValue(projectId, out var tracker)) 1184return this.TryGetCompilationTracker(projectId, out var tracker) 1279ICompilationTracker tracker, ProjectState fromProject, ProjectReference projectReference, bool includeCrossLanguage, CancellationToken cancellationToken) 1330var tracker = this.GetCompilationTracker(projectReference.ProjectId); 1364Contract.ThrowIfFalse(trackerMap.TryGetValue(projectId, out var existingTracker)); 1461if (!trackerMap.TryGetValue(projectId, out var existingTracker)) 1524if (_projectIdToTrackerMap.TryGetValue(projectId, out var existingTracker)) 1529var newTracker = existingTracker.WithCreateCreationPolicy(forceRegeneration); 1566private (ImmutableArray<ProjectState> sortedProjectStates, ImmutableSegmentedDictionary<ProjectId, ICompilationTracker>) ComputeFrozenSnapshotMaps(CancellationToken cancellationToken) 1592if (!originalProjectIdToTrackerMap.TryGetValue(projectId, out var oldTracker)) 1602var newTracker = oldTracker.WithDoNotCreateCreationPolicy(); 1857if (!projectWithCachedGeneratorState.Solution.CompilationState.TryGetCompilationTracker(projectWithCachedGeneratorState.Id, out var tracker) ||
Workspace\Solution\SolutionCompilationState.ICompilationTracker.cs (4)
38ICompilationTracker Fork(ProjectState newProject, TranslationAction? translate); 47ICompilationTracker WithCreateCreationPolicy(bool forceRegeneration); 52ICompilationTracker WithDoNotCreateCreationPolicy(); 58/// Gets the source generator files generated by this <see cref="ICompilationTracker"/>. <paramref
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs (6)
121ICompilationTracker ICompilationTracker.Fork(ProjectState newProjectState, TranslationAction? translate) 686ICompilationTracker ICompilationTracker.WithCreateCreationPolicy(bool forceRegeneration) 745ICompilationTracker ICompilationTracker.WithDoNotCreateCreationPolicy()
Workspace\Solution\SolutionCompilationState.SkeletonReferenceCache.cs (4)
40/// cref="ICompilationTracker"/> forks itself, it will also <see cref="Clone"/> this, allowing previously computed 141ICompilationTracker compilationTracker, 159ICompilationTracker compilationTracker, 196ICompilationTracker compilationTracker,
Workspace\Solution\SolutionCompilationState.WithFrozenSourceGeneratedDocumentsCompilationTracker.cs (5)
17/// An implementation of <see cref="ICompilationTracker"/> that takes a compilation from another compilation tracker 74public ICompilationTracker Fork(ProjectState newProject, TranslationAction? translate) 81public ICompilationTracker WithCreateCreationPolicy(bool forceRegeneration) 89public ICompilationTracker WithDoNotCreateCreationPolicy() 104public ICompilationTracker WithReplacementDocumentStates(TextDocumentStates<SourceGeneratedDocumentState> replacementDocumentStates)