From 9187a85aaf28db497a82ae6b0b7226a7f0585081 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 27 Dec 2019 16:32:19 +0100 Subject: [PATCH] Rename UseExperimental->OptIn, Experimental->RequiresOptIn in quickfix and IDE tests --- .../evaluation/singleBreakpoint/experimentalApi.kt | 2 +- .../kotlin/idea/quickfix/MakeModuleExperimentalFix.kt | 8 ++++---- .../codeInsight/overrideImplement/copyExperimental.kt | 2 +- .../overrideImplement/copyExperimental.kt.after | 2 +- .../decompiler/stubBuilder/Contracts/Contracts.kt | 2 +- .../jsExperimentalLibrary/lib/lib.kt | 2 +- .../jvmExperimentalLibrary/lib/lib.kt | 2 +- .../experimental/annotationInTopLevelProperty.kt | 6 +++--- .../experimental/annotationInTopLevelProperty.kt.after | 6 +++--- idea/testData/quickfix/experimental/basicFunction.kt | 6 +++--- .../quickfix/experimental/basicFunction.kt.after | 6 +++--- .../experimental/basicFunctionContainingClass.kt | 6 +++--- .../experimental/basicFunctionContainingClass.kt.after | 6 +++--- .../experimental/basicFunctionNotApplicable.kt | 6 +++--- idea/testData/quickfix/experimental/basicModule.kt | 10 +++++----- .../quickfix/experimental/basicModule.kt.after | 10 +++++----- .../quickfix/experimental/basicUseExperimental.kt | 4 ++-- .../experimental/basicUseExperimental.kt.after | 4 ++-- .../quickfix/experimental/classUseExperimental.kt | 4 ++-- .../experimental/classUseExperimental.kt.after | 4 ++-- idea/testData/quickfix/experimental/doNotSwitchOn.kt | 8 ++++---- .../quickfix/experimental/experimentalUnused.kt | 4 ++-- .../quickfix/experimental/experimentalUnused2.kt | 4 ++-- .../quickfix/experimental/functionInLocalClass.kt | 6 +++--- .../experimental/functionInLocalClass.kt.after | 6 +++--- idea/testData/quickfix/experimental/localFunction.kt | 6 +++--- .../quickfix/experimental/localFunction.kt.after | 6 +++--- idea/testData/quickfix/experimental/nestedClasses.kt | 6 +++--- idea/testData/quickfix/experimental/override.kt | 6 +++--- .../quickfix/experimental/propertyInConstructor.kt | 6 +++--- .../experimental/propertyInConstructor.kt.after | 6 +++--- idea/testData/quickfix/experimental/switchOn.kt | 6 +++--- idea/testData/quickfix/experimental/switchOn.kt.after | 6 +++--- idea/testData/quickfix/experimental/typeAlias.kt | 6 +++--- idea/testData/quickfix/experimental/typeAlias.kt.after | 6 +++--- .../quickfix/experimental/typeInTopLevelProperty.kt | 6 +++--- .../experimental/typeInTopLevelProperty.kt.after | 6 +++--- .../partialBodyResolve/ContractFromSource.completion | 2 +- .../resolve/partialBodyResolve/ContractFromSource.dump | 2 +- .../resolve/partialBodyResolve/ContractFromSource.kt | 2 +- .../idea/caches/resolve/MultiModuleHighlightingTest.kt | 4 ++-- 41 files changed, 104 insertions(+), 104 deletions(-) diff --git a/idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/experimentalApi.kt b/idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/experimentalApi.kt index 0118bae0e39..7abc65b4701 100644 --- a/idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/experimentalApi.kt +++ b/idea/jvm-debugger/jvm-debugger-test/testData/evaluation/singleBreakpoint/experimentalApi.kt @@ -1,6 +1,6 @@ package experimentalApi -@Experimental(Experimental.Level.ERROR) +@RequiresOptIn(level = RequiresOptIn.Level.ERROR) annotation class UnstableApi @UnstableApi diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeModuleExperimentalFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeModuleExperimentalFix.kt index c6684f244b3..e23b7655db2 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeModuleExperimentalFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeModuleExperimentalFix.kt @@ -28,11 +28,11 @@ class MakeModuleExperimentalFix( private val module: Module, private val annotationFqName: FqName ) : KotlinQuickFixAction(file) { - override fun getText(): String = "Add '-Xuse-experimental=$annotationFqName' to module ${module.name} compiler arguments" + override fun getText(): String = "Add '-Xopt-in=$annotationFqName' to module ${module.name} compiler arguments" - override fun getFamilyName(): String = "Make module experimental" + override fun getFamilyName(): String = "Add an opt-in requirement marker compiler argument" - private val compilerArgument = "-Xuse-experimental=$annotationFqName" + private val compilerArgument = "-Xopt-in=$annotationFqName" override fun invoke(project: Project, editor: Editor?, file: KtFile) { val modelsProvider = IdeModifiableModelsProviderImpl(project) @@ -60,7 +60,7 @@ class MakeModuleExperimentalFix( compilerArgument !in compilerSettings.additionalArgumentsAsList } else { compilerSettings.additionalArgumentsAsList.none { - it.startsWith("-Xuse-experimental=") || it.startsWith("-Xexperimental=") + it.startsWith("-Xopt-in=") || it.startsWith("-Xuse-experimental=") || it.startsWith("-Xexperimental=") } } } diff --git a/idea/testData/codeInsight/overrideImplement/copyExperimental.kt b/idea/testData/codeInsight/overrideImplement/copyExperimental.kt index c534b841d2a..e37a19e524a 100644 --- a/idea/testData/codeInsight/overrideImplement/copyExperimental.kt +++ b/idea/testData/codeInsight/overrideImplement/copyExperimental.kt @@ -1,6 +1,6 @@ // DISABLE-ERRORS -@Experimental +@RequiresOptIn annotation class FirstExperience open class ParentTarget { diff --git a/idea/testData/codeInsight/overrideImplement/copyExperimental.kt.after b/idea/testData/codeInsight/overrideImplement/copyExperimental.kt.after index 2c727206b58..944347c728c 100644 --- a/idea/testData/codeInsight/overrideImplement/copyExperimental.kt.after +++ b/idea/testData/codeInsight/overrideImplement/copyExperimental.kt.after @@ -1,6 +1,6 @@ // DISABLE-ERRORS -@Experimental +@RequiresOptIn annotation class FirstExperience open class ParentTarget { diff --git a/idea/testData/decompiler/stubBuilder/Contracts/Contracts.kt b/idea/testData/decompiler/stubBuilder/Contracts/Contracts.kt index be218e07f72..125781a7462 100644 --- a/idea/testData/decompiler/stubBuilder/Contracts/Contracts.kt +++ b/idea/testData/decompiler/stubBuilder/Contracts/Contracts.kt @@ -4,7 +4,7 @@ package test import kotlin.contracts.* -@UseExperimental(ExperimentalContracts::class) +@OptIn(ExperimentalContracts::class) fun myRequire(x: Boolean) { contract { returns(true) implies (x) diff --git a/idea/testData/multiModuleHighlighting/jsExperimentalLibrary/lib/lib.kt b/idea/testData/multiModuleHighlighting/jsExperimentalLibrary/lib/lib.kt index 920a5a68bf7..25226281099 100644 --- a/idea/testData/multiModuleHighlighting/jsExperimentalLibrary/lib/lib.kt +++ b/idea/testData/multiModuleHighlighting/jsExperimentalLibrary/lib/lib.kt @@ -1,6 +1,6 @@ package lib -@Experimental +@RequiresOptIn annotation class ExperimentalAPI class Foo diff --git a/idea/testData/multiModuleHighlighting/jvmExperimentalLibrary/lib/lib.kt b/idea/testData/multiModuleHighlighting/jvmExperimentalLibrary/lib/lib.kt index 920a5a68bf7..25226281099 100644 --- a/idea/testData/multiModuleHighlighting/jvmExperimentalLibrary/lib/lib.kt +++ b/idea/testData/multiModuleHighlighting/jvmExperimentalLibrary/lib/lib.kt @@ -1,6 +1,6 @@ package lib -@Experimental +@RequiresOptIn annotation class ExperimentalAPI class Foo diff --git a/idea/testData/quickfix/experimental/annotationInTopLevelProperty.kt b/idea/testData/quickfix/experimental/annotationInTopLevelProperty.kt index 7787ec827bf..d1a535f025c 100644 --- a/idea/testData/quickfix/experimental/annotationInTopLevelProperty.kt +++ b/idea/testData/quickfix/experimental/annotationInTopLevelProperty.kt @@ -1,8 +1,8 @@ // "Add '@TopMarker' annotation to 'topUserVal'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME -@Experimental +@RequiresOptIn annotation class TopMarker @TopMarker @@ -12,4 +12,4 @@ class TopClass @TopMarker annotation class TopAnn -val topUserVal: @TopAnn TopClass? = null \ No newline at end of file +val topUserVal: @TopAnn TopClass? = null diff --git a/idea/testData/quickfix/experimental/annotationInTopLevelProperty.kt.after b/idea/testData/quickfix/experimental/annotationInTopLevelProperty.kt.after index d2b05b7e5f3..3fc1ff65d72 100644 --- a/idea/testData/quickfix/experimental/annotationInTopLevelProperty.kt.after +++ b/idea/testData/quickfix/experimental/annotationInTopLevelProperty.kt.after @@ -1,8 +1,8 @@ // "Add '@TopMarker' annotation to 'topUserVal'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME -@Experimental +@RequiresOptIn annotation class TopMarker @TopMarker @@ -13,4 +13,4 @@ class TopClass annotation class TopAnn @TopMarker -val topUserVal: @TopAnn TopClass? = null \ No newline at end of file +val topUserVal: @TopAnn TopClass? = null diff --git a/idea/testData/quickfix/experimental/basicFunction.kt b/idea/testData/quickfix/experimental/basicFunction.kt index 418e6774efd..0e5fa33e3ae 100644 --- a/idea/testData/quickfix/experimental/basicFunction.kt +++ b/idea/testData/quickfix/experimental/basicFunction.kt @@ -1,8 +1,8 @@ // "Add '@MyExperimentalAPI' annotation to 'bar'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME -@Experimental +@RequiresOptIn annotation class MyExperimentalAPI @MyExperimentalAPI @@ -12,4 +12,4 @@ class Bar { fun bar() { foo() } -} \ No newline at end of file +} diff --git a/idea/testData/quickfix/experimental/basicFunction.kt.after b/idea/testData/quickfix/experimental/basicFunction.kt.after index 4013f9269fa..48a0bad7ca0 100644 --- a/idea/testData/quickfix/experimental/basicFunction.kt.after +++ b/idea/testData/quickfix/experimental/basicFunction.kt.after @@ -1,8 +1,8 @@ // "Add '@MyExperimentalAPI' annotation to 'bar'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME -@Experimental +@RequiresOptIn annotation class MyExperimentalAPI @MyExperimentalAPI @@ -13,4 +13,4 @@ class Bar { fun bar() { foo() } -} \ No newline at end of file +} diff --git a/idea/testData/quickfix/experimental/basicFunctionContainingClass.kt b/idea/testData/quickfix/experimental/basicFunctionContainingClass.kt index d5e71f12560..5943efedd44 100644 --- a/idea/testData/quickfix/experimental/basicFunctionContainingClass.kt +++ b/idea/testData/quickfix/experimental/basicFunctionContainingClass.kt @@ -1,8 +1,8 @@ // "Add '@MyExperimentalAPI' annotation to containing class 'Bar'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME -@Experimental +@RequiresOptIn annotation class MyExperimentalAPI @MyExperimentalAPI @@ -12,4 +12,4 @@ class Bar { fun bar() { foo() } -} \ No newline at end of file +} diff --git a/idea/testData/quickfix/experimental/basicFunctionContainingClass.kt.after b/idea/testData/quickfix/experimental/basicFunctionContainingClass.kt.after index 3ebbfa17822..d8d38d9af73 100644 --- a/idea/testData/quickfix/experimental/basicFunctionContainingClass.kt.after +++ b/idea/testData/quickfix/experimental/basicFunctionContainingClass.kt.after @@ -1,8 +1,8 @@ // "Add '@MyExperimentalAPI' annotation to containing class 'Bar'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME -@Experimental +@RequiresOptIn annotation class MyExperimentalAPI @MyExperimentalAPI @@ -13,4 +13,4 @@ class Bar { fun bar() { foo() } -} \ No newline at end of file +} diff --git a/idea/testData/quickfix/experimental/basicFunctionNotApplicable.kt b/idea/testData/quickfix/experimental/basicFunctionNotApplicable.kt index d075fd675dd..c0d1cca8467 100644 --- a/idea/testData/quickfix/experimental/basicFunctionNotApplicable.kt +++ b/idea/testData/quickfix/experimental/basicFunctionNotApplicable.kt @@ -1,13 +1,13 @@ // "Add '@MyExperimentalAPI' annotation to 'bar'" "false" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME // ACTION: Add '@MyExperimentalAPI' annotation to containing class 'Bar' // ACTION: Add '@OptIn(MyExperimentalAPI::class)' annotation to 'bar' -// ACTION: Add '-Xuse-experimental=MyExperimentalAPI' to module light_idea_test_case compiler arguments +// ACTION: Add '-Xopt-in=MyExperimentalAPI' to module light_idea_test_case compiler arguments // ERROR: This declaration is experimental and its usage must be marked with '@MyExperimentalAPI' or '@OptIn(MyExperimentalAPI::class)' // ERROR: This declaration is experimental and its usage must be marked with '@MyExperimentalAPI' or '@OptIn(MyExperimentalAPI::class)' -@Experimental +@RequiresOptIn @Target(AnnotationTarget.CLASS) annotation class MyExperimentalAPI diff --git a/idea/testData/quickfix/experimental/basicModule.kt b/idea/testData/quickfix/experimental/basicModule.kt index 2c69f775cbd..f1fb54d2fb1 100644 --- a/idea/testData/quickfix/experimental/basicModule.kt +++ b/idea/testData/quickfix/experimental/basicModule.kt @@ -1,12 +1,12 @@ -// "Add '-Xuse-experimental=test.MyExperimentalAPI' to module light_idea_test_case compiler arguments" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental -// COMPILER_ARGUMENTS_AFTER: -Xuse-experimental=kotlin.Experimental -Xuse-experimental=test.MyExperimentalAPI +// "Add '-Xopt-in=test.MyExperimentalAPI' to module light_idea_test_case compiler arguments" "true" +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn +// COMPILER_ARGUMENTS_AFTER: -Xopt-in=kotlin.RequiresOptIn -Xopt-in=test.MyExperimentalAPI // DISABLE-ERRORS // WITH_RUNTIME package test -@Experimental +@RequiresOptIn annotation class MyExperimentalAPI @MyExperimentalAPI @@ -18,4 +18,4 @@ class Bar { fun bar() { Some().foo() } -} \ No newline at end of file +} diff --git a/idea/testData/quickfix/experimental/basicModule.kt.after b/idea/testData/quickfix/experimental/basicModule.kt.after index fa1e80b5a40..114d398db46 100644 --- a/idea/testData/quickfix/experimental/basicModule.kt.after +++ b/idea/testData/quickfix/experimental/basicModule.kt.after @@ -1,12 +1,12 @@ -// "Add '-Xuse-experimental=test.MyExperimentalAPI' to module light_idea_test_case compiler arguments" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental -// COMPILER_ARGUMENTS_AFTER: -Xuse-experimental=kotlin.Experimental -Xuse-experimental=test.MyExperimentalAPI +// "Add '-Xopt-in=test.MyExperimentalAPI' to module light_idea_test_case compiler arguments" "true" +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn +// COMPILER_ARGUMENTS_AFTER: -Xopt-in=kotlin.RequiresOptIn -Xopt-in=test.MyExperimentalAPI // DISABLE-ERRORS // WITH_RUNTIME package test -@Experimental +@RequiresOptIn annotation class MyExperimentalAPI @MyExperimentalAPI @@ -18,4 +18,4 @@ class Bar { fun bar() { Some().foo() } -} \ No newline at end of file +} diff --git a/idea/testData/quickfix/experimental/basicUseExperimental.kt b/idea/testData/quickfix/experimental/basicUseExperimental.kt index f03a2b7316d..aceed3e5b45 100644 --- a/idea/testData/quickfix/experimental/basicUseExperimental.kt +++ b/idea/testData/quickfix/experimental/basicUseExperimental.kt @@ -1,10 +1,10 @@ // "Add '@OptIn(MyExperimentalAPI::class)' annotation to 'bar'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME package a.b -@Experimental +@RequiresOptIn @Target(AnnotationTarget.CLASS) annotation class MyExperimentalAPI diff --git a/idea/testData/quickfix/experimental/basicUseExperimental.kt.after b/idea/testData/quickfix/experimental/basicUseExperimental.kt.after index 900a98825cd..592f07a1f90 100644 --- a/idea/testData/quickfix/experimental/basicUseExperimental.kt.after +++ b/idea/testData/quickfix/experimental/basicUseExperimental.kt.after @@ -1,10 +1,10 @@ // "Add '@OptIn(MyExperimentalAPI::class)' annotation to 'bar'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME package a.b -@Experimental +@RequiresOptIn @Target(AnnotationTarget.CLASS) annotation class MyExperimentalAPI diff --git a/idea/testData/quickfix/experimental/classUseExperimental.kt b/idea/testData/quickfix/experimental/classUseExperimental.kt index 1c45438fbe2..f02d97ce428 100644 --- a/idea/testData/quickfix/experimental/classUseExperimental.kt +++ b/idea/testData/quickfix/experimental/classUseExperimental.kt @@ -1,10 +1,10 @@ // "Add '@OptIn(MyExperimentalAPI::class)' annotation to containing class 'Bar'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME package a.b -@Experimental +@RequiresOptIn @Target(AnnotationTarget.FUNCTION) annotation class MyExperimentalAPI diff --git a/idea/testData/quickfix/experimental/classUseExperimental.kt.after b/idea/testData/quickfix/experimental/classUseExperimental.kt.after index cae5389ad7d..3478a9788e5 100644 --- a/idea/testData/quickfix/experimental/classUseExperimental.kt.after +++ b/idea/testData/quickfix/experimental/classUseExperimental.kt.after @@ -1,10 +1,10 @@ // "Add '@OptIn(MyExperimentalAPI::class)' annotation to containing class 'Bar'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME package a.b -@Experimental +@RequiresOptIn @Target(AnnotationTarget.FUNCTION) annotation class MyExperimentalAPI diff --git a/idea/testData/quickfix/experimental/doNotSwitchOn.kt b/idea/testData/quickfix/experimental/doNotSwitchOn.kt index 96416068a16..a4785ec327f 100644 --- a/idea/testData/quickfix/experimental/doNotSwitchOn.kt +++ b/idea/testData/quickfix/experimental/doNotSwitchOn.kt @@ -1,10 +1,10 @@ -// "Add '-Xuse-experimental=kotlin.Experimental' to module light_idea_test_case compiler arguments" "false" -// COMPILER_ARGUMENTS: -version -Xuse-experimental=Something +// "Add '-Xopt-in=kotlin.RequiresOptIn' to module light_idea_test_case compiler arguments" "false" +// COMPILER_ARGUMENTS: -version -Xopt-in=Something // DISABLE-ERRORS // WITH_RUNTIME // ACTION: Introduce import alias // ACTION: Make internal // ACTION: Make private -@Experimental -annotation class MyExperimentalAPI \ No newline at end of file +@RequiresOptIn +annotation class MyExperimentalAPI diff --git a/idea/testData/quickfix/experimental/experimentalUnused.kt b/idea/testData/quickfix/experimental/experimentalUnused.kt index 0a7b2e4b850..581100aec6c 100644 --- a/idea/testData/quickfix/experimental/experimentalUnused.kt +++ b/idea/testData/quickfix/experimental/experimentalUnused.kt @@ -1,10 +1,10 @@ // "Safe delete 'Marker'" "false" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental -Xuse-experimental=test.Marker +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn -Xopt-in=test.Marker // WITH_RUNTIME // ACTION: Rename file to Marker.kt // TOOL: org.jetbrains.kotlin.idea.inspections.UnusedSymbolInspection package test -@Experimental +@RequiresOptIn annotation class Marker diff --git a/idea/testData/quickfix/experimental/experimentalUnused2.kt b/idea/testData/quickfix/experimental/experimentalUnused2.kt index be9f03fbe3c..8d185c05340 100644 --- a/idea/testData/quickfix/experimental/experimentalUnused2.kt +++ b/idea/testData/quickfix/experimental/experimentalUnused2.kt @@ -1,10 +1,10 @@ // "Safe delete 'Marker'" "false" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental -Xexperimental=test.Marker +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn -Xexperimental=test.Marker // WITH_RUNTIME // ACTION: Rename file to Marker.kt // TOOL: org.jetbrains.kotlin.idea.inspections.UnusedSymbolInspection package test -@Experimental +@RequiresOptIn annotation class Marker diff --git a/idea/testData/quickfix/experimental/functionInLocalClass.kt b/idea/testData/quickfix/experimental/functionInLocalClass.kt index 4e0db40c4ea..40d4ee05a41 100644 --- a/idea/testData/quickfix/experimental/functionInLocalClass.kt +++ b/idea/testData/quickfix/experimental/functionInLocalClass.kt @@ -1,8 +1,8 @@ // "Add '@MyExperimentalAPI' annotation to 'outer'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME -@Experimental +@RequiresOptIn @Target(AnnotationTarget.FUNCTION) annotation class MyExperimentalAPI @@ -17,4 +17,4 @@ class Outer { override fun foo() {} } } -} \ No newline at end of file +} diff --git a/idea/testData/quickfix/experimental/functionInLocalClass.kt.after b/idea/testData/quickfix/experimental/functionInLocalClass.kt.after index d0e29501df4..01a1698324c 100644 --- a/idea/testData/quickfix/experimental/functionInLocalClass.kt.after +++ b/idea/testData/quickfix/experimental/functionInLocalClass.kt.after @@ -1,8 +1,8 @@ // "Add '@MyExperimentalAPI' annotation to 'outer'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME -@Experimental +@RequiresOptIn @Target(AnnotationTarget.FUNCTION) annotation class MyExperimentalAPI @@ -18,4 +18,4 @@ class Outer { override fun foo() {} } } -} \ No newline at end of file +} diff --git a/idea/testData/quickfix/experimental/localFunction.kt b/idea/testData/quickfix/experimental/localFunction.kt index 1806062508d..0e7dc4649e4 100644 --- a/idea/testData/quickfix/experimental/localFunction.kt +++ b/idea/testData/quickfix/experimental/localFunction.kt @@ -1,8 +1,8 @@ // "Add '@MyExperimentalAPI' annotation to 'outer'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME -@Experimental +@RequiresOptIn annotation class MyExperimentalAPI @MyExperimentalAPI @@ -12,4 +12,4 @@ fun outer() { fun bar() { foo() } -} \ No newline at end of file +} diff --git a/idea/testData/quickfix/experimental/localFunction.kt.after b/idea/testData/quickfix/experimental/localFunction.kt.after index 56052daf95d..48907beae4c 100644 --- a/idea/testData/quickfix/experimental/localFunction.kt.after +++ b/idea/testData/quickfix/experimental/localFunction.kt.after @@ -1,8 +1,8 @@ // "Add '@MyExperimentalAPI' annotation to 'outer'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME -@Experimental +@RequiresOptIn annotation class MyExperimentalAPI @MyExperimentalAPI @@ -13,4 +13,4 @@ fun outer() { fun bar() { foo() } -} \ No newline at end of file +} diff --git a/idea/testData/quickfix/experimental/nestedClasses.kt b/idea/testData/quickfix/experimental/nestedClasses.kt index ca02eed0590..28caf98872f 100644 --- a/idea/testData/quickfix/experimental/nestedClasses.kt +++ b/idea/testData/quickfix/experimental/nestedClasses.kt @@ -1,14 +1,14 @@ // "Add '@MyExperimentalAPI' annotation to containing class 'Outer'" "false" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME // ACTION: Add '@MyExperimentalAPI' annotation to 'bar' // ACTION: Add '@MyExperimentalAPI' annotation to containing class 'Inner' // ACTION: Add '@OptIn(MyExperimentalAPI::class)' annotation to 'bar' -// ACTION: Add '-Xuse-experimental=MyExperimentalAPI' to module light_idea_test_case compiler arguments +// ACTION: Add '-Xopt-in=MyExperimentalAPI' to module light_idea_test_case compiler arguments // ACTION: Introduce import alias // ERROR: This declaration is experimental and its usage must be marked with '@MyExperimentalAPI' or '@OptIn(MyExperimentalAPI::class)' -@Experimental +@RequiresOptIn annotation class MyExperimentalAPI @MyExperimentalAPI diff --git a/idea/testData/quickfix/experimental/override.kt b/idea/testData/quickfix/experimental/override.kt index 9bab0d83464..99408bcb980 100644 --- a/idea/testData/quickfix/experimental/override.kt +++ b/idea/testData/quickfix/experimental/override.kt @@ -1,13 +1,13 @@ // "Add '@MyExperimentalAPI' annotation to containing class 'Derived'" "false" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME // ACTION: Add '@MyExperimentalAPI' annotation to 'foo' // ACTION: Add '@OptIn(MyExperimentalAPI::class)' annotation to 'foo' // ACTION: Add '@OptIn(MyExperimentalAPI::class)' annotation to containing class 'Derived' -// ACTION: Add '-Xuse-experimental=MyExperimentalAPI' to module light_idea_test_case compiler arguments +// ACTION: Add '-Xopt-in=MyExperimentalAPI' to module light_idea_test_case compiler arguments // ERROR: This declaration overrides experimental member of supertype 'Base' and must be annotated with '@MyExperimentalAPI' -@Experimental +@RequiresOptIn @Target(AnnotationTarget.FUNCTION) annotation class MyExperimentalAPI diff --git a/idea/testData/quickfix/experimental/propertyInConstructor.kt b/idea/testData/quickfix/experimental/propertyInConstructor.kt index e1ebe4deb31..4544acd6abb 100644 --- a/idea/testData/quickfix/experimental/propertyInConstructor.kt +++ b/idea/testData/quickfix/experimental/propertyInConstructor.kt @@ -1,12 +1,12 @@ // "Add '@PropertyTypeMarker' annotation to 'PropertyTypeContainer'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME // ACTION: Add '@PropertyTypeMarker' annotation to containing class 'PropertyTypeContainer' -@Experimental +@RequiresOptIn annotation class PropertyTypeMarker @PropertyTypeMarker class PropertyTypeMarked -class PropertyTypeContainer(val subject: PropertyTypeMarked) \ No newline at end of file +class PropertyTypeContainer(val subject: PropertyTypeMarked) diff --git a/idea/testData/quickfix/experimental/propertyInConstructor.kt.after b/idea/testData/quickfix/experimental/propertyInConstructor.kt.after index 0737c4c2fbb..892dd578a40 100644 --- a/idea/testData/quickfix/experimental/propertyInConstructor.kt.after +++ b/idea/testData/quickfix/experimental/propertyInConstructor.kt.after @@ -1,12 +1,12 @@ // "Add '@PropertyTypeMarker' annotation to 'PropertyTypeContainer'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME // ACTION: Add '@PropertyTypeMarker' annotation to containing class 'PropertyTypeContainer' -@Experimental +@RequiresOptIn annotation class PropertyTypeMarker @PropertyTypeMarker class PropertyTypeMarked -class PropertyTypeContainer @PropertyTypeMarker constructor(val subject: PropertyTypeMarked) \ No newline at end of file +class PropertyTypeContainer @PropertyTypeMarker constructor(val subject: PropertyTypeMarked) diff --git a/idea/testData/quickfix/experimental/switchOn.kt b/idea/testData/quickfix/experimental/switchOn.kt index e4488e252b9..dc55026d489 100644 --- a/idea/testData/quickfix/experimental/switchOn.kt +++ b/idea/testData/quickfix/experimental/switchOn.kt @@ -1,8 +1,8 @@ -// "Add '-Xuse-experimental=kotlin.RequiresOptIn' to module light_idea_test_case compiler arguments" "true" +// "Add '-Xopt-in=kotlin.RequiresOptIn' to module light_idea_test_case compiler arguments" "true" // COMPILER_ARGUMENTS: -version -// COMPILER_ARGUMENTS_AFTER: -version -Xuse-experimental=kotlin.RequiresOptIn +// COMPILER_ARGUMENTS_AFTER: -version -Xopt-in=kotlin.RequiresOptIn // DISABLE-ERRORS // WITH_RUNTIME -@Experimental +@RequiresOptIn annotation class MyExperimentalAPI diff --git a/idea/testData/quickfix/experimental/switchOn.kt.after b/idea/testData/quickfix/experimental/switchOn.kt.after index 79539d18ffb..8bc43b609e2 100644 --- a/idea/testData/quickfix/experimental/switchOn.kt.after +++ b/idea/testData/quickfix/experimental/switchOn.kt.after @@ -1,8 +1,8 @@ -// "Add '-Xuse-experimental=kotlin.RequiresOptIn' to module light_idea_test_case compiler arguments" "true" +// "Add '-Xopt-in=kotlin.RequiresOptIn' to module light_idea_test_case compiler arguments" "true" // COMPILER_ARGUMENTS: -version -// COMPILER_ARGUMENTS_AFTER: -version -Xuse-experimental=kotlin.RequiresOptIn +// COMPILER_ARGUMENTS_AFTER: -version -Xopt-in=kotlin.RequiresOptIn // DISABLE-ERRORS // WITH_RUNTIME -@Experimental +@RequiresOptIn annotation class MyExperimentalAPI diff --git a/idea/testData/quickfix/experimental/typeAlias.kt b/idea/testData/quickfix/experimental/typeAlias.kt index 52a3c8551ec..d016e5038cb 100644 --- a/idea/testData/quickfix/experimental/typeAlias.kt +++ b/idea/testData/quickfix/experimental/typeAlias.kt @@ -1,9 +1,9 @@ // "Add '@OptIn(AliasMarker::class)' annotation to 'AliasMarkerUsage'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME -// ACTION: Add '-Xuse-experimental=AliasMarker' to module light_idea_test_case compiler arguments +// ACTION: Add '-Xopt-in=AliasMarker' to module light_idea_test_case compiler arguments -@Experimental +@RequiresOptIn annotation class AliasMarker @AliasMarker diff --git a/idea/testData/quickfix/experimental/typeAlias.kt.after b/idea/testData/quickfix/experimental/typeAlias.kt.after index a59facd8d07..eaf9c072cf6 100644 --- a/idea/testData/quickfix/experimental/typeAlias.kt.after +++ b/idea/testData/quickfix/experimental/typeAlias.kt.after @@ -1,9 +1,9 @@ // "Add '@OptIn(AliasMarker::class)' annotation to 'AliasMarkerUsage'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME -// ACTION: Add '-Xuse-experimental=AliasMarker' to module light_idea_test_case compiler arguments +// ACTION: Add '-Xopt-in=AliasMarker' to module light_idea_test_case compiler arguments -@Experimental +@RequiresOptIn annotation class AliasMarker @AliasMarker diff --git a/idea/testData/quickfix/experimental/typeInTopLevelProperty.kt b/idea/testData/quickfix/experimental/typeInTopLevelProperty.kt index 8e936cb58e8..357d8fefa9d 100644 --- a/idea/testData/quickfix/experimental/typeInTopLevelProperty.kt +++ b/idea/testData/quickfix/experimental/typeInTopLevelProperty.kt @@ -1,8 +1,8 @@ // "Add '@TopMarker' annotation to 'topUserVal'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME -@Experimental +@RequiresOptIn annotation class TopMarker @TopMarker @@ -12,4 +12,4 @@ class TopClass @TopMarker annotation class TopAnn -val topUserVal: @TopAnn TopClass? = null \ No newline at end of file +val topUserVal: @TopAnn TopClass? = null diff --git a/idea/testData/quickfix/experimental/typeInTopLevelProperty.kt.after b/idea/testData/quickfix/experimental/typeInTopLevelProperty.kt.after index d2b05b7e5f3..3fc1ff65d72 100644 --- a/idea/testData/quickfix/experimental/typeInTopLevelProperty.kt.after +++ b/idea/testData/quickfix/experimental/typeInTopLevelProperty.kt.after @@ -1,8 +1,8 @@ // "Add '@TopMarker' annotation to 'topUserVal'" "true" -// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental +// COMPILER_ARGUMENTS: -Xopt-in=kotlin.RequiresOptIn // WITH_RUNTIME -@Experimental +@RequiresOptIn annotation class TopMarker @TopMarker @@ -13,4 +13,4 @@ class TopClass annotation class TopAnn @TopMarker -val topUserVal: @TopAnn TopClass? = null \ No newline at end of file +val topUserVal: @TopAnn TopClass? = null diff --git a/idea/testData/resolve/partialBodyResolve/ContractFromSource.completion b/idea/testData/resolve/partialBodyResolve/ContractFromSource.completion index 8bb5ea2a3b4..bea12198aa8 100644 --- a/idea/testData/resolve/partialBodyResolve/ContractFromSource.completion +++ b/idea/testData/resolve/partialBodyResolve/ContractFromSource.completion @@ -5,7 +5,7 @@ package test import kotlin.contracts.* -@UseExperimental(ExperimentalContracts::class) +@OptIn(ExperimentalContracts::class) fun myRequire(x: Boolean) { contract { returns() implies x diff --git a/idea/testData/resolve/partialBodyResolve/ContractFromSource.dump b/idea/testData/resolve/partialBodyResolve/ContractFromSource.dump index d5446bcc433..19582884a8e 100644 --- a/idea/testData/resolve/partialBodyResolve/ContractFromSource.dump +++ b/idea/testData/resolve/partialBodyResolve/ContractFromSource.dump @@ -5,7 +5,7 @@ package test import kotlin.contracts.* -@UseExperimental(ExperimentalContracts::class) +@OptIn(ExperimentalContracts::class) fun myRequire(x: Boolean) { contract { returns() implies x diff --git a/idea/testData/resolve/partialBodyResolve/ContractFromSource.kt b/idea/testData/resolve/partialBodyResolve/ContractFromSource.kt index efe7b83135c..81568afa240 100644 --- a/idea/testData/resolve/partialBodyResolve/ContractFromSource.kt +++ b/idea/testData/resolve/partialBodyResolve/ContractFromSource.kt @@ -3,7 +3,7 @@ package test import kotlin.contracts.* -@UseExperimental(ExperimentalContracts::class) +@OptIn(ExperimentalContracts::class) fun myRequire(x: Boolean) { contract { returns() implies x diff --git a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleHighlightingTest.kt b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleHighlightingTest.kt index 824a1cc3fcb..61ddcecbedd 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleHighlightingTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleHighlightingTest.kt @@ -234,7 +234,7 @@ open class MultiModuleHighlightingTest : AbstractMultiModuleHighlightingTest() { val lib = MockLibraryUtil.compileJvmLibraryToJar( testDataPath + "${getTestName(true)}/lib", "lib", extraOptions = listOf( - "-Xuse-experimental=kotlin.Experimental", + "-Xopt-in=kotlin.RequiresOptIn", "-Xexperimental=lib.ExperimentalAPI" ) ) @@ -247,7 +247,7 @@ open class MultiModuleHighlightingTest : AbstractMultiModuleHighlightingTest() { val lib = MockLibraryUtil.compileJsLibraryToJar( testDataPath + "${getTestName(true)}/lib", "lib", false, extraOptions = listOf( - "-Xuse-experimental=kotlin.Experimental", + "-Xopt-in=kotlin.RequiresOptIn", "-Xexperimental=lib.ExperimentalAPI" ) )