diff options
author | Rich Hickey <richhickey@gmail.com> | 2008-05-19 15:31:06 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2008-05-19 15:31:06 +0000 |
commit | 2b2c841a1175df381669c4107c5a545adf8a9f11 (patch) | |
tree | ad3b69ad2b8dedd3ccbf76c8baaaf3b96b2c4fb9 /src/jvm/clojure | |
parent | af26812e74ee097197b4c4544bdda56f57081723 (diff) |
fixed destructuring of nil map, added get support for sets
Diffstat (limited to 'src/jvm/clojure')
-rw-r--r-- | src/jvm/clojure/lang/RT.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java index e2723391..5127a9cd 100644 --- a/src/jvm/clojure/lang/RT.java +++ b/src/jvm/clojure/lang/RT.java @@ -465,6 +465,12 @@ static public Object get(Object coll, Object key){ Map m = (Map) coll; return m.get(key); } + else if(coll instanceof IPersistentSet) + { + IPersistentSet set = (IPersistentSet) coll; + if(set.contains(key)) + return key; + } else if(key instanceof Number && (coll instanceof String || coll.getClass().isArray())) { int n = ((Number) key).intValue(); @@ -489,6 +495,13 @@ static public Object get(Object coll, Object key, Object notFound){ return m.get(key); return notFound; } + else if(coll instanceof IPersistentSet) + { + IPersistentSet set = (IPersistentSet) coll; + if(set.contains(key)) + return key; + return notFound; + } else if(key instanceof Number && (coll instanceof String || coll.getClass().isArray())) { int n = ((Number) key).intValue(); |