diff options
Diffstat (limited to 'src/jvm/clojure/lang/APersistentMap.java')
-rw-r--r-- | src/jvm/clojure/lang/APersistentMap.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/jvm/clojure/lang/APersistentMap.java b/src/jvm/clojure/lang/APersistentMap.java index 807dfe9c..9e7cc289 100644 --- a/src/jvm/clojure/lang/APersistentMap.java +++ b/src/jvm/clojure/lang/APersistentMap.java @@ -29,10 +29,12 @@ public String toString(){ }
public IPersistentCollection cons(Object o){
- if(o instanceof IMapEntry)
+ if(o instanceof IPersistentVector)
{
- IMapEntry e = (IMapEntry) o;
- return assoc(e.key(), e.val());
+ IPersistentVector v = (IPersistentVector) o;
+ if(v.count() != 2)
+ throw new IllegalArgumentException("Vector arg to map conj must be a pair");
+ return assoc(v.nth(0), v.nth(1));
}
IPersistentMap ret = this;
|