diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/Annotations.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/Annotations.kt index 06148e60fb1..29c6234f9cc 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/Annotations.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/Annotations.kt @@ -192,6 +192,7 @@ public annotation class PublishedApi * @property exceptionClasses the list of checked exception classes that may be thrown by the function. */ @SinceKotlin("1.4") +@Suppress("ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT") @Target(AnnotationTarget.FUNCTION, AnnotationTarget.CONSTRUCTOR) @Retention(AnnotationRetention.BINARY) public actual annotation class Throws(actual vararg val exceptionClasses: KClass) diff --git a/libraries/stdlib/api/js/kotlin.jvm.kt b/libraries/stdlib/api/js/kotlin.jvm.kt index 0d423862ca9..16ebba0acee 100644 --- a/libraries/stdlib/api/js/kotlin.jvm.kt +++ b/libraries/stdlib/api/js/kotlin.jvm.kt @@ -2,6 +2,7 @@ @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @kotlin.Deprecated(message = "Synchronizing methods on a class instance is not supported on platforms other than JVM. If you need to annotate a common method as JVM-synchronized, introduce your own optional-expectation annotation and actualize it with a typealias to kotlin.jvm.Synchronized.") @kotlin.DeprecatedSinceKotlin(warningSince = "1.8") +@kotlin.annotation.MustBeDocumented public final annotation class Synchronized : kotlin.Annotation { public constructor Synchronized() } @@ -10,6 +11,7 @@ public final annotation class Synchronized : kotlin.Annotation { @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @kotlin.Deprecated(message = "This annotation has no effect in Kotlin/JS. Use kotlin.concurrent.Volatile annotation in multiplatform code instead.", replaceWith = kotlin.ReplaceWith(expression = "kotlin.concurrent.Volatile", imports = {"kotlin.concurrent.Volatile"})) @kotlin.DeprecatedSinceKotlin(warningSince = "1.9") +@kotlin.annotation.MustBeDocumented public final annotation class Volatile : kotlin.Annotation { public constructor Volatile() } \ No newline at end of file diff --git a/libraries/stdlib/common/src/kotlin/JsAnnotationsH.kt b/libraries/stdlib/common/src/kotlin/JsAnnotationsH.kt index 3d1afbbf38a..34ea4c28613 100644 --- a/libraries/stdlib/common/src/kotlin/JsAnnotationsH.kt +++ b/libraries/stdlib/common/src/kotlin/JsAnnotationsH.kt @@ -95,7 +95,7 @@ public expect annotation class JsExport() { */ @ExperimentalJsExport @Retention(AnnotationRetention.BINARY) - @Target(CLASS, PROPERTY, FUNCTION) + @Target(CLASS, PROPERTY, FUNCTION, CONSTRUCTOR) @SinceKotlin("1.8") @OptionalExpectation public annotation class Ignore() diff --git a/libraries/stdlib/js/src/kotlin/annotationsJVM.kt b/libraries/stdlib/js/src/kotlin/annotationsJVM.kt index c7e95621be2..4b800519ce2 100644 --- a/libraries/stdlib/js/src/kotlin/annotationsJVM.kt +++ b/libraries/stdlib/js/src/kotlin/annotationsJVM.kt @@ -11,10 +11,12 @@ package kotlin.jvm @Retention(AnnotationRetention.SOURCE) @Deprecated("This annotation has no effect in Kotlin/JS. Use kotlin.concurrent.Volatile annotation in multiplatform code instead.", ReplaceWith("kotlin.concurrent.Volatile", "kotlin.concurrent.Volatile")) @DeprecatedSinceKotlin(warningSince = "1.9") +@MustBeDocumented public actual annotation class Volatile @Target(AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER) @Retention(AnnotationRetention.SOURCE) @Deprecated("Synchronizing methods on a class instance is not supported on platforms other than JVM. If you need to annotate a common method as JVM-synchronized, introduce your own optional-expectation annotation and actualize it with a typealias to kotlin.jvm.Synchronized.") @DeprecatedSinceKotlin(warningSince = "1.8") +@MustBeDocumented public actual annotation class Synchronized diff --git a/libraries/stdlib/jvm/runtime/kotlin/Throws.kt b/libraries/stdlib/jvm/runtime/kotlin/Throws.kt index 356ec148a22..195d52b1438 100644 --- a/libraries/stdlib/jvm/runtime/kotlin/Throws.kt +++ b/libraries/stdlib/jvm/runtime/kotlin/Throws.kt @@ -22,4 +22,5 @@ package kotlin * ``` */ @SinceKotlin("1.4") +@Suppress("ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT") // @Retention(BINARY) on expect needed for native target public actual typealias Throws = kotlin.jvm.Throws diff --git a/libraries/stdlib/wasm/src/kotlin/js/annotations.kt b/libraries/stdlib/wasm/src/kotlin/js/annotations.kt index 82c16f3e71c..8f03d1d4d85 100644 --- a/libraries/stdlib/wasm/src/kotlin/js/annotations.kt +++ b/libraries/stdlib/wasm/src/kotlin/js/annotations.kt @@ -13,6 +13,8 @@ package kotlin.js @ExperimentalJsExport @Retention(AnnotationRetention.BINARY) @Target(AnnotationTarget.FUNCTION) +// All targets from expect can't be set because for K/Wasm so far you can export only functions +@Suppress("ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT") public actual annotation class JsExport { @ExperimentalJsExport @Retention(AnnotationRetention.BINARY)