summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2009-12-07 16:25:34 -0500
committerRich Hickey <richhickey@gmail.com>2009-12-07 16:25:34 -0500
commit6c0c37e048f49ee5cd3afa79ce461abbc6a0c367 (patch)
treee40472f3d2fdbf500372ec81773686ca8fda514c
parent76c8f45293987b80e3599535dd86482e1180661d (diff)
fix try with no catch/finally
-rw-r--r--src/jvm/clojure/lang/Compiler.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java
index db2d3ffd..72ac5313 100644
--- a/src/jvm/clojure/lang/Compiler.java
+++ b/src/jvm/clojure/lang/Compiler.java
@@ -1798,9 +1798,7 @@ public static class TryExpr implements Expr{
else
{
if(bodyExpr == null)
- {
bodyExpr = (new BodyExpr.Parser()).parse(context, RT.seq(body));
- }
if(Util.equals(op, CATCH))
{
Class c = HostExpr.maybeClass(RT.second(f), false);
@@ -1848,6 +1846,8 @@ public static class TryExpr implements Expr{
}
}
}
+ if(bodyExpr == null)
+ bodyExpr = (new BodyExpr.Parser()).parse(context, RT.seq(body));
return new TryExpr(bodyExpr, catches, finallyExpr, retLocal,
finallyLocal);
@@ -3961,8 +3961,10 @@ static public class ObjExpr implements Expr{
gen.visitInsn(Opcodes.ACONST_NULL);
gen.storeArg(lb.idx - 1);
}
-// else
+ else
+ {
// System.out.println("use: " + rep);
+ }
}
}
else
@@ -3981,8 +3983,10 @@ static public class ObjExpr implements Expr{
gen.visitInsn(Opcodes.ACONST_NULL);
gen.visitVarInsn(OBJECT_TYPE.getOpcode(Opcodes.ISTORE), lb.idx);
}
-// else
+ else
+ {
// System.out.println("use: " + rep);
+ }
}
}
}