Support KClass.qualifiedName in stdlib-only reflection implementation

#KT-34586 Fixed
This commit is contained in:
Alexander Udalov
2019-10-24 19:16:57 +02:00
parent c164745301
commit 5c89f2fa54
10 changed files with 61 additions and 27 deletions
@@ -1,6 +1,5 @@
// TARGET_BACKEND: JVM
// WITH_REFLECT
// WITH_RUNTIME
package test
@@ -8,14 +7,19 @@ import kotlin.test.assertEquals
class Klass {
class Nested
class `Nested$With$Dollars`
companion object
}
fun box(): String {
assertEquals("test.Klass", Klass::class.qualifiedName)
assertEquals("test.Klass.Nested", Klass.Nested::class.qualifiedName)
assertEquals("test.Klass.Nested\$With\$Dollars", Klass.`Nested$With$Dollars`::class.qualifiedName)
assertEquals("test.Klass.Companion", Klass.Companion::class.qualifiedName)
assertEquals("java.util.Date", java.util.Date::class.qualifiedName)
assertEquals("kotlin.jvm.internal.Ref.ObjectRef", kotlin.jvm.internal.Ref.ObjectRef::class.qualifiedName)
class Local
assertEquals(null, Local::class.qualifiedName)