Unnamed repository; edit this file 'description' to name the repository.
cover_edit_range uses SyntaxNode instead AstNode
5 files changed, 11 insertions, 11 deletions
diff --git a/crates/ide-assists/src/handlers/convert_named_struct_to_tuple_struct.rs b/crates/ide-assists/src/handlers/convert_named_struct_to_tuple_struct.rs index 42fceb8533..4dd2036c02 100644 --- a/crates/ide-assists/src/handlers/convert_named_struct_to_tuple_struct.rs +++ b/crates/ide-assists/src/handlers/convert_named_struct_to_tuple_struct.rs @@ -242,7 +242,7 @@ where { let make = SyntaxFactory::without_mappings(); let orig = ctx.sema.original_range_opt(field_list.syntax())?; - let list_range = cover_edit_range(source, orig.range); + let list_range = cover_edit_range(source.syntax(), orig.range); let l_curly = match list_range.start() { NodeOrToken::Node(node) => node.first_token()?, @@ -265,7 +265,7 @@ where for name_ref in fields(&field_list) { let Some(orig) = ctx.sema.original_range_opt(name_ref.syntax()) else { continue }; - let name_range = cover_edit_range(source, orig.range); + let name_range = cover_edit_range(source.syntax(), orig.range); if let Some(colon) = next_non_trivia_token(name_range.end().clone()) && colon.kind() == T![:] @@ -306,7 +306,7 @@ fn edit_field_references( // Only edit the field reference if it's part of a `.field` access if name_ref.syntax().parent().and_then(ast::FieldExpr::cast).is_some() { edit.replace_all( - cover_edit_range(&source, r.range), + cover_edit_range(source.syntax(), r.range), vec![make.name_ref(&index.to_string()).syntax().clone().into()], ); } diff --git a/crates/ide-assists/src/handlers/convert_tuple_struct_to_named_struct.rs b/crates/ide-assists/src/handlers/convert_tuple_struct_to_named_struct.rs index f1eae83866..270467b14f 100644 --- a/crates/ide-assists/src/handlers/convert_tuple_struct_to_named_struct.rs +++ b/crates/ide-assists/src/handlers/convert_tuple_struct_to_named_struct.rs @@ -191,7 +191,7 @@ fn process_struct_name_reference( full_path, generate_record_pat_list(&tuple_struct_pat, names), ); - editor.replace_all(cover_edit_range(source, range), vec![new.syntax().clone().into()]); + editor.replace_all(cover_edit_range(source.syntax(), range), vec![new.syntax().clone().into()]); }, ast::PathExpr(path_expr) => { let call_expr = path_expr.syntax().parent().and_then(ast::CallExpr::cast)?; @@ -207,7 +207,7 @@ fn process_struct_name_reference( let mut first_insert = vec![]; for (expr, name) in arg_list.args().zip(names) { let range = ctx.sema.original_range_opt(expr.syntax())?.range; - let place = cover_edit_range(source, range); + let place = cover_edit_range(source.syntax(), range); let elements = vec![ make.name_ref(&name.text()).syntax().clone().into(), make.token(T![:]).into(), @@ -236,7 +236,7 @@ fn process_delimiter( first_insert: Vec<syntax::SyntaxElement>, ) { let Some(range) = ctx.sema.original_range_opt(list.syntax()) else { return }; - let place = cover_edit_range(source, range.range); + let place = cover_edit_range(source.syntax(), range.range); let l_paren = match place.start() { syntax::NodeOrToken::Node(node) => node.first_token(), @@ -290,7 +290,7 @@ fn edit_field_references( && let Some(original) = ctx.sema.original_range_opt(name_ref.syntax()) { editor.replace_all( - cover_edit_range(&source, original.range), + cover_edit_range(source.syntax(), original.range), vec![name.syntax().clone().into()], ); } diff --git a/crates/ide-assists/src/handlers/destructure_struct_binding.rs b/crates/ide-assists/src/handlers/destructure_struct_binding.rs index 3f42696fa3..ec4a83b642 100644 --- a/crates/ide-assists/src/handlers/destructure_struct_binding.rs +++ b/crates/ide-assists/src/handlers/destructure_struct_binding.rs @@ -358,7 +358,7 @@ fn update_usages( data: &StructEditData, field_names: &FxHashMap<SmolStr, SmolStr>, ) { - let source = ctx.source_file(); + let source = ctx.source_file().syntax(); let make = SyntaxFactory::with_mappings(); let edits = data .usages diff --git a/crates/ide-assists/src/handlers/destructure_tuple_binding.rs b/crates/ide-assists/src/handlers/destructure_tuple_binding.rs index 583ba42bf5..23c11b258c 100644 --- a/crates/ide-assists/src/handlers/destructure_tuple_binding.rs +++ b/crates/ide-assists/src/handlers/destructure_tuple_binding.rs @@ -326,7 +326,7 @@ impl EditTupleUsage { } EditTupleUsage::ReplaceExpr(target_expr, replace_with) => { if let Some(range) = ctx.sema.original_range_opt(target_expr.syntax()) { - let source = ctx.source_file(); + let source = ctx.source_file().syntax(); syntax_editor.replace_all( cover_edit_range(source, range.range), vec![replace_with.syntax().clone().into()], diff --git a/crates/ide-assists/src/utils.rs b/crates/ide-assists/src/utils.rs index 0f28a20225..2f40f889fc 100644 --- a/crates/ide-assists/src/utils.rs +++ b/crates/ide-assists/src/utils.rs @@ -1219,10 +1219,10 @@ pub(crate) fn cover_let_chain(mut expr: ast::Expr, range: TextRange) -> Option<a } pub(crate) fn cover_edit_range( - source: &impl AstNode, + source: &SyntaxNode, range: TextRange, ) -> std::ops::RangeInclusive<syntax::SyntaxElement> { - let node = match source.syntax().covering_element(range) { + let node = match source.covering_element(range) { NodeOrToken::Node(node) => node, NodeOrToken::Token(t) => t.parent().unwrap(), }; |