// FIR_IDENTICAL // !DIAGNOSTICS: -UNUSED_ANONYMOUS_PARAMETER // !LANGUAGE: +MultiPlatformProjects // MODULE: common // FILE: common.kt // TARGET_PLATFORM: Common import kotlin.concurrent.Volatile import kotlin.properties.Delegates class ConcurrentVolatile { @Volatile val x = 0 // ok @Volatile var y = 1 @delegate:Volatile var z: String by Delegates.observable("?") { prop, old, new -> old.hashCode() } @field:Volatile val w = 2 @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 class ConcurrentVolatileOnJvm { @Volatile val x = 0 // ok @Volatile var y = 1 @delegate:Volatile var z: String by Delegates.observable("?") { prop, old, new -> old.hashCode() } @field:Volatile val w = 2 @Volatile var noBacking: String get() = "" set(value) {} } class JvmVolatile { @JvmVolatile val x = 0 // ok @JvmVolatile var y = 1 @delegate:JvmVolatile var z: String by Delegates.observable("?") { prop, old, new -> old.hashCode() } @field:JvmVolatile val w = 2 @JvmVolatile var noBacking: String get() = "" set(value) {} }