Move KtDotQualifiedExpression.deleteFirstReceiver to Utils.kt

This commit is contained in:
shiraji
2017-02-20 20:41:05 +09:00
committed by Mikhail Glukhikh
parent 39d0cd7237
commit c2e5fc5215
2 changed files with 8 additions and 14 deletions
@@ -18,7 +18,6 @@ package org.jetbrains.kotlin.idea.intentions
import com.intellij.openapi.editor.Editor
import org.jetbrains.kotlin.idea.inspections.IntentionBasedInspection
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.anyDescendantOfType
@@ -78,15 +77,6 @@ class ReplaceSingleLineLetIntention : SelfTargetingOffsetIndependentIntention<Kt
}
}
private fun KtDotQualifiedExpression.deleteFirstReceiver(): KtExpression {
val receiver = receiverExpression
when (receiver) {
is KtDotQualifiedExpression -> receiver.deleteFirstReceiver()
else -> selectorExpression?.let { return this.replace(it) as KtExpression }
}
return this
}
override fun isApplicableTo(element: KtCallExpression): Boolean {
if (!isLetMethod(element)) return false
val lambdaExpression = element.lambdaArguments.firstOrNull()?.getLambdaExpression() ?: return false
@@ -22,12 +22,8 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
import org.jetbrains.kotlin.idea.caches.resolve.analyze
import org.jetbrains.kotlin.idea.caches.resolve.analyzeAndGetResult
import org.jetbrains.kotlin.idea.core.setType
import org.jetbrains.kotlin.idea.core.ShortenReferences
import org.jetbrains.kotlin.idea.references.mainReference
import org.jetbrains.kotlin.js.descriptorUtils.nameIfStandardType
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.resolve.BindingContext
@@ -267,3 +263,11 @@ fun KtDotQualifiedExpression.replaceFirstReceiver(
return this
}
fun KtDotQualifiedExpression.deleteFirstReceiver(): KtExpression {
val receiver = receiverExpression
when (receiver) {
is KtDotQualifiedExpression -> receiver.deleteFirstReceiver()
else -> selectorExpression?.let { return this.replace(it) as KtExpression }
}
return this
}