units.insertAfter(gotoStmt, predOfTarget);
JSRInst ji = Baf.v().newJSRInst(unit); builtJsrs.put(unit, ji); u.insertAfter(ji, prev); jsrcount++; } else { ji = Baf.v().newJSRInst(tu); u.insertAfter(ji, u.getPredOf(tu)); ti.setTarget(ji);
units.insertAfter(goUnit, storet); jumps.add(jump); units.insertAfter(swUnit, insertAfter); units.insertAfter(loadUnit, insertAfter);
units.insertAfter(store, after);
} else { if (last != null) { units.insertAfter(nonTrap, last); } else { units.addFirst(nonTrap); units.insertAfter(toinsert, nonTrap);
((TargetArgInst) u).setTarget((Unit) bug.getSuccsOf(suc).get(0)); } else { units.insertAfter(Baf.v().newGotoInst((Unit) bug.getSuccsOf(suc).get(0)), u);
units.insertAfter(addf, u); units.insertAfter(gotoStmt, predOfTarget);
bLocals.add(nloc); if (first != null) { u.insertAfter(Baf.v().newStoreInst(LongType.v(), nloc), first); u.insertAfter(Baf.v().newPushInst(LongConstant.v(0)), first); } else { u.addFirst(Baf.v().newStoreInst(LongType.v(), nloc));
units.insertAfter(assignStmt, u); assign.setLeftOp(newlocal);
units.insertAfter(Jimple.v().newAssignStmt(assign.getLeftOp(), newlocal), assign); assign.setLeftOp(newlocal);
units.insertAfter(Jimple.v().newAssignStmt(assign.getLeftOp(), newlocal), assign); assign.setLeftOp(newlocal);
units.insertAfter(Baf.v().newGotoInst(pushZero), ifPred); units.insertAfter(Baf.v().newGotoInst(pushZero), pred);
locals.add(l); units.insertBeforeNoRedirect(Jimple.v().newAssignStmt(l, IntConstant.v(0)), first); units.insertAfter(Jimple.v().newTableSwitchStmt(l, 1, zeroheight.size(), targs, u), ifstmt);
units.insertAfter(jgs, u); units.insertAfter(jumper, jgs); ifs.setTarget((Unit) jumper); for (int i = 0; i < targetCount; i++) { JGotoStmt jgs = new JGotoStmt((Unit) tss.getTarget(i)); units.insertAfter(jgs, tss); tss.setTarget(i, (Unit) jgs); units.insertAfter(jgs, tss); tss.setDefaultTarget((Unit) jgs); units.insertAfter(jgs, lss); lss.setTarget(i, (Unit) jgs); units.insertAfter(jgs, lss); lss.setDefaultTarget((Unit) jgs);
unitChain.addFirst(s); } else { unitChain.insertAfter(s, lastUnit);
Unit newU = Jimple.v().newAssignStmt(tmp, e); unitsBuilt.add(newU); units.insertAfter(newU, u); Unit newU = Jimple.v().newAssignStmt(as.getLeftOp(), Jimple.v().newNegExpr(as.getLeftOp())); unitsBuilt.add(newU); units.insertAfter(newU, u); Unit newU = Jimple.v().newAssignStmt(tmp, e); unitsBuilt.add(newU); units.insertAfter(newU, u); Unit newU = Jimple.v().newAssignStmt(as.getLeftOp(), Jimple.v().newNegExpr(as.getLeftOp())); unitsBuilt.add(newU); units.insertAfter(newU, u);
units.insertAfter(newUnits, s); units.remove(s); units.insertAfter(s, end); units.insertAfter(endLabel, s);
Unit ifinst = Baf.v().newIfNullInst(sii); units.insertBeforeNoRedirect(ifinst, sii); units.insertAfter(Baf.v().newThrowInst(), ifinst); units.insertAfter(Baf.v().newPushInst(NullConstant.v()), ifinst);
units.insertAfter(popClone, methCall); units.insertAfter(pop, u); units.remove(u); units.insertBefore(Baf.v().newPushInst(NullConstant.v()), u); Unit pop = Baf.v().newPopInst(RefType.v()); units.insertAfter(pop, u); units.remove(u);
units.insertAfter(newUnits, secondLastStmt);