29 lines
941 B
Kotlin
Vendored
29 lines
941 B
Kotlin
Vendored
// TARGET_BACKEND: JVM_IR
|
|
// WITH_REFLECT
|
|
|
|
annotation class A(vararg val strings: String)
|
|
|
|
@A(*arrayOf("foo", "bar"), "baz")
|
|
class B
|
|
|
|
@A("baz", *arrayOf("foo", "bar"), "xyz")
|
|
class C
|
|
|
|
@A(*arrayOf("foo", "bar", "xyz"))
|
|
class D
|
|
|
|
@A("foo", "baz", "bar")
|
|
class E
|
|
|
|
@A(*arrayOf("foo", "bar"), *arrayOf("baz", "xyz"))
|
|
class F
|
|
|
|
fun box(): String {
|
|
assert((B::class.annotations.single() as A).strings.contentEquals(arrayOf("foo", "bar", "baz"))) { "Fail1" }
|
|
assert((C::class.annotations.single() as A).strings.contentEquals(arrayOf("baz", "foo", "bar", "xyz"))) { "Fail 2" }
|
|
assert((D::class.annotations.single() as A).strings.contentEquals(arrayOf("foo", "bar", "xyz"))) { "Fail 3" }
|
|
assert((E::class.annotations.single() as A).strings.contentEquals(arrayOf("foo", "baz", "bar"))) { "Fail 4" }
|
|
assert((F::class.annotations.single() as A).strings.contentEquals(arrayOf("foo", "bar", "baz", "xyz"))) { "Fail 5" }
|
|
return "OK"
|
|
}
|