Skip to content

Commit 50af745

Browse files
committed
U416-030 Fix Change Subp Signatures refactorings
Fixes the Change Parameter Mode and Remove Parameter refactoring tools when these are applied to a range of parameters instead of an unique. Without this fix, the refactorings are only applied to the first parameter in the range. Add a test case for each refactoring.
1 parent f88b573 commit 50af745

File tree

10 files changed

+1188
-2
lines changed

10 files changed

+1188
-2
lines changed

source/ada/lsp-ada_handlers-refactor_change_parameter_mode.adb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ package body LSP.Ada_Handlers.Refactor_Change_Parameter_Mode is
165165
(Context => Context.all,
166166
Where => ((uri => Where.uri), Where.span.first),
167167
First_Param_Index => LSP.Types.LSP_Number (Parameters_Indices.First),
168-
Last_Param_Index => LSP.Types.LSP_Number (Parameters_Indices.First),
168+
Last_Param_Index => LSP.Types.LSP_Number (Parameters_Indices.Last),
169169
New_Mode => Image (New_Mode));
170170

171171
Pointer.Set (Self);

source/ada/lsp-ada_handlers-refactor_remove_parameter.adb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ package body LSP.Ada_Handlers.Refactor_Remove_Parameter is
103103
(Context => Context.all,
104104
Where => ((uri => Where.uri), Where.span.first),
105105
First_Parameter => LSP.Types.LSP_Number (Parameters_Indices.First),
106-
Last_Parameter => LSP.Types.LSP_Number (Parameters_Indices.First));
106+
Last_Parameter => LSP.Types.LSP_Number (Parameters_Indices.Last));
107107

108108
Pointer.Set (Self);
109109

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
project Default is
2+
for Main use ("main.adb");
3+
end Default;
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
procedure Main is
2+
procedure Foo (A, B: Integer; C: Float);
3+
4+
procedure Foo (A, B: Integer; C: Float) is
5+
begin
6+
null;
7+
end Foo;
8+
begin
9+
Foo (1, 2, 3.0);
10+
end Main;

0 commit comments

Comments
 (0)