Report error on class named Container inside repeatable annotation

#KT-12794
 #KT-47971
This commit is contained in:
Alexander Udalov
2021-07-30 02:13:57 +02:00
parent 5f7803f2db
commit 847c58d574
13 changed files with 297 additions and 8 deletions
@@ -0,0 +1,21 @@
// !LANGUAGE: -RepeatableAnnotations -RepeatableAnnotationContainerConstraints
// FULL_JDK
@Repeatable
annotation class A1 {
class Container
}
@java.lang.annotation.Repeatable(D1::class)
annotation class B1 {
class Container
}
annotation class D1(val value: Array<B1>)
@Repeatable
@java.lang.annotation.Repeatable(D2::class)
annotation class B2 {
class Container
}
annotation class D2(val value: Array<B2>)
@@ -0,0 +1,21 @@
// !LANGUAGE: -RepeatableAnnotations -RepeatableAnnotationContainerConstraints
// FULL_JDK
<!REPEATABLE_ANNOTATION_HAS_NESTED_CLASS_NAMED_CONTAINER!>@Repeatable<!>
annotation class A1 {
class Container
}
@java.lang.annotation.Repeatable(D1::class)
annotation class B1 {
class Container
}
annotation class D1(val value: Array<B1>)
@Repeatable
@java.lang.annotation.Repeatable(D2::class)
annotation class B2 {
class Container
}
annotation class D2(val value: Array<B2>)
@@ -0,0 +1,59 @@
package
@kotlin.annotation.Repeatable public final annotation class A1 : kotlin.Annotation {
public constructor A1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final class Container {
public constructor Container()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@java.lang.annotation.Repeatable(value = D1::class) public final annotation class B1 : kotlin.Annotation {
public constructor B1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final class Container {
public constructor Container()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@kotlin.annotation.Repeatable @java.lang.annotation.Repeatable(value = D2::class) public final annotation class B2 : kotlin.Annotation {
public constructor B2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final class Container {
public constructor Container()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
public final annotation class D1 : kotlin.Annotation {
public constructor D1(/*0*/ value: kotlin.Array<B1>)
public final val value: kotlin.Array<B1>
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final annotation class D2 : kotlin.Annotation {
public constructor D2(/*0*/ value: kotlin.Array<B2>)
public final val value: kotlin.Array<B2>
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -0,0 +1,21 @@
// !LANGUAGE: +RepeatableAnnotations +RepeatableAnnotationContainerConstraints
// FULL_JDK
@Repeatable
annotation class A1 {
class Container
}
@java.lang.annotation.Repeatable(D1::class)
annotation class B1 {
class Container
}
annotation class D1(val value: Array<B1>)
@Repeatable
@java.lang.annotation.Repeatable(D2::class)
annotation class B2 {
class Container
}
annotation class D2(val value: Array<B2>)
@@ -0,0 +1,21 @@
// !LANGUAGE: +RepeatableAnnotations +RepeatableAnnotationContainerConstraints
// FULL_JDK
<!REPEATABLE_ANNOTATION_HAS_NESTED_CLASS_NAMED_CONTAINER_ERROR!>@Repeatable<!>
annotation class A1 {
class Container
}
@java.lang.annotation.Repeatable(D1::class)
annotation class B1 {
class Container
}
annotation class D1(val value: Array<B1>)
@Repeatable
@java.lang.annotation.Repeatable(D2::class)
annotation class B2 {
class Container
}
annotation class D2(val value: Array<B2>)
@@ -0,0 +1,59 @@
package
@kotlin.annotation.Repeatable public final annotation class A1 : kotlin.Annotation {
public constructor A1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final class Container {
public constructor Container()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@java.lang.annotation.Repeatable(value = D1::class) public final annotation class B1 : kotlin.Annotation {
public constructor B1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final class Container {
public constructor Container()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@kotlin.annotation.Repeatable @java.lang.annotation.Repeatable(value = D2::class) public final annotation class B2 : kotlin.Annotation {
public constructor B2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final class Container {
public constructor Container()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
public final annotation class D1 : kotlin.Annotation {
public constructor D1(/*0*/ value: kotlin.Array<B1>)
public final val value: kotlin.Array<B1>
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final annotation class D2 : kotlin.Annotation {
public constructor D2(/*0*/ value: kotlin.Array<B2>)
public final val value: kotlin.Array<B2>
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}