Add 'val KClass.declaredProperties', make getProperties a property

This commit is contained in:
Alexander Udalov
2015-03-16 16:14:32 +03:00
parent 4a61f2751c
commit d3abd54b06
14 changed files with 107 additions and 48 deletions
@@ -1,4 +1,5 @@
import kotlin.reflect.jvm.*
import kotlin.reflect.*
import kotlin.test.*
open class Super(val r: String)
@@ -6,7 +7,10 @@ open class Super(val r: String)
class Sub(r: String) : Super(r)
fun box(): String {
val props = javaClass<Sub>().kotlin.getProperties()
assertEquals(listOf("r"), props.map { it.name })
return props.single().get(Sub("OK")).toString()
val props = javaClass<Sub>().kotlin.declaredProperties
if (!props.isEmpty()) return "Fail $props"
val allProps = javaClass<Sub>().kotlin.properties
assertEquals(listOf("r"), allProps.map { it.name })
return allProps.single().get(Sub("OK")) as String
}