Always pass the visitor as the first argument to walk* functions
This commit is contained in:
parent
754bdef793
commit
8d290058c9
10 changed files with 294 additions and 282 deletions
|
@ -212,18 +212,18 @@ impl MutVisitor for CfgEval<'_> {
|
|||
#[instrument(level = "trace", skip(self))]
|
||||
fn visit_expr(&mut self, expr: &mut P<ast::Expr>) {
|
||||
self.0.configure_expr(expr, false);
|
||||
mut_visit::walk_expr(expr, self);
|
||||
mut_visit::walk_expr(self, expr);
|
||||
}
|
||||
|
||||
#[instrument(level = "trace", skip(self))]
|
||||
fn visit_method_receiver_expr(&mut self, expr: &mut P<ast::Expr>) {
|
||||
self.0.configure_expr(expr, true);
|
||||
mut_visit::walk_expr(expr, self);
|
||||
mut_visit::walk_expr(self, expr);
|
||||
}
|
||||
|
||||
fn filter_map_expr(&mut self, expr: P<ast::Expr>) -> Option<P<ast::Expr>> {
|
||||
let mut expr = configure!(self, expr);
|
||||
mut_visit::walk_expr(&mut expr, self);
|
||||
mut_visit::walk_expr(self, &mut expr);
|
||||
Some(expr)
|
||||
}
|
||||
|
||||
|
@ -231,15 +231,18 @@ impl MutVisitor for CfgEval<'_> {
|
|||
&mut self,
|
||||
param: ast::GenericParam,
|
||||
) -> SmallVec<[ast::GenericParam; 1]> {
|
||||
mut_visit::walk_flat_map_generic_param(configure!(self, param), self)
|
||||
let param = configure!(self, param);
|
||||
mut_visit::walk_flat_map_generic_param(self, param)
|
||||
}
|
||||
|
||||
fn flat_map_stmt(&mut self, stmt: ast::Stmt) -> SmallVec<[ast::Stmt; 1]> {
|
||||
mut_visit::walk_flat_map_stmt(configure!(self, stmt), self)
|
||||
let stmt = configure!(self, stmt);
|
||||
mut_visit::walk_flat_map_stmt(self, stmt)
|
||||
}
|
||||
|
||||
fn flat_map_item(&mut self, item: P<ast::Item>) -> SmallVec<[P<ast::Item>; 1]> {
|
||||
mut_visit::walk_flat_map_item(configure!(self, item), None, self)
|
||||
let item = configure!(self, item);
|
||||
mut_visit::walk_flat_map_item(self, item, None)
|
||||
}
|
||||
|
||||
fn flat_map_assoc_item(
|
||||
|
@ -247,37 +250,45 @@ impl MutVisitor for CfgEval<'_> {
|
|||
item: P<ast::AssocItem>,
|
||||
ctxt: AssocCtxt,
|
||||
) -> SmallVec<[P<ast::AssocItem>; 1]> {
|
||||
mut_visit::walk_flat_map_item(configure!(self, item), Some(ctxt), self)
|
||||
let item = configure!(self, item);
|
||||
mut_visit::walk_flat_map_item(self, item, Some(ctxt))
|
||||
}
|
||||
|
||||
fn flat_map_foreign_item(
|
||||
&mut self,
|
||||
foreign_item: P<ast::ForeignItem>,
|
||||
) -> SmallVec<[P<ast::ForeignItem>; 1]> {
|
||||
mut_visit::walk_flat_map_item(configure!(self, foreign_item), None, self)
|
||||
let foreign_item = configure!(self, foreign_item);
|
||||
mut_visit::walk_flat_map_item(self, foreign_item, None)
|
||||
}
|
||||
|
||||
fn flat_map_arm(&mut self, arm: ast::Arm) -> SmallVec<[ast::Arm; 1]> {
|
||||
mut_visit::walk_flat_map_arm(configure!(self, arm), self)
|
||||
let arm = configure!(self, arm);
|
||||
mut_visit::walk_flat_map_arm(self, arm)
|
||||
}
|
||||
|
||||
fn flat_map_expr_field(&mut self, field: ast::ExprField) -> SmallVec<[ast::ExprField; 1]> {
|
||||
mut_visit::walk_flat_map_expr_field(configure!(self, field), self)
|
||||
let field = configure!(self, field);
|
||||
mut_visit::walk_flat_map_expr_field(self, field)
|
||||
}
|
||||
|
||||
fn flat_map_pat_field(&mut self, fp: ast::PatField) -> SmallVec<[ast::PatField; 1]> {
|
||||
mut_visit::walk_flat_map_pat_field(configure!(self, fp), self)
|
||||
let fp = configure!(self, fp);
|
||||
mut_visit::walk_flat_map_pat_field(self, fp)
|
||||
}
|
||||
|
||||
fn flat_map_param(&mut self, p: ast::Param) -> SmallVec<[ast::Param; 1]> {
|
||||
mut_visit::walk_flat_map_param(configure!(self, p), self)
|
||||
let p = configure!(self, p);
|
||||
mut_visit::walk_flat_map_param(self, p)
|
||||
}
|
||||
|
||||
fn flat_map_field_def(&mut self, sf: ast::FieldDef) -> SmallVec<[ast::FieldDef; 1]> {
|
||||
mut_visit::walk_flat_map_field_def(configure!(self, sf), self)
|
||||
let sf = configure!(self, sf);
|
||||
mut_visit::walk_flat_map_field_def(self, sf)
|
||||
}
|
||||
|
||||
fn flat_map_variant(&mut self, variant: ast::Variant) -> SmallVec<[ast::Variant; 1]> {
|
||||
mut_visit::walk_flat_map_variant(configure!(self, variant), self)
|
||||
let variant = configure!(self, variant);
|
||||
mut_visit::walk_flat_map_variant(self, variant)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -122,7 +122,7 @@ impl TestHarnessGenerator<'_> {
|
|||
impl<'a> MutVisitor for TestHarnessGenerator<'a> {
|
||||
fn visit_crate(&mut self, c: &mut ast::Crate) {
|
||||
let prev_tests = mem::take(&mut self.tests);
|
||||
walk_crate(c, self);
|
||||
walk_crate(self, c);
|
||||
self.add_test_cases(ast::CRATE_NODE_ID, c.spans.inner_span, prev_tests);
|
||||
|
||||
// Create a main function to run our tests
|
||||
|
@ -192,7 +192,7 @@ struct EntryPointCleaner<'a> {
|
|||
impl<'a> MutVisitor for EntryPointCleaner<'a> {
|
||||
fn flat_map_item(&mut self, i: P<ast::Item>) -> SmallVec<[P<ast::Item>; 1]> {
|
||||
self.depth += 1;
|
||||
let item = walk_flat_map_item(i, None, self).expect_one("noop did something");
|
||||
let item = walk_flat_map_item(self, i, None).expect_one("noop did something");
|
||||
self.depth -= 1;
|
||||
|
||||
// Remove any #[rustc_main] or #[start] from the AST so it doesn't
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue