track traits lol

This commit is contained in:
nora 2023-01-23 09:13:37 +01:00
parent fa0b3021a9
commit 76418d9b82
4 changed files with 19 additions and 16 deletions

View file

@ -88,6 +88,8 @@ impl VisitMut for Visitor<'_> {
tracking!(visit_item_fn_mut);
tracking!(visit_impl_item_method_mut);
tracking!(visit_item_impl_mut);
tracking!(visit_field_mut);
tracking!(visit_item_struct_mut);
}
#[derive(Default)]

View file

@ -31,18 +31,6 @@ impl VisitMut for Visitor<'_> {
}
}
fn visit_field_mut(&mut self, field: &mut syn::Field) {
self.current_path.push(field.ident.to_string());
syn::visit_mut::visit_field_mut(self, method);
self.current_path.pop();
}
fn visit_item_struct_mut(&mut self, struct_: &mut syn::ItemStruct) {
self.current_path.push(struct_.ident.to_string());
syn::visit_mut::visit_item_struct_mut(self, method);
self.current_path.pop();
}
tracking!();
}

View file

@ -220,6 +220,7 @@ macro_rules! tracking {
tracking!(visit_item_mod_mut);
tracking!(visit_field_mut);
tracking!(visit_item_struct_mut);
tracking!(visit_item_trait_mut);
};
(visit_item_fn_mut) => {
fn visit_item_fn_mut(&mut self, func: &mut syn::ItemFn) {
@ -252,15 +253,24 @@ macro_rules! tracking {
};
(visit_field_mut) => {
fn visit_field_mut(&mut self, field: &mut syn::Field) {
self.current_path.push(field.ident.to_string());
syn::visit_mut::visit_field_mut(self, method);
self.current_path.pop();
if let Some(ident) = &field.ident {
self.current_path.push(ident.to_string());
syn::visit_mut::visit_field_mut(self, field);
self.current_path.pop();
}
}
};
(visit_item_struct_mut) => {
fn visit_item_struct_mut(&mut self, struct_: &mut syn::ItemStruct) {
self.current_path.push(struct_.ident.to_string());
syn::visit_mut::visit_item_struct_mut(self, method);
syn::visit_mut::visit_item_struct_mut(self, struct_);
self.current_path.pop();
}
};
(visit_item_trait_mut) => {
fn visit_item_trait_mut(&mut self, trait_: &mut syn::ItemTrait) {
self.current_path.push(trait_.ident.to_string());
syn::visit_mut::visit_item_trait_mut(self, trait_);
self.current_path.pop();
}
};

View file

@ -310,4 +310,7 @@ impl VisitMut for FindUnusedFunction<'_> {
tracking!(visit_item_fn_mut);
tracking!(visit_impl_item_method_mut);
tracking!(visit_field_mut);
tracking!(visit_item_struct_mut);
tracking!(visit_item_trait_mut);
}