KT-55610 Deprecate k.j.Volatile annotation in Common and JS

Use k.c.Volatile in common AbstractMap instead
This commit is contained in:
Ilya Gorbunov
2023-04-05 14:35:06 +02:00
committed by Space Team
parent b8da3e69ce
commit 912b65060e
5 changed files with 10 additions and 4 deletions
+2
View File
@@ -8,6 +8,8 @@ public final annotation class Synchronized : kotlin.Annotation {
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FIELD}) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FIELD})
@kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @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 final annotation class Volatile : kotlin.Annotation {
public constructor Volatile() public constructor Volatile()
} }
+2
View File
@@ -8,6 +8,8 @@ public final annotation class Synchronized : kotlin.Annotation {
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FIELD}) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FIELD})
@kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @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 final annotation class Volatile : kotlin.Annotation {
public constructor Volatile() public constructor Volatile()
} }
@@ -136,6 +136,8 @@ public expect annotation class JvmRecord()
@Target(FIELD) @Target(FIELD)
@MustBeDocumented @MustBeDocumented
@OptionalExpectation @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() public expect annotation class Volatile()
/** /**
@@ -7,10 +7,10 @@ package kotlin.jvm
// these are used in common generated code in stdlib // these are used in common generated code in stdlib
// TODO: find how to deprecate these ones
@Target(AnnotationTarget.FIELD) @Target(AnnotationTarget.FIELD)
@Retention(AnnotationRetention.SOURCE) @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 public actual annotation class Volatile
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER) @Target(AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER)
@@ -99,7 +99,7 @@ public abstract class AbstractMap<K, out V> protected constructor() : Map<K, V>
return _keys!! return _keys!!
} }
@kotlin.jvm.Volatile @kotlin.concurrent.Volatile
private var _keys: Set<K>? = null private var _keys: Set<K>? = null
@@ -135,7 +135,7 @@ public abstract class AbstractMap<K, out V> protected constructor() : Map<K, V>
return _values!! return _values!!
} }
@kotlin.jvm.Volatile @kotlin.concurrent.Volatile
private var _values: Collection<V>? = null private var _values: Collection<V>? = null
private fun implFindEntry(key: K): Map.Entry<K, V>? = entries.firstOrNull { it.key == key } private fun implFindEntry(key: K): Map.Entry<K, V>? = entries.firstOrNull { it.key == key }