Kaynağa Gözat

C#: Fix null exception in our MSBuild logger

(cherry picked from commit 7eed8c5a0c55b01330fa3ae47a4f71f0e3532314)
Ignacio Etcheverry 5 yıl önce
ebeveyn
işleme
a7bd28760e

+ 6 - 4
modules/mono/editor/GodotTools/GodotTools.BuildLogger/GodotBuildLogger.cs

@@ -70,13 +70,14 @@ namespace GodotTools.BuildLogger
         {
             string line = $"{e.File}({e.LineNumber},{e.ColumnNumber}): error {e.Code}: {e.Message}";
 
-            if (e.ProjectFile.Length > 0)
+            if (!string.IsNullOrEmpty(e.ProjectFile))
                 line += $" [{e.ProjectFile}]";
 
             WriteLine(line);
 
             string errorLine = $@"error,{e.File.CsvEscape()},{e.LineNumber},{e.ColumnNumber}," +
-                               $@"{e.Code.CsvEscape()},{e.Message.CsvEscape()},{e.ProjectFile.CsvEscape()}";
+                               $"{e.Code?.CsvEscape() ?? string.Empty},{e.Message.CsvEscape()}," +
+                               $"{e.ProjectFile?.CsvEscape() ?? string.Empty}";
             issuesStreamWriter.WriteLine(errorLine);
         }
 
@@ -89,8 +90,9 @@ namespace GodotTools.BuildLogger
 
             WriteLine(line);
 
-            string warningLine = $@"warning,{e.File.CsvEscape()},{e.LineNumber},{e.ColumnNumber},{e.Code.CsvEscape()}," +
-                                 $@"{e.Message.CsvEscape()},{(e.ProjectFile != null ? e.ProjectFile.CsvEscape() : string.Empty)}";
+            string warningLine = $@"warning,{e.File.CsvEscape()},{e.LineNumber},{e.ColumnNumber}," +
+                                 $"{e.Code?.CsvEscape() ?? string.Empty},{e.Message.CsvEscape()}," +
+                                 $"{e.ProjectFile?.CsvEscape() ?? string.Empty}";
             issuesStreamWriter.WriteLine(warningLine);
         }