Skip to content

Commit 76576d4

Browse files
committed
Unify associated item mut visitors.
1 parent 9193d7a commit 76576d4

File tree

5 files changed

+31
-63
lines changed

5 files changed

+31
-63
lines changed

src/librustc_interface/util.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -782,7 +782,7 @@ impl<'a> MutVisitor for ReplaceBodyWithLoop<'a, '_> {
782782
ast::TraitItemKind::Method(ref sig, _) => Self::is_sig_const(sig),
783783
_ => false,
784784
};
785-
self.run(is_const, |s| noop_flat_map_trait_item(i, s))
785+
self.run(is_const, |s| noop_flat_map_assoc_item(i, s))
786786
}
787787

788788
fn flat_map_impl_item(&mut self, i: ast::ImplItem) -> SmallVec<[ast::ImplItem; 1]> {
@@ -791,7 +791,7 @@ impl<'a> MutVisitor for ReplaceBodyWithLoop<'a, '_> {
791791
ast::ImplItemKind::Method(ref sig, _) => Self::is_sig_const(sig),
792792
_ => false,
793793
};
794-
self.run(is_const, |s| noop_flat_map_impl_item(i, s))
794+
self.run(is_const, |s| noop_flat_map_assoc_item(i, s))
795795
}
796796

797797
fn visit_anon_const(&mut self, c: &mut ast::AnonConst) {

src/librustc_parse/config.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -344,12 +344,12 @@ impl<'a> MutVisitor for StripUnconfigured<'a> {
344344
noop_flat_map_item(configure!(self, item), self)
345345
}
346346

347-
fn flat_map_impl_item(&mut self, item: ast::ImplItem) -> SmallVec<[ast::ImplItem; 1]> {
348-
noop_flat_map_impl_item(configure!(self, item), self)
347+
fn flat_map_impl_item(&mut self, item: ast::AssocItem) -> SmallVec<[ast::AssocItem; 1]> {
348+
noop_flat_map_assoc_item(configure!(self, item), self)
349349
}
350350

351-
fn flat_map_trait_item(&mut self, item: ast::TraitItem) -> SmallVec<[ast::TraitItem; 1]> {
352-
noop_flat_map_trait_item(configure!(self, item), self)
351+
fn flat_map_trait_item(&mut self, item: ast::AssocItem) -> SmallVec<[ast::AssocItem; 1]> {
352+
noop_flat_map_assoc_item(configure!(self, item), self)
353353
}
354354

355355
fn visit_mac(&mut self, _mac: &mut ast::Mac) {

src/libsyntax/mut_visit.rs

Lines changed: 11 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,12 @@ pub trait MutVisitor: Sized {
103103
noop_visit_item_kind(i, self);
104104
}
105105

106-
fn flat_map_trait_item(&mut self, i: TraitItem) -> SmallVec<[TraitItem; 1]> {
107-
noop_flat_map_trait_item(i, self)
106+
fn flat_map_trait_item(&mut self, i: AssocItem) -> SmallVec<[AssocItem; 1]> {
107+
noop_flat_map_assoc_item(i, self)
108108
}
109109

110-
fn flat_map_impl_item(&mut self, i: ImplItem) -> SmallVec<[ImplItem; 1]> {
111-
noop_flat_map_impl_item(i, self)
110+
fn flat_map_impl_item(&mut self, i: AssocItem) -> SmallVec<[AssocItem; 1]> {
111+
noop_flat_map_assoc_item(i, self)
112112
}
113113

114114
fn visit_fn_decl(&mut self, d: &mut P<FnDecl>) {
@@ -940,62 +940,30 @@ pub fn noop_visit_item_kind<T: MutVisitor>(kind: &mut ItemKind, vis: &mut T) {
940940
}
941941
}
942942

943-
pub fn noop_flat_map_trait_item<T: MutVisitor>(mut item: TraitItem, visitor: &mut T)
944-
-> SmallVec<[TraitItem; 1]>
943+
pub fn noop_flat_map_assoc_item<T: MutVisitor>(mut item: AssocItem, visitor: &mut T)
944+
-> SmallVec<[AssocItem; 1]>
945945
{
946-
let TraitItem { id, ident, vis, defaultness: _, attrs, generics, kind, span, tokens: _ } =
947-
&mut item;
948-
visitor.visit_id(id);
949-
visitor.visit_ident(ident);
950-
visitor.visit_vis(vis);
951-
visit_attrs(attrs, visitor);
952-
visitor.visit_generics(generics);
953-
match kind {
954-
TraitItemKind::Const(ty, default) => {
955-
visitor.visit_ty(ty);
956-
visit_opt(default, |default| visitor.visit_expr(default));
957-
}
958-
TraitItemKind::Method(sig, body) => {
959-
visit_fn_sig(sig, visitor);
960-
visit_opt(body, |body| visitor.visit_block(body));
961-
}
962-
TraitItemKind::TyAlias(bounds, default) => {
963-
visit_bounds(bounds, visitor);
964-
visit_opt(default, |default| visitor.visit_ty(default));
965-
}
966-
TraitItemKind::Macro(mac) => {
967-
visitor.visit_mac(mac);
968-
}
969-
}
970-
visitor.visit_span(span);
971-
972-
smallvec![item]
973-
}
974-
975-
pub fn noop_flat_map_impl_item<T: MutVisitor>(mut item: ImplItem, visitor: &mut T)
976-
-> SmallVec<[ImplItem; 1]>
977-
{
978-
let ImplItem { id, ident, vis, defaultness: _, attrs, generics, kind, span, tokens: _ } =
946+
let AssocItem { id, ident, vis, defaultness: _, attrs, generics, kind, span, tokens: _ } =
979947
&mut item;
980948
visitor.visit_id(id);
981949
visitor.visit_ident(ident);
982950
visitor.visit_vis(vis);
983951
visit_attrs(attrs, visitor);
984952
visitor.visit_generics(generics);
985953
match kind {
986-
ImplItemKind::Const(ty, expr) => {
954+
AssocItemKind::Const(ty, expr) => {
987955
visitor.visit_ty(ty);
988956
visit_opt(expr, |expr| visitor.visit_expr(expr));
989957
}
990-
ImplItemKind::Method(sig, body) => {
958+
AssocItemKind::Method(sig, body) => {
991959
visit_fn_sig(sig, visitor);
992960
visit_opt(body, |body| visitor.visit_block(body));
993961
}
994-
ImplItemKind::TyAlias(bounds, ty) => {
962+
AssocItemKind::TyAlias(bounds, ty) => {
995963
visit_bounds(bounds, visitor);
996964
visit_opt(ty, |ty| visitor.visit_ty(ty));
997965
}
998-
ImplItemKind::Macro(mac) => visitor.visit_mac(mac),
966+
AssocItemKind::Macro(mac) => visitor.visit_mac(mac),
999967
}
1000968
visitor.visit_span(span);
1001969

src/libsyntax_expand/expand.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1317,7 +1317,7 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
13171317
}
13181318
}
13191319

1320-
fn flat_map_trait_item(&mut self, item: ast::TraitItem) -> SmallVec<[ast::TraitItem; 1]> {
1320+
fn flat_map_trait_item(&mut self, item: ast::AssocItem) -> SmallVec<[ast::AssocItem; 1]> {
13211321
let mut item = configure!(self, item);
13221322

13231323
let (attr, traits, after_derive) = self.classify_item(&mut item);
@@ -1327,16 +1327,16 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
13271327
}
13281328

13291329
match item.kind {
1330-
ast::TraitItemKind::Macro(mac) => {
1331-
let ast::TraitItem { attrs, span, .. } = item;
1330+
ast::AssocItemKind::Macro(mac) => {
1331+
let ast::AssocItem { attrs, span, .. } = item;
13321332
self.check_attributes(&attrs);
13331333
self.collect_bang(mac, span, AstFragmentKind::TraitItems).make_trait_items()
13341334
}
1335-
_ => noop_flat_map_trait_item(item, self),
1335+
_ => noop_flat_map_assoc_item(item, self),
13361336
}
13371337
}
13381338

1339-
fn flat_map_impl_item(&mut self, item: ast::ImplItem) -> SmallVec<[ast::ImplItem; 1]> {
1339+
fn flat_map_impl_item(&mut self, item: ast::AssocItem) -> SmallVec<[ast::AssocItem; 1]> {
13401340
let mut item = configure!(self, item);
13411341

13421342
let (attr, traits, after_derive) = self.classify_item(&mut item);
@@ -1346,12 +1346,12 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
13461346
}
13471347

13481348
match item.kind {
1349-
ast::ImplItemKind::Macro(mac) => {
1350-
let ast::ImplItem { attrs, span, .. } = item;
1349+
ast::AssocItemKind::Macro(mac) => {
1350+
let ast::AssocItem { attrs, span, .. } = item;
13511351
self.check_attributes(&attrs);
13521352
self.collect_bang(mac, span, AstFragmentKind::ImplItems).make_impl_items()
13531353
}
1354-
_ => noop_flat_map_impl_item(item, self),
1354+
_ => noop_flat_map_assoc_item(item, self),
13551355
}
13561356
}
13571357

src/libsyntax_expand/placeholders.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -253,17 +253,17 @@ impl<'a, 'b> MutVisitor for PlaceholderExpander<'a, 'b> {
253253
noop_flat_map_item(item, self)
254254
}
255255

256-
fn flat_map_trait_item(&mut self, item: ast::TraitItem) -> SmallVec<[ast::TraitItem; 1]> {
256+
fn flat_map_trait_item(&mut self, item: ast::AssocItem) -> SmallVec<[ast::AssocItem; 1]> {
257257
match item.kind {
258-
ast::TraitItemKind::Macro(_) => self.remove(item.id).make_trait_items(),
259-
_ => noop_flat_map_trait_item(item, self),
258+
ast::AssocItemKind::Macro(_) => self.remove(item.id).make_trait_items(),
259+
_ => noop_flat_map_assoc_item(item, self),
260260
}
261261
}
262262

263-
fn flat_map_impl_item(&mut self, item: ast::ImplItem) -> SmallVec<[ast::ImplItem; 1]> {
263+
fn flat_map_impl_item(&mut self, item: ast::AssocItem) -> SmallVec<[ast::AssocItem; 1]> {
264264
match item.kind {
265-
ast::ImplItemKind::Macro(_) => self.remove(item.id).make_impl_items(),
266-
_ => noop_flat_map_impl_item(item, self),
265+
ast::AssocItemKind::Macro(_) => self.remove(item.id).make_impl_items(),
266+
_ => noop_flat_map_assoc_item(item, self),
267267
}
268268
}
269269

0 commit comments

Comments
 (0)