public static void CollectBlockSpans( Document document, SyntaxNode syntaxRoot, ImmutableDictionary<Type, ImmutableArray<AbstractSyntaxStructureProvider>> nodeOutlinerMap, ImmutableDictionary<int, ImmutableArray<AbstractSyntaxStructureProvider>> triviaOutlinerMap, ArrayBuilder<BlockSpan> spans, CancellationToken cancellationToken) { var collector = new BlockSpanCollector(document, nodeOutlinerMap, triviaOutlinerMap, spans, cancellationToken); collector.Collect(syntaxRoot); }
public static void CollectBlockSpans( SyntaxNode syntaxRoot, BlockStructureOptionProvider optionProvider, ImmutableDictionary <Type, ImmutableArray <AbstractSyntaxStructureProvider> > nodeOutlinerMap, ImmutableDictionary <int, ImmutableArray <AbstractSyntaxStructureProvider> > triviaOutlinerMap, ref TemporaryArray <BlockSpan> spans, CancellationToken cancellationToken) { var collector = new BlockSpanCollector(optionProvider, nodeOutlinerMap, triviaOutlinerMap, cancellationToken); collector.Collect(syntaxRoot, ref spans); }
public static void CollectBlockSpans( Document document, SyntaxNode syntaxRoot, ImmutableDictionary <Type, ImmutableArray <AbstractSyntaxStructureProvider> > nodeOutlinerMap, ImmutableDictionary <int, ImmutableArray <AbstractSyntaxStructureProvider> > triviaOutlinerMap, ArrayBuilder <BlockSpan> spans, CancellationToken cancellationToken) { var collector = new BlockSpanCollector(document, nodeOutlinerMap, triviaOutlinerMap, spans, cancellationToken); collector.Collect(syntaxRoot); }
private void ProvideBlockStructureWorker( BlockStructureContext context, SyntaxNode syntaxRoot) { using var spans = TemporaryArray <BlockSpan> .Empty; BlockSpanCollector.CollectBlockSpans( syntaxRoot, context.OptionProvider, _nodeProviderMap, _triviaProviderMap, ref spans.AsRef(), context.CancellationToken); foreach (var span in spans) { context.AddBlockSpan(span); } }
private void ProvideBlockStructureWorker( BlockStructureContext context, SyntaxNode syntaxRoot) { var spans = ArrayBuilder <BlockSpan> .GetInstance(); BlockSpanCollector.CollectBlockSpans( context.Document, syntaxRoot, _nodeProviderMap, _triviaProviderMap, spans, context.CancellationToken); UpdateAndAddSpans(context, spans); spans.Free(); }
private void ProvideBlockStructureWorker( BlockStructureContext context, SyntaxNode syntaxRoot) { var spans = ImmutableArray.CreateBuilder <BlockSpan>(); BlockSpanCollector.CollectBlockSpans( context.Document, syntaxRoot, _nodeProviderMap, _triviaProviderMap, spans, context.CancellationToken); foreach (var region in spans) { context.AddBlockSpan(region); } }
private void ProvideBlockStructureWorker( BlockStructureContext context, SyntaxNode syntaxRoot) { using var _ = ArrayBuilder <BlockSpan> .GetInstance(out var spans); BlockSpanCollector.CollectBlockSpans( syntaxRoot, context.OptionProvider, _nodeProviderMap, _triviaProviderMap, spans, context.CancellationToken); foreach (var span in spans) { context.AddBlockSpan(span); } }
public override void ProvideBlockStructure(BlockStructureContext context) { try { var syntaxRoot = context.SyntaxTree.GetRoot(context.CancellationToken); using var spans = TemporaryArray <BlockSpan> .Empty; BlockSpanCollector.CollectBlockSpans( syntaxRoot, context.Options, _nodeProviderMap, _triviaProviderMap, ref spans.AsRef(), context.CancellationToken); foreach (var span in spans) { context.AddBlockSpan(span); } } catch (Exception e) when(FatalError.ReportAndPropagateUnlessCanceled(e)) { throw ExceptionUtilities.Unreachable; } }