pub fn to_string(&self, tcx: TyCtxt) -> String {
let mut s = String::with_capacity(self.data.len() * 16);
- if self.krate == LOCAL_CRATE {
- s.push_str(&tcx.crate_name(self.krate));
- } else {
- s.push_str(&tcx.sess.cstore.original_crate_name(self.krate));
- }
+ s.push_str(&tcx.original_crate_name(self.krate));
s.push_str("/");
s.push_str(&tcx.crate_disambiguator(self.krate));
}
pub fn deterministic_hash_to<H: Hasher>(&self, tcx: TyCtxt, state: &mut H) {
- tcx.crate_name(self.krate).hash(state);
+ tcx.original_crate_name(self.krate).hash(state);
tcx.crate_disambiguator(self.krate).hash(state);
self.data.hash(state);
}
}
}
+ pub fn original_crate_name(self, cnum: CrateNum) -> token::InternedString {
+ if cnum == LOCAL_CRATE {
+ self.crate_name.clone()
+ } else {
+ self.sess.cstore.original_crate_name(cnum)
+ }
+ }
+
pub fn crate_disambiguator(self, cnum: CrateNum) -> token::InternedString {
if cnum == LOCAL_CRATE {
self.sess.local_crate_disambiguator()
RootMode::Absolute => {
// In absolute mode, just write the crate name
// unconditionally.
- if cnum == LOCAL_CRATE {
- buffer.push(&self.crate_name(cnum));
- } else {
- buffer.push(&self.sess.cstore.original_crate_name(cnum));
- }
+ buffer.push(&self.original_crate_name(cnum));
}
}
}