3dbe02b7fe
Also add some tests for internal collection stubs.
35 lines
868 B
Kotlin
Vendored
35 lines
868 B
Kotlin
Vendored
// 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);
|
|
}
|
|
}
|