From 352316ba9f1a549dc8428deffd943fabf057a247 Mon Sep 17 00:00:00 2001 From: Abduqodiri Qurbonzoda Date: Sun, 2 Apr 2023 02:12:41 +0300 Subject: [PATCH] [K/N] Add @SinceKotlin for ObjC annotations #KT-57197 --- .../runtime/src/main/kotlin/kotlin/native/Annotations.kt | 5 +++++ libraries/stdlib/api/js-v1/kotlin.experimental.kt | 2 ++ libraries/stdlib/api/js/kotlin.experimental.kt | 2 ++ libraries/stdlib/src/kotlin/annotations/NativeAnnotations.kt | 5 +++++ .../stdlib/src/kotlin/experimental/ExperimentalObjCName.kt | 1 + .../src/kotlin/experimental/ExperimentalObjCRefinement.kt | 1 + 6 files changed, 16 insertions(+) diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/native/Annotations.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/native/Annotations.kt index 8fbde28f8d7..63bb1310122 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/native/Annotations.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/native/Annotations.kt @@ -99,6 +99,7 @@ public actual annotation class CName(actual val externName: String = "", actual @Retention(AnnotationRetention.BINARY) @MustBeDocumented @ExperimentalObjCName +@SinceKotlin("1.8") public actual annotation class ObjCName(actual val name: String = "", actual val swiftName: String = "", actual val exact: Boolean = false) /** @@ -113,6 +114,7 @@ public actual annotation class ObjCName(actual val name: String = "", actual val @Retention(AnnotationRetention.BINARY) @MustBeDocumented @ExperimentalObjCRefinement +@SinceKotlin("1.8") public actual annotation class HidesFromObjC /** @@ -123,6 +125,7 @@ public actual annotation class HidesFromObjC @Retention(AnnotationRetention.BINARY) @MustBeDocumented @ExperimentalObjCRefinement +@SinceKotlin("1.8") public actual annotation class HiddenFromObjC /** @@ -141,6 +144,7 @@ public actual annotation class HiddenFromObjC @Retention(AnnotationRetention.BINARY) @MustBeDocumented @ExperimentalObjCRefinement +@SinceKotlin("1.8") public actual annotation class RefinesInSwift /** @@ -154,4 +158,5 @@ public actual annotation class RefinesInSwift @Retention(AnnotationRetention.BINARY) @MustBeDocumented @ExperimentalObjCRefinement +@SinceKotlin("1.8") public actual annotation class ShouldRefineInSwift diff --git a/libraries/stdlib/api/js-v1/kotlin.experimental.kt b/libraries/stdlib/api/js-v1/kotlin.experimental.kt index f3e1f0633c5..a30f01b72dc 100644 --- a/libraries/stdlib/api/js-v1/kotlin.experimental.kt +++ b/libraries/stdlib/api/js-v1/kotlin.experimental.kt @@ -34,6 +34,7 @@ public inline infix fun kotlin.Short.xor(other: kotlin.Short): kotlin.Short @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.ANNOTATION_CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.MustBeDocumented +@kotlin.SinceKotlin(version = "1.8") public final annotation class ExperimentalObjCName : kotlin.Annotation { public constructor ExperimentalObjCName() } @@ -42,6 +43,7 @@ public final annotation class ExperimentalObjCName : kotlin.Annotation { @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.ANNOTATION_CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.MustBeDocumented +@kotlin.SinceKotlin(version = "1.8") public final annotation class ExperimentalObjCRefinement : kotlin.Annotation { public constructor ExperimentalObjCRefinement() } diff --git a/libraries/stdlib/api/js/kotlin.experimental.kt b/libraries/stdlib/api/js/kotlin.experimental.kt index f3e1f0633c5..a30f01b72dc 100644 --- a/libraries/stdlib/api/js/kotlin.experimental.kt +++ b/libraries/stdlib/api/js/kotlin.experimental.kt @@ -34,6 +34,7 @@ public inline infix fun kotlin.Short.xor(other: kotlin.Short): kotlin.Short @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.ANNOTATION_CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.MustBeDocumented +@kotlin.SinceKotlin(version = "1.8") public final annotation class ExperimentalObjCName : kotlin.Annotation { public constructor ExperimentalObjCName() } @@ -42,6 +43,7 @@ public final annotation class ExperimentalObjCName : kotlin.Annotation { @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.ANNOTATION_CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.MustBeDocumented +@kotlin.SinceKotlin(version = "1.8") public final annotation class ExperimentalObjCRefinement : kotlin.Annotation { public constructor ExperimentalObjCRefinement() } diff --git a/libraries/stdlib/src/kotlin/annotations/NativeAnnotations.kt b/libraries/stdlib/src/kotlin/annotations/NativeAnnotations.kt index cc20f392329..2fbfb6505d2 100644 --- a/libraries/stdlib/src/kotlin/annotations/NativeAnnotations.kt +++ b/libraries/stdlib/src/kotlin/annotations/NativeAnnotations.kt @@ -65,6 +65,7 @@ expect annotation class FreezingIsDeprecated @MustBeDocumented @OptionalExpectation @ExperimentalObjCName +@SinceKotlin("1.8") public expect annotation class ObjCName(val name: String = "", val swiftName: String = "", val exact: Boolean = false) /** @@ -80,6 +81,7 @@ public expect annotation class ObjCName(val name: String = "", val swiftName: St @MustBeDocumented @OptionalExpectation @ExperimentalObjCRefinement +@SinceKotlin("1.8") public expect annotation class HidesFromObjC() /** @@ -91,6 +93,7 @@ public expect annotation class HidesFromObjC() @MustBeDocumented @OptionalExpectation @ExperimentalObjCRefinement +@SinceKotlin("1.8") public expect annotation class HiddenFromObjC() /** @@ -110,6 +113,7 @@ public expect annotation class HiddenFromObjC() @MustBeDocumented @OptionalExpectation @ExperimentalObjCRefinement +@SinceKotlin("1.8") public expect annotation class RefinesInSwift() /** @@ -124,4 +128,5 @@ public expect annotation class RefinesInSwift() @MustBeDocumented @OptionalExpectation @ExperimentalObjCRefinement +@SinceKotlin("1.8") public expect annotation class ShouldRefineInSwift() diff --git a/libraries/stdlib/src/kotlin/experimental/ExperimentalObjCName.kt b/libraries/stdlib/src/kotlin/experimental/ExperimentalObjCName.kt index 521eb1e86a5..ae53d7e9273 100644 --- a/libraries/stdlib/src/kotlin/experimental/ExperimentalObjCName.kt +++ b/libraries/stdlib/src/kotlin/experimental/ExperimentalObjCName.kt @@ -12,4 +12,5 @@ package kotlin.experimental @Target(AnnotationTarget.ANNOTATION_CLASS) @Retention(AnnotationRetention.BINARY) @MustBeDocumented +@SinceKotlin("1.8") public annotation class ExperimentalObjCName diff --git a/libraries/stdlib/src/kotlin/experimental/ExperimentalObjCRefinement.kt b/libraries/stdlib/src/kotlin/experimental/ExperimentalObjCRefinement.kt index 29672f584bc..d8164e9bee8 100644 --- a/libraries/stdlib/src/kotlin/experimental/ExperimentalObjCRefinement.kt +++ b/libraries/stdlib/src/kotlin/experimental/ExperimentalObjCRefinement.kt @@ -12,4 +12,5 @@ package kotlin.experimental @Target(AnnotationTarget.ANNOTATION_CLASS) @Retention(AnnotationRetention.BINARY) @MustBeDocumented +@SinceKotlin("1.8") public annotation class ExperimentalObjCRefinement