package test

public open class ReferenceCycleThroughAnnotation {
    public constructor ReferenceCycleThroughAnnotation()

    @test.ReferenceCycleThroughAnnotation.C(value = test.ReferenceCycleThroughAnnotation.B::class) public open inner class A</*0*/ T : kotlin.Any!> {
        public constructor A</*0*/ T : kotlin.Any!>()
        public open fun foo(): kotlin.Unit
    }

    public open inner class B</*0*/ T : test.ReferenceCycleThroughAnnotation.A<T!>!> {
        public constructor B</*0*/ T : test.ReferenceCycleThroughAnnotation.A<T!>!>()
    }

    public final annotation class C : kotlin.Annotation {
        public constructor C(/*0*/ value: kotlin.reflect.KClass<*>)
        public final val value: kotlin.reflect.KClass<*>
    }
}
