public Type getType() { return fieldRef.type(); }
public Type getType() { return fieldRef.type(); }
public int getOutMachineCount() { return AbstractJasminClass.sizeOfType(fieldRef.type()); }
public int getInMachineCount() { return AbstractJasminClass.sizeOfType(fieldRef.type()); }
public int getOutMachineCount() { return AbstractJasminClass.sizeOfType(fieldRef.type()); }
public int getInMachineCount() { return AbstractJasminClass.sizeOfType(fieldRef.type()) + 1; }
public void outASigFieldRef(ASigFieldRef node) { SootFieldRef field = (SootFieldRef) mProductions.removeLast(); field = Scene.v().makeFieldRef(field.declaringClass(), field.name(), field.type(), true); mProductions.addLast(Jimple.v().newStaticFieldRef(field)); }
@Override public void caseStaticPutInst(StaticPutInst i) { SootFieldRef field = i.getFieldRef(); mv.visitFieldInsn(Opcodes.PUTSTATIC, slashify(field.declaringClass().getName()), field.name(), toTypeDesc(field.type())); }
@Override public void caseFieldPutInst(FieldPutInst i) { SootFieldRef field = i.getFieldRef(); mv.visitFieldInsn(Opcodes.PUTFIELD, slashify(field.declaringClass().getName()), field.name(), toTypeDesc(field.type())); }
@Override public void caseStaticGetInst(StaticGetInst i) { SootFieldRef field = i.getFieldRef(); mv.visitFieldInsn(Opcodes.GETSTATIC, slashify(field.declaringClass().getName()), field.name(), toTypeDesc(field.type())); }
@Override public void caseFieldGetInst(FieldGetInst i) { SootFieldRef field = i.getFieldRef(); mv.visitFieldInsn(Opcodes.GETFIELD, slashify(field.declaringClass().getName()), field.name(), toTypeDesc(field.type())); }
protected static FieldReference toFieldReference(SootFieldRef ref) { FieldReference fieldRef = new ImmutableFieldReference(SootToDexUtils.getDexClassName(ref.declaringClass().getName()), ref.name(), SootToDexUtils.getDexTypeDescriptor(ref.type())); return fieldRef; }
@Override public void caseStaticGetInst(StaticGetInst i) { SootFieldRef field = i.getFieldRef(); emit("getstatic " + slashify(field.declaringClass().getName()) + "/" + field.name() + " " + jasminDescriptorOf(field.type())); }
@Override public void caseFieldPutInst(FieldPutInst i) { emit("putfield " + slashify(i.getFieldRef().declaringClass().getName()) + "/" + i.getFieldRef().name() + " " + jasminDescriptorOf(i.getFieldRef().type())); }
@Override public void caseStaticPutInst(StaticPutInst i) { emit("putstatic " + slashify(i.getFieldRef().declaringClass().getName()) + "/" + i.getFieldRef().name() + " " + jasminDescriptorOf(i.getFieldRef().type())); }
@Override public void caseFieldGetInst(FieldGetInst i) { emit("getfield " + slashify(i.getFieldRef().declaringClass().getName()) + "/" + i.getFieldRef().name() + " " + jasminDescriptorOf(i.getFieldRef().type())); }