package uva.ql.interpreter.typecheck.error; import uva.ql.ast.CodeLines; public class IssueObject { private IssueType.ERROR issueTypeError; private IssueType.WARNING issueTypeWarning; private CodeLines codeLines; private Object object; public IssueObject(IssueType.ERROR issueType, Object object, CodeLines codeLines){ this.issueTypeError = issueType; this.object = object; this.codeLines = codeLines; } public IssueObject(IssueType.WARNING issueType, Object object, CodeLines codeLines){ this.issueTypeWarning = issueType; this.object = object; this.codeLines = codeLines; } public boolean issueIsError(){ return this.issueTypeError != null; } public boolean issueIsWarning(){ return this.issueTypeWarning != null; } public boolean isOfErrorType(IssueType.ERROR error){ if (error == null){ return false; } return this.issueTypeError == error; } @Override public String toString(){ if (this.issueTypeError != null){ return "Error of type: " + this.issueTypeError + "," + this.object + ", at code lines: " + this.codeLines + ")"; } else { return "Warning of type: " + this.issueTypeWarning + "," + this.object + ", at code lines: " + this.codeLines + ")"; } } }