[−][src]Struct rustc_middle::hir::map::collector::NodeCollector
A visitor that walks over the HIR and collects Nodes into a HIR map.
Fields
arena: &'hir Arena<'hir>krate: &'hir Crate<'hir>The crate
source_map: &'a SourceMapSource map
map: IndexVec<LocalDefId, HirOwnerData<'hir>>parent_node: HirIdThe parent of this node
current_dep_node_owner: LocalDefIddefinitions: &'a Definitionshcx: StableHashingContext<'a>hir_body_nodes: Vec<(DefPathHash, Fingerprint)>Implementations
impl<'a, 'hir> NodeCollector<'a, 'hir>[src]
pub(in hir::map) fn root(
sess: &'a Session,
arena: &'hir Arena<'hir>,
krate: &'hir Crate<'hir>,
definitions: &'a Definitions,
hcx: StableHashingContext<'a>
) -> NodeCollector<'a, 'hir>[src]
sess: &'a Session,
arena: &'hir Arena<'hir>,
krate: &'hir Crate<'hir>,
definitions: &'a Definitions,
hcx: StableHashingContext<'a>
) -> NodeCollector<'a, 'hir>
pub(in hir::map) fn finalize_and_compute_crate_hash(
self,
crate_disambiguator: CrateDisambiguator,
cstore: &dyn CrateStore,
commandline_args_hash: u64
) -> (IndexVec<LocalDefId, HirOwnerData<'hir>>, Svh)[src]
self,
crate_disambiguator: CrateDisambiguator,
cstore: &dyn CrateStore,
commandline_args_hash: u64
) -> (IndexVec<LocalDefId, HirOwnerData<'hir>>, Svh)
pub(in hir::map::collector) fn insert_entry(
&mut self,
id: HirId,
entry: Entry<'hir>,
hash: Fingerprint
)[src]
&mut self,
id: HirId,
entry: Entry<'hir>,
hash: Fingerprint
)
pub(in hir::map::collector) fn insert(
&mut self,
span: Span,
hir_id: HirId,
node: Node<'hir>
)[src]
&mut self,
span: Span,
hir_id: HirId,
node: Node<'hir>
)
pub(in hir::map::collector) fn insert_with_hash(
&mut self,
span: Span,
hir_id: HirId,
node: Node<'hir>,
hash: Fingerprint
)[src]
&mut self,
span: Span,
hir_id: HirId,
node: Node<'hir>,
hash: Fingerprint
)
pub(in hir::map::collector) fn with_parent<F: FnOnce(&mut Self)>(
&mut self,
parent_node_id: HirId,
f: F
)[src]
&mut self,
parent_node_id: HirId,
f: F
)
pub(in hir::map::collector) fn with_dep_node_owner<T: for<'b> HashStable<StableHashingContext<'b>>, F: FnOnce(&mut Self, Fingerprint)>(
&mut self,
dep_node_owner: LocalDefId,
item_like: &T,
f: F
)[src]
&mut self,
dep_node_owner: LocalDefId,
item_like: &T,
f: F
)
Trait Implementations
impl<'a, 'hir> Visitor<'hir> for NodeCollector<'a, 'hir>[src]
type Map = Map<'hir>
pub fn nested_visit_map(&mut self) -> NestedVisitorMap<Self::Map>[src]
Because we want to track parent items and so forth, enable deep walking so that we walk nested items in the context of their outer items.
pub fn visit_nested_item(&mut self, item: ItemId)[src]
pub fn visit_nested_trait_item(&mut self, item_id: TraitItemId)[src]
pub fn visit_nested_impl_item(&mut self, item_id: ImplItemId)[src]
pub fn visit_nested_body(&mut self, id: BodyId)[src]
pub fn visit_param(&mut self, param: &'hir Param<'hir>)[src]
pub fn visit_item(&mut self, i: &'hir Item<'hir>)[src]
pub fn visit_foreign_item(&mut self, foreign_item: &'hir ForeignItem<'hir>)[src]
pub fn visit_generic_param(&mut self, param: &'hir GenericParam<'hir>)[src]
pub fn visit_trait_item(&mut self, ti: &'hir TraitItem<'hir>)[src]
pub fn visit_impl_item(&mut self, ii: &'hir ImplItem<'hir>)[src]
pub fn visit_pat(&mut self, pat: &'hir Pat<'hir>)[src]
pub fn visit_arm(&mut self, arm: &'hir Arm<'hir>)[src]
pub fn visit_anon_const(&mut self, constant: &'hir AnonConst)[src]
pub fn visit_expr(&mut self, expr: &'hir Expr<'hir>)[src]
pub fn visit_stmt(&mut self, stmt: &'hir Stmt<'hir>)[src]
pub fn visit_path_segment(
&mut self,
path_span: Span,
path_segment: &'hir PathSegment<'hir>
)[src]
&mut self,
path_span: Span,
path_segment: &'hir PathSegment<'hir>
)
pub fn visit_ty(&mut self, ty: &'hir Ty<'hir>)[src]
pub fn visit_trait_ref(&mut self, tr: &'hir TraitRef<'hir>)[src]
pub fn visit_fn(
&mut self,
fk: FnKind<'hir>,
fd: &'hir FnDecl<'hir>,
b: BodyId,
s: Span,
id: HirId
)[src]
&mut self,
fk: FnKind<'hir>,
fd: &'hir FnDecl<'hir>,
b: BodyId,
s: Span,
id: HirId
)
pub fn visit_block(&mut self, block: &'hir Block<'hir>)[src]
pub fn visit_local(&mut self, l: &'hir Local<'hir>)[src]
pub fn visit_lifetime(&mut self, lifetime: &'hir Lifetime)[src]
pub fn visit_vis(&mut self, visibility: &'hir Visibility<'hir>)[src]
pub fn visit_macro_def(&mut self, macro_def: &'hir MacroDef<'hir>)[src]
pub fn visit_variant(
&mut self,
v: &'hir Variant<'hir>,
g: &'hir Generics<'hir>,
item_id: HirId
)[src]
&mut self,
v: &'hir Variant<'hir>,
g: &'hir Generics<'hir>,
item_id: HirId
)
pub fn visit_struct_field(&mut self, field: &'hir StructField<'hir>)[src]
pub fn visit_trait_item_ref(&mut self, ii: &'hir TraitItemRef)[src]
pub fn visit_impl_item_ref(&mut self, ii: &'hir ImplItemRef<'hir>)[src]
pub fn visit_body(&mut self, b: &'v Body<'v>)[src]
pub fn as_deep_visitor(&mut self) -> DeepVisitor<'_, Self>[src]
pub fn visit_id(&mut self, _hir_id: HirId)[src]
pub fn visit_name(&mut self, _span: Span, _name: Symbol)[src]
pub fn visit_ident(&mut self, ident: Ident)[src]
pub fn visit_mod(&mut self, m: &'v Mod<'v>, _s: Span, n: HirId)[src]
pub fn visit_generics(&mut self, g: &'v Generics<'v>)[src]
pub fn visit_where_predicate(&mut self, predicate: &'v WherePredicate<'v>)[src]
pub fn visit_fn_decl(&mut self, fd: &'v FnDecl<'v>)[src]
pub fn visit_use(&mut self, path: &'v Path<'v>, hir_id: HirId)[src]
pub fn visit_param_bound(&mut self, bounds: &'v GenericBound<'v>)[src]
pub fn visit_poly_trait_ref(
&mut self,
t: &'v PolyTraitRef<'v>,
m: TraitBoundModifier
)[src]
&mut self,
t: &'v PolyTraitRef<'v>,
m: TraitBoundModifier
)
pub fn visit_variant_data(
&mut self,
s: &'v VariantData<'v>,
Symbol,
&'v Generics<'v>,
_parent_id: HirId,
Span
)[src]
&mut self,
s: &'v VariantData<'v>,
Symbol,
&'v Generics<'v>,
_parent_id: HirId,
Span
)
pub fn visit_enum_def(
&mut self,
enum_definition: &'v EnumDef<'v>,
generics: &'v Generics<'v>,
item_id: HirId,
Span
)[src]
&mut self,
enum_definition: &'v EnumDef<'v>,
generics: &'v Generics<'v>,
item_id: HirId,
Span
)
pub fn visit_label(&mut self, label: &'v Label)[src]
pub fn visit_generic_arg(&mut self, generic_arg: &'v GenericArg<'v>)[src]
pub fn visit_qpath(&mut self, qpath: &'v QPath<'v>, id: HirId, span: Span)[src]
pub fn visit_path(&mut self, path: &'v Path<'v>, _id: HirId)[src]
pub fn visit_generic_args(
&mut self,
path_span: Span,
generic_args: &'v GenericArgs<'v>
)[src]
&mut self,
path_span: Span,
generic_args: &'v GenericArgs<'v>
)
pub fn visit_assoc_type_binding(&mut self, type_binding: &'v TypeBinding<'v>)[src]
pub fn visit_attribute(&mut self, _attr: &'v Attribute)[src]
pub fn visit_associated_item_kind(&mut self, kind: &'v AssocItemKind)[src]
pub fn visit_defaultness(&mut self, defaultness: &'v Defaultness)[src]
Auto Trait Implementations
impl<'a, 'hir> !RefUnwindSafe for NodeCollector<'a, 'hir>
impl<'a, 'hir> !Send for NodeCollector<'a, 'hir>
impl<'a, 'hir> !Sync for NodeCollector<'a, 'hir>
impl<'a, 'hir> Unpin for NodeCollector<'a, 'hir>
impl<'a, 'hir> !UnwindSafe for NodeCollector<'a, 'hir>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> MaybeResult<T> for T[src]
type Error = !
pub fn from(Result<T, <T as MaybeResult<T>>::Error>) -> T[src]
pub fn to_result(self) -> Result<T, <T as MaybeResult<T>>::Error>[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.