1 19 20 25 26 27 28 29 30 package soot.baf.internal; 31 32 import soot.*; 33 import soot.baf.*; 34 import soot.util.*; 35 import java.util.*; 36 37 public abstract class AbstractBranchInst extends AbstractInst 38 { 39 UnitBox targetBox; 40 41 List targetBoxes; 42 43 AbstractBranchInst(UnitBox targetBox) 44 { 45 this.targetBox = targetBox; 46 47 targetBoxes = new SingletonList(this.targetBox); 48 } 49 50 abstract public String getName(); 51 52 public String toString() 53 { 54 return getName() + " " + getTarget(); 55 } 56 57 public void toString( UnitPrinter up ) { 58 up.literal( getName() ); 59 up.literal(" "); 60 targetBox.toString( up ); 61 } 62 63 public Unit getTarget() 64 { 65 return targetBox.getUnit(); 66 } 67 68 public void setTarget(Unit target) 69 { 70 targetBox.setUnit(target); 71 } 72 73 public UnitBox getTargetBox() 74 { 75 return targetBox; 76 } 77 78 public List getUnitBoxes() 79 { 80 return targetBoxes; 81 } 82 83 abstract public void apply(Switch sw); 84 85 86 public boolean branches() 87 { 88 return true; 89 } 90 91 92 } 93 94 | Popular Tags |