Files
kotlin-fork/backend.native/tests/external/codegen/blackbox/secondaryConstructors/delegateWithComplexExpression.kt
T
Ilya Matveev 1b553ebfaf backend/tests: Add blackbox tests from Kotlin JVM
Added tests from testData/codegen/box directory. There are blackbox tests
in other directories and they are to be added.
2017-01-20 14:04:04 +03:00

46 lines
832 B
Kotlin

var log = ""
open class Base(val s: String)
class A(s: String) : Base(s) {
constructor(i: Int) : this("O" + if (i == 23) {
log += "logged1;"
"K"
}
else {
"fail"
})
constructor(i: Long) : this(if (i == 23L) {
log += "logged2;"
23
}
else {
42
})
}
class B : Base {
constructor(i: Int) : super("O" + if (i == 23) {
log += "logged3;"
"K"
}
else {
"fail"
})
}
fun box(): String {
var result = A(23).s
if (result != "OK") return "fail1: $result"
result = A(23L).s
if (result != "OK") return "fail2: $result"
result = B(23).s
if (result != "OK") return "fail3: $result"
if (log != "logged1;logged2;logged1;logged3;") return "fail log: $log"
return "OK"
}