private void NotifyEditorNow(NormalizedSnapshotSpanCollection normalizedSpans)
            {
                _batchChangeNotifier.AssertIsForeground();

                using (Logger.LogBlock(FunctionId.Tagger_BatchChangeNotifier_NotifyEditorNow, CancellationToken.None))
                {
                    if (normalizedSpans.Count == 0)
                    {
                        return;
                    }

                    var tagsChanged = this.TagsChanged;
                    if (tagsChanged == null)
                    {
                        return;
                    }

                    normalizedSpans = CoalesceSpans(normalizedSpans);

                    // Don't use linq here.  It's a hotspot.
                    foreach (var span in normalizedSpans)
                    {
                        tagsChanged(this, new SnapshotSpanEventArgs(span));
                    }
                }
            }
            private void ReportChangedSpan(SnapshotSpan changeSpan)
            {
                _batchChangeNotifier.AssertIsForeground();

                var tagsChanged = TagsChanged;

                if (tagsChanged != null)
                {
                    tagsChanged(this, new SnapshotSpanEventArgs(changeSpan));
                }
            }
コード例 #3
0
 private void ReportChangedSpan(SnapshotSpan changeSpan)
 {
     _batchChangeNotifier.AssertIsForeground();
     TagsChanged?.Invoke(this, new SnapshotSpanEventArgs(changeSpan));
 }