Files
kotlin-fork/compiler/testData/codegen/box/jvmField/checkNoAccessors.kt
T
Ivan Kylchik c7435ba760 Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00

40 lines
783 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// WITH_STDLIB
import kotlin.test.assertFalse
@JvmField public val field = "OK";
class A {
@JvmField public val field = "OK";
companion object {
@JvmField public val cfield = "OK";
}
}
object Object {
@JvmField public val field = "OK";
}
fun box(): String {
var result = A().field
checkNoAccessors(A::class.java)
checkNoAccessors(A.Companion::class.java)
checkNoAccessors(Object::class.java)
checkNoAccessors(Class.forName("CheckNoAccessorsKt"))
return "OK"
}
public fun checkNoAccessors(clazz: Class<*>) {
clazz.declaredMethods.forEach {
assertFalse(it.name.startsWith("get") || it.name.startsWith("set"),
"Class ${clazz.name} has accessor '${it.name}'"
)
}
}