From a74f010e0f15e0f452d4a6fc6b1be43db9ce19ec Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 24 Oct 2016 20:33:24 +0300 Subject: [PATCH] Primary constructor to secondary: always try to build constructor body #KT-14475 Fixed --- ...tPrimaryConstructorToSecondaryIntention.kt | 42 +++++++++---------- .../initWithoutAssignments.kt | 12 ++++++ .../initWithoutAssignments.kt.after | 13 ++++++ .../intentions/IntentionTestGenerated.java | 6 +++ 4 files changed, 52 insertions(+), 21 deletions(-) create mode 100644 idea/testData/intentions/convertPrimaryConstructorToSecondary/initWithoutAssignments.kt create mode 100644 idea/testData/intentions/convertPrimaryConstructorToSecondary/initWithoutAssignments.kt.after diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertPrimaryConstructorToSecondaryIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertPrimaryConstructorToSecondaryIntention.kt index 20ac76b76fa..7eaa9cae82c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertPrimaryConstructorToSecondaryIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertPrimaryConstructorToSecondaryIntention.kt @@ -89,32 +89,32 @@ class ConvertPrimaryConstructorToSecondaryIntention : SelfTargetingIntention() { + val x = 1 + + val y = 2 + + init { + println(x) + println(y) + } +} \ No newline at end of file diff --git a/idea/testData/intentions/convertPrimaryConstructorToSecondary/initWithoutAssignments.kt.after b/idea/testData/intentions/convertPrimaryConstructorToSecondary/initWithoutAssignments.kt.after new file mode 100644 index 00000000000..a2342d287e2 --- /dev/null +++ b/idea/testData/intentions/convertPrimaryConstructorToSecondary/initWithoutAssignments.kt.after @@ -0,0 +1,13 @@ +fun println(arg: Int) = arg + +class My { + constructor() { + println(x) + println(y) + } + + val x: Int = 1 + + val y: Int = 2 + +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java index 651f0c2c82e..9e4b9386034 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -4537,6 +4537,12 @@ public class IntentionTestGenerated extends AbstractIntentionTest { doTest(fileName); } + @TestMetadata("initWithoutAssignments.kt") + public void testInitWithoutAssignments() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/convertPrimaryConstructorToSecondary/initWithoutAssignments.kt"); + doTest(fileName); + } + @TestMetadata("paramsAndProperties.kt") public void testParamsAndProperties() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/convertPrimaryConstructorToSecondary/paramsAndProperties.kt");