diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2020-02-14 12:55:42 +0100 |
|---|---|---|
| committer | Mazdak Farrokhzad <twingoow@gmail.com> | 2020-02-15 18:00:01 +0100 |
| commit | 95dc9b9a73353a786e3c934c5074fb793ff7a735 (patch) | |
| tree | a5f79c8dddd7da82b1a0db260a2ce4645be79ba2 /src/libsyntax | |
| parent | e2ae717265c4597d605cf5981a6e557516ccb0c8 (diff) | |
ast: normalize `ForeignItemKind::Ty` & `AssocItemKind::TyAlias`.
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ast.rs | 4 | ||||
| -rw-r--r-- | src/libsyntax/mut_visit.rs | 6 | ||||
| -rw-r--r-- | src/libsyntax/visit.rs | 6 |
3 files changed, 12 insertions, 4 deletions
diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index af0195ffc61..fe353bc994a 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -2610,7 +2610,7 @@ pub enum ForeignItemKind { /// A function. Fn(FnSig, Generics, Option<P<Block>>), /// A type. - Ty, + TyAlias(Generics, GenericBounds, Option<P<Ty>>), /// A macro expanding to an item. Macro(Mac), } @@ -2620,7 +2620,7 @@ impl ForeignItemKind { match *self { ForeignItemKind::Fn(..) => "foreign function", ForeignItemKind::Static(..) => "foreign static item", - ForeignItemKind::Ty => "foreign type", + ForeignItemKind::TyAlias(..) => "foreign type", ForeignItemKind::Macro(..) => "macro in foreign module", } } diff --git a/src/libsyntax/mut_visit.rs b/src/libsyntax/mut_visit.rs index f3857b3a414..d36b0a28a8c 100644 --- a/src/libsyntax/mut_visit.rs +++ b/src/libsyntax/mut_visit.rs @@ -1051,7 +1051,11 @@ pub fn noop_flat_map_foreign_item<T: MutVisitor>( visit_opt(body, |body| visitor.visit_block(body)); } ForeignItemKind::Static(t, _m) => visitor.visit_ty(t), - ForeignItemKind::Ty => {} + ForeignItemKind::TyAlias(generics, bounds, ty) => { + visitor.visit_generics(generics); + visit_bounds(bounds, visitor); + visit_opt(ty, |ty| visitor.visit_ty(ty)); + } ForeignItemKind::Macro(mac) => visitor.visit_mac(mac), } visitor.visit_id(id); diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs index edcfd7f4e78..ed57fc8abf3 100644 --- a/src/libsyntax/visit.rs +++ b/src/libsyntax/visit.rs @@ -535,7 +535,11 @@ pub fn walk_foreign_item<'a, V: Visitor<'a>>(visitor: &mut V, item: &'a ForeignI visitor.visit_fn(kind, item.span, item.id); } ForeignItemKind::Static(ref typ, _) => visitor.visit_ty(typ), - ForeignItemKind::Ty => (), + ForeignItemKind::TyAlias(ref generics, ref bounds, ref ty) => { + visitor.visit_generics(generics); + walk_list!(visitor, visit_param_bound, bounds); + walk_list!(visitor, visit_ty, ty); + } ForeignItemKind::Macro(ref mac) => visitor.visit_mac(mac), } |
