diff options
author | Aleksey Kladov <[email protected]> | 2019-03-23 15:35:14 +0000 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-03-25 07:52:50 +0000 |
commit | 3fb88e95aa5e122a521beec766d5b1264ca4de3b (patch) | |
tree | 17e5815f78f81f04fd462605288e09e82c8caee8 /crates/ra_hir/src/code_model_api.rs | |
parent | fcca35969dd7c63a83ee34c4ce7d54cefdb72bbe (diff) |
switch modules to new diagnostics
Diffstat (limited to 'crates/ra_hir/src/code_model_api.rs')
-rw-r--r-- | crates/ra_hir/src/code_model_api.rs | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/crates/ra_hir/src/code_model_api.rs b/crates/ra_hir/src/code_model_api.rs index a37d960a1..03b1acef3 100644 --- a/crates/ra_hir/src/code_model_api.rs +++ b/crates/ra_hir/src/code_model_api.rs | |||
@@ -1,8 +1,7 @@ | |||
1 | use std::sync::Arc; | 1 | use std::sync::Arc; |
2 | 2 | ||
3 | use relative_path::RelativePathBuf; | ||
4 | use ra_db::{CrateId, SourceRootId, Edition}; | 3 | use ra_db::{CrateId, SourceRootId, Edition}; |
5 | use ra_syntax::{ast::self, TreeArc, SyntaxNode}; | 4 | use ra_syntax::{ast::self, TreeArc}; |
6 | 5 | ||
7 | use crate::{ | 6 | use crate::{ |
8 | Name, ScopesWithSourceMap, Ty, HirFileId, | 7 | Name, ScopesWithSourceMap, Ty, HirFileId, |
@@ -96,11 +95,6 @@ pub enum ModuleSource { | |||
96 | Module(TreeArc<ast::Module>), | 95 | Module(TreeArc<ast::Module>), |
97 | } | 96 | } |
98 | 97 | ||
99 | #[derive(Clone, Debug, Hash, PartialEq, Eq)] | ||
100 | pub enum Problem { | ||
101 | UnresolvedModule { candidate: RelativePathBuf }, | ||
102 | } | ||
103 | |||
104 | impl Module { | 98 | impl Module { |
105 | /// Name of this module. | 99 | /// Name of this module. |
106 | pub fn name(&self, db: &impl HirDatabase) -> Option<Name> { | 100 | pub fn name(&self, db: &impl HirDatabase) -> Option<Name> { |
@@ -172,8 +166,8 @@ impl Module { | |||
172 | db.crate_def_map(self.krate)[self.module_id].scope.clone() | 166 | db.crate_def_map(self.krate)[self.module_id].scope.clone() |
173 | } | 167 | } |
174 | 168 | ||
175 | pub fn problems(&self, db: &impl HirDatabase) -> Vec<(TreeArc<SyntaxNode>, Problem)> { | 169 | pub fn diagnostics(&self, db: &impl HirDatabase, sink: &mut Diagnostics) { |
176 | self.problems_impl(db) | 170 | db.crate_def_map(self.krate).add_diagnostics(db, self.module_id, sink); |
177 | } | 171 | } |
178 | 172 | ||
179 | pub fn resolver(&self, db: &impl HirDatabase) -> Resolver { | 173 | pub fn resolver(&self, db: &impl HirDatabase) -> Resolver { |
@@ -521,10 +515,8 @@ impl Function { | |||
521 | r | 515 | r |
522 | } | 516 | } |
523 | 517 | ||
524 | pub fn diagnostics(&self, db: &impl HirDatabase) -> Diagnostics { | 518 | pub fn diagnostics(&self, db: &impl HirDatabase, sink: &mut Diagnostics) { |
525 | let mut res = Diagnostics::default(); | 519 | self.infer(db).add_diagnostics(db, *self, sink); |
526 | self.infer(db).add_diagnostics(db, *self, &mut res); | ||
527 | res | ||
528 | } | 520 | } |
529 | } | 521 | } |
530 | 522 | ||