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

        public final val it: R|kotlin/Number|
            private <explicit backing field>: R|kotlin/Int| = Int(4)
            public get(): R|kotlin/Number|

        public final fun test(): R|kotlin/Int| {
            ^test this@R|/A|.R|/A.it|.R|kotlin/Int.plus|(Int(3))
        }

        public final val p: R|kotlin/Int| = Int(5)
            public get(): R|kotlin/Int| {
                ^ this@R|/A|.F|/A.p|
            }

    }
    public final fun test(): R|kotlin/Unit| {
        lval c: <ERROR TYPE REF: Unresolved name: plus> = R|/A.A|().R|/A.it|.<Unresolved name: plus>#(Int(1))
        lval d: R|kotlin/Unit| = R|/test|()
        lval b: R|kotlin/Int| = R|/A.A|().R|/A.p|.R|kotlin/Int.plus|(Int(2))
    }
