Files
kotlin-fork/compiler/testData/codegen/box/extensionClasses/constructors.kt
T
2024-01-18 15:48:55 +00:00

33 lines
660 B
Kotlin
Vendored

// !LANGUAGE: +ContextReceivers
// TARGET_BACKEND: JVM_IR
// WITH_STDLIB
class A(val ok: String)
context(A)
class B(oValue: Boolean = true, kValue: Boolean = true) {
var o: Boolean
var k: Boolean
init {
o = oValue
k = kValue
}
constructor(oValue: String, kValue: String) : this(oValue == "O", kValue == "K")
fun result() = if (o && k) ok else "fail"
}
fun box(): String {
val a = A("OK")
with (a) {
val results = listOf(
B(true, true).result(),
B("O", "K").result(),
B().result()
)
return if (results.all { it == "OK" }) "OK" else "fail"
}
}