프로퍼티 접근자에서 @Repeatable이 아닌 어노테이션이 반복 사용된 경우를 보고합니다.

@Repeatable이 아닌 어노테이션을 여러 번 사용하면 어노테이션 사용 위치가 모두 바이트코드로 표시되어 리플렉션 호출이 모호해집니다.

Kotlin 1.4부터는 어노테이션을 @Repeatable로 표기하거나 어노테이션을 반복하지 않아야 하며, 이 규칙을 지키지 않을 경우 컴파일 오류가 발생할 수 있습니다.

예:


  annotation class Foo(val x: Int)

  @get:Foo(10)
  val a: String
      @Foo(20) get() = "foo" // 어노테이션이 두 번 반복되지만 @Repeatable로 표시되지 않습니다

이 검사는 프로젝트 또는 모듈의 Kotlin 언어 수준이 1.4 이상인 경우에만 보고합니다.