From 90857ff8b08d73945598bac12a841559e86402b1 Mon Sep 17 00:00:00 2001 From: Igor Aleksanov Date: Fri, 7 Aug 2020 14:25:55 +0300 Subject: Add an AnalysisConfig structure and use it to configure diagnostics run --- crates/ra_hir_expand/src/diagnostics.rs | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) (limited to 'crates/ra_hir_expand/src') diff --git a/crates/ra_hir_expand/src/diagnostics.rs b/crates/ra_hir_expand/src/diagnostics.rs index bf9fb081a..ef1d61144 100644 --- a/crates/ra_hir_expand/src/diagnostics.rs +++ b/crates/ra_hir_expand/src/diagnostics.rs @@ -14,7 +14,7 @@ //! subsystem provides a separate, non-query-based API which can walk all stored //! values and transform them into instances of `Diagnostic`. -use std::{any::Any, collections::HashSet, fmt}; +use std::{any::Any, fmt}; use ra_syntax::{SyntaxNode, SyntaxNodePtr}; @@ -50,16 +50,10 @@ pub struct DiagnosticSink<'a> { callbacks: Vec Result<(), ()> + 'a>>, filters: Vec bool + 'a>>, default_callback: Box, - disabled_diagnostics: HashSet, } impl<'a> DiagnosticSink<'a> { pub fn push(&mut self, d: impl Diagnostic) { - if self.disabled_diagnostics.contains(&d.name()) { - // This diagnostic is disabled, ignore it completely. - return; - } - let d: &dyn Diagnostic = &d; self._push(d); } @@ -83,12 +77,11 @@ impl<'a> DiagnosticSink<'a> { pub struct DiagnosticSinkBuilder<'a> { callbacks: Vec Result<(), ()> + 'a>>, filters: Vec bool + 'a>>, - disabled_diagnostics: HashSet, } impl<'a> DiagnosticSinkBuilder<'a> { pub fn new() -> Self { - Self { callbacks: Vec::new(), filters: Vec::new(), disabled_diagnostics: HashSet::new() } + Self { callbacks: Vec::new(), filters: Vec::new() } } pub fn filter bool + 'a>(mut self, cb: F) -> Self { @@ -108,17 +101,11 @@ impl<'a> DiagnosticSinkBuilder<'a> { self } - pub fn disable_diagnostic(mut self, diagnostic: impl Into) -> Self { - self.disabled_diagnostics.insert(diagnostic.into()); - self - } - pub fn build(self, default_callback: F) -> DiagnosticSink<'a> { DiagnosticSink { callbacks: self.callbacks, filters: self.filters, default_callback: Box::new(default_callback), - disabled_diagnostics: self.disabled_diagnostics, } } } -- cgit v1.2.3