Tower Data Context:
    Element 0
        Scope: FirDefaultStarImportingScope
    Element 1
        Scope: FirDefaultSimpleImportingScope
    Element 2
        Scope: FirExplicitStarImportingScope
    Element 3
        Scope: FirDefaultSimpleImportingScope
    Element 4
        Scope: FirDefaultSimpleImportingScope
    Element 5
        Scope: FirPackageMemberScope
    Element 6
        Scope: FirExplicitSimpleImportingScope
    Element 7
        Scope: FirLocalScope
            Properties:
                FirValueParameterSymbol a: R|kotlin/Any|
    Element 8
        Scope: FirLocalScope
Smart Casts:
    FirValueParameterSymbol a: R|kotlin/Any|
    Types:
        Foo
        kotlin.Any

FILE: [ResolvedTo(IMPORTS)] onReference.kt
    public final [ResolvedTo(BODY_RESOLVE)] fun test([ResolvedTo(BODY_RESOLVE)] a: R|kotlin/Any|): R|kotlin/Unit| {
        when () {
            (R|<local>/a| !is R|Foo|) ->  {
                ^test Unit
            }
        }

        R|/check|(R|<local>/a|.R|/Foo.process|())
    }
    public final [ResolvedTo(CONTRACTS)] fun check([ResolvedTo(CONTRACTS)] condition: R|kotlin/Boolean|): R|kotlin/Unit| {
    }
    public abstract [ResolvedTo(STATUS)] interface Foo : R|kotlin/Any| {
        public abstract [ResolvedTo(CONTRACTS)] fun process(): R|kotlin/Boolean|

    }
