FILE: sealedClass.kt public sealed class Foo : R|kotlin/Any| { protected constructor(value: R|kotlin/String|): R|Foo| { super() } public final val value: R|kotlin/String| = R|/value| public get(): R|kotlin/String| } public final class Bar : R|Foo| { public constructor(): R|Bar| { super(String(OK)) } } public sealed class WithPrivateConstructor : R|kotlin/Any| { private constructor(x: R|kotlin/Int|): R|WithPrivateConstructor| { super() } public final val x: R|kotlin/Int| = R|/x| public get(): R|kotlin/Int| private constructor(): R|WithPrivateConstructor| { this(Int(42)) } } public final object First : R|WithPrivateConstructor| { private constructor(): R|First| { super() } } public final object Second : R|WithPrivateConstructor| { private constructor(): R|Second| { super(Int(0)) } }