From 93dc6f511bedb7c18319bbf3efe47a7db4b2aa53 Mon Sep 17 00:00:00 2001 From: Jonas Schievink Date: Fri, 23 Oct 2020 19:27:04 +0200 Subject: Diagnose #[cfg]s in bodies --- crates/hir_def/src/diagnostics.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'crates/hir_def/src/diagnostics.rs') diff --git a/crates/hir_def/src/diagnostics.rs b/crates/hir_def/src/diagnostics.rs index 532496b62..90d9cdcba 100644 --- a/crates/hir_def/src/diagnostics.rs +++ b/crates/hir_def/src/diagnostics.rs @@ -4,10 +4,17 @@ use std::any::Any; use stdx::format_to; use cfg::{CfgExpr, CfgOptions, DnfExpr}; -use hir_expand::diagnostics::{Diagnostic, DiagnosticCode}; +use hir_expand::diagnostics::{Diagnostic, DiagnosticCode, DiagnosticSink}; use hir_expand::{HirFileId, InFile}; use syntax::{ast, AstPtr, SyntaxNodePtr}; +use crate::{db::DefDatabase, DefWithBodyId}; + +pub fn validate_body(db: &dyn DefDatabase, owner: DefWithBodyId, sink: &mut DiagnosticSink<'_>) { + let source_map = db.body_with_source_map(owner).1; + source_map.add_diagnostics(db, sink); +} + // Diagnostic: unresolved-module // // This diagnostic is triggered if rust-analyzer is unable to discover referred module. @@ -91,7 +98,7 @@ impl Diagnostic for UnresolvedImport { // Diagnostic: unconfigured-code // // This diagnostic is shown for code with inactive `#[cfg]` attributes. -#[derive(Debug)] +#[derive(Debug, Clone, Eq, PartialEq)] pub struct InactiveCode { pub file: HirFileId, pub node: SyntaxNodePtr, -- cgit v1.2.3 From 5350c15e27bfb85d2e7ae3eae0e624197f2b9a70 Mon Sep 17 00:00:00 2001 From: Jonas Schievink Date: Fri, 23 Oct 2020 19:31:11 +0200 Subject: Fix name of InactiveCode diagnostic --- crates/hir_def/src/diagnostics.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'crates/hir_def/src/diagnostics.rs') diff --git a/crates/hir_def/src/diagnostics.rs b/crates/hir_def/src/diagnostics.rs index 90d9cdcba..b221b290c 100644 --- a/crates/hir_def/src/diagnostics.rs +++ b/crates/hir_def/src/diagnostics.rs @@ -95,7 +95,7 @@ impl Diagnostic for UnresolvedImport { } } -// Diagnostic: unconfigured-code +// Diagnostic: inactive-code // // This diagnostic is shown for code with inactive `#[cfg]` attributes. #[derive(Debug, Clone, Eq, PartialEq)] -- cgit v1.2.3