public override void WriteIssue()

in DevSkim-DotNet/Microsoft.DevSkim.CLI/Writers/JsonWriter.cs [31:65]


        public override void WriteIssue(IssueRecord issue)
        {
            Dictionary<string, object> item = new Dictionary<string, object>();

            if (_formatString.Contains("%F"))
                item.Add("filename", issue.Filename);
            if (_formatString.Contains("%L"))
                item.Add("start_line", issue.Issue.StartLocation.Line);
            if (_formatString.Contains("%C"))
                item.Add("start_column", issue.Issue.StartLocation.Column);
            if (_formatString.Contains("%l"))
                item.Add("end_line", issue.Issue.EndLocation.Line);
            if (_formatString.Contains("%c"))
                item.Add("end_column", issue.Issue.EndLocation.Column);
            if (_formatString.Contains("%I"))
                item.Add("match_index", issue.Issue.Boundary.Index);
            if (_formatString.Contains("%i"))
                item.Add("match_length", issue.Issue.Boundary.Length);
            if (_formatString.Contains("%R"))
                item.Add("rule_id", issue.Issue.Rule.Id);
            if (_formatString.Contains("%N"))
                item.Add("rule_name", issue.Issue.Rule.Name ?? string.Empty);
            if (_formatString.Contains("%S"))
                item.Add("severity", issue.Issue.Rule.Severity);
            if (_formatString.Contains("%D"))
                item.Add("description", issue.Issue.Rule.Description ?? string.Empty);
            if (_formatString.Contains("%m"))
                item.Add("match", issue.TextSample);
            if (_formatString.Contains("%T"))
                item.Add("tags", issue.Issue.Rule.Tags ?? new List<string>());
            if (_formatString.Contains("%f"))
                item.Add("fixes", issue.Issue.Rule.Fixes ?? new List<CodeFix>());
            // Store the result in the result list
            jsonResult.Push(item);
        }