Exemplo n.º 1
0
 /*
  * @see com.ibm.wala.ssa.SSAPiNodePolicy#getPi(com.ibm.wala.ssa.SSAConditionalBranchInstruction, com.ibm.wala.ssa.SSAInstruction,
  * com.ibm.wala.ssa.SSAInstruction, com.ibm.wala.ssa.SymbolTable)
  */
 @Override
 public Pair<Integer, SSAInstruction> getPi(
     SSAConditionalBranchInstruction cond,
     SSAInstruction def1,
     SSAInstruction def2,
     SymbolTable symbolTable) {
   if (def1 instanceof SSAInstanceofInstruction) {
     if (symbolTable.isBooleanOrZeroOneConstant(cond.getUse(1))) {
       return Pair.make(def1.getUse(0), def1);
     }
   }
   if (def2 instanceof SSAInstanceofInstruction) {
     if (symbolTable.isBooleanOrZeroOneConstant(cond.getUse(0))) {
       return Pair.make(def2.getUse(0), def2);
     }
   }
   return null;
 }