Skip to content

Commit 370dcb8

Browse files
committed
Unify {visit,walk}_block
1 parent a04efa6 commit 370dcb8

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
@@ -311,6 +311,7 @@ macro_rules! make_ast_visitor {
311311
make_visit!{Arm; visit_arm, walk_arm}
312312
make_visit!{AssocItemConstraint; visit_assoc_item_constraint, walk_assoc_item_constraint}
313313
make_visit!{Attribute; visit_attribute, walk_attribute}
314+
make_visit!{Block; visit_block, walk_block}
314315
make_visit!{CaptureBy; visit_capture_by, walk_capture_by}
315316
make_visit!{ClosureBinder; visit_closure_binder, walk_closure_binder}
316317
make_visit!{Crate; visit_crate, walk_crate}
@@ -348,7 +349,6 @@ macro_rules! make_ast_visitor {
348349
make_visit!{WhereClause; visit_where_clause, walk_where_clause}
349350
make_visit!{WherePredicate; visit_where_predicate, walk_where_predicate}
350351

351-
make_visit!{P!(Block); visit_block, walk_block}
352352
make_visit!{P!(Expr); visit_expr, walk_expr}
353353
make_visit!{P!(Pat); visit_pat, walk_pat}
354354
make_visit!{P!(Ty); visit_ty, walk_ty}
@@ -398,6 +398,18 @@ macro_rules! make_ast_visitor {
398398
return_result!(V)
399399
}
400400

401+
pub fn walk_block<$($lt,)? V: $trait$(<$lt>)?>(
402+
vis: &mut V,
403+
block: ref_t!(Block)
404+
) -> result!(V) {
405+
let Block { id, stmts, rules: _, span, tokens, could_be_bare_literal: _ } = block;
406+
try_v!(visit_id!(vis, id));
407+
visit_list!(vis, visit_stmt, flat_map_stmt, stmts);
408+
visit_lazy_tts!(vis, tokens);
409+
try_v!(visit_span!(vis, span));
410+
return_result!(V)
411+
}
412+
401413
pub fn walk_capture_by<$($lt,)? V: $trait$(<$lt>)?>(
402414
vis: &mut V,
403415
capture_by: ref_t!(CaptureBy)
@@ -1388,12 +1400,6 @@ pub mod visit {
13881400
V::Result::output()
13891401
}
13901402

1391-
pub fn walk_block<'a, V: Visitor<'a>>(visitor: &mut V, block: &'a Block) -> V::Result {
1392-
let Block { stmts, id: _, rules: _, span: _, tokens: _, could_be_bare_literal: _ } = block;
1393-
walk_list!(visitor, visit_stmt, stmts);
1394-
V::Result::output()
1395-
}
1396-
13971403
pub fn walk_stmt<'a, V: Visitor<'a>>(visitor: &mut V, statement: &'a Stmt) -> V::Result {
13981404
let Stmt { id: _, kind, span: _ } = statement;
13991405
match kind {
@@ -2160,15 +2166,6 @@ pub mod mut_visit {
21602166
smallvec![f]
21612167
}
21622168

2163-
pub fn walk_block<T: MutVisitor>(vis: &mut T, block: &mut P<Block>) {
2164-
let Block { id, stmts, rules: _, span, tokens, could_be_bare_literal: _ } =
2165-
block.deref_mut();
2166-
vis.visit_id(id);
2167-
stmts.flat_map_in_place(|stmt| vis.flat_map_stmt(stmt));
2168-
visit_lazy_tts(vis, tokens);
2169-
vis.visit_span(span);
2170-
}
2171-
21722169
pub fn walk_item_kind(
21732170
kind: &mut impl WalkItemKind,
21742171
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)