open annotation class Ann : Annotation { constructor() /* primary */ { super/*Any*/() /* () */ } } class Delegated : Base { private /* final field */ val $$delegate_0: Base = b constructor(b: Base) /* primary */ { super/*Any*/() /* () */ } @Ann override fun func() { .#$$delegate_0.func() } override val prop: Int override get(): Int { return .#$$delegate_0.() } override var propWithAccessors: Int @Ann override get(): Int { return .#$$delegate_0.() } @Ann override set(: Int) { .#$$delegate_0.( = ) } } interface Base { @Ann abstract fun func() @Ann abstract val prop: Int abstract get abstract var propWithAccessors: Int @Ann abstract get @Ann abstract set }