/** * Constructs a ReturnVoidStmt() grammar chunk. */ public ReturnVoidStmt newReturnVoidStmt() { return Jimple.v().newReturnVoidStmt(); }
public ReturnVoidStmt newReturnVoidStmt(ReturnVoidStmt s) { return Jimple.v().newReturnVoidStmt(); }
public soot.jimple.ReturnVoidStmt newReturnVoidStmt(ASTNode location) { return Jimple.v().newReturnVoidStmt(); }
public void outAReturnStatement(AReturnStatement node) { Immediate v; Stmt s = null; if (node.getImmediate() != null) { v = (Immediate) mProductions.removeLast(); s = Jimple.v().newReturnStmt(v); } else { s = Jimple.v().newReturnVoidStmt(); } mProductions.addLast(s); }
public void jimplify(DexBody body) { ReturnVoidStmt returnStmt = Jimple.v().newReturnVoidStmt(); setUnit(returnStmt); addTags(returnStmt); body.add(returnStmt); }
units.add(Jimple.v().newReturnVoidStmt()); } else { Local assign = Jimple.v().newLocal("returnValue", sm.getReturnType());
s = Jimple.v().newInvokeStmt(accExpr); accStmts.add(s); accStmts.add(Jimple.v().newReturnVoidStmt()); } else { Local resultLocal = lg.generateLocal(returnType);
retStmt = soot.jimple.Jimple.v().newReturnStmt(returnLocal); } else { retStmt = soot.jimple.Jimple.v().newReturnVoidStmt();
/** * Invocation of target implementation method. * * @param jb * @param us * @param args */ private void invokeImplMethod(JimpleBody jb, PatchingChain<Unit> us, LocalGenerator lc, List<Local> args) { Value value = _invokeImplMethod(jb, us, lc, args); if (value instanceof InvokeExpr && soot.VoidType.v().equals(implMethod.getMethodRef().returnType())) { // implementation method is void us.add(Jimple.v().newInvokeStmt(value)); us.add(Jimple.v().newReturnVoidStmt()); } else if (soot.VoidType.v().equals(implMethodType.getReturnType())) { // dispatch method is void us.add(Jimple.v().newInvokeStmt(value)); us.add(Jimple.v().newReturnVoidStmt()); } else { // neither is void, must pass through return value Local ret = lc.generateLocal(value.getType()); us.add(Jimple.v().newAssignStmt(ret, value)); // adapt return value Local retAdapted = adapt(ret, implMethodType.getReturnType(), jb, us, lc); us.add(Jimple.v().newReturnStmt(retAdapted)); } }
us.add(Jimple.v().newReturnVoidStmt());
accStmts.add(Jimple.v().newAssignStmt(Jimple.v().newStaticFieldRef(ref.getFieldRef()), l)); accStmts.addLast(Jimple.v().newReturnVoidStmt()); Type returnType = VoidType.v();
jBody.getUnits().add(Jimple.v().newReturnVoidStmt()); } else { Type t = jBody.getMethod().getReturnType();
/** * @ast method * @aspect EmitJimpleRefinements * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/EmitJimpleRefinements.jrag:100 */ public void jimplify2() { if (!generate() || sootMethod().hasActiveBody() || (sootMethod().getSource() != null && (sootMethod().getSource() instanceof soot.coffi.CoffiMethodSource))) return; try { if (hasBlock() && !(hostType().isInterfaceDecl())) { JimpleBody body = Jimple.v().newBody(sootMethod()); sootMethod().setActiveBody(body); Body b = new Body(hostType(), body, this); b.setLine(this); for (int i = 0; i < getNumParameter(); i++) getParameter(i).jimplify2(b); getBlock().jimplify2(b); if (type() instanceof VoidType) b.add(Jimple.v().newReturnVoidStmt()); } } catch (RuntimeException e) { System.err.println("Error generating " + hostType().typeName() + ": " + this); throw e; } }
units.addLast(Jimple.v().newReturnVoidStmt());
} else if (op == RETURN) { if (!units.containsKey(insn)) { setUnit(insn, Jimple.v().newReturnVoidStmt());
clinitUnits.add(Jimple.v().newReturnVoidStmt());
Chain<Unit> units = smInit.getActiveBody().getUnits(); if (units.isEmpty() || !(units.getLast() instanceof ReturnVoidStmt)) { units.add(Jimple.v().newReturnVoidStmt());
units.addLast(Jimple.v().newReturnVoidStmt());
b.add(Jimple.v().newReturnVoidStmt());
newUnits.add(Jimple.v().newReturnVoidStmt());