From 3060ecc0668b621d6f6b4d2c56f34b83da9eca97 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Fri, 3 Mar 2017 11:10:01 +0300 Subject: [PATCH] Minor build fix: "Convert to apply" is now applicable only with 2+ calls with the same receiver --- .../kotlin/idea/intentions/ConvertToApplyIntention.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToApplyIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToApplyIntention.kt index 4516058904b..4df9fe60832 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToApplyIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToApplyIntention.kt @@ -40,9 +40,13 @@ class ConvertToApplyIntention : ConvertToScopeIntention( private fun KtProperty.isApplicable(): Boolean { if (!isLocal) return false - val nextSibling = getDotQualifiedSiblingIfAny(forward = true) val localVariableName = name ?: return false - return nextSibling != null && isApplicableWithGivenReceiverText(nextSibling, localVariableName) + val firstDotQualified = getDotQualifiedSiblingIfAny(forward = true) + if (firstDotQualified != null && isApplicableWithGivenReceiverText(firstDotQualified, localVariableName)) { + val nextDotQualified = firstDotQualified.getDotQualifiedSiblingIfAny(forward = true) + return nextDotQualified != null && isApplicableWithGivenReceiverText(nextDotQualified, localVariableName) + } + return false } private fun KtDotQualifiedExpression.findTargetProperty(receiverExpressionText: String): KtProperty? {