Exemplo n.º 1
0
        public SonarAnalyzerLegacyConnectedWorkflow(Workspace workspace, IRoslynSuppressionHandler suppressionHandler, ILogger logger)
            : base(workspace)
        {
            if (suppressionHandler == null)
            {
                throw new ArgumentNullException(nameof(suppressionHandler));
            }

            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            this.logger = logger;
            this.shouldDiagnosticBeReportedFunc = ShouldIssueBeReported;
            this.suppressionHandler             = suppressionHandler;

            // Inject the delegate into any Sonar analyzer assemblies that are already loaded
            foreach (Assembly asm in AppDomain.CurrentDomain.GetAssemblies())
            {
                InjectSuppressionDelegate(asm);
            }

            // Monitor assemblies as they are loaded and inject the delegate if necessary
            AppDomain.CurrentDomain.AssemblyLoad += OnAssemblyLoad;
        }
Exemplo n.º 2
0
        public SonarAnalyzerConnectedWorkflow(Workspace workspace, IRoslynSuppressionHandler suppressionHandler)
            : base(workspace)
        {
            if (suppressionHandler == null)
            {
                throw new ArgumentNullException(nameof(suppressionHandler));
            }

            this.suppressionHandler = suppressionHandler;

            SonarAnalysisContext.ReportDiagnostic = VsixAnalyzerReportDiagnostic;
        }
Exemplo n.º 3
0
 public TestableSonarAnalyzerLegacyConnectedWorkflow(IRoslynSuppressionHandler suppressionHandler, ILogger logger)
     : base(new AdhocWorkspace(), suppressionHandler, logger)
 {
 }