5a284de2d4
regenerate tests add test for EnumEntry's argument declarations add another test regenerate test fix test a bit
66 lines
1.3 KiB
Kotlin
Vendored
66 lines
1.3 KiB
Kotlin
Vendored
// TARGET_BACKEND: JS
|
|
|
|
// MODULE: lib
|
|
// FILE: l.kt
|
|
|
|
fun foo(b: Boolean): String {
|
|
|
|
var result = ""
|
|
|
|
if (b) {
|
|
|
|
class L1(private val v: String) {
|
|
open fun foo(
|
|
block: () -> String = {
|
|
class L2 {
|
|
fun foo(
|
|
block2: () -> String = { "A" }
|
|
): String = block2()
|
|
}
|
|
L2().foo()
|
|
}
|
|
): String {
|
|
return block() + v
|
|
}
|
|
}
|
|
|
|
result += L1("B").foo()
|
|
|
|
} else {
|
|
|
|
class L1(private val v: Int) {
|
|
open fun foo(
|
|
block: () -> String = {
|
|
class L2 {
|
|
fun foo(
|
|
block2: () -> Int = { 42 }
|
|
): String = "" + block2()
|
|
}
|
|
L2().foo()
|
|
}
|
|
): String {
|
|
return block() + v
|
|
}
|
|
}
|
|
|
|
result += L1(71).foo()
|
|
}
|
|
|
|
|
|
return result
|
|
}
|
|
|
|
// MODULE: main(lib)
|
|
// FILE: main.kt
|
|
|
|
|
|
fun box(): String {
|
|
val r1 = foo(true)
|
|
|
|
if (r1 != "AB") return "FAIL1: $r1"
|
|
|
|
val r2 = foo(false)
|
|
if (r2 != "4271") return "FAIL2: $r2"
|
|
|
|
return "OK"
|
|
} |