private void visit(SootMethod method) {
   SootClass soot_class = method.getDeclaringClass();
   if (m_classRemapping.containsKey(soot_class.getName())) {
     return;
   }
   if (method.isConcrete() == false) {
     return;
   }
   Body body = method.retrieveActiveBody();
   if (body == null) return;
   m_currMethod = method;
   fixArguments(method);
   Iterator<Unit> iter = body.getUnits().iterator();
   while (iter.hasNext()) {
     Unit curr = iter.next();
     List<ValueBox> boxes = curr.getUseAndDefBoxes();
     for (ValueBox box : boxes) {
       Value value = box.getValue();
       value = mutate(value);
       box.setValue(value);
     }
   }
 }
예제 #2
0
 public void setOp(Value op) {
   opBox.setValue(op);
 }