Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/generate_delegate_methods.rs')
-rw-r--r--crates/ide-assists/src/handlers/generate_delegate_methods.rs10
1 files changed, 4 insertions, 6 deletions
diff --git a/crates/ide-assists/src/handlers/generate_delegate_methods.rs b/crates/ide-assists/src/handlers/generate_delegate_methods.rs
index 63033c7d5e..9486aa6f01 100644
--- a/crates/ide-assists/src/handlers/generate_delegate_methods.rs
+++ b/crates/ide-assists/src/handlers/generate_delegate_methods.rs
@@ -4,7 +4,6 @@ use syntax::{
ast::{
self, AstNode, HasGenericParams, HasName, HasVisibility as _,
edit::{AstNodeEdit, IndentLevel},
- syntax_factory::SyntaxFactory,
},
syntax_editor::Position,
};
@@ -107,7 +106,8 @@ pub(crate) fn generate_delegate_methods(acc: &mut Assists, ctx: &AssistContext<'
format!("Generate delegate for `{field_name}.{name}()`",),
target,
|edit| {
- let make = SyntaxFactory::without_mappings();
+ let editor = edit.make_editor(strukt.syntax());
+ let make = editor.make();
let field = make
.field_from_idents(["self", &field_name])
.expect("always be a valid expression");
@@ -145,7 +145,7 @@ pub(crate) fn generate_delegate_methods(acc: &mut Assists, ctx: &AssistContext<'
// compute the `body`
let arg_list = method_source
.param_list()
- .map(|v| convert_param_list_to_arg_list(v, &make))
+ .map(|v| convert_param_list_to_arg_list(v, make))
.unwrap_or_else(|| make.arg_list([]));
let tail_expr = make.expr_method_call(field, make.name_ref(&name), arg_list).into();
@@ -173,12 +173,11 @@ pub(crate) fn generate_delegate_methods(acc: &mut Assists, ctx: &AssistContext<'
.indent(IndentLevel(1));
let item = ast::AssocItem::Fn(f.clone());
- let mut editor = edit.make_editor(strukt.syntax());
let fn_: Option<ast::AssocItem> = match impl_def {
Some(impl_def) => match impl_def.assoc_item_list() {
Some(assoc_item_list) => {
let item = item.indent(IndentLevel::from_node(impl_def.syntax()));
- assoc_item_list.add_items(&mut editor, vec![item.clone()]);
+ assoc_item_list.add_items(&editor, vec![item.clone()]);
Some(item)
}
None => {
@@ -229,7 +228,6 @@ pub(crate) fn generate_delegate_methods(acc: &mut Assists, ctx: &AssistContext<'
let tabstop = edit.make_tabstop_before(cap);
editor.add_annotation(fn_.syntax(), tabstop);
}
- editor.add_mappings(make.finish_with_mappings());
edit.add_file_edits(ctx.vfs_file_id(), editor);
},
)?;