summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2007-09-15 22:34:47 +0000
committerRich Hickey <richhickey@gmail.com>2007-09-15 22:34:47 +0000
commit534b094db5e9bda280951e6fa9d9b75884825441 (patch)
tree77493b81b57483f415986b9ebdc90680311a6bec /src
parent13fa4de7e9a7764326626cc7bc3d135e3fd8bc93 (diff)
error if no matching static method
Diffstat (limited to 'src')
-rw-r--r--src/boot.clj4
-rw-r--r--src/jvm/clojure/lang/Compiler.java2
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);
}