Trait rustc_trans::lint::LintContext
[−]
[src]
pub trait LintContext<'tcx> { fn sess(&self) -> &Session; fn lints(&self) -> &LintStore; fn mut_lints(&mut self) -> &mut LintStore; fn level_stack(&mut self) -> &mut Vec<(LintId, (Level, LintSource))>; fn enter_attrs(&mut self, attrs: &'tcx [Attribute]); fn exit_attrs(&mut self, attrs: &'tcx [Attribute]); fn current_level(&self, lint: &'static Lint) -> Level { ... } fn level_src(&self, lint: &'static Lint) -> Option<(Level, LintSource)> { ... } fn lookup_and_emit<S>(&self,
lint: &'static Lint,
span: Option<S>,
msg: &str) where S: Into<MultiSpan> { ... } fn lookup<S>(&self,
lint: &'static Lint,
span: Option<S>,
msg: &str)
-> DiagnosticBuilder where S: Into<MultiSpan> { ... } fn span_lint<S>(&self, lint: &'static Lint, span: S, msg: &str) where S: Into<MultiSpan> { ... } fn early_lint(&self, early_lint: &EarlyLint) { ... } fn struct_span_lint<S>(&self,
lint: &'static Lint,
span: S,
msg: &str)
-> DiagnosticBuilder where S: Into<MultiSpan> { ... } fn span_lint_note(&self,
lint: &'static Lint,
span: Span,
msg: &str,
note_span: Span,
note: &str) { ... } fn span_lint_help(&self,
lint: &'static Lint,
span: Span,
msg: &str,
help: &str) { ... } fn lint(&self, lint: &'static Lint, msg: &str) { ... } 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
)Required Methods
fn sess(&self) -> &Session
🔬 This is a nightly-only experimental API. (
rustc_private
)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: &'tcx [Attribute])
🔬 This is a nightly-only experimental API. (
rustc_private
)fn exit_attrs(&mut self, attrs: &'tcx [Attribute])
🔬 This is a nightly-only experimental API. (
rustc_private
)Provided Methods
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.
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.
Implementors
impl<'a, 'tcx> LintContext<'tcx> for LateContext<'a, 'tcx>
impl<'a> LintContext<'a> for EarlyContext<'a>