aboutsummaryrefslogtreecommitdiff
path: root/crates/assists/src/handlers/remove_unused_param.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/assists/src/handlers/remove_unused_param.rs')
-rw-r--r--crates/assists/src/handlers/remove_unused_param.rs18
1 files changed, 8 insertions, 10 deletions
diff --git a/crates/assists/src/handlers/remove_unused_param.rs b/crates/assists/src/handlers/remove_unused_param.rs
index 4f3b8ac46..c961680e2 100644
--- a/crates/assists/src/handlers/remove_unused_param.rs
+++ b/crates/assists/src/handlers/remove_unused_param.rs
@@ -1,7 +1,4 @@
1use ide_db::{ 1use ide_db::{base_db::FileId, defs::Definition, search::FileReference};
2 defs::Definition,
3 search::{FileReference, FileReferences},
4};
5use syntax::{ 2use syntax::{
6 algo::find_node_at_range, 3 algo::find_node_at_range,
7 ast::{self, ArgListOwner}, 4 ast::{self, ArgListOwner},
@@ -61,8 +58,8 @@ pub(crate) fn remove_unused_param(acc: &mut Assists, ctx: &AssistContext) -> Opt
61 param.syntax().text_range(), 58 param.syntax().text_range(),
62 |builder| { 59 |builder| {
63 builder.delete(range_to_remove(param.syntax())); 60 builder.delete(range_to_remove(param.syntax()));
64 for usages in fn_def.usages(&ctx.sema).all() { 61 for (file_id, references) in fn_def.usages(&ctx.sema).all() {
65 process_usages(ctx, builder, usages, param_position); 62 process_usages(ctx, builder, file_id, references, param_position);
66 } 63 }
67 }, 64 },
68 ) 65 )
@@ -71,12 +68,13 @@ pub(crate) fn remove_unused_param(acc: &mut Assists, ctx: &AssistContext) -> Opt
71fn process_usages( 68fn process_usages(
72 ctx: &AssistContext, 69 ctx: &AssistContext,
73 builder: &mut AssistBuilder, 70 builder: &mut AssistBuilder,
74 usages: FileReferences, 71 file_id: FileId,
72 references: Vec<FileReference>,
75 arg_to_remove: usize, 73 arg_to_remove: usize,
76) { 74) {
77 let source_file = ctx.sema.parse(usages.file_id); 75 let source_file = ctx.sema.parse(file_id);
78 builder.edit_file(usages.file_id); 76 builder.edit_file(file_id);
79 for usage in usages.references { 77 for usage in references {
80 if let Some(text_range) = process_usage(&source_file, usage, arg_to_remove) { 78 if let Some(text_range) = process_usage(&source_file, usage, arg_to_remove) {
81 builder.delete(text_range); 79 builder.delete(text_range);
82 } 80 }