Repeated annotation which is not marked as '@Repeatable'
Reports the repeated use of a non-@Repeatable
annotation on property accessors.
As a result of using non-@Repeatable
annotation multiple times, both annotation usages will appear in the bytecode leading to an ambiguity in reflection calls.
Since Kotlin 1.4 it's mandatory to either mark annotation as @Repeatable
or not repeat the annotation, otherwise it will lead to compilation error.
Example:
annotation class Foo(val x: Int)
@get:Foo(10)
val a: String
@Foo(20) get() = "foo" // annotation repeated twice but not marked as @Repeatable
This inspection only reports if the Kotlin language level of the project or module is 1.4 or higher.
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Kotlin, @snapshot@ |
Last modified: 13 July 2023