mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-03-23 00:21:31 +00:00
37 lines
675 B
Kotlin
Vendored
37 lines
675 B
Kotlin
Vendored
// 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"
|
|
}
|