about summary refs log tree commit diff
path: root/src/libsyntax/fold.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-08-08 17:14:25 -0700
committerPatrick Walton <pcwalton@mimiga.net>2012-08-08 17:15:37 -0700
commit4f98e80db1179d63395d2a4ccd432b5590d12d61 (patch)
tree9ab92b85eccc0f7849141c530f10ed13fafe4557 /src/libsyntax/fold.rs
parent35db5b7be16cedf12c1f32736b031a9f7438d6b3 (diff)
rustc: Do some plumbing work in preparation for common fields in enums
Diffstat (limited to 'src/libsyntax/fold.rs')
-rw-r--r--src/libsyntax/fold.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/libsyntax/fold.rs b/src/libsyntax/fold.rs
index d84c981504f..5954d70739e 100644
--- a/src/libsyntax/fold.rs
+++ b/src/libsyntax/fold.rs
@@ -238,9 +238,11 @@ fn noop_fold_item_underscore(i: item_, fld: ast_fold) -> item_ {
           item_foreign_mod(nm) => item_foreign_mod(fld.fold_foreign_mod(nm)),
           item_ty(t, typms) => item_ty(fld.fold_ty(t),
                                        fold_ty_params(typms, fld)),
-          item_enum(variants, typms) => {
-            item_enum(vec::map(variants, |x| fld.fold_variant(x)),
-                      fold_ty_params(typms, fld))
+          item_enum(enum_definition, typms) => {
+            item_enum(ast::enum_def({
+                variants: vec::map(enum_definition.variants,
+                                   |x| fld.fold_variant(x)),
+            }), fold_ty_params(typms, fld))
           }
           item_class(struct_def, typms) => {
             let resulting_optional_constructor;
@@ -565,9 +567,10 @@ fn noop_fold_variant(v: variant_, fld: ast_fold) -> variant_ {
             })
         }
 
-        enum_variant_kind(variants) => {
-            let variants = vec::map(variants, |x| fld.fold_variant(x));
-            kind = enum_variant_kind(variants);
+        enum_variant_kind(enum_definition) => {
+            let variants = vec::map(enum_definition.variants,
+                                    |x| fld.fold_variant(x));
+            kind = enum_variant_kind(ast::enum_def({ variants: variants }));
         }
     }