FILE: K1.kt public final class KSub : R|J1| { public constructor(): R|KSub| { super() } } public final fun main(k: R|KSub|, vString: R|SuperClass.NestedInSuperClass|, vInt: R|SuperClass.NestedInSuperClass|): R|kotlin/Unit| { R|/k|.R|/J1.getImpl|().R|SubstitutionOverride|(R|/vString|) R|/k|.R|/J1.getImpl|().R|SubstitutionOverride#|(R|/vInt|) R|/k|.R|/J1.getNestedSubClass|().R|SubstitutionOverride|(String()) R|/k|.R|/J1.getNestedSubClass|().R|SubstitutionOverride#|(Int(1)) } FILE: K2.kt public open class KFirst : R|SuperClass|, R|SuperI| { public constructor(): R|KFirst| { super|>() } } FILE: K3.kt public abstract class SuperClass : R|kotlin/Any| { public constructor(): R|SuperClass| { super() } public open inner class NestedInSuperClass : R|kotlin/Any| { public SuperClass.constructor(): R|SuperClass.NestedInSuperClass| { super() } public final fun nested(x: R|T|): R|kotlin/Unit| { } } } public abstract interface SuperI : R|kotlin/Any| { public abstract interface NestedInI : R|kotlin/Any| { public open fun nestedI(f: R|F|): R|kotlin/Unit| { } } }