[FIR] Support several annotation argument diagnostics
This commit is contained in:
committed by
Mikhail Glukhikh
parent
0c13d3197c
commit
cfc1ebb4be
+4
-4
@@ -2,10 +2,10 @@
|
||||
@Repeatable
|
||||
annotation class Ann(val i: IntArray)
|
||||
|
||||
@Ann(intArrayOf(i))
|
||||
@Ann(<!NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION!>intArrayOf(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>i<!>)<!>)
|
||||
@Ann(intArrayOf(i2))
|
||||
@Ann(intArrayOf(i3))
|
||||
@Ann(intArrayOf(i, i2, i3))
|
||||
@Ann(<!NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION!>intArrayOf(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>i3<!>)<!>)
|
||||
@Ann(<!NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION!>intArrayOf(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>i<!>, i2, <!ANNOTATION_ARGUMENT_MUST_BE_CONST!>i3<!>)<!>)
|
||||
@Ann(<!INAPPLICABLE_CANDIDATE!>intArrayOf<!>(intArrayOf(i, i2, i3)))
|
||||
class Test
|
||||
|
||||
@@ -19,6 +19,6 @@ fun foo(): Int = 1
|
||||
@Repeatable
|
||||
annotation class AnnAnn(val i: Array<Ann>)
|
||||
@AnnAnn(arrayOf(Ann(intArrayOf(1))))
|
||||
@AnnAnn(arrayOf(iAnn))
|
||||
@AnnAnn(<!NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION!>arrayOf(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>iAnn<!>)<!>)
|
||||
class TestAnn
|
||||
val iAnn = Ann(intArrayOf(1))
|
||||
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
@Retention(AnnotationRetention.SOURCE)
|
||||
@Repeatable
|
||||
annotation class Ann(val i: Int)
|
||||
annotation class AnnIA(val ia: IntArray)
|
||||
annotation class AnnSA(val sa: Array<String>)
|
||||
|
||||
@Ann(MyClass().i)
|
||||
@Ann(i)
|
||||
@Ann(i2)
|
||||
@AnnIA(ia)
|
||||
@AnnSA(sa)
|
||||
class Test {
|
||||
val i = 1
|
||||
@Ann(i) val i2 = 1
|
||||
}
|
||||
|
||||
var i = 1
|
||||
val i2 = foo()
|
||||
|
||||
fun foo(): Int = 1
|
||||
|
||||
@AnnSA(emptyArray())
|
||||
class MyClass {
|
||||
val i = 1
|
||||
}
|
||||
|
||||
val ia: IntArray = intArrayOf(1, 2)
|
||||
val sa: Array<String> = arrayOf("a", "b")
|
||||
|
||||
annotation class Ann2
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
@Retention(AnnotationRetention.SOURCE)
|
||||
@Repeatable
|
||||
annotation class Ann(val i: Int)
|
||||
|
||||
+3
-3
@@ -4,13 +4,13 @@ const val constConst = nonConst * nonConst + 2
|
||||
|
||||
annotation class Ann(val x: Int, val y: String)
|
||||
|
||||
@Ann(nonConst, "${nonConst}")
|
||||
@Ann(<!NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION!>nonConst<!>, <!NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION!>"${nonConst}"<!>)
|
||||
fun foo1() {}
|
||||
|
||||
@Ann(nonConst + constConst, "${constConst}")
|
||||
@Ann(<!NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION!>nonConst + constConst<!>, "${constConst}")
|
||||
fun foo2() {}
|
||||
|
||||
annotation class ArrayAnn(val x: IntArray)
|
||||
|
||||
@ArrayAnn(intArrayOf(1, constConst, nonConst))
|
||||
@ArrayAnn(<!NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION!>intArrayOf(1, constConst, <!NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION!>nonConst<!>)<!>)
|
||||
fun foo3() {}
|
||||
|
||||
+3
-3
@@ -2,10 +2,10 @@
|
||||
@Repeatable
|
||||
annotation class Ann(vararg val i: Int)
|
||||
|
||||
@Ann(i)
|
||||
@Ann(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>i<!>)
|
||||
@Ann(i2)
|
||||
@Ann(i3)
|
||||
@Ann(i, i2, i3)
|
||||
@Ann(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>i3<!>)
|
||||
@Ann(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>i<!>, i2, <!ANNOTATION_ARGUMENT_MUST_BE_CONST!>i3<!>)
|
||||
@Ann(*intArrayOf(i))
|
||||
@Ann(*intArrayOf(i2))
|
||||
@Ann(*intArrayOf(i3))
|
||||
|
||||
Reference in New Issue
Block a user