Unnamed repository; edit this file 'description' to name the repository.
fix: Fix Semantics::original_ast_node not caching the resulting file
Lukas Wirth 2022-07-27
parent c2eebd7 · commit 6c379b9
-rw-r--r--crates/hir/src/semantics.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/crates/hir/src/semantics.rs b/crates/hir/src/semantics.rs
index fc8f23f19a..a75e5cafd0 100644
--- a/crates/hir/src/semantics.rs
+++ b/crates/hir/src/semantics.rs
@@ -924,7 +924,12 @@ impl<'db> SemanticsImpl<'db> {
}
fn original_ast_node<N: AstNode>(&self, node: N) -> Option<N> {
- self.wrap_node_infile(node).original_ast_node(self.db.upcast()).map(|it| it.value)
+ self.wrap_node_infile(node).original_ast_node(self.db.upcast()).map(
+ |InFile { file_id, value }| {
+ self.cache(find_root(value.syntax()), file_id);
+ value
+ },
+ )
}
fn diagnostics_display_range(&self, src: InFile<SyntaxNodePtr>) -> FileRange {