Make DepConstructor a module.
This commit is contained in:
parent
921b284167
commit
5fcc537d18
@ -29,8 +29,8 @@
|
||||
//! contained no `DefId` for thing that had been removed.
|
||||
//!
|
||||
//! `DepNode` definition happens in the `define_dep_nodes!()` macro. This macro
|
||||
//! defines the `DepKind` enum and a corresponding `DepConstructor` enum. The
|
||||
//! `DepConstructor` enum links a `DepKind` to the parameters that are needed at
|
||||
//! defines the `DepKind` enum and a corresponding `dep_constructor` module. The
|
||||
//! `dep_constructor` module links a `DepKind` to the parameters that are needed at
|
||||
//! runtime in order to construct a valid `DepNode` fingerprint.
|
||||
//!
|
||||
//! 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
|
||||
//! 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
|
||||
//! allow for constructing parameterless `DepNode`s with anything other
|
||||
//! than a zeroed out fingerprint. More generally speaking, it relieves the
|
||||
@ -331,10 +331,10 @@ macro_rules! define_dep_nodes {
|
||||
$($variant),*
|
||||
}
|
||||
|
||||
pub struct DepConstructor;
|
||||
|
||||
#[allow(non_camel_case_types)]
|
||||
impl DepConstructor {
|
||||
pub mod dep_constructor {
|
||||
use super::*;
|
||||
|
||||
$(
|
||||
#[inline(always)]
|
||||
#[allow(unreachable_code, non_snake_case)]
|
||||
|
@ -13,7 +13,7 @@ pub use rustc_query_system::dep_graph::{
|
||||
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 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::ty::{subst::InternalSubsts, Instance, InstanceDef, SymbolName, TyCtxt};
|
||||
use rustc_attr::InlineAttr;
|
||||
@ -362,7 +362,7 @@ impl<'tcx> CodegenUnit<'tcx> {
|
||||
}
|
||||
|
||||
pub fn codegen_dep_node(&self, tcx: TyCtxt<'tcx>) -> DepNode {
|
||||
DepConstructor::CompileCodegenUnit(tcx, self.name())
|
||||
dep_constructor::CompileCodegenUnit(tcx, self.name())
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user