abstract class A : Java1 { constructor() /* primary */ { super/*Java1*/() /* () */ } } abstract class B : Java1 { constructor() /* primary */ { super/*Java1*/() /* () */ } override fun firstEntry(): MutableEntry { return CHECK_NOT_NULL(arg0 = null) } override fun putFirst(k: Any?, v: Any?): Any { return "" } override fun reversed(): SequencedMap? { return CHECK_NOT_NULL(arg0 = null) } } abstract class C : Java1, Java2 { constructor() /* primary */ { super/*Java1*/() /* () */ } override fun putFirst(k: Any?, v: Any?): Any { return "" } } abstract class D : Java2, KotlinInterface { constructor() /* primary */ { super/*Any*/() /* () */ } override fun putFirst(k: Any?, v: Any?): Any { return "" } } abstract class E : Java3 { constructor() /* primary */ { super/*Java3*/() /* () */ } } abstract class F : Java3 { override val size: Int field = size override get constructor(size: Int) /* primary */ { super/*Java3*/() /* () */ } override fun remove(key: Any?): Any? { return "" } override fun reversed(): SequencedMap { return CHECK_NOT_NULL(arg0 = null) } } interface KotlinInterface : SequencedMap { } fun test(a: A, b: B, c: C, d: D, e: E, f: F) { a.putFirst(p0 = 1, p1 = null) /*~> Unit */ a.firstEntry() /*~> Unit */ a.putLast(p0 = null, p1 = 2) /*~> Unit */ a.lastEntry() /*~> Unit */ a.pollFirstEntry() /*~> Unit */ a.reversed() /*~> Unit */ a.sequencedKeySet() /*~> Unit */ b.putFirst(k = 1, v = null) /*~> Unit */ b.firstEntry() /*~> Unit */ b.putLast(p0 = null, p1 = 2) /*~> Unit */ b.lastEntry() /*~> Unit */ b.pollFirstEntry() /*~> Unit */ b.reversed() /*~> Unit */ b.sequencedKeySet() /*~> Unit */ c.putFirst(k = 1, v = null) /*~> Unit */ c.firstEntry() /*~> Unit */ c.putLast(p0 = null, p1 = 2) /*~> Unit */ c.lastEntry() /*~> Unit */ c.reversed() /*~> Unit */ d.putFirst(k = 1, v = null) /*~> Unit */ d.firstEntry() /*~> Unit */ d.putLast(p0 = null, p1 = 1) /*~> Unit */ d.lastEntry() /*~> Unit */ d.reversed() /*~> Unit */ e.putFirst(p0 = 1, p1 = null) /*~> Unit */ e.firstEntry() /*~> Unit */ e.putLast(p0 = null, p1 = 2) /*~> Unit */ e.lastEntry() /*~> Unit */ e.reversed() /*~> Unit */ f.putFirst(p0 = 1, p1 = null) /*~> Unit */ f.firstEntry() /*~> Unit */ f.putLast(p0 = null, p1 = 2) /*~> Unit */ f.lastEntry() /*~> Unit */ f.reversed() /*~> Unit */ }