aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/query_definitions.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir/src/query_definitions.rs')
-rw-r--r--crates/ra_hir/src/query_definitions.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/crates/ra_hir/src/query_definitions.rs b/crates/ra_hir/src/query_definitions.rs
index 61c93a964..380c06404 100644
--- a/crates/ra_hir/src/query_definitions.rs
+++ b/crates/ra_hir/src/query_definitions.rs
@@ -32,9 +32,12 @@ pub(super) fn file_item(
32 db: &impl HirDatabase, 32 db: &impl HirDatabase,
33 source_item_id: SourceItemId, 33 source_item_id: SourceItemId,
34) -> TreeArc<SyntaxNode> { 34) -> TreeArc<SyntaxNode> {
35 let source_file = db.hir_parse(source_item_id.file_id);
35 match source_item_id.item_id { 36 match source_item_id.item_id {
36 Some(id) => db.file_items(source_item_id.file_id)[id].to_owned(), 37 Some(id) => db.file_items(source_item_id.file_id)[id]
37 None => db.hir_parse(source_item_id.file_id).syntax().to_owned(), 38 .to_node(&source_file)
39 .to_owned(),
40 None => source_file.syntax().to_owned(),
38 } 41 }
39} 42}
40 43