diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtArrayAccessReference.kt b/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtArrayAccessReference.kt index 226ecfe77e4..dbe44ff76f5 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtArrayAccessReference.kt +++ b/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtArrayAccessReference.kt @@ -5,14 +5,12 @@ package org.jetbrains.kotlin.idea.references -import com.google.common.collect.Lists import com.intellij.psi.MultiRangeReference import com.intellij.psi.PsiElement import org.jetbrains.kotlin.lexer.KtToken import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.Name -import org.jetbrains.kotlin.psi.* -import org.jetbrains.kotlin.psi.psiUtil.getPossiblyQualifiedCallExpression +import org.jetbrains.kotlin.psi.KtArrayAccessExpression import org.jetbrains.kotlin.util.OperatorNameConventions abstract class KtArrayAccessReference( @@ -30,39 +28,9 @@ abstract class KtArrayAccessReference( override fun canRename() = true - override fun handleElementRename(newElementName: String): PsiElement? { - val arrayAccessExpression = expression - if (OperatorNameConventions.INVOKE.asString() == newElementName) { - val replacement = KtPsiFactory(arrayAccessExpression.project).buildExpression { - val arrayExpression = arrayAccessExpression.arrayExpression - if (arrayExpression is KtQualifiedExpression) { - appendExpression(arrayExpression.receiverExpression) - appendFixedText(arrayExpression.operationSign.value) - appendExpression(arrayExpression.selectorExpression) - } else { - appendExpression(arrayExpression) - } - - appendFixedText("(") - appendExpressions(arrayAccessExpression.indexExpressions, ",") - appendFixedText(")") - } - val fullCallExpression = arrayAccessExpression.replace(replacement) as KtExpression - val callExpression = fullCallExpression.getPossiblyQualifiedCallExpression() - if (callExpression != null && canMoveLambdaOutsideParentheses(callExpression)) { - moveFunctionLiteralOutsideParentheses(callExpression) - } - return fullCallExpression - } - - return doRenameImplicitConventionalCall(newElementName) - } - - protected abstract fun moveFunctionLiteralOutsideParentheses(callExpression: KtCallExpression) - protected abstract fun canMoveLambdaOutsideParentheses(callExpression: KtCallExpression): Boolean - protected abstract fun doRenameImplicitConventionalCall(newName: String?): KtExpression + abstract override fun handleElementRename(newElementName: String): PsiElement? companion object { - private val NAMES = Lists.newArrayList(OperatorNameConventions.GET, OperatorNameConventions.SET) + private val NAMES = listOf(OperatorNameConventions.GET, OperatorNameConventions.SET) } } \ No newline at end of file