[ULC] support repeatable annotation and container
^KTIJ-19318
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
@java.lang.annotation.Repeatable(value = TwoContainer::class)
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
public abstract @interface Two /* Two*/ {
|
||||
public abstract java.lang.String name();// name()
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
// Two
|
||||
// STDLIB_JDK8
|
||||
// FULL_JDK
|
||||
|
||||
@JvmRepeatable(TwoContainer::class)
|
||||
annotation class Two(val name: String)
|
||||
annotation class TwoContainer(val value: Array<Two>)
|
||||
@@ -0,0 +1,7 @@
|
||||
@java.lang.annotation.Repeatable(value = TwoContainer::class)
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
@kotlin.annotation.Repeatable()
|
||||
public abstract @interface Two /* Two*/ {
|
||||
public abstract java.lang.String name();// name()
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// Two
|
||||
// STDLIB_JDK8
|
||||
// FULL_JDK
|
||||
|
||||
import java.lang.annotation.Repeatable as JvmRepeatable
|
||||
|
||||
@Repeatable
|
||||
@JvmRepeatable(TwoContainer::class)
|
||||
annotation class Two(val name: String)
|
||||
annotation class TwoContainer(val value: Array<Two>)
|
||||
@@ -0,0 +1,7 @@
|
||||
@java.lang.annotation.Repeatable(value = TwoContainer::class)
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
@kotlin.annotation.Repeatable()
|
||||
public abstract @interface Two /* Two*/ {
|
||||
public abstract java.lang.String name();// name()
|
||||
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// Two
|
||||
// STDLIB_JDK8
|
||||
// FULL_JDK
|
||||
|
||||
@Repeatable
|
||||
@JvmRepeatable(TwoContainer::class)
|
||||
annotation class Two(val name: String)
|
||||
annotation class TwoContainer(val value: Array<Two>)
|
||||
@@ -0,0 +1,13 @@
|
||||
@java.lang.annotation.Repeatable(value = simple.One.Container.class)
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
@kotlin.annotation.Repeatable()
|
||||
public abstract @interface One /* simple.One*/ {
|
||||
public abstract java.lang.String value();// value()
|
||||
|
||||
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
@kotlin.jvm.internal.RepeatableContainer()
|
||||
public @interface Container /* simple.One.Container*/ {
|
||||
public abstract simple.One[] value();// value()
|
||||
|
||||
}}
|
||||
@@ -0,0 +1,7 @@
|
||||
// simple.One
|
||||
// FULL_JDK
|
||||
|
||||
package simple
|
||||
|
||||
@Repeatable
|
||||
annotation class One(val value: String)
|
||||
+11
-1
@@ -1,4 +1,5 @@
|
||||
@java.lang.annotation.Documented()
|
||||
@java.lang.annotation.Repeatable(value = Anno.Container.class)
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.SOURCE)
|
||||
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.TYPE_PARAMETER, java.lang.annotation.ElementType.TYPE_USE})
|
||||
@kotlin.annotation.MustBeDocumented()
|
||||
@@ -8,4 +9,13 @@
|
||||
public abstract @interface Anno /* Anno*/ {
|
||||
public abstract int i();// i()
|
||||
|
||||
}
|
||||
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.SOURCE)
|
||||
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.TYPE_PARAMETER, java.lang.annotation.ElementType.TYPE_USE})
|
||||
@kotlin.annotation.Retention(value = kotlin.annotation.AnnotationRetention.SOURCE)
|
||||
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.TYPE_PARAMETER, kotlin.annotation.AnnotationTarget.TYPE})
|
||||
@kotlin.jvm.internal.RepeatableContainer()
|
||||
public @interface Container /* Anno.Container*/ {
|
||||
public abstract Anno[] value();// value()
|
||||
|
||||
}}
|
||||
@@ -1,4 +1,5 @@
|
||||
// Anno
|
||||
// FULL_JDK
|
||||
|
||||
@Retention(AnnotationRetention.SOURCE)
|
||||
@Target(AnnotationTarget.TYPE_PARAMETER, AnnotationTarget.TYPE)
|
||||
|
||||
+11
-1
@@ -1,4 +1,5 @@
|
||||
@java.lang.annotation.Documented()
|
||||
@java.lang.annotation.Repeatable(value = Anno.Container.class)
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.SOURCE)
|
||||
@java.lang.annotation.Target(value = {})
|
||||
@kotlin.annotation.MustBeDocumented()
|
||||
@@ -8,4 +9,13 @@
|
||||
public abstract @interface Anno /* Anno*/ {
|
||||
public abstract int i();// i()
|
||||
|
||||
}
|
||||
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.SOURCE)
|
||||
@java.lang.annotation.Target(value = {})
|
||||
@kotlin.annotation.Retention(value = kotlin.annotation.AnnotationRetention.SOURCE)
|
||||
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.TYPE_PARAMETER, kotlin.annotation.AnnotationTarget.TYPE})
|
||||
@kotlin.jvm.internal.RepeatableContainer()
|
||||
public @interface Container /* Anno.Container*/ {
|
||||
public abstract Anno[] value();// value()
|
||||
|
||||
}}
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
// Anno
|
||||
// JVM_TARGET: 1.6
|
||||
// FULL_JDK
|
||||
|
||||
@Retention(AnnotationRetention.SOURCE)
|
||||
@Target(AnnotationTarget.TYPE_PARAMETER, AnnotationTarget.TYPE)
|
||||
|
||||
Reference in New Issue
Block a user