FILE: test.kt
    @ALL:R|p/Default|() package p

    @R|kotlin/annotation/Target|(allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|)) public final annotation class ParamOnly : R|kotlin/Annotation| {
        public constructor(): R|p/ParamOnly| {
            super<R|kotlin/Any|>()
        }

    }
    @R|kotlin/annotation/Target|(allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY|)) public final annotation class ParamProperty : R|kotlin/Annotation| {
        public constructor(): R|p/ParamProperty| {
            super<R|kotlin/Any|>()
        }

    }
    @R|kotlin/annotation/Target|(allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FIELD|)) public final annotation class ParamField : R|kotlin/Annotation| {
        public constructor(): R|p/ParamField| {
            super<R|kotlin/Any|>()
        }

    }
    @R|kotlin/annotation/Target|(allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FIELD|)) public final annotation class PropertyField : R|kotlin/Annotation| {
        public constructor(): R|p/PropertyField| {
            super<R|kotlin/Any|>()
        }

    }
    @R|kotlin/annotation/Target|(allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FIELD|)) public final annotation class ParamPropertyField : R|kotlin/Annotation| {
        public constructor(): R|p/ParamPropertyField| {
            super<R|kotlin/Any|>()
        }

    }
    @R|kotlin/annotation/Target|(allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY_GETTER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY_SETTER|)) public final annotation class GetterSetter : R|kotlin/Annotation| {
        public constructor(): R|p/GetterSetter| {
            super<R|kotlin/Any|>()
        }

    }
    @R|kotlin/annotation/Target|(allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY_GETTER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|)) public final annotation class ParamGetter : R|kotlin/Annotation| {
        public constructor(): R|p/ParamGetter| {
            super<R|kotlin/Any|>()
        }

    }
    @R|kotlin/annotation/Target|(allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY_GETTER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY_SETTER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|)) public final annotation class ParamGetterSetter : R|kotlin/Annotation| {
        public constructor(): R|p/ParamGetterSetter| {
            super<R|kotlin/Any|>()
        }

    }
    public final annotation class Default : R|kotlin/Annotation| {
        public constructor(): R|p/Default| {
            super<R|kotlin/Any|>()
        }

    }
    @R|kotlin/annotation/Target|(allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.CLASS|)) public final annotation class Inapplicable : R|kotlin/Annotation| {
        public constructor(): R|p/Inapplicable| {
            super<R|kotlin/Any|>()
        }

    }
    @ALL:R|p/Default|() public final class My : R|kotlin/Any| {
        public constructor(@ALL:R|p/ParamOnly|() @ALL:R|p/ParamProperty|() @ALL:R|p/ParamField|() @ALL:R|p/ParamPropertyField|() @ALL:R|p/ParamGetter|() @ALL:R|p/ParamGetterSetter|() @ALL:R|p/Default|() @ALL:R|JavaAnn|() valFromConstructor: R|kotlin/Int|, @ALL:R|p/ParamOnly|() @ALL:R|p/ParamProperty|() @ALL:R|p/ParamField|() @ALL:R|p/ParamPropertyField|() @ALL:R|p/ParamGetter|() @ALL:R|p/ParamGetterSetter|() @ALL:R|p/Default|() @ALL:R|JavaAnn|() varFromConstructor: R|kotlin/Int|, @ALL:R|p/Default|() param: R|kotlin/Int|): R|p/My| {
            super<R|kotlin/Any|>()
        }

        @ALL:R|p/ParamProperty|() @ALL:R|p/PropertyField|() @ALL:R|p/ParamPropertyField|() @ALL:R|p/Default|() @ALL:R|p/Inapplicable|() field:@R|p/ParamField|() @R|p/PropertyField|() @R|p/ParamPropertyField|() @R|p/Default|() @R|JavaAnn|() public final val valFromConstructor: R|kotlin/Int| = R|<local>/valFromConstructor|
            @R|p/GetterSetter|() @R|p/ParamGetter|() @R|p/ParamGetterSetter|() @R|p/Default|() @R|JavaAnn|() public get(): R|kotlin/Int|

        @ALL:R|p/ParamProperty|() @ALL:R|p/PropertyField|() @ALL:R|p/ParamPropertyField|() @ALL:R|p/Default|() @ALL:R|p/Inapplicable|() field:@R|p/ParamField|() @R|p/PropertyField|() @R|p/ParamPropertyField|() @R|p/Default|() @R|JavaAnn|() public final var varFromConstructor: R|kotlin/Int| = R|<local>/varFromConstructor|
            @R|p/GetterSetter|() @R|p/ParamGetter|() @R|p/ParamGetterSetter|() @R|p/Default|() @R|JavaAnn|() public get(): R|kotlin/Int|
            public set(@R|p/ParamOnly|() @R|p/ParamProperty|() @R|p/ParamField|() @R|p/ParamPropertyField|() @R|p/ParamGetter|() @R|p/ParamGetterSetter|() @R|p/Default|() @R|JavaAnn|() value: R|kotlin/Int|): R|kotlin/Unit|

        @ALL:R|p/ParamOnly|() @ALL:R|p/ParamProperty|() @ALL:R|p/PropertyField|() @ALL:R|p/ParamPropertyField|() @ALL:R|p/Default|() @ALL:R|p/Inapplicable|() field:@R|p/ParamField|() @R|p/PropertyField|() @R|p/ParamPropertyField|() @R|p/Default|() @R|JavaAnn|() public final val valInside: R|kotlin/Int| = Int(0)
            @R|p/GetterSetter|() @R|p/ParamGetter|() @R|p/ParamGetterSetter|() @R|p/Default|() @R|JavaAnn|() public get(): R|kotlin/Int|

        @ALL:R|p/ParamProperty|() @ALL:R|p/PropertyField|() @ALL:R|p/ParamPropertyField|() @ALL:R|p/Default|() @ALL:R|p/Inapplicable|() field:@R|p/ParamField|() @R|p/PropertyField|() @R|p/ParamPropertyField|() @R|p/Default|() @R|JavaAnn|() public final var varInside: R|kotlin/Int| = Int(1)
            @R|p/GetterSetter|() @R|p/ParamGetter|() @R|p/ParamGetterSetter|() @R|p/Default|() @R|JavaAnn|() public get(): R|kotlin/Int|
            public set(@R|p/ParamOnly|() @R|p/ParamProperty|() @R|p/ParamField|() @R|p/ParamPropertyField|() @R|p/ParamGetter|() @R|p/ParamGetterSetter|() @R|p/Default|() @R|JavaAnn|() value: R|kotlin/Int|): R|kotlin/Unit|

        @ALL:R|p/ParamOnly|() @ALL:R|p/ParamProperty|() @ALL:R|p/PropertyField|() @ALL:R|p/ParamPropertyField|() @ALL:R|p/Default|() @ALL:R|p/Inapplicable|() field:@R|p/ParamField|() @R|p/PropertyField|() @R|p/ParamPropertyField|() @R|p/Default|() @R|JavaAnn|() public final val valWithGetter: R|kotlin/Int| = Int(2)
            @R|p/GetterSetter|() @R|p/ParamGetter|() @R|p/ParamGetterSetter|() @R|p/Default|() @R|JavaAnn|() public get(): R|kotlin/Int| {
                ^ this@R|p/My|.F|p/My.valWithGetter|
            }

        @ALL:R|p/ParamOnly|() @ALL:R|p/ParamProperty|() @ALL:R|p/PropertyField|() @ALL:R|p/ParamPropertyField|() @ALL:R|p/Default|() @ALL:R|p/Inapplicable|() field:@R|p/ParamField|() @R|p/PropertyField|() @R|p/ParamPropertyField|() @R|p/Default|() @R|JavaAnn|() public final val valWithoutField: R|kotlin/Int|
            @R|p/GetterSetter|() @R|p/ParamGetter|() @R|p/ParamGetterSetter|() @R|p/Default|() @R|JavaAnn|() public get(): R|kotlin/Int| {
                ^ Int(3)
            }

        @ALL:R|p/ParamProperty|() @ALL:R|p/PropertyField|() @ALL:R|p/ParamPropertyField|() @ALL:R|p/Default|() @ALL:R|p/Inapplicable|() field:@R|p/ParamField|() @R|p/PropertyField|() @R|p/ParamPropertyField|() @R|p/Default|() @R|JavaAnn|() public final var varWithSetter: R|kotlin/Int| = Int(4)
            @R|p/GetterSetter|() @R|p/ParamGetter|() @R|p/ParamGetterSetter|() @R|p/Default|() @R|JavaAnn|() public get(): R|kotlin/Int|
            public set(@R|p/ParamOnly|() @R|p/ParamProperty|() @R|p/ParamField|() @R|p/ParamPropertyField|() @R|p/ParamGetter|() @R|p/ParamGetterSetter|() @R|p/Default|() @R|JavaAnn|() param: R|kotlin/Int|): R|kotlin/Unit| {
            }

        @ALL:R|p/ParamProperty|() @ALL:R|p/PropertyField|() @ALL:R|p/ParamPropertyField|() @ALL:R|p/Default|() @ALL:R|p/Inapplicable|() field:@R|p/ParamField|() @R|p/PropertyField|() @R|p/ParamPropertyField|() @R|p/Default|() @R|JavaAnn|() public final var varWithSetterAndGetter: R|kotlin/Int| = Int(5)
            @R|p/GetterSetter|() @R|p/ParamGetter|() @R|p/ParamGetterSetter|() @R|p/Default|() @R|JavaAnn|() public get(): R|kotlin/Int| {
                ^ this@R|p/My|.F|p/My.varWithSetterAndGetter|
            }
            public set(@R|p/ParamOnly|() @R|p/ParamProperty|() @R|p/ParamField|() @R|p/ParamPropertyField|() @R|p/ParamGetter|() @R|p/ParamGetterSetter|() @R|p/Default|() @R|JavaAnn|() param: R|kotlin/Int|): R|kotlin/Unit| {
            }

        @ALL:R|p/ParamProperty|() @ALL:R|p/PropertyField|() @ALL:R|p/ParamPropertyField|() @ALL:R|p/Default|() @ALL:R|p/Inapplicable|() field:@R|p/ParamField|() @R|p/PropertyField|() @R|p/ParamPropertyField|() @R|p/Default|() @R|JavaAnn|() public final var varWithoutField: R|kotlin/Int|
            @R|p/GetterSetter|() @R|p/ParamGetter|() @R|p/ParamGetterSetter|() @R|p/Default|() @R|JavaAnn|() public get(): R|kotlin/Int| {
                ^ Int(6)
            }
            public set(@R|p/ParamOnly|() @R|p/ParamProperty|() @R|p/ParamField|() @R|p/ParamPropertyField|() @R|p/ParamGetter|() @R|p/ParamGetterSetter|() @R|p/Default|() @R|JavaAnn|() param: R|kotlin/Int|): R|kotlin/Unit| {
            }

        @ALL:R|p/ParamOnly|() @ALL:R|p/ParamProperty|() @ALL:R|p/ParamField|() @ALL:R|p/PropertyField|() @ALL:R|p/ParamPropertyField|() @ALL:R|p/GetterSetter|() @ALL:R|p/ParamGetter|() @ALL:R|p/ParamGetterSetter|() @ALL:R|p/Default|() @ALL:R|p/Inapplicable|() @ALL:R|JavaAnn|() public final val delegatedVal: R|kotlin/Int|by R|kotlin/lazy|<R|kotlin/Int|>(<L> = lazy@fun <anonymous>(): R|kotlin/Int| <inline=NoInline>  {
            ^ Int(7)
        }
        )
            @R|p/GetterSetter|() @R|p/ParamGetter|() @R|p/ParamGetterSetter|() @R|p/Default|() @R|JavaAnn|() public get(): R|kotlin/Int| {
                ^ this@R|p/My|.D|p/My.delegatedVal|.R|kotlin/getValue|<R|kotlin/Int|>(this@R|p/My|, ::R|p/My.delegatedVal|)
            }

        @ALL:R|p/Default|() public final fun foo(@ALL:R|p/Default|() param: R|kotlin/Int|): R|@ALL:R|p/Default|()  kotlin/Int| {
            @ALL:R|p/Default|() lval x: R|kotlin/Int| = Int(8)
            lval y: R|kotlin/Int| = @ALL:R|p/Default|() R|<local>/x|
            lval z: R|p/<anonymous>| = object : R|kotlin/Any| {
                private constructor(): R|p/<anonymous>| {
                    super<R|kotlin/Any|>()
                }

                @ALL:R|p/Default|() field:@R|p/Default|() public final val bar: R|kotlin/Int| = Int(0)
                    @R|p/Default|() public get(): R|kotlin/Int|

            }

            ^foo R|<local>/y|
        }

        @ALL:R|p/Default|() public constructor(@ALL:R|p/Default|() param: R|kotlin/Int|): R|p/My| {
            this<R|p/My|>(Int(0), Int(1), Int(2))
        }

        public final var withIllegal: R|kotlin/Int| = Int(9)
            @ALL:R|p/Default|() public get(): R|kotlin/Int| {
                ^ this@R|p/My|.F|p/My.withIllegal|
            }
            @ALL:R|p/Default|() public set(@ALL:R|p/Default|() param: R|kotlin/Int|): R|kotlin/Unit| {
            }

    }
