aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/code_model_api.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir/src/code_model_api.rs')
-rw-r--r--crates/ra_hir/src/code_model_api.rs18
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 @@
1use std::sync::Arc; 1use std::sync::Arc;
2 2
3use relative_path::RelativePathBuf;
4use ra_db::{CrateId, SourceRootId, Edition}; 3use ra_db::{CrateId, SourceRootId, Edition};
5use ra_syntax::{ast::self, TreeArc, SyntaxNode}; 4use ra_syntax::{ast::self, TreeArc};
6 5
7use crate::{ 6use 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)]
100pub enum Problem {
101 UnresolvedModule { candidate: RelativePathBuf },
102}
103
104impl Module { 98impl 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