blob: b742bb6b4a4df75abffb1def4762abf2162f4b13 [file]
// RUN_PIPELINE_TILL: BACKEND
// ISSUE: KT-73508
// FULL_JDK
// DIAGNOSTICS: -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE
// RENDER_DIAGNOSTICS_FULL_TEXT
// FILE: J.kt
import java.util.concurrent.atomic.AtomicReferenceArray
import java.util.concurrent.atomic.AtomicReference
fun testJavaReference() {
val ji = AtomicReference<Int>(1)
val jji: AtomicReference<Int>
jji = ji
<!ATOMIC_REF_WITHOUT_CONSISTENT_IDENTITY!>ji.compareAndSet(1, 2)<!>
val jl = AtomicReference<Long>(1L)
val jjl: AtomicReference<Long>
jjl = jl
<!ATOMIC_REF_WITHOUT_CONSISTENT_IDENTITY!>jl.compareAndSet(1L, 2L)<!>
val jb = AtomicReference<Char>('c')
val jjb: AtomicReference<Char>
jjb = jb
<!ATOMIC_REF_WITHOUT_CONSISTENT_IDENTITY!>jb.compareAndSet('c', 'd')<!>
}
fun testJavaArray() {
val ji = AtomicReferenceArray<Int>(1)
val jji: AtomicReferenceArray<Int>
jji = ji
<!ATOMIC_REF_WITHOUT_CONSISTENT_IDENTITY!>ji.compareAndSet(0, 1, 2)<!>
val jl = AtomicReferenceArray<Long>(1)
val jjl: AtomicReferenceArray<Long>
jjl = jl
<!ATOMIC_REF_WITHOUT_CONSISTENT_IDENTITY!>jl.compareAndSet(0, 1L, 2L)<!>
val jb = AtomicReferenceArray<Boolean>(1)
val jjb: AtomicReferenceArray<Boolean>
jjb = jb
<!ATOMIC_REF_WITHOUT_CONSISTENT_IDENTITY!>jb.compareAndSet(0, true, false)<!>
}
// FILE: K.kt
@file:OptIn(kotlin.concurrent.atomics.ExperimentalAtomicApi::class)
import kotlin.concurrent.atomics.AtomicReference
import kotlin.concurrent.atomics.AtomicArray
fun testKotlinReference() {
val ki = AtomicReference(127)
val kki: AtomicReference<Int>
kki = ki
<!ATOMIC_REF_WITHOUT_CONSISTENT_IDENTITY!>ki.compareAndSet(127, 2)<!>
val kl = AtomicReference(127L)
val kkl: AtomicReference<Long>
kkl = kl
<!ATOMIC_REF_WITHOUT_CONSISTENT_IDENTITY!>kl.compareAndSet(127L, 2L)<!>
val kb = AtomicReference(false)
val kkb: AtomicReference<Boolean>
kkb = kb
<!ATOMIC_REF_WITHOUT_CONSISTENT_IDENTITY!>kb.compareAndSet(false, true)<!>
}
fun testKotlinArray() {
val ki = AtomicArray(arrayOf(127))
val kki: AtomicArray<Int>
kki = ki
<!ATOMIC_REF_WITHOUT_CONSISTENT_IDENTITY!>ki.compareAndSetAt(0, 127, 2)<!>
val kl = AtomicArray(arrayOf(127L))
val kkl: AtomicArray<Long>
kkl = kl
<!ATOMIC_REF_WITHOUT_CONSISTENT_IDENTITY!>kl.compareAndSetAt(0, 127L, 2L)<!>
val kb = AtomicArray(arrayOf(false))
val kkb: AtomicArray<Boolean>
kkb = kb
<!ATOMIC_REF_WITHOUT_CONSISTENT_IDENTITY!>kb.compareAndSetAt(0, false, true)<!>
}
/* GENERATED_FIR_TAGS: annotationUseSiteTargetFile, assignment, classReference, flexibleType, functionDeclaration,
integerLiteral, javaFunction, localProperty, propertyDeclaration */