Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }