diff options
Diffstat (limited to 'crates/ra_hir/src/query_definitions.rs')
-rw-r--r-- | crates/ra_hir/src/query_definitions.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/crates/ra_hir/src/query_definitions.rs b/crates/ra_hir/src/query_definitions.rs index 61c93a964..bf9ac0dfb 100644 --- a/crates/ra_hir/src/query_definitions.rs +++ b/crates/ra_hir/src/query_definitions.rs | |||
@@ -4,9 +4,7 @@ use std::{ | |||
4 | }; | 4 | }; |
5 | 5 | ||
6 | use rustc_hash::FxHashMap; | 6 | use rustc_hash::FxHashMap; |
7 | use ra_syntax::{ | 7 | use ra_syntax::{SyntaxNode, TreeArc}; |
8 | AstNode, SyntaxNode, TreeArc, | ||
9 | }; | ||
10 | use ra_db::{CrateId}; | 8 | use ra_db::{CrateId}; |
11 | 9 | ||
12 | use crate::{ | 10 | use crate::{ |
@@ -32,10 +30,10 @@ pub(super) fn file_item( | |||
32 | db: &impl HirDatabase, | 30 | db: &impl HirDatabase, |
33 | source_item_id: SourceItemId, | 31 | source_item_id: SourceItemId, |
34 | ) -> TreeArc<SyntaxNode> { | 32 | ) -> TreeArc<SyntaxNode> { |
35 | match source_item_id.item_id { | 33 | let source_file = db.hir_parse(source_item_id.file_id); |
36 | Some(id) => db.file_items(source_item_id.file_id)[id].to_owned(), | 34 | db.file_items(source_item_id.file_id)[source_item_id.item_id] |
37 | None => db.hir_parse(source_item_id.file_id).syntax().to_owned(), | 35 | .to_node(&source_file) |
38 | } | 36 | .to_owned() |
39 | } | 37 | } |
40 | 38 | ||
41 | pub(super) fn item_map(db: &impl HirDatabase, crate_id: CrateId) -> Arc<ItemMap> { | 39 | pub(super) fn item_map(db: &impl HirDatabase, crate_id: CrateId) -> Arc<ItemMap> { |