2/2 Implement deprecation for use-site '@get:' target

^KT-15470 Fixed
Review: https://jetbrains.team/p/kt/reviews/9250
This commit is contained in:
Nikita Bobko
2023-03-16 19:12:37 +01:00
parent 8cf5216555
commit 48ed6c4cc7
24 changed files with 218 additions and 29 deletions
@@ -6,10 +6,10 @@ class CustomDelegate {
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
}
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
class SomeClass {
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
constructor()
@get:Ann
@@ -28,11 +28,14 @@ class SomeClass {
val propertyWithCustomGetter: Int
get() = 5
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
val useSiteTarget: Int
<!INAPPLICABLE_TARGET_ON_PROPERTY!>@get:Ann<!> get() = 5
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
fun annotationOnFunction(a: Int) = a + 5
fun anotherFun() {
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
val localVariable = 5
}
@@ -6,10 +6,10 @@ class CustomDelegate {
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
}
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
<!INAPPLICABLE_TARGET_ON_PROPERTY_WARNING, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
class SomeClass {
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
<!INAPPLICABLE_TARGET_ON_PROPERTY_WARNING, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
constructor()
@get:Ann
@@ -28,11 +28,14 @@ class SomeClass {
val propertyWithCustomGetter: Int
get() = 5
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
val useSiteTarget: Int
<!INAPPLICABLE_TARGET_ON_PROPERTY_WARNING!>@get:Ann<!> get() = 5
<!INAPPLICABLE_TARGET_ON_PROPERTY_WARNING, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
fun annotationOnFunction(a: Int) = a + 5
fun anotherFun() {
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
<!INAPPLICABLE_TARGET_ON_PROPERTY_WARNING, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
val localVariable = 5
}
@@ -22,6 +22,7 @@ public final class CustomDelegate {
@get:Ann public final val propertyWithCustomGetter: kotlin.Int
@get:Ann protected final val simpleProperty: kotlin.String = "text"
@get:Ann protected final val simplePropertyWithAnnotationList: kotlin.String = "text"
public final val useSiteTarget: kotlin.Int
public final fun annotationOnFunction(/*0*/ a: kotlin.Int): kotlin.Int
public final fun anotherFun(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -7,10 +7,10 @@ class CustomDelegate {
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
}
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
class SomeClass {
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
constructor(s: String)
@property:Ann
@@ -30,9 +30,9 @@ class SomeClass {
get() = 5
set(v) {}
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
fun anotherFun() {
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
val localVariable = 5
}
@@ -7,10 +7,10 @@ class CustomDelegate {
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
}
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
<!INAPPLICABLE_TARGET_ON_PROPERTY_WARNING, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
class SomeClass {
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
<!INAPPLICABLE_TARGET_ON_PROPERTY_WARNING, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
constructor(s: String)
@property:Ann
@@ -30,9 +30,9 @@ class SomeClass {
get() = 5
set(v) {}
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
<!INAPPLICABLE_TARGET_ON_PROPERTY_WARNING, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
fun anotherFun() {
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
<!INAPPLICABLE_TARGET_ON_PROPERTY_WARNING, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
val localVariable = 5
}
@@ -0,0 +1,27 @@
// FIR_IDENTICAL
// !LANGUAGE: -ProhibitUseSiteGetTargetAnnotations
annotation class Ann
<!REPEATED_ANNOTATION!>@get:Ann<!>
<!REPEATED_ANNOTATION!>@set:Ann<!>
@Ann
var mutableProperty: Int = 42
<!INAPPLICABLE_TARGET_ON_PROPERTY_WARNING!>@get:Ann<!> get
<!INAPPLICABLE_TARGET_ON_PROPERTY!>@set:Ann<!> set
<!REPEATED_ANNOTATION!>@get:Ann<!>
<!REPEATED_ANNOTATION!>@set:Ann<!>
@Ann
var mutableProperty_AnnWithoutTarget: Int = 42
@Ann get
@Ann set
<!REPEATED_ANNOTATION!>@get:Ann<!>
@Ann
val immutableProperty: Int = 42
<!INAPPLICABLE_TARGET_ON_PROPERTY_WARNING!>@get:Ann<!> get
<!REPEATED_ANNOTATION!>@get:Ann<!>
@Ann
val immutableProperty_AnnWithoutTarget: Int = 42
@Ann get
@@ -0,0 +1,27 @@
// FIR_IDENTICAL
// !LANGUAGE: +ProhibitUseSiteGetTargetAnnotations
annotation class Ann
<!REPEATED_ANNOTATION!>@get:Ann<!>
<!REPEATED_ANNOTATION!>@set:Ann<!>
@Ann
var mutableProperty: Int = 42
<!INAPPLICABLE_TARGET_ON_PROPERTY!>@get:Ann<!> get
<!INAPPLICABLE_TARGET_ON_PROPERTY!>@set:Ann<!> set
<!REPEATED_ANNOTATION!>@get:Ann<!>
<!REPEATED_ANNOTATION!>@set:Ann<!>
@Ann
var mutableProperty_AnnWithoutTarget: Int = 42
@Ann get
@Ann set
<!REPEATED_ANNOTATION!>@get:Ann<!>
@Ann
val immutableProperty: Int = 42
<!INAPPLICABLE_TARGET_ON_PROPERTY!>@get:Ann<!> get
<!REPEATED_ANNOTATION!>@get:Ann<!>
@Ann
val immutableProperty_AnnWithoutTarget: Int = 42
@Ann get
@@ -53,7 +53,7 @@ public class B(<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@param:fieldOrPro
<!WRONG_ANNOTATION_TARGET!>@getSetAndParamAnn<!>
@setparam:getSetAndParamAnn
var w: Int
@getSetAndParamAnn <!REPEATED_ANNOTATION!>@get:getSetAndParamAnn<!> get() = 0
@getSetAndParamAnn <!INAPPLICABLE_TARGET_ON_PROPERTY, REPEATED_ANNOTATION!>@get:getSetAndParamAnn<!> get() = 0
// See KT-15470: fake INAPPLICABLE_TARGET_ON_PROPERTY
@getSetAndParamAnn <!INAPPLICABLE_TARGET_ON_PROPERTY, REPEATED_ANNOTATION!>@set:getSetAndParamAnn<!> set(arg) {}
}
@@ -53,7 +53,7 @@ public class B(<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@param:fieldOrPro
<!WRONG_ANNOTATION_TARGET!>@getSetAndParamAnn<!>
<!REPEATED_ANNOTATION!>@setparam:getSetAndParamAnn<!>
var w: Int
@getSetAndParamAnn <!REPEATED_ANNOTATION!>@get:getSetAndParamAnn<!> get() = 0
@getSetAndParamAnn <!INAPPLICABLE_TARGET_ON_PROPERTY_WARNING, REPEATED_ANNOTATION!>@get:getSetAndParamAnn<!> get() = 0
// See KT-15470: fake INAPPLICABLE_TARGET_ON_PROPERTY
@getSetAndParamAnn <!INAPPLICABLE_TARGET_ON_PROPERTY, REPEATED_ANNOTATION!>@set:getSetAndParamAnn<!> set(arg) {}
}