36 references to TagSpanIntervalTree
Microsoft.CodeAnalysis.EditorFeatures (36)
Classification\CopyPasteAndPrintingClassificationBufferTaggerProvider.Tagger.cs (4)
36private TagSpanIntervalTree<IClassificationTag>? _cachedTags; 92private static IEnumerable<TagSpan<IClassificationTag>> GetIntersectingTags(NormalizedSnapshotSpanCollection spans, TagSpanIntervalTree<IClassificationTag> cachedTags) 170var cachedTags = new TagSpanIntervalTree<IClassificationTag>(snapshot, SpanTrackingMode.EdgeExclusive, mergedTags); 205private (SnapshotSpan? cachedTaggedSpan, TagSpanIntervalTree<IClassificationTag>? cachedTags) GetCachedInfo()
Shared\Tagging\Utilities\TagSpanIntervalTree.cs (1)
27public static readonly TagSpanIntervalTree<TTag> Empty = new(SpanTrackingMode.EdgeInclusive);
Tagging\AbstractAsynchronousTaggerProvider.TagSource.cs (2)
92private ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> _cachedTagTrees_mayChangeFromAnyThread = ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>>.Empty;
Tagging\AbstractAsynchronousTaggerProvider.TagSource_ProduceTags.cs (26)
44var currentTags = TryGetTagIntervalTreeForBuffer(caret.Value.Snapshot.TextBuffer); 57ref _cachedTagTrees_mayChangeFromAnyThread, ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>>.Empty); 60var oldTagTree = oldTagTrees.TryGetValue(snapshot.TextBuffer, out var tagTree) 62: TagSpanIntervalTree<TTag>.Empty; 117if (oldTagTrees.TryGetValue(buffer, out var treeForBuffer)) 133var newTagTree = new TagSpanIntervalTree<TTag>( 240private async Task<(ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> oldTagTrees, ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> newTagTrees, TResult)> 242Func<ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>>, TArgs, CancellationToken, ValueTask<(ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> newTagTrees, TResult result)>> callback, 281private async Task<ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>>?> RecomputeTagsAsync( 468private ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> ComputeNewTagTrees( 469ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> oldTagTrees, 479var newTagTrees = ImmutableDictionary.CreateBuilder<ITextBuffer, TagSpanIntervalTree<TTag>>(); 504var newTagTree = ComputeNewTagTree(oldTagTrees, buffer, newTagsInBuffer_safeToMutate, spansToInvalidateInBuffer); 512private TagSpanIntervalTree<TTag>? ComputeNewTagTree( 513ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> oldTagTrees, 520oldTagTrees.TryGetValue(textBuffer, out var oldTagTree); 598ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> oldTagTrees, 599ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> newTagTrees) 612if (oldTagTrees.TryGetValue(latestBuffer, out var previousSpans)) 642TagSpanIntervalTree<TTag> latestTree, 643TagSpanIntervalTree<TTag> previousTree) 722private TagSpanIntervalTree<TTag>? TryGetTagIntervalTreeForBuffer(ITextBuffer buffer) 750tagTrees.TryGetValue(buffer, out var tags); 766var tagIntervalTree = this.TryGetTagIntervalTreeForBuffer(buffer);
Tagging\TaggerContext.cs (3)
20private readonly ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> _existingTags; 74ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> existingTags) 102_existingTags.TryGetValue(point.Snapshot.TextBuffer, out var tree) &&