From f0a75e7843f09c1a69fff7cd1cda21378ebdab89 Mon Sep 17 00:00:00 2001 From: Abduqodiri Qurbonzoda Date: Tue, 28 Sep 2021 17:44:02 +0300 Subject: [PATCH] Advance deprecation level of Experimental and UseExperimental annotations to ERROR --- .../kotlin/extensions/internal/NonStableExtensionPoints.kt | 2 -- libraries/stdlib/api/js-v1/kotlin.contracts.kt | 1 - libraries/stdlib/api/js-v1/kotlin.experimental.kt | 1 - libraries/stdlib/api/js-v1/kotlin.js.kt | 1 - libraries/stdlib/api/js-v1/kotlin.kt | 5 ++--- libraries/stdlib/api/js-v1/kotlin.time.kt | 1 - libraries/stdlib/api/js/kotlin.contracts.kt | 1 - libraries/stdlib/api/js/kotlin.experimental.kt | 1 - libraries/stdlib/api/js/kotlin.js.kt | 1 - libraries/stdlib/api/js/kotlin.kt | 5 ++--- libraries/stdlib/api/js/kotlin.time.kt | 1 - libraries/stdlib/common/src/kotlin/JsAnnotationsH.kt | 2 -- libraries/stdlib/src/kotlin/annotations/Experimental.kt | 2 ++ .../stdlib/src/kotlin/annotations/ExperimentalStdlibApi.kt | 2 -- libraries/stdlib/src/kotlin/annotations/Multiplatform.kt | 2 -- libraries/stdlib/src/kotlin/contracts/ContractBuilder.kt | 2 -- libraries/stdlib/src/kotlin/experimental/inferenceMarker.kt | 2 -- libraries/stdlib/src/kotlin/time/ExperimentalTime.kt | 2 -- libraries/stdlib/unsigned/src/kotlin/annotations/Unsigned.kt | 2 -- 19 files changed, 6 insertions(+), 30 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/extensions/internal/NonStableExtensionPoints.kt b/compiler/frontend/src/org/jetbrains/kotlin/extensions/internal/NonStableExtensionPoints.kt index f0eea05925c..82d880e9bc9 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/extensions/internal/NonStableExtensionPoints.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/extensions/internal/NonStableExtensionPoints.kt @@ -35,8 +35,6 @@ import org.jetbrains.kotlin.types.expressions.ExpressionTypingContext * Please do not use them in general code. */ @RequiresOptIn(level = RequiresOptIn.Level.ERROR) -@Suppress("DEPRECATION") -@Experimental(level = Experimental.Level.ERROR) @Retention(AnnotationRetention.BINARY) internal annotation class InternalNonStableExtensionPoints diff --git a/libraries/stdlib/api/js-v1/kotlin.contracts.kt b/libraries/stdlib/api/js-v1/kotlin.contracts.kt index 4be63375678..5a1e65c11e2 100644 --- a/libraries/stdlib/api/js-v1/kotlin.contracts.kt +++ b/libraries/stdlib/api/js-v1/kotlin.contracts.kt @@ -41,7 +41,6 @@ public interface Effect { @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.3") -@kotlin.Experimental @kotlin.RequiresOptIn @kotlin.annotation.MustBeDocumented public final annotation class ExperimentalContracts : kotlin.Annotation { diff --git a/libraries/stdlib/api/js-v1/kotlin.experimental.kt b/libraries/stdlib/api/js-v1/kotlin.experimental.kt index af0bda12eb8..f9a6132b16d 100644 --- a/libraries/stdlib/api/js-v1/kotlin.experimental.kt +++ b/libraries/stdlib/api/js-v1/kotlin.experimental.kt @@ -30,7 +30,6 @@ public inline infix fun kotlin.Byte.xor(other: kotlin.Byte): kotlin.Byte @kotlin.internal.InlineOnly public inline infix fun kotlin.Short.xor(other: kotlin.Short): kotlin.Short -@kotlin.Experimental(level = Level.ERROR) @kotlin.RequiresOptIn(level = Level.ERROR) @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) diff --git a/libraries/stdlib/api/js-v1/kotlin.js.kt b/libraries/stdlib/api/js-v1/kotlin.js.kt index ff2f194a829..a209568b0e3 100644 --- a/libraries/stdlib/api/js-v1/kotlin.js.kt +++ b/libraries/stdlib/api/js-v1/kotlin.js.kt @@ -193,7 +193,6 @@ public final external class Date { } } -@kotlin.Experimental(level = Level.WARNING) @kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) diff --git a/libraries/stdlib/api/js-v1/kotlin.kt b/libraries/stdlib/api/js-v1/kotlin.kt index 24cf9eb2147..20ea08bca11 100644 --- a/libraries/stdlib/api/js-v1/kotlin.kt +++ b/libraries/stdlib/api/js-v1/kotlin.kt @@ -1432,6 +1432,7 @@ public open class Exception : kotlin.Throwable { @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.ANNOTATION_CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.2") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.6", warningSince = "1.4") @kotlin.Deprecated(message = "Please use RequiresOptIn instead.") public final annotation class Experimental : kotlin.Annotation { public constructor Experimental(level: kotlin.Experimental.Level = ...) @@ -1445,7 +1446,6 @@ public final annotation class Experimental : kotlin.Annotation { } } -@kotlin.Experimental @kotlin.RequiresOptIn @kotlin.annotation.MustBeDocumented @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) @@ -1454,7 +1454,6 @@ public final annotation class ExperimentalMultiplatform : kotlin.Annotation { public constructor ExperimentalMultiplatform() } -@kotlin.Experimental(level = Level.ERROR) @kotlin.RequiresOptIn(level = Level.ERROR) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) @@ -1464,7 +1463,6 @@ public final annotation class ExperimentalStdlibApi : kotlin.Annotation { public constructor ExperimentalStdlibApi() } -@kotlin.Experimental(level = Level.WARNING) @kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.MustBeDocumented @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) @@ -3219,6 +3217,7 @@ public open class UnsupportedOperationException : kotlin.RuntimeException { @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.EXPRESSION, AnnotationTarget.FILE, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @kotlin.SinceKotlin(version = "1.2") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.6", warningSince = "1.4") @kotlin.Deprecated(message = "Please use OptIn instead.", replaceWith = kotlin.ReplaceWith(expression = "OptIn(*markerClass)", imports = {"kotlin.OptIn"})) public final annotation class UseExperimental : kotlin.Annotation { public constructor UseExperimental(vararg markerClass: kotlin.reflect.KClass) diff --git a/libraries/stdlib/api/js-v1/kotlin.time.kt b/libraries/stdlib/api/js-v1/kotlin.time.kt index e4031dec883..ae628a8155a 100644 --- a/libraries/stdlib/api/js-v1/kotlin.time.kt +++ b/libraries/stdlib/api/js-v1/kotlin.time.kt @@ -529,7 +529,6 @@ public final enum class DurationUnit : kotlin.Enum { enum entry DAYS } -@kotlin.Experimental(level = Level.ERROR) @kotlin.RequiresOptIn(level = Level.ERROR) @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) diff --git a/libraries/stdlib/api/js/kotlin.contracts.kt b/libraries/stdlib/api/js/kotlin.contracts.kt index 4be63375678..5a1e65c11e2 100644 --- a/libraries/stdlib/api/js/kotlin.contracts.kt +++ b/libraries/stdlib/api/js/kotlin.contracts.kt @@ -41,7 +41,6 @@ public interface Effect { @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.3") -@kotlin.Experimental @kotlin.RequiresOptIn @kotlin.annotation.MustBeDocumented public final annotation class ExperimentalContracts : kotlin.Annotation { diff --git a/libraries/stdlib/api/js/kotlin.experimental.kt b/libraries/stdlib/api/js/kotlin.experimental.kt index af0bda12eb8..f9a6132b16d 100644 --- a/libraries/stdlib/api/js/kotlin.experimental.kt +++ b/libraries/stdlib/api/js/kotlin.experimental.kt @@ -30,7 +30,6 @@ public inline infix fun kotlin.Byte.xor(other: kotlin.Byte): kotlin.Byte @kotlin.internal.InlineOnly public inline infix fun kotlin.Short.xor(other: kotlin.Short): kotlin.Short -@kotlin.Experimental(level = Level.ERROR) @kotlin.RequiresOptIn(level = Level.ERROR) @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) diff --git a/libraries/stdlib/api/js/kotlin.js.kt b/libraries/stdlib/api/js/kotlin.js.kt index 0ca42ed01b7..7e0870c9fd2 100644 --- a/libraries/stdlib/api/js/kotlin.js.kt +++ b/libraries/stdlib/api/js/kotlin.js.kt @@ -192,7 +192,6 @@ public final external class Date { } } -@kotlin.Experimental(level = Level.WARNING) @kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) diff --git a/libraries/stdlib/api/js/kotlin.kt b/libraries/stdlib/api/js/kotlin.kt index c2736b86078..2e629db9e7a 100644 --- a/libraries/stdlib/api/js/kotlin.kt +++ b/libraries/stdlib/api/js/kotlin.kt @@ -1407,6 +1407,7 @@ public open class Exception : kotlin.Throwable { @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.ANNOTATION_CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.2") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.6", warningSince = "1.4") @kotlin.Deprecated(message = "Please use RequiresOptIn instead.") public final annotation class Experimental : kotlin.Annotation { public constructor Experimental(level: kotlin.Experimental.Level = ...) @@ -1420,7 +1421,6 @@ public final annotation class Experimental : kotlin.Annotation { } } -@kotlin.Experimental @kotlin.RequiresOptIn @kotlin.annotation.MustBeDocumented @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) @@ -1429,7 +1429,6 @@ public final annotation class ExperimentalMultiplatform : kotlin.Annotation { public constructor ExperimentalMultiplatform() } -@kotlin.Experimental(level = Level.ERROR) @kotlin.RequiresOptIn(level = Level.ERROR) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) @@ -1439,7 +1438,6 @@ public final annotation class ExperimentalStdlibApi : kotlin.Annotation { public constructor ExperimentalStdlibApi() } -@kotlin.Experimental(level = Level.WARNING) @kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.MustBeDocumented @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) @@ -3219,6 +3217,7 @@ public open class UnsupportedOperationException : kotlin.RuntimeException { @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.EXPRESSION, AnnotationTarget.FILE, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @kotlin.SinceKotlin(version = "1.2") +@kotlin.DeprecatedSinceKotlin(errorSince = "1.6", warningSince = "1.4") @kotlin.Deprecated(message = "Please use OptIn instead.", replaceWith = kotlin.ReplaceWith(expression = "OptIn(*markerClass)", imports = {"kotlin.OptIn"})) public final annotation class UseExperimental : kotlin.Annotation { public constructor UseExperimental(vararg markerClass: kotlin.reflect.KClass) diff --git a/libraries/stdlib/api/js/kotlin.time.kt b/libraries/stdlib/api/js/kotlin.time.kt index e4031dec883..ae628a8155a 100644 --- a/libraries/stdlib/api/js/kotlin.time.kt +++ b/libraries/stdlib/api/js/kotlin.time.kt @@ -529,7 +529,6 @@ public final enum class DurationUnit : kotlin.Enum { enum entry DAYS } -@kotlin.Experimental(level = Level.ERROR) @kotlin.RequiresOptIn(level = Level.ERROR) @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) diff --git a/libraries/stdlib/common/src/kotlin/JsAnnotationsH.kt b/libraries/stdlib/common/src/kotlin/JsAnnotationsH.kt index c9b0b918d73..50641391f7a 100644 --- a/libraries/stdlib/common/src/kotlin/JsAnnotationsH.kt +++ b/libraries/stdlib/common/src/kotlin/JsAnnotationsH.kt @@ -23,8 +23,6 @@ public expect annotation class JsName(val name: String) * the [OptIn] annotation, e.g. `@OptIn(ExperimentalJsExport::class)`, * or with the `-opt-in=kotlin.js.ExperimentalJsExport` compiler option is given. */ -@Suppress("DEPRECATION") -@Experimental(level = Experimental.Level.WARNING) @RequiresOptIn(level = RequiresOptIn.Level.WARNING) @MustBeDocumented @Retention(AnnotationRetention.BINARY) diff --git a/libraries/stdlib/src/kotlin/annotations/Experimental.kt b/libraries/stdlib/src/kotlin/annotations/Experimental.kt index 3b3c399de81..579d172adaf 100644 --- a/libraries/stdlib/src/kotlin/annotations/Experimental.kt +++ b/libraries/stdlib/src/kotlin/annotations/Experimental.kt @@ -25,6 +25,7 @@ import kotlin.reflect.KClass @Retention(BINARY) @SinceKotlin("1.2") @RequireKotlin("1.2.50", versionKind = RequireKotlinVersionKind.COMPILER_VERSION) +@DeprecatedSinceKotlin(warningSince = "1.4", errorSince = "1.6") @Deprecated("Please use RequiresOptIn instead.") public annotation class Experimental(val level: Level = Level.ERROR) { /** @@ -51,6 +52,7 @@ public annotation class Experimental(val level: Level = Level.ERROR) { @Retention(SOURCE) @SinceKotlin("1.2") @RequireKotlin("1.2.50", versionKind = RequireKotlinVersionKind.COMPILER_VERSION) +@DeprecatedSinceKotlin(warningSince = "1.4", errorSince = "1.6") @Deprecated("Please use OptIn instead.", ReplaceWith("OptIn(*markerClass)", "kotlin.OptIn")) public annotation class UseExperimental( vararg val markerClass: KClass diff --git a/libraries/stdlib/src/kotlin/annotations/ExperimentalStdlibApi.kt b/libraries/stdlib/src/kotlin/annotations/ExperimentalStdlibApi.kt index e18f358cbbf..e13373ef51e 100644 --- a/libraries/stdlib/src/kotlin/annotations/ExperimentalStdlibApi.kt +++ b/libraries/stdlib/src/kotlin/annotations/ExperimentalStdlibApi.kt @@ -14,8 +14,6 @@ import kotlin.annotation.AnnotationTarget.* * annotating that usage with the [OptIn] annotation, e.g. `@OptIn(ExperimentalStdlibApi::class)`, * or by using the compiler argument `-opt-in=kotlin.ExperimentalStdlibApi`. */ -@Suppress("DEPRECATION") -@Experimental(level = Experimental.Level.ERROR) @RequiresOptIn(level = RequiresOptIn.Level.ERROR) @Retention(AnnotationRetention.BINARY) @Target( diff --git a/libraries/stdlib/src/kotlin/annotations/Multiplatform.kt b/libraries/stdlib/src/kotlin/annotations/Multiplatform.kt index 89dc6f5be82..50fa6662854 100644 --- a/libraries/stdlib/src/kotlin/annotations/Multiplatform.kt +++ b/libraries/stdlib/src/kotlin/annotations/Multiplatform.kt @@ -16,8 +16,6 @@ import kotlin.internal.RequireKotlinVersionKind * annotating that usage with the [OptIn] annotation, e.g. `@OptIn(ExperimentalMultiplatform::class)`, * or by using the compiler argument `-opt-in=kotlin.ExperimentalMultiplatform`. */ -@Suppress("DEPRECATION") -@Experimental @RequiresOptIn @MustBeDocumented @Target( diff --git a/libraries/stdlib/src/kotlin/contracts/ContractBuilder.kt b/libraries/stdlib/src/kotlin/contracts/ContractBuilder.kt index a954de09f47..ffa321ab3ce 100644 --- a/libraries/stdlib/src/kotlin/contracts/ContractBuilder.kt +++ b/libraries/stdlib/src/kotlin/contracts/ContractBuilder.kt @@ -16,10 +16,8 @@ import kotlin.internal.InlineOnly * annotating that usage with the [OptIn] annotation, e.g. `@OptIn(ExperimentalContracts::class)`, * or by using the compiler argument `-opt-in=kotlin.contracts.ExperimentalContracts`. */ -@Suppress("DEPRECATION") @Retention(AnnotationRetention.BINARY) @SinceKotlin("1.3") -@Experimental @RequiresOptIn @MustBeDocumented public annotation class ExperimentalContracts diff --git a/libraries/stdlib/src/kotlin/experimental/inferenceMarker.kt b/libraries/stdlib/src/kotlin/experimental/inferenceMarker.kt index 6090a18e8e0..fa38536b30a 100644 --- a/libraries/stdlib/src/kotlin/experimental/inferenceMarker.kt +++ b/libraries/stdlib/src/kotlin/experimental/inferenceMarker.kt @@ -12,8 +12,6 @@ package kotlin.experimental * annotating that usage with the [OptIn] annotation, e.g. `@OptIn(ExperimentalTypeInference::class)`, * or by using the compiler argument `-opt-in=kotlin.experimental.ExperimentalTypeInference`. */ -@Suppress("DEPRECATION") -@Experimental(level = Experimental.Level.ERROR) @RequiresOptIn(level = RequiresOptIn.Level.ERROR) @MustBeDocumented @Retention(AnnotationRetention.BINARY) diff --git a/libraries/stdlib/src/kotlin/time/ExperimentalTime.kt b/libraries/stdlib/src/kotlin/time/ExperimentalTime.kt index f85a0a6d972..479fbbd2549 100644 --- a/libraries/stdlib/src/kotlin/time/ExperimentalTime.kt +++ b/libraries/stdlib/src/kotlin/time/ExperimentalTime.kt @@ -18,8 +18,6 @@ import kotlin.annotation.AnnotationTarget.* * annotating that usage with the [OptIn] annotation, e.g. `@OptIn(ExperimentalTime::class)`, * or by using the compiler argument `-opt-in=kotlin.time.ExperimentalTime`. */ -@Suppress("DEPRECATION") -@Experimental(level = Experimental.Level.ERROR) @RequiresOptIn(level = RequiresOptIn.Level.ERROR) @MustBeDocumented @Retention(AnnotationRetention.BINARY) diff --git a/libraries/stdlib/unsigned/src/kotlin/annotations/Unsigned.kt b/libraries/stdlib/unsigned/src/kotlin/annotations/Unsigned.kt index d8d047a6308..d9a667d6509 100644 --- a/libraries/stdlib/unsigned/src/kotlin/annotations/Unsigned.kt +++ b/libraries/stdlib/unsigned/src/kotlin/annotations/Unsigned.kt @@ -19,8 +19,6 @@ import kotlin.internal.RequireKotlinVersionKind * * It's recommended to propagate the experimental status to the API that depends on unsigned types by annotating it with this annotation. */ -@Suppress("DEPRECATION") -@Experimental(level = Experimental.Level.WARNING) @RequiresOptIn(level = RequiresOptIn.Level.WARNING) @MustBeDocumented @Target(CLASS, ANNOTATION_CLASS, PROPERTY, FIELD, LOCAL_VARIABLE, VALUE_PARAMETER, CONSTRUCTOR, FUNCTION, PROPERTY_GETTER, PROPERTY_SETTER, TYPEALIAS)