Unnamed repository; edit this file 'description' to name the repository.
remove one need for semantics
Jake Heinz 2021-11-30
parent 54fc989 · commit b0c7ff3
-rw-r--r--crates/ide/src/navigation_target.rs5
-rw-r--r--crates/ide_db/src/symbol_index.rs17
2 files changed, 9 insertions, 13 deletions
diff --git a/crates/ide/src/navigation_target.rs b/crates/ide/src/navigation_target.rs
index 76ec99ce9e..7deb6cae38 100644
--- a/crates/ide/src/navigation_target.rs
+++ b/crates/ide/src/navigation_target.rs
@@ -169,9 +169,8 @@ impl NavigationTarget {
impl TryToNav for FileSymbol {
fn try_to_nav(&self, db: &RootDatabase) -> Option<NavigationTarget> {
- let semantics = Semantics::new(db);
- let full_range = self.loc.original_range(&semantics)?;
- let name_range = self.loc.original_name_range(&semantics)?;
+ let full_range = self.loc.original_range(db)?;
+ let name_range = self.loc.original_name_range(db)?;
Some(NavigationTarget {
file_id: full_range.file_id,
diff --git a/crates/ide_db/src/symbol_index.rs b/crates/ide_db/src/symbol_index.rs
index 52c90a3744..f2629f69a0 100644
--- a/crates/ide_db/src/symbol_index.rs
+++ b/crates/ide_db/src/symbol_index.rs
@@ -382,28 +382,25 @@ impl DeclarationLocation {
Some(self.ptr.to_node(&root))
}
- pub fn original_range(&self, semantics: &Semantics<'_, RootDatabase>) -> Option<FileRange> {
- find_original_file_range(semantics, self.hir_file_id, &self.ptr)
+ pub fn original_range(&self, db: &dyn HirDatabase) -> Option<FileRange> {
+ find_original_file_range(db, self.hir_file_id, &self.ptr)
}
- pub fn original_name_range(
- &self,
- semantics: &Semantics<'_, RootDatabase>,
- ) -> Option<FileRange> {
- find_original_file_range(semantics, self.hir_file_id, &self.name_ptr)
+ pub fn original_name_range(&self, db: &dyn HirDatabase) -> Option<FileRange> {
+ find_original_file_range(db, self.hir_file_id, &self.name_ptr)
}
}
fn find_original_file_range(
- semantics: &Semantics<'_, RootDatabase>,
+ db: &dyn HirDatabase,
file_id: HirFileId,
ptr: &SyntaxNodePtr,
) -> Option<FileRange> {
- let root = semantics.parse_or_expand(file_id)?;
+ 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(semantics.db.upcast()))
+ Some(node.original_file_range(db.upcast()))
}
#[derive(PartialEq, Eq, Hash, Clone, Copy, Debug)]