Reflection: add KType.classifier

#KT-8998 In Progress
This commit is contained in:
Alexander Udalov
2016-07-12 16:09:29 +03:00
parent 2ab0f489b5
commit c1dd831e65
8 changed files with 284 additions and 1 deletions
@@ -27,6 +27,13 @@ val Class<*>.safeClassLoader: ClassLoader
fun Class<*>.isEnumClassOrSpecializedEnumEntryClass(): Boolean =
Enum::class.java.isAssignableFrom(this)
private val WRAPPER_TO_PRIMITIVE = listOf(
Boolean::class, Byte::class, Char::class, Double::class, Float::class, Int::class, Long::class, Short::class
).map { it.javaObjectType to it.javaPrimitiveType }.toMap()
val Class<*>.primitiveByWrapper: Class<*>?
get() = WRAPPER_TO_PRIMITIVE[this]
/**
* NOTE: does not perform a Java -> Kotlin mapping. If this is not expected, consider using KClassImpl#classId instead
*/