Module: m1 FILE: m1.kt package m1 public abstract interface BasicDatabase : R|kotlin/Any| { } public abstract interface BasicSchema : R|kotlin/Any| { } public abstract class BaseIntrospector : R|kotlin/Any| { public constructor(): R|m1/BaseIntrospector| { super() } protected abstract fun createDatabaseRetriever(database: R|D|): R|m1/BaseIntrospector.AbstractDatabaseRetriever| protected abstract inner class AbstractDatabaseRetriever : R|m1/BaseIntrospector.AbstractRetriever| { protected m1/BaseIntrospector.constructor(database: R|D|): R|m1/BaseIntrospector.AbstractDatabaseRetriever| { this@R|m1/BaseIntrospector|.super|>() } protected final val database: R|D| = R|/database| protected get(): R|D| } protected abstract inner class AbstractRetriever : R|kotlin/Any| { public m1/BaseIntrospector.constructor(): R|m1/BaseIntrospector.AbstractRetriever| { super() } } } public abstract interface BasicSingleDatabase : R|m1/BasicDatabase| { } public abstract interface BasicModSchema : R|m1/BasicSchema| { } public abstract class BaseSingleDatabaseIntrospector : R|m1/BaseIntrospector| { protected constructor(): R|m1/BaseSingleDatabaseIntrospector| { super|>() } } Module: m2 FILE: m2.kt package m2 public abstract interface SqliteRoot : R|m1/BasicSingleDatabase| { } public abstract interface SqliteSchema : R|m1/BasicModSchema| { } public final class SqliteIntrospector : R|m1/BaseSingleDatabaseIntrospector| { public constructor(): R|m2/SqliteIntrospector| { super|>() } protected open override fun createDatabaseRetriever(database: R|m2/SqliteRoot|): R|m1/BaseIntrospector.AbstractDatabaseRetriever| { ^createDatabaseRetriever object : R|m1/BaseIntrospector.AbstractDatabaseRetriever| { private constructor(): R|m2/| { this@R|m2/SqliteIntrospector|.super|>(R|/database|) } } } }