// SKIP_WHEN_OUT_OF_CONTENT_ROOT
// MODULE: topmost
// MODULE_KIND: LibraryBinary
// FILE: topmost.kt
package org.example

interface Base {
    fun topmost()
}

typealias Alias = Base

interface TopmostAdditional : Topmost

interface Topmost : Alias

// MODULE: top(topmost)
// FILE: top.kt
package org.example

interface Base : TopAdditional {
    fun top()
}

// FILE: TopAdditional.java
package org.example;

public interface TopAdditional extends Top {

}

// FILE: Top.java
package org.example;

public interface Top extends Topmost {

}

// MODULE: middle(top)
// FILE: middle.kt
package org.example

interface Base : MiddleAdditional {
    fun middle()
}

interface MiddleAdditional : Middle

interface Middle : Top

// MODULE: bottom(middle)
// FILE: bottom.kt
package org.example

interface Base : BottomAdditional {
    fun bottom()
}

interface BottomAdditional : Bottom

interface Bot<caret>tom : Middle
