e7e80be34a
Before this commit we considered !isOverride as a sign that function / field / accessor has no overridden symbols. However, it's false for deserialized, because isOverride is always false there. This commit fixes 68 BB tests but breaks 25 BB tests (not yet muted)
107 lines
2.6 KiB
Kotlin
Vendored
107 lines
2.6 KiB
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
|
|
// FILE: J.java
|
|
|
|
import java.util.*;
|
|
|
|
public class J {
|
|
|
|
private static class MyList extends A {}
|
|
|
|
public static String foo() {
|
|
MyList myList = new MyList();
|
|
List<Integer> list = (List<Integer>) myList;
|
|
|
|
if (!list.remove((Integer) 1)) return "fail 1";
|
|
if (list.remove((int) 1) != 123) return "fail 2";
|
|
|
|
if (!myList.remove((Integer) 1)) return "fail 3";
|
|
if (myList.remove((int) 1) != 123) return "fail 4";
|
|
|
|
if (myList.removeAt(1) != 123) return "fail 5";
|
|
return "OK";
|
|
}
|
|
}
|
|
|
|
// FILE: test.kt
|
|
|
|
open class A : MutableList<Int> {
|
|
override val size: Int
|
|
get() = throw UnsupportedOperationException()
|
|
override fun isEmpty(): Boolean = throw UnsupportedOperationException()
|
|
|
|
override fun contains(o: Int): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun containsAll(c: Collection<Int>): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun get(index: Int): Int {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun indexOf(o: Int): Int {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun lastIndexOf(o: Int): Int {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun add(e: Int): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun remove(o: Int) = true
|
|
|
|
override fun removeAt(index: Int): Int = 123
|
|
|
|
override fun addAll(c: Collection<Int>): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun addAll(index: Int, c: Collection<Int>): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun removeAll(c: Collection<Int>): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun retainAll(c: Collection<Int>): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun clear() {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun set(index: Int, element: Int): Int {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun add(index: Int, element: Int) {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun listIterator(): MutableListIterator<Int> {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun listIterator(index: Int): MutableListIterator<Int> {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun subList(fromIndex: Int, toIndex: Int): MutableList<Int> {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun iterator(): MutableIterator<Int> {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
}
|
|
|
|
fun box() = J.foo()
|