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
        Implicit receiver:
            FirRegularClassSymbol public final? companion object Companion : R|kotlin/Any|
                Type: Foo.Companion
    Element 7
        Scope: FirNestedClassifierScopeImpl
            Classifiers:
                FirRegularClassSymbol public final? companion object Companion : R|kotlin/Any|
                FirRegularClassSymbol public final? class NestedClass : R|kotlin/Any|
        Static scope owner symbol: FirRegularClassSymbol public final class Foo<TypeParameter> : R|kotlin/Any|
    Element 8
        Scope: FirMemberTypeParameterScope
            Classifiers:
                FirTypeParameterSymbol TypeParameter
    Element 9
        Scope: FirLocalScope
            Properties:
                FirValueParameterSymbol a: R|kotlin/String| = String(foo)
                FirValueParameterSymbol b: R|kotlin/Int| = R|<local>/a|.R|kotlin/String.length|
                FirValueParameterSymbol c: R|kotlin/Long| = R|<local>/a|.R|kotlin/String.length|.R|kotlin/Int.minus|(Int(1)).R|kotlin/Int.toLong|()

FILE: [ResolvedTo(IMPORTS)] primaryConstructorProperty_annotationOnProperty.kt
    @Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class MyAnnotation : R|kotlin/Annotation| {
        public? [ResolvedTo(RAW_FIR)] constructor([ResolvedTo(RAW_FIR)] name: String): R|MyAnnotation| {
            LAZY_super<R|kotlin/Any|>
        }

        public? final? [ResolvedTo(RAW_FIR)] val name: String = R|<local>/name|
            public? [ResolvedTo(RAW_FIR)] get(): String

    }
    public final? [ResolvedTo(RAW_FIR)] class Foo<[ResolvedTo(RAW_FIR)] TypeParameter> : R|kotlin/Any| {
        public [ResolvedTo(BODY_RESOLVE)] constructor<[ResolvedTo(RAW_FIR)] TypeParameter>([ResolvedTo(BODY_RESOLVE)] a: R|kotlin/String| = String(foo), [ResolvedTo(BODY_RESOLVE)] b: R|kotlin/Int| = R|<local>/a|.R|kotlin/String.length|, [ResolvedTo(BODY_RESOLVE)] c: R|kotlin/Long| = R|<local>/a|.R|kotlin/String.length|.R|kotlin/Int.minus|(Int(1)).R|kotlin/Int.toLong|()): R|Foo<TypeParameter>| {
            super<R|kotlin/Any|>()
        }

        public? final? [ResolvedTo(RAW_FIR)] val a: String = R|<local>/a|
            public? [ResolvedTo(RAW_FIR)] get(): String

        @MyAnnotation[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] val b: Int = R|<local>/b|
            public? [ResolvedTo(RAW_FIR)] get(): Int

        public? final? [ResolvedTo(RAW_FIR)] val c: Long = R|<local>/c|
            public? [ResolvedTo(RAW_FIR)] get(): Long

        public final? [ResolvedTo(RAW_FIR)] class NestedClass : R|kotlin/Any| {
            public? [ResolvedTo(RAW_FIR)] constructor(): R|Foo.NestedClass| {
                LAZY_super<R|kotlin/Any|>
            }

        }

        public final? companion [ResolvedTo(RAW_FIR)] object Companion : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] constructor(): R|Foo.Companion| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? const [ResolvedTo(RAW_FIR)] val CONSTANT_NAME: String = LAZY_EXPRESSION
                public? [ResolvedTo(RAW_FIR)] get(): String

        }

    }
