[FIR] Remove duplicate annotations from primary ctor params/properties

If an annotation doesn't specify an explicit use-site target,
previously it was added to both, the primary constructor value parameter
and the property in the FIR. Then, in FIR2IR, only the "correct" one was
added to the IR. Move up the deduplication logic into the frontend.

^KT-56177 Fixed
This commit is contained in:
Kirill Rakhman
2023-02-23 10:27:15 +01:00
committed by Space Team
parent 9268fd0e87
commit eee66ab43f
34 changed files with 1537 additions and 124 deletions
@@ -1,27 +0,0 @@
@Target(allowedTargets = [kotlin.annotation.AnnotationTarget.ANNOTATION_CLASS])
annotation class base
@base
annotation class derived
@base
class correct(x: Int) {
@base
constructor()
@base
val x: Int
}
@base
enum class My {
@base FIRST,
@base SECOND
}
@base
fun foo(@base y: @base Int): Int
@base
val z: Int
@@ -5,7 +5,7 @@ annotation class base
annotation class derived
@base
class correct(@base x: Int) {
class correct(x: Int) {
@base
constructor()