[−][src]Struct rustc_passes::dead::MarkSymbolVisitor
Fields
worklist: Vec<HirId>tcx: TyCtxt<'tcx>maybe_typeck_results: Option<&'tcx TypeckResults<'tcx>>live_symbols: FxHashSet<HirId>repr_has_repr_c: boolin_pat: boolinherited_pub_visibility: boolignore_variant_stack: Vec<DefId>struct_constructors: FxHashMap<HirId, HirId>Implementations
impl<'tcx> MarkSymbolVisitor<'tcx>[src]
pub(in dead) fn typeck_results(
&self
) -> &'tcx TypeckResults<'tcx>[src]
&self
) -> &'tcx TypeckResults<'tcx>
Gets the type-checking results for the current body.
As this will ICE if called outside bodies, only call when working with
Expr or Pat nodes (they are guaranteed to be found only in bodies).
pub(in dead) fn check_def_id(
&mut self,
def_id: DefId
)[src]
&mut self,
def_id: DefId
)
pub(in dead) fn insert_def_id(
&mut self,
def_id: DefId
)[src]
&mut self,
def_id: DefId
)
pub(in dead) fn handle_res(
&mut self,
res: Res
)[src]
&mut self,
res: Res
)
pub(in dead) fn lookup_and_handle_method(
&mut self,
id: HirId
)[src]
&mut self,
id: HirId
)
pub(in dead) fn handle_field_access(
&mut self,
lhs: &Expr<'_>,
hir_id: HirId
)[src]
&mut self,
lhs: &Expr<'_>,
hir_id: HirId
)
pub(in dead) fn handle_field_pattern_match(
&mut self,
lhs: &Pat<'_>,
res: Res,
pats: &[FieldPat<'_>]
)[src]
&mut self,
lhs: &Pat<'_>,
res: Res,
pats: &[FieldPat<'_>]
)
pub(in dead) fn mark_live_symbols(
&mut self
)[src]
&mut self
)
pub(in dead) fn visit_node(
&mut self,
node: Node<'tcx>
)[src]
&mut self,
node: Node<'tcx>
)
pub(in dead) fn mark_as_used_if_union(
&mut self,
adt: &AdtDef,
fields: &[Field<'_>]
)[src]
&mut self,
adt: &AdtDef,
fields: &[Field<'_>]
)
Trait Implementations
impl<'tcx> Visitor<'tcx> for MarkSymbolVisitor<'tcx>[src]
type Map = ErasedMap<'tcx>
pub fn nested_visit_map(&mut self) -> NestedVisitorMap<Self::Map>[src]
pub fn visit_nested_body(&mut self, body: BodyId)[src]
pub fn visit_variant_data(
&mut self,
def: &'tcx VariantData<'tcx>,
_: Symbol,
_: &Generics<'_>,
_: HirId,
_: Span
)[src]
&mut self,
def: &'tcx VariantData<'tcx>,
_: Symbol,
_: &Generics<'_>,
_: HirId,
_: Span
)
pub fn visit_expr(&mut self, expr: &'tcx Expr<'tcx>)[src]
pub fn visit_arm(&mut self, arm: &'tcx Arm<'tcx>)[src]
pub fn visit_pat(&mut self, pat: &'tcx Pat<'tcx>)[src]
pub fn visit_path(&mut self, path: &'tcx Path<'tcx>, _: HirId)[src]
pub fn visit_ty(&mut self, ty: &'tcx Ty<'tcx>)[src]
pub fn visit_anon_const(&mut self, c: &'tcx AnonConst)[src]
pub fn visit_nested_item(&mut self, id: ItemId)[src]
pub fn visit_nested_trait_item(&mut self, id: TraitItemId)[src]
pub fn visit_nested_impl_item(&mut self, id: ImplItemId)[src]
pub fn visit_param(&mut self, param: &'v Param<'v>)[src]
pub fn visit_item(&mut self, i: &'v Item<'v>)[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_foreign_item(&mut self, i: &'v ForeignItem<'v>)[src]
pub fn visit_local(&mut self, l: &'v Local<'v>)[src]
pub fn visit_block(&mut self, b: &'v Block<'v>)[src]
pub fn visit_stmt(&mut self, s: &'v Stmt<'v>)[src]
pub fn visit_generic_param(&mut self, p: &'v GenericParam<'v>)[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_fn(
&mut self,
fk: FnKind<'v>,
fd: &'v FnDecl<'v>,
b: BodyId,
s: Span,
id: HirId
)[src]
&mut self,
fk: FnKind<'v>,
fd: &'v FnDecl<'v>,
b: BodyId,
s: Span,
id: HirId
)
pub fn visit_use(&mut self, path: &'v Path<'v>, hir_id: HirId)[src]
pub fn visit_trait_item(&mut self, ti: &'v TraitItem<'v>)[src]
pub fn visit_trait_item_ref(&mut self, ii: &'v TraitItemRef)[src]
pub fn visit_impl_item(&mut self, ii: &'v ImplItem<'v>)[src]
pub fn visit_impl_item_ref(&mut self, ii: &'v ImplItemRef<'v>)[src]
pub fn visit_trait_ref(&mut self, t: &'v TraitRef<'v>)[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_struct_field(&mut self, s: &'v StructField<'v>)[src]
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_variant(
&mut self,
v: &'v Variant<'v>,
g: &'v Generics<'v>,
item_id: HirId
)[src]
&mut self,
v: &'v Variant<'v>,
g: &'v Generics<'v>,
item_id: HirId
)
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_lifetime(&mut self, lifetime: &'v Lifetime)[src]
pub fn visit_qpath(&mut self, qpath: &'v QPath<'v>, id: HirId, span: Span)[src]
pub fn visit_path_segment(
&mut self,
path_span: Span,
path_segment: &'v PathSegment<'v>
)[src]
&mut self,
path_span: Span,
path_segment: &'v PathSegment<'v>
)
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_macro_def(&mut self, macro_def: &'v MacroDef<'v>)[src]
pub fn visit_vis(&mut self, vis: &'v Spanned<VisibilityKind<'v>>)[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<'tcx> !RefUnwindSafe for MarkSymbolVisitor<'tcx>
impl<'tcx> !Send for MarkSymbolVisitor<'tcx>
impl<'tcx> !Sync for MarkSymbolVisitor<'tcx>
impl<'tcx> Unpin for MarkSymbolVisitor<'tcx>
impl<'tcx> !UnwindSafe for MarkSymbolVisitor<'tcx>
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<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
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>,