public ISyntaxAnalyzerSetupGroup <TNewSyntax> ThenUseAnalyzer <TAnalyzer, TNewSyntax>(Func <TSyntax, IEnumerable <TNewSyntax> > syntaxFactory) where TAnalyzer : SyntaxNodeAnalyzer <TNewSyntax> where TNewSyntax : SyntaxNode { var nextItem = new SyntaxAnalyzerGroupNode <TAnalyzer, TNewSyntax>(this, syntax => syntaxFactory((TSyntax)syntax)); SetNextNode(nextItem); return(nextItem); }
public ISyntaxAnalyzerSetupGroup <TSyntax> ThenUseAnalyzer <TAnalyzer>() where TAnalyzer : SyntaxNodeAnalyzer <TSyntax> { var nextItem = new SyntaxAnalyzerGroupNode <TAnalyzer, TSyntax>(this); SetNextNode(nextItem); return(nextItem); }
public ISyntaxAnalyzerSetupGroup <TSyntax> UseAnalyzer <TAnalyzer, TSyntax>(IEnumerable <SyntaxKind> selectedSyntaxKinds) where TAnalyzer : SyntaxNodeAnalyzer <TSyntax> where TSyntax : SyntaxNode { var group = new AnalyzerGroup <SyntaxNode, SyntaxNodeAnalysisContextSource>(); var first = new SyntaxAnalyzerGroupNode <TAnalyzer, TSyntax>(group); _anaylzerGroups.Add((group, selectedSyntaxKinds.ToImmutableArray())); return(first); }