// RUN_PIPELINE_TILL: FRONTEND
// FULL_JDK
// WITH_STDLIB

// FILE: KotlinClass.kt

@file:OptIn(kotlin.concurrent.atomics.ExperimentalAtomicApi::class)

import kotlin.concurrent.atomics.AtomicReference

open class KotlinClass {
    open fun foo(a: AtomicReference<Int>) { }
}

// FILE: JavaClass.java
import java.util.concurrent.atomic.AtomicReference;

public class JavaClass extends KotlinClass {
    @Override
    public void foo(AtomicReference a) { }
}

// FILE: test.kt

@file:OptIn(kotlin.concurrent.atomics.ExperimentalAtomicApi::class)

import kotlin.concurrent.atomics.AtomicReference

fun usage(a: JavaClass) {
    a.foo(java.util.concurrent.atomic.AtomicReference(""))
    a.foo(<!ARGUMENT_TYPE_MISMATCH!>AtomicReference(1)<!>)
}

/* GENERATED_FIR_TAGS: annotationUseSiteTargetFile, classDeclaration, classReference, flexibleType, functionDeclaration,
integerLiteral, javaFunction, javaType, stringLiteral */
