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 AbstractOpTypeBranchInst extends AbstractBranchInst 38 { 39 protected Type opType; 40 41 42 43 44 AbstractOpTypeBranchInst(Type opType, UnitBox targetBox) 45 { 46 super(targetBox); 47 if(opType instanceof NullType || opType instanceof ArrayType || opType instanceof RefType) 48 opType = RefType.v(); 49 50 51 this.opType = opType; 52 } 53 54 public int getInCount() 55 { 56 return 2; 57 } 58 59 public int getOutCount() 60 { 61 return 0; 62 } 63 64 public Type getOpType() 65 { 66 return opType; 67 } 68 69 public void setOpType(Type t) 70 { 71 opType = t; 72 if(opType instanceof NullType || opType instanceof ArrayType || opType instanceof RefType) 73 opType = RefType.v(); 74 } 75 76 77 public String toString() 78 { 79 return getName() + "." + Baf.bafDescriptorOf(opType)+ 81 " " + getTarget(); 82 83 } 84 public void toString( UnitPrinter up ) { 85 up.literal( getName() ); 86 up.literal( "." ); 87 up.literal( Baf.bafDescriptorOf(opType) ); 88 up.literal( " " ); 89 targetBox.toString(up); 90 } 91 } 92 93 | Popular Tags |