2 import java.util.Vector;
5 public class FlatOpNode extends FlatNode {
11 public FlatOpNode(TempDescriptor dest, TempDescriptor left, TempDescriptor right, Operation op) {
18 public TempDescriptor getDest() {
22 public TempDescriptor getLeft() {
26 public TempDescriptor getRight() {
30 public Operation getOp() {
34 public String toString() {
35 String str = "FlatOpNode_"+dest.toString();
37 str += "="+left.toString()+op.toString()+right.toString();
38 else if (op.getOp()==Operation.ASSIGN)
39 str += " = "+left.toString();
41 str += " "+op.toString() +" "+left.toString();
46 return FKind.FlatOpNode;
49 public TempDescriptor [] readsTemps() {
51 return new TempDescriptor [] {left,right};
53 return new TempDescriptor [] {left};
56 public TempDescriptor [] writesTemps() {
57 return new TempDescriptor [] {dest};