Files
kotlin-fork/compiler/testData/codegen/box/jvmStatic/interfaceCompanion.kt
T
2020-05-08 17:30:19 +03:00

55 lines
912 B
Kotlin
Vendored

// !LANGUAGE: +JvmStaticInInterface
// JVM_TARGET: 1.8
// TARGET_BACKEND: JVM
// WITH_RUNTIME
// FILE: Test.java
class Test {
public static String test1() {
return A.test1();
}
public static String test2() {
return A.test2();
}
public static String test3() {
return A.test3("JAVA");
}
public static String test4() {
return A.getC();
}
}
// FILE: simpleCompanionObject.kt
interface A {
companion object {
val b: String = "OK"
@JvmStatic val c: String = "OK"
@JvmStatic fun test1() = b
@JvmStatic fun test2() = b
@JvmStatic fun String.test3() = this + b
}
}
fun box(): String {
if (Test.test1() != "OK") return "fail 1"
if (Test.test2() != "OK") return "fail 2"
if (Test.test3() != "JAVAOK") return "fail 3"
if (Test.test4() != "OK") return "fail 4"
return "OK"
}