Files
kotlin-fork/compiler/testData/ir/irText/firProblems/SignatureComputationComplexJavaGeneric.kt
T

47 lines
894 B
Kotlin
Vendored

// TARGET_BACKEND: JVM_IR
// ISSUE: KT-57022
// FILE: JavaClass1.java
import org.jetbrains.annotations.Nullable;
public class JavaClass1<T extends @Nullable Object> {
public class A {
public void output(T x) {}
}
public class B extends A {
}
}
// FILE: JavaClass2.java
import org.jetbrains.annotations.Nullable;
public abstract class JavaClass2<T extends @Nullable Object, R extends @Nullable Object> {
public abstract class A {
public abstract void output(R output);
}
public abstract class B extends A {
public abstract T element();
}
}
// FILE: test.kt
class Inv<T>(val x: T)
class Test_1<TT>(val x: TT) : JavaClass1<TT>() {
fun test(b: B) { b.output(x) }
}
class Test_2<TT> : JavaClass2<TT, Inv<TT>>() {
fun process(b: B) {
b.output(Inv(b.element()))
}
}
fun <R> test_3(jb: JavaClass1<R>.B, r: R) {
jb.output(r)
}