[Tests] Add tests for KT-40180
^KT-40180 Fixed
This commit is contained in:
committed by
Space Team
parent
eec14f0054
commit
848cca03c0
@@ -0,0 +1,18 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
|
||||
// FILE: Base.java
|
||||
public class Base {
|
||||
// Parameter considered as nullable by FO builder
|
||||
public void foo(String s) {}
|
||||
}
|
||||
// FILE: Derived.kt
|
||||
class Derived : Base() {
|
||||
// Parameter is not null
|
||||
override fun foo(s: String) {}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
Derived().foo("")
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
// FILE: Test.java
|
||||
public interface Test<T> {
|
||||
default T test(T p) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: kotlin.kt
|
||||
interface Test2: Test<String> {
|
||||
override fun test(p: String): String {
|
||||
return p
|
||||
}
|
||||
|
||||
fun forDefaultImpls() {}
|
||||
}
|
||||
|
||||
class TestClass : Test2
|
||||
|
||||
fun box() = TestClass().test("OK")
|
||||
@@ -0,0 +1,63 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
|
||||
// FILE: B.java
|
||||
public abstract class B<E> extends A<E> implements L<E> {
|
||||
public String callIndexAdd(int x) {
|
||||
add(0, null);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
open class A<T> : Collection<T> {
|
||||
override val size: Int
|
||||
get() = TODO("Not yet implemented")
|
||||
|
||||
override fun contains(element: T): Boolean {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun containsAll(elements: Collection<T>): Boolean {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun isEmpty(): Boolean {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun iterator(): Iterator<T> {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
|
||||
interface L<Q> : List<Q>
|
||||
|
||||
// 'add(Int; Object)' method must be present in C though it has supeclass that is subclass of List
|
||||
class C<F> : B<F>() {
|
||||
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<F> {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun listIterator(index: Int): ListIterator<F> {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun subList(fromIndex: Int, toIndex: Int): List<F> {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
|
||||
fun box() = "OK"
|
||||
Reference in New Issue
Block a user