Mercurial > hg > truffle
changeset 18742:5df121664e08
added factory methods for creating sets
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Sun, 21 Dec 2014 13:53:15 +1000 |
parents | c968eefb992b |
children | 220d7f242e57 |
files | graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/CollectionsFactory.java graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java |
diffstat | 2 files changed, 20 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/CollectionsFactory.java Sat Dec 20 15:56:59 2014 +0000 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/CollectionsFactory.java Sun Dec 21 13:53:15 2014 +1000 @@ -104,4 +104,21 @@ public static <K, V> Map<K, V> newIdentityMap(Map<K, V> m) { return getMode() == STANDARD ? new IdentityHashMap<>(m) : new LinkedIdentityHashMap<>(m); } + + /** + * Creates a set. If the current thread is {@linkplain CollectionsFactory#getMode() using} + * {@link Mode#DETERMINISTIC_ITERATION_ORDER} collections, the returned set will have an + * iteration order determined by the order in which elements are inserted in the set. + */ + public static <E> Set<E> newSet() { + return CollectionsFactory.getMode() == Mode.STANDARD ? new HashSet<>() : new LinkedHashSet<>(); + } + + /** + * @see #newSet() + */ + public static <E> Set<E> newSet(Collection<? extends E> c) { + return CollectionsFactory.getMode() == Mode.STANDARD ? new HashSet<>(c) : new LinkedHashSet<>(c); + } + }
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Sat Dec 20 15:56:59 2014 +0000 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Sun Dec 21 13:53:15 2014 +1000 @@ -31,7 +31,6 @@ import sun.misc.*; import com.oracle.graal.compiler.common.*; -import com.oracle.graal.compiler.common.CollectionsFactory.Mode; import com.oracle.graal.graph.Graph.NodeEventListener; import com.oracle.graal.graph.iterators.*; import com.oracle.graal.graph.spi.*; @@ -209,20 +208,17 @@ } /** - * Creates a {@link Node} set. If the current thread is - * {@linkplain CollectionsFactory#getMode() using} {@link Mode#DETERMINISTIC_ITERATION_ORDER} - * collections, the returned set will have an iteration order determined by the order in which - * elements are inserted in the set. + * @see CollectionsFactory#newSet() */ public static <E extends Node> Set<E> newSet() { - return CollectionsFactory.getMode() == Mode.STANDARD ? new HashSet<>() : new LinkedHashSet<>(); + return CollectionsFactory.newSet(); } /** * @see #newSet() */ public static <E extends Node> Set<E> newSet(Collection<? extends E> c) { - return CollectionsFactory.getMode() == Mode.STANDARD ? new HashSet<>(c) : new LinkedHashSet<>(c); + return CollectionsFactory.newSet(c); } public static <K extends Node, V> Map<K, V> newMap() {