diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2012-08-08 17:14:25 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2012-08-08 17:15:37 -0700 |
| commit | 4f98e80db1179d63395d2a4ccd432b5590d12d61 (patch) | |
| tree | 9ab92b85eccc0f7849141c530f10ed13fafe4557 /src/libsyntax/fold.rs | |
| parent | 35db5b7be16cedf12c1f32736b031a9f7438d6b3 (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.rs | 15 |
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 })); } } |
