package

public final class A {
    public constructor A(/*0*/ @Ann @Ann x: kotlin.Int, /*1*/ @Ann @RepeatableAnn y: kotlin.Int)
    @RepeatableAnn @Ann @RepeatableAnn @field:Ann public final val a: kotlin.Int = 0
    @Ann @Ann @field:Ann public final val b: kotlin.Int = 0
    @field:RepeatableAnn @field:RepeatableAnn public final val c: kotlin.Int = 0
    @RepeatableAnn @RepeatableAnn public final val d: kotlin.Int = 0
    @RepeatableAnn @RepeatableAnn @delegate:RepeatableAnn public final val e: kotlin.String
    @Ann @delegate:Ann public final val f: kotlin.String
    @Ann @delegate:Ann public final val g: kotlin.String
    @Ann @field:Ann public final val h: kotlin.String = ""
    @Ann @field:Ann public final val i: kotlin.String = ""
    public final val x: kotlin.Int
    public final val y: kotlin.Int
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public final annotation class Ann : kotlin.Annotation {
    public constructor Ann()
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public final class B {
    public constructor B(/*0*/ @fieldOrPropAnn x: kotlin.Int, /*1*/ y: kotlin.Int)
    @getSetAndParamAnn @get:getSetAndParamAnn @set:getSetAndParamAnn @setparam:getSetAndParamAnn public final var w: kotlin.Int
    @fieldOrPropAnn public final val x: kotlin.Int
    @fieldOrPropAnn @fieldOrPropAnn public final val y: kotlin.Int
    @fieldOrPropAnn @field:fieldOrPropAnn public final val z: kotlin.Int = 42
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public final class CustomDelegate {
    public constructor CustomDelegate()
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public final operator fun getValue(/*0*/ thisRef: kotlin.Any?, /*1*/ prop: kotlin.reflect.KProperty<*>): kotlin.String
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

@kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @kotlin.annotation.Repeatable public final annotation class RepeatableAnn : kotlin.Annotation {
    public constructor RepeatableAnn()
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FIELD, AnnotationTarget.PROPERTY}) public final annotation class fieldOrPropAnn : kotlin.Annotation {
    public constructor fieldOrPropAnn()
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.VALUE_PARAMETER}) public final annotation class getSetAndParamAnn : kotlin.Annotation {
    public constructor getSetAndParamAnn()
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
