Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/extract_module.rs')
-rw-r--r--crates/ide-assists/src/handlers/extract_module.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/crates/ide-assists/src/handlers/extract_module.rs b/crates/ide-assists/src/handlers/extract_module.rs
index 6e3be0ce69..b94422b13c 100644
--- a/crates/ide-assists/src/handlers/extract_module.rs
+++ b/crates/ide-assists/src/handlers/extract_module.rs
@@ -2,6 +2,7 @@ use std::iter;
use either::Either;
use hir::{HasSource, HirFileIdExt, ModuleSource};
+use ide_db::base_db::salsa::AsDynDatabase;
use ide_db::{
assists::{AssistId, AssistKind},
defs::{Definition, NameClass, NameRefClass},
@@ -331,7 +332,10 @@ impl Module {
let mut use_stmts_set = FxHashSet::default();
for (file_id, refs) in node_def.usages(&ctx.sema).all() {
- let source_file = ctx.sema.parse(file_id);
+ let editioned_file_id =
+ ide_db::base_db::EditionedFileId::new(ctx.sema.db.as_dyn_database(), file_id);
+
+ let source_file = ctx.sema.parse(editioned_file_id);
let usages = refs.into_iter().filter_map(|FileReference { range, .. }| {
// handle normal usages
let name_ref = find_node_at_range::<ast::NameRef>(source_file.syntax(), range)?;
@@ -457,7 +461,11 @@ impl Module {
let selection_range = ctx.selection_trimmed();
let file_id = ctx.file_id();
let usage_res = def.usages(&ctx.sema).in_scope(&SearchScope::single_file(file_id)).all();
- let file = ctx.sema.parse(file_id);
+
+ let editioned_file_id =
+ ide_db::base_db::EditionedFileId::new(ctx.sema.db.as_dyn_database(), file_id);
+
+ let file = ctx.sema.parse(editioned_file_id);
// track uses which does not exists in `Use`
let mut uses_exist_in_sel = false;