/** * Do all callees corresponding to the given call site def the pointer key being tracked by r? */ private static boolean allCalleesMod(CallGraph cg, HeapReturnCaller r, Map<CGNode, OrdinalSet<PointerKey>> mod) { Collection<CGNode> targets = cg.getPossibleTargets(r.getNode(), r.getCall().getCallSite()); if (targets.isEmpty()) { return false; } for (CGNode t : targets) { if (!mod.get(t).contains(r.getLocation())) { return false; } } return true; }
/** * Do all callees corresponding to the given call site def the pointer key being tracked by r? */ private static boolean allCalleesMod(CallGraph cg, HeapReturnCaller r, Map<CGNode, OrdinalSet<PointerKey>> mod) { Collection<CGNode> targets = cg.getPossibleTargets(r.getNode(), r.getCall().getCallSite()); if (targets.isEmpty()) { return false; } for (CGNode t : targets) { if (!mod.get(t).contains(r.getLocation())) { return false; } } return true; }
if (pts.contains(ik)) {