示例#1
0
 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)
 {
 }
示例#2
0
 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)
 {
 }
示例#3
0
 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)
 {
 }
示例#4
0
        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);
        }