void AddIssue(ProjectFile file, BaseCodeIssueProvider provider, CodeIssue r) { var topLevelProvider = (provider as CodeIssueProvider) ?? provider.Parent; if (topLevelProvider == null) { throw new ArgumentException("must be a CodeIssueProvider or a BaseCodeIssueProvider with Parent != null", "provider"); } var issue = new IssueSummary { IssueDescription = r.Description, Region = r.Region, ProviderTitle = topLevelProvider.Title, ProviderDescription = topLevelProvider.Description, ProviderCategory = topLevelProvider.Category, Severity = topLevelProvider.GetSeverity(), File = file, Project = file.Project, InspectorIdString = r.InspectorIdString }; issue.Actions = r.Actions.Select(a => new ActionSummary { Batchable = a.SupportsBatchRunning, SiblingKey = a.SiblingKey, Title = a.Title, Region = a.DocumentRegion, IssueSummary = issue }).ToList(); IssueSink.AddIssue(issue); }
public static IssueSummary FromCodeIssue(ProjectFile file, BaseCodeIssueProvider provider, CodeIssue codeIssue) { var topLevelProvider = (provider as CodeIssueProvider) ?? provider.Parent; if (topLevelProvider == null) { throw new ArgumentException("must be a CodeIssueProvider or a BaseCodeIssueProvider with Parent != null", "provider"); } var issueSummary = new IssueSummary { IssueDescription = codeIssue.Description, Region = codeIssue.Region, ProviderTitle = topLevelProvider.Title, ProviderDescription = topLevelProvider.Description, ProviderCategory = topLevelProvider.Category, Severity = topLevelProvider.GetSeverity(), IssueMarker = codeIssue.IssueMarker, File = file, Project = file.Project, InspectorIdString = codeIssue.InspectorIdString }; issueSummary.Actions = codeIssue.Actions.Select(a => new ActionSummary { // Batchable = a.SupportsBatchRunning, // SiblingKey = a.SiblingKey, // Title = a., // Region = a.DocumentRegion, IssueSummary = issueSummary }).ToList(); return(issueSummary); }
public static IssueSummary FromCodeIssue(ProjectFile file, BaseCodeIssueProvider provider, CodeIssue codeIssue) { var topLevelProvider = (provider as CodeIssueProvider) ?? provider.Parent; if (topLevelProvider == null) throw new ArgumentException ("must be a CodeIssueProvider or a BaseCodeIssueProvider with Parent != null", "provider"); var issueSummary = new IssueSummary { IssueDescription = codeIssue.Description, Region = codeIssue.Region, ProviderTitle = topLevelProvider.Title, ProviderDescription = topLevelProvider.Description, ProviderCategory = topLevelProvider.Category, Severity = topLevelProvider.GetSeverity (), IssueMarker = codeIssue.IssueMarker, File = file, Project = file.Project, InspectorIdString = codeIssue.InspectorIdString }; issueSummary.Actions = codeIssue.Actions.Select (a => new ActionSummary { Batchable = a.SupportsBatchRunning, SiblingKey = a.SiblingKey, Title = a.Title, Region = a.DocumentRegion, IssueSummary = issueSummary }).ToList (); return issueSummary; }
void HandleCodeIssueAdded(object sender, CodeIssueEventArgs e) { foreach (var issue in e.CodeIssues) { var summary = IssueSummary.FromCodeIssue(e.File, e.Provider, issue); rootGroup.AddIssue(summary); } }
public IssueGroup GetIssueGroup(IssueSummary issue) { IssueGroup group; var providerCategory = GetGroupingKey(issue); if (providerCategory == null) { return(null); } if (!groups.TryGetValue(providerCategory, out group)) { group = new IssueGroup(Next, GetGroupName(issue)); groups.Add(providerCategory, group); } return(group); }
public IssueGroup GetIssueGroup(IssueGroup parentGroup, IssueSummary issue) { IssueGroup group; var providerCategory = GetGroupingKey(issue); if (providerCategory == null) { return(null); } var key = Tuple.Create(parentGroup, providerCategory); if (!groups.TryGetValue(key, out group)) { group = new IssueGroup(Next, GetGroupName(issue)); groups.Add(key, group); } return(group); }
bool ProcessIssue(IssueSummary issue, out IssueGroup group) { bool groupAdded = false; group = null; if (groupingProvider != null) { group = groupingProvider.GetIssueGroup(issue); } if (group == null) { children.Add(issue); } else if (!groups.Contains(group)) { groupAdded = true; groups.Add(group); children.Add(group); } return(groupAdded); }
public void AddIssue(IssueSummary issue) { IssueGroup group = null; bool groupAdded = false; bool issueAdded = false; lock (_lock) { if (!allIssues.Contains(issue)) { IssueCount++; allIssues.Add(issue); ((IIssueTreeNode)issue).VisibleChanged += HandleVisibleChanged; issueAdded = true; } if (processingEnabled) { groupAdded = ProcessIssue(issue, out group); } } if (issueAdded) { OnTextChanged(new IssueGroupEventArgs(this)); } if (!processingEnabled) { return; } if (groupAdded) { OnChildAdded(new IssueTreeNodeEventArgs(this, group)); } else if (group == null) { OnChildAdded(new IssueTreeNodeEventArgs(this, issue)); } if (group != null) { group.AddIssue(issue); } }
void AddIssue(ProjectFile file, CodeIssueProvider provider, CodeIssue r) { var issue = new IssueSummary { IssueDescription = r.Description, Region = r.Region, ProviderTitle = provider.Title, ProviderDescription = provider.Description, ProviderCategory = provider.Category, Severity = provider.GetSeverity(), IssueMarker = provider.IssueMarker, File = file, Project = file.Project, InspectorIdString = r.InspectorIdString }; issue.Actions = r.Actions.Select(a => new ActionSummary { Batchable = a.SupportsBatchRunning, SiblingKey = a.SiblingKey, Title = a.Title, Region = a.DocumentRegion, IssueSummary = issue }).ToList(); IssueSink.AddIssue(issue); }
public IssueGroup GetIssueGroup (IssueSummary issue) { GetIssueGroupCalled = true; return Group; }
public IssueGroup GetIssueGroup (IssueGroup parent, IssueSummary issue) { return null; }
public IssueGroup GetIssueGroup(IssueSummary issue) { throw new NotImplementedException(); }
public IssueGroup GetIssueGroup (IssueSummary issue) { throw new NotImplementedException (); }
protected override ProjectFile GetGroupingKey(IssueSummary issue) { return(issue.File); }
protected override Project GetGroupingKey(IssueSummary issue) { return(issue.Project); }
public IssueGroup GetIssueGroup(IssueSummary issue) { return(null); }
protected override string GetGroupName(IssueSummary issue) { return(issue.Severity.ToString()); }
bool ProcessIssue (IssueSummary issue, out IssueGroup group) { bool groupAdded = false; group = null; if (groupingProvider != null) { group = groupingProvider.GetIssueGroup (issue); } if (group == null) { children.Add (issue); } else if (!groups.Contains (group)) { groupAdded = true; groups.Add (group); children.Add (group); } return groupAdded; }
public void AddIssue (IssueSummary issue) { IssueGroup group = null; bool groupAdded = false; bool issueAdded = false; lock (_lock) { if (!allIssues.Contains (issue)) { IssueCount++; allIssues.Add (issue); ((IIssueTreeNode) issue).VisibleChanged += HandleVisibleChanged; issueAdded = true; } if (processingEnabled) { groupAdded = ProcessIssue (issue, out group); } } if (issueAdded) { OnTextChanged (new IssueGroupEventArgs (this)); } if (!processingEnabled) return; if (groupAdded) { OnChildAdded (new IssueTreeNodeEventArgs (this, group)); } else if (group == null) { OnChildAdded (new IssueTreeNodeEventArgs (this, issue)); } if (group != null) { group.AddIssue (issue); } }
protected override string GetGroupName(IssueSummary issue) { return(issue.ProviderTitle); }
protected override string GetGroupName(IssueSummary issue) { return(issue.Project.Name); }
void AddIssue (ProjectFile file, CodeIssueProvider provider, CodeIssue r) { var issue = new IssueSummary { IssueDescription = r.Description, Region = r.Region, ProviderTitle = provider.Title, ProviderDescription = provider.Description, ProviderCategory = provider.Category, Severity = provider.GetSeverity (), IssueMarker = provider.IssueMarker, File = file, Project = file.Project, InspectorIdString = r.InspectorIdString }; issue.Actions = r.Actions.Select (a => new ActionSummary { Batchable = a.SupportsBatchRunning, SiblingKey = a.SiblingKey, Title = a.Title, Region = a.DocumentRegion, IssueSummary = issue }).ToList (); IssueSink.AddIssue (issue); }
protected abstract T GetGroupingKey(IssueSummary issue);
protected abstract string GetGroupName(IssueSummary issue);
protected override Severity GetGroupingKey(IssueSummary issue) { return(issue.Severity); }
protected override string GetGroupName(IssueSummary issue) { return(issue.File.FilePath.ToRelative(issue.Project.BaseDirectory)); }