class A : Java5 { constructor() /* primary */ { super/*Java5*/() /* () */ } } class B : Java6 { constructor() /* primary */ { super/*Java6*/() /* () */ } } class C : Java7 { constructor() /* primary */ { super/*Java7*/() /* () */ } } class D : Java8 { constructor() /* primary */ { super/*Java8*/() /* () */ } } class E : Java9 { constructor() /* primary */ { super/*Java9*/() /* () */ } } class F : Java10 { constructor() /* primary */ { super/*Java10*/() /* () */ } } class G : Java11 { constructor() /* primary */ { super/*Java11*/() /* () */ } } class H : Java5 { constructor() /* primary */ { super/*Java5*/() /* () */ } override fun foo() { } } class I : Java6 { constructor() /* primary */ { super/*Java6*/() /* () */ } override fun foo() { } } class J : Java7 { constructor() /* primary */ { super/*Java7*/() /* () */ } override fun foo() { } } class K : Java8 { constructor() /* primary */ { super/*Java8*/() /* () */ } override fun foo() { } } class L : Java9 { constructor() /* primary */ { super/*Java9*/() /* () */ } override fun foo() { } } class M : Java10 { constructor() /* primary */ { super/*Java10*/() /* () */ } override fun foo() { } } class N : Java11 { constructor() /* primary */ { super/*Java11*/() /* () */ } internal override fun foo() { } } fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N) { a(super).#a /*~> Unit */ a.foo() b(super).#a /*~> Unit */ b.foo() c(super).#a /*~> Unit */ c.foo() d(super).#a /*~> Unit */ d.foo() e(super).#a /*~> Unit */ e.foo() f(super).#a /*~> Unit */ f.foo() g(super).#a /*~> Unit */ g.foo() h(super).#a /*~> Unit */ h.foo() i(super).#a /*~> Unit */ i.foo() j(super).#a /*~> Unit */ j.foo() k(super).#a /*~> Unit */ k.foo() l(super).#a /*~> Unit */ l.foo() m(super).#a /*~> Unit */ m.foo() n(super).#a /*~> Unit */ n.foo() }