// FIR_IDENTICAL // TARGET_BACKEND: JVM_IR // ISSUE: KT-57022 // FILE: JavaClass1.java import org.jetbrains.annotations.Nullable; public class JavaClass1 { 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 { 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(val x: T) class Test_1(val x: TT) : JavaClass1() { fun test(b: B) { b.output(x) } } class Test_2 : JavaClass2>() { fun process(b: B) { b.output(Inv(b.element())) } } fun test_3(jb: JavaClass1.B, r: R) { jb.output(r) }