blob: 363f5b1cf34f3e37a55bc45470fdbc9f602ae70d [file]
// LANGUAGE: +CompanionBlocks +CompanionExtensions
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"
}