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

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

        }

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

        }

        public abstract [ResolvedTo(STATUS)] interface C : R|A| {
        }

        public abstract [ResolvedTo(STATUS)] interface D : R|C|, R|A| {
        }

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

        }

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

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

            }

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

            }

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

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

                }

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

                }

            }

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

        }

        public final [ResolvedTo(STATUS)] class K : R|P| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=K] constructor(): R|K| {
                super<R|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(STATUS)] class I : R|P| {
                public [ResolvedTo(STATUS)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<R|P|>()
                }

            }

        }

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

            }

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

            }

        }


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

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

        }

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

        }

        public abstract [ResolvedTo(STATUS)] interface C : R|A| {
        }

        public abstract [ResolvedTo(STATUS)] interface D : R|C|, R|A| {
        }

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

        }

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

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

            }

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

            }

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

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

                }

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

                }

            }

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

        }

        public final [ResolvedTo(STATUS)] class K : R|P| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=K] constructor(): R|K| {
                super<R|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(STATUS)] class I : R|P| {
                public [ResolvedTo(STATUS)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<R|P|>()
                }

            }

        }

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

            }

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

            }

        }


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

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

        }

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

        }

        public abstract [ResolvedTo(STATUS)] interface C : R|A| {
        }

        public abstract [ResolvedTo(STATUS)] interface D : R|C|, R|A| {
        }

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

        }

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

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

            }

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

            }

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

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

                }

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

                }

            }

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

        }

        public final [ResolvedTo(STATUS)] class K : R|P| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=K] constructor(): R|K| {
                super<R|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(STATUS)] class I : R|P| {
                public [ResolvedTo(STATUS)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<R|P|>()
                }

            }

        }

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

            }

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

            }

        }


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

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

        }

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

        }

        public abstract [ResolvedTo(STATUS)] interface C : R|A| {
        }

        public abstract [ResolvedTo(STATUS)] interface D : R|C|, R|A| {
        }

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

        }

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

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

            }

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

            }

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

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

                }

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

                }

            }

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

        }

        public final [ResolvedTo(STATUS)] class K : R|P| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=K] constructor(): R|K| {
                super<R|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(STATUS)] class I : R|P| {
                public [ResolvedTo(STATUS)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<R|P|>()
                }

            }

        }

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

            }

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

            }

        }


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

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

        }

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

        }

        public abstract [ResolvedTo(STATUS)] interface C : R|A| {
        }

        public abstract [ResolvedTo(STATUS)] interface D : R|C|, R|A| {
        }

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

        }

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

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

            }

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

            }

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

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

                }

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

                }

            }

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

        }

        public final [ResolvedTo(STATUS)] class K : R|P| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=K] constructor(): R|K| {
                super<R|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(STATUS)] class I : R|P| {
                public [ResolvedTo(STATUS)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<R|P|>()
                }

            }

        }

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

            }

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

            }

        }


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

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

        }

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

        }

        public abstract [ResolvedTo(STATUS)] interface C : R|A| {
        }

        public abstract [ResolvedTo(STATUS)] interface D : R|C|, R|A| {
        }

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

        }

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

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

            }

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

            }

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

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

                }

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

                }

            }

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

        }

        public final [ResolvedTo(STATUS)] class K : R|P| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=K] constructor(): R|K| {
                super<R|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(STATUS)] class I : R|P| {
                public [ResolvedTo(STATUS)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<R|P|>()
                }

            }

        }

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

            }

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

            }

        }


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

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

        }

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

        }

        public abstract [ResolvedTo(STATUS)] interface C : R|A| {
        }

        public abstract [ResolvedTo(STATUS)] interface D : R|C|, R|A| {
        }

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

        }

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

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

            }

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

            }

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

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

                }

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

                }

            }

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

        }

        public final [ResolvedTo(STATUS)] class K : R|P| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=K] constructor(): R|K| {
                super<R|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(STATUS)] class I : R|P| {
                public [ResolvedTo(STATUS)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<R|P|>()
                }

            }

        }

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

            }

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

            }

        }


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

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

        }

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

        }

        public abstract [ResolvedTo(STATUS)] interface C : R|A| {
        }

        public abstract [ResolvedTo(STATUS)] interface D : R|C|, R|A| {
        }

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

        }

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

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

            }

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

            }

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

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

                }

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

                }

            }

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

        }

        public final [ResolvedTo(STATUS)] class K : R|P| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=K] constructor(): R|K| {
                super<R|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(STATUS)] class I : R|P| {
                public [ResolvedTo(STATUS)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<R|P|>()
                }

            }

        }

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

            }

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

            }

        }


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

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

        }

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

        }

        public abstract [ResolvedTo(STATUS)] interface C : R|A| {
        }

        public abstract [ResolvedTo(STATUS)] interface D : R|C|, R|A| {
        }

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

        }

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

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

            }

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

            }

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

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

                }

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

                }

            }

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

        }

        public final [ResolvedTo(STATUS)] class K : R|P| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=K] constructor(): R|K| {
                super<R|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(STATUS)] class I : R|P| {
                public [ResolvedTo(STATUS)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<R|P|>()
                }

            }

        }

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

            }

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

            }

        }


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

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

        }

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

        }

        public abstract [ResolvedTo(STATUS)] interface C : R|A| {
        }

        public abstract [ResolvedTo(STATUS)] interface D : R|C|, R|A| {
        }

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

        }

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

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

            }

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

            }

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

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

                }

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

                }

            }

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

        }

        public final [ResolvedTo(STATUS)] class K : R|P| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=K] constructor(): R|K| {
                super<R|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(STATUS)] class I : R|P| {
                public [ResolvedTo(STATUS)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<R|P|>()
                }

            }

        }

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

            }

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

            }

        }


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

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

        }

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

        }

        public abstract [ResolvedTo(STATUS)] interface C : R|A| {
        }

        public abstract [ResolvedTo(STATUS)] interface D : R|C|, R|A| {
        }

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

        }

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

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

            }

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

            }

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

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

                }

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

                }

            }

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

        }

        public final [ResolvedTo(STATUS)] class K : R|P| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=K] constructor(): R|K| {
                super<R|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(STATUS)] class I : R|P| {
                public [ResolvedTo(STATUS)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<R|P|>()
                }

            }

        }

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

            }

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

            }

        }


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

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

        }

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

        }

        public abstract [ResolvedTo(STATUS)] interface C : R|A| {
        }

        public abstract [ResolvedTo(STATUS)] interface D : R|C|, R|A| {
        }

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

        }

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

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

            }

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

            }

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

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

                }

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

                }

            }

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

        }

        public final [ResolvedTo(STATUS)] class K : R|P| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=K] constructor(): R|K| {
                super<R|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(STATUS)] class I : R|P| {
                public [ResolvedTo(STATUS)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<R|P|>()
                }

            }

        }

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

            }

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

            }

        }


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

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

        }

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

        }

        public abstract [ResolvedTo(STATUS)] interface C : R|A| {
        }

        public abstract [ResolvedTo(STATUS)] interface D : R|C|, R|A| {
        }

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

        }

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

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

            }

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

            }

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

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

                }

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

                }

            }

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

        }

        public final [ResolvedTo(STATUS)] class K : R|P| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=K] constructor(): R|K| {
                super<R|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(STATUS)] class I : R|P| {
                public [ResolvedTo(STATUS)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<R|P|>()
                }

            }

        }

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

            }

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

            }

        }


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

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

        }

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

        }

        public abstract [ResolvedTo(STATUS)] interface C : R|A| {
        }

        public abstract [ResolvedTo(STATUS)] interface D : R|C|, R|A| {
        }

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

        }

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

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

            }

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

            }

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

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

                }

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

                }

            }

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

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

            }

                public [ResolvedTo(STATUS)] [ContainingClassKey=P] get(): R|P|

        }

        public final [ResolvedTo(STATUS)] class K : R|P| {
            public [ResolvedTo(STATUS)] [ContainingClassKey=K] constructor(): R|K| {
                super<R|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(STATUS)] class I : R|P| {
                public [ResolvedTo(STATUS)] [ContainingClassKey=I] constructor(): R|B.I| {
                    super<R|P|>()
                }

            }

        }

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

            }

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

            }

        }

