ConvertParameterToReceiverIntention - made available on parameter name only + minor

This commit is contained in:
Valentin Kipyatkov
2015-04-14 21:36:20 +03:00
parent 960a45e4cc
commit 0698bb3866
2 changed files with 4 additions and 4 deletions
@@ -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
@@ -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<JetParameter>("convert.parameter.to.receiver.intention", javaClass()) {
override fun isApplicableTo(element: JetParameter): Boolean {
public class ConvertParameterToReceiverIntention: JetSelfTargetingIntention<JetParameter>(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<JetNamedFunction>() ?: return false
return function.getValueParameterList() == element.getParent() && function.getReceiverTypeReference() == null