RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] localImplicitTypeUnavailableInImplicitBodyScript.kts
    context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
    SCRIPT: [ResolvedTo(RAW_FIR)] <script-localImplicitTypeUnavailableInImplicitBodyScript.kts>
        [ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|

        @Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=second/Anno.str] str: KClass<*>): R|second/Anno| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: KClass<*> = R|<local>/str|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): KClass<*>

        }

        public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> lambda([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }

        public? final? [ResolvedTo(RAW_FIR)] fun check(): <implicit> { LAZY_BLOCK }


IMPORTS:
FILE: [ResolvedTo(IMPORTS)] localImplicitTypeUnavailableInImplicitBodyScript.kts
    context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
    SCRIPT: [ResolvedTo(RAW_FIR)] <script-localImplicitTypeUnavailableInImplicitBodyScript.kts>
        [ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|

        @Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=second/Anno.str] str: KClass<*>): R|second/Anno| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: KClass<*> = R|<local>/str|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): KClass<*>

        }

        public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> lambda([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }

        public? final? [ResolvedTo(RAW_FIR)] fun check(): <implicit> { LAZY_BLOCK }


COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] localImplicitTypeUnavailableInImplicitBodyScript.kts
    context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
    SCRIPT: [ResolvedTo(RAW_FIR)] <script-localImplicitTypeUnavailableInImplicitBodyScript.kts>
        [ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|

        @Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=second/Anno.str] str: KClass<*>): R|second/Anno| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: KClass<*> = R|<local>/str|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): KClass<*>

        }

        public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> lambda([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }

        public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun check(): <implicit> { LAZY_BLOCK }


COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] localImplicitTypeUnavailableInImplicitBodyScript.kts
    context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
    SCRIPT: [ResolvedTo(RAW_FIR)] <script-localImplicitTypeUnavailableInImplicitBodyScript.kts>
        [ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|

        @Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=second/Anno.str] str: KClass<*>): R|second/Anno| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: KClass<*> = R|<local>/str|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): KClass<*>

        }

        public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> lambda([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }

        public? final? [ResolvedTo(COMPANION_GENERATION)] fun check(): <implicit> { LAZY_BLOCK }


SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] localImplicitTypeUnavailableInImplicitBodyScript.kts
    context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
    SCRIPT: [ResolvedTo(RAW_FIR)] <script-localImplicitTypeUnavailableInImplicitBodyScript.kts>
        [ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|

        @Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=second/Anno.str] str: KClass<*>): R|second/Anno| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: KClass<*> = R|<local>/str|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): KClass<*>

        }

        public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> lambda([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }

        public? final? [ResolvedTo(SUPER_TYPES)] fun check(): <implicit> { LAZY_BLOCK }


TYPES:
FILE: [ResolvedTo(IMPORTS)] localImplicitTypeUnavailableInImplicitBodyScript.kts
    context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
    SCRIPT: [ResolvedTo(RAW_FIR)] <script-localImplicitTypeUnavailableInImplicitBodyScript.kts>
        [ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|

        @Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=second/Anno.str] str: KClass<*>): R|second/Anno| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: KClass<*> = R|<local>/str|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): KClass<*>

        }

        public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> lambda([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }

        public? final? [ResolvedTo(TYPES)] fun check(): <implicit> { LAZY_BLOCK }


STATUS:
FILE: [ResolvedTo(IMPORTS)] localImplicitTypeUnavailableInImplicitBodyScript.kts
    context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
    SCRIPT: [ResolvedTo(RAW_FIR)] <script-localImplicitTypeUnavailableInImplicitBodyScript.kts>
        [ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|

        @Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=second/Anno.str] str: KClass<*>): R|second/Anno| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: KClass<*> = R|<local>/str|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): KClass<*>

        }

        public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> lambda([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }

        public final [ResolvedTo(STATUS)] fun check(): <implicit> { LAZY_BLOCK }


EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] localImplicitTypeUnavailableInImplicitBodyScript.kts
    context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
    SCRIPT: [ResolvedTo(RAW_FIR)] <script-localImplicitTypeUnavailableInImplicitBodyScript.kts>
        [ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|

        @Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=second/Anno.str] str: KClass<*>): R|second/Anno| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: KClass<*> = R|<local>/str|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): KClass<*>

        }

        public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> lambda([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }

        public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun check(): <implicit> { LAZY_BLOCK }


CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] localImplicitTypeUnavailableInImplicitBodyScript.kts
    context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
    SCRIPT: [ResolvedTo(TYPES)] <script-localImplicitTypeUnavailableInImplicitBodyScript.kts>
        [ResolvedTo(TYPES)] lval args: R|kotlin/Array<kotlin/String>|

        @Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=second/Anno.str] str: KClass<*>): R|second/Anno| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: KClass<*> = R|<local>/str|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): KClass<*>

        }

        public? final? [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] T> lambda([ResolvedTo(RAW_FIR)] action: ( () -> T )): T { LAZY_BLOCK }

        public final [ResolvedTo(CONTRACTS)] fun check(): <implicit> { LAZY_BLOCK }


IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] localImplicitTypeUnavailableInImplicitBodyScript.kts
    context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
    SCRIPT: [ResolvedTo(TYPES)] <script-localImplicitTypeUnavailableInImplicitBodyScript.kts>
        [ResolvedTo(TYPES)] lval args: R|kotlin/Array<kotlin/String>|

        @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=second/Anno.str] str: R|kotlin/reflect/KClass<*>|): R|second/Anno| {
                LAZY_super<R|kotlin/Any|>
            }

            public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val str: R|kotlin/reflect/KClass<*>| = R|<local>/str|
                public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/reflect/KClass<*>|

        }

        public final [ResolvedTo(CONTRACTS)] fun <[ResolvedTo(CONTRACTS)] T> lambda([ResolvedTo(CONTRACTS)] action: R|() -> T|): R|T| {
            ^lambda action#()
        }

        public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun check(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| {
            ^check R|second/lambda|<R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|>(<L> = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<T>] lambda@fun <anonymous>(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| <inline=NoInline>  {
                local final [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
                    public [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|<local>/A| {
                        super<R|kotlin/Any|>()
                    }

                    public final [ResolvedTo(RAW_FIR)] val bar: R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|
                        public [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| {
                            ^ this@R|<local>/A|.R|<local>/A.B.B|().R|<local>/foo|
                        }

                    local final inner [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] class B : R|kotlin/Any| {
                        public [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] <local>/A.constructor(): R|<local>/A.B| {
                            super<R|kotlin/Any|>()
                        }

                        public final [ResolvedTo(RAW_FIR)] var foo: R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| = Null(null)
                            public [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] get(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|
                            public [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] set([ResolvedTo(RAW_FIR)] value: R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|): R|kotlin/Unit|

                        local final inner [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] class C : R|kotlin/Any| {
                            public [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] <local>/A.B.constructor(): R|<local>/A.B.C| {
                                super<R|kotlin/Any|>()
                            }

                        }

                    }

                }

                ^ R|<local>/A.A|().R|<local>/bar|
            }
            )
        }


CONSTANT_EVALUATION:
FILE: [ResolvedTo(IMPORTS)] localImplicitTypeUnavailableInImplicitBodyScript.kts
    context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
    SCRIPT: [ResolvedTo(TYPES)] <script-localImplicitTypeUnavailableInImplicitBodyScript.kts>
        [ResolvedTo(TYPES)] lval args: R|kotlin/Array<kotlin/String>|

        @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=second/Anno.str] str: R|kotlin/reflect/KClass<*>|): R|second/Anno| {
                LAZY_super<R|kotlin/Any|>
            }

            public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val str: R|kotlin/reflect/KClass<*>| = R|<local>/str|
                public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/reflect/KClass<*>|

        }

        public final [ResolvedTo(CONTRACTS)] fun <[ResolvedTo(CONTRACTS)] T> lambda([ResolvedTo(CONTRACTS)] action: R|() -> T|): R|T| {
            ^lambda action#()
        }

        public final [ResolvedTo(CONSTANT_EVALUATION)] fun check(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| {
            ^check R|second/lambda|<R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|>(<L> = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<T>] lambda@fun <anonymous>(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| <inline=NoInline>  {
                local final [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
                    public [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|<local>/A| {
                        super<R|kotlin/Any|>()
                    }

                    public final [ResolvedTo(RAW_FIR)] val bar: R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|
                        public [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| {
                            ^ this@R|<local>/A|.R|<local>/A.B.B|().R|<local>/foo|
                        }

                    local final inner [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] class B : R|kotlin/Any| {
                        public [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] <local>/A.constructor(): R|<local>/A.B| {
                            super<R|kotlin/Any|>()
                        }

                        public final [ResolvedTo(RAW_FIR)] var foo: R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| = Null(null)
                            public [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] get(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|
                            public [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] set([ResolvedTo(RAW_FIR)] value: R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|): R|kotlin/Unit|

                        local final inner [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] class C : R|kotlin/Any| {
                            public [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] <local>/A.B.constructor(): R|<local>/A.B.C| {
                                super<R|kotlin/Any|>()
                            }

                        }

                    }

                }

                ^ R|<local>/A.A|().R|<local>/bar|
            }
            )
        }


ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] localImplicitTypeUnavailableInImplicitBodyScript.kts
    context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
    SCRIPT: [ResolvedTo(TYPES)] <script-localImplicitTypeUnavailableInImplicitBodyScript.kts>
        [ResolvedTo(TYPES)] lval args: R|kotlin/Array<kotlin/String>|

        @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=second/Anno.str] str: R|kotlin/reflect/KClass<*>|): R|second/Anno| {
                LAZY_super<R|kotlin/Any|>
            }

            public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val str: R|kotlin/reflect/KClass<*>| = R|<local>/str|
                public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/reflect/KClass<*>|

        }

        public final [ResolvedTo(CONTRACTS)] fun <[ResolvedTo(CONTRACTS)] T> lambda([ResolvedTo(CONTRACTS)] action: R|() -> T|): R|T| {
            ^lambda action#()
        }

        public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun check(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| {
            ^check R|second/lambda|<R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|>(<L> = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0<T>] lambda@fun <anonymous>(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| <inline=NoInline>  {
                local final [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
                    public [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|<local>/A| {
                        super<R|kotlin/Any|>()
                    }

                    public final [ResolvedTo(RAW_FIR)] val bar: R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|
                        public [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| {
                            ^ this@R|<local>/A|.R|<local>/A.B.B|().R|<local>/foo|
                        }

                    local final inner [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] class B : R|kotlin/Any| {
                        public [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] <local>/A.constructor(): R|<local>/A.B| {
                            super<R|kotlin/Any|>()
                        }

                        public final [ResolvedTo(RAW_FIR)] var foo: R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| = Null(null)
                            public [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] get(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|
                            public [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] set([ResolvedTo(RAW_FIR)] value: R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|): R|kotlin/Unit|

                        local final inner [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] class C : R|kotlin/Any| {
                            public [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] <local>/A.B.constructor(): R|<local>/A.B.C| {
                                super<R|kotlin/Any|>()
                            }

                        }

                    }

                }

                ^ R|<local>/A.A|().R|<local>/bar|
            }
            )
        }


BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] localImplicitTypeUnavailableInImplicitBodyScript.kts
    context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
    SCRIPT: [ResolvedTo(TYPES)] <script-localImplicitTypeUnavailableInImplicitBodyScript.kts>
        [ResolvedTo(TYPES)] lval args: R|kotlin/Array<kotlin/String>|

        @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=second/Anno.str] str: R|kotlin/reflect/KClass<*>|): R|second/Anno| {
                LAZY_super<R|kotlin/Any|>
            }

            public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val str: R|kotlin/reflect/KClass<*>| = R|<local>/str|
                public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/reflect/KClass<*>|

        }

        public final [ResolvedTo(CONTRACTS)] fun <[ResolvedTo(CONTRACTS)] T> lambda([ResolvedTo(CONTRACTS)] action: R|() -> T|): R|T| {
            ^lambda action#()
        }

        public final [ResolvedTo(BODY_RESOLVE)] fun check(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| {
            ^check R|second/lambda|<R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|>(<L> = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function0<T>] lambda@fun <anonymous>(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| <inline=NoInline>  {
                local final [ResolvedTo(BODY_RESOLVE)] class A : R|kotlin/Any| {
                    public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|<local>/A| {
                        super<R|kotlin/Any|>()
                    }

                    public final [ResolvedTo(BODY_RESOLVE)] val bar: R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|
                        public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] get(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| {
                            ^ this@R|<local>/A|.R|<local>/A.B.B|().R|<local>/foo|
                        }

                    local final inner [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] class B : R|kotlin/Any| {
                        public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] <local>/A.constructor(): R|<local>/A.B| {
                            super<R|kotlin/Any|>()
                        }

                        public final [ResolvedTo(BODY_RESOLVE)] var foo: R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| = Null(null)
                            public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] get(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|
                            public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] set([ResolvedTo(BODY_RESOLVE)] value: R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|): R|kotlin/Unit|

                        local final inner [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] class C : R|kotlin/Any| {
                            public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] <local>/A.B.constructor(): R|<local>/A.B.C| {
                                super<R|kotlin/Any|>()
                            }

                        }

                    }

                }

                ^ R|<local>/A.A|().R|<local>/bar|
            }
            )
        }


FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] localImplicitTypeUnavailableInImplicitBodyScript.kts
    context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
    SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-localImplicitTypeUnavailableInImplicitBodyScript.kts>
        [ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|

        @R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|)) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
            public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=second/Anno.str] str: R|kotlin/reflect/KClass<*>|): R|second/Anno| {
                super<R|kotlin/Any|>()
            }

            public final [ResolvedTo(BODY_RESOLVE)] [IsFromPrimaryConstructor=true] val str: R|kotlin/reflect/KClass<*>| = R|<local>/str|
                public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] get(): R|kotlin/reflect/KClass<*>|

        }

        public final [ResolvedTo(BODY_RESOLVE)] fun <[ResolvedTo(BODY_RESOLVE)] T> lambda([ResolvedTo(BODY_RESOLVE)] action: R|() -> T|): R|T| {
            ^lambda R|<local>/action|.R|SubstitutionOverride<kotlin/Function0.invoke: R|T|>|()
        }

        public final [ResolvedTo(BODY_RESOLVE)] fun check(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| {
            ^check R|second/lambda|<R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|>(<L> = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function0<T>] lambda@fun <anonymous>(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| <inline=NoInline>  {
                local final [ResolvedTo(BODY_RESOLVE)] class A : R|kotlin/Any| {
                    public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|<local>/A| {
                        super<R|kotlin/Any|>()
                    }

                    public final [ResolvedTo(BODY_RESOLVE)] val bar: R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|
                        public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] get(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| {
                            ^ this@R|<local>/A|.R|<local>/A.B.B|().R|<local>/foo|
                        }

                    local final inner [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] class B : R|kotlin/Any| {
                        public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] <local>/A.constructor(): R|<local>/A.B| {
                            super<R|kotlin/Any|>()
                        }

                        public final [ResolvedTo(BODY_RESOLVE)] var foo: R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?| = Null(null)
                            public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] get(): R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|
                            public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] set([ResolvedTo(BODY_RESOLVE)] value: R|@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/List<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/collections/Collection<@R|second/Anno|(str = <getClass>(Q|<local>/A.B.C|))  kotlin/String>>?|): R|kotlin/Unit|

                        local final inner [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] class C : R|kotlin/Any| {
                            public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] <local>/A.B.constructor(): R|<local>/A.B.C| {
                                super<R|kotlin/Any|>()
                            }

                        }

                    }

                }

                ^ R|<local>/A.A|().R|<local>/bar|
            }
            )
        }
