Files
kotlin/compiler/testData/codegen/boxWithJava/properties/companionObjectProperties.kt
Alexander Udalov daab3db062 Add WITH_RUNTIME and WITH_REFLECT directives to box tests
Currently all tests in boxWithStdlib/ run with both runtime and reflection
included; eventually they'll be merged into box/ using these directives
2016-03-03 16:11:21 +03:00

51 lines
1.0 KiB
Kotlin
Vendored

// WITH_RUNTIME
// FILE: Test.java
class Test {
String test() {
String s;
s = Klass.NAME;
if (!s.equals("Klass")) throw new AssertionError("Fail class: " + s);
s = Klass.JVM_NAME;
if (!s.equals("JvmKlass")) throw new AssertionError("Fail jvm class: " + s);
s = Trait.NAME;
if (!s.equals("Trait")) throw new AssertionError("Fail interface: " + s);
s = Enoom.NAME;
if (!s.equals("Enum")) throw new AssertionError("Fail enum: " + s);
s = Enoom.JVM_NAME;
if (!s.equals("JvmEnum")) throw new AssertionError("Fail jvm enum: " + s);
return "OK";
}
}
// FILE: test.kt
class Klass {
companion object {
const val NAME = "Klass"
@JvmField val JVM_NAME = "JvmKlass"
}
}
interface Trait {
companion object {
const val NAME = "Trait"
}
}
enum class Enoom {
;
companion object {
const val NAME = "Enum"
@JvmField val JVM_NAME = "JvmEnum"
}
}
fun box() = Test().test()