Files
kotlin-fork/compiler/testData/codegen/box/closures/noRefToOuter.kt
T
Ilya Matveev a5e4e0284e Mute some box tests for native backend
This patch mutes the following test categories:
   * Tests with java dependencies (System class,
     java stdlib, jvm-oriented annotations etc).
   * Coroutines tests.
   * Reflection tests.
   * Tests with an inheritance from the standard
     collections.
2017-03-10 19:59:37 +03:00

23 lines
564 B
Kotlin
Vendored

// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS, NATIVE
// WITH_RUNTIME
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"
}