From 0698bb38662fe0c56765f740ab868b68184f5719 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Tue, 14 Apr 2015 21:36:20 +0300 Subject: [PATCH] ConvertParameterToReceiverIntention - made available on parameter name only + minor --- .../src/org/jetbrains/kotlin/idea/JetBundle.properties | 2 -- .../idea/intentions/ConvertParameterToReceiverIntention.kt | 6 ++++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetBundle.properties b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetBundle.properties index 5ed888c1284..648af40acbe 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetBundle.properties +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetBundle.properties @@ -347,8 +347,6 @@ convert.property.to.function.intention=Convert property to function convert.property.to.function.intention.family=Convert Property to Function convert.receiver.to.parameter.intention=Convert receiver to parameter convert.receiver.to.parameter.intention.family=Convert Receiver to Parameter -convert.parameter.to.receiver.intention=Convert parameter to receiver -convert.parameter.to.receiver.intention.family=Convert Parameter to Receiver property.is.implemented.too.many=Has implementations property.is.overridden.too.many=Is overridden in subclasses diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertParameterToReceiverIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertParameterToReceiverIntention.kt index 185f20c56d7..aa28bcbf03c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertParameterToReceiverIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertParameterToReceiverIntention.kt @@ -29,8 +29,10 @@ import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetMethodDescriptor import org.jetbrains.kotlin.idea.refactoring.changeSignature.modify import org.jetbrains.kotlin.idea.caches.resolve.analyzeFully -public class ConvertParameterToReceiverIntention: JetSelfTargetingOffsetIndependentIntention("convert.parameter.to.receiver.intention", javaClass()) { - override fun isApplicableTo(element: JetParameter): Boolean { +public class ConvertParameterToReceiverIntention: JetSelfTargetingIntention(javaClass(), "Convert parameter to receiver") { + override fun isApplicableTo(element: JetParameter, caretOffset: Int): Boolean { + val identifier = element.getNameIdentifier() ?: return false + if (!identifier.getTextRange().containsOffset(caretOffset)) return false if (element.isVarArg()) return false val function = element.getStrictParentOfType() ?: return false return function.getValueParameterList() == element.getParent() && function.getReceiverTypeReference() == null