FILE: implicitInLocalClasses.kt
    public final fun useBoolean(b: R|kotlin/Boolean|): R|kotlin/Unit| {
    }
    public final fun main(): R|kotlin/Unit| {
        local final class A : R|kotlin/Any| {
            public constructor(): R|A| {
                super<R|kotlin/Any|>()
            }

            public final fun foo(x: R|kotlin/Int|): R|kotlin/Boolean| {
                ^foo this@R|/A|.R|/A.bar|(R|<local>/x|)
            }

            public final fun bar(y: R|kotlin/Int|): R|kotlin/Boolean| {
                ^bar CMP(>, this@R|/A|.R|kotlin/Any.hashCode|().R|kotlin/Int.plus|(R|<local>/y|).R|kotlin/Int.compareTo|(Int(0)))
            }

            public final val w: R|kotlin/Boolean|
                public get(): R|kotlin/Boolean| {
                    ^ this@R|/A|.R|/A.z|
                }

            public final val z: R|kotlin/Boolean|
                public get(): R|kotlin/Boolean| {
                    ^ ==(this@R|/A|.R|kotlin/Any.hashCode|(), Int(0))
                }

        }

        lval a: R|A| = R|/A.A|()
        R|/useBoolean|(R|<local>/a|.R|/A.foo|(Int(1)))
        R|/useBoolean|(R|<local>/a|.R|/A.bar|(Int(1)))
        R|/useBoolean|(R|<local>/a|.R|/A.w|)
        R|/useBoolean|(R|<local>/a|.R|/A.z|)
        local final class B : R|kotlin/Any| {
            public constructor(): R|B| {
                super<R|kotlin/Any|>()
            }

            public final fun foo(x: R|kotlin/Int|): R|kotlin/Boolean| {
                ^foo this@R|/B|.R|/B.inner|.R|/B.Inner.w|
            }

            public final fun bar(y: R|kotlin/Int|): R|kotlin/Boolean| {
                ^bar CMP(>, this@R|/B|.R|kotlin/Any.hashCode|().R|kotlin/Int.plus|(R|<local>/y|).R|kotlin/Int.compareTo|(Int(0)))
            }

            public final val inner: R|B.Inner| = this@R|/B|.R|/B.Inner.Inner|()
                public get(): R|B.Inner|

            local final inner class Inner : R|kotlin/Any| {
                public constructor(): R|B.Inner| {
                    super<R|kotlin/Any|>()
                }

                public final val w: R|kotlin/Boolean|
                    public get(): R|kotlin/Boolean| {
                        ^ this@R|/B.Inner|.R|/B.Inner.z|
                    }

                public final val z: R|kotlin/Boolean|
                    public get(): R|kotlin/Boolean| {
                        ^ this@R|/B|.R|/B.bar|(Int(1))
                    }

            }

        }

        lval b: R|B| = R|/B.B|()
        R|/useBoolean|(R|<local>/b|.R|/B.foo|(Int(1)))
        R|/useBoolean|(R|<local>/b|.R|/B.bar|(Int(1)))
        R|/useBoolean|(R|<local>/b|.R|/B.inner|.R|/B.Inner.w|)
        R|/useBoolean|(R|<local>/b|.R|/B.inner|.R|/B.Inner.z|)
    }
