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:
16
compiler/testData/codegen/bytecodeText/boxingOptimization/kClassInAnnotation.kt
vendored
Normal file
16
compiler/testData/codegen/bytecodeText/boxingOptimization/kClassInAnnotation.kt
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
annotation class Ann(val arg: KClass<*>)
|
||||
|
||||
class OK
|
||||
|
||||
@Ann(OK::class) class MyClass
|
||||
|
||||
fun test(): String {
|
||||
val arg = MyClass::class.java.getAnnotation(Ann::class.java).arg.java
|
||||
return arg.getSimpleName()
|
||||
}
|
||||
|
||||
// 0 INVOKESTATIC kotlin/jvm/internal/Reflection\.getOrCreateKotlinClass
|
||||
// 0 INVOKESTATIC kotlin/jvm/JvmClassMappingKt\.getJavaClass
|
||||
Reference in New Issue
Block a user