Skip to content

Commit d1deeba

Browse files
committed
Replace make with SyntaxFactory in convert_tuple_struct_to_named_struct
1 parent 070a5f8 commit d1deeba

1 file changed

Lines changed: 10 additions & 9 deletions

File tree

crates/ide-assists/src/handlers/convert_tuple_struct_to_named_struct.rs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ fn edit_struct_def(
105105
let make = editor.make();
106106
let record_fields = tuple_fields.fields().zip(names).filter_map(|(f, name)| {
107107
let (field_editor, field) =
108-
SyntaxEditor::with_ast_node(&ast::make::record_field(f.visibility(), name, f.ty()?));
108+
SyntaxEditor::with_ast_node(&make.record_field(f.visibility(), name, f.ty()?));
109109
field_editor.insert_all(
110110
Position::first_child_of(field.syntax()),
111111
f.attrs().map(|attr| attr.syntax().clone().into()).collect(),
@@ -119,21 +119,21 @@ fn edit_struct_def(
119119
if let Some(w) = strukt.where_clause() {
120120
editor.delete(w.syntax());
121121
let mut insert_element = Vec::new();
122-
insert_element.push(ast::make::tokens::single_newline().syntax_element());
122+
insert_element.push(make.whitespace("\n").syntax_element());
123123
insert_element.push(w.syntax().syntax_element());
124124
if w.syntax().last_token().is_none_or(|t| t.kind() != SyntaxKind::COMMA) {
125-
insert_element.push(ast::make::token(T![,]).into());
125+
insert_element.push(make.token(T![,]).into());
126126
}
127-
insert_element.push(ast::make::tokens::single_newline().syntax_element());
127+
insert_element.push(make.whitespace("\n").syntax_element());
128128
editor.insert_all(tuple_fields_before, insert_element);
129129
} else {
130-
editor.insert(tuple_fields_before, ast::make::tokens::single_space());
130+
editor.insert(tuple_fields_before, make.whitespace(" "));
131131
}
132132
if let Some(t) = strukt.semicolon_token() {
133133
editor.delete(t);
134134
}
135135
} else {
136-
editor.insert(tuple_fields_before, ast::make::tokens::single_space());
136+
editor.insert(tuple_fields_before, make.whitespace(" "));
137137
}
138138

139139
editor.replace(tuple_fields.syntax(), record_fields.syntax());
@@ -189,7 +189,7 @@ fn process_struct_name_reference(
189189
let range = ctx.sema.original_range_opt(tuple_struct_pat.syntax())?.range;
190190
let new = make.record_pat_with_fields(
191191
full_path,
192-
generate_record_pat_list(&tuple_struct_pat, names),
192+
generate_record_pat_list(&tuple_struct_pat, names, make),
193193
);
194194
editor.replace_all(cover_edit_range(source.syntax(), range), vec![new.syntax().clone().into()]);
195195
},
@@ -316,6 +316,7 @@ fn generate_names(
316316
fn generate_record_pat_list(
317317
pat: &ast::TupleStructPat,
318318
names: &[ast::Name],
319+
make: &SyntaxFactory,
319320
) -> ast::RecordPatFieldList {
320321
let pure_fields = pat.fields().filter(|p| !matches!(p, ast::Pat::RestPat(_)));
321322
let rest_len = names.len().saturating_sub(pure_fields.clone().count());
@@ -327,8 +328,8 @@ fn generate_record_pat_list(
327328

328329
let fields = before_rest
329330
.chain(after_rest)
330-
.map(|(pat, name)| ast::make::record_pat_field(ast::make::name_ref(&name.text()), pat));
331-
ast::make::record_pat_field_list(fields, rest_pat)
331+
.map(|(pat, name)| make.record_pat_field(make.name_ref(&name.text()), pat));
332+
make.record_pat_field_list(fields, rest_pat)
332333
}
333334

334335
#[cfg(test)]

0 commit comments

Comments
 (0)