Files
kotlin-fork/compiler/testData/codegen/box/sam/kt52417.kt
T
pyos 27c51f5f88 JVM_IR: skip SAM lambdas when computing enclosing method of objects
This is what Java 15+ does, and it permits accessing captured type
parameters via reflection. The alternative is to emit generic signatures
on the lambda methods, but that was disabled and I have no clue why.

^KT-52417 Fixed
2022-06-08 23:59:58 +02:00

19 lines
345 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// WITH_RUNTIME
// WITH_STDLIB
package test
abstract class TypeToken<T>
fun interface I {
fun foo(): String
}
fun <T> foo() =
I {
(object : TypeToken<T>() {})::class.java.genericSuperclass.toString()
}.foo()
fun box(): String =
foo<String>().let { if (it == "test.TypeToken<T>") "OK" else it }