1 19 20 25 26 27 28 29 30 package soot.baf.internal; 31 32 import soot.*; 33 import soot.baf.*; 34 import soot.baf.*; 35 import soot.util.*; 36 import java.util.*; 37 38 public class BLoadInst extends AbstractOpTypeInst implements LoadInst 39 { 40 ValueBox localBox; 41 List useBoxes; 42 43 44 public BLoadInst(Type opType, Local local) 45 { 46 super(opType); 47 localBox = new BafLocalBox(local); 48 useBoxes = new ArrayList(); 49 useBoxes.add(localBox); 50 useBoxes = Collections.unmodifiableList(useBoxes); 51 } 52 53 public int getInCount() 54 { 55 return 0; 56 } 57 58 public Object clone() 59 { 60 return new BLoadInst(getOpType(), getLocal()); 61 } 62 63 public int getInMachineCount() 64 { 65 return 0; 66 } 67 68 public int getOutCount() 69 { 70 return 1; 71 } 72 73 74 75 76 77 final public String getName() { return "load"; } 78 final String getParameters() 79 { return " "+ localBox.getValue().toString(); } 80 protected void getParameters( UnitPrinter up ) { 81 up.literal(" "); 82 localBox.toString(up); 83 } 84 85 public void apply(Switch sw) 86 { 87 ((InstSwitch) sw).caseLoadInst(this); 88 } 89 90 public void setLocal(Local l) 91 { 92 localBox.setValue(l); 93 } 94 95 public Local getLocal() 96 { 97 return (Local) localBox.getValue(); 98 } 99 100 public List getUseBoxes() 101 { 102 return useBoxes; 103 } 104 105 106 107 108 } 109 | Popular Tags |