blob: f593cde6c3559365fa0f2617f9ba7ad4773f82e5 [file]
// LANGUAGE: +CompanionBlocksAndExtensions
var parentInitialized = false
open class Parent {
companion {
val parentProp1: String = run { parentInitialized = true; "parent1" }
}
}
class Child : Parent() {
companion {
fun hi(): String { return "hi"}
}
}
fun box(): String {
// Accessing a child companion member triggers parent companion initialization, even if child doesn't have static initializers
val c1 = Child.hi()
if (Parent.parentProp1 != "parent1") return "FAIL: parentProp1=${Parent.parentProp1}"
if (!parentInitialized) return "FAIL: parentInitialized=${parentInitialized}"
return "OK"
}