Files
kotlin-fork/compiler/testData/codegen/box/classLiteral/java/java.kt
T
Ivan Kylchik c7435ba760 Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00

63 lines
1.7 KiB
Kotlin
Vendored

// TARGET_BACKEND: JVM
// WITH_STDLIB
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"
}