public override void WriteIssue(IssueRecord issue) { Result resultItem = new Result(); MapRuleToResult(issue.Issue.Rule, ref resultItem); AddRuleToSarifRule(issue.Issue.Rule); CodeAnalysis.Sarif.Location loc = new CodeAnalysis.Sarif.Location(); loc.AnalysisTarget = new PhysicalLocation(new Uri(issue.Filename), null, new Region(issue.Issue.StartLocation.Line, issue.Issue.StartLocation.Column, issue.Issue.EndLocation.Line, issue.Issue.EndLocation.Column, issue.Issue.Boundary.Index, issue.Issue.Boundary.Length )); resultItem.Snippet = issue.TextSample; if (issue.Issue.Rule.Fixes != null) { resultItem.Fixes = GetFixits(issue); } resultItem.Locations = new List <CodeAnalysis.Sarif.Location>(); resultItem.Locations.Add(loc); _results.Add(resultItem); }
public override void WriteIssue(IssueRecord issue) { Result resultItem = new Result(); MapRuleToResult(issue.Issue.Rule, ref resultItem); AddRuleToSarifRule(issue.Issue.Rule); CodeAnalysis.Sarif.Location loc = new CodeAnalysis.Sarif.Location(); loc.PhysicalLocation = new PhysicalLocation() { Address = new Address() { FullyQualifiedName = Path.GetFullPath(issue.Filename) }, Region = new Region() { StartLine = issue.Issue.StartLocation.Line, StartColumn = issue.Issue.StartLocation.Column, EndLine = issue.Issue.EndLocation.Line, EndColumn = issue.Issue.EndLocation.Column, CharOffset = issue.Issue.Boundary.Index, CharLength = issue.Issue.Boundary.Length, Snippet = new ArtifactContent() { Text = issue.TextSample, Rendered = new MultiformatMessageString(issue.TextSample, $"`{issue.TextSample}`", null), }, SourceLanguage = issue.Language } }; if (issue.Issue.Rule.Fixes != null) { resultItem.Fixes = GetFixits(issue); } resultItem.Locations = new List <CodeAnalysis.Sarif.Location>(); resultItem.Locations.Add(loc); _results.Push(resultItem); }