public sealed override void CollectBlockSpans(
     SyntaxTrivia trivia,
     ref TemporaryArray <BlockSpan> spans,
     BlockStructureOptions options,
     CancellationToken cancellationToken)
 {
     throw new NotSupportedException();
 }
Ejemplo n.º 2
0
        public override async Task <BlockStructure> GetBlockStructureAsync(
            Document document,
            BlockStructureOptions options,
            CancellationToken cancellationToken)
        {
            var syntaxTree = await document.GetSyntaxTreeAsync(cancellationToken).ConfigureAwait(false);

            var context = CreateContext(syntaxTree, options, cancellationToken);

            return(GetBlockStructure(context, _providers));
        }
Ejemplo n.º 3
0
 private BlockSpanCollector(
     BlockStructureOptions options,
     ImmutableDictionary <Type, ImmutableArray <AbstractSyntaxStructureProvider> > nodeOutlinerMap,
     ImmutableDictionary <int, ImmutableArray <AbstractSyntaxStructureProvider> > triviaOutlinerMap,
     CancellationToken cancellationToken)
 {
     _options           = options;
     _nodeProviderMap   = nodeOutlinerMap;
     _triviaProviderMap = triviaOutlinerMap;
     _cancellationToken = cancellationToken;
 }
Ejemplo n.º 4
0
        public static void CollectBlockSpans(
            SyntaxNode syntaxRoot,
            BlockStructureOptions options,
            ImmutableDictionary <Type, ImmutableArray <AbstractSyntaxStructureProvider> > nodeOutlinerMap,
            ImmutableDictionary <int, ImmutableArray <AbstractSyntaxStructureProvider> > triviaOutlinerMap,
            ref TemporaryArray <BlockSpan> spans,
            CancellationToken cancellationToken)
        {
            var collector = new BlockSpanCollector(options, nodeOutlinerMap, triviaOutlinerMap, cancellationToken);

            collector.Collect(syntaxRoot, ref spans);
        }
 public sealed override void CollectBlockSpans(
     SyntaxToken previousToken,
     SyntaxNode node,
     ref TemporaryArray <BlockSpan> spans,
     BlockStructureOptions options,
     CancellationToken cancellationToken)
 {
     if (node is TSyntaxNode tSyntax)
     {
         CollectBlockSpans(previousToken, tSyntax, ref spans, options, cancellationToken);
     }
 }
Ejemplo n.º 6
0
 public BlockStructureContext(SyntaxTree syntaxTree, BlockStructureOptions options, CancellationToken cancellationToken)
 {
     SyntaxTree        = syntaxTree;
     Options           = options;
     CancellationToken = cancellationToken;
 }
Ejemplo n.º 7
0
 public abstract Task <BlockStructure> GetBlockStructureAsync(Document document, BlockStructureOptions options, CancellationToken cancellationToken);
 public abstract void CollectBlockSpans(
     SyntaxTrivia trivia,
     ref TemporaryArray <BlockSpan> spans,
     BlockStructureOptions options,
     CancellationToken cancellationToken);
 public abstract void CollectBlockSpans(
     SyntaxToken previousToken,
     SyntaxNode node,
     ref TemporaryArray <BlockSpan> spans,
     BlockStructureOptions options,
     CancellationToken cancellationToken);