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() {