blob: 732b7aee411b334342d008fef0e727ae4ad4e999 [file]
// FIR_IDENTICAL
// See KT-9540
// all protected should have lower bound that is more permissive than private
// protected and internal should have lower bound that is more permissive than private
open class A {
private interface B
protected open class C {
protected interface D : <!EXPOSED_SUPER_INTERFACE!>B<!>
internal interface E : <!EXPOSED_SUPER_INTERFACE!>B<!>, <!EXPOSED_SUPER_INTERFACE!>D<!>
}
}
open class Owner {
protected open class A : Owner() {
protected open class ProtectedInA
}
protected abstract class B : A() {
protected abstract fun foo(): ProtectedInA
}
}