cd9209a7ee
Most of these tests check the specific structure of lambdas when they are generated as classes, and they start to fail once invokedynamic lambdas are enabled by default.
22 lines
500 B
Kotlin
Vendored
22 lines
500 B
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
// LAMBDAS: CLASS
|
|
// WITH_STDLIB
|
|
|
|
class A {
|
|
fun f(): () -> String {
|
|
val s = "OK"
|
|
return { -> s }
|
|
}
|
|
}
|
|
|
|
fun box(): String {
|
|
val lambdaClass = A().f().javaClass
|
|
val fields = lambdaClass.getDeclaredFields().toList()
|
|
if (fields.size != 1) return "Fail: lambda should only capture 's': $fields"
|
|
|
|
val fieldName = fields[0].getName()
|
|
if (fieldName != "\$s") return "Fail: captured variable should be named '\$s': $fields"
|
|
|
|
return "OK"
|
|
}
|