]> git.lizzy.rs Git - rust.git/commitdiff
Move Level to rustc_session
authorMark Rousskov <mark.simulacrum@gmail.com>
Tue, 12 Nov 2019 13:51:57 +0000 (08:51 -0500)
committerMark Rousskov <mark.simulacrum@gmail.com>
Tue, 3 Dec 2019 17:18:32 +0000 (12:18 -0500)
src/librustc/lint/mod.rs
src/librustc_session/lib.rs
src/librustc_session/lint.rs [new file with mode: 0644]

index d84102ff3c5d8caf07a6b37895cf9b397b210ce7..0cc2c356a1551880a103a35e56fb940c9d39d59f 100644 (file)
@@ -39,7 +39,7 @@
 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 @@
                         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 @@ pub fn to_string(&self) -> String {
     }
 }
 
-/// 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 {
index e65ed84f19bf97c6a5c25d1a8479d3b630bc68e3..4e873e8bb281b611ae95c498fe155c0925c6d27c 100644 (file)
@@ -1,2 +1,3 @@
 pub mod cgu_reuse_tracker;
 pub mod utils;
+pub mod lint;
diff --git a/src/librustc_session/lint.rs b/src/librustc_session/lint.rs
new file mode 100644 (file)
index 0000000..44b1f4e
--- /dev/null
@@ -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,
+        }
+    }
+}