Add test for obsolete (fixed in IR) KT-42967

#KT-42967 Fixed
This commit is contained in:
Mikhael Bogdanov
2021-09-21 08:37:30 +02:00
parent f93d5604aa
commit 72ab6d5e7e
6 changed files with 97 additions and 0 deletions
@@ -0,0 +1,23 @@
// !JVM_DEFAULT_MODE: all
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: JVM
// IGNORE_LIGHT_ANALYSIS
// JVM_TARGET: 1.8
// FILE: Kotlin.kt
interface Foo<T> {
fun foo(p: T): T = p
}
interface FooDerived: Foo<Derived>
class Derived(val value: String)
class Test : FooDerived {
override fun foo(a: Derived): Derived {
return super.foo(a)
}
}
fun box(): String {
return Test().foo(Derived("OK")).value
}
@@ -0,0 +1,28 @@
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: JVM
// JVM_TARGET: 1.8
// FILE: JavaInterface.java
public interface JavaInterface<T> {
default T foo(T param) {
return param;
}
}
// FILE: JavaDerived.java
public interface JavaDerived extends JavaInterface<Derived> {
}
// FILE: Kotlin.kt
class Derived(val value: String)
class Test : JavaDerived {
override fun foo(a: Derived?): Derived {
return super.foo(a)
}
}
fun box(): String {
return Test().foo(Derived("OK")).value
}