c7435ba760
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.
33 lines
629 B
Kotlin
Vendored
33 lines
629 B
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
|
|
// WITH_STDLIB
|
|
|
|
class ThingTemplate {
|
|
val prop = 0
|
|
}
|
|
|
|
class ThingVal(template: ThingTemplate) {
|
|
val prop = template.prop
|
|
}
|
|
|
|
class ThingVar(template: ThingTemplate) {
|
|
var prop = template.prop
|
|
}
|
|
|
|
|
|
fun box() : String {
|
|
val template = ThingTemplate();
|
|
val javaClass = ThingTemplate::class.java
|
|
val field = javaClass.getDeclaredField("prop")!!
|
|
field.isAccessible = true
|
|
field.set(template, 1)
|
|
|
|
val thingVal = ThingVal(template)
|
|
if (thingVal.prop != 1) return "fail 1"
|
|
|
|
val thingVar = ThingVar(template)
|
|
if (thingVar.prop != 1) return "fail 2"
|
|
|
|
return "OK"
|
|
}
|