Files
kotlin-fork/compiler/testData/codegen/box/jvmField/checkNoAccessors.kt
T
Jinseong Jeon dc2226b42f FIR2IR: put @JvmField on field, not property
#KT-42118 fixed
2020-09-25 14:45:48 +03:00

40 lines
784 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// WITH_RUNTIME
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}'"
)
}
}