Skip to content

Commit 5fb543e

Browse files
committed
Unify visit_path
1 parent 981bbe7 commit 5fb543e

File tree

1 file changed

+24
-28
lines changed

1 file changed

+24
-28
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,6 @@ macro_rules! mutability_dependent {
2222
fn visit_mac_def(&mut self, _mac: &'ast MacroDef, _id: NodeId) -> Self::Result {
2323
Self::Result::output()
2424
}
25-
// FIXME: inconsistent
26-
fn visit_path(&mut self, path: &'ast Path, _id: NodeId) -> Self::Result {
27-
walk_path(self, path)
28-
}
2925
};
3026
(mut $($lf: lifetime)?) => {
3127
/// Mutable token visiting only exists for the `macro_rules` token marker and should not be
@@ -106,10 +102,6 @@ macro_rules! mutability_dependent {
106102
walk_lifetime(self, l);
107103
}
108104

109-
fn visit_path(&mut self, p: &mut Path) {
110-
walk_path(self, p);
111-
}
112-
113105
fn visit_macro_def(&mut self, def: &mut MacroDef) {
114106
walk_macro_def(self, def);
115107
}
@@ -360,6 +352,10 @@ macro_rules! make_ast_visitor {
360352
) -> result!() {
361353
walk_use_tree(self, use_tree, id)
362354
}
355+
356+
fn visit_path(&mut self, path: ref_t!(Path), _id: NodeId) -> result!() {
357+
walk_path(self, path)
358+
}
363359
}
364360

365361
macro_rules! visit_span {
@@ -1850,9 +1846,9 @@ pub mod mut_visit {
18501846
vis.visit_span(close);
18511847
}
18521848

1853-
fn walk_use_tree<T: MutVisitor>(vis: &mut T, use_tree: &mut UseTree, _id: NodeId) {
1849+
fn walk_use_tree<T: MutVisitor>(vis: &mut T, use_tree: &mut UseTree, id: NodeId) {
18541850
let UseTree { prefix, kind, span } = use_tree;
1855-
vis.visit_path(prefix);
1851+
vis.visit_path(prefix, id);
18561852
match kind {
18571853
UseTreeKind::Simple(rename) => visit_opt(rename, |rename| vis.visit_ident(rename)),
18581854
UseTreeKind::Nested { items, span } => {
@@ -1919,7 +1915,7 @@ pub mod mut_visit {
19191915
}
19201916
TyKind::Path(qself, path) => {
19211917
vis.visit_qself(qself);
1922-
vis.visit_path(path);
1918+
vis.visit_path(path, *id);
19231919
}
19241920
TyKind::Array(ty, length) => {
19251921
vis.visit_ty(ty);
@@ -1973,7 +1969,7 @@ pub mod mut_visit {
19731969
item: AttrItem { unsafety: _, path, args, tokens },
19741970
tokens: attr_tokens,
19751971
} = &mut **normal;
1976-
vis.visit_path(path);
1972+
vis.visit_path(path, DUMMY_NODE_ID);
19771973
visit_attr_args(vis, args);
19781974
visit_lazy_tts(vis, tokens);
19791975
visit_lazy_tts(vis, attr_tokens);
@@ -1985,7 +1981,7 @@ pub mod mut_visit {
19851981

19861982
fn walk_mac<T: MutVisitor>(vis: &mut T, mac: &mut MacCall) {
19871983
let MacCall { path, args } = mac;
1988-
vis.visit_path(path);
1984+
vis.visit_path(path, DUMMY_NODE_ID);
19891985
visit_delim_args(vis, args);
19901986
}
19911987

@@ -2148,11 +2144,11 @@ pub mod mut_visit {
21482144
token::NtLiteral(expr) => vis.visit_expr(expr),
21492145
token::NtMeta(item) => {
21502146
let AttrItem { unsafety: _, path, args, tokens } = item.deref_mut();
2151-
vis.visit_path(path);
2147+
vis.visit_path(path, DUMMY_NODE_ID);
21522148
visit_attr_args(vis, args);
21532149
visit_lazy_tts(vis, tokens);
21542150
}
2155-
token::NtPath(path) => vis.visit_path(path),
2151+
token::NtPath(path) => vis.visit_path(path, DUMMY_NODE_ID),
21562152
token::NtVis(visib) => vis.visit_vis(visib),
21572153
}
21582154
}
@@ -2242,7 +2238,7 @@ pub mod mut_visit {
22422238
}
22432239
PreciseCapturingArg::Arg(path, id) => {
22442240
vis.visit_id(id);
2245-
vis.visit_path(path);
2241+
vis.visit_path(path, *id);
22462242
}
22472243
}
22482244
}
@@ -2302,7 +2298,7 @@ pub mod mut_visit {
23022298

23032299
fn walk_trait_ref<T: MutVisitor>(vis: &mut T, TraitRef { path, ref_id }: &mut TraitRef) {
23042300
vis.visit_id(ref_id);
2305-
vis.visit_path(path);
2301+
vis.visit_path(path, *ref_id);
23062302
}
23072303

23082304
pub fn walk_block<T: MutVisitor>(vis: &mut T, block: &mut P<Block>) {
@@ -2419,7 +2415,7 @@ pub mod mut_visit {
24192415
}) => {
24202416
vis.visit_id(id);
24212417
vis.visit_qself(qself);
2422-
vis.visit_path(path);
2418+
vis.visit_path(path, *id);
24232419
if let Some(rename) = rename {
24242420
vis.visit_ident(rename);
24252421
}
@@ -2429,7 +2425,7 @@ pub mod mut_visit {
24292425
}
24302426
ItemKind::DelegationMac(box DelegationMac { qself, prefix, suffixes, body }) => {
24312427
vis.visit_qself(qself);
2432-
vis.visit_path(prefix);
2428+
vis.visit_path(prefix, id);
24332429
if let Some(suffixes) = suffixes {
24342430
for (ident, rename) in suffixes {
24352431
vis.visit_ident(ident);
@@ -2480,7 +2476,7 @@ pub mod mut_visit {
24802476
}) => {
24812477
visitor.visit_id(id);
24822478
visitor.visit_qself(qself);
2483-
visitor.visit_path(path);
2479+
visitor.visit_path(path, *id);
24842480
if let Some(rename) = rename {
24852481
visitor.visit_ident(rename);
24862482
}
@@ -2495,7 +2491,7 @@ pub mod mut_visit {
24952491
body,
24962492
}) => {
24972493
visitor.visit_qself(qself);
2498-
visitor.visit_path(prefix);
2494+
visitor.visit_path(prefix, id);
24992495
if let Some(suffixes) = suffixes {
25002496
for (ident, rename) in suffixes {
25012497
visitor.visit_ident(ident);
@@ -2587,16 +2583,16 @@ pub mod mut_visit {
25872583
PatKind::Lit(e) => vis.visit_expr(e),
25882584
PatKind::TupleStruct(qself, path, elems) => {
25892585
vis.visit_qself(qself);
2590-
vis.visit_path(path);
2586+
vis.visit_path(path, *id);
25912587
visit_thin_vec(elems, |elem| vis.visit_pat(elem));
25922588
}
25932589
PatKind::Path(qself, path) => {
25942590
vis.visit_qself(qself);
2595-
vis.visit_path(path);
2591+
vis.visit_path(path, *id);
25962592
}
25972593
PatKind::Struct(qself, path, fields, _etc) => {
25982594
vis.visit_qself(qself);
2599-
vis.visit_path(path);
2595+
vis.visit_path(path, *id);
26002596
fields.flat_map_in_place(|field| vis.flat_map_pat_field(field));
26012597
}
26022598
PatKind::Box(inner) => vis.visit_pat(inner),
@@ -2623,7 +2619,7 @@ pub mod mut_visit {
26232619
) {
26242620
vis.visit_id(id);
26252621
vis.visit_qself(qself);
2626-
vis.visit_path(path);
2622+
vis.visit_path(path, *id);
26272623
}
26282624

26292625
pub fn walk_expr<T: MutVisitor>(
@@ -2760,7 +2756,7 @@ pub mod mut_visit {
27602756
ExprKind::Underscore => {}
27612757
ExprKind::Path(qself, path) => {
27622758
vis.visit_qself(qself);
2763-
vis.visit_path(path);
2759+
vis.visit_path(path, *id);
27642760
}
27652761
ExprKind::Break(label, expr) => {
27662762
visit_opt(label, |label| vis.visit_label(label));
@@ -2788,7 +2784,7 @@ pub mod mut_visit {
27882784
ExprKind::Struct(se) => {
27892785
let StructExpr { qself, path, fields, rest } = se.deref_mut();
27902786
vis.visit_qself(qself);
2791-
vis.visit_path(path);
2787+
vis.visit_path(path, *id);
27922788
fields.flat_map_in_place(|field| vis.flat_map_expr_field(field));
27932789
match rest {
27942790
StructRest::Base(expr) => vis.visit_expr(expr),
@@ -2874,7 +2870,7 @@ pub mod mut_visit {
28742870
VisibilityKind::Public | VisibilityKind::Inherited => {}
28752871
VisibilityKind::Restricted { path, id, shorthand: _ } => {
28762872
vis.visit_id(id);
2877-
vis.visit_path(path);
2873+
vis.visit_path(path, *id);
28782874
}
28792875
}
28802876
visit_lazy_tts(vis, tokens);

0 commit comments

Comments
 (0)