summaryrefslogtreecommitdiff
path: root/src/jvm/clojure/lang/APersistentMap.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jvm/clojure/lang/APersistentMap.java')
-rw-r--r--src/jvm/clojure/lang/APersistentMap.java9
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)