Exemplo n.º 1
0
 /*
  * @see com.ibm.wala.dataflow.IFDS.ISupergraph#isCall(java.lang.Object)
  */
 public boolean isCall(Statement n) {
   switch (n.getKind()) {
     case EXC_RET_CALLEE:
     case EXC_RET_CALLER:
     case HEAP_PARAM_CALLEE:
     case NORMAL_RET_CALLEE:
     case NORMAL_RET_CALLER:
     case PARAM_CALLEE:
     case PHI:
     case HEAP_RET_CALLEE:
     case HEAP_RET_CALLER:
     case METHOD_ENTRY:
     case METHOD_EXIT:
     case CATCH:
     case PI:
       return false;
     case HEAP_PARAM_CALLER:
     case PARAM_CALLER:
       return true;
     case NORMAL:
       if (sdg.getCOptions().equals(ControlDependenceOptions.NONE)) {
         return false;
       } else {
         NormalStatement s = (NormalStatement) n;
         return s.getInstruction() instanceof SSAAbstractInvokeInstruction;
       }
     default:
       Assertions.UNREACHABLE(n.getKind() + " " + n.toString());
       return false;
   }
 }
Exemplo n.º 2
0
 /*
  * @see com.ibm.wala.dataflow.IFDS.ISupergraph#getProcOf(java.lang.Object)
  */
 public PDG getProcOf(Statement n) {
   CGNode node = n.getNode();
   PDG result = sdg.getPDG(node);
   if (result == null) {
     Assertions.UNREACHABLE("panic: " + n + " " + node);
   }
   return result;
 }
Exemplo n.º 3
0
 /*
  * @see com.ibm.wala.util.graph.NumberedEdgeManager#getSuccNodeNumbers(java.lang.Object)
  */
 public IntSet getSuccNodeNumbers(Statement node) {
   return sdg.getSuccNodeNumbers(node);
 }
Exemplo n.º 4
0
 public int getNumber(Statement N) {
   return sdg.getNumber(N);
 }
Exemplo n.º 5
0
 public Statement getNode(int number) {
   return sdg.getNode(number);
 }
Exemplo n.º 6
0
 public int getMaxNumber() {
   return sdg.getMaxNumber();
 }
Exemplo n.º 7
0
 public boolean hasEdge(Statement src, Statement dst) {
   return sdg.hasEdge(src, dst);
 }
Exemplo n.º 8
0
 public Iterator<Statement> getSuccNodes(Statement N) {
   return sdg.getSuccNodes(N);
 }
Exemplo n.º 9
0
 public Iterator<Statement> iterator() {
   return sdg.iterator();
 }
Exemplo n.º 10
0
 public boolean containsNode(Statement N) {
   return sdg.containsNode(N);
 }