diff options
Diffstat (limited to 'src/jvm/clojure/lang/APersistentMap.java')
-rw-r--r-- | src/jvm/clojure/lang/APersistentMap.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/jvm/clojure/lang/APersistentMap.java b/src/jvm/clojure/lang/APersistentMap.java index 664d27ca..f62b5aa3 100644 --- a/src/jvm/clojure/lang/APersistentMap.java +++ b/src/jvm/clojure/lang/APersistentMap.java @@ -11,6 +11,7 @@ package clojure.lang;
import java.util.Collection;
+import java.util.Map;
public abstract class APersistentMap extends AFn implements IPersistentMap, Collection{
int _hash = -1;
@@ -29,7 +30,13 @@ public String toString(){ }
public IPersistentCollection cons(Object o){
- if(o instanceof IPersistentVector)
+ if(o instanceof Map.Entry)
+ {
+ Map.Entry e = (Map.Entry) o;
+
+ return assoc(e.getKey(), e.getValue());
+ }
+ else if(o instanceof IPersistentVector)
{
IPersistentVector v = (IPersistentVector) o;
if(v.count() != 2)
|