aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/impl_block.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-01-06 12:58:45 +0000
committerAleksey Kladov <[email protected]>2019-01-06 14:35:57 +0000
commita7f4f7bfcc524a55ba559e0141a70aa799a8686d (patch)
tree458eeb6cf17012239eae2fd107441b63575870ee /crates/ra_hir/src/impl_block.rs
parent9cb02fd931f436a7b39c33c752799f5530b8491b (diff)
split module source into decl/defin
Diffstat (limited to 'crates/ra_hir/src/impl_block.rs')
-rw-r--r--crates/ra_hir/src/impl_block.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/crates/ra_hir/src/impl_block.rs b/crates/ra_hir/src/impl_block.rs
index 891c93434..0d1b94c42 100644
--- a/crates/ra_hir/src/impl_block.rs
+++ b/crates/ra_hir/src/impl_block.rs
@@ -10,10 +10,10 @@ use crate::{
10 Function, 10 Function,
11 db::HirDatabase, 11 db::HirDatabase,
12 type_ref::TypeRef, 12 type_ref::TypeRef,
13 module::{ModuleSourceNode, ModuleId}, 13 module::ModuleId,
14}; 14};
15 15
16use crate::code_model_api::Module; 16use crate::code_model_api::{Module, ModuleSource};
17 17
18#[derive(Debug, Clone, PartialEq, Eq)] 18#[derive(Debug, Clone, PartialEq, Eq)]
19pub struct ImplBlock { 19pub struct ImplBlock {
@@ -150,13 +150,13 @@ impl ModuleImplBlocks {
150 } 150 }
151 151
152 fn collect(&mut self, db: &impl HirDatabase, module: Module) -> Cancelable<()> { 152 fn collect(&mut self, db: &impl HirDatabase, module: Module) -> Cancelable<()> {
153 let module_source_node = module.source(db)?.resolve(db); 153 let (file_id, module_source) = module.defenition_source(db)?;
154 let node = match &module_source_node { 154 let node = match &module_source {
155 ModuleSourceNode::SourceFile(node) => node.borrowed().syntax(), 155 ModuleSource::SourceFile(node) => node.borrowed().syntax(),
156 ModuleSourceNode::Module(node) => node.borrowed().syntax(), 156 ModuleSource::Module(node) => node.borrowed().syntax(),
157 }; 157 };
158 158
159 let source_file_items = db.file_items(module.source(db)?.file_id()); 159 let source_file_items = db.file_items(file_id.into());
160 160
161 for impl_block_ast in node.children().filter_map(ast::ImplBlock::cast) { 161 for impl_block_ast in node.children().filter_map(ast::ImplBlock::cast) {
162 let impl_block = ImplData::from_ast(db, &source_file_items, &module, impl_block_ast); 162 let impl_block = ImplData::from_ast(db, &source_file_items, &module, impl_block_ast);