From 9c1a18a626770b60e8785aa34505dc2caf061c02 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 26 Jan 2019 22:48:04 +0300 Subject: store syntax ptr in FileItems we cache the tree in file_item query anyway --- crates/ra_hir/src/query_definitions.rs | 7 +++++-- 1 file changed, 5 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 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( db: &impl HirDatabase, source_item_id: SourceItemId, ) -> TreeArc { + let source_file = db.hir_parse(source_item_id.file_id); match source_item_id.item_id { - Some(id) => db.file_items(source_item_id.file_id)[id].to_owned(), - None => db.hir_parse(source_item_id.file_id).syntax().to_owned(), + Some(id) => db.file_items(source_item_id.file_id)[id] + .to_node(&source_file) + .to_owned(), + None => source_file.syntax().to_owned(), } } -- cgit v1.2.3