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.