From 6f60bfad842d420dcce616ea7a22b369c5f06adc Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Wed, 18 Mar 2015 14:38:34 +0300 Subject: [PATCH] Fix "Make supertype open" quickfix in case of using secondary ctor #KT-7002 Fixed --- .../AddOpenModifierToClassDeclarationFix.java | 8 ++++---- .../afterSecondaryCtrDelegationInHeader.kt | 7 +++++++ .../afterSecondaryCtrDelegationInSecondary.kt | 9 +++++++++ .../beforeSecondaryCtrDelegationInHeader.kt | 7 +++++++ .../beforeSecondaryCtrDelegationInSecondary.kt | 9 +++++++++ .../kotlin/idea/quickfix/QuickFixTestGenerated.java | 12 ++++++++++++ 6 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 idea/testData/quickfix/modifiers/addOpenToClassDeclaration/afterSecondaryCtrDelegationInHeader.kt create mode 100644 idea/testData/quickfix/modifiers/addOpenToClassDeclaration/afterSecondaryCtrDelegationInSecondary.kt create mode 100644 idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeSecondaryCtrDelegationInHeader.kt create mode 100644 idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeSecondaryCtrDelegationInSecondary.kt diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddOpenModifierToClassDeclarationFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddOpenModifierToClassDeclarationFix.java index 0677d59c19d..f195ad412f7 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddOpenModifierToClassDeclarationFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddOpenModifierToClassDeclarationFix.java @@ -29,10 +29,7 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.diagnostics.Diagnostic; import org.jetbrains.kotlin.idea.JetBundle; import org.jetbrains.kotlin.lexer.JetTokens; -import org.jetbrains.kotlin.psi.JetClass; -import org.jetbrains.kotlin.psi.JetFile; -import org.jetbrains.kotlin.psi.JetSimpleNameExpression; -import org.jetbrains.kotlin.psi.JetTypeReference; +import org.jetbrains.kotlin.psi.*; public class AddOpenModifierToClassDeclarationFix extends JetIntentionAction { private JetClass classDeclaration; @@ -55,6 +52,9 @@ public class AddOpenModifierToClassDeclarationFix extends JetIntentionActionB() diff --git a/idea/testData/quickfix/modifiers/addOpenToClassDeclaration/afterSecondaryCtrDelegationInSecondary.kt b/idea/testData/quickfix/modifiers/addOpenToClassDeclaration/afterSecondaryCtrDelegationInSecondary.kt new file mode 100644 index 00000000000..c4d8c08c93a --- /dev/null +++ b/idea/testData/quickfix/modifiers/addOpenToClassDeclaration/afterSecondaryCtrDelegationInSecondary.kt @@ -0,0 +1,9 @@ +// "Make B open" "true" +open class B { + constructor() { + } +} + +class A : B { + constructor() {} +} diff --git a/idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeSecondaryCtrDelegationInHeader.kt b/idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeSecondaryCtrDelegationInHeader.kt new file mode 100644 index 00000000000..2919f62d66f --- /dev/null +++ b/idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeSecondaryCtrDelegationInHeader.kt @@ -0,0 +1,7 @@ +// "Make B open" "true" +class B { + constructor() { + } +} + +class A : B() diff --git a/idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeSecondaryCtrDelegationInSecondary.kt b/idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeSecondaryCtrDelegationInSecondary.kt new file mode 100644 index 00000000000..728fb349dc2 --- /dev/null +++ b/idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeSecondaryCtrDelegationInSecondary.kt @@ -0,0 +1,9 @@ +// "Make B open" "true" +class B { + constructor() { + } +} + +class A : B { + constructor() {} +} diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java index 23ddb779f60..099cd88c5de 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -3222,6 +3222,18 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { doTest(fileName); } + @TestMetadata("beforeSecondaryCtrDelegationInHeader.kt") + public void testSecondaryCtrDelegationInHeader() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeSecondaryCtrDelegationInHeader.kt"); + doTest(fileName); + } + + @TestMetadata("beforeSecondaryCtrDelegationInSecondary.kt") + public void testSecondaryCtrDelegationInSecondary() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeSecondaryCtrDelegationInSecondary.kt"); + doTest(fileName); + } + @TestMetadata("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass") @TestDataPath("$PROJECT_ROOT") @InnerTestClasses({