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() } public final fun foo(x: R|kotlin/Int|): R|kotlin/Boolean| { ^foo this@R|/A|.R|/A.bar|(R|/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|/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|/a|.R|/A.foo|(Int(1))) R|/useBoolean|(R|/a|.R|/A.bar|(Int(1))) R|/useBoolean|(R|/a|.R|/A.w|) R|/useBoolean|(R|/a|.R|/A.z|) local final class B : R|kotlin/Any| { public constructor(): R|B| { super() } 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|/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() } 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|/b|.R|/B.foo|(Int(1))) R|/useBoolean|(R|/b|.R|/B.bar|(Int(1))) R|/useBoolean|(R|/b|.R|/B.inner|.R|/B.Inner.w|) R|/useBoolean|(R|/b|.R|/B.inner|.R|/B.Inner.z|) }