1 19 20 25 26 27 28 29 30 package soot.baf.internal; 31 32 import soot.*; 33 import soot.baf.*; 34 import soot.jimple.*; 35 import soot.util.*; 36 import java.util.*; 37 38 public class BPushInst extends AbstractInst implements PushInst 39 { 40 private Constant constant; 41 42 public BPushInst(Constant c) 43 { 44 this.constant = c; 45 } 46 47 48 public Object clone() 49 { 50 return new BPushInst(getConstant()); 51 } 52 53 54 final public String getName() { return "push"; } 55 final String getParameters() 56 { 57 return " "+constant.toString(); 58 } 59 60 protected void getParameters( UnitPrinter up ) { 61 up.literal(" "); 62 up.constant(constant); 63 } 64 65 public int getInCount() 66 { 67 return 0; 68 } 69 70 public int getInMachineCount() 71 { 72 return 0; 73 } 74 75 public int getOutCount() 76 { 77 return 1; 78 } 79 80 public int getOutMachineCount() 81 { 82 if(constant instanceof LongConstant || constant instanceof DoubleConstant) 83 return 2; 84 else 85 return 1; 86 } 87 88 89 public void apply(Switch sw) 90 { 91 ((InstSwitch) sw).casePushInst(this); 92 } 93 94 public Constant getConstant() 95 { 96 return constant; 97 } 98 99 public void setConstant(Constant c) 100 { 101 this.constant = c; 102 } 103 } 104 | Popular Tags |