public void caseDefinitionStmt(DefinitionStmt s) { inDefinitionStmt(s); /* * March 18th, 2006 introducing level of indirection decideCaseExprOrRef(s.getRightOp()); * decideCaseExprOrRef(s.getLeftOp()); */ caseExprOrRefValueBox(s.getRightOpBox()); caseExprOrRefValueBox(s.getLeftOpBox()); outDefinitionStmt(s); }
ValueBox defSrcBox = stmt.getRightOpBox(); Value defSrc = defSrcBox.getValue();
private void convertVarStoreInsn(VarInsnNode insn) { int op = insn.getOpcode(); boolean dword = op == LSTORE || op == DSTORE; StackFrame frame = getFrame(insn); Operand opr = dword ? popDual() : pop(); Local local = getLocal(insn.var); if (!units.containsKey(insn)) { DefinitionStmt as = Jimple.v().newAssignStmt(local, opr.stackOrValue()); opr.addBox(as.getRightOpBox()); frame.boxes(as.getRightOpBox()); frame.in(opr); setUnit(insn, as); } else { frame.mergeIn(opr); } assignReadOps(local); }
ValueBox rightBox = ds.getRightOpBox(); ValueBox leftBox = ds.getLeftOpBox();
ValueBox right = ds.getRightOpBox(); Value rightValue = right.getValue();
ValueBox right = ds.getRightOpBox(); Value rightValue = right.getValue(); array[i] = ((DefinitionStmt) augS).getRightOpBox(); toRemove.add(aug);
ValueBox rightBox = ds.getRightOpBox();
CastExpr ce = (CastExpr) rhs; if (ce.getCastType() instanceof RefType && ce.getOp() instanceof NullConstant) { defStmt.getRightOpBox().setValue(NullConstant.v()); numPropagated++;
DefinitionStmt ds = (DefinitionStmt) s; javafy(ds.getRightOpBox()); javafy(ds.getLeftOpBox()); ds.getRightOpBox().setValue(DIntConstant.v(((IntConstant) ds.getRightOp()).value, ds.getLeftOp().getType()));
((DefinitionStmt) u).getRightOpBox().setValue(Jimple.v().newNewExpr(refType)); NewMultiArrayExpr na = (NewMultiArrayExpr) ((DefinitionStmt) u).getRightOp(); RefType refType = getArrayReplacementType((ArrayType) na.getType()); ((DefinitionStmt) u).getRightOpBox().setValue(Jimple.v().newNewExpr(refType)); SootClass arrClass = refType.getSootClass(); List<Type> paramTypes = new ArrayList<Type>( Value fieldRef = Jimple.v().newInstanceFieldRef(le.getOp(), lenField.makeRef()); ((DefinitionStmt) u).getRightOpBox().setValue(fieldRef); } else if (u instanceof DefinitionStmt && ((DefinitionStmt) u).getRightOp() instanceof InstanceOfExpr) { InstanceOfExpr ioe = (InstanceOfExpr) ((DefinitionStmt) u).getRightOp();