FILE: objectInnerClass.kt
    public final val case1: R|A| = object : R|A| {
        private constructor(): R|<anonymous>| {
            super<R|kotlin/Any|>()
        }

        local final inner class Child : R|<anonymous>.Base| {
            public <anonymous>.constructor(property: R|B|): R|<anonymous>.Child| {
                this@R|/<anonymous>|.super<R|<anonymous>.Base|>(R|<local>/property|)
            }

            public final fun R|<anonymous>.Base|.zoo(): R|kotlin/Unit| {
                lval x: R|B| = this@R|<local>/zoo|.R|<local>/property|
            }

            public final fun foo(): R|kotlin/Unit| {
                this@R|/<anonymous>.Child|.R|<local>/baseFun|()
                lval x: R|B| = this@R|/<anonymous>.Child|.R|<local>/property|
                (this@R|/<anonymous>.Child|, this@R|/<anonymous>.Child|).R|<local>/zoo|()
                (this@R|/<anonymous>|, this@R|/<anonymous>.Child|).R|/<anonymous>.hoo|()
            }

        }

        public final fun R|<anonymous>.Child|.voo(): R|kotlin/Unit| {
            lval x: R|B| = this@R|/<anonymous>.voo|.R|<local>/property|
        }

        public final fun R|<anonymous>.Base|.hoo(): R|kotlin/Unit| {
            lval x: R|B| = this@R|/<anonymous>.hoo|.R|<local>/property|
        }

        local open inner class Base : R|kotlin/Any| {
            public <anonymous>.constructor(property: R|B|): R|<anonymous>.Base| {
                super<R|kotlin/Any|>()
            }

            public final val property: R|B| = R|<local>/property|
                public get(): R|B|

            public final fun baseFun(): R|kotlin/Unit| {
            }

        }

        public final fun caseForBase(): R|kotlin/Unit| {
            lval base: R|<anonymous>.Base| = this@R|/<anonymous>|.R|/<anonymous>.Base.Base|(R|/B.B|())
            R|<local>/base|.R|<local>/baseFun|()
            R|<local>/base|.R|<local>/property|
            (this@R|/<anonymous>|, R|<local>/base|).R|/<anonymous>.hoo|()
        }

        public final fun caseForChild(): R|kotlin/Unit| {
            lval child: R|<anonymous>.Child| = this@R|/<anonymous>|.R|/<anonymous>.Child.Child|(R|/B.B|())
            R|<local>/child|.R|<local>/baseFun|()
            R|<local>/child|.R|<local>/property|
            R|<local>/child|.R|<local>/foo|()
            (this@R|/<anonymous>|, R|<local>/child|).R|/<anonymous>.hoo|()
            (this@R|/<anonymous>|, R|<local>/child|).R|/<anonymous>.voo|()
        }

    }

        public get(): R|A|
    public final class Case2 : R|kotlin/Any| {
        public constructor(): R|Case2| {
            super<R|kotlin/Any|>()
        }

        public final val x: R|Case2.Base| = object : R|Case2.Base| {
            private constructor(): R|<anonymous>| {
                this@R|/Case2|.super<R|Case2.Base|>(R|/B.B|())
            }

            public final fun R|Case2.Base|.zoo(): R|kotlin/Unit| {
                lval x: R|B| = this@R|/<anonymous>.zoo|.R|/Case2.Base.property|
            }

            public final fun foo(): R|kotlin/Unit| {
                this@R|/<anonymous>|.R|/Case2.Base.baseFun|()
                lval x: R|B| = this@R|/<anonymous>|.R|/Case2.Base.property|
                (this@R|/<anonymous>|, this@R|/<anonymous>|).R|/<anonymous>.zoo|()
                (this@R|/Case2|, this@R|/<anonymous>|).R|/Case2.hoo|()
            }

        }

            public get(): R|Case2.Base|

        public final fun R|Case2.Base|.hoo(): R|kotlin/Unit| {
            lval x: R|B| = this@R|/Case2.hoo|.R|/Case2.Base.property|
        }

        public open inner class Base : R|kotlin/Any| {
            public Case2.constructor(property: R|B|): R|Case2.Base| {
                super<R|kotlin/Any|>()
            }

            public final val property: R|B| = R|<local>/property|
                public get(): R|B|

            public final fun baseFun(): R|kotlin/Unit| {
            }

        }

        public final fun caseForBase(): R|kotlin/Unit| {
            lval base: R|Case2.Base| = this@R|/Case2|.R|/Case2.Base.Base|(R|/B.B|())
            R|<local>/base|.R|/Case2.Base.baseFun|()
            R|<local>/base|.R|/Case2.Base.property|
            (this@R|/Case2|, R|<local>/base|).R|/Case2.hoo|()
        }

        public final fun caseForChild(): R|kotlin/Unit| {
            lval child: R|Case2.Base| = this@R|/Case2|.R|/Case2.x|
            R|<local>/child|.R|/Case2.Base.baseFun|()
            R|<local>/child|.R|/Case2.Base.property|
            (this@R|/Case2|, R|<local>/child|).R|/Case2.hoo|()
        }

    }
    public final class Case3 : R|kotlin/Any| {
        public constructor(): R|Case3| {
            super<R|kotlin/Any|>()
        }

        public final val x: R|A| = object : R|A| {
            private constructor(): R|<anonymous>| {
                super<R|kotlin/Any|>()
            }

            local final inner class Child : R|Case3.<anonymous>.Base| {
                public <anonymous>.constructor(property: R|B|): R|Case3.<anonymous>.Child| {
                    this@R|/<anonymous>|.super<R|Case3.<anonymous>.Base|>(R|<local>/property|)
                }

                public final fun R|Case3.<anonymous>.Base|.zoo(): R|kotlin/Unit| {
                    lval x: R|B| = this@R|<local>/zoo|.R|<local>/property|
                }

                public final fun foo(): R|kotlin/Unit| {
                    this@R|/Case3.<anonymous>.Child|.R|<local>/baseFun|()
                    lval x: R|B| = this@R|/Case3.<anonymous>.Child|.R|<local>/property|
                    (this@R|/Case3.<anonymous>.Child|, this@R|/Case3.<anonymous>.Child|).R|<local>/zoo|()
                    (this@R|/<anonymous>|, this@R|/Case3.<anonymous>.Child|).R|/<anonymous>.hoo|()
                }

            }

            public final fun R|Case3.<anonymous>.Child|.voo(): R|kotlin/Unit| {
                lval x: R|B| = this@R|/<anonymous>.voo|.R|<local>/property|
            }

            public final fun R|Case3.<anonymous>.Base|.hoo(): R|kotlin/Unit| {
                lval x: R|B| = this@R|/<anonymous>.hoo|.R|<local>/property|
            }

            local open inner class Base : R|kotlin/Any| {
                public <anonymous>.constructor(property: R|B|): R|Case3.<anonymous>.Base| {
                    super<R|kotlin/Any|>()
                }

                public final val property: R|B| = R|<local>/property|
                    public get(): R|B|

                public final fun baseFun(): R|kotlin/Unit| {
                }

            }

            public final fun caseForBase(): R|kotlin/Unit| {
                lval base: R|Case3.<anonymous>.Base| = this@R|/<anonymous>|.R|/Case3.<anonymous>.Base.Base|(R|/B.B|())
                R|<local>/base|.R|<local>/baseFun|()
                R|<local>/base|.R|<local>/property|
                (this@R|/<anonymous>|, R|<local>/base|).R|/<anonymous>.hoo|()
            }

            public final fun caseForChild(): R|kotlin/Unit| {
                lval child: R|Case3.<anonymous>.Child| = this@R|/<anonymous>|.R|/Case3.<anonymous>.Child.Child|(R|/B.B|())
                R|<local>/child|.R|<local>/baseFun|()
                R|<local>/child|.R|<local>/property|
                R|<local>/child|.R|<local>/foo|()
                (this@R|/<anonymous>|, R|<local>/child|).R|/<anonymous>.hoo|()
                (this@R|/<anonymous>|, R|<local>/child|).R|/<anonymous>.voo|()
            }

        }

            public get(): R|A|

    }
    public abstract interface A : R|kotlin/Any| {
    }
    public final class B : R|kotlin/Any| {
        public constructor(): R|B| {
            super<R|kotlin/Any|>()
        }

    }
