Skip to content

Commit 1e89ad9

Browse files
committed
Unify {visit,walk}_block
1 parent a58eede commit 1e89ad9

File tree

2 files changed

+14
-17
lines changed

2 files changed

+14
-17
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,7 @@ macro_rules! make_ast_visitor {
317317
make_visit!{Arm; visit_arm, walk_arm}
318318
make_visit!{AssocItemConstraint; visit_assoc_item_constraint, walk_assoc_item_constraint}
319319
make_visit!{Attribute; visit_attribute, walk_attribute}
320+
make_visit!{Block; visit_block, walk_block}
320321
make_visit!{CaptureBy; visit_capture_by, walk_capture_by}
321322
make_visit!{ClosureBinder; visit_closure_binder, walk_closure_binder}
322323
make_visit!{Crate; visit_crate, walk_crate}
@@ -354,7 +355,6 @@ macro_rules! make_ast_visitor {
354355
make_visit!{WhereClause; visit_where_clause, walk_where_clause}
355356
make_visit!{WherePredicate; visit_where_predicate, walk_where_predicate}
356357

357-
make_visit!{P!(Block); visit_block, walk_block}
358358
make_visit!{P!(Expr); visit_expr, walk_expr}
359359
make_visit!{P!(Pat); visit_pat, walk_pat}
360360
make_visit!{P!(Ty); visit_ty, walk_ty}
@@ -404,6 +404,18 @@ macro_rules! make_ast_visitor {
404404
return_result!(V)
405405
}
406406

407+
pub fn walk_block<$($lt,)? V: $trait$(<$lt>)?>(
408+
vis: &mut V,
409+
block: ref_t!(Block)
410+
) -> result!(V) {
411+
let Block { id, stmts, rules: _, span, tokens, could_be_bare_literal: _ } = block;
412+
try_v!(visit_id!(vis, id));
413+
visit_list!(vis, visit_stmt, flat_map_stmt, stmts);
414+
visit_lazy_tts!(vis, tokens);
415+
try_v!(visit_span!(vis, span));
416+
return_result!(V)
417+
}
418+
407419
pub fn walk_capture_by<$($lt,)? V: $trait$(<$lt>)?>(
408420
vis: &mut V,
409421
capture_by: ref_t!(CaptureBy)
@@ -1394,12 +1406,6 @@ pub mod visit {
13941406
V::Result::output()
13951407
}
13961408

1397-
pub fn walk_block<'a, V: Visitor<'a>>(visitor: &mut V, block: &'a Block) -> V::Result {
1398-
let Block { stmts, id: _, rules: _, span: _, tokens: _, could_be_bare_literal: _ } = block;
1399-
walk_list!(visitor, visit_stmt, stmts);
1400-
V::Result::output()
1401-
}
1402-
14031409
pub fn walk_stmt<'a, V: Visitor<'a>>(visitor: &mut V, statement: &'a Stmt) -> V::Result {
14041410
let Stmt { id: _, kind, span: _ } = statement;
14051411
match kind {
@@ -2166,15 +2172,6 @@ pub mod mut_visit {
21662172
smallvec![f]
21672173
}
21682174

2169-
pub fn walk_block<T: MutVisitor>(vis: &mut T, block: &mut P<Block>) {
2170-
let Block { id, stmts, rules: _, span, tokens, could_be_bare_literal: _ } =
2171-
block.deref_mut();
2172-
vis.visit_id(id);
2173-
stmts.flat_map_in_place(|stmt| vis.flat_map_stmt(stmt));
2174-
visit_lazy_tts(vis, tokens);
2175-
vis.visit_span(span);
2176-
}
2177-
21782175
pub fn walk_item_kind(
21792176
kind: &mut impl WalkItemKind,
21802177
span: Span,

compiler/rustc_expand/src/expand.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2198,7 +2198,7 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
21982198
self.flat_map_node(AstNodeWrapper::new(node, OptExprTag))
21992199
}
22002200

2201-
fn visit_block(&mut self, node: &mut P<ast::Block>) {
2201+
fn visit_block(&mut self, node: &mut ast::Block) {
22022202
let orig_dir_ownership = mem::replace(
22032203
&mut self.cx.current_expansion.dir_ownership,
22042204
DirOwnership::UnownedViaBlock,

0 commit comments

Comments
 (0)