/* * @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; } }