FILE: access.kt
    public final class Foo : R|kotlin/Any| {
        public constructor(): R|Foo| {
            super<R|kotlin/Any|>()
        }

        public final val x: R|kotlin/Int| = Int(1)
            public get(): R|kotlin/Int|

        public final fun abc(): R|kotlin/Int| {
            ^abc R|/Foo.x|
        }

        public final fun cba(): R|kotlin/Int| {
            ^cba R|/Foo.abc|()
        }

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

        public final val x: R|kotlin/String| = String()
            public get(): R|kotlin/String|

        public final fun R|Foo|.abc(): R|kotlin/Int| {
            ^abc R|/Foo.x|
        }

        public final fun bar(): R|Bar| {
            ^bar this#
        }

        public final operator fun R|kotlin/String|.plus(bar: R|Bar|): R|kotlin/String| {
            ^plus String()
        }

        public final fun R|Foo|.check(): <ERROR TYPE REF: Inapplicable(INAPPLICABLE): [kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus]> {
            ^check R|/Foo.abc|().<Inapplicable(INAPPLICABLE): [kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus, kotlin/Int.plus]>#(R|/bar|())
        }

        public final fun R|Foo|.check2(): R|kotlin/String| {
            ^check2 String().R|kotlin/String.plus|(R|/bar|())
        }

    }
    public final fun R|Foo|.ext(): R|kotlin/Int| {
        ^ext R|/Foo.x|
    }
    public final fun bar(): R|kotlin/Unit| {
    }
    public final fun buz(): R|kotlin/Unit| {
        R|/bar|()
    }
    public final fun f(): R|kotlin/Unit| {
        lval a: R|kotlin/Int| = Int(10)
        lval b: R|kotlin/Int| = R|<local>/a|
        lval d: R|kotlin/String| = String()
        lval c: <ERROR TYPE REF: Unresolved name: c> = <Unresolved name: c>#
        <Unresolved name: abc>#()
        local final fun bcd(): R|kotlin/Unit| {
        }

        local final fun abc(): R|kotlin/Unit| {
            lval a: R|kotlin/String| = R|<local>/d|
            lval b: R|kotlin/String| = R|<local>/a|
            R|<local>/bcd|()
            local final fun dcb(): R|kotlin/Unit| {
            }

            R|<local>/dcb|()
        }

        <Unresolved name: dcb>#()
        R|<local>/abc|()
    }
