3f1533c35b
This was broken in c1ab08c8ce where we started to represent KClassValue
as a ClassId of the referenced class + number of times it's been wrapped
into kotlin.Array. Local classes do not have a sane ClassId, so in this
change we restore the old behavior by representing KClassValue with a
sealed class value instead
#KT-29891 Fixed
26 lines
499 B
Kotlin
Vendored
26 lines
499 B
Kotlin
Vendored
// CLASS_NAME_SUFFIX: A$foo$Local
|
|
|
|
import kotlin.reflect.KClass
|
|
|
|
class A {
|
|
annotation class Ann(val info: String)
|
|
|
|
annotation class Bnn(val klass: KClass<*>)
|
|
|
|
fun foo() {
|
|
@Ann("class")
|
|
class Local {
|
|
@Ann("fun")
|
|
fun foo(): Local = this
|
|
|
|
@field:Ann("val")
|
|
@Bnn(Local::class)
|
|
val x = foo()
|
|
|
|
@Ann("inner")
|
|
@Bnn(Array<Array<out Local>>::class)
|
|
inner class Inner
|
|
}
|
|
}
|
|
}
|