package soot.JastAddJ;
import java.util.HashSet;import java.util.LinkedHashSet;import java.io.File;import java.util.*;import beaver.*;import java.util.ArrayList;import java.util.zip.*;import java.io.*;import java.io.FileNotFoundException;import java.util.Collection;import soot.*;import soot.util.*;import soot.jimple.*;import soot.coffi.ClassFile;import soot.coffi.method_info;import soot.coffi.CONSTANT_Utf8_info;import soot.tagkit.SourceFileTag;import soot.coffi.CoffiMethodSource;
public class Problem extends java.lang.Object implements Comparable {
// Declared in ErrorCheck.jrag at line 73
public int compareTo(Object o) {
if(o instanceof Problem) {
Problem other = (Problem)o;
if(!fileName.equals(other.fileName))
return fileName.compareTo(other.fileName);
if(line != other.line)
return line - other.line;
return message.compareTo(other.message);
}
return 0;
}
// Declared in ErrorCheck.jrag at line 84
public static class Severity {
public static final Severity ERROR = new Severity();
public static final Severity WARNING = new Severity();
private Severity() { }
}
// Declared in ErrorCheck.jrag at line 89
public static class Kind {
public static final Kind OTHER = new Kind();
public static final Kind LEXICAL = new Kind();
public static final Kind SYNTACTIC = new Kind();
public static final Kind SEMANTIC = new Kind();
private Kind() { }
}
// Declared in ErrorCheck.jrag at line 96
protected int line = -1;
// Declared in ErrorCheck.jrag at line 97
public int line() { return line; }
// Declared in ErrorCheck.jrag at line 98
protected int column = -1;
// Declared in ErrorCheck.jrag at line 99
public int column() { return column; }
// Declared in ErrorCheck.jrag at line 100
protected int endLine = -1;
// Declared in ErrorCheck.jrag at line 101
public int endLine() { return endLine; }
// Declared in ErrorCheck.jrag at line 102
protected int endColumn = -1;
// Declared in ErrorCheck.jrag at line 103
public int endColumn() { return endColumn; }
// Declared in ErrorCheck.jrag at line 104
protected String fileName;
// Declared in ErrorCheck.jrag at line 105
public String fileName() { return fileName; }
// Declared in ErrorCheck.jrag at line 106
public void setFileName(String fileName) { this.fileName = fileName; }
// Declared in ErrorCheck.jrag at line 107
protected String message;
// Declared in ErrorCheck.jrag at line 108
public String message() { return message; }
// Declared in ErrorCheck.jrag at line 109
protected Severity severity = Severity.ERROR;
// Declared in ErrorCheck.jrag at line 110
public Severity severity() { return severity; }
// Declared in ErrorCheck.jrag at line 111
protected Kind kind = Kind.OTHER;
// Declared in ErrorCheck.jrag at line 112
public Kind kind() { return kind; }
// Declared in ErrorCheck.jrag at line 113
public Problem(String fileName, String message) {
this.fileName = fileName;
this.message = message;
}
// Declared in ErrorCheck.jrag at line 117
public Problem(String fileName, String message, int line) {
this(fileName, message);
this.line = line;
}
// Declared in ErrorCheck.jrag at line 121
public Problem(String fileName, String message, int line, Severity severity) {
this(fileName, message);
this.line = line;
this.severity = severity;
}
// Declared in ErrorCheck.jrag at line 126
public Problem(String fileName, String message, int line, int column, Severity severity) {
this(fileName, message);
this.line = line;
this.column = column;
this.severity = severity;
}
// Declared in ErrorCheck.jrag at line 132
public Problem(String fileName, String message, int line, Severity severity, Kind kind) {
this(fileName, message);
this.line = line;
this.kind = kind;
this.severity = severity;
}
// Declared in ErrorCheck.jrag at line 138
public Problem(String fileName, String message, int line, int column, Severity severity, Kind kind) {
this(fileName, message);
this.line = line;
this.column = column;
this.kind = kind;
this.severity = severity;
}
// Declared in ErrorCheck.jrag at line 145
public Problem(String fileName, String message, int line, int column, int endLine, int endColumn, Severity severity, Kind kind) {
this(fileName, message);
this.line = line;
this.column = column;
this.endLine = endLine;
this.endColumn = endColumn;
this.kind = kind;
this.severity = severity;
}
// Declared in ErrorCheck.jrag at line 154
public String toString() {
String location = "";
if(line != -1 && column != -1)
location = line + "," + column + ":";
else if(line != -1)
location = line + ":";
String s = "";
if(this.kind == Kind.LEXICAL)
s = "Lexical Error: ";
else if(this.kind == Kind.SYNTACTIC)
s = "Syntactic Error: ";
else if(this.kind == Kind.SEMANTIC)
s = "Semantic Error: ";
return fileName + ":" + location + "\n" + " " + s + message;
}
}