36 references to TagSpanIntervalTree
Microsoft.CodeAnalysis.EditorFeatures (36)
Classification\CopyPasteAndPrintingClassificationBufferTaggerProvider.Tagger.cs (4)
36
private
TagSpanIntervalTree
<IClassificationTag>? _cachedTags;
92
private static IEnumerable<TagSpan<IClassificationTag>> GetIntersectingTags(NormalizedSnapshotSpanCollection spans,
TagSpanIntervalTree
<IClassificationTag> cachedTags)
170
var
cachedTags = new TagSpanIntervalTree<IClassificationTag>(snapshot, SpanTrackingMode.EdgeExclusive, mergedTags);
205
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)
92
private ImmutableDictionary<ITextBuffer,
TagSpanIntervalTree
<TTag>> _cachedTagTrees_mayChangeFromAnyThread = ImmutableDictionary<ITextBuffer,
TagSpanIntervalTree
<TTag>>.Empty;
Tagging\AbstractAsynchronousTaggerProvider.TagSource_ProduceTags.cs (26)
44
var
currentTags = TryGetTagIntervalTreeForBuffer(caret.Value.Snapshot.TextBuffer);
57
ref _cachedTagTrees_mayChangeFromAnyThread, ImmutableDictionary<ITextBuffer,
TagSpanIntervalTree
<TTag>>.Empty);
60
var oldTagTree = oldTagTrees.TryGetValue(snapshot.TextBuffer, out
var
tagTree)
62
:
TagSpanIntervalTree
<TTag>.Empty;
117
if (oldTagTrees.TryGetValue(buffer, out
var
treeForBuffer))
133
var
newTagTree = new TagSpanIntervalTree<TTag>(
240
private async Task<(ImmutableDictionary<ITextBuffer,
TagSpanIntervalTree
<TTag>> oldTagTrees, ImmutableDictionary<ITextBuffer,
TagSpanIntervalTree
<TTag>> newTagTrees, TResult)>
242
Func<ImmutableDictionary<ITextBuffer,
TagSpanIntervalTree
<TTag>>, TArgs, CancellationToken, ValueTask<(ImmutableDictionary<ITextBuffer,
TagSpanIntervalTree
<TTag>> newTagTrees, TResult result)>> callback,
281
private async Task<ImmutableDictionary<ITextBuffer,
TagSpanIntervalTree
<TTag>>?> RecomputeTagsAsync(
468
private ImmutableDictionary<ITextBuffer,
TagSpanIntervalTree
<TTag>> ComputeNewTagTrees(
469
ImmutableDictionary<ITextBuffer,
TagSpanIntervalTree
<TTag>> oldTagTrees,
479
var newTagTrees = ImmutableDictionary.CreateBuilder<ITextBuffer,
TagSpanIntervalTree
<TTag>>();
504
var
newTagTree = ComputeNewTagTree(oldTagTrees, buffer, newTagsInBuffer_safeToMutate, spansToInvalidateInBuffer);
512
private
TagSpanIntervalTree
<TTag>? ComputeNewTagTree(
513
ImmutableDictionary<ITextBuffer,
TagSpanIntervalTree
<TTag>> oldTagTrees,
520
oldTagTrees.TryGetValue(textBuffer, out
var
oldTagTree);
598
ImmutableDictionary<ITextBuffer,
TagSpanIntervalTree
<TTag>> oldTagTrees,
599
ImmutableDictionary<ITextBuffer,
TagSpanIntervalTree
<TTag>> newTagTrees)
612
if (oldTagTrees.TryGetValue(latestBuffer, out
var
previousSpans))
642
TagSpanIntervalTree
<TTag> latestTree,
643
TagSpanIntervalTree
<TTag> previousTree)
722
private
TagSpanIntervalTree
<TTag>? TryGetTagIntervalTreeForBuffer(ITextBuffer buffer)
750
tagTrees.TryGetValue(buffer, out
var
tags);
766
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) &&