Skip to content

Commit d67a570

Browse files
committed
Merge visit_expr, visit_pat and visit_ty
1 parent f69d719 commit d67a570

2 files changed

Lines changed: 13 additions & 19 deletions

File tree

compiler/rustc_resolve/src/build_reduced_graph.rs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1371,23 +1371,7 @@ impl<'a, 'ra, 'tcx> DefCollector<'a, 'ra, 'tcx> {
13711371
}
13721372
}
13731373

1374-
macro_rules! method {
1375-
($visit:ident: $ty:ty, $invoc:path, $walk:ident) => {
1376-
fn $visit(&mut self, node: &'a $ty) {
1377-
if let $invoc(..) = node.kind {
1378-
self.visit_invoc(node.id);
1379-
} else {
1380-
visit::$walk(self, node);
1381-
}
1382-
}
1383-
};
1384-
}
1385-
13861374
impl<'a, 'ra, 'tcx> DefCollector<'a, 'ra, 'tcx> {
1387-
method!(visit_expr: ast::Expr, ast::ExprKind::MacCall, walk_expr);
1388-
method!(visit_pat: ast::Pat, ast::PatKind::MacCall, walk_pat);
1389-
method!(visit_ty: ast::Ty, ast::TyKind::MacCall, walk_ty);
1390-
13911375
pub(crate) fn brg_visit_item(&mut self, item: &'a Item) {
13921376
let orig_module_scope = self.parent_scope.module;
13931377
self.parent_scope.macro_rules = match item.kind {

compiler/rustc_resolve/src/def_collector.rs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,10 @@ impl<'a, 'ra, 'tcx> visit::Visitor<'a> for DefCollector<'a, 'ra, 'tcx> {
400400

401401
fn visit_pat(&mut self, pat: &'a Pat) {
402402
match pat.kind {
403-
PatKind::MacCall(..) => self.visit_macro_invoc(pat.id),
403+
PatKind::MacCall(..) => {
404+
self.visit_macro_invoc(pat.id);
405+
self.visit_invoc(pat.id);
406+
}
404407
_ => visit::walk_pat(self, pat),
405408
}
406409
}
@@ -434,7 +437,11 @@ impl<'a, 'ra, 'tcx> visit::Visitor<'a> for DefCollector<'a, 'ra, 'tcx> {
434437
debug!(?self.invocation_parent);
435438

436439
let parent_def = match &expr.kind {
437-
ExprKind::MacCall(..) => return self.visit_macro_invoc(expr.id),
440+
ExprKind::MacCall(..) => {
441+
self.visit_macro_invoc(expr.id);
442+
self.visit_invoc(expr.id);
443+
return;
444+
}
438445
ExprKind::Closure(..) | ExprKind::Gen(..) => {
439446
self.create_def(expr.id, None, DefKind::Closure, expr.span)
440447
}
@@ -486,7 +493,10 @@ impl<'a, 'ra, 'tcx> visit::Visitor<'a> for DefCollector<'a, 'ra, 'tcx> {
486493

487494
fn visit_ty(&mut self, ty: &'a Ty) {
488495
match ty.kind {
489-
TyKind::MacCall(..) => self.visit_macro_invoc(ty.id),
496+
TyKind::MacCall(..) => {
497+
self.visit_macro_invoc(ty.id);
498+
self.visit_invoc(ty.id);
499+
}
490500
TyKind::ImplTrait(opaque_id, _) => {
491501
let name = *self
492502
.r

0 commit comments

Comments
 (0)