9476175cc2
Initially I tried adding `mapping` field to `FirArgumentList` but it seems to be very difficult to make it flexible enough to do what I want. So instead, I am creating a `FirPartialResolvedArgumentList`, which seems to be very simple.
24 lines
756 B
Kotlin
Vendored
24 lines
756 B
Kotlin
Vendored
@Retention(AnnotationRetention.RUNTIME)
|
|
annotation class Anno(vararg val x: String, val y: String)
|
|
|
|
@Anno(x = [["a", "b"], ["a", "b"]], y = "a")
|
|
fun foo1() {}
|
|
|
|
@Anno(x = ["a", "b"], y = "a")
|
|
fun foo2() {}
|
|
|
|
<!INAPPLICABLE_CANDIDATE!>@Anno(x = <!NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION!>arrayOf(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>arrayOf("a")<!>, <!ANNOTATION_ARGUMENT_MUST_BE_CONST!>arrayOf("b")<!>)<!>, y = "a")<!>
|
|
fun foo3() {}
|
|
|
|
@Anno(x = arrayOf("a", "b"), y = "a")
|
|
fun foo4() {}
|
|
|
|
@Retention(AnnotationRetention.RUNTIME)
|
|
annotation class Anno1(val x: Array<in String>, val y: String)
|
|
|
|
@Retention(AnnotationRetention.RUNTIME)
|
|
annotation class Anno2(vararg val x: String, val y: String)
|
|
|
|
@Anno1(x = ["", Anno2(x = [""], y = "")], y = "")
|
|
fun foo5() {}
|