From 220cb95b85f03c0e13eabe137deeb5baa6da6354 Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Fri, 15 Mar 2019 12:13:15 +0700 Subject: [PATCH] Move caret to class name after creating it from "CreateFromUsage" action Relates to #KT-24631 --- .../quickfix/createFromUsage/callableBuilder/CallableBuilder.kt | 2 +- .../quickfix/createFromUsage/callableBuilder/generationUtils.kt | 2 +- .../createClass/annotationEntry/annotationNoBrackets.kt.after | 2 +- .../createClass/annotationEntry/annotationNoParamList.kt.after | 2 +- .../createClass/annotationEntry/annotationWithParams.kt.after | 2 +- .../createClass/callExpression/callInAnnotationEntry.kt.after | 2 +- .../createClass/callExpression/callInWhenEntry.kt.after | 2 +- .../typeArguments/callWithStarProjection.kt.after | 2 +- .../delegationSpecifier/createSuperclassInsideSubclass.kt.after | 2 +- .../createClass/importDirective/annotationInPackage.kt.after | 2 +- .../referenceExpression/annotationByClassLiteral.kt.after | 2 +- .../referenceExpression/classByClassLiteral.kt.after | 2 +- .../createClass/referenceExpression/enumByClassLiteral.kt.after | 2 +- .../referenceExpression/interfaceByClassLiteral.kt.after | 2 +- .../referenceExpression/objectByClassLiteral.kt.after | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt index e8b690dc8bb..0d34645780d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt @@ -878,7 +878,7 @@ class CallableBuilder(val config: CallableBuilderConfiguration) { val lParen = superCall.argumentList.firstChild targetEditor.caretModel.moveToOffset(lParen.endOffset) } else { - targetEditor.caretModel.moveToOffset(newJavaMember.startOffset) + targetEditor.caretModel.moveToOffset(newJavaMember.nameIdentifier?.startOffset ?: newJavaMember.startOffset) } } } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/generationUtils.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/generationUtils.kt index 6b253b3d42c..88f78cb4674 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/generationUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/generationUtils.kt @@ -54,7 +54,7 @@ fun setupEditorSelection(editor: Editor, declaration: KtNamedDeclaration) { } } is KtClassOrObject -> { - caretModel.moveToOffset(declaration.startOffset) + caretModel.moveToOffset(declaration.nameIdentifier?.startOffset ?: declaration.startOffset) } is KtProperty -> { caretModel.moveToOffset(declaration.endOffset) diff --git a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/annotationNoBrackets.kt.after b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/annotationNoBrackets.kt.after index 49df91992c6..b8497367654 100644 --- a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/annotationNoBrackets.kt.after +++ b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/annotationNoBrackets.kt.after @@ -4,4 +4,4 @@ } -annotation class foo(val i: Int, val s: String) +annotation class foo(val i: Int, val s: String) diff --git a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/annotationNoParamList.kt.after b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/annotationNoParamList.kt.after index 4bbc13e2a60..8944ce5988f 100644 --- a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/annotationNoParamList.kt.after +++ b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/annotationNoParamList.kt.after @@ -4,4 +4,4 @@ } -annotation class foo +annotation class foo diff --git a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/annotationWithParams.kt.after b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/annotationWithParams.kt.after index 1e95d920f86..21a4ae54f02 100644 --- a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/annotationWithParams.kt.after +++ b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/annotationWithParams.kt.after @@ -4,4 +4,4 @@ } -annotation class foo(val i: Int, val s: String) +annotation class foo(val i: Int, val s: String) diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntry.kt.after b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntry.kt.after index bf867efbbc2..b572019cf93 100644 --- a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntry.kt.after +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntry.kt.after @@ -5,4 +5,4 @@ } -annotation class bar(val s: String, val i: Int) +annotation class bar(val s: String, val i: Int) diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInWhenEntry.kt.after b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInWhenEntry.kt.after index cdd49008ad8..c21f728f360 100644 --- a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInWhenEntry.kt.after +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInWhenEntry.kt.after @@ -14,6 +14,6 @@ fun test(n: Int): I? { else null } -class AAA(s: String) : I() { +class AAA(s: String) : I() { } diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/callWithStarProjection.kt.after b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/callWithStarProjection.kt.after index 8ab0df063a1..0b1107204e7 100644 --- a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/callWithStarProjection.kt.after +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/callWithStarProjection.kt.after @@ -2,6 +2,6 @@ fun test() = Foo(2, "2") -class Foo(i: Int, t: T) { +class Foo(i: Int, t: T) { } diff --git a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/createSuperclassInsideSubclass.kt.after b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/createSuperclassInsideSubclass.kt.after index 79f3b8d4a88..2e97cee32b4 100644 --- a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/createSuperclassInsideSubclass.kt.after +++ b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/createSuperclassInsideSubclass.kt.after @@ -6,6 +6,6 @@ class Foo: A() { } -open class A { +open class A { } diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationInPackage.kt.after b/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationInPackage.kt.after index a94bc880359..2de6fae14e5 100644 --- a/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationInPackage.kt.after +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationInPackage.kt.after @@ -3,4 +3,4 @@ package p import p.A -annotation class A +annotation class A diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/annotationByClassLiteral.kt.after b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/annotationByClassLiteral.kt.after index b88597656e8..bd39390e378 100644 --- a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/annotationByClassLiteral.kt.after +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/annotationByClassLiteral.kt.after @@ -5,4 +5,4 @@ } } -annotation class Foo +annotation class Foo diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByClassLiteral.kt.after b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByClassLiteral.kt.after index c8eeacde265..4b5146d38ab 100644 --- a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByClassLiteral.kt.after +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByClassLiteral.kt.after @@ -5,6 +5,6 @@ } } -class Foo { +class Foo { } diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByClassLiteral.kt.after b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByClassLiteral.kt.after index f75db539810..14f9d8c3d48 100644 --- a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByClassLiteral.kt.after +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByClassLiteral.kt.after @@ -5,6 +5,6 @@ } } -enum class Foo { +enum class Foo { } diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/interfaceByClassLiteral.kt.after b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/interfaceByClassLiteral.kt.after index d58589dd272..b05308fc52b 100644 --- a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/interfaceByClassLiteral.kt.after +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/interfaceByClassLiteral.kt.after @@ -5,6 +5,6 @@ } } -interface Foo { +interface Foo { } diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/objectByClassLiteral.kt.after b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/objectByClassLiteral.kt.after index ea2b01bce4e..66690f361ce 100644 --- a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/objectByClassLiteral.kt.after +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/objectByClassLiteral.kt.after @@ -5,6 +5,6 @@ } } -object Foo { +object Foo { }