diff options
author | Rich Hickey <richhickey@gmail.com> | 2009-08-01 08:19:57 -0400 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2009-08-01 08:19:57 -0400 |
commit | 0bd86ba81d15584b0e12ce6d783e41bcd916b95f (patch) | |
tree | 80c6ce030af7e2d9e1a9301b95d61532c9239d95 | |
parent | 126253e94fbd01feefdfc44f69815e15e066a879 (diff) |
fix maybePrimitiveEpr to test for canEmitPrimitive
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java index 6b76eb4e..6f1e88f4 100644 --- a/src/jvm/clojure/lang/Compiler.java +++ b/src/jvm/clojure/lang/Compiler.java @@ -1026,7 +1026,7 @@ static class StaticFieldExpr extends FieldExpr implements AssignableExpr{ static Class maybePrimitiveType(Expr e){ try { - if(e instanceof MaybePrimitiveExpr && e.hasJavaClass()) + if(e instanceof MaybePrimitiveExpr && e.hasJavaClass() && ((MaybePrimitiveExpr)e).canEmitPrimitive()) { Class c = e.getJavaClass(); if(Util.isPrimitive(c)) @@ -2135,8 +2135,7 @@ public static class IfExpr implements Expr{ try { - if(testExpr instanceof MaybePrimitiveExpr && testExpr.hasJavaClass() && - testExpr.getJavaClass() == boolean.class) + if(maybePrimitiveType(testExpr) == boolean.class) { ((MaybePrimitiveExpr) testExpr).emitUnboxed(C.EXPRESSION, objx, gen); gen.ifZCmp(gen.EQ, falseLabel); |