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.
38 lines
1.0 KiB
Kotlin
Vendored
38 lines
1.0 KiB
Kotlin
Vendored
// WITH_STDLIB
|
|
|
|
import kotlin.reflect.*
|
|
import kotlin.test.assertTrue
|
|
import kotlin.test.assertFalse
|
|
|
|
class A {
|
|
val readonly: String = ""
|
|
var mutable: String = ""
|
|
}
|
|
|
|
val readonly: String = ""
|
|
var mutable: String = ""
|
|
|
|
fun box(): String {
|
|
assertTrue(::readonly is KProperty0<*>)
|
|
assertFalse(::readonly is KMutableProperty0<*>)
|
|
assertFalse(::readonly is KProperty1<*, *>)
|
|
assertFalse(::readonly is KProperty2<*, *, *>)
|
|
|
|
assertTrue(::mutable is KProperty0<*>)
|
|
assertTrue(::mutable is KMutableProperty0<*>)
|
|
assertFalse(::mutable is KProperty1<*, *>)
|
|
assertFalse(::mutable is KProperty2<*, *, *>)
|
|
|
|
assertFalse(A::readonly is KProperty0<*>)
|
|
assertTrue(A::readonly is KProperty1<*, *>)
|
|
assertFalse(A::readonly is KMutableProperty1<*, *>)
|
|
assertFalse(A::readonly is KProperty2<*, *, *>)
|
|
|
|
assertFalse(A::mutable is KProperty0<*>)
|
|
assertTrue(A::mutable is KProperty1<*, *>)
|
|
assertTrue(A::mutable is KMutableProperty1<*, *>)
|
|
assertFalse(A::mutable is KProperty2<*, *, *>)
|
|
|
|
return "OK"
|
|
}
|