package uva.qls.ast.literal; import uva.qls.ast.statements.visitor.StatementVisitor; import uva.qls.ast.value.*; import uva.qls.ast.CodeLines; public class IntLiteral extends Literal { private Integer value; public IntLiteral(Integer _value, CodeLines _codeLines){ super(_codeLines); this.value=_value; } public IntLiteral(CodeLines _codeLines){ super(_codeLines); } @Override public <T> T accept(StatementVisitor<T> visitor) { return visitor.visitIntLiteral(this); } @Override public NumberValue evaluate() { return new NumberValue(this.value); } @Override public String toString(){ if (this.value == null) return "IntegerLiteral()"; else return "IntegerLiteral(" + this.value + ")"; } }