[K1] Make Volatile diagnostics applicable to kotlin.concurrent.Volatile
#KT-55628
This commit is contained in:
committed by
Space Team
parent
e93628d0e6
commit
91adb88eff
@@ -1,12 +1,38 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_ANONYMOUS_PARAMETER
|
||||
// !API_VERSION: 1.9
|
||||
import kotlin.jvm.Volatile as JvmVolatile
|
||||
// !LANGUAGE: +MultiPlatformProjects
|
||||
|
||||
// MODULE: common
|
||||
// FILE: common.kt
|
||||
// TARGET_PLATFORM: Common
|
||||
import kotlin.concurrent.Volatile
|
||||
import kotlin.properties.Delegates
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
class ConcurrentVolatile {
|
||||
<!VOLATILE_ON_VALUE, VOLATILE_ON_VALUE{JVM}!>@Volatile<!> val x = 0
|
||||
// ok
|
||||
@Volatile var y = 1
|
||||
|
||||
<!VOLATILE_ON_DELEGATE, VOLATILE_ON_DELEGATE{JVM}!>@delegate:Volatile<!> var z: String by Delegates.observable("?") { prop, old, new -> old.hashCode() }
|
||||
|
||||
<!VOLATILE_ON_VALUE, VOLATILE_ON_VALUE{JVM}!>@field:Volatile<!> val w = 2
|
||||
|
||||
<!WRONG_ANNOTATION_TARGET, WRONG_ANNOTATION_TARGET{JVM}!>@Volatile<!>
|
||||
var noBacking: String
|
||||
get() = ""
|
||||
set(value) {}
|
||||
}
|
||||
|
||||
// MODULE: jvm
|
||||
// FILE: jvm.kt
|
||||
// TARGET_PLATFORM: JVM
|
||||
import kotlin.jvm.Volatile as JvmVolatile
|
||||
import kotlin.concurrent.Volatile
|
||||
import kotlin.properties.Delegates
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
class ConcurrentVolatileOnJvm {
|
||||
<!VOLATILE_ON_VALUE!>@Volatile<!> val x = 0
|
||||
// ok
|
||||
@Volatile var y = 1
|
||||
|
||||
Reference in New Issue
Block a user