Annotation use-site refactoring: field, property, getter
This commit is contained in:
@@ -219,7 +219,7 @@ class AnnotationChecker(private val additionalCheckers: Iterable<AdditionalAnnot
|
|||||||
val T_CLASSIFIER = targetList(CLASS)
|
val T_CLASSIFIER = targetList(CLASS)
|
||||||
|
|
||||||
val T_LOCAL_VARIABLE = targetList(LOCAL_VARIABLE) {
|
val T_LOCAL_VARIABLE = targetList(LOCAL_VARIABLE) {
|
||||||
onlyWithUseSiteTarget(PROPERTY, FIELD, PROPERTY_GETTER, PROPERTY_SETTER, VALUE_PARAMETER)
|
onlyWithUseSiteTarget(PROPERTY_SETTER, VALUE_PARAMETER)
|
||||||
}
|
}
|
||||||
|
|
||||||
val T_DESTRUCTURING_DECLARATION = targetList(DESTRUCTURING_DECLARATION)
|
val T_DESTRUCTURING_DECLARATION = targetList(DESTRUCTURING_DECLARATION)
|
||||||
@@ -241,9 +241,7 @@ class AnnotationChecker(private val additionalCheckers: Iterable<AdditionalAnnot
|
|||||||
val T_PROPERTY_GETTER = targetList(PROPERTY_GETTER)
|
val T_PROPERTY_GETTER = targetList(PROPERTY_GETTER)
|
||||||
val T_PROPERTY_SETTER = targetList(PROPERTY_SETTER)
|
val T_PROPERTY_SETTER = targetList(PROPERTY_SETTER)
|
||||||
|
|
||||||
val T_VALUE_PARAMETER_WITHOUT_VAL = targetList(VALUE_PARAMETER) {
|
val T_VALUE_PARAMETER_WITHOUT_VAL = targetList(VALUE_PARAMETER)
|
||||||
onlyWithUseSiteTarget(PROPERTY, FIELD)
|
|
||||||
}
|
|
||||||
|
|
||||||
val T_VALUE_PARAMETER_WITH_VAL = targetList(VALUE_PARAMETER, PROPERTY, MEMBER_PROPERTY) {
|
val T_VALUE_PARAMETER_WITH_VAL = targetList(VALUE_PARAMETER, PROPERTY, MEMBER_PROPERTY) {
|
||||||
extraTargets(FIELD)
|
extraTargets(FIELD)
|
||||||
|
|||||||
+3
-3
@@ -62,9 +62,9 @@ object AnnotationUseSiteTargetChecker {
|
|||||||
val target = annotation.useSiteTarget?.getAnnotationUseSiteTarget() ?: continue
|
val target = annotation.useSiteTarget?.getAnnotationUseSiteTarget() ?: continue
|
||||||
|
|
||||||
when (target) {
|
when (target) {
|
||||||
AnnotationUseSiteTarget.FIELD -> checkIfProperty(annotated, annotation)
|
AnnotationUseSiteTarget.FIELD,
|
||||||
AnnotationUseSiteTarget.PROPERTY -> checkIfProperty(annotated, annotation)
|
AnnotationUseSiteTarget.PROPERTY,
|
||||||
AnnotationUseSiteTarget.PROPERTY_GETTER -> checkIfProperty(annotated, annotation)
|
AnnotationUseSiteTarget.PROPERTY_GETTER -> {}
|
||||||
AnnotationUseSiteTarget.PROPERTY_SETTER -> checkIfMutableProperty(annotated, annotation)
|
AnnotationUseSiteTarget.PROPERTY_SETTER -> checkIfMutableProperty(annotated, annotation)
|
||||||
AnnotationUseSiteTarget.CONSTRUCTOR_PARAMETER -> {
|
AnnotationUseSiteTarget.CONSTRUCTOR_PARAMETER -> {
|
||||||
if (annotated !is KtParameter) {
|
if (annotated !is KtParameter) {
|
||||||
|
|||||||
+5
-5
@@ -6,10 +6,10 @@ class CustomDelegate {
|
|||||||
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
|
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
|
||||||
}
|
}
|
||||||
|
|
||||||
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@field:Ann<!>
|
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@field:Ann<!>
|
||||||
class SomeClass {
|
class SomeClass {
|
||||||
|
|
||||||
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@field:Ann<!>
|
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@field:Ann<!>
|
||||||
constructor()
|
constructor()
|
||||||
|
|
||||||
@field:Ann
|
@field:Ann
|
||||||
@@ -25,9 +25,9 @@ class SomeClass {
|
|||||||
val propertyWithCustomGetter: Int
|
val propertyWithCustomGetter: Int
|
||||||
get() = 5
|
get() = 5
|
||||||
|
|
||||||
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@field:Ann<!>
|
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@field:Ann<!>
|
||||||
fun anotherFun(<!INAPPLICABLE_TARGET_ON_PROPERTY!>@field:Ann<!> <!UNUSED_PARAMETER!>s<!>: String) {
|
fun anotherFun(<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@field:Ann<!> <!UNUSED_PARAMETER!>s<!>: String) {
|
||||||
<!INAPPLICABLE_TARGET_ON_PROPERTY!>@field:Ann<!>
|
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@field:Ann<!>
|
||||||
val <!UNUSED_VARIABLE!>localVariable<!> = 5
|
val <!UNUSED_VARIABLE!>localVariable<!> = 5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -6,10 +6,10 @@ class CustomDelegate {
|
|||||||
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
|
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
|
||||||
}
|
}
|
||||||
|
|
||||||
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
|
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
|
||||||
class SomeClass {
|
class SomeClass {
|
||||||
|
|
||||||
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
|
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
|
||||||
constructor()
|
constructor()
|
||||||
|
|
||||||
@get:Ann
|
@get:Ann
|
||||||
@@ -28,11 +28,11 @@ class SomeClass {
|
|||||||
val propertyWithCustomGetter: Int
|
val propertyWithCustomGetter: Int
|
||||||
get() = 5
|
get() = 5
|
||||||
|
|
||||||
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
|
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
|
||||||
fun annotationOnFunction(a: Int) = a + 5
|
fun annotationOnFunction(a: Int) = a + 5
|
||||||
|
|
||||||
fun anotherFun() {
|
fun anotherFun() {
|
||||||
<!INAPPLICABLE_TARGET_ON_PROPERTY!>@get:Ann<!>
|
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:Ann<!>
|
||||||
val <!UNUSED_VARIABLE!>localVariable<!> = 5
|
val <!UNUSED_VARIABLE!>localVariable<!> = 5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -7,10 +7,10 @@ class CustomDelegate {
|
|||||||
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
|
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
|
||||||
}
|
}
|
||||||
|
|
||||||
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
|
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
|
||||||
class SomeClass {
|
class SomeClass {
|
||||||
|
|
||||||
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
|
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
|
||||||
constructor(<!UNUSED_PARAMETER!>s<!>: String)
|
constructor(<!UNUSED_PARAMETER!>s<!>: String)
|
||||||
|
|
||||||
@property:Ann
|
@property:Ann
|
||||||
@@ -30,9 +30,9 @@ class SomeClass {
|
|||||||
get() = 5
|
get() = 5
|
||||||
set(v) {}
|
set(v) {}
|
||||||
|
|
||||||
<!INAPPLICABLE_TARGET_ON_PROPERTY, WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
|
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
|
||||||
fun anotherFun() {
|
fun anotherFun() {
|
||||||
<!INAPPLICABLE_TARGET_ON_PROPERTY!>@property:Ann<!>
|
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@property:Ann<!>
|
||||||
val <!UNUSED_VARIABLE!>localVariable<!> = 5
|
val <!UNUSED_VARIABLE!>localVariable<!> = 5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user