mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 00:21:26 +00:00
KT-9670: optimize Class <-> KClass wrapping/unwrapping as a special case of boxing/unboxing.
NB doesn't work for arrays of classes.
This commit is contained in:
20
compiler/testData/codegen/bytecodeText/boxingOptimization/kClassInAnnotationEscaping.kt
vendored
Normal file
20
compiler/testData/codegen/bytecodeText/boxingOptimization/kClassInAnnotationEscaping.kt
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
annotation class Ann(val arg: KClass<*>)
|
||||
|
||||
class OK
|
||||
|
||||
@Ann(OK::class) class MyClass
|
||||
|
||||
var escape: KClass<*>? = null
|
||||
|
||||
fun test1(): String {
|
||||
val arg = MyClass::class.java.getAnnotation(Ann::class.java).arg
|
||||
escape = arg
|
||||
val argSimpleName = arg.java.getSimpleName()
|
||||
return argSimpleName
|
||||
}
|
||||
|
||||
// 1 INVOKESTATIC kotlin/jvm/internal/Reflection\.getOrCreateKotlinClass
|
||||
// 1 INVOKESTATIC kotlin/jvm/JvmClassMappingKt.getJavaClass
|
||||
Reference in New Issue
Block a user