class B : A { constructor() /* primary */ { super/*Any*/() /* () */ } override fun charAt(index: Int): Char { return '1' } override fun length(): Int { return 1 } override fun subSequence(start: Int, end: Int): CharSequence { return CHECK_NOT_NULL(arg0 = null) } } class C : Java1 { constructor() /* primary */ { super/*Java1*/() /* () */ } } class D : Java1 { constructor() /* primary */ { super/*Java1*/() /* () */ } override operator fun get(index: Int): Char { return 'a' } override val length: Int override get(): Int { return 10 } } class E : Java1, Java2 { constructor() /* primary */ { super/*Java1*/() /* () */ } override fun codePoints(): IntStream { return CHECK_NOT_NULL(arg0 = null) } } class F : Java1, KotlinInterface { constructor() /* primary */ { super/*Java1*/() /* () */ } override operator fun get(index: Number): Char { return 'a' } } class G : Java1, KotlinInterface { constructor() /* primary */ { super/*Java1*/() /* () */ } override operator fun get(index: Int): Char { return 'a' } override operator fun get(index: Number): Char { return 'b' } } class H : Java1, Java2, KotlinInterface { constructor() /* primary */ { super/*Java1*/() /* () */ } override fun codePoints(): IntStream { return CHECK_NOT_NULL(arg0 = null) } override operator fun get(index: Number): Char { return 'a' } } class I : Java1, Java2, Java3 { constructor() /* primary */ { super/*Java1*/() /* () */ } override fun codePoints(): IntStream { return CHECK_NOT_NULL(arg0 = null) } } abstract class J : Java4 { constructor() /* primary */ { super/*Java4*/() /* () */ } } class K : Java4 { constructor() /* primary */ { super/*Java4*/() /* () */ } override fun charAt(index: Int): Char { return 'a' } override fun length(): Int { return 1 } override fun subSequence(start: Int, end: Int): CharSequence { return CHECK_NOT_NULL(arg0 = null) } } abstract class L : Java1, A { constructor() /* primary */ { super/*Java1*/() /* () */ } override fun chars(): IntStream { return CHECK_NOT_NULL(arg0 = null) } override fun codePoints(): IntStream { return CHECK_NOT_NULL(arg0 = null) } } abstract class M : Java1, CharSequence { constructor() /* primary */ { super/*Java1*/() /* () */ } override fun chars(): IntStream { return CHECK_NOT_NULL(arg0 = null) } override fun codePoints(): IntStream { return CHECK_NOT_NULL(arg0 = null) } } interface A : CharSequence { } interface KotlinInterface { abstract fun get(index: Number): Char abstract val length: Number abstract get } 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) { a.length() /*~> Unit */ a.charAt(p0 = 1) /*~> Unit */ a.chars() /*~> Unit */ a /*as Any */.toString() /*~> Unit */ b.length() /*~> Unit */ b.charAt(index = 1) /*~> Unit */ b.subSequence(start = 1, end = 2) /*~> Unit */ c.() /*~> Unit */ c.get(index = 1) /*~> Unit */ c.chars() /*~> Unit */ d.() /*~> Unit */ d.get(index = 1) /*~> Unit */ d.isEmpty() /*~> Unit */ e.() /*~> Unit */ e.get(index = 1) /*~> Unit */ e.isEmpty() /*~> Unit */ e.codePoints() /*~> Unit */ f.() /*~> Unit */ f.isEmpty() /*~> Unit */ f.get(index = 1) /*~> Unit */ g.() /*~> Unit */ g.get(index = 1) /*~> Unit */ h.() /*~> Unit */ h.get(index = 1) /*~> Unit */ h.codePoints() /*~> Unit */ i.() /*~> Unit */ i.isEmpty() /*~> Unit */ i.get(index = 1) /*~> Unit */ i.codePoints() /*~> Unit */ j.length() /*~> Unit */ j.charAt(p0 = 1) /*~> Unit */ k.charAt(index = 1) /*~> Unit */ k.length() /*~> Unit */ l.() /*~> Unit */ l.get(index = 1) /*~> Unit */ l.length() /*~> Unit */ m.() /*~> Unit */ m.length() /*~> Unit */ m.get(index = 1) /*~> Unit */ m.get(index = 1) /*~> Unit */ }