Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-ssr/src/search.rs')
| -rw-r--r-- | crates/ide-ssr/src/search.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/crates/ide-ssr/src/search.rs b/crates/ide-ssr/src/search.rs index b1cade3926..b094712e1b 100644 --- a/crates/ide-ssr/src/search.rs +++ b/crates/ide-ssr/src/search.rs @@ -7,6 +7,7 @@ use crate::{ }; use hir::FileRange; use ide_db::{ + base_db::salsa::AsDynDatabase, defs::Definition, search::{SearchScope, UsageSearchResult}, EditionedFileId, FileId, FxHashSet, @@ -74,7 +75,12 @@ impl MatchFinder<'_> { resolved_path: &ResolvedPath, file_range: FileRange, ) -> Vec<SyntaxNode> { - let file = self.sema.parse(file_range.file_id); + let editioned_file_id_wrapper = ide_db::base_db::EditionedFileId::new( + self.sema.db.as_dyn_database(), + file_range.file_id, + ); + + let file = self.sema.parse(editioned_file_id_wrapper); let depth = resolved_path.depth as usize; let offset = file_range.range.start(); @@ -156,10 +162,10 @@ impl MatchFinder<'_> { fn search_files_do(&self, mut callback: impl FnMut(FileId)) { if self.restrict_ranges.is_empty() { // Unrestricted search. - use ide_db::base_db::SourceRootDatabase; + use ide_db::base_db::SourceDatabase; use ide_db::symbol_index::SymbolsDatabase; for &root in self.sema.db.local_roots().iter() { - let sr = self.sema.db.source_root(root); + let sr = self.sema.db.source_root(root).source_root(self.sema.db); for file_id in sr.iter() { callback(file_id); } |