units.addFirst(after);
units.insertAfter(nonTrap, last); } else { units.addFirst(nonTrap);
units.addFirst(Jimple.v().newAssignStmt(Jimple.v().newStaticFieldRef(field.makeRef()), IntConstant.v(value ? 1 : 0))); } else { Local bool = Jimple.v().newLocal("boolLcl", booleanWrapperRefType); units.addFirst(Jimple.v().newAssignStmt(Jimple.v().newStaticFieldRef(field.makeRef()), bool)); units.addFirst(Jimple.v().newInvokeStmt( Jimple.v().newSpecialInvokeExpr(bool, booleanWrapperConstructor.makeRef(), IntConstant.v(value ? 1 : 0)))); units.addFirst(Jimple.v().newAssignStmt(bool, Jimple.v().newNewExpr(booleanWrapperRefType)));
units.addFirst(Jimple.v().newAssignStmt(Jimple.v().newStaticFieldRef(f.makeRef()), constant)); if (newInit) { units.addLast(Jimple.v().newReturnVoidStmt());
/** Inserts usual statements for handling this & parameters into body. */ public void insertIdentityStmts() { int i = 0; Iterator parIt = getMethod().getParameterTypes().iterator(); while (parIt.hasNext()) { Type t = (Type)parIt.next(); Local l = Jimple.v().newLocal("parameter"+i, t); getLocals().add(l); getUnits().addFirst(Jimple.v().newIdentityStmt(l, Jimple.v().newParameterRef(l.getType(), i))); i++; } //add this-ref before everything else if (!getMethod().isStatic()) { Local l = Jimple.v().newLocal("this", RefType.v(getMethod().getDeclaringClass())); getLocals().add(l); getUnits().addFirst(Jimple.v().newIdentityStmt(l, Jimple.v().newThisRef((RefType)l.getType()))); } }
/** Inserts usual statements for handling this & parameters into body. */ public void insertIdentityStmts() { int i = 0; Iterator parIt = getMethod().getParameterTypes().iterator(); while (parIt.hasNext()) { Type t = (Type)parIt.next(); Local l = Jimple.v().newLocal("parameter"+i, t); getLocals().add(l); getUnits().addFirst(Jimple.v().newIdentityStmt(l, Jimple.v().newParameterRef(l.getType(), i))); i++; } //add this-ref before everything else if (!getMethod().isStatic()) { Local l = Jimple.v().newLocal("this", RefType.v(getMethod().getDeclaringClass())); getLocals().add(l); getUnits().addFirst(Jimple.v().newIdentityStmt(l, Jimple.v().newThisRef((RefType)l.getType()))); } }
Unit init = Jimple.v().newAssignStmt(Jimple.v().newStaticFieldRef(f.makeRef()), SootTranslationHelpers.v().getDefaultValue(f.getType())); staticInit.getActiveBody().getUnits().addFirst(init);
jbody.getUnits().addFirst(init); } else { jbody.getUnits().insertAfter(init, insertPos);