diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertParameterToReceiverIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertParameterToReceiverIntention.kt index cabe7bd591f..5f40c6e6b95 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertParameterToReceiverIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertParameterToReceiverIntention.kt @@ -31,6 +31,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.analyzeFully public class ConvertParameterToReceiverIntention: JetSelfTargetingIntention("convert.parameter.to.receiver.intention", javaClass()) { override fun isApplicableTo(element: JetParameter): Boolean { + if (element.isVarArg()) return false val function = element.getStrictParentOfType() ?: return false return function.getValueParameterList() == element.getParent() && function.getReceiverTypeReference() == null } diff --git a/idea/testData/intentions/convertParameterToReceiver/vararg.kt b/idea/testData/intentions/convertParameterToReceiver/vararg.kt new file mode 100644 index 00000000000..0373a633de9 --- /dev/null +++ b/idea/testData/intentions/convertParameterToReceiver/vararg.kt @@ -0,0 +1,8 @@ +// IS_APPLICABLE: false +fun foo(vararg s: String): Boolean = true + +fun test() { + foo() + foo("1") + foo("1", "2") +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java index 82880440263..018f5195509 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -2973,6 +2973,12 @@ public class IntentionTestGenerated extends AbstractIntentionTest { doTest(fileName); } + @TestMetadata("vararg.kt") + public void testVararg() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertParameterToReceiver/vararg.kt"); + doTest(fileName); + } + @TestMetadata("withExtensionReceiver.kt") public void testWithExtensionReceiver() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertParameterToReceiver/withExtensionReceiver.kt");