From 4b564fcc516841acbfa64b8ff23c8b0244505859 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Thu, 12 Mar 2015 20:18:37 +0300 Subject: [PATCH] Do not show "Convert to extension" intention for secondary constructors #KT-6969 Fixed --- .../intentions/declarations/ConvertMemberToExtension.java | 1 + .../convertMemberToExtension/secondaryConstructor.kt | 4 ++++ .../kotlin/idea/intentions/IntentionTestGenerated.java | 6 ++++++ 3 files changed, 11 insertions(+) create mode 100644 idea/testData/intentions/declarations/convertMemberToExtension/secondaryConstructor.kt diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtension.java b/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtension.java index de6481137da..0e826c8e432 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtension.java +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtension.java @@ -71,6 +71,7 @@ public class ConvertMemberToExtension extends BaseIntentionAction { if (((JetProperty) declaration).hasInitializer()) return false; } return declaration != null + && !(declaration instanceof JetSecondaryConstructor) && declaration.getParent() instanceof JetClassBody && declaration.getParent().getParent() instanceof JetClass && declaration.getReceiverTypeReference() == null; diff --git a/idea/testData/intentions/declarations/convertMemberToExtension/secondaryConstructor.kt b/idea/testData/intentions/declarations/convertMemberToExtension/secondaryConstructor.kt new file mode 100644 index 00000000000..fc167c6e995 --- /dev/null +++ b/idea/testData/intentions/declarations/convertMemberToExtension/secondaryConstructor.kt @@ -0,0 +1,4 @@ +// IS_APPLICABLE: false +class A { + constructor() {} +} diff --git a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java index 19d25afe2bc..184608e3df8 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -4014,6 +4014,12 @@ public class IntentionTestGenerated extends AbstractIntentionTest { doTest(fileName); } + @TestMetadata("secondaryConstructor.kt") + public void testSecondaryConstructor() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/declarations/convertMemberToExtension/secondaryConstructor.kt"); + doTest(fileName); + } + @TestMetadata("simple.kt") public void testSimple() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/declarations/convertMemberToExtension/simple.kt");