From 1a6b73e52bf1c96fdd53cec6f3579a3f4dbe26c8 Mon Sep 17 00:00:00 2001 From: Andrey Cherkasov Date: Mon, 7 Apr 2025 18:17:47 +0400 Subject: [PATCH] [kotlin] Port `ReplaceWithClassJavaFix` and `ReplaceWithCompanionClassJavaFix` to K2 These quick fixes are for the JAVA_CLASS_ON_COMPANION compiler warning. #KTIJ-29616 Fixed #KTIJ-29600 Fixed GitOrigin-RevId: 956e66b0f6fc7089e83b63305282ad0f2b3b424b --- .../fixes/JavaClassOnCompanionFixFactories.kt | 75 +++++++++++++++++++ .../fixes/KotlinK2QuickFixRegistrar.kt | 1 + .../fixes/HighLevelQuickFixTestGenerated.java | 65 ++++++++++++++++ .../replaceWithClassJava/hasType.kt | 4 +- .../replaceWithClassJava/hasType.kt.after | 4 +- .../replaceWithClassJava/simple.kt | 4 +- .../replaceWithClassJava/simple.kt.after | 4 +- .../replaceWithClassJava/withName.kt | 4 +- .../replaceWithClassJava/withName.kt.after | 4 +- .../replaceWithCompanionClassJava/hasType.kt | 3 +- .../hasType.kt.after | 3 +- .../namedCompanion.kt | 3 +- .../namedCompanion.kt.after | 3 +- .../replaceWithCompanionClassJava/simple.kt | 3 +- .../simple.kt.after | 3 +- .../replaceWithCompanionClassJava/withName.kt | 3 +- .../withName.kt.after | 3 +- .../codeinsight/GenerateK2QuickFixTests.kt | 2 +- 18 files changed, 176 insertions(+), 15 deletions(-) create mode 100644 plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/JavaClassOnCompanionFixFactories.kt diff --git a/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/JavaClassOnCompanionFixFactories.kt b/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/JavaClassOnCompanionFixFactories.kt new file mode 100644 index 000000000000..ec02477296e6 --- /dev/null +++ b/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/JavaClassOnCompanionFixFactories.kt @@ -0,0 +1,75 @@ +// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package org.jetbrains.kotlin.idea.k2.codeinsight.fixes + +import com.intellij.codeInsight.intention.PriorityAction +import com.intellij.codeInspection.util.IntentionFamilyName +import com.intellij.modcommand.ActionContext +import com.intellij.modcommand.ModPsiUpdater +import com.intellij.modcommand.Presentation +import com.intellij.modcommand.PsiUpdateModCommandAction +import org.jetbrains.kotlin.analysis.api.fir.diagnostics.KaFirDiagnostic +import org.jetbrains.kotlin.idea.base.resources.KotlinBundle +import org.jetbrains.kotlin.idea.codeinsight.api.applicators.fixes.KotlinQuickFixFactory +import org.jetbrains.kotlin.idea.references.mainReference +import org.jetbrains.kotlin.name.SpecialNames +import org.jetbrains.kotlin.psi.KtDotQualifiedExpression +import org.jetbrains.kotlin.psi.KtObjectDeclaration +import org.jetbrains.kotlin.psi.KtPsiFactory +import org.jetbrains.kotlin.psi.createExpressionByPattern + +internal object JavaClassOnCompanionFixFactories { + + val factory = KotlinQuickFixFactory { diagnostic: KaFirDiagnostic.JavaClassOnCompanion -> + val element = diagnostic.psi as? KtDotQualifiedExpression ?: return@KotlinQuickFixFactory emptyList() + val elementContext = (element.receiverExpression.mainReference?.resolve() as? KtObjectDeclaration)?.name + ?: SpecialNames.DEFAULT_NAME_FOR_COMPANION_OBJECT.identifier + + listOf( + ReplaceWithCompanionClassJavaFix(element, elementContext), + ReplaceWithClassJavaFix(element) + ) + } +} + +private class ReplaceWithCompanionClassJavaFix( + element: KtDotQualifiedExpression, + private val companionName: String, +) : PsiUpdateModCommandAction(element) { + override fun getFamilyName(): @IntentionFamilyName String = + KotlinBundle.message("replace.with.0", "Companion::class.java") + + override fun getPresentation(context: ActionContext, element: KtDotQualifiedExpression): Presentation = + Presentation.of(KotlinBundle.message("replace.with.0", "$companionName::class.java")) + + override fun invoke( + actionContext: ActionContext, + element: KtDotQualifiedExpression, + updater: ModPsiUpdater, + ) { + val psiFactory = KtPsiFactory(actionContext.project) + element.replace( + psiFactory.createExpressionByPattern("$0.$companionName::class.java", element.receiverExpression) + ) + } +} + +private class ReplaceWithClassJavaFix( + element: KtDotQualifiedExpression, +) : PsiUpdateModCommandAction(element) { + override fun getFamilyName(): @IntentionFamilyName String = + KotlinBundle.message("replace.with.0", "::class.java") + + override fun getPresentation(context: ActionContext, element: KtDotQualifiedExpression): Presentation = + Presentation.of(familyName).withPriority(PriorityAction.Priority.LOW) + + override fun invoke( + context: ActionContext, + element: KtDotQualifiedExpression, + updater: ModPsiUpdater, + ) { + val psiFactory = KtPsiFactory(context.project) + element.replace( + psiFactory.createExpressionByPattern("$0::class.java", element.receiverExpression) + ) + } +} diff --git a/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/KotlinK2QuickFixRegistrar.kt b/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/KotlinK2QuickFixRegistrar.kt index d00a8b112e26..7cd0827dc344 100644 --- a/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/KotlinK2QuickFixRegistrar.kt +++ b/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/KotlinK2QuickFixRegistrar.kt @@ -185,6 +185,7 @@ class KotlinK2QuickFixRegistrar : KotlinQuickFixRegistrar() { registerFactory(AddSemicolonBeforeLambdaExpressionFixFactory.addSemicolonBeforeLambdaExpressionFixFactory) registerFactory(AbstractSuperCallFixFactories.errorFixFactory) registerFactory(AbstractSuperCallFixFactories.warningFactory) + registerFactory(JavaClassOnCompanionFixFactories.factory) } private val addAbstract = KtQuickFixesListBuilder.registerPsiQuickFix { diff --git a/plugins/kotlin/code-insight/fixes-k2/tests/test/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/HighLevelQuickFixTestGenerated.java b/plugins/kotlin/code-insight/fixes-k2/tests/test/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/HighLevelQuickFixTestGenerated.java index ac235836812f..09d1bf91df0f 100644 --- a/plugins/kotlin/code-insight/fixes-k2/tests/test/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/HighLevelQuickFixTestGenerated.java +++ b/plugins/kotlin/code-insight/fixes-k2/tests/test/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/HighLevelQuickFixTestGenerated.java @@ -10845,7 +10845,72 @@ public abstract class HighLevelQuickFixTestGenerated extends AbstractHighLevelQu } } + @RunWith(JUnit3RunnerWithInners.class) + @TestMetadata("../../../idea/tests/testData/quickfix/javaClassOnCompanion") + public abstract static class JavaClassOnCompanion extends AbstractHighLevelQuickFixTest { + @RunWith(JUnit3RunnerWithInners.class) + @TestMetadata("../../../idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava") + public static class ReplaceWithClassJava extends AbstractHighLevelQuickFixTest { + @java.lang.Override + @org.jetbrains.annotations.NotNull + public final KotlinPluginMode getPluginMode() { + return KotlinPluginMode.K2; + } + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("hasType.kt") + public void testHasType() throws Exception { + runTest("../../../idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/hasType.kt"); + } + + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + runTest("../../../idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/simple.kt"); + } + + @TestMetadata("withName.kt") + public void testWithName() throws Exception { + runTest("../../../idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/withName.kt"); + } + } + + @RunWith(JUnit3RunnerWithInners.class) + @TestMetadata("../../../idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava") + public static class ReplaceWithCompanionClassJava extends AbstractHighLevelQuickFixTest { + @java.lang.Override + @org.jetbrains.annotations.NotNull + public final KotlinPluginMode getPluginMode() { + return KotlinPluginMode.K2; + } + + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("hasType.kt") + public void testHasType() throws Exception { + runTest("../../../idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/hasType.kt"); + } + + @TestMetadata("namedCompanion.kt") + public void testNamedCompanion() throws Exception { + runTest("../../../idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/namedCompanion.kt"); + } + + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + runTest("../../../idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/simple.kt"); + } + + @TestMetadata("withName.kt") + public void testWithName() throws Exception { + runTest("../../../idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/withName.kt"); + } + } + } diff --git a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/hasType.kt b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/hasType.kt index d656b85685c7..f665ed4dd497 100644 --- a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/hasType.kt +++ b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/hasType.kt @@ -1,7 +1,9 @@ // "Replace with '::class.java'" "true" // WITH_STDLIB +// PRIORITY: LOW // DISABLE_ERRORS fun main() { val c: Class = Int.javaClass } -// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithClassJavaFix \ No newline at end of file +// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithClassJavaFix +// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ReplaceWithClassJavaFix \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/hasType.kt.after b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/hasType.kt.after index 7208037708d1..059d09fcfeff 100644 --- a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/hasType.kt.after +++ b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/hasType.kt.after @@ -1,7 +1,9 @@ // "Replace with '::class.java'" "true" // WITH_STDLIB +// PRIORITY: LOW // DISABLE_ERRORS fun main() { val c: Class = Int::class.java } -// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithClassJavaFix \ No newline at end of file +// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithClassJavaFix +// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ReplaceWithClassJavaFix \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/simple.kt b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/simple.kt index ee8d0f9661c7..2056b61228db 100644 --- a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/simple.kt +++ b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/simple.kt @@ -1,6 +1,8 @@ // "Replace with '::class.java'" "true" // WITH_STDLIB +// PRIORITY: LOW fun main() { val c = Int.javaClass } -// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithClassJavaFix \ No newline at end of file +// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithClassJavaFix +// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ReplaceWithClassJavaFix \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/simple.kt.after b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/simple.kt.after index aef1da4013f4..241a9f32dd78 100644 --- a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/simple.kt.after +++ b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/simple.kt.after @@ -1,6 +1,8 @@ // "Replace with '::class.java'" "true" // WITH_STDLIB +// PRIORITY: LOW fun main() { val c = Int::class.java } -// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithClassJavaFix \ No newline at end of file +// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithClassJavaFix +// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ReplaceWithClassJavaFix \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/withName.kt b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/withName.kt index 1b8af4f98408..8a0a2384931d 100644 --- a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/withName.kt +++ b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/withName.kt @@ -1,6 +1,8 @@ // "Replace with '::class.java'" "true" // WITH_STDLIB +// PRIORITY: LOW fun main() { val name = Int.javaClass.name } -// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithClassJavaFix \ No newline at end of file +// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithClassJavaFix +// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ReplaceWithClassJavaFix \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/withName.kt.after b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/withName.kt.after index cf62a2ac0cb7..90788f531025 100644 --- a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/withName.kt.after +++ b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithClassJava/withName.kt.after @@ -1,6 +1,8 @@ // "Replace with '::class.java'" "true" // WITH_STDLIB +// PRIORITY: LOW fun main() { val name = Int::class.java.name } -// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithClassJavaFix \ No newline at end of file +// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithClassJavaFix +// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ReplaceWithClassJavaFix \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/hasType.kt b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/hasType.kt index a22053a60364..93a2f3b8bb96 100644 --- a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/hasType.kt +++ b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/hasType.kt @@ -3,4 +3,5 @@ fun main() { val c: Class = Int.javaClass } -// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix \ No newline at end of file +// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix +// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ReplaceWithCompanionClassJavaFix \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/hasType.kt.after b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/hasType.kt.after index 4253e5e5e576..413dea1c0753 100644 --- a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/hasType.kt.after +++ b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/hasType.kt.after @@ -3,4 +3,5 @@ fun main() { val c: Class = Int.Companion::class.java } -// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix \ No newline at end of file +// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix +// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ReplaceWithCompanionClassJavaFix \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/namedCompanion.kt b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/namedCompanion.kt index e465dff5b7e3..f78a7458e925 100644 --- a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/namedCompanion.kt +++ b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/namedCompanion.kt @@ -7,4 +7,5 @@ class Foo { fun test() { Foo.javaClass } -// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix \ No newline at end of file +// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix +// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ReplaceWithCompanionClassJavaFix \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/namedCompanion.kt.after b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/namedCompanion.kt.after index 8fbe47ef7b64..81821d5566a9 100644 --- a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/namedCompanion.kt.after +++ b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/namedCompanion.kt.after @@ -7,4 +7,5 @@ class Foo { fun test() { Foo.Bar::class.java } -// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix \ No newline at end of file +// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix +// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ReplaceWithCompanionClassJavaFix \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/simple.kt b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/simple.kt index cd2ad2c5fc53..64fc1e8bd216 100644 --- a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/simple.kt +++ b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/simple.kt @@ -3,4 +3,5 @@ fun main() { val c = Int.javaClass } -// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix \ No newline at end of file +// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix +// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ReplaceWithCompanionClassJavaFix \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/simple.kt.after b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/simple.kt.after index b8a99edf8b08..929da7f46cc7 100644 --- a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/simple.kt.after +++ b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/simple.kt.after @@ -3,4 +3,5 @@ fun main() { val c = Int.Companion::class.java } -// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix \ No newline at end of file +// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix +// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ReplaceWithCompanionClassJavaFix \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/withName.kt b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/withName.kt index 4d74e9019bd1..45667228a525 100644 --- a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/withName.kt +++ b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/withName.kt @@ -3,4 +3,5 @@ fun main() { val name = Int.javaClass.name } -// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix \ No newline at end of file +// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix +// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ReplaceWithCompanionClassJavaFix \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/withName.kt.after b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/withName.kt.after index cc2650ca63a4..22f951c6a3b9 100644 --- a/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/withName.kt.after +++ b/plugins/kotlin/idea/tests/testData/quickfix/javaClassOnCompanion/replaceWithCompanionClassJava/withName.kt.after @@ -3,4 +3,5 @@ fun main() { val name = Int.Companion::class.java.name } -// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix \ No newline at end of file +// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ReplaceWithCompanionClassJavaFix +// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ReplaceWithCompanionClassJavaFix \ No newline at end of file diff --git a/plugins/kotlin/util/test-generator-fir/test/org/jetbrains/kotlin/fir/testGenerator/codeinsight/GenerateK2QuickFixTests.kt b/plugins/kotlin/util/test-generator-fir/test/org/jetbrains/kotlin/fir/testGenerator/codeinsight/GenerateK2QuickFixTests.kt index 1c501bfe981e..b619804deafc 100644 --- a/plugins/kotlin/util/test-generator-fir/test/org/jetbrains/kotlin/fir/testGenerator/codeinsight/GenerateK2QuickFixTests.kt +++ b/plugins/kotlin/util/test-generator-fir/test/org/jetbrains/kotlin/fir/testGenerator/codeinsight/GenerateK2QuickFixTests.kt @@ -138,7 +138,7 @@ internal fun MutableTWorkspace.generateK2FixTests() { model("$idea/quickfix/inlineTypeParameterFix", pattern = pattern) model("$idea/quickfix/insertDelegationCall", pattern = pattern) model("$idea/quickfix/isEnumEntry", pattern = pattern) - model("$idea/quickfix/javaClassOnCompanion", pattern = pattern, isIgnored = true) + model("$idea/quickfix/javaClassOnCompanion", pattern = pattern) model("$idea/quickfix/kdocMissingDocumentation", pattern = pattern, isIgnored = true) model("$idea/quickfix/leakingThis", pattern = pattern, isIgnored = true) model("$idea/quickfix/libraries", pattern = pattern)