public override AnalyzerActions GetAnalyzerActions(DiagnosticAnalyzer analyzer) { AnalyzerActions compilationActions = base.GetAnalyzerActions(analyzer); AnalyzerActions sessionActions = _sessionScope.GetAnalyzerActions(analyzer); if (sessionActions == null) { return(compilationActions); } if (compilationActions == null) { return(sessionActions); } return(compilationActions.Append(sessionActions)); }
private static Task <AnalyzerActions> GetAnalyzerActionsAsync( ImmutableArray <DiagnosticAnalyzer> analyzers, AnalyzerManager analyzerManager, AnalyzerExecutor analyzerExecutor) { return(Task.Run(async() => { AnalyzerActions allAnalyzerActions = new AnalyzerActions(); foreach (var analyzer in analyzers) { if (!IsDiagnosticAnalyzerSuppressed(analyzer, analyzerExecutor.Compilation.Options, analyzerManager, analyzerExecutor)) { var analyzerActions = await analyzerManager.GetAnalyzerActionsAsync(analyzer, analyzerExecutor).ConfigureAwait(false); allAnalyzerActions = allAnalyzerActions.Append(analyzerActions); } } return allAnalyzerActions; }, analyzerExecutor.CancellationToken)); }