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