Change Signature/Rename: Fix processing of named arguments when renaming parameter of extension function
#KT-8605 Fixed
This commit is contained in:
+5
-4
@@ -559,11 +559,12 @@ public class JetFunctionCallUsage extends JetUsageInfo<KtCallElement> {
|
|||||||
|
|
||||||
if (argumentNameExpression != null) {
|
if (argumentNameExpression != null) {
|
||||||
Integer oldParameterIndex = changeInfo.getOldParameterIndex(argumentNameExpression.getReferencedName());
|
Integer oldParameterIndex = changeInfo.getOldParameterIndex(argumentNameExpression.getReferencedName());
|
||||||
|
if (oldParameterIndex == null) continue;
|
||||||
|
|
||||||
if (oldParameterIndex != null) {
|
JetParameterInfo parameterInfo = changeInfo.getNewParameters()[
|
||||||
JetParameterInfo parameterInfo = changeInfo.getNewParameters()[oldParameterIndex];
|
changeInfo.getReceiverParameterInfo() != null ? oldParameterIndex + 1 : oldParameterIndex
|
||||||
changeArgumentName(argumentNameExpression, parameterInfo);
|
];
|
||||||
}
|
changeArgumentName(argumentNameExpression, parameterInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
fun Int.<caret>foo(a: Int, bb: Int): Int = a + bb
|
||||||
|
|
||||||
|
fun test() {
|
||||||
|
0.foo(1, bb = 2)
|
||||||
|
}
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
fun Int.<caret>foo(a: Int, b: Int): Int = a + b
|
||||||
|
|
||||||
|
fun test() {
|
||||||
|
0.foo(1, b = 2)
|
||||||
|
}
|
||||||
+6
@@ -1326,6 +1326,12 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase {
|
|||||||
doTest(changeInfo);
|
doTest(changeInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testRenameExtensionParameterWithNamedArgs() throws Exception {
|
||||||
|
JetChangeInfo changeInfo = getChangeInfo();
|
||||||
|
changeInfo.getNewParameters()[2].setName("bb");
|
||||||
|
doTest(changeInfo);
|
||||||
|
}
|
||||||
|
|
||||||
private List<Editor> editors = null;
|
private List<Editor> editors = null;
|
||||||
|
|
||||||
private static final String[] EXTENSIONS = {".kt", ".java"};
|
private static final String[] EXTENSIONS = {".kt", ".java"};
|
||||||
|
|||||||
Reference in New Issue
Block a user