"Add parameter to function" for TYPE_MISMATCH: fix it works correctly for extension function
#KT-39557
This commit is contained in:
committed by
Yan Zhulanow
parent
6515d53b94
commit
03e725d5da
@@ -146,7 +146,8 @@ class AddFunctionParametersFix(
|
||||
argument,
|
||||
validator
|
||||
)
|
||||
descriptor.addParameter(argumentIndex, parameterInfo)
|
||||
val receiverCount = if (descriptor.receiver != null) 1 else 0
|
||||
descriptor.addParameter(argumentIndex + receiverCount, parameterInfo)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
// "Add 2nd parameter to function 'bar'" "true"
|
||||
interface Foo
|
||||
|
||||
private fun Foo.bar(s: String, i: Int) {}
|
||||
|
||||
fun test(foo: Foo, b: Boolean) {
|
||||
foo.bar("", b<caret>, 0)
|
||||
}
|
||||
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
// "Add 2nd parameter to function 'bar'" "true"
|
||||
interface Foo
|
||||
|
||||
private fun Foo.bar(s: String, b: Boolean, i: Int) {}
|
||||
|
||||
fun test(foo: Foo, b: Boolean) {
|
||||
foo.bar("", b, 0)
|
||||
}
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
// "Add 1st parameter to function 'foo'" "true"
|
||||
// DISABLE-ERRORS
|
||||
fun foo(i1: Int, i2: Int, i3: Int, i4: Int) {
|
||||
}
|
||||
|
||||
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
// "Add 1st parameter to function 'foo'" "true"
|
||||
// DISABLE-ERRORS
|
||||
fun foo(i11: String, i1: Int, i2: Int, i3: Int, i4: Int) {
|
||||
}
|
||||
|
||||
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
// "Add 2nd parameter to function 'foo'" "true"
|
||||
// DISABLE-ERRORS
|
||||
fun foo(i1: Int, i2: Int, i3: Int, i4: Int) {
|
||||
}
|
||||
|
||||
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
// "Add 2nd parameter to function 'foo'" "true"
|
||||
// DISABLE-ERRORS
|
||||
fun foo(i1: Int, i21: String, i2: Int, i3: Int, i4: Int) {
|
||||
}
|
||||
|
||||
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
// "Add 3rd parameter to function 'foo'" "true"
|
||||
// DISABLE-ERRORS
|
||||
fun foo(i1: Int, i2: Int, i3: Int, i4: Int) {
|
||||
}
|
||||
|
||||
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
// "Add 3rd parameter to function 'foo'" "true"
|
||||
// DISABLE-ERRORS
|
||||
fun foo(i1: Int, i2: Int, i31: String, i3: Int, i4: Int) {
|
||||
}
|
||||
|
||||
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
// "Add 4th parameter to function 'foo'" "true"
|
||||
// DISABLE-ERRORS
|
||||
fun foo(i1: Int, i2: Int, i3: Int, i4: Int) {
|
||||
}
|
||||
|
||||
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
// "Add 4th parameter to function 'foo'" "true"
|
||||
// DISABLE-ERRORS
|
||||
fun foo(i1: Int, i2: Int, i3: Int, i41: String, i4: Int) {
|
||||
}
|
||||
|
||||
|
||||
@@ -2306,6 +2306,11 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
|
||||
runTest("idea/testData/quickfix/changeSignature/addEnumConstructorParameter5.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("addExtensionFunctionParameterForTypeMismatch.kt")
|
||||
public void testAddExtensionFunctionParameterForTypeMismatch() throws Exception {
|
||||
runTest("idea/testData/quickfix/changeSignature/addExtensionFunctionParameterForTypeMismatch.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("addForItParameter.kt")
|
||||
public void testAddForItParameter() throws Exception {
|
||||
runTest("idea/testData/quickfix/changeSignature/addForItParameter.kt");
|
||||
|
||||
Reference in New Issue
Block a user