6 instantiations of TagSpanIntervalTree
Microsoft.CodeAnalysis.EditorFeatures (5)
Classification\CopyPasteAndPrintingClassificationBufferTaggerProvider.Tagger.cs (1)
150cachedTags = new TagSpanIntervalTree<IClassificationTag>(snapshot.TextBuffer, SpanTrackingMode.EdgeExclusive, context.tagSpans);
Tagging\AbstractAsynchronousTaggerProvider.TagSource_ProduceTags.cs (4)
143var newTagTree = new TagSpanIntervalTree<TTag>( 164: new TagSpanIntervalTree<TTag>(snapshot.TextBuffer, _dataSource.SpanTrackingMode); 354return new TagSpanIntervalTree<TTag>(textBuffer, _dataSource.SpanTrackingMode, newTags); 373return new TagSpanIntervalTree<TTag>(textBuffer, _dataSource.SpanTrackingMode, finalTags);
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (1)
Tagging\TagSpanIntervalTreeTests.cs (1)
25return new TagSpanIntervalTree<ITextMarkerTag>(buffer, SpanTrackingMode.EdgeInclusive, tags);
48 references to TagSpanIntervalTree
Microsoft.CodeAnalysis.EditorFeatures (33)
Classification\CopyPasteAndPrintingClassificationBufferTaggerProvider.Tagger.cs (3)
39private TagSpanIntervalTree<IClassificationTag>? _cachedTags; 125GetCachedInfo(out var cachedTaggedSpan, out var cachedTags); 172private void GetCachedInfo(out SnapshotSpan? cachedTaggedSpan, out TagSpanIntervalTree<IClassificationTag>? cachedTags)
Tagging\AbstractAsynchronousTaggerProvider.TagSource.cs (3)
123private ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> _cachedTagTrees_doNotAccessDirectly = ImmutableDictionary.Create<ITextBuffer, TagSpanIntervalTree<TTag>>(); 348private ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> CachedTagTrees
Tagging\AbstractAsynchronousTaggerProvider.TagSource_ProduceTags.cs (24)
42var currentTags = TryGetTagIntervalTreeForBuffer(caret.Value.Snapshot.TextBuffer); 58this.CachedTagTrees = ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>>.Empty; 61var oldTagTree = GetTagTree(snapshot, oldTagTrees); 133if (!this.CachedTagTrees.TryGetValue(buffer, out var treeForBuffer)) 143var newTagTree = new TagSpanIntervalTree<TTag>( 160private TagSpanIntervalTree<TTag> GetTagTree(ITextSnapshot snapshot, ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> tagTrees) 162return tagTrees.TryGetValue(snapshot.TextBuffer, out var tagTree) 302private ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> ComputeNewTagTrees( 303ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> oldTagTrees, 323var newTagTrees = ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>>.Empty; 326var newTagTree = ComputeNewTagTree(oldTagTrees, buffer, newTagsByBuffer[buffer], spansToInvalidateByBuffer[buffer]); 334private TagSpanIntervalTree<TTag>? ComputeNewTagTree( 335ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> oldTagTrees, 342oldTagTrees.TryGetValue(textBuffer, out var oldTagTree); 376private IEnumerable<ITagSpan<TTag>> GetNonIntersectingTagSpans(IEnumerable<SnapshotSpan> spansToInvalidate, TagSpanIntervalTree<TTag> oldTagTree) 404ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> oldTagTrees, 405ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> newTagTrees, 416if (oldTagTrees.TryGetValue(latestBuffer, out var previousSpans)) 446TagSpanIntervalTree<TTag> latestTree, 447TagSpanIntervalTree<TTag> previousTree) 522private TagSpanIntervalTree<TTag>? TryGetTagIntervalTreeForBuffer(ITextBuffer buffer) 546this.CachedTagTrees.TryGetValue(buffer, out var tags); 562var tags = this.TryGetTagIntervalTreeForBuffer(buffer);
Tagging\TaggerContext.cs (3)
23private readonly ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> _existingTags; 63ImmutableDictionary<ITextBuffer, TagSpanIntervalTree<TTag>> existingTags) 91_existingTags.TryGetValue(point.Snapshot.TextBuffer, out var tree) &&
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (15)
Tagging\TagSpanIntervalTreeTests.cs (15)
20private static TagSpanIntervalTree<ITextMarkerTag> CreateTree(string text, params Span[] spans) 31var tree = CreateTree(string.Empty); 39var tree = CreateTree("Hello, World", new Span(0, 5)); 47var tree = CreateTree("Hello, World", new Span(7, 5)); 58var tree = CreateTree("Hello, World", new Span(7, 5)); 70var tree = CreateTree(new string('c', 100), Enumerable.Range(50, count: 50).Select(s => new Span(s, 1)).ToArray()); 84var tree = CreateTree(new string('c', 100), Enumerable.Range(0, count: 100).Select(s => new Span(s, 1)).ToArray()); 99var tree = CreateTree(new string('c', 100), Enumerable.Range(0, count: 100).Select(s => new Span(s, 1)).ToArray()); 113var tree = CreateTree(new string('c', 100), Enumerable.Range(0, count: 100).Select(s => new Span(s, 1)).ToArray()); 127var tree = CreateTree(new string('c', 100), Enumerable.Range(0, count: 100).Select(s => new Span(s, 1)).ToArray()); 140var tree = CreateTree("goo", new Span(0, 0)); 148var tree = CreateTree("goo", new Span(0, 0)); 156var tree = CreateTree("goo", new Span(1, 0)); 164var tree = CreateTree("goo", new Span(1, 0)); 172var tree = CreateTree("goo", new Span(1, 0));