open annotation class A1 : Annotation { constructor(x: Int) /* primary */ { super/*Any*/() /* () */ } val x: Int field = x get } open annotation class A2 : Annotation { constructor(a: A1) /* primary */ { super/*Any*/() /* () */ } val a: A1 field = a get } open annotation class AA : Annotation { constructor(xs: Array) /* primary */ { super/*Any*/() /* () */ } val xs: Array field = xs get } @A2(a = A1(x = 42)) @AA(xs = [A1(x = 1), A1(x = 2)]) fun test() { }