diff options
author | Aleksey Kladov <[email protected]> | 2019-01-06 12:58:45 +0000 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-01-06 14:35:57 +0000 |
commit | a7f4f7bfcc524a55ba559e0141a70aa799a8686d (patch) | |
tree | 458eeb6cf17012239eae2fd107441b63575870ee /crates/ra_hir/src/impl_block.rs | |
parent | 9cb02fd931f436a7b39c33c752799f5530b8491b (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.rs | 14 |
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 | ||
16 | use crate::code_model_api::Module; | 16 | use crate::code_model_api::{Module, ModuleSource}; |
17 | 17 | ||
18 | #[derive(Debug, Clone, PartialEq, Eq)] | 18 | #[derive(Debug, Clone, PartialEq, Eq)] |
19 | pub struct ImplBlock { | 19 | pub 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); |