about summary refs log tree commit diff
path: root/src/comp
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-06-30 00:35:05 -0700
committerBrian Anderson <banderson@mozilla.com>2011-06-30 10:06:26 -0700
commitaa6a3debf31ce95de37cb2496976b7fcbd090a6b (patch)
treede508f2e14b8e4b279c57af47c06b962b1b9343c /src/comp
parent1f0c25406c8842dcb4c3832b14388dca3ccf35c8 (diff)
downloadrust-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.rs15
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)) }