FILE: kt69190.kt
    public abstract class A : R|kotlin/Any| {
        public constructor(): R|A| {
            super<R|kotlin/Any|>()
        }

        public abstract val a: R|kotlin/CharSequence|
            public get(): R|kotlin/CharSequence|

        protected abstract val b: R|kotlin/CharSequence|
            protected get(): R|kotlin/CharSequence|

    }
    public sealed class B : R|A| {
        protected constructor(): R|B| {
            super<R|A|>()
        }

        public abstract override val a: R|kotlin/String|
            public get(): R|kotlin/String|

        protected abstract override val b: R|kotlin/String|
            protected get(): R|kotlin/String|

    }
    public final class C : R|B| {
        public constructor(): R|C| {
            super<R|B|>()
        }

        public open override var a: R|kotlin/String| = String()
            public get(): R|kotlin/String|
            private set(value: R|kotlin/String|): R|kotlin/Unit|

        protected open override var b: R|kotlin/String| = String()
            protected get(): R|kotlin/String|
            private set(value: R|kotlin/String|): R|kotlin/Unit|

    }
