3 using System.Collections.Generic;
6 using SiliconStudio.Shaders.Ast;
8 namespace SiliconStudio.Shaders.Utility
20 this.Messages =
new List<ReportMessage>();
29 public bool HasErrors {
get; set; }
37 public IList<ReportMessage> Messages {
get;
private set; }
46 foreach (var reportMessage
in this.Messages)
48 if (reportMessage.Level >= level)
50 writer.WriteLine(reportMessage);
61 foreach (var reportMessage
in this.Messages)
63 results.Messages.Add(reportMessage);
67 results.HasErrors =
true;
77 this.AddMessage(ReportMessageLevel.Error, message, span);
88 this.AddMessage(ReportMessageLevel.Error, message, span, parameters);
98 this.AddMessage(ReportMessageLevel.Info, message, span);
109 this.AddMessage(ReportMessageLevel.Info, message, span, parameters);
119 this.AddMessage(ReportMessageLevel.Warning, message, span);
130 this.AddMessage(ReportMessageLevel.Warning, message, span, parameters);
155 this.Messages.Add(
new ReportMessage(level, message.
Code,
string.Format(message.
Text, parameters), span));
160 var text =
new StringBuilder();
163 foreach (var reportMessage
in Messages)
165 text.AppendLine(reportMessage.ToString());
170 text.AppendLine(
"Ok");
172 return text.ToString();
void CopyTo(LoggerResult results)
Copies all messages to another instance.
void Error(MessageCode message, SourceSpan span)
Logs an Error with the specified message.
A class to collect parsing/expression messages.
void AddMessage(ReportMessageLevel level, MessageCode message, SourceSpan span)
Adds the message.
void Warning(MessageCode message, SourceSpan span, params object[] parameters)
Logs an Warning with the specified message.
void Warning(MessageCode message, SourceSpan span)
Logs an Warning with the specified message.
override string ToString()
ReportMessageLevel
Level of a ReportMessage.
void DumpMessages(ReportMessageLevel level, TextWriter writer)
Dumps the messages.
void Info(MessageCode message, SourceSpan span)
Logs an Info with the specified message.
void Info(MessageCode message, SourceSpan span, params object[] parameters)
Logs an Info with the specified message.
void AddMessage(ReportMessageLevel level, MessageCode message, SourceSpan span, params object[] parameters)
Adds the message.
LoggerResult()
Initializes a new instance of the LoggerResult class.
void Error(MessageCode message, SourceSpan span, params object[] parameters)
Logs an Error with the specified message.