package test {
    // Signature: test/AnnoBackingField|null[0]
    annotation class AnnoBackingField constructor() : Annotation
    // Signature: test/AnnoClass|null[0]
    annotation class AnnoClass constructor() : Annotation
    // Signature: test/AnnoClassTypeParameter|null[0]
    @Target(allowedTargets = {AnnotationTarget.TYPE_PARAMETER}) annotation class AnnoClassTypeParameter constructor() : Annotation
    // Signature: test/AnnoClassUsageTypeParameter|null[0]
    @Target(allowedTargets = {AnnotationTarget.TYPE}) annotation class AnnoClassUsageTypeParameter constructor() : Annotation
    // Signature: test/AnnoConstructor|null[0]
    annotation class AnnoConstructor constructor() : Annotation
    // Signature: test/AnnoConstructorParameter|null[0]
    annotation class AnnoConstructorParameter constructor() : Annotation
    // Signature: test/AnnoDelegatedField|null[0]
    annotation class AnnoDelegatedField constructor() : Annotation
    // Signature: test/AnnoFunction|null[0]
    annotation class AnnoFunction constructor() : Annotation
    // Signature: test/AnnoFunctionExtensionReceiver|null[0]
    annotation class AnnoFunctionExtensionReceiver constructor() : Annotation
    // Signature: test/AnnoFunctionParam|null[0]
    annotation class AnnoFunctionParam constructor() : Annotation
    // Signature: test/AnnoFunctionTypeParameter|null[0]
    @Target(allowedTargets = {AnnotationTarget.TYPE_PARAMETER}) annotation class AnnoFunctionTypeParameter constructor() : Annotation
    // Signature: test/AnnoGetter|null[0]
    annotation class AnnoGetter constructor() : Annotation
    // Signature: test/AnnoProperty|null[0]
    annotation class AnnoProperty constructor() : Annotation
    // Signature: test/AnnoPropertyExtensionReceiver|null[0]
    annotation class AnnoPropertyExtensionReceiver constructor() : Annotation
    // Signature: test/AnnoSetParam|null[0]
    annotation class AnnoSetParam constructor() : Annotation
    // Signature: test/AnnoSetParam2|null[0]
    annotation class AnnoSetParam2 constructor() : Annotation
    // Signature: test/AnnoSetter|null[0]
    annotation class AnnoSetter constructor() : Annotation
    // Signature: test/AnnoSetter2|null[0]
    annotation class AnnoSetter2 constructor() : Annotation
    // Signature: test/B|null[0]
    class B<@AnnoClassTypeParameter T> constructor()
    // Signature: test/Foo|null[0]
    @AnnoClass class Foo @AnnoConstructor constructor(@AnnoConstructorParameter i: Int) {
        // Signature: test/Foo.immutableProp|-821319779095389209[0]
        @delegate:AnnoDelegatedField val immutableProp: Int
        // Signature: test/Foo.mutableProp|1472686943295008822[0]
        var mutableProp: Int
            // Signature: test/Foo.mutableProp.<set-mutableProp>|-3965758569411010277[0]
            @AnnoSetter2 set
        // Signature: test/Foo.prop|3598315380056892812[0]
        @AnnoProperty @field:AnnoBackingField var prop: Int
            // Signature: test/Foo.prop.<get-prop>|-5734736374948136327[0]
            @AnnoGetter get
            // Signature: test/Foo.prop.<set-prop>|3724820243841906450[0]
            @AnnoSetter set
    }
    // Signature: test/extProp|-6867325556440293248[0]
    @AnnoPropertyExtensionReceiver val Foo.extProp: Int
    // Signature: test/extfun|-4862331552047794615[0]
    @AnnoFunction fun @receiver:AnnoFunctionExtensionReceiver Foo.extfun(@AnnoFunctionParam x: Int)
    // Signature: test/f|-1335249788552583475[0]
    fun <@AnnoFunctionTypeParameter T> f(x: B<@AnnoClassUsageTypeParameter Int>)
}
