5a284de2d4
regenerate tests add test for EnumEntry's argument declarations add another test regenerate test fix test a bit
86 lines
1.5 KiB
Kotlin
Vendored
86 lines
1.5 KiB
Kotlin
Vendored
// TARGET_BACKEND: JS
|
|
|
|
// MODULE: lib
|
|
// FILE: l.kt
|
|
|
|
fun foo(b: Boolean): String {
|
|
|
|
var result = ""
|
|
|
|
if (b) {
|
|
|
|
open class L1() {
|
|
open fun foo(): String {
|
|
return "B"
|
|
}
|
|
|
|
fun test1(): String {
|
|
open class L2 : L1() {
|
|
|
|
fun test2(): String {
|
|
class L3: L2() {
|
|
override fun foo(): String = "O"
|
|
}
|
|
|
|
return foo() + L3().foo()
|
|
}
|
|
|
|
|
|
}
|
|
return foo() + L2().test2()
|
|
}
|
|
|
|
}
|
|
|
|
|
|
result += L1().test1()
|
|
|
|
return result
|
|
|
|
} else {
|
|
open class L1() {
|
|
open fun bar(): Int {
|
|
return 42
|
|
}
|
|
|
|
fun test1(): String {
|
|
open class L2 : L1() {
|
|
|
|
fun test2(): String {
|
|
class L3: L2() {
|
|
override fun bar(): Int = 71
|
|
}
|
|
|
|
return "" + bar() + "" + L3().bar()
|
|
}
|
|
|
|
|
|
}
|
|
return "" + bar() + L2().test2()
|
|
}
|
|
|
|
}
|
|
|
|
|
|
result += L1().test1()
|
|
}
|
|
|
|
|
|
return result
|
|
}
|
|
|
|
// MODULE: main(lib)
|
|
// FILE: main.kt
|
|
|
|
|
|
|
|
fun box(): String {
|
|
val r1 = foo(true)
|
|
|
|
if (r1 != "BBO") return "FAIL1: $r1"
|
|
|
|
val r2 = foo(false)
|
|
if (r2 != "424271") return "FAIL2: $r2"
|
|
|
|
return "OK"
|
|
} |