start of new file
[IRC.git] / Robust / src / IR / Tree / OpNode.java
index 3b80faba71228806e797dcf995d698e00c516302..c7bdd814451a36277632db4579e9fcd4b158196b 100644 (file)
@@ -1,10 +1,14 @@
 package IR.Tree;
 import IR.Operation;
+import IR.TypeDescriptor;
 
 public class OpNode extends ExpressionNode {
     ExpressionNode left;
     ExpressionNode right;
     Operation op;
+    TypeDescriptor td;
+    TypeDescriptor lefttype;
+    TypeDescriptor righttype;
 
     public OpNode(ExpressionNode l, ExpressionNode r, Operation o) {
        left=l;
@@ -36,6 +40,31 @@ public class OpNode extends ExpressionNode {
        else
            return left.printNode(indent)+" "+op.toString()+" "+right.printNode(indent);
     }
+
+    public void setLeftType(TypeDescriptor argtype) {
+       this.lefttype=argtype;
+    }
+
+    public TypeDescriptor getLeftType() {
+       return lefttype;
+    }
+
+    public void setRightType(TypeDescriptor argtype) {
+       this.righttype=argtype;
+    }
+
+    public TypeDescriptor getRightType() {
+       return righttype;
+    }
+
+    public TypeDescriptor getType() {
+       return td;
+    }
+
+    public void setType(TypeDescriptor td) {
+       this.td=td;
+    }
+
     public int kind() {
        return Kind.OpNode;
     }