From 1cab0d09ab4e028144e9b013c631b151bbbbfbb4 Mon Sep 17 00:00:00 2001 From: Andrius Semionovas Date: Wed, 12 Jul 2017 21:05:57 +0300 Subject: [PATCH] KT-18979 Add val to proper place for 'Add val/var' intent --- .../intentions/AddValVarToConstructorParameterAction.kt | 2 +- idea/testData/quickfix/addValVar/addValAfterVarArg.kt | 4 ++++ idea/testData/quickfix/addValVar/addValAfterVarArg.kt.after | 4 ++++ .../kotlin/idea/quickfix/QuickFixTestGenerated.java | 6 ++++++ 4 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 idea/testData/quickfix/addValVar/addValAfterVarArg.kt create mode 100644 idea/testData/quickfix/addValVar/addValAfterVarArg.kt.after diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/AddValVarToConstructorParameterAction.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/AddValVarToConstructorParameterAction.kt index 2c41fecf815..6ec22e4632f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/AddValVarToConstructorParameterAction.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/AddValVarToConstructorParameterAction.kt @@ -46,7 +46,7 @@ interface AddValVarToConstructorParameterAction { fun invoke(element: KtParameter, editor: Editor?) { val project = element.project - element.addAfter(KtPsiFactory(project).createValKeyword(), null) + element.addBefore(KtPsiFactory(project).createValKeyword(), element.nameIdentifier) if (editor == null) return diff --git a/idea/testData/quickfix/addValVar/addValAfterVarArg.kt b/idea/testData/quickfix/addValVar/addValAfterVarArg.kt new file mode 100644 index 00000000000..0a024f700f2 --- /dev/null +++ b/idea/testData/quickfix/addValVar/addValAfterVarArg.kt @@ -0,0 +1,4 @@ +// "Add val/var to parameter 'x'" "true" +class Foo(vararg x: Int, val y: Int) { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/addValVar/addValAfterVarArg.kt.after b/idea/testData/quickfix/addValVar/addValAfterVarArg.kt.after new file mode 100644 index 00000000000..72990d8bd63 --- /dev/null +++ b/idea/testData/quickfix/addValVar/addValAfterVarArg.kt.after @@ -0,0 +1,4 @@ +// "Add val/var to parameter 'x'" "true" +class Foo(vararg val x: Int, val y: Int) { + +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java index ab80c017d65..127b02365bf 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -793,6 +793,12 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { doTest(fileName); } + @TestMetadata("addValAfterVarArg.kt") + public void testAddValAfterVarArg() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/quickfix/addValVar/addValAfterVarArg.kt"); + doTest(fileName); + } + public void testAllFilesPresentInAddValVar() throws Exception { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/addValVar"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), TargetBackend.ANY, true); }