FILE: annotation.kt
    @Target(AnnotationTarget#.CLASS#, AnnotationTarget#.PROPERTY#, AnnotationTarget#.LOCAL_VARIABLE#, AnnotationTarget#.VALUE_PARAMETER#, AnnotationTarget#.CONSTRUCTOR#, AnnotationTarget#.FUNCTION#, AnnotationTarget#.TYPE#) public? final? annotation class base : R|kotlin/Annotation| {
        public? [ContainingClassKey=base] constructor(): R|base| {
            super<R|kotlin/Any|>()
        }

    }
    @base() public? final? annotation class derived : R|kotlin/Annotation| {
        public? [ContainingClassKey=derived] constructor(): R|derived| {
            super<R|kotlin/Any|>()
        }

    }
    @base() public? final? class correct : R|kotlin/Any| {
        public? [ContainingClassKey=correct] constructor([CorrespondingProperty=/correct.x] @base() x: Int): R|correct| {
            super<R|kotlin/Any|>()
        }

        @base() public? final? [IsFromPrimaryConstructor=true] val x: Int = R|<local>/x|
            [ContainingClassKey=correct] public? get(): Int

        @base() public? [ContainingClassKey=correct] constructor(): R|correct| {
            this<R|correct|>(IntegerLiteral(0))
        }

    }
    @base() public? final? enum class My : R|kotlin/Enum<My>| {
        private [ContainingClassKey=My] constructor(): R|My| {
            super<R|kotlin/Enum<My>|>()
        }

        @base() public final static [ContainingClassKey=My] enum entry FIRST: R|My| = object : R|My| {
            private [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                super<R|My|>()
            }

        }

        @base() public final static [ContainingClassKey=My] enum entry SECOND: R|My| = object : R|My| {
            private [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
                super<R|My|>()
            }

        }

        public final static [ContainingClassKey=My] fun values(): R|kotlin/Array<My>| {
        }

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

    }
    @base() public? final? fun foo(@base() y: @base() Int): Int {
        @base() local final? fun bar(@base() z: @base() Int): <implicit> {
            ^bar z#.plus#(IntegerLiteral(1))
        }

        @base() lval local: <implicit> = bar#(y#)
        ^foo local#
    }
    @base() public? final? val z: <implicit> = IntegerLiteral(0)
        public? get(): <implicit>
