From 82bf21f195853dcd57410ff89b4a6104283e033f Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Wed, 10 Jul 2019 11:14:14 +0300 Subject: [PATCH] ReplaceJavaStaticMethodWithKotlinAnalogInspection: rename `isApplicable(call, context)` to `isApplicableInContext` --- .../ReplaceJavaStaticMethodWithKotlinAnalogInspection.kt | 7 ++++++- .../kotlin/idea/inspections/jdk2k/Transformation.kt | 7 ++++--- 2 files changed, 10 insertions(+), 4 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 807a2d33cb8..4e76bf751a0 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/jdk2k/ReplaceJavaStaticMethodWithKotlinAnalogInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/jdk2k/ReplaceJavaStaticMethodWithKotlinAnalogInspection.kt @@ -31,7 +31,12 @@ class ReplaceJavaStaticMethodWithKotlinAnalogInspection : AbstractKotlinInspecti ?.let { list -> val context = call.analyze(BodyResolveMode.PARTIAL) val callDescriptor = call.getResolvedCall(context) ?: return - list.filter { callDescriptor.isCalling(FqName(it.javaMethodFqName)) && it.transformation.isApplicable(call, context) } + list.filter { + callDescriptor.isCalling(FqName(it.javaMethodFqName)) && it.transformation.isApplicableInContext( + call, + context + ) + } } ?.takeIf { it.isNotEmpty() } ?.map(::ReplaceWithKotlinAnalogFunction) diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/jdk2k/Transformation.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/jdk2k/Transformation.kt index 8199f92871a..798ec9e1f41 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/jdk2k/Transformation.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/jdk2k/Transformation.kt @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.types.isNullable interface Transformation { operator fun invoke(callExpression: KtCallExpression, replacement: Replacement) fun isApplicable(callExpression: KtCallExpression): Boolean = true - fun isApplicable(callExpression: KtCallExpression, context: BindingContext): Boolean = true + fun isApplicableInContext(callExpression: KtCallExpression, context: BindingContext): Boolean = true } object WithoutAdditionalTransformation : Transformation { @@ -55,7 +55,7 @@ object ToExtensionFunctionWithNonNullableReceiver : Transformation { override fun isApplicable(callExpression: KtCallExpression): Boolean = callExpression.valueArguments.isNotEmpty() - override fun isApplicable(callExpression: KtCallExpression, context: BindingContext): Boolean = callExpression + override fun isApplicableInContext(callExpression: KtCallExpression, context: BindingContext): Boolean = callExpression .valueArguments.firstOrNull() ?.getArgumentExpression() ?.getType(context) @@ -72,7 +72,8 @@ object ToExtensionFunctionWithNonNullableArguments : Transformation { callExpression ) - override fun isApplicable(callExpression: KtCallExpression, context: BindingContext): Boolean = callExpression.valueArguments.all { + override fun isApplicableInContext(callExpression: KtCallExpression, context: BindingContext): Boolean = callExpression + .valueArguments.all { it.getArgumentExpression()?.getType(context)?.isNullable() == false } }