diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/ReplaceJavaStaticMethodWithKotlinAnalogInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/ReplaceJavaStaticMethodWithKotlinAnalogInspection.kt index 97ec8221dcc..f2b07171b32 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/ReplaceJavaStaticMethodWithKotlinAnalogInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/ReplaceJavaStaticMethodWithKotlinAnalogInspection.kt @@ -65,7 +65,9 @@ class ReplaceJavaStaticMethodWithKotlinAnalogInspection : AbstractKotlinInspecti val valueArguments = call.valueArguments val typeArguments = call.typeArgumentList?.text ?: "" if (replacement.toExtensionFunction) { - val receiverText = valueArguments.first().text + val receiverText = valueArguments.first().getArgumentExpression() + ?.run { if (this is KtOperationExpression) "($text)" else text } + ?: valueArguments.first().text val argumentsText = valueArguments.drop(1).joinToString(separator = ", ") { it.text } dotQualified.replaced(psiFactory.createExpression("$receiverText.${replacement.kotlinFunctionShortName}$typeArguments($argumentsText)")) file.resolveImportReference(FqName(replacement.kotlinFunctionFqName)).firstOrNull()?.let { diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithKotlinAnalog/toString/toExtension.kt b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithKotlinAnalog/toString/toExtension.kt new file mode 100644 index 00000000000..984c3b47b64 --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithKotlinAnalog/toString/toExtension.kt @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + Integer.toString(42 + 24, 16) +} diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithKotlinAnalog/toString/toExtension.kt.after b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithKotlinAnalog/toString/toExtension.kt.after new file mode 100644 index 00000000000..94cc3db4459 --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithKotlinAnalog/toString/toExtension.kt.after @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + (42 + 24).toString(16) +} diff --git a/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java index ab947762ffc..1997ca2405a 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java @@ -7661,6 +7661,11 @@ public class LocalInspectionTestGenerated extends AbstractLocalInspectionTest { public void testShortToString() throws Exception { runTest("idea/testData/inspectionsLocal/replaceJavaStaticMethodWithKotlinAnalog/toString/shortToString.kt"); } + + @TestMetadata("toExtension.kt") + public void testToExtension() throws Exception { + runTest("idea/testData/inspectionsLocal/replaceJavaStaticMethodWithKotlinAnalog/toString/toExtension.kt"); + } } }