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 AbstractOpTypeInst extends AbstractInst 38 { 39 protected Type opType; 40 41 protected AbstractOpTypeInst(Type opType) 42 { 43 if(opType instanceof NullType || opType instanceof ArrayType || opType instanceof RefType) 44 opType = RefType.v(); 45 46 this.opType = opType; 47 } 48 49 public Type getOpType() 50 { 51 return opType; 52 } 53 54 public void setOpType(Type t) 55 { 56 opType = t; 57 if(opType instanceof NullType || opType instanceof ArrayType || opType instanceof RefType) 58 opType = RefType.v(); 59 } 60 61 62 public String toString() 63 { 64 return getName() + "." + 65 Baf.bafDescriptorOf(opType) + getParameters(); 66 } 67 68 public void toString(UnitPrinter up) { 69 up.literal(getName()); 70 up.literal("."); 71 up.literal(Baf.bafDescriptorOf(opType)); 72 getParameters(up); 73 } 74 75 76 77 78 79 public int getOutMachineCount() 80 { 81 return JasminClass.sizeOfType(getOpType()); 82 } 83 84 } 85 | Popular Tags |