diff options
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java index daef7610..02f6fcc0 100644 --- a/src/jvm/clojure/lang/Compiler.java +++ b/src/jvm/clojure/lang/Compiler.java @@ -3401,6 +3401,9 @@ static public class ObjExpr implements Expr{ clinitgen.ifZCmp(GeneratorAdapter.EQ,skipLabel); clinitgen.invokeVirtual(VAR_TYPE,Method.getMethod("Object getRoot()")); + clinitgen.dup(); + clinitgen.instanceOf(AFUNCTION_TYPE); + clinitgen.ifZCmp(GeneratorAdapter.EQ,skipLabel); clinitgen.checkCast(IFN_TYPE); clinitgen.putStatic(objtype, varCallsiteName(i), IFN_TYPE); clinitgen.goTo(endLabel); |