diff options
author | Rich Hickey <richhickey@gmail.com> | 2008-02-06 05:55:44 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2008-02-06 05:55:44 +0000 |
commit | 81d57a3b85548d82668494a95368524087055665 (patch) | |
tree | 12adf5e0c4708515638696d8fb600240bfafebde | |
parent | b7f44fa102c405f9220f271ac89b518ed2e916e2 (diff) |
added seq support and inspector support for Java Maps
-rw-r--r-- | src/inspector.clj | 3 | ||||
-rw-r--r-- | src/jvm/clojure/lang/RT.java | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/inspector.clj b/src/inspector.clj index ec77eae8..83ebc460 100644 --- a/src/inspector.clj +++ b/src/inspector.clj @@ -20,6 +20,7 @@ (cond (instance? java.util.Map$Entry x) :entry (instance? clojure.lang.IPersistentMap x) :map + (instance? java.util.Map x) :map (instance? clojure.lang.Sequential x) :seq :atom)) @@ -41,6 +42,8 @@ (defmethod get-child-count :entry [e] (count (val e))) +(defmethod is-leaf :map [m] + false) (defmethod get-child :map [m index] (nth (seq m) index)) diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java index 4762e101..1ede12f4 100644 --- a/src/jvm/clojure/lang/RT.java +++ b/src/jvm/clojure/lang/RT.java @@ -296,6 +296,8 @@ static public ISeq seq(Object coll){ return ArraySeq.create((Object[]) coll); else if(coll instanceof String) return StringSeq.create((String) coll); + else if(coll instanceof Map) + return seq(((Map) coll).entrySet()); else throw new IllegalAccessError("Don't know how to create ISeq from arg"); } |