| // TARGET_BACKEND: JVM | |
| // FILE: CompanionInitialization.java | |
| public class CompanionInitialization { | |
| public static Object getCompanion() { | |
| return ConcreteWithStatic.Companion; | |
| } | |
| } | |
| // FILE: CompanionInitialization.kt | |
| interface IStatic | |
| open class Static(x: IStatic) { | |
| fun doSth() { | |
| } | |
| } | |
| class ConcreteWithStatic : IStatic { | |
| companion object : Static(ConcreteWithStatic()) | |
| } | |
| fun box(): String { | |
| ConcreteWithStatic.doSth() | |
| val companion: Any? = CompanionInitialization.getCompanion() | |
| if (companion == null) return "fail 1" | |
| if (companion != ConcreteWithStatic) return "fail 2" | |
| return "OK" | |
| } |