8f0885ca03
To better emphasize the fact that all returned properties require an instance of the class they are declared in. Another issue was that 'Some::class.extensionProperties' was sometimes incorrectly perceived as "get all extension properties available on the class Some"
17 lines
445 B
Kotlin
Vendored
17 lines
445 B
Kotlin
Vendored
import kotlin.reflect.jvm.*
|
|
import kotlin.reflect.*
|
|
import kotlin.test.*
|
|
|
|
open class Super(val r: String)
|
|
|
|
class Sub(r: String) : Super(r)
|
|
|
|
fun box(): String {
|
|
val props = javaClass<Sub>().kotlin.declaredMemberProperties
|
|
if (!props.isEmpty()) return "Fail $props"
|
|
|
|
val allProps = javaClass<Sub>().kotlin.memberProperties
|
|
assertEquals(listOf("r"), allProps.map { it.name })
|
|
return allProps.single().get(Sub("OK")) as String
|
|
}
|