diff options
author | Kirill Bulatov <[email protected]> | 2020-08-10 22:37:23 +0100 |
---|---|---|
committer | Kirill Bulatov <[email protected]> | 2020-08-11 13:09:08 +0100 |
commit | 29fbc8e02180aac1f4d7819a9626206aa64028a0 (patch) | |
tree | ed97a21451cdb34a33ac984c7df035a5c29ca25e /crates/ra_hir | |
parent | 936861993935d5b2c78b953e2f4b719e1992bd73 (diff) |
Move the DiagnosticsWithFix trait on the ide level
Diffstat (limited to 'crates/ra_hir')
-rw-r--r-- | crates/ra_hir/src/diagnostics.rs | 4 | ||||
-rw-r--r-- | crates/ra_hir/src/semantics.rs | 12 |
2 files changed, 4 insertions, 12 deletions
diff --git a/crates/ra_hir/src/diagnostics.rs b/crates/ra_hir/src/diagnostics.rs index 564f6a5db..363164b9b 100644 --- a/crates/ra_hir/src/diagnostics.rs +++ b/crates/ra_hir/src/diagnostics.rs | |||
@@ -1,8 +1,6 @@ | |||
1 | //! FIXME: write short doc here | 1 | //! FIXME: write short doc here |
2 | pub use hir_def::diagnostics::UnresolvedModule; | 2 | pub use hir_def::diagnostics::UnresolvedModule; |
3 | pub use hir_expand::diagnostics::{ | 3 | pub use hir_expand::diagnostics::{Diagnostic, DiagnosticSink, DiagnosticSinkBuilder}; |
4 | Diagnostic, DiagnosticSink, DiagnosticSinkBuilder, DiagnosticWithFix, | ||
5 | }; | ||
6 | pub use hir_ty::diagnostics::{ | 4 | pub use hir_ty::diagnostics::{ |
7 | MismatchedArgCount, MissingFields, MissingMatchArms, MissingOkInTailExpr, NoSuchField, | 5 | MismatchedArgCount, MissingFields, MissingMatchArms, MissingOkInTailExpr, NoSuchField, |
8 | }; | 6 | }; |
diff --git a/crates/ra_hir/src/semantics.rs b/crates/ra_hir/src/semantics.rs index c5bc2baff..e9f7a033c 100644 --- a/crates/ra_hir/src/semantics.rs +++ b/crates/ra_hir/src/semantics.rs | |||
@@ -8,7 +8,7 @@ use hir_def::{ | |||
8 | resolver::{self, HasResolver, Resolver}, | 8 | resolver::{self, HasResolver, Resolver}, |
9 | AsMacroCall, FunctionId, TraitId, VariantId, | 9 | AsMacroCall, FunctionId, TraitId, VariantId, |
10 | }; | 10 | }; |
11 | use hir_expand::{diagnostics::DiagnosticWithFix, hygiene::Hygiene, name::AsName, ExpansionInfo}; | 11 | use hir_expand::{hygiene::Hygiene, name::AsName, ExpansionInfo}; |
12 | use hir_ty::associated_type_shorthand_candidates; | 12 | use hir_ty::associated_type_shorthand_candidates; |
13 | use itertools::Itertools; | 13 | use itertools::Itertools; |
14 | use ra_db::{FileId, FileRange}; | 14 | use ra_db::{FileId, FileRange}; |
@@ -109,14 +109,8 @@ impl<'db, DB: HirDatabase> Semantics<'db, DB> { | |||
109 | self.imp.parse(file_id) | 109 | self.imp.parse(file_id) |
110 | } | 110 | } |
111 | 111 | ||
112 | pub fn diagnostic_fix_source<T: DiagnosticWithFix + Diagnostic>( | 112 | pub fn cache(&self, root_node: SyntaxNode, file_id: HirFileId) { |
113 | &self, | 113 | self.imp.cache(root_node, file_id) |
114 | d: &T, | ||
115 | ) -> Option<<T as DiagnosticWithFix>::AST> { | ||
116 | let file_id = d.presentation().file_id; | ||
117 | let root = self.db.parse_or_expand(file_id)?; | ||
118 | self.imp.cache(root, file_id); | ||
119 | d.fix_source(self.db.upcast()) | ||
120 | } | 114 | } |
121 | 115 | ||
122 | pub fn expand(&self, macro_call: &ast::MacroCall) -> Option<SyntaxNode> { | 116 | pub fn expand(&self, macro_call: &ast::MacroCall) -> Option<SyntaxNode> { |