summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2010-04-14 07:54:54 -0400
committerRich Hickey <richhickey@gmail.com>2010-04-14 07:54:54 -0400
commit27954e23338287ea5e68728c6c2ce8c393e7965a (patch)
tree052e67a98409215a9255e9c65ed29cbeef1669cf
parent4f6fda54954fe7407967d65a5518906453312395 (diff)
flow full type through reify expressions
-rw-r--r--src/jvm/clojure/lang/Compiler.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java
index f4091281..c4f991d9 100644
--- a/src/jvm/clojure/lang/Compiler.java
+++ b/src/jvm/clojure/lang/Compiler.java
@@ -4014,7 +4014,9 @@ static public class ObjExpr implements Expr{
}
public Class getJavaClass() throws Exception{
- return (tag != null) ? HostExpr.tagToClass(tag) : IFn.class;
+ return (compiledClass != null) ? compiledClass
+ : (tag != null) ? HostExpr.tagToClass(tag)
+ : IFn.class;
}
public void emitAssignLocal(GeneratorAdapter gen, LocalBinding lb,Expr val){