private static BlockStructureContext CreateContext( SyntaxTree syntaxTree, OptionSet options, bool isMetadataAsSource, CancellationToken cancellationToken) { var optionProvider = new BlockStructureOptionProvider(options, isMetadataAsSource); return(new BlockStructureContext(syntaxTree, optionProvider, cancellationToken)); }
private static async Task <BlockStructureContext> CreateContextAsync(Document document, CancellationToken cancellationToken) { var syntaxTree = await document.GetSyntaxTreeAsync(cancellationToken).ConfigureAwait(false); var options = document.Project.Solution.Options; var isMetadataAsSource = document.Project.Solution.Workspace.Kind == WorkspaceKind.MetadataAsSource; var optionProvider = new BlockStructureOptionProvider(options, isMetadataAsSource); return(new BlockStructureContext(syntaxTree, optionProvider, cancellationToken)); }
private BlockSpanCollector( BlockStructureOptionProvider optionProvider, ImmutableDictionary <Type, ImmutableArray <AbstractSyntaxStructureProvider> > nodeOutlinerMap, ImmutableDictionary <int, ImmutableArray <AbstractSyntaxStructureProvider> > triviaOutlinerMap, CancellationToken cancellationToken) { _optionProvider = optionProvider; _nodeProviderMap = nodeOutlinerMap; _triviaProviderMap = triviaOutlinerMap; _cancellationToken = cancellationToken; }
public sealed override void CollectBlockSpans( SyntaxNode node, ArrayBuilder <BlockSpan> spans, BlockStructureOptionProvider optionProvider, CancellationToken cancellationToken) { if (node is TSyntaxNode tSyntax) { CollectBlockSpans(tSyntax, spans, optionProvider, cancellationToken); } }
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 sealed override void CollectBlockSpans( SyntaxToken previousToken, SyntaxNode node, ref TemporaryArray <BlockSpan> spans, BlockStructureOptionProvider optionProvider, CancellationToken cancellationToken) { if (node is TSyntaxNode tSyntax) { CollectBlockSpans(previousToken, tSyntax, ref spans, optionProvider, cancellationToken); } }
public abstract void CollectBlockSpans( SyntaxTrivia trivia, ref TemporaryArray <BlockSpan> spans, BlockStructureOptionProvider optionProvider, CancellationToken cancellationToken);
protected abstract void CollectBlockSpans( SyntaxToken previousToken, TSyntaxNode node, ref TemporaryArray <BlockSpan> spans, BlockStructureOptionProvider optionProvider, CancellationToken cancellationToken);
public BlockStructureContext(SyntaxTree syntaxTree, BlockStructureOptionProvider optionProvider, CancellationToken cancellationToken) { SyntaxTree = syntaxTree; OptionProvider = optionProvider; CancellationToken = cancellationToken; }
protected abstract void CollectBlockSpans( TSyntaxNode node, ArrayBuilder <BlockSpan> spans, BlockStructureOptionProvider optionProvider, CancellationToken cancellationToken);