blob: a0853c601154b3454ded232753dd070211df9e18 [file] [log] [blame]
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: JVM
// ^ KT-43334 AbstractMethodError when calling 'remove' from Java on a Kotlin Collection with custom internal 'remove'
// fixed in JVM_IR
// FILE: internalRemoveFromJava.kt
class Test<T> : Collection<T> {
override val size: Int get() = TODO()
override fun contains(element: T): Boolean = TODO()
override fun containsAll(elements: Collection<T>): Boolean = TODO()
override fun isEmpty(): Boolean = TODO()
override fun iterator(): Iterator<T> = TODO()
internal fun remove(x: T): Boolean = false
}
fun box(): String {
val t = Test<String>()
return if (J.testRemove(t, "") == false)
"OK"
else
"Fail"
}
// FILE: J.java
import java.util.Collection;
public class J {
public static <T> boolean testRemove(Collection<T> c, T x) {
return c.remove(x);
}
}