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

  }

  val x: Int
    field = x
    get

}

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

  }

  val x: Int
    field = x
    get

}

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

  }

  val x: Test1
    field = x
    get

}

open annotation class Test4 : Annotation {
  constructor(vararg xs: Int) /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

  val xs: IntArray
    field = xs
    get

}
