RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] classLevel.kt
    public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
        public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
            LAZY_super<R|kotlin/Any|>
        }

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

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

        public final? data [ResolvedTo(RAW_FIR)] class Pair : R|kotlin/Any| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.a] a: Int, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.b] b: Int): R|util/Foo.Pair| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component1, IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component2, IsFromPrimaryConstructor=true] val b: Int = R|<local>/b|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component1(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component2(): Int

            public final [ResolvedTo(RAW_FIR)] fun copy([ResolvedTo(RAW_FIR)] a: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.a|, [ResolvedTo(RAW_FIR)] b: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.b|): R|util/Foo.Pair|

        }

        <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>

        public final? [ResolvedTo(RAW_FIR)] object <no name provided> : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] constructor(): R|util/Foo.<no name provided>| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] get(): <implicit>

        }

    }

IMPORTS:
FILE: [ResolvedTo(IMPORTS)] classLevel.kt
    public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
        public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
            LAZY_super<R|kotlin/Any|>
        }

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

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

        public final? data [ResolvedTo(RAW_FIR)] class Pair : R|kotlin/Any| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.a] a: Int, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.b] b: Int): R|util/Foo.Pair| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component1, IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component2, IsFromPrimaryConstructor=true] val b: Int = R|<local>/b|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component1(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component2(): Int

            public final [ResolvedTo(RAW_FIR)] fun copy([ResolvedTo(RAW_FIR)] a: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.a|, [ResolvedTo(RAW_FIR)] b: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.b|): R|util/Foo.Pair|

        }

        <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>

        public final? [ResolvedTo(RAW_FIR)] object <no name provided> : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] constructor(): R|util/Foo.<no name provided>| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] get(): <implicit>

        }

    }

COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] classLevel.kt
    public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
        public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
            LAZY_super<R|kotlin/Any|>
        }

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

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

        public final? data [ResolvedTo(RAW_FIR)] class Pair : R|kotlin/Any| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.a] a: Int, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.b] b: Int): R|util/Foo.Pair| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component1, IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component2, IsFromPrimaryConstructor=true] val b: Int = R|<local>/b|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component1(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component2(): Int

            public final [ResolvedTo(RAW_FIR)] fun copy([ResolvedTo(RAW_FIR)] a: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.a|, [ResolvedTo(RAW_FIR)] b: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.b|): R|util/Foo.Pair|

        }

        <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>

        public final? [ResolvedTo(RAW_FIR)] object <no name provided> : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] constructor(): R|util/Foo.<no name provided>| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] get(): <implicit>

        }

    }

COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] classLevel.kt
    public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
        public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
            LAZY_super<R|kotlin/Any|>
        }

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

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

        public final? data [ResolvedTo(RAW_FIR)] class Pair : R|kotlin/Any| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.a] a: Int, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.b] b: Int): R|util/Foo.Pair| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component1, IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component2, IsFromPrimaryConstructor=true] val b: Int = R|<local>/b|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component1(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component2(): Int

            public final [ResolvedTo(RAW_FIR)] fun copy([ResolvedTo(RAW_FIR)] a: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.a|, [ResolvedTo(RAW_FIR)] b: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.b|): R|util/Foo.Pair|

        }

        <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>

        public final? [ResolvedTo(RAW_FIR)] object <no name provided> : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] constructor(): R|util/Foo.<no name provided>| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] get(): <implicit>

        }

    }

SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] classLevel.kt
    public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
        public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
            LAZY_super<R|kotlin/Any|>
        }

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

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

        public final? data [ResolvedTo(RAW_FIR)] class Pair : R|kotlin/Any| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.a] a: Int, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.b] b: Int): R|util/Foo.Pair| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component1, IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component2, IsFromPrimaryConstructor=true] val b: Int = R|<local>/b|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component1(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component2(): Int

            public final [ResolvedTo(RAW_FIR)] fun copy([ResolvedTo(RAW_FIR)] a: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.a|, [ResolvedTo(RAW_FIR)] b: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.b|): R|util/Foo.Pair|

        }

        <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>

        public final? [ResolvedTo(RAW_FIR)] object <no name provided> : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] constructor(): R|util/Foo.<no name provided>| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] get(): <implicit>

        }

    }

TYPES:
FILE: [ResolvedTo(IMPORTS)] classLevel.kt
    public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
        public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
            LAZY_super<R|kotlin/Any|>
        }

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

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

        public final? data [ResolvedTo(RAW_FIR)] class Pair : R|kotlin/Any| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.a] a: Int, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.b] b: Int): R|util/Foo.Pair| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component1, IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component2, IsFromPrimaryConstructor=true] val b: Int = R|<local>/b|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component1(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component2(): Int

            public final [ResolvedTo(RAW_FIR)] fun copy([ResolvedTo(RAW_FIR)] a: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.a|, [ResolvedTo(RAW_FIR)] b: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.b|): R|util/Foo.Pair|

        }

        <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>

        public final? [ResolvedTo(RAW_FIR)] object <no name provided> : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] constructor(): R|util/Foo.<no name provided>| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] get(): <implicit>

        }

    }

STATUS:
FILE: [ResolvedTo(IMPORTS)] classLevel.kt
    public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
        public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
            LAZY_super<R|kotlin/Any|>
        }

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

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

        public final? data [ResolvedTo(RAW_FIR)] class Pair : R|kotlin/Any| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.a] a: Int, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.b] b: Int): R|util/Foo.Pair| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component1, IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component2, IsFromPrimaryConstructor=true] val b: Int = R|<local>/b|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component1(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component2(): Int

            public final [ResolvedTo(RAW_FIR)] fun copy([ResolvedTo(RAW_FIR)] a: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.a|, [ResolvedTo(RAW_FIR)] b: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.b|): R|util/Foo.Pair|

        }

        <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>

        public final? [ResolvedTo(RAW_FIR)] object <no name provided> : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] constructor(): R|util/Foo.<no name provided>| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] get(): <implicit>

        }

    }

EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] classLevel.kt
    public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
        public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
            LAZY_super<R|kotlin/Any|>
        }

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

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

        public final? data [ResolvedTo(RAW_FIR)] class Pair : R|kotlin/Any| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.a] a: Int, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.b] b: Int): R|util/Foo.Pair| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component1, IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component2, IsFromPrimaryConstructor=true] val b: Int = R|<local>/b|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component1(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component2(): Int

            public final [ResolvedTo(RAW_FIR)] fun copy([ResolvedTo(RAW_FIR)] a: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.a|, [ResolvedTo(RAW_FIR)] b: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.b|): R|util/Foo.Pair|

        }

        <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>

        public final? [ResolvedTo(RAW_FIR)] object <no name provided> : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] constructor(): R|util/Foo.<no name provided>| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] get(): <implicit>

        }

    }

CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] classLevel.kt
    public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
        public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
            LAZY_super<R|kotlin/Any|>
        }

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

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

        public final? data [ResolvedTo(RAW_FIR)] class Pair : R|kotlin/Any| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.a] a: Int, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.b] b: Int): R|util/Foo.Pair| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component1, IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component2, IsFromPrimaryConstructor=true] val b: Int = R|<local>/b|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component1(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component2(): Int

            public final [ResolvedTo(RAW_FIR)] fun copy([ResolvedTo(RAW_FIR)] a: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.a|, [ResolvedTo(RAW_FIR)] b: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.b|): R|util/Foo.Pair|

        }

        <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>

        public final? [ResolvedTo(RAW_FIR)] object <no name provided> : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] constructor(): R|util/Foo.<no name provided>| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] get(): <implicit>

        }

    }

IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] classLevel.kt
    public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
        public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
            LAZY_super<R|kotlin/Any|>
        }

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

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

        public final? data [ResolvedTo(RAW_FIR)] class Pair : R|kotlin/Any| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.a] a: Int, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.b] b: Int): R|util/Foo.Pair| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component1, IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component2, IsFromPrimaryConstructor=true] val b: Int = R|<local>/b|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component1(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component2(): Int

            public final [ResolvedTo(RAW_FIR)] fun copy([ResolvedTo(RAW_FIR)] a: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.a|, [ResolvedTo(RAW_FIR)] b: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.b|): R|util/Foo.Pair|

        }

        <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>

        public final? [ResolvedTo(RAW_FIR)] object <no name provided> : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] constructor(): R|util/Foo.<no name provided>| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] get(): <implicit>

        }

    }

CONSTANT_EVALUATION:
FILE: [ResolvedTo(IMPORTS)] classLevel.kt
    public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
        public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
            LAZY_super<R|kotlin/Any|>
        }

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

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

        public final? data [ResolvedTo(RAW_FIR)] class Pair : R|kotlin/Any| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.a] a: Int, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.b] b: Int): R|util/Foo.Pair| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component1, IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component2, IsFromPrimaryConstructor=true] val b: Int = R|<local>/b|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component1(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component2(): Int

            public final [ResolvedTo(RAW_FIR)] fun copy([ResolvedTo(RAW_FIR)] a: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.a|, [ResolvedTo(RAW_FIR)] b: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.b|): R|util/Foo.Pair|

        }

        <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>

        public final? [ResolvedTo(RAW_FIR)] object <no name provided> : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] constructor(): R|util/Foo.<no name provided>| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] get(): <implicit>

        }

    }

ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] classLevel.kt
    public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
        public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
            LAZY_super<R|kotlin/Any|>
        }

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

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

        public final? data [ResolvedTo(RAW_FIR)] class Pair : R|kotlin/Any| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.a] a: Int, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.b] b: Int): R|util/Foo.Pair| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component1, IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component2, IsFromPrimaryConstructor=true] val b: Int = R|<local>/b|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component1(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component2(): Int

            public final [ResolvedTo(RAW_FIR)] fun copy([ResolvedTo(RAW_FIR)] a: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.a|, [ResolvedTo(RAW_FIR)] b: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.b|): R|util/Foo.Pair|

        }

        <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>

        public final? [ResolvedTo(RAW_FIR)] object <no name provided> : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] constructor(): R|util/Foo.<no name provided>| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] get(): <implicit>

        }

    }

BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] classLevel.kt
    public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
        public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.position] position: String): R|util/Anno| {
            LAZY_super<R|kotlin/Any|>
        }

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

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

        public final? data [ResolvedTo(RAW_FIR)] class Pair : R|kotlin/Any| {
            public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.a] a: Int, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Foo.Pair.b] b: Int): R|util/Foo.Pair| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component1, IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final? [ResolvedTo(RAW_FIR)] [ComponentFunctionSymbolKey=util/Foo.Pair.component2, IsFromPrimaryConstructor=true] val b: Int = R|<local>/b|
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Pair] get(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component1(): Int

            public? final operator [ResolvedTo(RAW_FIR)] fun component2(): Int

            public final [ResolvedTo(RAW_FIR)] fun copy([ResolvedTo(RAW_FIR)] a: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.a|, [ResolvedTo(RAW_FIR)] b: Int = this@R|util/Foo.Pair|.R|util/Foo.Pair.b|): R|util/Foo.Pair|

        }

        <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>

        public final? [ResolvedTo(RAW_FIR)] object <no name provided> : R|kotlin/Any| {
            private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] constructor(): R|util/Foo.<no name provided>| {
                LAZY_super<R|kotlin/Any|>
            }

            public? final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
                public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=<no name provided>] get(): <implicit>

        }

    }

FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] classLevel.kt
    public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
        public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=util/Anno.position] position: R|kotlin/String|): R|util/Anno| {
            super<R|kotlin/Any|>()
        }

        public final [ResolvedTo(BODY_RESOLVE)] [IsFromPrimaryConstructor=true] val position: R|kotlin/String| = R|<local>/position|
            public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] get(): R|kotlin/String|

    }
    public final [ResolvedTo(BODY_RESOLVE)] class Foo : R|kotlin/Any| {
        public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Foo] constructor(): R|util/Foo| {
            super<R|kotlin/Any|>()
        }

        public final data [ResolvedTo(BODY_RESOLVE)] class Pair : R|kotlin/Any| {
            public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Pair] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=util/Foo.Pair.a] a: R|kotlin/Int|, [ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=util/Foo.Pair.b] b: R|kotlin/Int|): R|util/Foo.Pair| {
                super<R|kotlin/Any|>()
            }

            public final [ResolvedTo(BODY_RESOLVE)] [ComponentFunctionSymbolKey=util/Foo.Pair.component1, IsFromPrimaryConstructor=true] val a: R|kotlin/Int| = R|<local>/a|
                public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Pair] get(): R|kotlin/Int|

            public final [ResolvedTo(BODY_RESOLVE)] [ComponentFunctionSymbolKey=util/Foo.Pair.component2, IsFromPrimaryConstructor=true] val b: R|kotlin/Int| = R|<local>/b|
                public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Pair] get(): R|kotlin/Int|

            public final operator [ResolvedTo(BODY_RESOLVE)] fun component1(): R|kotlin/Int|

            public final operator [ResolvedTo(BODY_RESOLVE)] fun component2(): R|kotlin/Int|

            public final [ResolvedTo(BODY_RESOLVE)] fun copy([ResolvedTo(BODY_RESOLVE)] a: R|kotlin/Int| = this@R|util/Foo.Pair|.R|util/Foo.Pair.a|, [ResolvedTo(BODY_RESOLVE)] b: R|kotlin/Int| = this@R|util/Foo.Pair|.R|util/Foo.Pair.b|): R|util/Foo.Pair|

        }

        <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>

        public final [ResolvedTo(BODY_RESOLVE)] object <no name provided> : R|kotlin/Any| {
            private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=<no name provided>] constructor(): R|util/Foo.<no name provided>| {
                super<R|kotlin/Any|>()
            }

            public final const [ResolvedTo(BODY_RESOLVE)] val prop: R|kotlin/String| = String(str)
                public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=<no name provided>] get(): R|kotlin/String|

        }

    }
