[FE] Relax rules of matching @Target annotation on expect and actual
Allow `expect` targets to be subset of `actual`. ^KT-58551
This commit is contained in:
committed by
Space Team
parent
ad84c83ee9
commit
6611a55a60
Vendored
+33
@@ -0,0 +1,33 @@
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.CLASS)
|
||||
expect annotation class ExpectIsSubsetOfActual
|
||||
|
||||
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION)
|
||||
expect annotation class ExpectIsSubsetOfActualDifferentOrder
|
||||
|
||||
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.CLASS)
|
||||
expect annotation class MoreTargetsOnExpect
|
||||
|
||||
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.CLASS, AnnotationTarget.FUNCTION)
|
||||
expect annotation class RepeatedTargetsInExpect
|
||||
|
||||
@Target(allowedTargets = [])
|
||||
expect annotation class EmptyTargetsActual
|
||||
|
||||
// MODULE: m1-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
@Target(AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.CLASS)
|
||||
actual annotation class ExpectIsSubsetOfActual
|
||||
|
||||
@Target(AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.CLASS)
|
||||
actual annotation class ExpectIsSubsetOfActualDifferentOrder
|
||||
|
||||
<!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT!>@Target(AnnotationTarget.FUNCTION)
|
||||
actual annotation class MoreTargetsOnExpect<!>
|
||||
|
||||
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.CLASS, AnnotationTarget.TYPEALIAS)
|
||||
actual annotation class RepeatedTargetsInExpect
|
||||
|
||||
@Target(AnnotationTarget.FUNCTION)
|
||||
actual annotation class EmptyTargetsActual
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.CLASS)
|
||||
expect annotation class ExpectIsSubsetOfActual
|
||||
|
||||
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION)
|
||||
expect annotation class ExpectIsSubsetOfActualDifferentOrder
|
||||
|
||||
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.CLASS)
|
||||
expect annotation class MoreTargetsOnExpect
|
||||
|
||||
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.CLASS, AnnotationTarget.FUNCTION)
|
||||
expect annotation class RepeatedTargetsInExpect
|
||||
|
||||
@Target(allowedTargets = [])
|
||||
expect annotation class EmptyTargetsActual
|
||||
|
||||
// MODULE: m1-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
@Target(AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.CLASS)
|
||||
actual annotation class ExpectIsSubsetOfActual
|
||||
|
||||
@Target(AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.CLASS)
|
||||
actual annotation class ExpectIsSubsetOfActualDifferentOrder
|
||||
|
||||
@Target(AnnotationTarget.FUNCTION)
|
||||
actual annotation class <!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT!>MoreTargetsOnExpect<!>
|
||||
|
||||
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.CLASS, AnnotationTarget.TYPEALIAS)
|
||||
actual annotation class RepeatedTargetsInExpect
|
||||
|
||||
@Target(AnnotationTarget.FUNCTION)
|
||||
actual annotation class EmptyTargetsActual
|
||||
Vendored
+2
-1
@@ -10,7 +10,8 @@
|
||||
AnnotationTarget.CONSTRUCTOR,
|
||||
AnnotationTarget.PROPERTY_SETTER,
|
||||
AnnotationTarget.PROPERTY_GETTER,
|
||||
// removed target TYPEALIAS
|
||||
AnnotationTarget.TYPEALIAS,
|
||||
AnnotationTarget.TYPE, // added target
|
||||
)
|
||||
expect annotation class MyDeprecatedNotMatch
|
||||
|
||||
|
||||
Vendored
+2
-1
@@ -10,7 +10,8 @@
|
||||
AnnotationTarget.CONSTRUCTOR,
|
||||
AnnotationTarget.PROPERTY_SETTER,
|
||||
AnnotationTarget.PROPERTY_GETTER,
|
||||
// removed target TYPEALIAS
|
||||
AnnotationTarget.TYPEALIAS,
|
||||
AnnotationTarget.TYPE, // added target
|
||||
)
|
||||
expect annotation class MyDeprecatedNotMatch
|
||||
|
||||
|
||||
Reference in New Issue
Block a user