package polyglot.util;
/** Information about an error message. */
public class ErrorInfo
{
public static final int WARNING = 0;
public static final int INTERNAL_ERROR = 1;
public static final int IO_ERROR = 2;
public static final int LEXICAL_ERROR = 3;
public static final int SYNTAX_ERROR = 4;
public static final int SEMANTIC_ERROR = 5;
public static final int POST_COMPILER_ERROR= 6;
protected int kind;
protected String message;
protected Position position;
public ErrorInfo(int kind, String message, Position position)
{
this.kind = kind;
this.message = message;
this.position = position;
}
public int getErrorKind()
{
return kind;
}
public String getMessage()
{
return message;
}
public Position getPosition()
{
return position;
}
public String getErrorString()
{
return getErrorString( kind);
}
public static String getErrorString( int kind)
{
switch( kind) {
case WARNING:
return "Warning";
case INTERNAL_ERROR:
return "Internal Error";
case IO_ERROR:
return "I/O Error";
case LEXICAL_ERROR:
return "Lexical Error";
case SYNTAX_ERROR:
return "Syntax Error";
case SEMANTIC_ERROR:
return "Semantic Error";
case POST_COMPILER_ERROR:
return "Post-compiler Error";
default:
return "(Unknown)";
}
}
}