Loading sdg-core/src/main/java/es/upv/mist/slicing/utils/CustomEqualityHashSet.java +26 −1 Original line number Diff line number Diff line Loading @@ -80,9 +80,34 @@ public abstract class CustomEqualityHashSet<T> extends AbstractSet<T> { return false; } @Override public void clear() { map.clear(); size = 0; } @Override public Iterator<T> iterator() { return map.values().stream().flatMap(Collection::stream).iterator(); Iterator<T> it = map.values().stream().flatMap(Collection::stream).iterator(); return new Iterator<>() { T last = null; @Override public boolean hasNext() { return it.hasNext(); } @Override public T next() { return last = it.next(); } @Override public void remove() { if (last != null) CustomEqualityHashSet.this.remove(last); } }; } @Override Loading sdg-core/src/main/java/es/upv/mist/slicing/utils/NodeHashSet.java +1 −1 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ public class NodeHashSet<T extends Node> extends CustomEqualityHashSet<T> { @Override protected boolean objEquals(T a, Object b) { return ASTUtils.equalsWithRangeInCU(a, (Node) b); return ASTUtils.equalsWithRange(a, (Node) b); } @Override Loading Loading
sdg-core/src/main/java/es/upv/mist/slicing/utils/CustomEqualityHashSet.java +26 −1 Original line number Diff line number Diff line Loading @@ -80,9 +80,34 @@ public abstract class CustomEqualityHashSet<T> extends AbstractSet<T> { return false; } @Override public void clear() { map.clear(); size = 0; } @Override public Iterator<T> iterator() { return map.values().stream().flatMap(Collection::stream).iterator(); Iterator<T> it = map.values().stream().flatMap(Collection::stream).iterator(); return new Iterator<>() { T last = null; @Override public boolean hasNext() { return it.hasNext(); } @Override public T next() { return last = it.next(); } @Override public void remove() { if (last != null) CustomEqualityHashSet.this.remove(last); } }; } @Override Loading
sdg-core/src/main/java/es/upv/mist/slicing/utils/NodeHashSet.java +1 −1 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ public class NodeHashSet<T extends Node> extends CustomEqualityHashSet<T> { @Override protected boolean objEquals(T a, Object b) { return ASTUtils.equalsWithRangeInCU(a, (Node) b); return ASTUtils.equalsWithRange(a, (Node) b); } @Override Loading