diff options
author | Rich Hickey <richhickey@gmail.com> | 2009-12-07 16:25:34 -0500 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2009-12-07 16:25:34 -0500 |
commit | 6c0c37e048f49ee5cd3afa79ce461abbc6a0c367 (patch) | |
tree | e40472f3d2fdbf500372ec81773686ca8fda514c | |
parent | 76c8f45293987b80e3599535dd86482e1180661d (diff) |
fix try with no catch/finally
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 12 |
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); + } } } } |