From 92ae58a35e3d2efbfc8f9cf4ba3767a32aaec29f Mon Sep 17 00:00:00 2001 From: Rich Hickey Date: Mon, 25 May 2009 23:59:52 +0000 Subject: trap instance method calls to known nil targets at compile time --- src/jvm/clojure/lang/Compiler.java | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java index 52c392cb..ecdda8ab 100644 --- a/src/jvm/clojure/lang/Compiler.java +++ b/src/jvm/clojure/lang/Compiler.java @@ -1139,6 +1139,8 @@ static class InstanceMethodExpr extends MethodExpr{ this.target = target; if(target.hasJavaClass()) { + if(target.getJavaClass() == null) + throw new IllegalArgumentException("Attempt to call instance method '" + methodName + "' on nil"); List methods = Reflector.getMethods(target.getJavaClass(), args.count(), methodName, false); if(methods.isEmpty()) method = null; -- cgit v1.2.3-18-g5258