f033d3d5b7
by rewriting IR codegen (https://github.com/JetBrains/kotlin/pull/3986/files#diff-9fe05d2f7c421d566cd1294a191d5a2e8f6e6f7a5f6b638542b79369caf91d4eR454)
38 lines
585 B
Kotlin
Vendored
38 lines
585 B
Kotlin
Vendored
// IGNORE_BACKEND_FIR: JVM_IR
|
|
// IGNORE_BACKEND: JVM
|
|
// IGNORE_BACKEND: NATIVE
|
|
// IGNORE_BACKEND: WASM
|
|
// IGNORE_BACKEND_MULTI_MODULE: JVM, JVM_MULTI_MODULE_IR_AGAINST_OLD
|
|
|
|
// (supported: JVM_IR, JS_IR(_E6))
|
|
|
|
// WITH_RUNTIME
|
|
// !LANGUAGE: +InstantiationOfAnnotationClasses
|
|
|
|
// FILE: 1.kt
|
|
|
|
package a
|
|
|
|
annotation class A(val i: String)
|
|
|
|
interface I {
|
|
fun g(): A
|
|
}
|
|
|
|
inline fun foo(i: String): I = object : I {
|
|
override fun g(): A {
|
|
return A(i)
|
|
}
|
|
}
|
|
|
|
// FILE: 2.kt
|
|
|
|
import a.*
|
|
|
|
class C() {
|
|
fun one(): A = foo("OK").g()
|
|
}
|
|
|
|
fun box(): String {
|
|
return C().one().i
|
|
} |