X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FMicrosoft.Build.Utilities%2FMicrosoft.Build.Utilities%2FLogger.cs;h=ac1153bbddcda9436c133ee9be39b7ff8d42427e;hb=82e945bea3763efaa81d2d2222bedc0891fc66d0;hp=c7ccaec1630c500ee14e69dc063b87bb4cc2a134;hpb=f84f760a1c8a8c0ec6ae16b7f38d14a49d329ad7;p=mono.git diff --git a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/Logger.cs b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/Logger.cs index c7ccaec1630..ac1153bbddc 100644 --- a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/Logger.cs +++ b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/Logger.cs @@ -28,6 +28,7 @@ #if NET_2_0 using System; +using System.Text; using Microsoft.Build.Framework; namespace Microsoft.Build.Utilities @@ -59,20 +60,49 @@ namespace Microsoft.Build.Utilities } } - [MonoTODO] public virtual string FormatErrorEvent (BuildErrorEventArgs args) { - return String.Format ("{0}({1},{2},{3},{4}): {5} error {6}: {7}", - args.File, args.LineNumber, args.ColumnNumber, args.EndLineNumber, args.EndColumnNumber, - args.Subcategory, args.Code, args.Message); + StringBuilder sb = new StringBuilder (); + + sb.Append (args.File); + AppendLineNumbers (sb, args.LineNumber, args.ColumnNumber, args.EndLineNumber, args.EndColumnNumber); + sb.Append (": "); + sb.Append (args.Subcategory); + sb.Append (" error "); + sb.Append (args.Code); + sb.Append (": "); + sb.Append (args.Message); + + return sb.ToString (); } - [MonoTODO] public virtual string FormatWarningEvent (BuildWarningEventArgs args) { - return String.Format ("{0}({1},{2},{3},{4}): {5} warning {6}: {7}", - args.File, args.LineNumber, args.ColumnNumber, args.EndLineNumber, args.EndColumnNumber, - args.Subcategory, args.Code, args.Message); + StringBuilder sb = new StringBuilder (); + + sb.Append (args.File); + AppendLineNumbers (sb, args.LineNumber, args.ColumnNumber, args.EndLineNumber, args.EndColumnNumber); + sb.Append (": "); + sb.Append (args.Subcategory); + sb.Append (" warning "); + sb.Append (args.Code); + sb.Append (": "); + sb.Append (args.Message); + + return sb.ToString (); + } + + void AppendLineNumbers (StringBuilder sb, int line, int column, int endLine, int endColumn) + { + if (line != 0 && column != 0 && endLine != 0 && endColumn != 0) { + sb.AppendFormat ("({0},{1},{2},{3})", line, column, endLine, endColumn); + } else if (line != 0 && column != 0) { + sb.AppendFormat ("({0},{1})", line, column); + } else if (line != 0) { + sb.AppendFormat ("({0})", line); + } else { + sb.Append (" "); + } } public abstract void Initialize (IEventSource eventSource); @@ -89,4 +119,4 @@ namespace Microsoft.Build.Utilities } } -#endif \ No newline at end of file +#endif