6c989bfd4b
KotlinJvmBinaryClass.AnnotationArrayArgumentVisitor didn't cover the
case when the element type is an Annotation. Therefore, when the
compiler read an array of annotations from JVM binary classes built from
Kotlin sources, it got an empty array regardless of what was written in
the bytecode.
For example, Foo.value below is read as an empty array when SomeClass
resides in another Kotlin module.
@Foo(
value = [Bar(1), Bar(2)]
)
class SomeClass
18 lines
657 B
Plaintext
Vendored
18 lines
657 B
Plaintext
Vendored
package test
|
|
|
|
public final annotation class Anno : kotlin.Annotation {
|
|
/*primary*/ public constructor Anno(/*0*/ value: kotlin.Array<test.Bnno>)
|
|
public final val value: kotlin.Array<test.Bnno>
|
|
public final fun <get-value>(): kotlin.Array<test.Bnno>
|
|
}
|
|
|
|
@test.Anno(value = {test.Bnno(value = "x"), test.Bnno(value = "y")}) public final class AnnotationInArray {
|
|
/*primary*/ public constructor AnnotationInArray()
|
|
}
|
|
|
|
public final annotation class Bnno : kotlin.Annotation {
|
|
/*primary*/ public constructor Bnno(/*0*/ value: kotlin.String)
|
|
public final val value: kotlin.String
|
|
public final fun <get-value>(): kotlin.String
|
|
}
|