Struct rustc_lint::late::LateContextAndPass [−][src]
struct LateContextAndPass<'tcx, T: LateLintPass<'tcx>> { context: LateContext<'tcx>, pass: T, }
Fields
context: LateContext<'tcx>pass: TImplementations
impl<'tcx, T: LateLintPass<'tcx>> LateContextAndPass<'tcx, T>[src]
impl<'tcx, T: LateLintPass<'tcx>> LateContextAndPass<'tcx, T>[src]fn with_lint_attrs<F>(&mut self, id: HirId, f: F) where
F: FnOnce(&mut Self), [src]
fn with_lint_attrs<F>(&mut self, id: HirId, f: F) where
F: FnOnce(&mut Self), [src]Merge the lints specified by any lint attributes into the current lint context, call the provided function, then reset the lints in effect to their previous state.
fn with_param_env<F>(&mut self, id: HirId, f: F) where
F: FnOnce(&mut Self), [src]
F: FnOnce(&mut Self),
fn process_mod(&mut self, m: &'tcx Mod<'tcx>, s: Span, n: HirId)[src]
fn enter_attrs(&mut self, attrs: &'tcx [Attribute])[src]
fn exit_attrs(&mut self, attrs: &'tcx [Attribute])[src]
Trait Implementations
impl<'tcx, T: LateLintPass<'tcx>> Visitor<'tcx> for LateContextAndPass<'tcx, T>[src]
impl<'tcx, T: LateLintPass<'tcx>> Visitor<'tcx> for LateContextAndPass<'tcx, T>[src]fn nested_visit_map(&mut self) -> NestedVisitorMap<Self::Map>[src]
fn nested_visit_map(&mut self) -> NestedVisitorMap<Self::Map>[src]Because lints are scoped lexically, we want to walk nested items in the context of the outer item, so enable deep-walking.
type Map = Map<'tcx>
fn visit_nested_body(&mut self, body_id: BodyId)[src]
fn visit_nested_body(&mut self, body_id: BodyId)[src]Invoked to visit the body of a function, method or closure. Like
visit_nested_item, does nothing by default unless you override
nested_visit_map to return other than None, in which case it will walk
the body. Read more
fn visit_param(&mut self, param: &'tcx Param<'tcx>)[src]
fn visit_body(&mut self, body: &'tcx Body<'tcx>)[src]
fn visit_item(&mut self, it: &'tcx Item<'tcx>)[src]
fn visit_item(&mut self, it: &'tcx Item<'tcx>)[src]Visits the top-level item and (optionally) nested items / impl items. See
visit_nested_item for details. Read more
fn visit_foreign_item(&mut self, it: &'tcx ForeignItem<'tcx>)[src]
fn visit_pat(&mut self, p: &'tcx Pat<'tcx>)[src]
fn visit_expr(&mut self, e: &'tcx Expr<'tcx>)[src]
fn visit_stmt(&mut self, s: &'tcx Stmt<'tcx>)[src]
fn visit_fn(
&mut self,
fk: FnKind<'tcx>,
decl: &'tcx FnDecl<'tcx>,
body_id: BodyId,
span: Span,
id: HirId
)[src]
&mut self,
fk: FnKind<'tcx>,
decl: &'tcx FnDecl<'tcx>,
body_id: BodyId,
span: Span,
id: HirId
)
fn visit_variant_data(
&mut self,
s: &'tcx VariantData<'tcx>,
_: Symbol,
_: &'tcx Generics<'tcx>,
_: HirId,
_: Span
)[src]
&mut self,
s: &'tcx VariantData<'tcx>,
_: Symbol,
_: &'tcx Generics<'tcx>,
_: HirId,
_: Span
)
fn visit_field_def(&mut self, s: &'tcx FieldDef<'tcx>)[src]
fn visit_variant(
&mut self,
v: &'tcx Variant<'tcx>,
g: &'tcx Generics<'tcx>,
item_id: HirId
)[src]
&mut self,
v: &'tcx Variant<'tcx>,
g: &'tcx Generics<'tcx>,
item_id: HirId
)
fn visit_ty(&mut self, t: &'tcx Ty<'tcx>)[src]
fn visit_name(&mut self, sp: Span, name: Symbol)[src]
fn visit_mod(&mut self, m: &'tcx Mod<'tcx>, s: Span, n: HirId)[src]
fn visit_local(&mut self, l: &'tcx Local<'tcx>)[src]
fn visit_block(&mut self, b: &'tcx Block<'tcx>)[src]
fn visit_arm(&mut self, a: &'tcx Arm<'tcx>)[src]
fn visit_generic_param(&mut self, p: &'tcx GenericParam<'tcx>)[src]
fn visit_generics(&mut self, g: &'tcx Generics<'tcx>)[src]
fn visit_where_predicate(&mut self, p: &'tcx WherePredicate<'tcx>)[src]
fn visit_poly_trait_ref(
&mut self,
t: &'tcx PolyTraitRef<'tcx>,
m: TraitBoundModifier
)[src]
&mut self,
t: &'tcx PolyTraitRef<'tcx>,
m: TraitBoundModifier
)
fn visit_trait_item(&mut self, trait_item: &'tcx TraitItem<'tcx>)[src]
fn visit_impl_item(&mut self, impl_item: &'tcx ImplItem<'tcx>)[src]
fn visit_lifetime(&mut self, lt: &'tcx Lifetime)[src]
fn visit_path(&mut self, p: &'tcx Path<'tcx>, id: HirId)[src]
fn visit_attribute(&mut self, hir_id: HirId, attr: &'tcx Attribute)[src]
fn visit_nested_item(&mut self, id: ItemId)[src]
fn visit_nested_item(&mut self, id: ItemId)[src]Invoked when a nested item is encountered. By default does
nothing unless you override nested_visit_map to return other than
None, in which case it will walk the item. You probably
don’t want to override this method – instead, override
nested_visit_map or use the “shallow” or “deep” visit
patterns described on itemlikevisit::ItemLikeVisitor. The only
reason to override this method is if you want a nested pattern
but cannot supply a Map; see nested_visit_map for advice. Read more
fn visit_nested_trait_item(&mut self, id: TraitItemId)[src]
fn visit_nested_trait_item(&mut self, id: TraitItemId)[src]Like visit_nested_item(), but for trait items. See
visit_nested_item() for advice on when to override this
method. Read more
fn visit_nested_impl_item(&mut self, id: ImplItemId)[src]
fn visit_nested_impl_item(&mut self, id: ImplItemId)[src]Like visit_nested_item(), but for impl items. See
visit_nested_item() for advice on when to override this
method. Read more
fn visit_nested_foreign_item(&mut self, id: ForeignItemId)[src]
fn visit_nested_foreign_item(&mut self, id: ForeignItemId)[src]Like visit_nested_item(), but for foreign items. See
visit_nested_item() for advice on when to override this
method. Read more
fn as_deep_visitor(&mut self) -> DeepVisitor<'_, Self>[src]
fn as_deep_visitor(&mut self) -> DeepVisitor<'_, Self>[src]When invoking visit_all_item_likes(), you need to supply an
item-like visitor. This method converts a “intra-visit”
visitor into an item-like visitor that walks the entire tree.
If you use this, you probably don’t want to process the
contents of nested item-like things, since the outer loop will
visit them as well. Read more
fn visit_id(&mut self, _hir_id: HirId)[src]
fn visit_ident(&mut self, ident: Ident)[src]
fn visit_anon_const(&mut self, c: &'v AnonConst)[src]
fn visit_const_param_default(&mut self, _param: HirId, ct: &'v AnonConst)[src]
fn visit_fn_decl(&mut self, fd: &'v FnDecl<'v>)[src]
fn visit_use(&mut self, path: &'v Path<'v>, hir_id: HirId)[src]
fn visit_trait_item_ref(&mut self, ii: &'v TraitItemRef)[src]
fn visit_foreign_item_ref(&mut self, ii: &'v ForeignItemRef<'v>)[src]
fn visit_impl_item_ref(&mut self, ii: &'v ImplItemRef<'v>)[src]
fn visit_trait_ref(&mut self, t: &'v TraitRef<'v>)[src]
fn visit_param_bound(&mut self, bounds: &'v GenericBound<'v>)[src]
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
)
fn visit_label(&mut self, label: &'v Label)[src]
fn visit_generic_arg(&mut self, generic_arg: &'v GenericArg<'v>)[src]
fn visit_qpath(&mut self, qpath: &'v QPath<'v>, id: HirId, span: Span)[src]
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>
)
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>
)
fn visit_assoc_type_binding(&mut self, type_binding: &'v TypeBinding<'v>)[src]
fn visit_macro_def(&mut self, macro_def: &'v MacroDef<'v>)[src]
fn visit_vis(&mut self, vis: &'v Spanned<VisibilityKind<'v>>)[src]
fn visit_associated_item_kind(&mut self, kind: &'v AssocItemKind)[src]
fn visit_defaultness(&mut self, defaultness: &'v Defaultness)[src]
Auto Trait Implementations
impl<'tcx, T> !RefUnwindSafe for LateContextAndPass<'tcx, T>
impl<'tcx, T> !Send for LateContextAndPass<'tcx, T>
impl<'tcx, T> !Sync for LateContextAndPass<'tcx, T>
impl<'tcx, T> Unpin for LateContextAndPass<'tcx, T> where
T: Unpin,
T: Unpin,