diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeConstructorParameterPropertyFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeConstructorParameterPropertyFix.kt index af1b409fb11..90501f01404 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeConstructorParameterPropertyFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeConstructorParameterPropertyFix.kt @@ -28,9 +28,7 @@ import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtNameReferenceExpression import org.jetbrains.kotlin.psi.KtParameter import org.jetbrains.kotlin.psi.KtPsiFactory -import org.jetbrains.kotlin.psi.psiUtil.containingClass -import org.jetbrains.kotlin.psi.psiUtil.getAssignmentByLHS -import org.jetbrains.kotlin.psi.psiUtil.nonStaticOuterClasses +import org.jetbrains.kotlin.psi.psiUtil.* class MakeConstructorParameterPropertyFix( element: KtParameter, private val kotlinValVar: KotlinValVar, className: String? @@ -49,6 +47,12 @@ class MakeConstructorParameterPropertyFix( override fun invoke(project: Project, editor: Editor?, file: KtFile) { element.addBefore(kotlinValVar.createKeyword(KtPsiFactory(project))!!, element.firstChild) element.addModifier(KtTokens.PRIVATE_KEYWORD) + element.visibilityModifier()?.let { private -> + editor?.apply { + selectionModel.setSelection(private.startOffset, private.endOffset) + caretModel.moveToOffset(private.endOffset) + } + } } companion object Factory : KotlinIntentionActionsFactory() { diff --git a/idea/testData/quickfix/makeConstructorParameterProperty/inner.kt.after b/idea/testData/quickfix/makeConstructorParameterProperty/inner.kt.after index 9b82e6bdf9d..8480bbf4ae2 100644 --- a/idea/testData/quickfix/makeConstructorParameterProperty/inner.kt.after +++ b/idea/testData/quickfix/makeConstructorParameterProperty/inner.kt.after @@ -1,10 +1,10 @@ // "Make constructor parameter a property in class 'B'" "true" -class B(private val bar: String) { +class B(private val bar: String) { inner class A { fun foo() { - val a = bar + val a = bar } } } \ No newline at end of file diff --git a/idea/testData/quickfix/makeConstructorParameterProperty/val.kt.after b/idea/testData/quickfix/makeConstructorParameterProperty/val.kt.after index 84cdbe58369..4b09e8de887 100644 --- a/idea/testData/quickfix/makeConstructorParameterProperty/val.kt.after +++ b/idea/testData/quickfix/makeConstructorParameterProperty/val.kt.after @@ -1,7 +1,7 @@ // "Make constructor parameter a property" "true" -class A(private val foo: String) { +class A(private val foo: String) { fun bar() { - val a = foo + val a = foo } } \ No newline at end of file diff --git a/idea/testData/quickfix/makeConstructorParameterProperty/var.kt.after b/idea/testData/quickfix/makeConstructorParameterProperty/var.kt.after index 708ab4fe53d..a48e19d3a98 100644 --- a/idea/testData/quickfix/makeConstructorParameterProperty/var.kt.after +++ b/idea/testData/quickfix/makeConstructorParameterProperty/var.kt.after @@ -1,7 +1,7 @@ // "Make constructor parameter a property" "true" -class A(private var foo: String) { +class A(private var foo: String) { fun bar() { - foo = "" + foo = "" } } \ No newline at end of file