Skip to content

Commit acfc99d

Browse files
committed
Include file paths when dumping the list of resolved crates via debug!.
1 parent eb6856c commit acfc99d

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

src/librustc/metadata/creader.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use back::svh::Svh;
1717
use driver::session::Session;
1818
use driver::{driver, config};
1919
use metadata::cstore;
20-
use metadata::cstore::CStore;
20+
use metadata::cstore::{CStore, CrateSource};
2121
use metadata::decoder;
2222
use metadata::loader;
2323
use metadata::loader::CratePaths;
@@ -68,10 +68,15 @@ impl<'a> visit::Visitor<()> for Env<'a> {
6868

6969
fn dump_crates(cstore: &CStore) {
7070
debug!("resolved crates:");
71-
cstore.iter_crate_data(|_, data| {
71+
cstore.iter_crate_data_origins(|_, data, opt_source| {
7272
debug!("crate_id: {}", data.crate_id());
7373
debug!(" cnum: {}", data.cnum);
7474
debug!(" hash: {}", data.hash());
75+
opt_source.map(|cs| {
76+
let CrateSource { dylib, rlib, cnum: _ } = cs;
77+
dylib.map(|dl| debug!(" dylib: {}", dl.display()));
78+
rlib.map(|rl| debug!(" rlib: {}", rl.display()));
79+
});
7580
})
7681
}
7782

src/librustc/metadata/cstore.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,17 @@ impl CStore {
114114
}
115115
}
116116

117+
/// Like `iter_crate_data`, but passes source paths (if available) as well.
118+
pub fn iter_crate_data_origins(&self, i: |ast::CrateNum,
119+
&crate_metadata,
120+
Option<CrateSource>|) {
121+
for (&k, v) in self.metas.borrow().iter() {
122+
let origin = self.get_used_crate_source(k);
123+
origin.as_ref().map(|cs| { assert!(k == cs.cnum); });
124+
i(k, &**v, origin);
125+
}
126+
}
127+
117128
pub fn add_used_crate_source(&self, src: CrateSource) {
118129
let mut used_crate_sources = self.used_crate_sources.borrow_mut();
119130
if !used_crate_sources.contains(&src) {

0 commit comments

Comments
 (0)