[FIR] Add REPEATED_ANNOTATION, REPEATED_ANNOTATION_WARNING

This commit is contained in:
Ivan Kochurkin
2021-09-06 14:36:26 +03:00
committed by TeamCityServer
parent fa12e72551
commit 55f33999f1
40 changed files with 300 additions and 440 deletions
@@ -1,22 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// !LANGUAGE: -ProhibitRepeatedUseSiteTargetAnnotations
// Ann is not repeatable
annotation class Ann(val x: Int)
@get:Ann(10)
val a: String
@Ann(20) get() = "foo"
@set:Ann(10)
var b: String = ""
@Ann(20) set(value) { field = value }
@setparam:Ann(10)
var c = " "
set(@Ann(20) x) {}
@get:Ann(10)
@get:Ann(20)
val d: String
@Ann(30) @Ann(40) get() = "foo"
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
// !LANGUAGE: -ProhibitRepeatedUseSiteTargetAnnotations
@@ -19,4 +20,4 @@ var c = " "
<!REPEATED_ANNOTATION_WARNING!>@get:Ann(10)<!>
<!REPEATED_ANNOTATION, REPEATED_ANNOTATION_WARNING!>@get:Ann(20)<!>
val d: String
@Ann(30) <!REPEATED_ANNOTATION!>@Ann(40)<!> get() = "foo"
@Ann(30) <!REPEATED_ANNOTATION!>@Ann(40)<!> get() = "foo"
@@ -4,19 +4,19 @@
// Ann is not repeatable
annotation class Ann(val x: Int)
@get:Ann(10)
<!REPEATED_ANNOTATION!>@get:Ann(10)<!>
val a: String
@Ann(20) get() = "foo"
@set:Ann(10)
<!REPEATED_ANNOTATION!>@set:Ann(10)<!>
var b: String = ""
@Ann(20) set(value) { field = value }
@setparam:Ann(10)
<!REPEATED_ANNOTATION!>@setparam:Ann(10)<!>
var c = " "
set(@Ann(20) x) {}
@get:Ann(10)
@get:Ann(20)
<!REPEATED_ANNOTATION!>@get:Ann(10)<!>
<!REPEATED_ANNOTATION, REPEATED_ANNOTATION!>@get:Ann(20)<!>
val d: String
@Ann(30) @Ann(40) get() = "foo"
@Ann(30) <!REPEATED_ANNOTATION!>@Ann(40)<!> get() = "foo"
@@ -9,12 +9,12 @@ class CustomDelegate {
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
}
public class A(@param:Ann @Ann val x: Int, @param: RepeatableAnn @Ann val y: Int) {
public class A(@param:Ann <!REPEATED_ANNOTATION!>@Ann<!> val x: Int, @param: RepeatableAnn @Ann val y: Int) {
@field:Ann @property:Ann @RepeatableAnn @property:RepeatableAnn
val a: Int = 0
@Ann @field:Ann @property:Ann
@Ann @field:Ann <!REPEATED_ANNOTATION!>@property:Ann<!>
val b: Int = 0
@field:RepeatableAnn @field:RepeatableAnn
@@ -46,14 +46,14 @@ annotation class fieldOrPropAnn
annotation class getSetAndParamAnn
public class B(<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@param:fieldOrPropAnn<!> @fieldOrPropAnn val x: Int,
@property:fieldOrPropAnn @fieldOrPropAnn val y: Int) {
@property:fieldOrPropAnn <!REPEATED_ANNOTATION, REPEATED_ANNOTATION!>@fieldOrPropAnn<!> val y: Int) {
@fieldOrPropAnn @field:fieldOrPropAnn
val z: Int = 42
<!WRONG_ANNOTATION_TARGET!>@getSetAndParamAnn<!>
@setparam:getSetAndParamAnn
<!REPEATED_ANNOTATION!>@setparam:getSetAndParamAnn<!>
var w: Int
@getSetAndParamAnn @get:getSetAndParamAnn get() = 0
@getSetAndParamAnn <!REPEATED_ANNOTATION!>@get:getSetAndParamAnn<!> get() = 0
// See KT-15470: fake INAPPLICABLE_TARGET_ON_PROPERTY
@getSetAndParamAnn <!INAPPLICABLE_TARGET_ON_PROPERTY!>@set:getSetAndParamAnn<!> set(arg) {}
}
@getSetAndParamAnn <!INAPPLICABLE_TARGET_ON_PROPERTY, REPEATED_ANNOTATION!>@set:getSetAndParamAnn<!> set(arg) {}
}