public DiagnosticMessage(string message, string filePath, DiagnosticMessageSeverity severity, int startLine, int startColumn) : this( message, $"{filePath}({startLine},{startColumn}): {severity.ToString().ToLowerInvariant()}: {message}", filePath, severity, startLine, startColumn, endLine : startLine, endColumn : startColumn) { }
public DiagnosticMessage(string errorCode, string message, string filePath, DiagnosticMessageSeverity severity, int startLine, int startColumn, object source) : this(errorCode, message, $"{filePath}({startLine},{startColumn}): {severity.ToString().ToLowerInvariant()} {errorCode}: {message}", filePath, severity, startLine, startColumn, endLine: startLine, endColumn: startColumn, source: source) { }
public DiagnosticMessage(string errorCode, string message, string filePath, DiagnosticMessageSeverity severity, int startLine, int startColumn, object source) : this( errorCode, message, $"{filePath}({startLine},{startColumn}): {severity.ToString().ToLowerInvariant()} {errorCode}: {message}", filePath, severity, startLine, startColumn, endLine : startLine, endColumn : startColumn, source : source) { }
public ITaskItem Add( string diagnosticCode, string message, string filePath, DiagnosticMessageSeverity severity, int startLine, int startColumn, int endLine, int endColumn, string targetFrameworkMoniker, string packageId, bool logToMSBuild = true) { string itemspec = (string.IsNullOrEmpty(targetFrameworkMoniker) ? string.Empty : $"{targetFrameworkMoniker}/") + (string.IsNullOrEmpty(packageId) ? string.Empty : $"{packageId}/") + diagnosticCode; var diagnostic = new TaskItem(itemspec, new Dictionary <string, string> { { MetadataKeys.DiagnosticCode, diagnosticCode }, { MetadataKeys.Message, message }, { MetadataKeys.FilePath, filePath ?? string.Empty }, { MetadataKeys.Severity, severity.ToString() }, { MetadataKeys.StartLine, startLine.ToString() }, { MetadataKeys.StartColumn, startColumn.ToString() }, { MetadataKeys.EndLine, endLine.ToString() }, { MetadataKeys.EndColumn, endColumn.ToString() }, { MetadataKeys.ParentTarget, targetFrameworkMoniker ?? string.Empty }, { MetadataKeys.ParentPackage, packageId ?? string.Empty }, }); _diagnosticMessages.Add(diagnostic); if (logToMSBuild) { LogToMSBuild(diagnosticCode, message, filePath, severity, startLine, startColumn, endLine, endColumn); } return(diagnostic); }