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|{}immutableProp[0]
        @delegate:AnnoDelegatedField val immutableProp: Int
        // Signature: test/Foo.mutableProp|{}mutableProp[0]
        var mutableProp: Int
            // Signature: test/Foo.mutableProp.<set-mutableProp>|<set-mutableProp>(kotlin.Int){}[0]
            @AnnoSetter2 set
        // Signature: test/Foo.prop|{}prop[0]
        @AnnoProperty @field:AnnoBackingField var prop: Int
            // Signature: test/Foo.prop.<get-prop>|<get-prop>(){}[0]
            @AnnoGetter get
            // Signature: test/Foo.prop.<set-prop>|<set-prop>(kotlin.Int){}[0]
            @AnnoSetter set
    }
    // Signature: test/extProp|@test.Foo{}extProp[0]
    @AnnoPropertyExtensionReceiver val Foo.extProp: Int
    // Signature: test/extfun|extfun@test.Foo(kotlin.Int){}[0]
    @AnnoFunction fun @receiver:AnnoFunctionExtensionReceiver Foo.extfun(@AnnoFunctionParam x: Int)
    // Signature: test/f|f(test.B<kotlin.Int>){0§<kotlin.Any?>}[0]
    fun <@AnnoFunctionTypeParameter T> f(x: B<@AnnoClassUsageTypeParameter Int>)
}
