Files
kotlin-fork/js/js.translator/testData/box/expression/cast/castExtensionToKMutableProperty.kt
T
2020-03-03 18:54:36 +03:00

22 lines
611 B
Kotlin
Vendored

// EXPECTED_REACHABLE_NODES: 1291
package foo
import kotlin.reflect.KProperty1
import kotlin.reflect.KMutableProperty1
class A
var A.x: Int
get() = 23
set(value) { }
fun box(): String {
assertEquals(true, (A::x as Any) is KProperty1<*, *>)
assertEquals(true, (A::x as Any) is KMutableProperty1<*, *>)
assertEquals(23, ((A::x as Any) as KProperty1<A, Any>)(A()))
assertEquals(23, ((A::x as Any) as KMutableProperty1<A, Any>)(A()))
assertEquals(false, (23 as Any) is KMutableProperty1<*, *>)
assertEquals(false, ({ A().x } as Any) is KMutableProperty1<*, *>)
return "OK"
}