private void CleanupSuppressionHandling() { delegateInjector?.Dispose(); delegateInjector = null; (sonarqubeIssueProvider as IDisposable)?.Dispose(); sonarqubeIssueProvider = null; }
private void Refresh(BindingConfiguration configuration) { CleanupResources(); if (configuration.Mode != SonarLintMode.Standalone) { instance = createProviderFunc(configuration); SuppressionsUpdateRequested?.Invoke(this, EventArgs.Empty); } }
private void SetupSuppressionHandling() { var componentModel = (IComponentModel)serviceProvider.GetService(typeof(SComponentModel)); var workspace = componentModel.GetService <VisualStudioWorkspace>(); var solution = this.serviceProvider.GetService <SVsSolution, IVsSolution>(); liveIssueFactory = new LiveIssueFactory(workspace, solution); delegateInjector = new DelegateInjector(ShouldIssueBeReported, sonarLintOutput); sonarqubeIssueProvider = new SonarQubeIssuesProvider(sonarQubeService, this.activeSolutionBoundTracker.ProjectKey, timerFactory); }
public SuppressionHandler(ILiveIssueFactory liveIssueFactory, ISonarQubeIssuesProvider serverIssuesProvider) { if (liveIssueFactory == null) { throw new ArgumentNullException(nameof(liveIssueFactory)); } if (serverIssuesProvider == null) { throw new ArgumentNullException(nameof(serverIssuesProvider)); } this.liveIssueFactory = liveIssueFactory; this.serverIssuesProvider = serverIssuesProvider; }
public SonarAnalyzerManager(IActiveSolutionBoundTracker activeSolutionBoundTracker, Workspace workspace, IVsSolution vsSolution, ILogger logger, ISonarQubeIssuesProvider sonarQubeIssuesProvider) { this.activeSolutionBoundTracker = activeSolutionBoundTracker ?? throw new ArgumentNullException(nameof(activeSolutionBoundTracker)); this.workspace = workspace ?? throw new ArgumentNullException(nameof(workspace)); this.vsSolution = vsSolution ?? throw new ArgumentNullException(nameof(vsSolution)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.sonarQubeIssuesProvider = sonarQubeIssuesProvider ?? throw new ArgumentNullException(nameof(sonarQubeIssuesProvider)); // Saving previous state so that SonarLint doesn't have to know what's the default state in SonarAnalyzer this.previousShouldExecuteRegisteredAction = SonarAnalysisContext.ShouldExecuteRegisteredAction; this.previousShouldDiagnosticBeReported = SonarAnalysisContext.ShouldDiagnosticBeReported; this.previousReportDiagnostic = SonarAnalysisContext.ReportDiagnostic; activeSolutionBoundTracker.SolutionBindingChanged += OnSolutionBindingChanged; activeSolutionBoundTracker.SolutionBindingUpdated += OnSolutionBindingUpdated; RefreshWorkflow(this.activeSolutionBoundTracker.CurrentConfiguration); }
private void SetupSuppressionHandling() { liveIssueFactory = new LiveIssueFactory(serviceProvider); delegateInjector = new DelegateInjector(ShouldIssueBeReported, serviceProvider); sonarqubeIssueProvider = new SonarQubeIssuesProvider(sonarQubeService, activeSolutionBoundTracker, timerFactory); }
public SuppressedIssueMatcher(ISonarQubeIssuesProvider issuesProvider) { this.issuesProvider = issuesProvider ?? throw new ArgumentNullException(nameof(issuesProvider)); }
private void CleanupResources() { instance?.Dispose(); instance = null; }
public IssuesFilter(ISonarQubeIssuesProvider sonarQubeIssuesProvider) : this(new SuppressedIssueMatcher(sonarQubeIssuesProvider)) { }