fn visit_variant_data(&mut self, s: &'ast VariantData) {
walk_struct_def(self, s)
}
- fn visit_struct_field(&mut self, s: &'ast StructField) {
- walk_struct_field(self, s)
+ fn visit_field_def(&mut self, s: &'ast FieldDef) {
+ walk_field_def(self, s)
}
fn visit_enum_def(
&mut self,
fn visit_fn_header(&mut self, _header: &'ast FnHeader) {
// Nothing to do
}
- fn visit_field(&mut self, f: &'ast Field) {
- walk_field(self, f)
+ fn visit_expr_field(&mut self, f: &'ast ExprField) {
+ walk_expr_field(self, f)
}
- fn visit_field_pattern(&mut self, fp: &'ast FieldPat) {
- walk_field_pattern(self, fp)
+ fn visit_pat_field(&mut self, fp: &'ast PatField) {
+ walk_pat_field(self, fp)
}
}
walk_list!(visitor, visit_attribute, &variant.attrs);
}
-pub fn walk_field<'a, V: Visitor<'a>>(visitor: &mut V, f: &'a Field) {
+pub fn walk_expr_field<'a, V: Visitor<'a>>(visitor: &mut V, f: &'a ExprField) {
visitor.visit_expr(&f.expr);
visitor.visit_ident(f.ident);
walk_list!(visitor, visit_attribute, f.attrs.iter());
}
-pub fn walk_field_pattern<'a, V: Visitor<'a>>(visitor: &mut V, fp: &'a FieldPat) {
+pub fn walk_pat_field<'a, V: Visitor<'a>>(visitor: &mut V, fp: &'a PatField) {
visitor.visit_ident(fp.ident);
visitor.visit_pat(&fp.pat);
walk_list!(visitor, visit_attribute, fp.attrs.iter());
}
PatKind::Struct(ref path, ref fields, _) => {
visitor.visit_path(path, pattern.id);
- walk_list!(visitor, visit_field_pattern, fields);
+ walk_list!(visitor, visit_pat_field, fields);
}
PatKind::Box(ref subpattern)
| PatKind::Ref(ref subpattern, _)
}
pub fn walk_struct_def<'a, V: Visitor<'a>>(visitor: &mut V, struct_definition: &'a VariantData) {
- walk_list!(visitor, visit_struct_field, struct_definition.fields());
+ walk_list!(visitor, visit_field_def, struct_definition.fields());
}
-pub fn walk_struct_field<'a, V: Visitor<'a>>(visitor: &mut V, struct_field: &'a StructField) {
- visitor.visit_vis(&struct_field.vis);
- if let Some(ident) = struct_field.ident {
+pub fn walk_field_def<'a, V: Visitor<'a>>(visitor: &mut V, field: &'a FieldDef) {
+ visitor.visit_vis(&field.vis);
+ if let Some(ident) = field.ident {
visitor.visit_ident(ident);
}
- visitor.visit_ty(&struct_field.ty);
- walk_list!(visitor, visit_attribute, &struct_field.attrs);
+ visitor.visit_ty(&field.ty);
+ walk_list!(visitor, visit_attribute, &field.attrs);
}
pub fn walk_block<'a, V: Visitor<'a>>(visitor: &mut V, block: &'a Block) {
visitor.visit_expr(element);
visitor.visit_anon_const(count)
}
- ExprKind::Struct(ref path, ref fields, ref optional_base) => {
- visitor.visit_path(path, expression.id);
- walk_list!(visitor, visit_field, fields);
- match optional_base {
+ ExprKind::Struct(ref se) => {
+ visitor.visit_path(&se.path, expression.id);
+ walk_list!(visitor, visit_expr_field, &se.fields);
+ match &se.rest {
StructRest::Base(expr) => visitor.visit_expr(expr),
StructRest::Rest(_span) => {}
StructRest::None => {}