diff --git a/libraries/stdlib/api/js-v1/kotlin.jvm.kt b/libraries/stdlib/api/js-v1/kotlin.jvm.kt index 031bb85d2a7..0d423862ca9 100644 --- a/libraries/stdlib/api/js-v1/kotlin.jvm.kt +++ b/libraries/stdlib/api/js-v1/kotlin.jvm.kt @@ -8,6 +8,8 @@ public final annotation class Synchronized : kotlin.Annotation { @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FIELD}) @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") public final annotation class Volatile : kotlin.Annotation { public constructor Volatile() } \ No newline at end of file diff --git a/libraries/stdlib/api/js/kotlin.jvm.kt b/libraries/stdlib/api/js/kotlin.jvm.kt index 031bb85d2a7..0d423862ca9 100644 --- a/libraries/stdlib/api/js/kotlin.jvm.kt +++ b/libraries/stdlib/api/js/kotlin.jvm.kt @@ -8,6 +8,8 @@ public final annotation class Synchronized : kotlin.Annotation { @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FIELD}) @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") public final annotation class Volatile : kotlin.Annotation { public constructor Volatile() } \ No newline at end of file diff --git a/libraries/stdlib/common/src/kotlin/JvmAnnotationsH.kt b/libraries/stdlib/common/src/kotlin/JvmAnnotationsH.kt index c59f622cb09..bd072e6c0a8 100644 --- a/libraries/stdlib/common/src/kotlin/JvmAnnotationsH.kt +++ b/libraries/stdlib/common/src/kotlin/JvmAnnotationsH.kt @@ -136,6 +136,8 @@ public expect annotation class JvmRecord() @Target(FIELD) @MustBeDocumented @OptionalExpectation +@Deprecated("Use kotlin.concurrent.Volatile annotation in multiplatform code instead.", ReplaceWith("kotlin.concurrent.Volatile", "kotlin.concurrent.Volatile")) +@DeprecatedSinceKotlin(warningSince = "1.9") public expect annotation class Volatile() /** diff --git a/libraries/stdlib/js/src/kotlin/annotationsJVM.kt b/libraries/stdlib/js/src/kotlin/annotationsJVM.kt index 0768604c557..c7e95621be2 100644 --- a/libraries/stdlib/js/src/kotlin/annotationsJVM.kt +++ b/libraries/stdlib/js/src/kotlin/annotationsJVM.kt @@ -7,10 +7,10 @@ package kotlin.jvm // these are used in common generated code in stdlib -// TODO: find how to deprecate these ones - @Target(AnnotationTarget.FIELD) @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") public actual annotation class Volatile @Target(AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER) diff --git a/libraries/stdlib/src/kotlin/collections/AbstractMap.kt b/libraries/stdlib/src/kotlin/collections/AbstractMap.kt index 1872870ee47..ac5ec1ba7fc 100644 --- a/libraries/stdlib/src/kotlin/collections/AbstractMap.kt +++ b/libraries/stdlib/src/kotlin/collections/AbstractMap.kt @@ -99,7 +99,7 @@ public abstract class AbstractMap protected constructor() : Map return _keys!! } - @kotlin.jvm.Volatile + @kotlin.concurrent.Volatile private var _keys: Set? = null @@ -135,7 +135,7 @@ public abstract class AbstractMap protected constructor() : Map return _values!! } - @kotlin.jvm.Volatile + @kotlin.concurrent.Volatile private var _values: Collection? = null private fun implFindEntry(key: K): Map.Entry? = entries.firstOrNull { it.key == key }