blob: e3c3e91e9e549c291b887b14f75255c7e72d6b7e [file]
// LANGUAGE: +CompanionBlocks +CompanionExtensions
interface InterfaceWithBackingField {
companion {
val interfaceVal = "InterfaceVal"
}
}
companion fun InterfaceWithBackingField.extFun() = InterfaceWithBackingField.interfaceVal + "ExtFun"
class ImplWithBackingField : InterfaceWithBackingField {
fun useInterfaceCompanion() = InterfaceWithBackingField.interfaceVal
}
fun box(): String {
if (InterfaceWithBackingField.interfaceVal != "InterfaceVal") {
return "FAIL: interfaceVal=${InterfaceWithBackingField.interfaceVal}"
}
if (InterfaceWithBackingField.extFun() != "InterfaceValExtFun") {
return "FAIL: extFun=${InterfaceWithBackingField.extFun()}"
}
val impl = ImplWithBackingField()
if (impl.useInterfaceCompanion() != "InterfaceVal") {
return "FAIL: useInterfaceCompanion=${impl.useInterfaceCompanion()}"
}
return "OK"
}