blob: dc5e57161995e1defb05b7e7e632979d45ec419a [file]
// LANGUAGE: +CompanionBlocks +CompanionExtensions
var initLog = ""
interface I {
companion {
val blockA: String = run { initLog += "A"; "a" }
}
companion object {
val objectB: String = run { initLog += "B"; "b" }
init {
initLog += "I"
}
}
companion {
val blockC: String = run { initLog += "C"; "c" }
}
}
fun box(): String {
if (I.blockA != "a") return "FAIL: blockA"
if (I.objectB != "b") return "FAIL: objectB"
if (I.blockC != "c") return "FAIL: blockC"
if (I.Companion.objectB != "b") return "FAIL: Companion access"
if (initLog != "ABIC") return "FAIL: order: $initLog"
return "OK"
}