From 086d29a44af7a177865ba6ca601481175a96f976 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Mon, 31 Aug 2015 23:43:02 +0300 Subject: [PATCH] Added second quickfix on conflicting extension to mark it hidden and deprecated --- .../ConflictingExtensionPropertyInspection.kt | 60 ++++++++++++++++--- .../.inspection | 0 .../explicitThis.kt | 0 .../explicitThis.kt.after | 0 .../markHiddenAndDeprecated.kt | 5 ++ .../markHiddenAndDeprecated.kt.after | 7 +++ .../memberExtension.kt | 0 .../memberExtension.kt.after | 0 .../removeImports.after.JustImport.kt | 0 .../removeImports.after.StarImport.kt | 0 .../removeImports.after.Usages.kt | 0 .../removeImports.after.kt | 0 .../removeImports.before.JustImport.kt | 0 .../removeImports.before.Main.kt | 0 .../removeImports.before.StarImport.kt | 0 .../removeImports.before.Usages.kt | 0 .../removeImportsOverloads.after.Usages.kt | 0 .../removeImportsOverloads.after.kt | 0 .../removeImportsOverloads.before.Main.kt | 0 .../removeImportsOverloads.before.Usages.kt | 0 .../returnInGetter.kt | 0 .../returnInGetter.kt.after | 0 .../simple.kt | 0 .../simple.kt.after | 0 .../valInsteadOfVar.kt | 0 .../valInsteadOfVar.kt.after | 0 .../varInsteadOfVal.kt | 0 .../withSetter.kt | 0 .../withSetter.kt.after | 0 .../wrongExplicitThis.kt | 0 .../wrongExplicitThis2.kt | 0 .../wrongGetter.kt | 0 .../wrongGetter2.kt | 0 .../wrongSetter.kt | 0 .../QuickFixMultiFileTestGenerated.java | 12 ++-- .../idea/quickfix/QuickFixTestGenerated.java | 38 +++++++----- 36 files changed, 91 insertions(+), 31 deletions(-) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/.inspection (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/explicitThis.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/explicitThis.kt.after (100%) create mode 100644 idea/testData/quickfix/migration/conflictingExtension/markHiddenAndDeprecated.kt create mode 100644 idea/testData/quickfix/migration/conflictingExtension/markHiddenAndDeprecated.kt.after rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/memberExtension.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/memberExtension.kt.after (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/removeImports.after.JustImport.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/removeImports.after.StarImport.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/removeImports.after.Usages.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/removeImports.after.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/removeImports.before.JustImport.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/removeImports.before.Main.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/removeImports.before.StarImport.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/removeImports.before.Usages.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/removeImportsOverloads.after.Usages.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/removeImportsOverloads.after.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/removeImportsOverloads.before.Main.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/removeImportsOverloads.before.Usages.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/returnInGetter.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/returnInGetter.kt.after (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/simple.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/simple.kt.after (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/valInsteadOfVar.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/valInsteadOfVar.kt.after (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/varInsteadOfVal.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/withSetter.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/withSetter.kt.after (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/wrongExplicitThis.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/wrongExplicitThis2.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/wrongGetter.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/wrongGetter2.kt (100%) rename idea/testData/quickfix/migration/{deleteRedundantExtension => conflictingExtension}/wrongSetter.kt (100%) diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/ConflictingExtensionPropertyInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/ConflictingExtensionPropertyInspection.kt index b64ba6bc60d..126fb6f5cdb 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/ConflictingExtensionPropertyInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/ConflictingExtensionPropertyInspection.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.inspections +import com.intellij.codeInsight.intention.LowPriorityAction import com.intellij.codeInspection.* import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.editor.Editor @@ -44,6 +45,7 @@ import org.jetbrains.kotlin.incremental.components.NoLookupLocation import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType +import org.jetbrains.kotlin.renderer.render import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall import org.jetbrains.kotlin.resolve.descriptorUtil.isAnnotatedAsHidden import org.jetbrains.kotlin.resolve.scopes.FileScope @@ -67,12 +69,25 @@ public class ConflictingExtensionPropertyInspection : AbstractKotlinInspection() // don't report on hidden declarations if (propertyDescriptor.isAnnotatedAsHidden()) return + val fixes = if (isSameAsSynthetic(property, conflictingExtension)) { + val fix1 = IntentionWrapper(DeleteRedundantExtensionAction(property), file) + // don't add the second fix when on the fly to allow code cleanup + val fix2 = if (isOnTheFly) + object : IntentionWrapper(MarkHiddenAndDeprecatedAction(property), file), LowPriorityAction {} + else + null + listOf(fix1, fix2).filterNotNull().toTypedArray() + } + else { + emptyArray() + } + val problemDescriptor = holder.manager.createProblemDescriptor( nameElement, "This property conflicts with synthetic extension and should be removed to avoid breaking code by future changes in the compiler", - createQuickFix(property, conflictingExtension), - ProblemHighlightType.GENERIC_ERROR_OR_WARNING, - true + true, + fixes, + ProblemHighlightType.GENERIC_ERROR_OR_WARNING ) holder.registerProblem(problemDescriptor) } @@ -88,18 +103,18 @@ public class ConflictingExtensionPropertyInspection : AbstractKotlinInspection() .firstIsInstanceOrNull() } - private fun createQuickFix(declaration: JetProperty, syntheticProperty: SyntheticJavaPropertyDescriptor): LocalQuickFix? { - val getter = declaration.getter ?: return null + private fun isSameAsSynthetic(declaration: JetProperty, syntheticProperty: SyntheticJavaPropertyDescriptor): Boolean { + val getter = declaration.getter ?: return false val setter = declaration.setter - if (!checkGetterBodyIsGetMethodCall(getter, syntheticProperty.getMethod)) return null + if (!checkGetterBodyIsGetMethodCall(getter, syntheticProperty.getMethod)) return false if (setter != null) { - val setMethod = syntheticProperty.setMethod ?: return null // synthetic property is val but our property is var - if (!checkSetterBodyIsSetMethodCall(setter, setMethod)) return null + val setMethod = syntheticProperty.setMethod ?: return false // synthetic property is val but our property is var + if (!checkSetterBodyIsSetMethodCall(setter, setMethod)) return false } - return IntentionWrapper(DeleteRedundantExtensionAction(declaration), declaration.containingFile) + return true } private fun checkGetterBodyIsGetMethodCall(getter: JetPropertyAccessor, getMethod: FunctionDescriptor): Boolean { @@ -196,4 +211,31 @@ public class ConflictingExtensionPropertyInspection : AbstractKotlinInspection() } } } + + private class MarkHiddenAndDeprecatedAction(property: JetProperty) : JetIntentionAction(property) { + override fun getFamilyName() = "Mark with @HiddenDeclaration and @deprecated" + override fun getText() = familyName + + override fun invoke(project: Project, editor: Editor?, file: JetFile) { + val factory = JetPsiFactory(project) + val name = element.nameAsName!!.render() + element.addAnnotationWithLineBreak(factory.createAnnotationEntry("@deprecated(\"Is replaced with automatic synthetic extension\", ReplaceWith(\"$name\"))")) + element.addAnnotationWithLineBreak(factory.createAnnotationEntry("@HiddenDeclaration")) + } + + //TODO: move into PSI? + private fun JetNamedDeclaration.addAnnotationWithLineBreak(annotationEntry: JetAnnotationEntry): JetAnnotationEntry { + val newLine = JetPsiFactory(this).createNewLine() + if (modifierList != null) { + val result = addAnnotationEntry(annotationEntry) + modifierList!!.addAfter(newLine, result) + return result + } + else { + val result = addAnnotationEntry(annotationEntry) + addAfter(newLine, modifierList) + return result + } + } + } } \ No newline at end of file diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/.inspection b/idea/testData/quickfix/migration/conflictingExtension/.inspection similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/.inspection rename to idea/testData/quickfix/migration/conflictingExtension/.inspection diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/explicitThis.kt b/idea/testData/quickfix/migration/conflictingExtension/explicitThis.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/explicitThis.kt rename to idea/testData/quickfix/migration/conflictingExtension/explicitThis.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/explicitThis.kt.after b/idea/testData/quickfix/migration/conflictingExtension/explicitThis.kt.after similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/explicitThis.kt.after rename to idea/testData/quickfix/migration/conflictingExtension/explicitThis.kt.after diff --git a/idea/testData/quickfix/migration/conflictingExtension/markHiddenAndDeprecated.kt b/idea/testData/quickfix/migration/conflictingExtension/markHiddenAndDeprecated.kt new file mode 100644 index 00000000000..dd7034c9648 --- /dev/null +++ b/idea/testData/quickfix/migration/conflictingExtension/markHiddenAndDeprecated.kt @@ -0,0 +1,5 @@ +// "Mark with @HiddenDeclaration and @deprecated" "true" +import java.io.File + +val File.name: String + get() = getName() \ No newline at end of file diff --git a/idea/testData/quickfix/migration/conflictingExtension/markHiddenAndDeprecated.kt.after b/idea/testData/quickfix/migration/conflictingExtension/markHiddenAndDeprecated.kt.after new file mode 100644 index 00000000000..e9c6bbcf62d --- /dev/null +++ b/idea/testData/quickfix/migration/conflictingExtension/markHiddenAndDeprecated.kt.after @@ -0,0 +1,7 @@ +// "Mark with @HiddenDeclaration and @deprecated" "true" +import java.io.File + +@HiddenDeclaration +@deprecated("Is replaced with automatic synthetic extension", ReplaceWith("name")) +val File.name: String + get() = getName() \ No newline at end of file diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/memberExtension.kt b/idea/testData/quickfix/migration/conflictingExtension/memberExtension.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/memberExtension.kt rename to idea/testData/quickfix/migration/conflictingExtension/memberExtension.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/memberExtension.kt.after b/idea/testData/quickfix/migration/conflictingExtension/memberExtension.kt.after similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/memberExtension.kt.after rename to idea/testData/quickfix/migration/conflictingExtension/memberExtension.kt.after diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.after.JustImport.kt b/idea/testData/quickfix/migration/conflictingExtension/removeImports.after.JustImport.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.after.JustImport.kt rename to idea/testData/quickfix/migration/conflictingExtension/removeImports.after.JustImport.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.after.StarImport.kt b/idea/testData/quickfix/migration/conflictingExtension/removeImports.after.StarImport.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.after.StarImport.kt rename to idea/testData/quickfix/migration/conflictingExtension/removeImports.after.StarImport.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.after.Usages.kt b/idea/testData/quickfix/migration/conflictingExtension/removeImports.after.Usages.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.after.Usages.kt rename to idea/testData/quickfix/migration/conflictingExtension/removeImports.after.Usages.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.after.kt b/idea/testData/quickfix/migration/conflictingExtension/removeImports.after.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.after.kt rename to idea/testData/quickfix/migration/conflictingExtension/removeImports.after.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.before.JustImport.kt b/idea/testData/quickfix/migration/conflictingExtension/removeImports.before.JustImport.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.before.JustImport.kt rename to idea/testData/quickfix/migration/conflictingExtension/removeImports.before.JustImport.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.before.Main.kt b/idea/testData/quickfix/migration/conflictingExtension/removeImports.before.Main.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.before.Main.kt rename to idea/testData/quickfix/migration/conflictingExtension/removeImports.before.Main.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.before.StarImport.kt b/idea/testData/quickfix/migration/conflictingExtension/removeImports.before.StarImport.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.before.StarImport.kt rename to idea/testData/quickfix/migration/conflictingExtension/removeImports.before.StarImport.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.before.Usages.kt b/idea/testData/quickfix/migration/conflictingExtension/removeImports.before.Usages.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.before.Usages.kt rename to idea/testData/quickfix/migration/conflictingExtension/removeImports.before.Usages.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/removeImportsOverloads.after.Usages.kt b/idea/testData/quickfix/migration/conflictingExtension/removeImportsOverloads.after.Usages.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/removeImportsOverloads.after.Usages.kt rename to idea/testData/quickfix/migration/conflictingExtension/removeImportsOverloads.after.Usages.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/removeImportsOverloads.after.kt b/idea/testData/quickfix/migration/conflictingExtension/removeImportsOverloads.after.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/removeImportsOverloads.after.kt rename to idea/testData/quickfix/migration/conflictingExtension/removeImportsOverloads.after.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/removeImportsOverloads.before.Main.kt b/idea/testData/quickfix/migration/conflictingExtension/removeImportsOverloads.before.Main.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/removeImportsOverloads.before.Main.kt rename to idea/testData/quickfix/migration/conflictingExtension/removeImportsOverloads.before.Main.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/removeImportsOverloads.before.Usages.kt b/idea/testData/quickfix/migration/conflictingExtension/removeImportsOverloads.before.Usages.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/removeImportsOverloads.before.Usages.kt rename to idea/testData/quickfix/migration/conflictingExtension/removeImportsOverloads.before.Usages.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/returnInGetter.kt b/idea/testData/quickfix/migration/conflictingExtension/returnInGetter.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/returnInGetter.kt rename to idea/testData/quickfix/migration/conflictingExtension/returnInGetter.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/returnInGetter.kt.after b/idea/testData/quickfix/migration/conflictingExtension/returnInGetter.kt.after similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/returnInGetter.kt.after rename to idea/testData/quickfix/migration/conflictingExtension/returnInGetter.kt.after diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/simple.kt b/idea/testData/quickfix/migration/conflictingExtension/simple.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/simple.kt rename to idea/testData/quickfix/migration/conflictingExtension/simple.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/simple.kt.after b/idea/testData/quickfix/migration/conflictingExtension/simple.kt.after similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/simple.kt.after rename to idea/testData/quickfix/migration/conflictingExtension/simple.kt.after diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/valInsteadOfVar.kt b/idea/testData/quickfix/migration/conflictingExtension/valInsteadOfVar.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/valInsteadOfVar.kt rename to idea/testData/quickfix/migration/conflictingExtension/valInsteadOfVar.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/valInsteadOfVar.kt.after b/idea/testData/quickfix/migration/conflictingExtension/valInsteadOfVar.kt.after similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/valInsteadOfVar.kt.after rename to idea/testData/quickfix/migration/conflictingExtension/valInsteadOfVar.kt.after diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/varInsteadOfVal.kt b/idea/testData/quickfix/migration/conflictingExtension/varInsteadOfVal.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/varInsteadOfVal.kt rename to idea/testData/quickfix/migration/conflictingExtension/varInsteadOfVal.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/withSetter.kt b/idea/testData/quickfix/migration/conflictingExtension/withSetter.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/withSetter.kt rename to idea/testData/quickfix/migration/conflictingExtension/withSetter.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/withSetter.kt.after b/idea/testData/quickfix/migration/conflictingExtension/withSetter.kt.after similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/withSetter.kt.after rename to idea/testData/quickfix/migration/conflictingExtension/withSetter.kt.after diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/wrongExplicitThis.kt b/idea/testData/quickfix/migration/conflictingExtension/wrongExplicitThis.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/wrongExplicitThis.kt rename to idea/testData/quickfix/migration/conflictingExtension/wrongExplicitThis.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/wrongExplicitThis2.kt b/idea/testData/quickfix/migration/conflictingExtension/wrongExplicitThis2.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/wrongExplicitThis2.kt rename to idea/testData/quickfix/migration/conflictingExtension/wrongExplicitThis2.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/wrongGetter.kt b/idea/testData/quickfix/migration/conflictingExtension/wrongGetter.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/wrongGetter.kt rename to idea/testData/quickfix/migration/conflictingExtension/wrongGetter.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/wrongGetter2.kt b/idea/testData/quickfix/migration/conflictingExtension/wrongGetter2.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/wrongGetter2.kt rename to idea/testData/quickfix/migration/conflictingExtension/wrongGetter2.kt diff --git a/idea/testData/quickfix/migration/deleteRedundantExtension/wrongSetter.kt b/idea/testData/quickfix/migration/conflictingExtension/wrongSetter.kt similarity index 100% rename from idea/testData/quickfix/migration/deleteRedundantExtension/wrongSetter.kt rename to idea/testData/quickfix/migration/conflictingExtension/wrongSetter.kt diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java index 27f34f95418..23fe2ee112e 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java @@ -990,23 +990,23 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true); } - @TestMetadata("idea/testData/quickfix/migration/deleteRedundantExtension") + @TestMetadata("idea/testData/quickfix/migration/conflictingExtension") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) - public static class DeleteRedundantExtension extends AbstractQuickFixMultiFileTest { - public void testAllFilesPresentInDeleteRedundantExtension() throws Exception { - JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/deleteRedundantExtension"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true); + public static class ConflictingExtension extends AbstractQuickFixMultiFileTest { + public void testAllFilesPresentInConflictingExtension() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/conflictingExtension"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true); } @TestMetadata("removeImports.before.Main.kt") public void testRemoveImports() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deleteRedundantExtension/removeImports.before.Main.kt"); + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/conflictingExtension/removeImports.before.Main.kt"); doTestWithExtraFile(fileName); } @TestMetadata("removeImportsOverloads.before.Main.kt") public void testRemoveImportsOverloads() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deleteRedundantExtension/removeImportsOverloads.before.Main.kt"); + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/conflictingExtension/removeImportsOverloads.before.Main.kt"); doTestWithExtraFile(fileName); } } diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java index af86ddf1757..08bf3b8510f 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -3923,83 +3923,89 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), true); } - @TestMetadata("idea/testData/quickfix/migration/deleteRedundantExtension") + @TestMetadata("idea/testData/quickfix/migration/conflictingExtension") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) - public static class DeleteRedundantExtension extends AbstractQuickFixTest { - public void testAllFilesPresentInDeleteRedundantExtension() throws Exception { - JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/deleteRedundantExtension"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), true); + public static class ConflictingExtension extends AbstractQuickFixTest { + public void testAllFilesPresentInConflictingExtension() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/conflictingExtension"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), true); } @TestMetadata("explicitThis.kt") public void testExplicitThis() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deleteRedundantExtension/explicitThis.kt"); + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/conflictingExtension/explicitThis.kt"); + doTest(fileName); + } + + @TestMetadata("markHiddenAndDeprecated.kt") + public void testMarkHiddenAndDeprecated() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/conflictingExtension/markHiddenAndDeprecated.kt"); doTest(fileName); } @TestMetadata("memberExtension.kt") public void testMemberExtension() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deleteRedundantExtension/memberExtension.kt"); + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/conflictingExtension/memberExtension.kt"); doTest(fileName); } @TestMetadata("returnInGetter.kt") public void testReturnInGetter() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deleteRedundantExtension/returnInGetter.kt"); + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/conflictingExtension/returnInGetter.kt"); doTest(fileName); } @TestMetadata("simple.kt") public void testSimple() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deleteRedundantExtension/simple.kt"); + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/conflictingExtension/simple.kt"); doTest(fileName); } @TestMetadata("valInsteadOfVar.kt") public void testValInsteadOfVar() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deleteRedundantExtension/valInsteadOfVar.kt"); + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/conflictingExtension/valInsteadOfVar.kt"); doTest(fileName); } @TestMetadata("varInsteadOfVal.kt") public void testVarInsteadOfVal() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deleteRedundantExtension/varInsteadOfVal.kt"); + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/conflictingExtension/varInsteadOfVal.kt"); doTest(fileName); } @TestMetadata("withSetter.kt") public void testWithSetter() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deleteRedundantExtension/withSetter.kt"); + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/conflictingExtension/withSetter.kt"); doTest(fileName); } @TestMetadata("wrongExplicitThis.kt") public void testWrongExplicitThis() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deleteRedundantExtension/wrongExplicitThis.kt"); + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/conflictingExtension/wrongExplicitThis.kt"); doTest(fileName); } @TestMetadata("wrongExplicitThis2.kt") public void testWrongExplicitThis2() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deleteRedundantExtension/wrongExplicitThis2.kt"); + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/conflictingExtension/wrongExplicitThis2.kt"); doTest(fileName); } @TestMetadata("wrongGetter.kt") public void testWrongGetter() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deleteRedundantExtension/wrongGetter.kt"); + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/conflictingExtension/wrongGetter.kt"); doTest(fileName); } @TestMetadata("wrongGetter2.kt") public void testWrongGetter2() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deleteRedundantExtension/wrongGetter2.kt"); + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/conflictingExtension/wrongGetter2.kt"); doTest(fileName); } @TestMetadata("wrongSetter.kt") public void testWrongSetter() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deleteRedundantExtension/wrongSetter.kt"); + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/conflictingExtension/wrongSetter.kt"); doTest(fileName); } }