diff options
| author | Jake Heinz <jh@discordapp.com> | 2021-11-30 04:50:09 +0000 |
|---|---|---|
| committer | Jake Heinz <jh@discordapp.com> | 2021-11-30 04:50:09 +0000 |
| commit | b0c7ff39b8277aaf80c93a83200dc732792bac7d (patch) | |
| tree | 9640bdf0508080da368b3ff6784bdbd68e5d8b3d | |
| parent | 54fc98920b1f28b5a9ba42a67fcd2868cc0b614a (diff) | |
| download | rust-b0c7ff39b8277aaf80c93a83200dc732792bac7d.tar.gz rust-b0c7ff39b8277aaf80c93a83200dc732792bac7d.zip | |
remove one need for semantics
| -rw-r--r-- | crates/ide/src/navigation_target.rs | 5 | ||||
| -rw-r--r-- | crates/ide_db/src/symbol_index.rs | 17 |
2 files changed, 9 insertions, 13 deletions
diff --git a/crates/ide/src/navigation_target.rs b/crates/ide/src/navigation_target.rs index 76ec99ce9e8..7deb6cae38b 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 52c90a37444..f2629f69a0d 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)] |
