Files
kotlin/compiler/testData/codegen/boxWithStdlib/reflection/noKotlinReflect/javaClass.kt
Alexander Udalov 8d9618348d Move .java and .kotlin extension properties to kotlin.jvm
Delete the old ones in package kotlin.reflect.jvm because otherwise the code
using those functions will become red in a lot less meaningful way (overload
resolution ambiguity) than if they're deleted (unresolved import)

Based on the work originally done by @dnpetrov

 #KT-8380 Fixed
2015-08-27 08:19:50 +03:00

34 lines
894 B
Kotlin
Vendored

// NO_KOTLIN_REFLECT
import kotlin.test.*
class Klass
fun box(): String {
val kClass = Klass::class
val jClass = kClass.java
val kjClass = Klass::class.java
val kkClass = jClass.kotlin
val jjClass = kkClass.java
assertEquals("Klass", jClass.getSimpleName())
assertEquals("Klass", kjClass.getSimpleName())
assertEquals("Klass", kkClass.simpleName)
assertEquals(kjClass, jjClass)
failsWith(Error::class.java) { kClass.simpleName!! }
failsWith(Error::class.java) { kClass.qualifiedName!! }
failsWith(Error::class.java) { kClass.members }
val jlError = Error::class.java
val kljError = Error::class
val jljError = kljError.java
val jlkError = jlError.kotlin
assertEquals("Error", jlError.getSimpleName())
assertEquals("Error", jljError.getSimpleName())
assertEquals("Error", jlkError.simpleName)
return "OK"
}