open annotation class A1 : Annotation {
  constructor(x: Int) /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

  val x: Int
    field = x
    get

}

open annotation class A2 : Annotation {
  constructor(a: A1) /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

  val a: A1
    field = a
    get

}

open annotation class AA : Annotation {
  constructor(xs: Array<A1>) /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

  val xs: Array<A1>
    field = xs
    get

}

@A2(a = A1(x = 42))
@AA(xs = [A1(x = 1), A1(x = 2)])
fun test() {
}
