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 BStaticGetInst extends AbstractInst implements StaticGetInst 39 { 40 SootFieldRef fieldRef; 41 42 public BStaticGetInst(SootFieldRef fieldRef) 43 { 44 if( !fieldRef.isStatic() ) throw new RuntimeException ("wrong static-ness"); 45 this.fieldRef = fieldRef; 46 } 47 48 public int getInCount() 49 { 50 return 0; 51 } 52 53 public Object clone() 54 { 55 return new BStaticGetInst(fieldRef); 56 } 57 58 public int getInMachineCount() 59 { 60 return 0; 61 } 62 63 public int getOutCount() 64 { 65 return 1; 66 } 67 68 public int getOutMachineCount() 69 { 70 return JasminClass.sizeOfType(fieldRef.type()); 71 } 72 73 final public String getName() { return "staticget"; } 74 final String getParameters() 75 { 76 return " " + fieldRef.getSignature(); 77 } 78 79 protected void getParameters(UnitPrinter up) { 80 up.literal(" "); 81 up.fieldRef(fieldRef); 82 } 83 84 public SootFieldRef getFieldRef() { return fieldRef; } 85 public SootField getField() { return fieldRef.resolve(); } 86 87 public void apply(Switch sw) 88 { 89 ((InstSwitch) sw).caseStaticGetInst(this); 90 } 91 public boolean containsFieldRef() { return true; } 92 } 93 | Popular Tags |