36 references to TagSpanIntervalTree
Microsoft.CodeAnalysis.EditorFeatures (36)
Classification\CopyPasteAndPrintingClassificationBufferTaggerProvider.Tagger.cs (4)
37private TagSpanIntervalTree<IClassificationTag>? _cachedTags; 93private static IEnumerable<TagSpan<IClassificationTag>> GetIntersectingTags(NormalizedSnapshotSpanCollection spans, TagSpanIntervalTree<IClassificationTag> cachedTags) 171var cachedTags = new TagSpanIntervalTree<IClassificationTag>(snapshot, SpanTrackingMode.EdgeExclusive, mergedTags); 206private (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)
93private ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> _cachedTagTrees_mayChangeFromAnyThread = ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>>.Empty;
Tagging\AbstractAsynchronousTaggerProvider.TagSource_ProduceTags.cs (26)
45var currentTags = TryGetTagIntervalTreeForBuffer(caret.Value.Snapshot.TextBuffer); 58ref _cachedTagTrees_mayChangeFromAnyThread, ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>>.Empty); 61var oldTagTree = oldTagTrees.TryGetValue(snapshot.TextBuffer, out var tagTree) 63: TagSpanIntervalTree<TTag>.Empty; 118if (oldTagTrees.TryGetValue(buffer, out var treeForBuffer)) 134var newTagTree = new TagSpanIntervalTree<TTag>( 241private async Task<(ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> oldTagTrees, ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> newTagTrees, TResult)> 243Func<ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>>, TArgs, CancellationToken, ValueTask<(ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> newTagTrees, TResult result)>> callback, 282private async Task<ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>>?> RecomputeTagsAsync( 469private ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> ComputeNewTagTrees( 470ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> oldTagTrees, 480var newTagTrees = ImmutableDictionary.CreateBuilder<ITextBuffer, TagSpanIntervalTree<TTag>>(); 505var newTagTree = ComputeNewTagTree(oldTagTrees, buffer, newTagsInBuffer_safeToMutate, spansToInvalidateInBuffer); 513private TagSpanIntervalTree<TTag>? ComputeNewTagTree( 514ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> oldTagTrees, 521oldTagTrees.TryGetValue(textBuffer, out var oldTagTree); 599ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> oldTagTrees, 600ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> newTagTrees) 613if (oldTagTrees.TryGetValue(latestBuffer, out var previousSpans)) 643TagSpanIntervalTree<TTag> latestTree, 644TagSpanIntervalTree<TTag> previousTree) 723private TagSpanIntervalTree<TTag>? TryGetTagIntervalTreeForBuffer(ITextBuffer buffer) 751tagTrees.TryGetValue(buffer, out var tags); 767var 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) &&