summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2009-08-01 08:19:57 -0400
committerRich Hickey <richhickey@gmail.com>2009-08-01 08:19:57 -0400
commit0bd86ba81d15584b0e12ce6d783e41bcd916b95f (patch)
tree80c6ce030af7e2d9e1a9301b95d61532c9239d95
parent126253e94fbd01feefdfc44f69815e15e066a879 (diff)
fix maybePrimitiveEpr to test for canEmitPrimitive
-rw-r--r--src/jvm/clojure/lang/Compiler.java5
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);