1 20 21 26 27 28 29 30 31 package soot.baf.internal; 32 33 import soot.*; 34 import soot.baf.*; 35 import soot.baf.*; 36 import soot.util.*; 37 import java.util.*; 38 39 public class BStaticPutInst extends AbstractInst implements StaticPutInst 40 { 41 SootFieldRef fieldRef; 42 43 public BStaticPutInst(SootFieldRef fieldRef) 44 { 45 if( !fieldRef.isStatic() ) throw new RuntimeException ("wrong static-ness"); 46 this.fieldRef = fieldRef; 47 } 48 49 50 public int getInCount() 51 { 52 return 1; 53 } 54 55 56 57 public Object clone() 58 { 59 return new BStaticPutInst(fieldRef); 60 } 61 62 63 64 public int getInMachineCount() 65 { 66 return JasminClass.sizeOfType(fieldRef.type()); 67 } 68 69 public int getOutCount() 70 { 71 return 0; 72 } 73 74 public int getOutMachineCount() 75 { 76 return 0; 77 } 78 79 final public String getName() { return "staticput"; } 80 final String getParameters() 81 { 82 return " " + fieldRef.getSignature(); 83 } 84 protected void getParameters(UnitPrinter up) { 85 up.literal(" "); 86 up.fieldRef(fieldRef); 87 } 88 89 public SootFieldRef getFieldRef() { return fieldRef; } 90 public SootField getField() { return fieldRef.resolve(); } 91 92 public void apply(Switch sw) 93 { 94 ((InstSwitch) sw).caseStaticPutInst(this); 95 } 96 public boolean containsFieldRef() { return true; } 97 } 98 | Popular Tags |