Support KClass.qualifiedName in stdlib-only reflection implementation
#KT-34586 Fixed
This commit is contained in:
@@ -14,6 +14,7 @@ fun box(): String {
|
||||
assertEquals(Void::class.java, Void.TYPE.kotlin.javaObjectType)
|
||||
|
||||
assertEquals("Void", Void::class.simpleName)
|
||||
assertEquals("java.lang.Void", Void::class.qualifiedName)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
+26
-11
@@ -1,25 +1,40 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// WITH_REFLECT
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
fun box(): String {
|
||||
assertEquals("kotlin.Any", Any::class.qualifiedName)
|
||||
assertEquals("kotlin.Int", Int::class.qualifiedName)
|
||||
assertEquals("kotlin.Int.Companion", Int.Companion::class.qualifiedName)
|
||||
assertEquals("kotlin.IntArray", IntArray::class.qualifiedName)
|
||||
assertEquals("kotlin.collections.List", List::class.qualifiedName)
|
||||
assertEquals("kotlin.String", String::class.qualifiedName)
|
||||
assertEquals("kotlin.String", java.lang.String::class.qualifiedName)
|
||||
assertEquals("kotlin.CharSequence", CharSequence::class.qualifiedName)
|
||||
assertEquals("kotlin.Number", Number::class.qualifiedName)
|
||||
assertEquals("kotlin.Int", Int::class.qualifiedName)
|
||||
assertEquals("kotlin.Long", Long::class.qualifiedName)
|
||||
|
||||
assertEquals("kotlin.Array", Array<Any>::class.qualifiedName)
|
||||
assertEquals("kotlin.Array", Array<Int>::class.qualifiedName)
|
||||
assertEquals("kotlin.Array", Array<IntArray>::class.qualifiedName)
|
||||
assertEquals("kotlin.Array", Array<Array<String>>::class.qualifiedName)
|
||||
|
||||
assertEquals("java.util.Date", java.util.Date::class.qualifiedName)
|
||||
assertEquals("kotlin.jvm.internal.Ref.ObjectRef", kotlin.jvm.internal.Ref.ObjectRef::class.qualifiedName)
|
||||
assertEquals("java.lang.Void", java.lang.Void::class.qualifiedName)
|
||||
assertEquals("kotlin.IntArray", IntArray::class.qualifiedName)
|
||||
assertEquals("kotlin.DoubleArray", DoubleArray::class.qualifiedName)
|
||||
|
||||
assertEquals("kotlin.Int.Companion", Int.Companion::class.qualifiedName)
|
||||
assertEquals("kotlin.Double.Companion", Double.Companion::class.qualifiedName)
|
||||
assertEquals("kotlin.Char.Companion", Char.Companion::class.qualifiedName)
|
||||
|
||||
assertEquals("kotlin.ranges.IntRange", IntRange::class.qualifiedName)
|
||||
|
||||
assertEquals("kotlin.collections.List", List::class.qualifiedName)
|
||||
assertEquals("kotlin.collections.Map.Entry", Map.Entry::class.qualifiedName)
|
||||
|
||||
// TODO: KT-11754
|
||||
assertEquals("kotlin.collections.List", MutableList::class.qualifiedName)
|
||||
assertEquals("kotlin.collections.Map.Entry", MutableMap.MutableEntry::class.qualifiedName)
|
||||
|
||||
assertEquals("kotlin.Function0", Function0::class.qualifiedName)
|
||||
assertEquals("kotlin.Function1", Function1::class.qualifiedName)
|
||||
assertEquals("kotlin.Function5", Function5::class.qualifiedName)
|
||||
assertEquals("kotlin.jvm.functions.FunctionN", Function42::class.qualifiedName)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user