Struct rustc_trans::lint::EarlyContext
[−]
[src]
pub struct EarlyContext<'a> { pub sess: &'a Session, pub krate: &'a Crate, // some fields omitted }
🔬 This is a nightly-only experimental API. (
rustc_private
)Context for lint checking of the AST, after expansion, before lowering to HIR.
Fields
sess: &'a Session
🔬 This is a nightly-only experimental API. (
rustc_private
)Type context we're checking in.
krate: &'a Crate
🔬 This is a nightly-only experimental API. (
rustc_private
)The crate being checked.
Trait Implementations
impl<'a> Visitor<'a> for EarlyContext<'a>
[src]
fn visit_item(&mut self, it: &'a Item)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_foreign_item(&mut self, it: &'a ForeignItem)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_pat(&mut self, p: &'a Pat)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_expr(&mut self, e: &'a Expr)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_stmt(&mut self, s: &'a Stmt)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_fn(&mut self, fk: FnKind<'a>, decl: &'a FnDecl, span: Span, id: NodeId)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_variant_data(&mut self,
s: &'a VariantData,
ident: Ident,
g: &'a Generics,
item_id: NodeId,
Span)
s: &'a VariantData,
ident: Ident,
g: &'a Generics,
item_id: NodeId,
Span)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_struct_field(&mut self, s: &'a StructField)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_variant(&mut self,
v: &'a Spanned<Variant_>,
g: &'a Generics,
item_id: NodeId)
v: &'a Spanned<Variant_>,
g: &'a Generics,
item_id: NodeId)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_ty(&mut self, t: &'a Ty)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_ident(&mut self, sp: Span, id: Ident)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_mod(&mut self, m: &'a Mod, s: Span, n: NodeId)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_local(&mut self, l: &'a Local)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_block(&mut self, b: &'a Block)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_arm(&mut self, a: &'a Arm)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_expr_post(&mut self, e: &'a Expr)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_generics(&mut self, g: &'a Generics)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_trait_item(&mut self, trait_item: &'a TraitItem)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_impl_item(&mut self, impl_item: &'a ImplItem)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_lifetime(&mut self, lt: &'a Lifetime)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_lifetime_def(&mut self, lt: &'a LifetimeDef)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_path(&mut self, p: &'a Path, id: NodeId)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_path_list_item(&mut self,
prefix: &'a Path,
item: &'a Spanned<PathListItem_>)
prefix: &'a Path,
item: &'a Spanned<PathListItem_>)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_attribute(&mut self, attr: &'a Attribute)
🔬 This is a nightly-only experimental API. (
rustc_private
)impl<'a> LintContext<'a> for EarlyContext<'a>
[src]
fn sess(&self) -> &Session
🔬 This is a nightly-only experimental API. (
rustc_private
)Get the overall compiler Session
object.
fn lints(&self) -> &LintStore
🔬 This is a nightly-only experimental API. (
rustc_private
)fn mut_lints(&mut self) -> &mut LintStore
🔬 This is a nightly-only experimental API. (
rustc_private
)fn level_stack(&mut self) -> &mut Vec<(LintId, (Level, LintSource))>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn enter_attrs(&mut self, attrs: &'a [Attribute])
🔬 This is a nightly-only experimental API. (
rustc_private
)fn exit_attrs(&mut self, attrs: &'a [Attribute])
🔬 This is a nightly-only experimental API. (
rustc_private
)fn current_level(&self, lint: &'static Lint) -> Level
🔬 This is a nightly-only experimental API. (
rustc_private
)Get the level of lint
at the current position of the lint traversal. Read more
fn level_src(&self, lint: &'static Lint) -> Option<(Level, LintSource)>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn lookup_and_emit<S>(&self, lint: &'static Lint, span: Option<S>, msg: &str) where S: Into<MultiSpan>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn lookup<S>(&self,
lint: &'static Lint,
span: Option<S>,
msg: &str)
-> DiagnosticBuilder where S: Into<MultiSpan>
lint: &'static Lint,
span: Option<S>,
msg: &str)
-> DiagnosticBuilder where S: Into<MultiSpan>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn span_lint<S>(&self, lint: &'static Lint, span: S, msg: &str) where S: Into<MultiSpan>
🔬 This is a nightly-only experimental API. (
rustc_private
)Emit a lint at the appropriate level, for a particular span.
fn early_lint(&self, early_lint: &EarlyLint)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn struct_span_lint<S>(&self,
lint: &'static Lint,
span: S,
msg: &str)
-> DiagnosticBuilder where S: Into<MultiSpan>
lint: &'static Lint,
span: S,
msg: &str)
-> DiagnosticBuilder where S: Into<MultiSpan>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn span_lint_note(&self,
lint: &'static Lint,
span: Span,
msg: &str,
note_span: Span,
note: &str)
lint: &'static Lint,
span: Span,
msg: &str,
note_span: Span,
note: &str)
🔬 This is a nightly-only experimental API. (
rustc_private
)Emit a lint and note at the appropriate level, for a particular span.
fn span_lint_help(&self, lint: &'static Lint, span: Span, msg: &str, help: &str)
🔬 This is a nightly-only experimental API. (
rustc_private
)Emit a lint and help at the appropriate level, for a particular span.
fn lint(&self, lint: &'static Lint, msg: &str)
🔬 This is a nightly-only experimental API. (
rustc_private
)Emit a lint at the appropriate level, with no associated span.
fn with_lint_attrs<F>(&mut self, attrs: &'tcx [Attribute], f: F) where F: FnOnce(&mut Self) -> ()
🔬 This is a nightly-only experimental API. (
rustc_private
)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. Read more