Report error if repeated annotation is used with JVM target 1.6

#KT-12794
This commit is contained in:
Alexander Udalov
2021-07-23 22:30:27 +02:00
parent 26043f3968
commit b2550f69bc
12 changed files with 217 additions and 8 deletions
@@ -0,0 +1,49 @@
// !LANGUAGE: +RepeatableAnnotations
// !JVM_TARGET: 1.6
// FULL_JDK
// FILE: Runtime.java
import java.lang.annotation.*;
@Repeatable(Runtime.Container.class)
@Retention(RetentionPolicy.RUNTIME)
public @interface Runtime {
public @interface Container {
Runtime[] value();
}
}
// FILE: Clazz.java
import java.lang.annotation.*;
@Repeatable(Clazz.Container.class)
@Retention(RetentionPolicy.CLASS)
public @interface Clazz {
public @interface Container {
Clazz[] value();
}
}
// FILE: Source.java
import java.lang.annotation.*;
@Repeatable(Source.Container.class)
@Retention(RetentionPolicy.SOURCE)
public @interface Source {
public @interface Container {
Source[] value();
}
}
// FILE: usage.kt
@Runtime <!REPEATED_ANNOTATION_TARGET6!>@Runtime<!>
class UseRuntime
@Clazz <!REPEATED_ANNOTATION_TARGET6!>@Clazz<!>
class UseClazz
@Source @Source
class UseSource