From 1c5ce7a8682c9e14ce726388b88897644721b19b Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 19 Dec 2018 01:48:46 +0300 Subject: File module source does not depend on syntax --- crates/ra_hir/src/query_definitions.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'crates/ra_hir/src/query_definitions.rs') diff --git a/crates/ra_hir/src/query_definitions.rs b/crates/ra_hir/src/query_definitions.rs index 37c4f9e4f..efaeb1525 100644 --- a/crates/ra_hir/src/query_definitions.rs +++ b/crates/ra_hir/src/query_definitions.rs @@ -38,7 +38,6 @@ pub(super) fn fn_scopes(db: &impl HirDatabase, fn_id: FnId) -> Arc { pub(super) fn file_items(db: &impl HirDatabase, file_id: FileId) -> Arc { let mut res = SourceFileItems::new(file_id); let source_file = db.source_file(file_id); - res.alloc(source_file.syntax().owned()); let source_file = source_file.borrowed(); source_file .syntax() @@ -52,7 +51,10 @@ pub(super) fn file_items(db: &impl HirDatabase, file_id: FileId) -> Arc SyntaxNode { - db.file_items(source_item_id.file_id)[source_item_id.item_id].clone() + match source_item_id.item_id { + Some(id) => db.file_items(source_item_id.file_id)[id].clone(), + None => db.source_file(source_item_id.file_id).syntax().owned(), + } } pub(crate) fn submodules( -- cgit v1.2.3