diff options
author | Rich Hickey <richhickey@gmail.com> | 2007-09-15 22:34:47 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2007-09-15 22:34:47 +0000 |
commit | 534b094db5e9bda280951e6fa9d9b75884825441 (patch) | |
tree | 77493b81b57483f415986b9ebdc90680311a6bec /src | |
parent | 13fa4de7e9a7764326626cc7bc3d135e3fd8bc93 (diff) |
error if no matching static method
Diffstat (limited to 'src')
-rw-r--r-- | src/boot.clj | 4 | ||||
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/boot.clj b/src/boot.clj index 139a6950..05f1acde 100644 --- a/src/boot.clj +++ b/src/boot.clj @@ -77,10 +77,10 @@ (spread args)) (defmacro delay [& body] - (list '. 'clojure.lang.Delay (list 'new (list* 'fn [] body)))) + (list 'new 'clojure.lang.Delay (list* 'fn [] body))) (defmacro lazy-cons [x & body] - (list '. 'clojure.lang.FnSeq (list 'new x (list* 'delay body)))) + (list 'new 'clojure.lang.FnSeq x (list* 'delay body))) (defn concat ([] nil) diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java index c3bc9bf7..b453dc22 100644 --- a/src/jvm/clojure/lang/Compiler.java +++ b/src/jvm/clojure/lang/Compiler.java @@ -684,6 +684,8 @@ static class StaticMethodExpr extends MethodExpr{ this.line = line; List methods = Reflector.getMethods(Class.forName(className), args.count(), methodName, true); + if(methods.isEmpty()) + throw new IllegalArgumentException("No matching method found"); method = (java.lang.reflect.Method) ((methods.size() == 1) ? methods.get(0) : null); } |