Tower Data Context:
    Element 0
        Scope: FirDefaultStarImportingScope
    Element 1
        Scope: FirExplicitStarImportingScope
    Element 2
        Scope: FirDefaultSimpleImportingScope
    Element 3
        Scope: FirDefaultSimpleImportingScope
    Element 4
        Scope: FirPackageMemberScope
    Element 5
        Scope: FirExplicitSimpleImportingScope
    Element 6
        Scope: FirLocalScope
            Properties:
                FirValueParameterSymbol c: R|kotlin/Any|
                FirValueParameterSymbol p: R|kotlin/Boolean|
    Element 7
        Context parameters:
            FirValueParameterSymbol c: R|kotlin/Any|
                Type: kotlin.Int
    Element 8
        Scope: FirLocalScope
    Element 9
        Scope: FirLocalScope
Smart Casts:
    FirValueParameterSymbol c: R|kotlin/Any|
    Types:
        kotlin.Int
        kotlin.Any

FILE: [ResolvedTo(IMPORTS)] smartCastFunction.kt
    context([ResolvedTo(CONTRACTS)] <unused var>: R|kotlin/Int|)
    public final [ResolvedTo(CONTRACTS)] fun bar(): R|kotlin/Unit| { LAZY_BLOCK }
    public final [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| { LAZY_BLOCK }
    context([ResolvedTo(ANNOTATION_ARGUMENTS)] c: R|kotlin/Any|)
    public final [ResolvedTo(ANNOTATION_ARGUMENTS)] [PartialBodyAnalysisStateKey=1(1/2) #1] fun foo([ResolvedTo(ANNOTATION_ARGUMENTS)] p: R|kotlin/Boolean|): R|kotlin/Unit| {
        when () {
            (R|<local>/c| is R|kotlin/Int|) ->  {
                context(R|<local>/c|) R|/bar|()
            }
        }

        bar#()
    }