Move Level to rustc_session
This commit is contained in:
parent
43516981cb
commit
433e546af9
3 changed files with 48 additions and 41 deletions
|
|
@ -39,7 +39,7 @@ use syntax::ast;
|
|||
use syntax::source_map::{MultiSpan, ExpnKind, DesugaringKind};
|
||||
use syntax::early_buffered_lints::BufferedEarlyLintId;
|
||||
use syntax::edition::Edition;
|
||||
use syntax::symbol::{Symbol, sym};
|
||||
use syntax::symbol::Symbol;
|
||||
use syntax_pos::hygiene::MacroKind;
|
||||
use syntax_pos::Span;
|
||||
|
||||
|
|
@ -47,6 +47,8 @@ pub use crate::lint::context::{LateContext, EarlyContext, LintContext, LintStore
|
|||
check_crate, check_ast_crate, late_lint_mod, CheckLintNameResult,
|
||||
BufferedEarlyLint,};
|
||||
|
||||
pub use rustc_session::lint::Level;
|
||||
|
||||
/// Specification of a single lint.
|
||||
#[derive(Copy, Clone, Debug)]
|
||||
pub struct Lint {
|
||||
|
|
@ -542,46 +544,6 @@ impl LintId {
|
|||
}
|
||||
}
|
||||
|
||||
/// Setting for how to handle a lint.
|
||||
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash, HashStable)]
|
||||
pub enum Level {
|
||||
Allow, Warn, Deny, Forbid,
|
||||
}
|
||||
|
||||
impl Level {
|
||||
/// Converts a level to a lower-case string.
|
||||
pub fn as_str(self) -> &'static str {
|
||||
match self {
|
||||
Allow => "allow",
|
||||
Warn => "warn",
|
||||
Deny => "deny",
|
||||
Forbid => "forbid",
|
||||
}
|
||||
}
|
||||
|
||||
/// Converts a lower-case string to a level.
|
||||
pub fn from_str(x: &str) -> Option<Level> {
|
||||
match x {
|
||||
"allow" => Some(Allow),
|
||||
"warn" => Some(Warn),
|
||||
"deny" => Some(Deny),
|
||||
"forbid" => Some(Forbid),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
/// Converts a symbol to a level.
|
||||
pub fn from_symbol(x: Symbol) -> Option<Level> {
|
||||
match x {
|
||||
sym::allow => Some(Allow),
|
||||
sym::warn => Some(Warn),
|
||||
sym::deny => Some(Deny),
|
||||
sym::forbid => Some(Forbid),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// How a lint level was set.
|
||||
#[derive(Clone, Copy, PartialEq, Eq, HashStable)]
|
||||
pub enum LintSource {
|
||||
|
|
|
|||
|
|
@ -1,2 +1,3 @@
|
|||
pub mod cgu_reuse_tracker;
|
||||
pub mod utils;
|
||||
pub mod lint;
|
||||
|
|
|
|||
44
src/librustc_session/lint.rs
Normal file
44
src/librustc_session/lint.rs
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
use syntax_pos::{Symbol, sym};
|
||||
pub use self::Level::*;
|
||||
|
||||
/// Setting for how to handle a lint.
|
||||
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
|
||||
pub enum Level {
|
||||
Allow, Warn, Deny, Forbid,
|
||||
}
|
||||
|
||||
rustc_data_structures::impl_stable_hash_via_hash!(Level);
|
||||
|
||||
impl Level {
|
||||
/// Converts a level to a lower-case string.
|
||||
pub fn as_str(self) -> &'static str {
|
||||
match self {
|
||||
Level::Allow => "allow",
|
||||
Level::Warn => "warn",
|
||||
Level::Deny => "deny",
|
||||
Level::Forbid => "forbid",
|
||||
}
|
||||
}
|
||||
|
||||
/// Converts a lower-case string to a level.
|
||||
pub fn from_str(x: &str) -> Option<Level> {
|
||||
match x {
|
||||
"allow" => Some(Level::Allow),
|
||||
"warn" => Some(Level::Warn),
|
||||
"deny" => Some(Level::Deny),
|
||||
"forbid" => Some(Level::Forbid),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
/// Converts a symbol to a level.
|
||||
pub fn from_symbol(x: Symbol) -> Option<Level> {
|
||||
match x {
|
||||
sym::allow => Some(Level::Allow),
|
||||
sym::warn => Some(Level::Warn),
|
||||
sym::deny => Some(Level::Deny),
|
||||
sym::forbid => Some(Level::Forbid),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue