mirror of https://github.com/icsharpcode/ILSpy.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.5 KiB
60 lines
1.5 KiB
// <file> |
|
// <copyright see="prj:///doc/copyright.txt"/> |
|
// <license see="prj:///doc/license.txt"/> |
|
// <owner name="none" email=""/> |
|
// <version>$Revision$</version> |
|
// </file> |
|
|
|
using System; |
|
using System.Text; |
|
|
|
namespace ICSharpCode.NRefactory.Parser |
|
{ |
|
public delegate void ErrorCodeProc(int line, int col, int n); |
|
public delegate void ErrorMsgProc(int line, int col, string msg); |
|
|
|
public class Errors |
|
{ |
|
int count = 0; // number of errors detected |
|
public ErrorCodeProc SynErr; |
|
public ErrorCodeProc SemErr; |
|
public ErrorMsgProc Error; |
|
StringBuilder errorText = new StringBuilder(); |
|
|
|
public string ErrorOutput { |
|
get { |
|
return errorText.ToString(); |
|
} |
|
} |
|
|
|
public Errors() |
|
{ |
|
SynErr = new ErrorCodeProc(DefaultCodeError); // syntactic errors |
|
SemErr = new ErrorCodeProc(DefaultCodeError); // semantic errors |
|
Error = new ErrorMsgProc(DefaultMsgError); // user defined string based errors |
|
} |
|
|
|
public int Count { |
|
get { |
|
return count; |
|
} |
|
} |
|
|
|
// public void Exception (string s) |
|
// { |
|
// Console.WriteLine(s); |
|
// System.Environment.Exit(0); |
|
// } |
|
|
|
void DefaultCodeError(int line, int col, int n) |
|
{ |
|
errorText.AppendLine(String.Format("-- line {0} col {1}: error {2}", line, col, n)); |
|
count++; |
|
} |
|
|
|
void DefaultMsgError(int line, int col, string s) { |
|
errorText.AppendLine(String.Format("-- line {0} col {1}: {2}", line, col, s)); |
|
count++; |
|
} |
|
} // Errors |
|
}
|
|
|