diff options
Diffstat (limited to 'src/expr-visitor.cc')
-rw-r--r-- | src/expr-visitor.cc | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/expr-visitor.cc b/src/expr-visitor.cc index f6633049..9547a432 100644 --- a/src/expr-visitor.cc +++ b/src/expr-visitor.cc @@ -95,12 +95,11 @@ Result ExprVisitor::VisitExpr(Expr* root_expr) { if (iter != try_expr->block.exprs.end()) { PushDefault(&*iter++); } else { + CHECK_RESULT(delegate_->OnCatchExpr(try_expr)); + PopExprlist(); if (try_expr->catch_.empty()) { CHECK_RESULT(delegate_->EndTryExpr(try_expr)); - PopExprlist(); } else { - CHECK_RESULT(delegate_->OnCatchExpr(try_expr)); - PopExprlist(); PushExprlist(State::Catch, expr, try_expr->catch_); } } |