blob: 7bccdd750cfc244cf53813c49ed48fe625150e68 [file]
// TARGET_BACKEND: JVM
// ISSUE: KT-70683
// FILE: JavaBase1.java
public interface JavaBase1 {
void foo(Integer a);
String bar(Integer a);
}
// FILE: JavaBase2.java
public interface JavaBase2 {
void foo(Object a);
Object bar(Integer a);
}
// FILE: SimpleDerived.java
public class SimpleDerived implements Derived {
@Override
public void foo(Integer a) {}
@Override
public String bar(Integer a) {
return "OK";
}
@Override
public void foo(Object a) {}
}
// FILE: main.kt
interface Derived : JavaBase1, JavaBase2
class DerivedImpl(private val delegate: SimpleDerived) : Derived by delegate
fun box(): String {
DerivedImpl(SimpleDerived()).foo("")
DerivedImpl(SimpleDerived()).foo(1)
return DerivedImpl(SimpleDerived()).bar(1)
}