Merge pull request #20306 from Hmikihiro/migrate_convert_to_guarded_return

Migrate `Convert_to_guarded_return` assist to use SyntaxEditor
This commit is contained in:
Laurențiu Nicola 2025-07-26 13:58:10 +00:00 committed by GitHub
commit b0ae0abfc0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -13,7 +13,6 @@ use syntax::{
edit::{AstNodeEdit, IndentLevel}, edit::{AstNodeEdit, IndentLevel},
make, make,
}, },
ted,
}; };
use crate::{ use crate::{
@ -132,7 +131,6 @@ fn if_expr_to_guarded_return(
"Convert to guarded return", "Convert to guarded return",
target, target,
|edit| { |edit| {
let if_expr = edit.make_mut(if_expr);
let if_indent_level = IndentLevel::from_node(if_expr.syntax()); let if_indent_level = IndentLevel::from_node(if_expr.syntax());
let replacement = match if_let_pat { let replacement = match if_let_pat {
None => { None => {
@ -168,8 +166,9 @@ fn if_expr_to_guarded_return(
.take_while(|i| *i != end_of_then), .take_while(|i| *i != end_of_then),
) )
.collect(); .collect();
let mut editor = edit.make_editor(if_expr.syntax());
ted::replace_with_many(if_expr.syntax(), then_statements) editor.replace_with_many(if_expr.syntax(), then_statements);
edit.add_file_edits(ctx.vfs_file_id(), editor);
}, },
) )
} }
@ -214,7 +213,6 @@ fn let_stmt_to_guarded_return(
"Convert to guarded return", "Convert to guarded return",
target, target,
|edit| { |edit| {
let let_stmt = edit.make_mut(let_stmt);
let let_indent_level = IndentLevel::from_node(let_stmt.syntax()); let let_indent_level = IndentLevel::from_node(let_stmt.syntax());
let replacement = { let replacement = {
@ -227,8 +225,9 @@ fn let_stmt_to_guarded_return(
let let_else_stmt = let_else_stmt.indent(let_indent_level); let let_else_stmt = let_else_stmt.indent(let_indent_level);
let_else_stmt.syntax().clone() let_else_stmt.syntax().clone()
}; };
let mut editor = edit.make_editor(let_stmt.syntax());
ted::replace(let_stmt.syntax(), replacement) editor.replace(let_stmt.syntax(), replacement);
edit.add_file_edits(ctx.vfs_file_id(), editor);
}, },
) )
} }