Make DepConstructor a module.
This commit is contained in:
parent
921b284167
commit
5fcc537d18
3 changed files with 9 additions and 9 deletions
|
@ -29,8 +29,8 @@
|
||||||
//! contained no `DefId` for thing that had been removed.
|
//! contained no `DefId` for thing that had been removed.
|
||||||
//!
|
//!
|
||||||
//! `DepNode` definition happens in the `define_dep_nodes!()` macro. This macro
|
//! `DepNode` definition happens in the `define_dep_nodes!()` macro. This macro
|
||||||
//! defines the `DepKind` enum and a corresponding `DepConstructor` enum. The
|
//! defines the `DepKind` enum and a corresponding `dep_constructor` module. The
|
||||||
//! `DepConstructor` enum links a `DepKind` to the parameters that are needed at
|
//! `dep_constructor` module links a `DepKind` to the parameters that are needed at
|
||||||
//! runtime in order to construct a valid `DepNode` fingerprint.
|
//! runtime in order to construct a valid `DepNode` fingerprint.
|
||||||
//!
|
//!
|
||||||
//! Because the macro sees what parameters a given `DepKind` requires, it can
|
//! Because the macro sees what parameters a given `DepKind` requires, it can
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
//! `DefId` it was computed from. In other cases, too much information gets
|
//! `DefId` it was computed from. In other cases, too much information gets
|
||||||
//! lost during fingerprint computation.
|
//! lost during fingerprint computation.
|
||||||
//!
|
//!
|
||||||
//! The `DepConstructor` enum, together with `DepNode::new()`, ensures that only
|
//! The `dep_constructor` module, together with `DepNode::new()`, ensures that only
|
||||||
//! valid `DepNode` instances can be constructed. For example, the API does not
|
//! valid `DepNode` instances can be constructed. For example, the API does not
|
||||||
//! allow for constructing parameterless `DepNode`s with anything other
|
//! allow for constructing parameterless `DepNode`s with anything other
|
||||||
//! than a zeroed out fingerprint. More generally speaking, it relieves the
|
//! than a zeroed out fingerprint. More generally speaking, it relieves the
|
||||||
|
@ -331,10 +331,10 @@ macro_rules! define_dep_nodes {
|
||||||
$($variant),*
|
$($variant),*
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct DepConstructor;
|
|
||||||
|
|
||||||
#[allow(non_camel_case_types)]
|
#[allow(non_camel_case_types)]
|
||||||
impl DepConstructor {
|
pub mod dep_constructor {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
$(
|
$(
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[allow(unreachable_code, non_snake_case)]
|
#[allow(unreachable_code, non_snake_case)]
|
||||||
|
|
|
@ -13,7 +13,7 @@ pub use rustc_query_system::dep_graph::{
|
||||||
WorkProduct, WorkProductId,
|
WorkProduct, WorkProductId,
|
||||||
};
|
};
|
||||||
|
|
||||||
pub use dep_node::{label_strs, DepConstructor, DepKind, DepNode, DepNodeExt};
|
pub use dep_node::{dep_constructor, label_strs, DepKind, DepNode, DepNodeExt};
|
||||||
|
|
||||||
pub type DepGraph = rustc_query_system::dep_graph::DepGraph<DepKind>;
|
pub type DepGraph = rustc_query_system::dep_graph::DepGraph<DepKind>;
|
||||||
pub type TaskDeps = rustc_query_system::dep_graph::TaskDeps<DepKind>;
|
pub type TaskDeps = rustc_query_system::dep_graph::TaskDeps<DepKind>;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use crate::dep_graph::{DepConstructor, DepNode, WorkProduct, WorkProductId};
|
use crate::dep_graph::{dep_constructor, DepNode, WorkProduct, WorkProductId};
|
||||||
use crate::ich::{NodeIdHashingMode, StableHashingContext};
|
use crate::ich::{NodeIdHashingMode, StableHashingContext};
|
||||||
use crate::ty::{subst::InternalSubsts, Instance, InstanceDef, SymbolName, TyCtxt};
|
use crate::ty::{subst::InternalSubsts, Instance, InstanceDef, SymbolName, TyCtxt};
|
||||||
use rustc_attr::InlineAttr;
|
use rustc_attr::InlineAttr;
|
||||||
|
@ -362,7 +362,7 @@ impl<'tcx> CodegenUnit<'tcx> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn codegen_dep_node(&self, tcx: TyCtxt<'tcx>) -> DepNode {
|
pub fn codegen_dep_node(&self, tcx: TyCtxt<'tcx>) -> DepNode {
|
||||||
DepConstructor::CompileCodegenUnit(tcx, self.name())
|
dep_constructor::CompileCodegenUnit(tcx, self.name())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue