mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-16 08:31:35 +00:00
Introduce KClass<T>.javaPrimitiveType and KClass<T>.javaObjectType
#KT-6319 Fixed
This commit is contained in:
58
compiler/testData/codegen/boxWithStdlib/reflection/javaProperties/java.kt
vendored
Normal file
58
compiler/testData/codegen/boxWithStdlib/reflection/javaProperties/java.kt
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
fun checkPrimitive(clazz: Class<*>, expected: String) {
|
||||
assert (clazz!!.canonicalName == expected) {
|
||||
"clazz name: ${clazz.canonicalName}"
|
||||
}
|
||||
}
|
||||
|
||||
fun checkPrimitive(kClass: KClass<*>, expected: String) {
|
||||
checkPrimitive(kClass.java, expected)
|
||||
}
|
||||
|
||||
fun checkObject(clazz: Class<*>, expected: String) {
|
||||
assert (clazz.canonicalName == "$expected") {
|
||||
"clazz should be object, but found: ${clazz!!.canonicalName}"
|
||||
}
|
||||
}
|
||||
|
||||
fun checkObject(kClass: KClass<*>, expected: String) {
|
||||
checkObject(kClass.java, expected)
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
checkPrimitive(Boolean::class.java, "boolean")
|
||||
checkPrimitive(Boolean::class, "boolean")
|
||||
|
||||
checkPrimitive(Char::class.java, "char")
|
||||
checkPrimitive(Char::class, "char")
|
||||
|
||||
checkPrimitive(Byte::class.java, "byte")
|
||||
checkPrimitive(Byte::class, "byte")
|
||||
|
||||
checkPrimitive(Short::class.java, "short")
|
||||
checkPrimitive(Short::class, "short")
|
||||
|
||||
checkPrimitive(Int::class.java, "int")
|
||||
checkPrimitive(Int::class, "int")
|
||||
|
||||
checkPrimitive(Float::class.java, "float")
|
||||
checkPrimitive(Float::class, "float")
|
||||
|
||||
checkPrimitive(Long::class.java, "long")
|
||||
checkPrimitive(Long::class, "long")
|
||||
|
||||
checkPrimitive(Double::class.java, "double")
|
||||
checkPrimitive(Double::class, "double")
|
||||
|
||||
checkObject(String::class.java, "java.lang.String")
|
||||
checkObject(String::class, "java.lang.String")
|
||||
|
||||
checkObject(Nothing::class.java, "java.lang.Void")
|
||||
checkObject(Nothing::class, "java.lang.Void")
|
||||
|
||||
checkObject(java.lang.Void::class.java, "java.lang.Void")
|
||||
checkObject(java.lang.Void::class, "java.lang.Void")
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user