blob: 72b98c798a9f7322f2e80964c431feab1e5f2352 [file]
// RUN_PIPELINE_TILL: BACKEND
// ISSUE: KT-73508
// FULL_JDK
// DIAGNOSTICS: -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE
// FILE: J.kt
import java.util.concurrent.atomic.AtomicReference
fun testJava() {
val j = AtomicReference<Int>(127)
j.compareAndSet(127, 128) // true
j.compareAndSet(128, 7777) // false
val jj: AtomicReference<Int>
jj = j
}
typealias JavaAtomicReference<T> = AtomicReference<T>
fun testTypealiasedJava() {
val j = JavaAtomicReference<Int>(127)
j.compareAndSet(127, 128) // true
j.compareAndSet(128, 7777) // false
val jj: JavaAtomicReference<Int>
jj = j
}
// FILE: K.kt
@file:OptIn(kotlin.concurrent.atomics.ExperimentalAtomicApi::class)
import kotlin.concurrent.atomics.AtomicReference
fun testKotlin() {
val k = AtomicReference<Int>(127)
k.compareAndSet(127, 128) // true
k.compareAndSet(128, 7777) // false
val kk: AtomicReference<Int>
kk = k
}
typealias KotlinAtomicReference<T> = AtomicReference<T>
fun testTypealiasedKotlin() {
val k = KotlinAtomicReference<Int>(127)
k.compareAndSet(127, 128) // true
k.compareAndSet(128, 7777) // false
val kk: KotlinAtomicReference<Int>
kk = k
}
/* GENERATED_FIR_TAGS: annotationUseSiteTargetFile, assignment, classReference, flexibleType, functionDeclaration,
integerLiteral, javaFunction, localProperty, nullableType, propertyDeclaration, typeAliasDeclaration,
typeAliasDeclarationWithTypeParameter, typeParameter */