public GetMessageTemplate ( bool verbose ) : Template | ||
verbose | bool | |
Résultat | Template |
public virtual Template GetMessageTemplate(bool verbose)
{
Template messageST = new Template(GetErrorType().msg);
messageST.impl.Name = errorType.Name;
messageST.Add("verbose", verbose);
object[] args = GetArgs();
for (int i = 0; i < args.Length; i++)
{
string attr = "arg";
if (i > 0)
attr += i + 1;
messageST.Add(attr, args[i]);
}
if (args.Length < 2)
messageST.Add("arg2", null); // some messages ref arg2
Exception cause = GetCause();
if (cause != null)
{
messageST.Add("exception", cause);
messageST.Add("stackTrace", cause.StackTrace);
}
else
{
messageST.Add("exception", null); // avoid ST error msg
messageST.Add("stackTrace", null);
}
return messageST;
}
public virtual Template GetMessageTemplate(ANTLRMessage msg) { Template messageST = msg.GetMessageTemplate(tool.longMessages); Template locationST = GetLocationFormat(); Template reportST = GetReportFormat(msg.GetErrorType().severity); Template messageFormatST = GetMessageFormat(); bool locationValid = false; if (msg.line != -1) { locationST.Add("line", msg.line); locationValid = true; } if (msg.charPosition != -1) { locationST.Add("column", msg.charPosition); locationValid = true; } if (msg.fileName != null) { string f = msg.fileName; // Don't show path to file in messages; too long. string displayFileName = msg.fileName; if (File.Exists(f)) { displayFileName = Path.GetFileName(f); } locationST.Add("file", displayFileName); locationValid = true; } messageFormatST.Add("id", msg.GetErrorType().code); messageFormatST.Add("text", messageST); if (locationValid) { reportST.Add("location", locationST); } reportST.Add("message", messageFormatST); //((DebugST)reportST).inspect(); // reportST.impl.dump(); return(reportST); }