From 7b5fc191563959c2d0033b40d2fe83fafb729d6c Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Thu, 6 Aug 2020 18:39:57 +0900 Subject: [PATCH] Minor: Simplify replacement check logic in ReplaceJavaStaticMethodWithKotlinAnalogInspection --- ...aStaticMethodWithKotlinAnalogInspection.kt | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/jdk2k/ReplaceJavaStaticMethodWithKotlinAnalogInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/jdk2k/ReplaceJavaStaticMethodWithKotlinAnalogInspection.kt index 549f8240ebb..a4748338c61 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/jdk2k/ReplaceJavaStaticMethodWithKotlinAnalogInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/jdk2k/ReplaceJavaStaticMethodWithKotlinAnalogInspection.kt @@ -82,11 +82,21 @@ class ReplaceJavaStaticMethodWithKotlinAnalogInspection : AbstractKotlinInspecti "java.lang.$javaPrimitive.toString", "kotlin.primitives.$kotlinPrimitive.toString", ToExtensionFunctionWithNullableReceiver - ) { - val valueArguments = it.valueArguments - if (valueArguments.size != 1) return@Replacement false - javaPrimitive != "Character" || - valueArguments.first().getArgumentExpression()?.getType(it.analyze(BodyResolveMode.PARTIAL))?.isChar() == true + ) { call -> + val valueArguments = call.valueArguments + when { + valueArguments.size != 1 -> false + javaPrimitive != "Character" -> true + else -> { + val singleArgument = valueArguments.single().getArgumentExpression() + if (singleArgument != null) { + val context = call.analyze(BodyResolveMode.PARTIAL) + singleArgument.getType(context)?.isChar() == true + } else { + false + } + } + } }, Replacement( "java.lang.$javaPrimitive.compare",