public DStaticFieldRef(SootFieldRef fieldRef, String myClassName) { super(fieldRef); supressDeclaringClass = myClassName.equals(fieldRef.declaringClass().getName()); }
public void fieldRef(SootFieldRef f) { handleIndent(); if (baf || f.resolve().isStatic()) { output.append(f.declaringClass().getName()); literal("."); } output.append(f.name()); }
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)); }
public void toString(UnitPrinter up) { if (!supressDeclaringClass) { up.type(fieldRef.declaringClass().getType()); up.literal("."); } up.fieldRef(fieldRef); }
@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())); }
@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())); }
private void handleInstanceFieldRef(InstanceFieldRef ifr, Stmt stmt) { ifr.setBase(this.uv.visit(ifr.getBase(), ifr.getFieldRef().declaringClass().getType(), stmt)); }
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 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())); }
@Override public void caseFieldPutInst(FieldPutInst i) { emit("putfield " + slashify(i.getFieldRef().declaringClass().getName()) + "/" + i.getFieldRef().name() + " " + jasminDescriptorOf(i.getFieldRef().type())); }
String className = fieldRef.declaringClass().toString(); String packageName = fieldRef.declaringClass().getJavaPackageName();
public void caseStaticFieldRef(StaticFieldRef v) { SootFieldRef field = v.getFieldRef(); emitValue(rvalue); emit("putstatic " + slashify(field.declaringClass().getName()) + "/" + field.name() + " " + jasminDescriptorOf(field.type()), -sizeOfType(v.getFieldRef().type())); } });
SootFieldRef s = sfr.getFieldRef(); if (pag.getOpts().empties_as_allocs()) { if (s.declaringClass().getName().equals("java.util.Collections")) { if (s.name().equals("EMPTY_SET")) { src = pag.makeAllocNode(rtHashSet, rtHashSet, method); src = pag.makeAllocNode(rtLinkedList, rtLinkedList, method); } else if (s.declaringClass().getName().equals("java.util.Hashtable")) { if (s.name().equals("emptyIterator")) { src = pag.makeAllocNode(rtHashtableEmptyIterator, rtHashtableEmptyIterator, method);
public void caseStaticFieldRef(StaticFieldRef v) { emit("getstatic " + slashify(v.getFieldRef().declaringClass().getName()) + "/" + v.getFieldRef().name() + " " + jasminDescriptorOf(v.getFieldRef().type()), sizeOfType(v.getFieldRef().type())); }
public void caseInstanceFieldRef(InstanceFieldRef v) { emitValue(v.getBase()); emit("getfield " + slashify(v.getFieldRef().declaringClass().getName()) + "/" + v.getFieldRef().name() + " " + jasminDescriptorOf(v.getFieldRef().type()), -1 + sizeOfType(v.getFieldRef().type())); }
public void caseInstanceFieldRef(InstanceFieldRef v) { emitValue(v.getBase()); emitValue(rvalue); emit("putfield " + slashify(v.getFieldRef().declaringClass().getName()) + "/" + v.getFieldRef().name() + " " + jasminDescriptorOf(v.getFieldRef().type()), -1 + -sizeOfType(v.getFieldRef().type())); }