public AccumulatingIssueConsumer(ITextSnapshot analysisSnapshot, string analysisFilePath, OnIssuesChanged onIssuesChangedCallback, IAnalysisIssueVisualizationConverter issueToIssueVisualizationConverter)
        {
            this.analysisSnapshot = analysisSnapshot ?? throw new ArgumentNullException(nameof(analysisSnapshot));
            this.analysisFilePath = analysisFilePath ?? throw new ArgumentNullException(nameof(analysisFilePath));
            this.onIssuesChanged  = onIssuesChangedCallback ?? throw new ArgumentNullException(nameof(onIssuesChangedCallback));
            this.issueToIssueVisualizationConverter = issueToIssueVisualizationConverter ?? throw new ArgumentNullException(nameof(issueToIssueVisualizationConverter));

            allIssues = new List <IAnalysisIssueVisualization>();
        }
Exemplo n.º 2
0
        public void PostUpdate(IssueUpdateData Update)
        {
            bool bUpdatedIssues;

            lock (LockObject)
            {
                PendingUpdates.Add(Update);
                bUpdatedIssues = ApplyPendingUpdate(Issues, Update);
            }

            RefreshEvent.Set();

            if (bUpdatedIssues)
            {
                OnIssuesChanged?.Invoke();
            }
        }