package ann annotation class Test1 : Annotation { constructor(x: Int) /* primary */ val x: Int field = x get } annotation class Test2 : Annotation { constructor(x: Int = 0) /* primary */ val x: Int field = x get } interface I { } annotation class Test3> : Annotation { constructor(x: Test1>) /* primary */ val x: Test1> field = x get } class C : I { constructor() /* primary */ { super/*Any*/() /* () */ } } annotation class Test4 : Annotation { constructor(x: Test3>) /* primary */ val x: Test3> field = x get } class ARG { constructor() /* primary */ { super/*Any*/() /* () */ } } @Test1(x = 42) @Test2(x = 38) @Test3(x = Test1>>(x = 39)) @Test4(x = Test3>(x = Test1>>(x = 40))) class CC { constructor() /* primary */ { super/*Any*/() /* () */ } }