// TARGET_BACKEND: JVM // TARGET_BACKEND: JVM_IR // FILE: B.java public abstract class B extends A implements L { public String callIndexAdd(int x) { add(0, null); return null; } } // FILE: main.kt open class A : Collection { override val size: Int get() = TODO("Not yet implemented") override fun contains(element: T): Boolean { TODO("Not yet implemented") } override fun containsAll(elements: Collection): Boolean { TODO("Not yet implemented") } override fun isEmpty(): Boolean { TODO("Not yet implemented") } override fun iterator(): Iterator { TODO("Not yet implemented") } } interface L : List // 'add(Int; Object)' method must be present in C though it has supeclass that is subclass of List class C : B() { override fun get(index: Int): F { TODO("Not yet implemented") } override fun indexOf(element: F): Int { TODO("Not yet implemented") } override fun lastIndexOf(element: F): Int { TODO("Not yet implemented") } override fun listIterator(): ListIterator { TODO("Not yet implemented") } override fun listIterator(index: Int): ListIterator { TODO("Not yet implemented") } override fun subList(fromIndex: Int, toIndex: Int): List { TODO("Not yet implemented") } } fun box() = "OK"