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

        public? sealed [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
                super<R|kotlin/Any|>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] class B : A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<A>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] interface C : A {
        }

        public? final? [ResolvedTo(RAW_FIR)] interface D : C, A {
        }

        public? final? [ResolvedTo(RAW_FIR)] class E : B, A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=E] constructor(): R|E| {
                super<A>()
            }

        }

        public? sealed [ResolvedTo(RAW_FIR)] class P : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] constructor(): R|P| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] object H : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=H] constructor(): R|P.H| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] class J : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=J] constructor(): R|P.J| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] object T : R|kotlin/Any| {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=T] constructor(): R|P.T| {
                    super<R|kotlin/Any|>()
                }

                public? final? [ResolvedTo(RAW_FIR)] object V : P {
                    private [ResolvedTo(RAW_FIR)] [ContainingClassKey=V] constructor(): R|P.T.V| {
                        super<P>()
                    }

                }

                public? final? [ResolvedTo(RAW_FIR)] class M : P {
                    public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=M] constructor(): R|P.T.M| {
                        super<P>()
                    }

                }

            }

            public? final? [ResolvedTo(RAW_FIR)] val p: P = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): P

            public? final? [ResolvedTo(RAW_FIR)] val r: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): <implicit>

        }

        public? final? [ResolvedTo(RAW_FIR)] class K : P {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=K] constructor(): R|K| {
                super<P>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] object B : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] class I : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<P>()
                }

            }

        }

        public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| {
            local final? [ResolvedTo(RAW_FIR)] class L : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=L] constructor(): R|L| {
                    super<P>()
                }

            }

            [ResolvedTo(RAW_FIR)] lval a: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

        }


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

        public? sealed [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
                super<R|kotlin/Any|>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] class B : A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<A>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] interface C : A {
        }

        public? final? [ResolvedTo(RAW_FIR)] interface D : C, A {
        }

        public? final? [ResolvedTo(RAW_FIR)] class E : B, A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=E] constructor(): R|E| {
                super<A>()
            }

        }

        public? sealed [ResolvedTo(RAW_FIR)] class P : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] constructor(): R|P| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] object H : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=H] constructor(): R|P.H| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] class J : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=J] constructor(): R|P.J| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] object T : R|kotlin/Any| {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=T] constructor(): R|P.T| {
                    super<R|kotlin/Any|>()
                }

                public? final? [ResolvedTo(RAW_FIR)] object V : P {
                    private [ResolvedTo(RAW_FIR)] [ContainingClassKey=V] constructor(): R|P.T.V| {
                        super<P>()
                    }

                }

                public? final? [ResolvedTo(RAW_FIR)] class M : P {
                    public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=M] constructor(): R|P.T.M| {
                        super<P>()
                    }

                }

            }

            public? final? [ResolvedTo(RAW_FIR)] val p: P = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): P

            public? final? [ResolvedTo(RAW_FIR)] val r: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): <implicit>

        }

        public? final? [ResolvedTo(RAW_FIR)] class K : P {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=K] constructor(): R|K| {
                super<P>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] object B : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] class I : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<P>()
                }

            }

        }

        public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| {
            local final? [ResolvedTo(RAW_FIR)] class L : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=L] constructor(): R|L| {
                    super<P>()
                }

            }

            [ResolvedTo(RAW_FIR)] lval a: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

        }


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

        public? sealed [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
                super<R|kotlin/Any|>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] class B : A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<A>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] interface C : A {
        }

        public? final? [ResolvedTo(RAW_FIR)] interface D : C, A {
        }

        public? final? [ResolvedTo(RAW_FIR)] class E : B, A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=E] constructor(): R|E| {
                super<A>()
            }

        }

        public? sealed [ResolvedTo(RAW_FIR)] class P : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] constructor(): R|P| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] object H : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=H] constructor(): R|P.H| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] class J : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=J] constructor(): R|P.J| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] object T : R|kotlin/Any| {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=T] constructor(): R|P.T| {
                    super<R|kotlin/Any|>()
                }

                public? final? [ResolvedTo(RAW_FIR)] object V : P {
                    private [ResolvedTo(RAW_FIR)] [ContainingClassKey=V] constructor(): R|P.T.V| {
                        super<P>()
                    }

                }

                public? final? [ResolvedTo(RAW_FIR)] class M : P {
                    public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=M] constructor(): R|P.T.M| {
                        super<P>()
                    }

                }

            }

            public? final? [ResolvedTo(RAW_FIR)] val p: P = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): P

            public? final? [ResolvedTo(RAW_FIR)] val r: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): <implicit>

        }

        public? final? [ResolvedTo(RAW_FIR)] class K : P {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=K] constructor(): R|K| {
                super<P>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] object B : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] class I : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<P>()
                }

            }

        }

        public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| {
            local final? [ResolvedTo(RAW_FIR)] class L : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=L] constructor(): R|L| {
                    super<P>()
                }

            }

            [ResolvedTo(RAW_FIR)] lval a: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

        }


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

        public? sealed [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
                super<R|kotlin/Any|>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] class B : A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<A>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] interface C : A {
        }

        public? final? [ResolvedTo(RAW_FIR)] interface D : C, A {
        }

        public? final? [ResolvedTo(RAW_FIR)] class E : B, A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=E] constructor(): R|E| {
                super<A>()
            }

        }

        public? sealed [ResolvedTo(RAW_FIR)] class P : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] constructor(): R|P| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] object H : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=H] constructor(): R|P.H| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] class J : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=J] constructor(): R|P.J| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] object T : R|kotlin/Any| {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=T] constructor(): R|P.T| {
                    super<R|kotlin/Any|>()
                }

                public? final? [ResolvedTo(RAW_FIR)] object V : P {
                    private [ResolvedTo(RAW_FIR)] [ContainingClassKey=V] constructor(): R|P.T.V| {
                        super<P>()
                    }

                }

                public? final? [ResolvedTo(RAW_FIR)] class M : P {
                    public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=M] constructor(): R|P.T.M| {
                        super<P>()
                    }

                }

            }

            public? final? [ResolvedTo(RAW_FIR)] val p: P = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): P

            public? final? [ResolvedTo(RAW_FIR)] val r: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): <implicit>

        }

        public? final? [ResolvedTo(RAW_FIR)] class K : P {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=K] constructor(): R|K| {
                super<P>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] object B : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] class I : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<P>()
                }

            }

        }

        public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| {
            local final? [ResolvedTo(RAW_FIR)] class L : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=L] constructor(): R|L| {
                    super<P>()
                }

            }

            [ResolvedTo(RAW_FIR)] lval a: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

        }


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

        public? sealed [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
                super<R|kotlin/Any|>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] class B : A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<A>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] interface C : A {
        }

        public? final? [ResolvedTo(RAW_FIR)] interface D : C, A {
        }

        public? final? [ResolvedTo(RAW_FIR)] class E : B, A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=E] constructor(): R|E| {
                super<A>()
            }

        }

        public? sealed [ResolvedTo(RAW_FIR)] class P : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] constructor(): R|P| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] object H : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=H] constructor(): R|P.H| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] class J : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=J] constructor(): R|P.J| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] object T : R|kotlin/Any| {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=T] constructor(): R|P.T| {
                    super<R|kotlin/Any|>()
                }

                public? final? [ResolvedTo(RAW_FIR)] object V : P {
                    private [ResolvedTo(RAW_FIR)] [ContainingClassKey=V] constructor(): R|P.T.V| {
                        super<P>()
                    }

                }

                public? final? [ResolvedTo(RAW_FIR)] class M : P {
                    public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=M] constructor(): R|P.T.M| {
                        super<P>()
                    }

                }

            }

            public? final? [ResolvedTo(RAW_FIR)] val p: P = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): P

            public? final? [ResolvedTo(RAW_FIR)] val r: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): <implicit>

        }

        public? final? [ResolvedTo(RAW_FIR)] class K : P {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=K] constructor(): R|K| {
                super<P>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] object B : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] class I : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<P>()
                }

            }

        }

        public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| {
            local final? [ResolvedTo(RAW_FIR)] class L : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=L] constructor(): R|L| {
                    super<P>()
                }

            }

            [ResolvedTo(RAW_FIR)] lval a: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

        }


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

        public? sealed [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
                super<R|kotlin/Any|>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] class B : A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<A>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] interface C : A {
        }

        public? final? [ResolvedTo(RAW_FIR)] interface D : C, A {
        }

        public? final? [ResolvedTo(RAW_FIR)] class E : B, A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=E] constructor(): R|E| {
                super<A>()
            }

        }

        public? sealed [ResolvedTo(RAW_FIR)] class P : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] constructor(): R|P| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] object H : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=H] constructor(): R|P.H| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] class J : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=J] constructor(): R|P.J| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] object T : R|kotlin/Any| {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=T] constructor(): R|P.T| {
                    super<R|kotlin/Any|>()
                }

                public? final? [ResolvedTo(RAW_FIR)] object V : P {
                    private [ResolvedTo(RAW_FIR)] [ContainingClassKey=V] constructor(): R|P.T.V| {
                        super<P>()
                    }

                }

                public? final? [ResolvedTo(RAW_FIR)] class M : P {
                    public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=M] constructor(): R|P.T.M| {
                        super<P>()
                    }

                }

            }

            public? final? [ResolvedTo(RAW_FIR)] val p: P = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): P

            public? final? [ResolvedTo(RAW_FIR)] val r: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): <implicit>

        }

        public? final? [ResolvedTo(RAW_FIR)] class K : P {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=K] constructor(): R|K| {
                super<P>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] object B : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] class I : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<P>()
                }

            }

        }

        public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| {
            local final? [ResolvedTo(RAW_FIR)] class L : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=L] constructor(): R|L| {
                    super<P>()
                }

            }

            [ResolvedTo(RAW_FIR)] lval a: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

        }


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

        public? sealed [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
                super<R|kotlin/Any|>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] class B : A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<A>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] interface C : A {
        }

        public? final? [ResolvedTo(RAW_FIR)] interface D : C, A {
        }

        public? final? [ResolvedTo(RAW_FIR)] class E : B, A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=E] constructor(): R|E| {
                super<A>()
            }

        }

        public? sealed [ResolvedTo(RAW_FIR)] class P : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] constructor(): R|P| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] object H : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=H] constructor(): R|P.H| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] class J : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=J] constructor(): R|P.J| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] object T : R|kotlin/Any| {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=T] constructor(): R|P.T| {
                    super<R|kotlin/Any|>()
                }

                public? final? [ResolvedTo(RAW_FIR)] object V : P {
                    private [ResolvedTo(RAW_FIR)] [ContainingClassKey=V] constructor(): R|P.T.V| {
                        super<P>()
                    }

                }

                public? final? [ResolvedTo(RAW_FIR)] class M : P {
                    public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=M] constructor(): R|P.T.M| {
                        super<P>()
                    }

                }

            }

            public? final? [ResolvedTo(RAW_FIR)] val p: P = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): P

            public? final? [ResolvedTo(RAW_FIR)] val r: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): <implicit>

        }

        public? final? [ResolvedTo(RAW_FIR)] class K : P {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=K] constructor(): R|K| {
                super<P>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] object B : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] class I : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<P>()
                }

            }

        }

        public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| {
            local final? [ResolvedTo(RAW_FIR)] class L : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=L] constructor(): R|L| {
                    super<P>()
                }

            }

            [ResolvedTo(RAW_FIR)] lval a: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

        }


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

        public? sealed [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
                super<R|kotlin/Any|>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] class B : A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<A>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] interface C : A {
        }

        public? final? [ResolvedTo(RAW_FIR)] interface D : C, A {
        }

        public? final? [ResolvedTo(RAW_FIR)] class E : B, A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=E] constructor(): R|E| {
                super<A>()
            }

        }

        public? sealed [ResolvedTo(RAW_FIR)] class P : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] constructor(): R|P| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] object H : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=H] constructor(): R|P.H| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] class J : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=J] constructor(): R|P.J| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] object T : R|kotlin/Any| {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=T] constructor(): R|P.T| {
                    super<R|kotlin/Any|>()
                }

                public? final? [ResolvedTo(RAW_FIR)] object V : P {
                    private [ResolvedTo(RAW_FIR)] [ContainingClassKey=V] constructor(): R|P.T.V| {
                        super<P>()
                    }

                }

                public? final? [ResolvedTo(RAW_FIR)] class M : P {
                    public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=M] constructor(): R|P.T.M| {
                        super<P>()
                    }

                }

            }

            public? final? [ResolvedTo(RAW_FIR)] val p: P = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): P

            public? final? [ResolvedTo(RAW_FIR)] val r: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): <implicit>

        }

        public? final? [ResolvedTo(RAW_FIR)] class K : P {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=K] constructor(): R|K| {
                super<P>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] object B : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] class I : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<P>()
                }

            }

        }

        public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| {
            local final? [ResolvedTo(RAW_FIR)] class L : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=L] constructor(): R|L| {
                    super<P>()
                }

            }

            [ResolvedTo(RAW_FIR)] lval a: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

        }


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

        public? sealed [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
                super<R|kotlin/Any|>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] class B : A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<A>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] interface C : A {
        }

        public? final? [ResolvedTo(RAW_FIR)] interface D : C, A {
        }

        public? final? [ResolvedTo(RAW_FIR)] class E : B, A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=E] constructor(): R|E| {
                super<A>()
            }

        }

        public? sealed [ResolvedTo(RAW_FIR)] class P : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] constructor(): R|P| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] object H : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=H] constructor(): R|P.H| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] class J : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=J] constructor(): R|P.J| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] object T : R|kotlin/Any| {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=T] constructor(): R|P.T| {
                    super<R|kotlin/Any|>()
                }

                public? final? [ResolvedTo(RAW_FIR)] object V : P {
                    private [ResolvedTo(RAW_FIR)] [ContainingClassKey=V] constructor(): R|P.T.V| {
                        super<P>()
                    }

                }

                public? final? [ResolvedTo(RAW_FIR)] class M : P {
                    public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=M] constructor(): R|P.T.M| {
                        super<P>()
                    }

                }

            }

            public? final? [ResolvedTo(RAW_FIR)] val p: P = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): P

            public? final? [ResolvedTo(RAW_FIR)] val r: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): <implicit>

        }

        public? final? [ResolvedTo(RAW_FIR)] class K : P {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=K] constructor(): R|K| {
                super<P>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] object B : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] class I : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<P>()
                }

            }

        }

        public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| {
            local final? [ResolvedTo(RAW_FIR)] class L : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=L] constructor(): R|L| {
                    super<P>()
                }

            }

            [ResolvedTo(RAW_FIR)] lval a: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

        }


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

        public? sealed [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
                super<R|kotlin/Any|>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] class B : A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<A>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] interface C : A {
        }

        public? final? [ResolvedTo(RAW_FIR)] interface D : C, A {
        }

        public? final? [ResolvedTo(RAW_FIR)] class E : B, A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=E] constructor(): R|E| {
                super<A>()
            }

        }

        public? sealed [ResolvedTo(RAW_FIR)] class P : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] constructor(): R|P| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] object H : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=H] constructor(): R|P.H| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] class J : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=J] constructor(): R|P.J| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] object T : R|kotlin/Any| {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=T] constructor(): R|P.T| {
                    super<R|kotlin/Any|>()
                }

                public? final? [ResolvedTo(RAW_FIR)] object V : P {
                    private [ResolvedTo(RAW_FIR)] [ContainingClassKey=V] constructor(): R|P.T.V| {
                        super<P>()
                    }

                }

                public? final? [ResolvedTo(RAW_FIR)] class M : P {
                    public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=M] constructor(): R|P.T.M| {
                        super<P>()
                    }

                }

            }

            public? final? [ResolvedTo(RAW_FIR)] val p: P = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): P

            public? final? [ResolvedTo(RAW_FIR)] val r: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): <implicit>

        }

        public? final? [ResolvedTo(RAW_FIR)] class K : P {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=K] constructor(): R|K| {
                super<P>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] object B : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] class I : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<P>()
                }

            }

        }

        public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| {
            local final? [ResolvedTo(RAW_FIR)] class L : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=L] constructor(): R|L| {
                    super<P>()
                }

            }

            [ResolvedTo(RAW_FIR)] lval a: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

        }


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

        public? sealed [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
                super<R|kotlin/Any|>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] class B : A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<A>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] interface C : A {
        }

        public? final? [ResolvedTo(RAW_FIR)] interface D : C, A {
        }

        public? final? [ResolvedTo(RAW_FIR)] class E : B, A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=E] constructor(): R|E| {
                super<A>()
            }

        }

        public? sealed [ResolvedTo(RAW_FIR)] class P : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] constructor(): R|P| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] object H : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=H] constructor(): R|P.H| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] class J : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=J] constructor(): R|P.J| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] object T : R|kotlin/Any| {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=T] constructor(): R|P.T| {
                    super<R|kotlin/Any|>()
                }

                public? final? [ResolvedTo(RAW_FIR)] object V : P {
                    private [ResolvedTo(RAW_FIR)] [ContainingClassKey=V] constructor(): R|P.T.V| {
                        super<P>()
                    }

                }

                public? final? [ResolvedTo(RAW_FIR)] class M : P {
                    public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=M] constructor(): R|P.T.M| {
                        super<P>()
                    }

                }

            }

            public? final? [ResolvedTo(RAW_FIR)] val p: P = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): P

            public? final? [ResolvedTo(RAW_FIR)] val r: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): <implicit>

        }

        public? final? [ResolvedTo(RAW_FIR)] class K : P {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=K] constructor(): R|K| {
                super<P>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] object B : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] class I : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<P>()
                }

            }

        }

        public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| {
            local final? [ResolvedTo(RAW_FIR)] class L : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=L] constructor(): R|L| {
                    super<P>()
                }

            }

            [ResolvedTo(RAW_FIR)] lval a: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

        }


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

        public? sealed [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
                super<R|kotlin/Any|>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] class B : A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<A>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] interface C : A {
        }

        public? final? [ResolvedTo(RAW_FIR)] interface D : C, A {
        }

        public? final? [ResolvedTo(RAW_FIR)] class E : B, A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=E] constructor(): R|E| {
                super<A>()
            }

        }

        public? sealed [ResolvedTo(RAW_FIR)] class P : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] constructor(): R|P| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] object H : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=H] constructor(): R|P.H| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] class J : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=J] constructor(): R|P.J| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] object T : R|kotlin/Any| {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=T] constructor(): R|P.T| {
                    super<R|kotlin/Any|>()
                }

                public? final? [ResolvedTo(RAW_FIR)] object V : P {
                    private [ResolvedTo(RAW_FIR)] [ContainingClassKey=V] constructor(): R|P.T.V| {
                        super<P>()
                    }

                }

                public? final? [ResolvedTo(RAW_FIR)] class M : P {
                    public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=M] constructor(): R|P.T.M| {
                        super<P>()
                    }

                }

            }

            public? final? [ResolvedTo(RAW_FIR)] val p: P = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): P

            public? final? [ResolvedTo(RAW_FIR)] val r: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): <implicit>

        }

        public? final? [ResolvedTo(RAW_FIR)] class K : P {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=K] constructor(): R|K| {
                super<P>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] object B : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] class I : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<P>()
                }

            }

        }

        public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| {
            local final? [ResolvedTo(RAW_FIR)] class L : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=L] constructor(): R|L| {
                    super<P>()
                }

            }

            [ResolvedTo(RAW_FIR)] lval a: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

        }


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

        public? sealed [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
                super<R|kotlin/Any|>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] class B : A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<A>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] interface C : A {
        }

        public? final? [ResolvedTo(RAW_FIR)] interface D : C, A {
        }

        public? final? [ResolvedTo(RAW_FIR)] class E : B, A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=E] constructor(): R|E| {
                super<A>()
            }

        }

        public? sealed [ResolvedTo(RAW_FIR)] class P : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] constructor(): R|P| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] object H : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=H] constructor(): R|P.H| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] class J : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=J] constructor(): R|P.J| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] object T : R|kotlin/Any| {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=T] constructor(): R|P.T| {
                    super<R|kotlin/Any|>()
                }

                public? final? [ResolvedTo(RAW_FIR)] object V : P {
                    private [ResolvedTo(RAW_FIR)] [ContainingClassKey=V] constructor(): R|P.T.V| {
                        super<P>()
                    }

                }

                public? final? [ResolvedTo(RAW_FIR)] class M : P {
                    public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=M] constructor(): R|P.T.M| {
                        super<P>()
                    }

                }

            }

            public? final? [ResolvedTo(RAW_FIR)] val p: P = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): P

            public? final? [ResolvedTo(RAW_FIR)] val r: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): <implicit>

        }

        public? final? [ResolvedTo(RAW_FIR)] class K : P {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=K] constructor(): R|K| {
                super<P>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] object B : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] class I : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<P>()
                }

            }

        }

        public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| {
            local final? [ResolvedTo(RAW_FIR)] class L : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=L] constructor(): R|L| {
                    super<P>()
                }

            }

            [ResolvedTo(RAW_FIR)] lval a: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

        }


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

        public? sealed [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
                super<R|kotlin/Any|>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] class B : A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<A>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] interface C : A {
        }

        public? final? [ResolvedTo(RAW_FIR)] interface D : C, A {
        }

        public? final? [ResolvedTo(RAW_FIR)] class E : B, A {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=E] constructor(): R|E| {
                super<A>()
            }

        }

        public? sealed [ResolvedTo(RAW_FIR)] class P : R|kotlin/Any| {
            protected [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] constructor(): R|P| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] object H : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=H] constructor(): R|P.H| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] class J : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=J] constructor(): R|P.J| {
                    super<P>()
                }

            }

            public? final? [ResolvedTo(RAW_FIR)] object T : R|kotlin/Any| {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=T] constructor(): R|P.T| {
                    super<R|kotlin/Any|>()
                }

                public? final? [ResolvedTo(RAW_FIR)] object V : P {
                    private [ResolvedTo(RAW_FIR)] [ContainingClassKey=V] constructor(): R|P.T.V| {
                        super<P>()
                    }

                }

                public? final? [ResolvedTo(RAW_FIR)] class M : P {
                    public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=M] constructor(): R|P.T.M| {
                        super<P>()
                    }

                }

            }

            public? final? [ResolvedTo(RAW_FIR)] val p: P = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): P

            public? final? [ResolvedTo(RAW_FIR)] val r: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=P] get(): <implicit>

        }

        public? final? [ResolvedTo(RAW_FIR)] class K : P {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=K] constructor(): R|K| {
                super<P>()
            }

        }

        public? final? [ResolvedTo(RAW_FIR)] object B : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|B| {
                super<R|kotlin/Any|>()
            }

            public? final? [ResolvedTo(RAW_FIR)] class I : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<P>()
                }

            }

        }

        public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| {
            local final? [ResolvedTo(RAW_FIR)] class L : P {
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=L] constructor(): R|L| {
                    super<P>()
                }

            }

            [ResolvedTo(RAW_FIR)] lval a: <implicit> = object : P {
                private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                    super<P>()
                }

            }

        }

