5ba76ee757
This avoids a crash due to circular class references through annotation arguments.
19 lines
1.2 KiB
Plaintext
Vendored
19 lines
1.2 KiB
Plaintext
Vendored
public open class ReferenceCycleThroughAnnotation : R|kotlin/Any| {
|
|
public constructor(): R|test/ReferenceCycleThroughAnnotation|
|
|
|
|
@R|test/ReferenceCycleThroughAnnotation.C|(value = <getClass>(<getClass>(R|ft<test/ReferenceCycleThroughAnnotation.B<ft<test/ReferenceCycleThroughAnnotation.A<*>, test/ReferenceCycleThroughAnnotation.A<*>?>>, test/ReferenceCycleThroughAnnotation.B<*>?>|))) public open inner class A<T : R|kotlin/Any!|> : R|kotlin/Any| {
|
|
public open fun foo(): R|kotlin/Unit|
|
|
|
|
public test/ReferenceCycleThroughAnnotation.constructor<T : R|kotlin/Any!|>(): R|test/ReferenceCycleThroughAnnotation.A<T>|
|
|
|
|
}
|
|
public open inner class B<T : R|ft<test/ReferenceCycleThroughAnnotation.A<ft<T & Any, T?>>, test/ReferenceCycleThroughAnnotation.A<ft<T & Any, T?>>?>|> : R|kotlin/Any| {
|
|
public test/ReferenceCycleThroughAnnotation.constructor<T : R|ft<test/ReferenceCycleThroughAnnotation.A<ft<T & Any, T?>>, test/ReferenceCycleThroughAnnotation.A<ft<T & Any, T?>>?>|>(): R|test/ReferenceCycleThroughAnnotation.B<T>|
|
|
|
|
}
|
|
public final annotation class C : R|kotlin/Annotation| {
|
|
public constructor(value: R|kotlin/reflect/KClass<*>|): R|test/ReferenceCycleThroughAnnotation.C|
|
|
|
|
}
|
|
}
|