// FIR_IDENTICAL // FILE: JFooWithUpperBound.java public interface JFooWithUpperBound { T foo(); } // FILE: JFooWithUpperBoundDerived.java public interface JFooWithUpperBoundDerived extends JFooWithUpperBound { } // FILE: JCFooWithUpperBound.java public class JCFooWithUpperBound { public T foo() { return null; } } // FILE: JCFooWithUpperBoundDerived.java public class JCFooWithUpperBoundDerived extends JCFooWithUpperBound { } // FILE: K.kt interface IBase interface IDerived : IBase interface IFooWithUpperBound { fun foo(): T } interface IFooT { fun foo(): T } interface IFoo { fun foo(): IBase } interface IFooDerived : IFoo { override fun foo(): IDerived } interface IFooWithUpperBoundDerived : IFooWithUpperBound interface Test1 : IFooWithUpperBound, IFoo interface Test2 : IFooT, IFoo interface Test3 : IFooWithUpperBoundDerived, IFooDerived interface Test4 : JFooWithUpperBound, IFoo interface Test5 : JFooWithUpperBoundDerived, IFooDerived class Test6 : JCFooWithUpperBound(), IFoo class Test7 : JCFooWithUpperBoundDerived(), IFooDerived