public Read ( Context context, Stream input ) : void | ||
context | Context | |
input | Stream | |
return | void |
/// <summary> /// Convert FxCop log to SARIF format stream /// </summary> /// <param name="input">FxCop log stream</param> /// <param name="output">output stream</param> public void Convert(Stream input, IResultLogWriter output) { if (input == null) { throw (new ArgumentNullException("input")); } if (output == null) { throw (new ArgumentNullException("output")); } ToolInfo toolInfo = new ToolInfo(); RunInfo runInfo = new RunInfo(); toolInfo.Name = "FxCop"; output.WriteToolAndRunInfo(toolInfo, runInfo); var context = new FxCopLogReader.Context(); var reader = new FxCopLogReader(); reader.IssueRead += (FxCopLogReader.Context current) => { output.WriteResult(CreateIssue(current)); }; reader.Read(context, input); }
/// <summary> /// Convert FxCop log to SARIF format stream /// </summary> /// <param name="input">FxCop log stream</param> /// <param name="output">output stream</param> /// <param name="dataToInsert">Optionally emitted properties that should be written to log.</param> public override void Convert(Stream input, IResultLogWriter output, OptionallyEmittedData dataToInsert) { if (input == null) { throw (new ArgumentNullException(nameof(input))); } if (output == null) { throw (new ArgumentNullException(nameof(output))); } LogicalLocationsDictionary.Clear(); var context = new FxCopLogReader.Context(); var results = new List <Result>(); var reader = new FxCopLogReader(); reader.ResultRead += (FxCopLogReader.Context current) => { results.Add(CreateResult(current)); }; reader.Read(context, input); Tool tool = new Tool { Name = "FxCop" }; var fileInfoFactory = new FileInfoFactory(MimeType.DetermineFromFileExtension, dataToInsert); Dictionary <string, FileData> fileDictionary = fileInfoFactory.Create(results); var run = new Run() { Tool = tool }; output.Initialize(run); if (fileDictionary != null && fileDictionary.Any()) { output.WriteFiles(fileDictionary); } if (LogicalLocationsDictionary != null && LogicalLocationsDictionary.Any()) { output.WriteLogicalLocations(LogicalLocationsDictionary); } output.OpenResults(); output.WriteResults(results); output.CloseResults(); }
/// <summary> /// Convert FxCop log to SARIF format stream /// </summary> /// <param name="input">FxCop log stream</param> /// <param name="output">output stream</param> public override void Convert(Stream input, IResultLogWriter output) { if (input == null) { throw (new ArgumentNullException(nameof(input))); } if (output == null) { throw (new ArgumentNullException(nameof(output))); } LogicalLocationsDictionary.Clear(); var context = new FxCopLogReader.Context(); var results = new List<Result>(); var reader = new FxCopLogReader(); reader.ResultRead += (FxCopLogReader.Context current) => { results.Add(CreateResult(current)); }; reader.Read(context, input); Tool tool = new Tool { Name = "FxCop" }; var fileInfoFactory = new FileInfoFactory(MimeType.DetermineFromFileExtension); Dictionary<string, FileData> fileDictionary = fileInfoFactory.Create(results); output.Initialize(id: null, correlationId: null); output.WriteTool(tool); if (fileDictionary != null && fileDictionary.Any()) { output.WriteFiles(fileDictionary); } if (LogicalLocationsDictionary != null && LogicalLocationsDictionary.Any()) { output.WriteLogicalLocations(LogicalLocationsDictionary); } output.OpenResults(); output.WriteResults(results); output.CloseResults(); }
/// <summary> /// Convert FxCop log to SARIF format stream /// </summary> /// <param name="input">FxCop log stream</param> /// <param name="output">output stream</param> /// <param name="dataToInsert">Optionally emitted properties that should be written to log.</param> public override void Convert(Stream input, IResultLogWriter output, OptionallyEmittedData dataToInsert) { if (input == null) { throw (new ArgumentNullException(nameof(input))); } if (output == null) { throw (new ArgumentNullException(nameof(output))); } LogicalLocations.Clear(); var context = new FxCopLogReader.Context(); var results = new List <Result>(); var rules = new List <ReportingDescriptor>(); var reader = new FxCopLogReader(); reader.RuleRead += (FxCopLogReader.Context current) => { rules.Add(CreateRule(current)); }; reader.ResultRead += (FxCopLogReader.Context current) => { results.Add(CreateResult(current)); }; reader.Read(context, input); var run = new Run() { Tool = new Tool { Driver = new ToolComponent { Name = ToolName, Rules = rules } }, }; PersistResults(output, results, run); output.WriteLogicalLocations(LogicalLocations); }
/// <summary> /// Convert FxCop log to SARIF format stream /// </summary> /// <param name="input">FxCop log stream</param> /// <param name="output">output stream</param> public void Convert(Stream input, IResultLogWriter output) { if (input == null) { throw (new ArgumentNullException("input")); } if (output == null) { throw (new ArgumentNullException("output")); } var context = new FxCopLogReader.Context(); var results = new List <Result>(); var reader = new FxCopLogReader(); reader.IssueRead += (FxCopLogReader.Context current) => { results.Add(CreateIssue(current)); }; reader.Read(context, input); Tool tool = new Tool { Name = "FxCop" }; var fileInfoFactory = new FileInfoFactory(MimeType.DetermineFromFileExtension); Dictionary <string, IList <FileData> > fileDictionary = fileInfoFactory.Create(results); output.WriteTool(tool); if (fileDictionary != null && fileDictionary.Count > 0) { output.WriteFiles(fileDictionary); } output.OpenResults(); output.WriteResults(results); output.CloseResults(); }