class A : Java1 { constructor() /* primary */ { super/*Java1*/() /* () */ } } class B : Java1 { constructor() /* primary */ { super/*Java1*/() /* () */ } override fun foo() { } } class C : Java2 { constructor() /* primary */ { super/*Java2*/() /* () */ } } class D : Java2 { constructor() /* primary */ { super/*Java2*/() /* () */ } override fun foo() { } } class E : Java3 { constructor() /* primary */ { super/*Java3*/() /* () */ } } class F : Java3 { constructor() /* primary */ { super/*Java3*/() /* () */ } override fun foo() { } } class G : Java4 { constructor() /* primary */ { super/*Java4*/() /* () */ } } class H : Java4 { constructor() /* primary */ { super/*Java4*/() /* () */ } override fun foo() { } } open class KotlinClass : Java1 { constructor() /* primary */ { super/*Java1*/() /* () */ } } fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { a.foo() a.Inner().bar() b.foo() b.Inner().bar() c.foo() c.Inner().bar() d.foo() d.Inner().bar() e.foo() e.Inner().bar() f.foo() f.Inner().bar() g.foo() g.Inner().bar() h.foo() h.Inner().bar() }