From e8b665f600ad157bf1dd863fc6841a564ea2f425 Mon Sep 17 00:00:00 2001 From: Anton Sukhonosenko Date: Sat, 19 Mar 2016 19:26:09 +0300 Subject: [PATCH] #KT-10883 Fixed --- .../ReplaceGetOrSetIntention.kt | 21 ++++++++++++++++++- .../replaceGetOrSet/acceptableVararg.kt.after | 2 +- .../argumentAndFunction.kt.after | 2 +- .../extensionFunction.kt.after | 2 +- .../functionalArgument.kt.after | 2 +- .../replaceGetOrSet/multiArgument.kt.after | 2 +- .../replaceGetOrSet/qualifier.kt.after | 2 +- .../replaceGetOrSet/set.kt.after | 2 +- .../replaceGetOrSet/set2.kt.after | 2 +- .../replaceGetOrSet/singleArgument.kt.after | 2 +- 10 files changed, 29 insertions(+), 10 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/conventionNameCalls/ReplaceGetOrSetIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/conventionNameCalls/ReplaceGetOrSetIntention.kt index 3d9dbc1f161..fd9cad5cada 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/conventionNameCalls/ReplaceGetOrSetIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/conventionNameCalls/ReplaceGetOrSetIntention.kt @@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.intentions.conventionNameCalls import com.intellij.codeInsight.intention.HighPriorityAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.util.TextRange +import com.intellij.psi.PsiElement import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.idea.caches.resolve.analyze import org.jetbrains.kotlin.idea.inspections.IntentionBasedInspection @@ -27,9 +28,12 @@ import org.jetbrains.kotlin.idea.intentions.callExpression import org.jetbrains.kotlin.idea.intentions.isReceiverExpressionWithValue import org.jetbrains.kotlin.idea.intentions.toResolvedCall import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor +import org.jetbrains.kotlin.psi.KtArrayAccessExpression import org.jetbrains.kotlin.psi.KtDotQualifiedExpression import org.jetbrains.kotlin.psi.KtPsiFactory import org.jetbrains.kotlin.psi.buildExpression +import org.jetbrains.kotlin.psi.psiUtil.getChildOfType +import org.jetbrains.kotlin.psi.psiUtil.startOffset import org.jetbrains.kotlin.resolve.bindingContextUtil.isUsedAsExpression import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall import org.jetbrains.kotlin.resolve.calls.model.isReallySuccess @@ -107,6 +111,21 @@ class ReplaceGetOrSetIntention : SelfTargetingRangeIntention()!! + } + else { + newElement as KtArrayAccessExpression + } + + editor.caretModel.moveToOffset(arrayAccessExpression.leftBracket!!.startOffset) } } diff --git a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/acceptableVararg.kt.after b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/acceptableVararg.kt.after index 1995cad0221..0efb89c9d9e 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/acceptableVararg.kt.after +++ b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/acceptableVararg.kt.after @@ -3,5 +3,5 @@ fun test() { operator fun get(a: Int, vararg b: Int, c: Int = 0) : Int = 0 } val test = Test() - test[1, 3, 4, 5] + test[1, 3, 4, 5] } diff --git a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/argumentAndFunction.kt.after b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/argumentAndFunction.kt.after index f696421ed28..8622c1c606e 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/argumentAndFunction.kt.after +++ b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/argumentAndFunction.kt.after @@ -3,7 +3,7 @@ fun test() { operator fun get(a: Int, b: Int, fn: (i: Int) -> Int) : Int = 0 } val test = Test() - test[1, 2, { i -> + test[1, 2, { i -> i }] } diff --git a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/extensionFunction.kt.after b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/extensionFunction.kt.after index de95df26536..982b614c98a 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/extensionFunction.kt.after +++ b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/extensionFunction.kt.after @@ -4,5 +4,5 @@ fun test() { operator fun Test.get(i: Int) : Int = 0 val test = Test() - test[0] + test[0] } diff --git a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/functionalArgument.kt.after b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/functionalArgument.kt.after index 7886980fe94..e714c132780 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/functionalArgument.kt.after +++ b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/functionalArgument.kt.after @@ -3,7 +3,7 @@ fun test() { operator fun get(fn: (i: Int) -> Int) : Int = 0 } val test = Test() - test[{ i -> + test[{ i -> i }] } diff --git a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/multiArgument.kt.after b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/multiArgument.kt.after index a2a898cb5c7..62c74e2e8b9 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/multiArgument.kt.after +++ b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/multiArgument.kt.after @@ -3,5 +3,5 @@ fun test() { operator fun get(a: Int, b: Int) : Int = 0 } val test = Test() - test[1, 2] + test[1, 2] } diff --git a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/qualifier.kt.after b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/qualifier.kt.after index 5a13b8c72c9..4b157d715c6 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/qualifier.kt.after +++ b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/qualifier.kt.after @@ -5,5 +5,5 @@ class C { } fun foo() { - C["x"] + C["x"] } diff --git a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/set.kt.after b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/set.kt.after index bfbe28b8aa5..ba0f0ed68c0 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/set.kt.after +++ b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/set.kt.after @@ -5,5 +5,5 @@ class C { } fun foo() { - C()["x"] = 1 + C()["x"] = 1 } diff --git a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/set2.kt.after b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/set2.kt.after index 899529775ae..0d6b1eb2d1d 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/set2.kt.after +++ b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/set2.kt.after @@ -6,6 +6,6 @@ class C { class D(val c: C) { fun foo() { - this.c["x", 2] = 1 + this.c["x", 2] = 1 } } diff --git a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/singleArgument.kt.after b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/singleArgument.kt.after index 6193fd26156..95d8ca55a42 100644 --- a/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/singleArgument.kt.after +++ b/idea/testData/intentions/conventionNameCalls/replaceGetOrSet/singleArgument.kt.after @@ -5,5 +5,5 @@ fun test() { operator fun get(i: Int) : Int = 0 } val test = Test() - test[0] + test[0] }