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.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()
}
+2
View File
@@ -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()
}
@@ -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()
/**
@@ -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)
@@ -99,7 +99,7 @@ public abstract class AbstractMap<K, out V> protected constructor() : Map<K, V>
return _keys!!
}
@kotlin.jvm.Volatile
@kotlin.concurrent.Volatile
private var _keys: Set<K>? = null
@@ -135,7 +135,7 @@ public abstract class AbstractMap<K, out V> protected constructor() : Map<K, V>
return _values!!
}
@kotlin.jvm.Volatile
@kotlin.concurrent.Volatile
private var _values: Collection<V>? = null
private fun implFindEntry(key: K): Map.Entry<K, V>? = entries.firstOrNull { it.key == key }