Skip to content

Commit 4dc866c

Browse files
committed
rustc_metadata: Rename root to dep_root
Currently `root` or `crate_root` is used to refer to an instance of `CrateRoot` (representation of a crate's serialized metadata), but the name `root` sometimes also refers to a `CratePath` representing a "root" node in the dependency graph. In order to disambiguate, rename all instances of the latter to `dep_root`.
1 parent 4896a65 commit 4dc866c

File tree

2 files changed

+35
-26
lines changed

2 files changed

+35
-26
lines changed

compiler/rustc_metadata/src/creader.rs

+29-20
Original file line numberDiff line numberDiff line change
@@ -390,10 +390,12 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
390390
None
391391
}
392392

393-
// The `dependency` type is determined by the command line arguments(`--extern`) and
394-
// `private_dep`. However, sometimes the directly dependent crate is not specified by
395-
// `--extern`, in this case, `private-dep` is none during loading. This is equivalent to the
396-
// scenario where the command parameter is set to `public-dependency`
393+
/// The `dependency` type is determined by the command line arguments(`--extern`) and
394+
/// `private_dep`.
395+
///
396+
/// Sometimes the directly dependent crate is not specified by `--extern`, in this case,
397+
/// `private-dep` is none during loading. This is equivalent to the scenario where the
398+
/// command parameter is set to `public-dependency`
397399
fn is_private_dep(&self, name: &str, private_dep: Option<bool>) -> bool {
398400
self.sess.opts.externs.get(name).map_or(private_dep.unwrap_or(false), |e| e.is_private_dep)
399401
&& private_dep.unwrap_or(true)
@@ -402,7 +404,7 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
402404
fn register_crate(
403405
&mut self,
404406
host_lib: Option<Library>,
405-
root: Option<&CratePaths>,
407+
dep_root: Option<&CratePaths>,
406408
lib: Library,
407409
dep_kind: CrateDepKind,
408410
name: Symbol,
@@ -430,14 +432,14 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
430432
// Maintain a reference to the top most crate.
431433
// Stash paths for top-most crate locally if necessary.
432434
let crate_paths;
433-
let root = if let Some(root) = root {
434-
root
435+
let dep_root = if let Some(dep_root) = dep_root {
436+
dep_root
435437
} else {
436438
crate_paths = CratePaths::new(crate_root.name(), source.clone());
437439
&crate_paths
438440
};
439441

440-
let cnum_map = self.resolve_crate_deps(root, &crate_root, &metadata, cnum, dep_kind)?;
442+
let cnum_map = self.resolve_crate_deps(dep_root, &crate_root, &metadata, cnum, dep_kind)?;
441443

442444
let raw_proc_macros = if crate_root.is_proc_macro_crate() {
443445
let temp_root;
@@ -559,15 +561,15 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
559561
&'b mut self,
560562
name: Symbol,
561563
mut dep_kind: CrateDepKind,
562-
dep: Option<(&'b CratePaths, &'b CrateDep)>,
564+
dep_of: Option<(&'b CratePaths, &'b CrateDep)>,
563565
) -> Result<CrateNum, CrateError> {
564566
info!("resolving crate `{}`", name);
565567
if !name.as_str().is_ascii() {
566568
return Err(CrateError::NonAsciiName(name));
567569
}
568-
let (root, hash, host_hash, extra_filename, path_kind, private_dep) = match dep {
569-
Some((root, dep)) => (
570-
Some(root),
570+
let (dep_root, hash, host_hash, extra_filename, path_kind, private_dep) = match dep_of {
571+
Some((dep_root, dep)) => (
572+
Some(dep_root),
571573
Some(dep.hash),
572574
dep.host_hash,
573575
Some(&dep.extra_filename[..]),
@@ -599,7 +601,7 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
599601
dep_kind = CrateDepKind::MacrosOnly;
600602
match self.load_proc_macro(&mut locator, path_kind, host_hash)? {
601603
Some(res) => res,
602-
None => return Err(locator.into_error(root.cloned())),
604+
None => return Err(locator.into_error(dep_root.cloned())),
603605
}
604606
}
605607
}
@@ -623,7 +625,7 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
623625
}
624626
(LoadResult::Loaded(library), host_library) => {
625627
info!("register newly loaded library for `{}`", name);
626-
self.register_crate(host_library, root, library, dep_kind, name, private_dep)
628+
self.register_crate(host_library, dep_root, library, dep_kind, name, private_dep)
627629
}
628630
_ => panic!(),
629631
}
@@ -663,16 +665,20 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
663665
}))
664666
}
665667

666-
// Go through the crate metadata and load any crates that it references
668+
/// Go through the crate metadata and load any crates that it references.
667669
fn resolve_crate_deps(
668670
&mut self,
669-
root: &CratePaths,
671+
dep_root: &CratePaths,
670672
crate_root: &CrateRoot,
671673
metadata: &MetadataBlob,
672674
krate: CrateNum,
673675
dep_kind: CrateDepKind,
674676
) -> Result<CrateNumMap, CrateError> {
675-
debug!("resolving deps of external crate");
677+
debug!(
678+
"resolving deps of external crate `{}` with dep root `{}`",
679+
crate_root.name(),
680+
dep_root.name
681+
);
676682
if crate_root.is_proc_macro_crate() {
677683
return Ok(CrateNumMap::new());
678684
}
@@ -685,14 +691,17 @@ impl<'a, 'tcx> CrateLoader<'a, 'tcx> {
685691
crate_num_map.push(krate);
686692
for dep in deps {
687693
info!(
688-
"resolving dep crate {} hash: `{}` extra filename: `{}`",
689-
dep.name, dep.hash, dep.extra_filename
694+
"resolving dep `{}`->`{}` hash: `{}` extra filename: `{}`",
695+
crate_root.name(),
696+
dep.name,
697+
dep.hash,
698+
dep.extra_filename
690699
);
691700
let dep_kind = match dep_kind {
692701
CrateDepKind::MacrosOnly => CrateDepKind::MacrosOnly,
693702
_ => dep.kind,
694703
};
695-
let cnum = self.maybe_resolve_crate(dep.name, dep_kind, Some((root, &dep)))?;
704+
let cnum = self.maybe_resolve_crate(dep.name, dep_kind, Some((dep_root, &dep)))?;
696705
crate_num_map.push(cnum);
697706
}
698707

compiler/rustc_metadata/src/locator.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ pub(crate) struct CrateLocator<'a> {
262262

263263
#[derive(Clone)]
264264
pub(crate) struct CratePaths {
265-
name: Symbol,
265+
pub(crate) name: Symbol,
266266
source: CrateSource,
267267
}
268268

@@ -765,10 +765,10 @@ impl<'a> CrateLocator<'a> {
765765
self.extract_lib(rlibs, rmetas, dylibs).map(|opt| opt.map(|(_, lib)| lib))
766766
}
767767

768-
pub(crate) fn into_error(self, root: Option<CratePaths>) -> CrateError {
768+
pub(crate) fn into_error(self, dep_root: Option<CratePaths>) -> CrateError {
769769
CrateError::LocatorCombined(Box::new(CombinedLocatorError {
770770
crate_name: self.crate_name,
771-
root,
771+
dep_root,
772772
triple: self.tuple,
773773
dll_prefix: self.target.dll_prefix.to_string(),
774774
dll_suffix: self.target.dll_suffix.to_string(),
@@ -914,7 +914,7 @@ struct CrateRejections {
914914
/// otherwise they are ignored.
915915
pub(crate) struct CombinedLocatorError {
916916
crate_name: Symbol,
917-
root: Option<CratePaths>,
917+
dep_root: Option<CratePaths>,
918918
triple: TargetTuple,
919919
dll_prefix: String,
920920
dll_suffix: String,
@@ -987,7 +987,7 @@ impl CrateError {
987987
}
988988
CrateError::LocatorCombined(locator) => {
989989
let crate_name = locator.crate_name;
990-
let add_info = match &locator.root {
990+
let add_info = match &locator.dep_root {
991991
None => String::new(),
992992
Some(r) => format!(" which `{}` depends on", r.name),
993993
};
@@ -1012,7 +1012,7 @@ impl CrateError {
10121012
path.display()
10131013
));
10141014
}
1015-
if let Some(r) = locator.root {
1015+
if let Some(r) = locator.dep_root {
10161016
for path in r.source.paths() {
10171017
found_crates.push_str(&format!(
10181018
"\ncrate `{}`: {}",

0 commit comments

Comments
 (0)