49f52b581d04f9e554e9d9272022cb48f43fd655
[repair.git] / Repair / RepairCompiler / MCC / IR / IntegerLiteralExpr.java
1 package MCC.IR;
2
3 public class IntegerLiteralExpr extends LiteralExpr {
4
5     int value;
6
7     public IntegerLiteralExpr(int value) {
8         this.value = value; 
9         td = ReservedTypeDescriptor.INT;
10     }
11
12     public abstract boolean equals(Map remap, Expr e) {
13         if (e==null)
14             return false;
15         else if (!e instanceof IntegerLiteralExpr)
16             return false;
17         else return (((IntegerLiteralExpr)e).value==value);
18     }
19
20     public int getValue() {
21         return value;
22     }
23
24     public void generate(CodeWriter writer, VarDescriptor dest) {
25         writer.outputline("int " + dest.getSafeSymbol() + " = " + value + ";");
26     }
27
28     public void prettyPrint(PrettyPrinter pp) {
29         pp.output("" + value);
30     }
31
32     public TypeDescriptor typecheck(SemanticAnalyzer sa) {
33         td = ReservedTypeDescriptor.INT;
34         return td;
35     }
36
37 }