Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-expand/src/ast_id_map.rs')
-rw-r--r--crates/hir-expand/src/ast_id_map.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/crates/hir-expand/src/ast_id_map.rs b/crates/hir-expand/src/ast_id_map.rs
index 7bdd6db932..530f10a068 100644
--- a/crates/hir-expand/src/ast_id_map.rs
+++ b/crates/hir-expand/src/ast_id_map.rs
@@ -155,7 +155,14 @@ impl PartialEq for AstIdMap {
impl Eq for AstIdMap {}
impl AstIdMap {
- pub(crate) fn from_source(node: &SyntaxNode) -> AstIdMap {
+ pub(crate) fn ast_id_map(
+ db: &dyn ExpandDatabase,
+ file_id: span::HirFileId,
+ ) -> triomphe::Arc<AstIdMap> {
+ triomphe::Arc::new(AstIdMap::from_source(&db.parse_or_expand(file_id)))
+ }
+
+ fn from_source(node: &SyntaxNode) -> AstIdMap {
assert!(node.parent().is_none());
let mut res = AstIdMap::default();