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