diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-06-30 00:35:05 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-06-30 10:06:26 -0700 |
| commit | aa6a3debf31ce95de37cb2496976b7fcbd090a6b (patch) | |
| tree | de508f2e14b8e4b279c57af47c06b962b1b9343c /src/comp | |
| parent | 1f0c25406c8842dcb4c3832b14388dca3ccf35c8 (diff) | |
| download | rust-aa6a3debf31ce95de37cb2496976b7fcbd090a6b.tar.gz rust-aa6a3debf31ce95de37cb2496976b7fcbd090a6b.zip | |
Add missing expression variants to fold_expr
Diffstat (limited to 'src/comp')
| -rw-r--r-- | src/comp/front/fold.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/comp/front/fold.rs b/src/comp/front/fold.rs index c9c2855d08c..5676d704501 100644 --- a/src/comp/front/fold.rs +++ b/src/comp/front/fold.rs @@ -346,6 +346,11 @@ fn noop_fold_expr(&expr_ e, ast_fold fld) -> expr_ { expr_if(fld.fold_expr(cond), fld.fold_block(tr), option::map(fld.fold_expr, fl)) } + case (expr_ternary(?cond, ?tr, ?fl)) { + expr_ternary(fld.fold_expr(cond), + fld.fold_expr(tr), + fld.fold_expr(fl)) + } case (expr_while(?cond, ?body)) { expr_while(fld.fold_expr(cond), fld.fold_block(body)) } @@ -363,6 +368,9 @@ fn noop_fold_expr(&expr_ e, ast_fold fld) -> expr_ { case (expr_alt(?expr, ?arms)) { expr_alt(fld.fold_expr(expr), map(fld.fold_arm, arms)) } + case (expr_fn(?f)) { + expr_fn(fld.fold_fn(f)) + } case (expr_block(?block)) { expr_block(fld.fold_block(block)) } @@ -372,6 +380,9 @@ fn noop_fold_expr(&expr_ e, ast_fold fld) -> expr_ { case (expr_assign(?el, ?er)) { expr_assign(fld.fold_expr(el), fld.fold_expr(er)) } + case (expr_swap(?el, ?er)) { + expr_swap(fld.fold_expr(el), fld.fold_expr(er)) + } case (expr_assign_op(?op, ?el, ?er)) { expr_assign_op(op, fld.fold_expr(el), fld.fold_expr(er)) } @@ -407,6 +418,10 @@ fn noop_fold_expr(&expr_ e, ast_fold fld) -> expr_ { case (expr_log(?lv, ?e)) { expr_log(lv, fld.fold_expr(e)) } case (expr_assert(?e)) { expr_assert(fld.fold_expr(e)) } case (expr_check(?m, ?e)) { expr_check(m, fld.fold_expr(e)) } + case (expr_if_check(?cond, ?tr, ?fl)) { + expr_if_check(fld.fold_expr(cond), fld.fold_block(tr), + option::map(fld.fold_expr, fl)) + } case (expr_port(?ot)) { expr_port(alt(ot) { case (option::some(?t)) { option::some(fld.fold_ty(t)) } |
