d1ce55cbd2
When an annotation constructor value parameter is annotated with the very same annotation, FIR2IR went in an infinite loop when trying to generate it. To fix this, the constructor is added to the Fir2IrDeclarationStorage cache before generating the value parameters. To accommodate for the missing parameters, the value arguments count is determined using the FIR.
44 lines
1.9 KiB
Plaintext
Vendored
44 lines
1.9 KiB
Plaintext
Vendored
FILE: selfReferentialAnnotation.kt
|
|
public final annotation class Ann : R|kotlin/Annotation| {
|
|
public constructor(@R|Ann|(e = Int(1)) e: R|kotlin/Int|): R|Ann| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final val e: R|kotlin/Int| = R|<local>/e|
|
|
public get(): R|kotlin/Int|
|
|
|
|
}
|
|
@R|MyRequiresOptIn|(a = String(), b = Q|MyRequiresOptIn.MyLevel|.R|/MyRequiresOptIn.MyLevel.ERROR|) public final annotation class MyRequiresOptIn : R|kotlin/Annotation| {
|
|
public constructor(a: R|kotlin/String| = String(), @R|MyRequiresOptIn|(a = String(), b = Q|MyRequiresOptIn.MyLevel|.R|/MyRequiresOptIn.MyLevel.WARNING|) b: R|MyRequiresOptIn.MyLevel| = Q|MyRequiresOptIn.MyLevel|.R|/MyRequiresOptIn.MyLevel.ERROR|): R|MyRequiresOptIn| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final val a: R|kotlin/String| = R|<local>/a|
|
|
public get(): R|kotlin/String|
|
|
|
|
public final val b: R|MyRequiresOptIn.MyLevel| = R|<local>/b|
|
|
public get(): R|MyRequiresOptIn.MyLevel|
|
|
|
|
public final enum class MyLevel : R|kotlin/Enum<MyRequiresOptIn.MyLevel>| {
|
|
private constructor(): R|MyRequiresOptIn.MyLevel| {
|
|
super<R|kotlin/Enum<MyRequiresOptIn.MyLevel>|>()
|
|
}
|
|
|
|
public final static enum entry WARNING: R|MyRequiresOptIn.MyLevel|
|
|
public final static enum entry ERROR: R|MyRequiresOptIn.MyLevel|
|
|
public final static fun values(): R|kotlin/Array<MyRequiresOptIn.MyLevel>| {
|
|
}
|
|
|
|
public final static fun valueOf(value: R|kotlin/String|): R|MyRequiresOptIn.MyLevel| {
|
|
}
|
|
|
|
public final static val entries: R|kotlin/enums/EnumEntries<MyRequiresOptIn.MyLevel>|
|
|
public get(): R|kotlin/enums/EnumEntries<MyRequiresOptIn.MyLevel>|
|
|
|
|
}
|
|
|
|
}
|
|
public final fun box(): R|kotlin/String| {
|
|
^box String(OK)
|
|
}
|