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.rs | 12 |
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; |