From b6e6ca7c96cb7ba03663c43f740b5325a6118870 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Wed, 21 Dec 2022 23:04:07 +0100 Subject: [PATCH] Deprecate Synchronized annotation in common and JS #KT-55344 --- libraries/stdlib/api/js-v1/kotlin.jvm.kt | 2 ++ libraries/stdlib/api/js/kotlin.jvm.kt | 2 ++ libraries/stdlib/common/src/kotlin/JvmAnnotationsH.kt | 2 ++ libraries/stdlib/js/src/kotlin/annotationsJVM.kt | 2 ++ 4 files changed, 8 insertions(+) diff --git a/libraries/stdlib/api/js-v1/kotlin.jvm.kt b/libraries/stdlib/api/js-v1/kotlin.jvm.kt index be9d9d2598c..031bb85d2a7 100644 --- a/libraries/stdlib/api/js-v1/kotlin.jvm.kt +++ b/libraries/stdlib/api/js-v1/kotlin.jvm.kt @@ -1,5 +1,7 @@ @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER}) @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") public final annotation class Synchronized : kotlin.Annotation { public constructor Synchronized() } diff --git a/libraries/stdlib/api/js/kotlin.jvm.kt b/libraries/stdlib/api/js/kotlin.jvm.kt index be9d9d2598c..031bb85d2a7 100644 --- a/libraries/stdlib/api/js/kotlin.jvm.kt +++ b/libraries/stdlib/api/js/kotlin.jvm.kt @@ -1,5 +1,7 @@ @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER}) @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") public final annotation class Synchronized : kotlin.Annotation { public constructor Synchronized() } diff --git a/libraries/stdlib/common/src/kotlin/JvmAnnotationsH.kt b/libraries/stdlib/common/src/kotlin/JvmAnnotationsH.kt index 31df055089f..f8325957fec 100644 --- a/libraries/stdlib/common/src/kotlin/JvmAnnotationsH.kt +++ b/libraries/stdlib/common/src/kotlin/JvmAnnotationsH.kt @@ -160,6 +160,8 @@ public expect annotation class Strictfp() @Target(FUNCTION, PROPERTY_GETTER, PROPERTY_SETTER) @MustBeDocumented @OptionalExpectation +@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") public expect annotation class Synchronized() diff --git a/libraries/stdlib/js/src/kotlin/annotationsJVM.kt b/libraries/stdlib/js/src/kotlin/annotationsJVM.kt index 2887e88f613..0768604c557 100644 --- a/libraries/stdlib/js/src/kotlin/annotationsJVM.kt +++ b/libraries/stdlib/js/src/kotlin/annotationsJVM.kt @@ -15,4 +15,6 @@ 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") public actual annotation class Synchronized