diff options
author | Luke VanderHart <luke@thinkrelevance.com> | 2011-02-23 20:19:55 -0500 |
---|---|---|
committer | Stuart Halloway <stu@Stuart-Halloways-MacBook-Air.local> | 2011-02-25 14:28:02 -0500 |
commit | f5ca90d25e067a2c9131f549eca3a008bd1c8308 (patch) | |
tree | 1b4a03a14bcbf3adab492b2bec3e06fd22a696d8 | |
parent | 13e7fd760805a50f934b238d2a7fb6e44f5c691b (diff) |
Added error message for invalid map literals
Signed-off-by: Stuart Halloway <stu@Stuart-Halloways-MacBook-Air.local>
-rw-r--r-- | src/jvm/clojure/lang/LispReader.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/jvm/clojure/lang/LispReader.java b/src/jvm/clojure/lang/LispReader.java index e5740a5c..705d5073 100644 --- a/src/jvm/clojure/lang/LispReader.java +++ b/src/jvm/clojure/lang/LispReader.java @@ -1021,7 +1021,10 @@ public static class VectorReader extends AFn{ public static class MapReader extends AFn{ public Object invoke(Object reader, Object leftparen) throws Exception{ PushbackReader r = (PushbackReader) reader; - return RT.map(readDelimitedList('}', r, true).toArray()); + Object[] a = readDelimitedList('}', r, true).toArray(); + if((a.length & 1) == 1) + throw new Exception("Map literal must contain an even number of forms"); + return RT.map(a); } } |