From a73cf0e1fe3b949e243342d03a2bbfbcf3090903 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Thu, 18 May 2017 19:21:04 +0300 Subject: [PATCH] Don't suggest make object container open #KT-11003 Fixed --- .../kotlin/idea/quickfix/QuickFixRegistrar.kt | 3 +-- .../addOpenToClassDeclaration/openInCompanion.kt | 13 +++++++++++++ .../kotlin/idea/quickfix/QuickFixTestGenerated.java | 6 ++++++ 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 idea/testData/quickfix/modifiers/addOpenToClassDeclaration/openInCompanion.kt diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt index f41f96ff6b5..897bbb2d3fe 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt @@ -118,8 +118,7 @@ class QuickFixRegistrar : QuickFixContributor { val removeOpenModifierFactory = RemoveModifierFix.createRemoveModifierFromListOwnerFactory(OPEN_KEYWORD) NON_FINAL_MEMBER_IN_FINAL_CLASS.registerFactory(AddModifierFix.createFactory(OPEN_KEYWORD, KtClass::class.java), removeOpenModifierFactory) - NON_FINAL_MEMBER_IN_OBJECT.registerFactory(AddModifierFix.createFactory(OPEN_KEYWORD, KtClass::class.java), - removeOpenModifierFactory) + NON_FINAL_MEMBER_IN_OBJECT.registerFactory(removeOpenModifierFactory) val removeModifierFactory = RemoveModifierFix.createRemoveModifierFactory() GETTER_VISIBILITY_DIFFERS_FROM_PROPERTY_VISIBILITY.registerFactory(removeModifierFactory) diff --git a/idea/testData/quickfix/modifiers/addOpenToClassDeclaration/openInCompanion.kt b/idea/testData/quickfix/modifiers/addOpenToClassDeclaration/openInCompanion.kt new file mode 100644 index 00000000000..bba2fd32cbe --- /dev/null +++ b/idea/testData/quickfix/modifiers/addOpenToClassDeclaration/openInCompanion.kt @@ -0,0 +1,13 @@ +// "Make 'MyClass' open" "false" +// ACTION: Make 'y' not open +// ACTION: Add 'const' modifier +// ACTION: Make internal +// ACTION: Make private +// ACTION: Specify type explicitly + +// See KT-11003 +class MyClass { + companion object { + open val y = 4 + } +} \ 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 270d0f7c79d..3c9517d35b8 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -6979,6 +6979,12 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { doTest(fileName); } + @TestMetadata("openInCompanion.kt") + public void testOpenInCompanion() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/openInCompanion.kt"); + doTest(fileName); + } + @TestMetadata("secondaryCtrDelegationInHeader.kt") public void testSecondaryCtrDelegationInHeader() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/secondaryCtrDelegationInHeader.kt");