82471ed6738c053b1cab7ce8552b9d45665f29f5
[IRC.git] / Robust / src / IR / Flat / FlatCondBranch.java
1 package IR.Flat;
2 import java.util.Vector;
3
4 public class FlatCondBranch extends FlatNode {
5     TempDescriptor test_cond;
6
7     public FlatCondBranch(TempDescriptor td) {
8         test_cond=td;
9     }
10
11     public void addTrueNext(FlatNode n) {
12         if (next.size()==0)
13             next.setSize(1);
14         next.setElementAt(n,0);
15         n.addPrev(this);
16     }
17
18     public void addFalseNext(FlatNode n) {
19         next.setSize(2);
20         next.setElementAt(n,1);
21         n.addPrev(this);
22     }
23
24     public String toString() {
25         return "conditional branch";
26     }
27
28     public String toString(String negjump) {
29         return "if (!"+test_cond.toString()+") goto "+negjump;
30     }
31
32     public void addNext(FlatNode n) {
33         throw new Error();
34     }
35 }