start of new file
[IRC.git] / Robust / src / IR / Flat / FlatOpNode.java
index 150b225b39f002316cd2316f8d86057049d440b3..5cd20068b18f8202fd36b5915253d7f482ac3edd 100644 (file)
@@ -15,28 +15,45 @@ public class FlatOpNode extends FlatNode {
        this.op=op;
     }
     
-    TempDescriptor getDest() {
+    public TempDescriptor getDest() {
        return dest;
     }
 
-    TempDescriptor getLeft() {
+    public TempDescriptor getLeft() {
        return left;
     }
 
-    TempDescriptor getRight() {
+    public TempDescriptor getRight() {
        return right;
     }
     
-    Operation getOp() {
+    public Operation getOp() {
        return op;
     }
 
     public String toString() {
+       String str = "FlatOpNode_"+dest.toString();
        if (right!=null)
-           return dest.toString()+"="+left.toString()+op.toString()+right.toString();
+           str += "="+left.toString()+op.toString()+right.toString();
        else if (op.getOp()==Operation.ASSIGN)
-           return dest.toString()+" = "+left.toString();
+           str += " = "+left.toString();
        else
-           return dest.toString()+" "+op.toString() +" "+left.toString();
+           str += " "+op.toString() +" "+left.toString();
+       return str;
+    }
+
+    public int kind() {
+       return FKind.FlatOpNode;
+    }
+
+    public TempDescriptor [] readsTemps() {
+       if (right!=null)
+           return new TempDescriptor [] {left,right};
+       else
+           return new TempDescriptor [] {left};
+    }
+
+    public TempDescriptor [] writesTemps() {
+       return new TempDescriptor [] {dest};
     }
 }