Support Kotlin annotation constructors in reflection

#KT-13106 In Progress
This commit is contained in:
Alexander Udalov
2016-09-14 19:52:57 +03:00
parent fb18e4bf4c
commit aeba124bdb
12 changed files with 344 additions and 14 deletions
@@ -0,0 +1,21 @@
// WITH_REFLECT
import kotlin.reflect.*
import kotlin.test.assertEquals
annotation class A1
annotation class A2(val k: KClass<*>, val s: A1)
fun box(): String {
assertEquals(1, A1::class.constructors.size)
assertEquals(A1::class.primaryConstructor, A1::class.constructors.single())
val cs = A2::class.constructors
assertEquals(1, cs.size)
assertEquals(A2::class.primaryConstructor, cs.single())
val params = cs.single().parameters
assertEquals(listOf("k", "s"), params.map { it.name })
return "OK"
}