summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2009-11-05 11:27:13 -0500
committerRich Hickey <richhickey@gmail.com>2009-11-05 11:27:13 -0500
commit73d51aef645c6103eb641dbc19a50dd868df64f1 (patch)
treedabe4a12a279a2e0cac9734cc3719ddca348a50d
parent7a10c9077b5d037e782b2bc63c821f42337e9e04 (diff)
workaround in lookup thunk until full support for type-hinted non-primitive fields
-rw-r--r--src/jvm/clojure/lang/Compiler.java5
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"});