diff --git a/plugins/kotlin/code-insight/fixes-k2/tests/test/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/HighLevelQuickFixMultiModuleTestGenerated.java b/plugins/kotlin/code-insight/fixes-k2/tests/test/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/HighLevelQuickFixMultiModuleTestGenerated.java index 1f429486b8f8..cfc4531a9e89 100644 --- a/plugins/kotlin/code-insight/fixes-k2/tests/test/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/HighLevelQuickFixMultiModuleTestGenerated.java +++ b/plugins/kotlin/code-insight/fixes-k2/tests/test/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/HighLevelQuickFixMultiModuleTestGenerated.java @@ -392,8 +392,8 @@ public abstract class HighLevelQuickFixMultiModuleTestGenerated extends Abstract } @RunWith(JUnit3RunnerWithInners.class) - @TestMetadata("../../../idea/tests/testData/multiModuleQuickFix/addThrowAnnotation") - public static class AddThrowAnnotation extends AbstractHighLevelQuickFixMultiModuleTest { + @TestMetadata("../../../idea/tests/testData/multiModuleQuickFix/addThrowsAnnotation") + public static class AddThrowsAnnotation extends AbstractHighLevelQuickFixMultiModuleTest { @java.lang.Override @org.jetbrains.annotations.NotNull public final KotlinPluginMode getPluginMode() { @@ -406,17 +406,17 @@ public abstract class HighLevelQuickFixMultiModuleTestGenerated extends Abstract @TestMetadata("common") public void testCommon() throws Exception { - runTest("../../../idea/tests/testData/multiModuleQuickFix/addThrowAnnotation/common/"); + runTest("../../../idea/tests/testData/multiModuleQuickFix/addThrowsAnnotation/common/"); } @TestMetadata("js") public void testJs() throws Exception { - runTest("../../../idea/tests/testData/multiModuleQuickFix/addThrowAnnotation/js/"); + runTest("../../../idea/tests/testData/multiModuleQuickFix/addThrowsAnnotation/js/"); } @TestMetadata("jvm") public void testJvm() throws Exception { - runTest("../../../idea/tests/testData/multiModuleQuickFix/addThrowAnnotation/jvm/"); + runTest("../../../idea/tests/testData/multiModuleQuickFix/addThrowsAnnotation/jvm/"); } } diff --git a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddThrowsAnnotationIntention.kt b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddThrowsAnnotationIntention.kt index c074ce51659e..dec4ce28560b 100644 --- a/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddThrowsAnnotationIntention.kt +++ b/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/AddThrowsAnnotationIntention.kt @@ -7,6 +7,7 @@ import com.intellij.modcommand.ActionContext import com.intellij.modcommand.ModPsiUpdater import com.intellij.psi.SmartPsiElementPointer import com.intellij.psi.createSmartPointer +import org.jetbrains.kotlin.analysis.api.KaExperimentalApi import org.jetbrains.kotlin.analysis.api.KaSession import org.jetbrains.kotlin.analysis.api.resolution.successfulFunctionCallOrNull import org.jetbrains.kotlin.analysis.api.resolution.symbol @@ -14,7 +15,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.KaSymbolVisibility.LOCAL import org.jetbrains.kotlin.analysis.api.types.KaClassType import org.jetbrains.kotlin.analysis.api.types.KaType import org.jetbrains.kotlin.analysis.api.types.symbol -import org.jetbrains.kotlin.idea.base.codeInsight.ShortenReferencesFacility +import org.jetbrains.kotlin.idea.base.analysis.api.utils.shortenReferences import org.jetbrains.kotlin.idea.base.facet.platform.platform import org.jetbrains.kotlin.idea.base.psi.replaced import org.jetbrains.kotlin.idea.base.resources.KotlinBundle @@ -27,9 +28,9 @@ import org.jetbrains.kotlin.platform.isJs import org.jetbrains.kotlin.platform.wasm.isWasm import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.getParentOfTypes -import org.jetbrains.kotlin.renderer.render import org.jetbrains.kotlin.resolve.annotations.JVM_THROWS_ANNOTATION_FQ_NAME import org.jetbrains.kotlin.resolve.annotations.KOTLIN_THROWS_ANNOTATION_FQ_NAME +import org.jetbrains.kotlin.types.Variance.INVARIANT private val KOTLIN_ARRAY_OF_FQ_NAME = FqName("kotlin.arrayOf") private val KOTLIN_THROWS_ANNOTATION_CLASS_ID = ClassId.topLevel(KOTLIN_THROWS_ANNOTATION_FQ_NAME) @@ -39,13 +40,15 @@ private val JVM_THROWS_ANNOTATION_CLASS_ID = ClassId.topLevel(JVM_THROWS_ANNOTAT * Creates a `@Throws` annotation entry for an exception at the caret, * or adds this exception to the existing annotation entry of the containing declaration. * - * Tests: [org.jetbrains.kotlin.idea.k2.intentions.tests.K2IntentionTestGenerated.AddThrowsAnnotation] + * Tests: + * - [org.jetbrains.kotlin.idea.k2.intentions.tests.K2IntentionTestGenerated.AddThrowsAnnotation] + * - [org.jetbrains.kotlin.idea.k2.codeinsight.fixes.HighLevelQuickFixMultiModuleTestGenerated.AddThrowsAnnotation] */ internal class AddThrowsAnnotationIntention : KotlinApplicableModCommandAction(KtThrowExpression::class) { class Context( val annotationArgumentText: String, - val throwsAnnotation: SmartPsiElementPointer?, - val containingDeclaration: SmartPsiElementPointer + val containingDeclaration: SmartPsiElementPointer, + val throwsAnnotation: SmartPsiElementPointer? ) override fun getFamilyName(): @IntentionFamilyName String = @@ -65,13 +68,13 @@ internal class AddThrowsAnnotationIntention : KotlinApplicableModCommandAction