public void fieldRef(SootFieldRef f) { handleIndent(); output.append(f.name()); }
public String toString() { if (thisLocals.contains(getBase())) { return fieldRef.name(); } return super.toString(); }
if (v instanceof FieldRef) { FieldRef fr = (FieldRef) v; String name = fr.getFieldRef().name(); lastnamelength = name.length(); if (lastnamelength > sourcesnamelength) {
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 fieldRef(SootFieldRef f) { handleIndent(); if (baf || f.resolve().isStatic()) { output.append(f.declaringClass().getName()); literal("."); } output.append(f.name()); }
public static String getNodeLabel(Object o) { Value node = ((EquivalentValue) o).getValue(); /* * if(node instanceof InstanceFieldRef) { InstanceFieldRef ifr = (InstanceFieldRef) node; if(ifr.getBase() instanceof * FakeJimpleLocal) return ifr.getField().getDeclaringClass().getShortName() + "." + ifr.getFieldRef().name(); else * return ifr.getField().getDeclaringClass().getShortName() + "." + ifr.getFieldRef().name(); } else */ if (node instanceof FieldRef) { FieldRef fr = (FieldRef) node; return fr.getField().getDeclaringClass().getShortName() + "." + fr.getFieldRef().name(); } return node.toString(); } }
@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 caseFieldPutInst(FieldPutInst i) { SootFieldRef field = i.getFieldRef(); mv.visitFieldInsn(Opcodes.PUTFIELD, 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())); }
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())); }
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); } else if (s.name().equals("EMPTY_MAP")) { src = pag.makeAllocNode(rtHashMap, rtHashMap, method); } else if (s.name().equals("EMPTY_LIST")) { src = pag.makeAllocNode(rtLinkedList, rtLinkedList, method); if (s.name().equals("emptyIterator")) { src = pag.makeAllocNode(rtHashtableEmptyIterator, rtHashtableEmptyIterator, method); } else if (s.name().equals("emptyEnumerator")) { src = pag.makeAllocNode(rtHashtableEmptyEnumerator, rtHashtableEmptyEnumerator, method);
@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())); }
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())); } });
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())); }