// MODULE: lib // FILE: A.kt package test interface CodeBlock { fun foo(): String } interface CompositeCodeBlock: CodeBlock { override fun foo(): String { return "OK" } } interface ForLoopBody : CodeBlock abstract class CodeBlockBase: CompositeCodeBlock abstract class LineSeparatedCodeBlock: CodeBlockBase() // MODULE: main(lib) // FILE: B.kt import test.* open class KotlinCodeBlock: LineSeparatedCodeBlock() class KotlinForLoopBody : KotlinCodeBlock(), ForLoopBody fun box(): String { return KotlinForLoopBody().foo() }