aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_def/src/diagnostics.rs
diff options
context:
space:
mode:
authorJonas Schievink <[email protected]>2020-10-20 16:49:21 +0100
committerJonas Schievink <[email protected]>2020-10-20 16:53:04 +0100
commit80d27414016903fa591548cff22939d3c43cdd8d (patch)
tree7e1af2330d87fcefcfcea4e8babfe4130c1e3786 /crates/hir_def/src/diagnostics.rs
parenta54e481646edb151075d12ca6903091abe7cfc4e (diff)
Add a (hint) diagnostic for unconfigured items
Diffstat (limited to 'crates/hir_def/src/diagnostics.rs')
-rw-r--r--crates/hir_def/src/diagnostics.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/crates/hir_def/src/diagnostics.rs b/crates/hir_def/src/diagnostics.rs
index fcfbbbad3..53cf1aca1 100644
--- a/crates/hir_def/src/diagnostics.rs
+++ b/crates/hir_def/src/diagnostics.rs
@@ -86,3 +86,28 @@ impl Diagnostic for UnresolvedImport {
86 true 86 true
87 } 87 }
88} 88}
89
90// Diagnostic: unconfigured-code
91//
92// This diagnostic is shown for code with inactive `#[cfg]` attributes.
93#[derive(Debug)]
94pub struct UnconfiguredCode {
95 pub file: HirFileId,
96 pub node: SyntaxNodePtr,
97}
98
99impl Diagnostic for UnconfiguredCode {
100 fn code(&self) -> DiagnosticCode {
101 DiagnosticCode("unconfigured-code")
102 }
103 fn message(&self) -> String {
104 // FIXME: say *why* it is configured out
105 "configured out".to_string()
106 }
107 fn display_source(&self) -> InFile<SyntaxNodePtr> {
108 InFile::new(self.file, self.node.clone())
109 }
110 fn as_any(&self) -> &(dyn Any + Send + 'static) {
111 self
112 }
113}