public void convertToBaf(JimpleToBafContext context, List<Unit> out) { List<PlaceholderInst> targetPlaceholders = new ArrayList<PlaceholderInst>(); ((ConvertToBaf) getKey()).convertToBaf(context, out); for (Unit target : getTargets()) { targetPlaceholders.add(Baf.v().newPlaceholderInst(target)); } Unit u = Baf.v().newTableSwitchInst(Baf.v().newPlaceholderInst(getDefaultTarget()), lowIndex, highIndex, targetPlaceholders); u.addAllTagsOf(this); out.add(u); }
public void convertToBaf(JimpleToBafContext context, List<Unit> out) { Unit u = Baf.v().newStaticGetInst(fieldRef); u.addAllTagsOf(context.getCurrentUnit()); out.add(u); } }
/** Adds a Baf instruction pushing this constant to the stack onto <code>out</code>. */ public void convertToBaf(JimpleToBafContext context, List<Unit> out) { Unit u = Baf.v().newPushInst(this); u.addAllTagsOf(context.getCurrentUnit()); out.add(u); }
public void convertToBaf(JimpleToBafContext context, List<Unit> out) { List<PlaceholderInst> targetPlaceholders = new ArrayList<PlaceholderInst>(); ((ConvertToBaf) getKey()).convertToBaf(context, out); for (Unit target : getTargets()) { targetPlaceholders.add(Baf.v().newPlaceholderInst(target)); } Unit u = Baf.v().newLookupSwitchInst(Baf.v().newPlaceholderInst(getDefaultTarget()), getLookupValues(), targetPlaceholders); u.addAllTagsOf(this); out.add(u); } }
public void convertToBaf(JimpleToBafContext context, List<Unit> out) { List<Value> sizes = getSizes(); for (int i = 0; i < sizes.size(); i++) { ((ConvertToBaf) (sizes.get(i))).convertToBaf(context, out); } Unit u = Baf.v().newNewMultiArrayInst(getBaseType(), sizes.size()); out.add(u); u.addAllTagsOf(context.getCurrentUnit()); } }
public void convertToBaf(JimpleToBafContext context, List<Unit> out) { Unit u = Baf.v().newNewInst(getBaseType()); u.addAllTagsOf(context.getCurrentUnit()); out.add(u); }
public void convertToBaf(JimpleToBafContext context, List<Unit> out) { ((ConvertToBaf) (getOp())).convertToBaf(context, out); Unit u = Baf.v().newExitMonitorInst(); u.addAllTagsOf(this); out.add(u); }
public void convertToBaf(JimpleToBafContext context, List<Unit> out) { ((ConvertToBaf) getOp()).convertToBaf(context, out); Unit u = Baf.v().newThrowInst(); u.addAllTagsOf(this); out.add(u); }
public void caseStaticFieldRef(StaticFieldRef v) { ((ConvertToBaf) rvalue).convertToBaf(context, out); Unit u = Baf.v().newStaticPutInst(v.getFieldRef()); u.addAllTagsOf(JAssignStmt.this); out.add(u); } });
public void convertToBaf(JimpleToBafContext context, List<Unit> out) { ((ConvertToBaf) (getOp())).convertToBaf(context, out); Unit u = Baf.v().newArrayLengthInst(); u.addAllTagsOf(context.getCurrentUnit()); out.add(u); }
public void convertToBaf(JimpleToBafContext context, List<Unit> out) { ((ConvertToBaf) (getOp())).convertToBaf(context, out); Unit u = Baf.v().newInstanceOfInst(getCheckType()); u.addAllTagsOf(context.getCurrentUnit()); out.add(u); }
public void convertToBaf(JimpleToBafContext context, List<Unit> out) { ((ConvertToBaf) (getOp())).convertToBaf(context, out); Unit u = Baf.v().newReturnInst(getOp().getType()); u.addAllTagsOf(this); out.add(u); }
public void caseInstanceFieldRef(InstanceFieldRef v) { ((ConvertToBaf) (v.getBase())).convertToBaf(context, out); ((ConvertToBaf) rvalue).convertToBaf(context, out); Unit u = Baf.v().newFieldPutInst(v.getFieldRef()); u.addAllTagsOf(JAssignStmt.this); out.add(u); }
public void convertToBaf(JimpleToBafContext context, List<Unit> out) { ((ConvertToBaf) (getSize())).convertToBaf(context, out); Unit u = Baf.v().newNewArrayInst(getBaseType()); out.add(u); u.addAllTagsOf(context.getCurrentUnit()); } }
private void loadBooleanValue(PatchingChain<Unit> units, SootField f, Unit insert) { units.insertBefore(Baf.v().newStaticGetInst(f.makeRef()), insert); if (f.getType() instanceof RefType) { SootMethod boolInit = ((RefType) f.getType()).getSootClass().getMethod("boolean booleanValue()"); units.insertBefore(Baf.v().newVirtualInvokeInst(boolInit.makeRef()), insert); } }
public void convertToBaf(JimpleToBafContext context, List<Unit> out) { ((ConvertToBaf) (getBase())).convertToBaf(context, out); if (argBoxes != null) { for (ValueBox element : argBoxes) { ((ConvertToBaf) (element.getValue())).convertToBaf(context, out); } } Unit u = Baf.v().newSpecialInvokeInst(methodRef); out.add(u); u.addAllTagsOf(context.getCurrentUnit()); } }
public void convertToBaf(JimpleToBafContext context, List<Unit> out) { ((ConvertToBaf) (getBase())).convertToBaf(context, out); if (argBoxes != null) { for (ValueBox element : argBoxes) { ((ConvertToBaf) (element.getValue())).convertToBaf(context, out); } } Unit u = Baf.v().newVirtualInvokeInst(methodRef); out.add(u); u.addAllTagsOf(context.getCurrentUnit()); } }
public void convertToBaf(JimpleToBafContext context, List<Unit> out) { InvokeExpr ie = getInvokeExpr(); context.setCurrentUnit(this); ((ConvertToBaf) ie).convertToBaf(context, out); if (!ie.getMethodRef().returnType().equals(VoidType.v())) { Unit u = Baf.v().newPopInst(ie.getMethodRef().returnType()); u.addAllTagsOf(this); out.add(u); } }
public void caseArrayRef(ArrayRef v) { ((ConvertToBaf) (v.getBase())).convertToBaf(context, out); ((ConvertToBaf) (v.getIndex())).convertToBaf(context, out); ((ConvertToBaf) rvalue).convertToBaf(context, out); Unit u = Baf.v().newArrayWriteInst(v.getType()); u.addAllTagsOf(JAssignStmt.this); out.add(u); }