Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/qualify_path.rs')
-rw-r--r--crates/ide-assists/src/handlers/qualify_path.rs29
1 files changed, 10 insertions, 19 deletions
diff --git a/crates/ide-assists/src/handlers/qualify_path.rs b/crates/ide-assists/src/handlers/qualify_path.rs
index c059f758c4..e3dd77360c 100644
--- a/crates/ide-assists/src/handlers/qualify_path.rs
+++ b/crates/ide-assists/src/handlers/qualify_path.rs
@@ -9,11 +9,7 @@ use ide_db::{
};
use syntax::Edition;
use syntax::ast::HasGenericArgs;
-use syntax::{
- AstNode, ast,
- ast::{HasArgList, syntax_factory::SyntaxFactory},
- syntax_editor::SyntaxEditor,
-};
+use syntax::{AstNode, ast, ast::HasArgList, syntax_editor::SyntaxEditor};
use crate::{
AssistId, GroupLabel,
@@ -102,17 +98,14 @@ pub(crate) fn qualify_path(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option
label(ctx.db(), candidate, &import, current_edition),
range,
|builder| {
- let make = SyntaxFactory::with_mappings();
- let mut editor = builder.make_editor(&syntax_under_caret);
+ let editor = builder.make_editor(&syntax_under_caret);
qualify_candidate.qualify(
|replace_with: String| builder.replace(range, replace_with),
- &mut editor,
- &make,
+ &editor,
&import.import_path,
import.item_to_import,
current_edition,
);
- editor.add_mappings(make.finish_with_mappings());
builder.add_file_edits(ctx.vfs_file_id(), editor);
},
);
@@ -131,8 +124,7 @@ impl QualifyCandidate<'_> {
pub(crate) fn qualify(
&self,
mut replacer: impl FnMut(String),
- editor: &mut SyntaxEditor,
- make: &SyntaxFactory,
+ editor: &SyntaxEditor,
import: &hir::ModPath,
item: hir::ItemInNs,
edition: Edition,
@@ -151,10 +143,10 @@ impl QualifyCandidate<'_> {
replacer(format!("<{qualifier} as {import}>::{segment}"));
}
QualifyCandidate::TraitMethod(db, mcall_expr) => {
- Self::qualify_trait_method(db, mcall_expr, editor, make, import, item);
+ Self::qualify_trait_method(db, mcall_expr, editor, import, item);
}
QualifyCandidate::ImplMethod(db, mcall_expr, hir_fn) => {
- Self::qualify_fn_call(db, mcall_expr, editor, make, import, hir_fn);
+ Self::qualify_fn_call(db, mcall_expr, editor, import, hir_fn);
}
}
}
@@ -162,11 +154,11 @@ impl QualifyCandidate<'_> {
fn qualify_fn_call(
db: &RootDatabase,
mcall_expr: &ast::MethodCallExpr,
- editor: &mut SyntaxEditor,
- make: &SyntaxFactory,
+ editor: &SyntaxEditor,
import: ast::Path,
hir_fn: &hir::Function,
) -> Option<()> {
+ let make = editor.make();
let receiver = mcall_expr.receiver()?;
let method_name = mcall_expr.name_ref()?;
let generics =
@@ -193,15 +185,14 @@ impl QualifyCandidate<'_> {
fn qualify_trait_method(
db: &RootDatabase,
mcall_expr: &ast::MethodCallExpr,
- editor: &mut SyntaxEditor,
- make: &SyntaxFactory,
+ editor: &SyntaxEditor,
import: ast::Path,
item: hir::ItemInNs,
) -> Option<()> {
let trait_method_name = mcall_expr.name_ref()?;
let trait_ = item_as_trait(db, item)?;
let method = find_trait_method(db, trait_, &trait_method_name)?;
- Self::qualify_fn_call(db, mcall_expr, editor, make, import, &method)
+ Self::qualify_fn_call(db, mcall_expr, editor, import, &method)
}
}