FILE: instanceAccessBeforeSuperCall.kt public final class A : R|kotlin/Any| { public constructor(x: R|kotlin/Int| = R|A|this@R|/A|.R|/A.getSomeInt|(), other: R|A| = this@R|/A|, header: R|kotlin/String| = R|A|this@R|/A|.R|/A.keker|): R|A| { super() } public final fun getSomeInt(): R|kotlin/Int| { ^getSomeInt Int(10) } public final var keker: R|kotlin/String| = String(test) public get(): R|kotlin/String| public set(value: R|kotlin/String|): R|kotlin/Unit| } public final class B : R|kotlin/Any| { public constructor(other: R|B| = this#): R|B| { super() } } public final class C : R|kotlin/Any| { public constructor(): R|C| { super() } public constructor(x: R|kotlin/Int|): R|C| { this(fun (): '' before the instance has been initialized> { lval a: R|kotlin/Int| = Int(10) ^ this@R|/C| } ) } } public final class D : R|kotlin/Any| { public final var a: R|kotlin/Int| = Int(20) public get(): R|kotlin/Int| public set(value: R|kotlin/Int|): R|kotlin/Unit| public constructor(): R|D| { super() this@R|/D|.R|/D.a| = Int(10) } } public final fun main(): R|kotlin/Unit| { lval x1: R|kotlin/String.() -> kotlin/String| = when () { Boolean(true) -> { fun R|kotlin/String|.(): R|kotlin/String| { ^ this@R|special/anonymous| } } else -> { fun R|kotlin/String|.(): R|kotlin/String| { ^ this@R|special/anonymous| } } } } public final fun test(f: R|F|): R|kotlin/Unit| { } public final val a: = this# public get(): public final class F : R|kotlin/Any| { public constructor(a: R|kotlin/Int|, b: R|kotlin/Int|, closure: R|() -> kotlin/Unit|, instance: R|F?|): R|F| { super() } public final var a: R|kotlin/Int| = R|/a| public get(): R|kotlin/Int| public set(value: R|kotlin/Int|): R|kotlin/Unit| public constructor(x: R|kotlin/Int|): R|F| { this(R|/x|, R|/x|, fun (): R|kotlin/Unit| { lval a: R|kotlin/Int| = Int(10) this@R|/F| R|/test|(this@R|/F|) this@R|/F|.# = Int(20) } , this@R|/F|) this@R|/F|.R|/F.a| = Int(30) } } public open class Base : R|kotlin/Any| { public constructor(x: R|kotlin/Int|): R|Base| { super() } public final val x: R|kotlin/Int| = R|/x| public get(): R|kotlin/Int| } public final class Derived : R|Base| { public constructor(): R|Derived| { super(this#.#) } public final val y: R|kotlin/Int| = Int(42) public get(): R|kotlin/Int| }