
RAW_FIR:
FILE: annotationParameters.kt
    public? final? [RAW_FIR] enum class X : R|kotlin/Enum<X>| {
        private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| {
            super<R|kotlin/Enum<X>|>()
        }

        public final static [RAW_FIR] [ContainingClassKey=X] enum entry A: R|X|
        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun values(): R|kotlin/Array<X>| {
        }

        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun valueOf([BODY_RESOLVE] value: R|kotlin/String|): R|X| {
        }

    }
    public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| {
        public? [RAW_FIR] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
            super<R|kotlin/Any|>()
        }

        public? final? [RAW_FIR] [IsFromPrimaryConstructor=true] val args: A.X = R|<local>/args|
            public? [TYPES] [ContainingClassKey=Anno] get(): A.X

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

        @Anno(X#.A#) public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }

        @Anno(X#.A#) public? final? [RAW_FIR] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }

    }

IMPORTS:
FILE: annotationParameters.kt
    public? final? [RAW_FIR] enum class X : R|kotlin/Enum<X>| {
        private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| {
            super<R|kotlin/Enum<X>|>()
        }

        public final static [RAW_FIR] [ContainingClassKey=X] enum entry A: R|X|
        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun values(): R|kotlin/Array<X>| {
        }

        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun valueOf([BODY_RESOLVE] value: R|kotlin/String|): R|X| {
        }

    }
    public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| {
        public? [RAW_FIR] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
            super<R|kotlin/Any|>()
        }

        public? final? [RAW_FIR] [IsFromPrimaryConstructor=true] val args: A.X = R|<local>/args|
            public? [TYPES] [ContainingClassKey=Anno] get(): A.X

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

        @Anno(X#.A#) public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }

        @Anno(X#.A#) public? final? [RAW_FIR] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }

    }

COMPILER_REQUIRED_ANNOTATIONS:
FILE: annotationParameters.kt
    public? final? [RAW_FIR] enum class X : R|kotlin/Enum<X>| {
        private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| {
            super<R|kotlin/Enum<X>|>()
        }

        public final static [RAW_FIR] [ContainingClassKey=X] enum entry A: R|X|
        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun values(): R|kotlin/Array<X>| {
        }

        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun valueOf([BODY_RESOLVE] value: R|kotlin/String|): R|X| {
        }

    }
    public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| {
        public? [RAW_FIR] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
            super<R|kotlin/Any|>()
        }

        public? final? [RAW_FIR] [IsFromPrimaryConstructor=true] val args: A.X = R|<local>/args|
            public? [TYPES] [ContainingClassKey=Anno] get(): A.X

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

        @Anno(X#.A#) public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }

        @Anno(X#.A#) public? final? [RAW_FIR] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }

    }

COMPANION_GENERATION:
FILE: annotationParameters.kt
    public? final? [RAW_FIR] enum class X : R|kotlin/Enum<X>| {
        private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| {
            super<R|kotlin/Enum<X>|>()
        }

        public final static [RAW_FIR] [ContainingClassKey=X] enum entry A: R|X|
        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun values(): R|kotlin/Array<X>| {
        }

        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun valueOf([BODY_RESOLVE] value: R|kotlin/String|): R|X| {
        }

    }
    public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| {
        public? [RAW_FIR] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
            super<R|kotlin/Any|>()
        }

        public? final? [RAW_FIR] [IsFromPrimaryConstructor=true] val args: A.X = R|<local>/args|
            public? [TYPES] [ContainingClassKey=Anno] get(): A.X

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

        @Anno(X#.A#) public? final? [COMPANION_GENERATION] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }

        @Anno(X#.A#) public? final? [RAW_FIR] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }

    }

SUPER_TYPES:
FILE: annotationParameters.kt
    public? final? [RAW_FIR] enum class X : R|kotlin/Enum<X>| {
        private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| {
            super<R|kotlin/Enum<X>|>()
        }

        public final static [RAW_FIR] [ContainingClassKey=X] enum entry A: R|X|
        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun values(): R|kotlin/Array<X>| {
        }

        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun valueOf([BODY_RESOLVE] value: R|kotlin/String|): R|X| {
        }

    }
    public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| {
        public? [RAW_FIR] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
            super<R|kotlin/Any|>()
        }

        public? final? [RAW_FIR] [IsFromPrimaryConstructor=true] val args: A.X = R|<local>/args|
            public? [TYPES] [ContainingClassKey=Anno] get(): A.X

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

        @Anno(X#.A#) public? final? [SUPER_TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }

        @Anno(X#.A#) public? final? [RAW_FIR] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }

    }

TYPES:
FILE: annotationParameters.kt
    public? final? [RAW_FIR] enum class X : R|kotlin/Enum<X>| {
        private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| {
            super<R|kotlin/Enum<X>|>()
        }

        public final static [RAW_FIR] [ContainingClassKey=X] enum entry A: R|X|
        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun values(): R|kotlin/Array<X>| {
        }

        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun valueOf([BODY_RESOLVE] value: R|kotlin/String|): R|X| {
        }

    }
    public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| {
        public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
            super<R|kotlin/Any|>()
        }

        public? final? [COMPILER_REQUIRED_ANNOTATIONS] [IsFromPrimaryConstructor=true] val args: A.X = R|<local>/args|
            public? [TYPES] [ContainingClassKey=Anno] get(): A.X

    }
    public? final? [SUPER_TYPES] class B : R|kotlin/Any| {
        public? [SUPER_TYPES] [ContainingClassKey=B] constructor(): R|B| {
            super<R|kotlin/Any|>()
        }

        @R|Anno|(X#.A#) public? final? [TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }

        @Anno(X#.A#) public? final? [SUPER_TYPES] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }

    }

STATUS:
FILE: annotationParameters.kt
    public? final? [RAW_FIR] enum class X : R|kotlin/Enum<X>| {
        private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| {
            super<R|kotlin/Enum<X>|>()
        }

        public final static [RAW_FIR] [ContainingClassKey=X] enum entry A: R|X|
        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun values(): R|kotlin/Array<X>| {
        }

        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun valueOf([BODY_RESOLVE] value: R|kotlin/String|): R|X| {
        }

    }
    public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| {
        public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
            super<R|kotlin/Any|>()
        }

        public? final? [COMPILER_REQUIRED_ANNOTATIONS] [IsFromPrimaryConstructor=true] val args: A.X = R|<local>/args|
            public? [TYPES] [ContainingClassKey=Anno] get(): A.X

    }
    public final [SUPER_TYPES] class B : R|kotlin/Any| {
        public? [SUPER_TYPES] [ContainingClassKey=B] constructor(): R|B| {
            super<R|kotlin/Any|>()
        }

        @R|Anno|(X#.A#) public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }

        @Anno(X#.A#) public? final? [SUPER_TYPES] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }

    }

ARGUMENTS_OF_ANNOTATIONS:
FILE: annotationParameters.kt
    public final [STATUS] enum class X : R|kotlin/Enum<X>| {
        private [STATUS] [ContainingClassKey=X] constructor(): R|X| {
            super<R|kotlin/Enum<X>|>()
        }

        public final static [STATUS] [ContainingClassKey=X] enum entry A: R|X|
        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun values(): R|kotlin/Array<X>| {
        }

        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun valueOf([BODY_RESOLVE] value: R|kotlin/String|): R|X| {
        }

    }
    public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| {
        public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
            super<R|kotlin/Any|>()
        }

        public? final? [COMPILER_REQUIRED_ANNOTATIONS] [IsFromPrimaryConstructor=true] val args: A.X = R|<local>/args|
            public? [TYPES] [ContainingClassKey=Anno] get(): A.X

    }
    public final [SUPER_TYPES] class B : R|kotlin/Any| {
        public? [SUPER_TYPES] [ContainingClassKey=B] constructor(): R|B| {
            super<R|kotlin/Any|>()
        }

        @R|Anno|(Q|X|.R|/X.A|) public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }

        @Anno(X#.A#) public? final? [SUPER_TYPES] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }

    }

CONTRACTS:
FILE: annotationParameters.kt
    public final [STATUS] enum class X : R|kotlin/Enum<X>| {
        private [STATUS] [ContainingClassKey=X] constructor(): R|X| {
            super<R|kotlin/Enum<X>|>()
        }

        public final static [STATUS] [ContainingClassKey=X] enum entry A: R|X|
        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun values(): R|kotlin/Array<X>| {
        }

        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun valueOf([BODY_RESOLVE] value: R|kotlin/String|): R|X| {
        }

    }
    public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| {
        public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
            super<R|kotlin/Any|>()
        }

        public? final? [COMPILER_REQUIRED_ANNOTATIONS] [IsFromPrimaryConstructor=true] val args: A.X = R|<local>/args|
            public? [TYPES] [ContainingClassKey=Anno] get(): A.X

    }
    public final [SUPER_TYPES] class B : R|kotlin/Any| {
        public? [SUPER_TYPES] [ContainingClassKey=B] constructor(): R|B| {
            super<R|kotlin/Any|>()
        }

        @R|Anno|(Q|X|.R|/X.A|) public final [CONTRACTS] fun resolveMe(): R|kotlin/Unit| {
        }

        @Anno(X#.A#) public? final? [SUPER_TYPES] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }

    }

IMPLICIT_TYPES_BODY_RESOLVE:
FILE: annotationParameters.kt
    public final [STATUS] enum class X : R|kotlin/Enum<X>| {
        private [STATUS] [ContainingClassKey=X] constructor(): R|X| {
            super<R|kotlin/Enum<X>|>()
        }

        public final static [STATUS] [ContainingClassKey=X] enum entry A: R|X|
        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun values(): R|kotlin/Array<X>| {
        }

        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun valueOf([BODY_RESOLVE] value: R|kotlin/String|): R|X| {
        }

    }
    public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| {
        public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
            super<R|kotlin/Any|>()
        }

        public? final? [COMPILER_REQUIRED_ANNOTATIONS] [IsFromPrimaryConstructor=true] val args: A.X = R|<local>/args|
            public? [TYPES] [ContainingClassKey=Anno] get(): A.X

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

        @R|Anno|(Q|X|.R|/X.A|) public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| {
        }

        @R|Anno|(X#.A#) public final [STATUS] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }

    }

EXPECT_ACTUAL_MATCHING:
FILE: annotationParameters.kt
    public final [STATUS] enum class X : R|kotlin/Enum<X>| {
        private [STATUS] [ContainingClassKey=X] constructor(): R|X| {
            super<R|kotlin/Enum<X>|>()
        }

        public final static [STATUS] [ContainingClassKey=X] enum entry A: R|X|
        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun values(): R|kotlin/Array<X>| {
        }

        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun valueOf([BODY_RESOLVE] value: R|kotlin/String|): R|X| {
        }

    }
    public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| {
        public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
            super<R|kotlin/Any|>()
        }

        public? final? [COMPILER_REQUIRED_ANNOTATIONS] [IsFromPrimaryConstructor=true] val args: A.X = R|<local>/args|
            public? [TYPES] [ContainingClassKey=Anno] get(): A.X

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

        @R|Anno|(Q|X|.R|/X.A|) public final [EXPECT_ACTUAL_MATCHING] fun resolveMe(): R|kotlin/Unit| {
        }

        @R|Anno|(X#.A#) public final [STATUS] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }

    }

BODY_RESOLVE:
FILE: annotationParameters.kt
    public final [STATUS] enum class X : R|kotlin/Enum<X>| {
        private [STATUS] [ContainingClassKey=X] constructor(): R|X| {
            super<R|kotlin/Enum<X>|>()
        }

        public final static [STATUS] [ContainingClassKey=X] enum entry A: R|X|
        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun values(): R|kotlin/Array<X>| {
        }

        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun valueOf([BODY_RESOLVE] value: R|kotlin/String|): R|X| {
        }

    }
    public final [SUPER_TYPES] annotation class Anno : R|kotlin/Annotation| {
        public [STATUS] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: <ERROR TYPE REF: Symbol not found for A.X>): R|Anno| {
            super<R|kotlin/Any|>()
        }

        public? final? [SUPER_TYPES] [IsFromPrimaryConstructor=true] val args: A.X = R|<local>/args|
            public? [TYPES] [ContainingClassKey=Anno] get(): A.X

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

        @R|Anno|(args = Q|X|.R|/X.A|) public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| {
        }

        @R|Anno|(X#.A#) public final [STATUS] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }

    }

FILE RAW TO BODY:
FILE: annotationParameters.kt
    public final [BODY_RESOLVE] enum class X : R|kotlin/Enum<X>| {
        private [BODY_RESOLVE] [ContainingClassKey=X] constructor(): R|X| {
            super<R|kotlin/Enum<X>|>()
        }

        public final static [BODY_RESOLVE] [ContainingClassKey=X] enum entry A: R|X|
        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun values(): R|kotlin/Array<X>| {
        }

        public final static [BODY_RESOLVE] [ContainingClassKey=X] fun valueOf([BODY_RESOLVE] value: R|kotlin/String|): R|X| {
        }

    }
    public final [BODY_RESOLVE] annotation class Anno : R|kotlin/Annotation| {
        public [BODY_RESOLVE] [ContainingClassKey=Anno] constructor([BODY_RESOLVE] [CorrespondingProperty=/Anno.args] args: <ERROR TYPE REF: Symbol not found for A.X>): R|Anno| {
            super<R|kotlin/Any|>()
        }

        public final [BODY_RESOLVE] [IsFromPrimaryConstructor=true] val args: <ERROR TYPE REF: Symbol not found for A.X> = R|<local>/args|
            public [BODY_RESOLVE] [ContainingClassKey=Anno] get(): <ERROR TYPE REF: Symbol not found for A.X>

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

        @R|Anno|(args = Q|X|.R|/X.A|) public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| {
        }

        @R|Anno|(args = Q|X|.R|/X.A|) public final [BODY_RESOLVE] fun foo(): R|kotlin/Unit| {
        }

    }
