public ISymbolAnalyzerSetupGroup <TSymbol> ThenUseAnalyzer <TAnalyzer>() where TAnalyzer : SymbolActionAnalyzer <TSymbol> { var nextItem = new SymbolAnalyzerGroupNode <TAnalyzer, TSymbol>(this); SetNextNode(nextItem); return(nextItem); }
public ISymbolAnalyzerSetupGroup <TNewSymbol> ThenUseAnalyzer <TAnalyzer, TNewSymbol>(Func <TSymbol, IEnumerable <TNewSymbol> > syntaxFactory) where TAnalyzer : SymbolActionAnalyzer <TNewSymbol> where TNewSymbol : ISymbol { var nextItem = new SymbolAnalyzerGroupNode <TAnalyzer, TNewSymbol>(this, syntax => syntaxFactory((TSymbol)syntax).Cast <ISymbol>()); SetNextNode(nextItem); return(nextItem); }
public ISymbolAnalyzerSetupGroup <TSymbol> UseAnalyzer <TAnalyzer, TSymbol>(IEnumerable <SymbolKind> selectedSymbolKind) where TAnalyzer : SymbolActionAnalyzer <TSymbol> where TSymbol : ISymbol { var group = new AnalyzerGroup <ISymbol, SymbolAnalysisContextSource>(); var first = new SymbolAnalyzerGroupNode <TAnalyzer, TSymbol>(group); _anaylzerGroups.Add((group, selectedSymbolKind.ToImmutableArray())); return(first); }