@Override public Iterator<PointerKey> iteratePointerKeys() { return pointsToMap.iterateKeys(); }
@Override public Iterator<PointerKey> iteratePointerKeys() { return pointsToMap.iterateKeys(); }
public Iterator<PointerKey> iteratePointerKeys() { return pointsToMap.iterateKeys(); }
public Iterator<PointerKey> iteratePointerKeys() { return pointsToMap.iterateKeys(); }
@Override public Iterable<PointerKey> getPointerKeys() { return Iterator2Iterable.make(pointsToMap.iterateKeys()); }
/** * @return {@link Iterator}<{@link PointerKey}> */ public Iterator<PointerKey> getTransitiveRoots() { return new FilterIterator<>(iterateKeys(), this::isTransitiveRoot); }
/** * @return {@link Iterator}<{@link PointerKey}> */ public Iterator<PointerKey> getTransitiveRoots() { return new FilterIterator<>(iterateKeys(), this::isTransitiveRoot); }
@Override public String toString() { StringBuilder result = new StringBuilder("PointerAnalysis:\n"); for (PointerKey p : Iterator2Iterable.make(pointsToMap.iterateKeys())) { OrdinalSet<InstanceKey> O = getPointsToSet(p); result.append(" ").append(p).append(" ->\n"); for (InstanceKey instanceKey : O) { result.append(" ").append(instanceKey).append('\n'); } } return result.toString(); }
@Override public Iterable<PointerKey> getPointerKeys() { return Iterator2Iterable.make(pointsToMap.iterateKeys()); }
@Override public String toString() { StringBuilder result = new StringBuilder("PointerAnalysis:\n"); for (PointerKey p : Iterator2Iterable.make(pointsToMap.iterateKeys())) { OrdinalSet<InstanceKey> O = getPointsToSet(p); result.append(" ").append(p).append(" ->\n"); for (InstanceKey instanceKey : O) { result.append(" ").append(instanceKey).append('\n'); } } return result.toString(); }
/** * Wipe out the cached transitive closure information */ public void revertToPreTransitive() { for (PointerKey key : Iterator2Iterable.make(iterateKeys())) { if (!isTransitiveRoot(key) && !isImplicit(key) && !isUnified(key)) { PointsToSetVariable v = getPointsToSet(key); v.removeAll(); } } }
/** * Wipe out the cached transitive closure information */ public void revertToPreTransitive() { for (PointerKey key : Iterator2Iterable.make(iterateKeys())) { if (!isTransitiveRoot(key) && !isImplicit(key) && !isUnified(key)) { PointsToSetVariable v = getPointsToSet(key); v.removeAll(); } } }