diff options
Diffstat (limited to 'src/expr-visitor.cc')
-rw-r--r-- | src/expr-visitor.cc | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/expr-visitor.cc b/src/expr-visitor.cc index 916f3b87..af8d16a5 100644 --- a/src/expr-visitor.cc +++ b/src/expr-visitor.cc @@ -38,7 +38,7 @@ Result ExprVisitor::VisitExpr(Expr* expr) { case ExprType::Block: { auto block_expr = cast<BlockExpr>(expr); CHECK_RESULT(delegate_->BeginBlockExpr(block_expr)); - CHECK_RESULT(VisitExprList(block_expr->block->first)); + CHECK_RESULT(VisitExprList(block_expr->block->exprs)); CHECK_RESULT(delegate_->EndBlockExpr(block_expr)); break; } @@ -99,7 +99,7 @@ Result ExprVisitor::VisitExpr(Expr* expr) { case ExprType::If: { auto if_expr = cast<IfExpr>(expr); CHECK_RESULT(delegate_->BeginIfExpr(if_expr)); - CHECK_RESULT(VisitExprList(if_expr->true_->first)); + CHECK_RESULT(VisitExprList(if_expr->true_->exprs)); CHECK_RESULT(delegate_->AfterIfTrueExpr(if_expr)); CHECK_RESULT(VisitExprList(if_expr->false_)); CHECK_RESULT(delegate_->EndIfExpr(if_expr)); @@ -113,7 +113,7 @@ Result ExprVisitor::VisitExpr(Expr* expr) { case ExprType::Loop: { auto loop_expr = cast<LoopExpr>(expr); CHECK_RESULT(delegate_->BeginLoopExpr(loop_expr)); - CHECK_RESULT(VisitExprList(loop_expr->block->first)); + CHECK_RESULT(VisitExprList(loop_expr->block->exprs)); CHECK_RESULT(delegate_->EndLoopExpr(loop_expr)); break; } @@ -157,10 +157,10 @@ Result ExprVisitor::VisitExpr(Expr* expr) { case ExprType::TryBlock: { auto try_expr = cast<TryExpr>(expr); CHECK_RESULT(delegate_->BeginTryExpr(try_expr)); - CHECK_RESULT(VisitExprList(try_expr->block->first)); + CHECK_RESULT(VisitExprList(try_expr->block->exprs)); for (Catch* catch_ : try_expr->catches) { CHECK_RESULT(delegate_->OnCatchExpr(try_expr, catch_)); - CHECK_RESULT(VisitExprList(catch_->first)); + CHECK_RESULT(VisitExprList(catch_->exprs)); } CHECK_RESULT(delegate_->EndTryExpr(try_expr)); break; @@ -178,14 +178,14 @@ Result ExprVisitor::VisitExpr(Expr* expr) { return Result::Ok; } -Result ExprVisitor::VisitExprList(Expr* first) { - for (Expr* expr = first; expr; expr = expr->next) - CHECK_RESULT(VisitExpr(expr)); +Result ExprVisitor::VisitExprList(ExprList& exprs) { + for (Expr& expr : exprs) + CHECK_RESULT(VisitExpr(&expr)); return Result::Ok; } Result ExprVisitor::VisitFunc(Func* func) { - return VisitExprList(func->first_expr); + return VisitExprList(func->exprs); } } // namespace wabt |