2 import java.util.Vector;
4 public class FlatCondBranch extends FlatNode {
5 TempDescriptor test_cond;
9 public FlatCondBranch(TempDescriptor td) {
12 public void rewriteDef(TempMap t) {
14 public void rewriteUse(TempMap t) {
15 test_cond=t.tempMap(test_cond);
18 public FlatNode clone(TempMap t) {
19 FlatCondBranch fcb=new FlatCondBranch(t.tempMap(test_cond));
20 fcb.trueprob=trueprob;
25 public void setLoop() {
29 public boolean isLoopBranch() {
33 public void setTrueProb(double p) {
37 public double getTrueProb() {
41 public double getFalseProb() {
45 public void addTrueNext(FlatNode n) {
48 next.setElementAt(n,0);
52 public void addFalseNext(FlatNode n) {
54 next.setElementAt(n,1);
58 public TempDescriptor getTest() {
62 public String toString() {
63 return "conditional branch("+test_cond.toString()+")";
66 public String toString(String negjump) {
67 return "FlatCondBranch_if (!"+test_cond.toString()+") goto "+negjump;
70 public void addNext(FlatNode n) {
75 return FKind.FlatCondBranch;
78 public TempDescriptor [] readsTemps() {
79 return new TempDescriptor[] {test_cond};