diff options
author | Rich Hickey <richhickey@gmail.com> | 2009-11-05 11:27:13 -0500 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2009-11-05 11:27:13 -0500 |
commit | 73d51aef645c6103eb641dbc19a50dd868df64f1 (patch) | |
tree | dabe4a12a279a2e0cac9734cc3719ddca348a50d | |
parent | 7a10c9077b5d037e782b2bc63c821f42337e9e04 (diff) |
workaround in lookup thunk until full support for type-hinted non-primitive fields
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java index 5bcd7ad7..0c33dbad 100644 --- a/src/jvm/clojure/lang/Compiler.java +++ b/src/jvm/clojure/lang/Compiler.java @@ -5612,6 +5612,11 @@ static public class NewInstanceExpr extends ObjExpr{ String iname = ret.internalName + "$__lookup__" + fld.name; String cname = ret.name + "$__lookup__" + fld.name; Class fclass = tagClass(tagOf(fld)); + + //workaround until full support for type-hinted non-primitive fields + if(!fclass.isPrimitive()) + fclass = Object.class; + Type ftype = Type.getType(fclass); cv.visit(V1_5, ACC_PUBLIC + ACC_SUPER + ACC_FINAL, iname, null,"java/lang/Object",new String[]{"clojure/lang/ILookupThunk"}); |