about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-01-25 11:59:18 +0000
committerbors <bors@rust-lang.org>2017-01-25 11:59:18 +0000
commit1283c029557bcde106adde71f467fe133b3ffeff (patch)
treea359a6891a293be769f647efac38220d49edff9f /src
parent185d908f6139a579c043e542ac3a154dff574953 (diff)
parent5e33c5f0ff92ca30b4d20803b6f919153336180d (diff)
downloadrust-1283c029557bcde106adde71f467fe133b3ffeff.tar.gz
rust-1283c029557bcde106adde71f467fe133b3ffeff.zip
Auto merge of #39286 - nrc:save-path, r=eddyb
save-analysis: polishing paths

a couple of minor changes that get us better coverage of different paths.

r? @eddyb
Diffstat (limited to 'src')
-rw-r--r--src/librustc_save_analysis/dump_visitor.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/librustc_save_analysis/dump_visitor.rs b/src/librustc_save_analysis/dump_visitor.rs
index 4e4b3570289..e5c41d08e1f 100644
--- a/src/librustc_save_analysis/dump_visitor.rs
+++ b/src/librustc_save_analysis/dump_visitor.rs
@@ -1359,6 +1359,7 @@ impl<'l, 'tcx: 'l, 'll, D: Dump +'ll> Visitor<'l> for DumpVisitor<'l, 'tcx, 'll,
                 }
 
                 self.write_sub_paths_truncated(path);
+                visit::walk_path(self, path);
             }
             ast::TyKind::Array(ref element, ref length) => {
                 self.visit_ty(element);
@@ -1369,6 +1370,7 @@ impl<'l, 'tcx: 'l, 'll, D: Dump +'ll> Visitor<'l> for DumpVisitor<'l, 'tcx, 'll,
     }
 
     fn visit_expr(&mut self, ex: &'l ast::Expr) {
+        debug!("visit_expr {:?}", ex.node);
         self.process_macro_use(ex.span, ex.id);
         match ex.node {
             ast::ExprKind::Call(ref _f, ref _args) => {
@@ -1462,6 +1464,7 @@ impl<'l, 'tcx: 'l, 'll, D: Dump +'ll> Visitor<'l> for DumpVisitor<'l, 'tcx, 'll,
             ast::ExprKind::WhileLet(ref pattern, ref subexpression, ref block, _) => {
                 let value = self.span.snippet(subexpression.span);
                 self.process_var_decl(pattern, value);
+                debug!("for loop, walk sub-expr: {:?}", subexpression.node);
                 visit::walk_expr(self, subexpression);
                 visit::walk_block(self, block);
             }
@@ -1556,6 +1559,10 @@ impl<'l, 'tcx: 'l, 'll, D: Dump +'ll> Visitor<'l> for DumpVisitor<'l, 'tcx, 'll,
         self.visit_expr(&arm.body);
     }
 
+    fn visit_path(&mut self, p: &'l ast::Path, id: NodeId) {
+        self.process_path(id, p, None);
+    }
+
     fn visit_stmt(&mut self, s: &'l ast::Stmt) {
         self.process_macro_use(s.span, s.id);
         visit::walk_stmt(self, s)