Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/symbols.rs')
-rw-r--r--crates/hir/src/symbols.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/crates/hir/src/symbols.rs b/crates/hir/src/symbols.rs
index f1669d5288..857c9e0ed9 100644
--- a/crates/hir/src/symbols.rs
+++ b/crates/hir/src/symbols.rs
@@ -39,24 +39,24 @@ impl DeclarationLocation {
}
pub fn original_range(&self, db: &dyn HirDatabase) -> Option<FileRange> {
- find_original_file_range(db, self.hir_file_id, &self.ptr)
+ let node = resolve_node(db, self.hir_file_id, &self.ptr)?;
+ Some(node.as_ref().original_file_range(db.upcast()))
}
pub fn original_name_range(&self, db: &dyn HirDatabase) -> Option<FileRange> {
- find_original_file_range(db, self.hir_file_id, &self.name_ptr)
+ let node = resolve_node(db, self.hir_file_id, &self.name_ptr)?;
+ node.as_ref().original_file_range_opt(db.upcast())
}
}
-fn find_original_file_range(
+fn resolve_node(
db: &dyn HirDatabase,
file_id: HirFileId,
ptr: &SyntaxNodePtr,
-) -> Option<FileRange> {
+) -> Option<InFile<SyntaxNode>> {
let root = db.parse_or_expand(file_id)?;
let node = ptr.to_node(&root);
- let node = InFile::new(file_id, &node);
-
- Some(node.original_file_range(db.upcast()))
+ Some(InFile::new(file_id, node))
}
#[derive(PartialEq, Eq, Hash, Clone, Copy, Debug)]