diff options
| author | maxcabrajac <max@cabrajac.com> | 2024-11-17 19:41:16 -0300 |
|---|---|---|
| committer | maxcabrajac <max@cabrajac.com> | 2024-11-17 23:04:49 -0300 |
| commit | e52cef19a4b2a83e803ce8d2d5b1189e2b848d0d (patch) | |
| tree | 8122283a5ae639e07cf98ced8725358b14f31d8f | |
| parent | b96758bb71cfb71b3e335b07d86389f53414f1c0 (diff) | |
| download | rust-e52cef19a4b2a83e803ce8d2d5b1189e2b848d0d.tar.gz rust-e52cef19a4b2a83e803ce8d2d5b1189e2b848d0d.zip | |
Variant
| -rw-r--r-- | compiler/rustc_ast/src/mut_visit.rs | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/compiler/rustc_ast/src/mut_visit.rs b/compiler/rustc_ast/src/mut_visit.rs index 5ff65e9d44d..735002e25a5 100644 --- a/compiler/rustc_ast/src/mut_visit.rs +++ b/compiler/rustc_ast/src/mut_visit.rs @@ -207,6 +207,10 @@ pub trait MutVisitor: Sized { walk_foreign_mod(self, nm); } + fn visit_variant(&mut self, v: &mut Variant) { + walk_variant(self, v); + } + fn flat_map_variant(&mut self, v: Variant) -> SmallVec<[Variant; 1]> { walk_flat_map_variant(self, v) } @@ -551,11 +555,8 @@ fn walk_foreign_mod<T: MutVisitor>(vis: &mut T, foreign_mod: &mut ForeignMod) { items.flat_map_in_place(|item| vis.flat_map_foreign_item(item)); } -pub fn walk_flat_map_variant<T: MutVisitor>( - visitor: &mut T, - mut variant: Variant, -) -> SmallVec<[Variant; 1]> { - let Variant { ident, vis, attrs, id, data, disr_expr, span, is_placeholder: _ } = &mut variant; +pub fn walk_variant<T: MutVisitor>(visitor: &mut T, variant: &mut Variant) { + let Variant { ident, vis, attrs, id, data, disr_expr, span, is_placeholder: _ } = variant; visitor.visit_id(id); visit_attrs(visitor, attrs); visitor.visit_vis(vis); @@ -563,6 +564,13 @@ pub fn walk_flat_map_variant<T: MutVisitor>( visitor.visit_variant_data(data); visit_opt(disr_expr, |disr_expr| visitor.visit_anon_const(disr_expr)); visitor.visit_span(span); +} + +pub fn walk_flat_map_variant<T: MutVisitor>( + vis: &mut T, + mut variant: Variant, +) -> SmallVec<[Variant; 1]> { + vis.visit_variant(&mut variant); smallvec![variant] } |
