diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertLambdaToReferenceIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertLambdaToReferenceIntention.kt index 3ff1924f5f4..28351338c0f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertLambdaToReferenceIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertLambdaToReferenceIntention.kt @@ -201,7 +201,9 @@ class ConvertLambdaToReferenceIntention : SelfTargetingOffsetIndependentIntentio (lambdaArgument.replace(newArgumentList) as? KtElement)?.let { ShortenReferences.DEFAULT.process(it) } } else { - (argumentList.replace(newArgumentList) as? KtElement)?.let { ShortenReferences.DEFAULT.process(it) } + (argumentList.replace(newArgumentList) as? KtValueArgumentList)?.let { + ShortenReferences.DEFAULT.process(it.arguments.last()) + } lambdaArgument.delete() } } diff --git a/idea/testData/intentions/convertLambdaToReference/mapToFqName.kt b/idea/testData/intentions/convertLambdaToReference/mapToFqName.kt new file mode 100644 index 00000000000..9bc89703819 --- /dev/null +++ b/idea/testData/intentions/convertLambdaToReference/mapToFqName.kt @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun bar(s: String) = s.length + +val x = listOf("Jack", "Tom").mapTo(kotlin.collections.hashSetOf()) { w -> bar(w) } \ No newline at end of file diff --git a/idea/testData/intentions/convertLambdaToReference/mapToFqName.kt.after b/idea/testData/intentions/convertLambdaToReference/mapToFqName.kt.after new file mode 100644 index 00000000000..a08df6c7fc0 --- /dev/null +++ b/idea/testData/intentions/convertLambdaToReference/mapToFqName.kt.after @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun bar(s: String) = s.length + +val x = listOf("Jack", "Tom").mapTo(kotlin.collections.hashSetOf(), ::bar) \ 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 d3d37eedc6a..7d749381601 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -3994,6 +3994,12 @@ public class IntentionTestGenerated extends AbstractIntentionTest { doTest(fileName); } + @TestMetadata("mapToFqName.kt") + public void testMapToFqName() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/convertLambdaToReference/mapToFqName.kt"); + doTest(fileName); + } + @TestMetadata("member.kt") public void testMember() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/convertLambdaToReference/member.kt");