Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-ssr/src/from_comment.rs')
-rw-r--r--crates/ide-ssr/src/from_comment.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/crates/ide-ssr/src/from_comment.rs b/crates/ide-ssr/src/from_comment.rs
index a14e69030e..f6fe705a98 100644
--- a/crates/ide-ssr/src/from_comment.rs
+++ b/crates/ide-ssr/src/from_comment.rs
@@ -1,7 +1,10 @@
//! This module allows building an SSR MatchFinder by parsing the SSR rule
//! from a comment.
-use ide_db::{base_db::SourceDatabase, EditionedFileId, FilePosition, FileRange, RootDatabase};
+use ide_db::{
+ base_db::{salsa::AsDynDatabase, RootQueryDb},
+ EditionedFileId, FilePosition, FileRange, RootDatabase,
+};
use syntax::{
ast::{self, AstNode, AstToken},
TextRange,
@@ -17,7 +20,11 @@ pub fn ssr_from_comment(
frange: FileRange,
) -> Option<(MatchFinder<'_>, TextRange)> {
let comment = {
- let file = db.parse(EditionedFileId::current_edition(frange.file_id));
+ let editioned_file_id = EditionedFileId::current_edition(frange.file_id);
+ let file_id =
+ ide_db::base_db::EditionedFileId::new(db.as_dyn_database(), editioned_file_id);
+
+ let file = db.parse(file_id);
file.tree().syntax().token_at_offset(frange.range.start()).find_map(ast::Comment::cast)
}?;
let comment_text_without_prefix = comment.text().strip_prefix(comment.prefix()).unwrap();