FILE[kind=File[packageFqName=kotlin.annotation]]
  PACKAGE_DIRECTIVE
    DOT_QUALIFIED_EXPRESSION
      REFERENCE_EXPRESSION[referencedName=kotlin]
      REFERENCE_EXPRESSION[referencedName=annotation]
  IMPORT_LIST
  CLASS[classId=kotlin/annotation/AnnotationRetention, fqName=kotlin.annotation.AnnotationRetention, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=true, name=AnnotationRetention, superNames=[Enum]]
    MODIFIER_LIST[public final enum]
    PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=AnnotationRetention]
      MODIFIER_LIST[private MustUseReturnValue]
      VALUE_PARAMETER_LIST
    SUPER_TYPE_LIST
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=kotlin]
            REFERENCE_EXPRESSION[referencedName=Enum]
            TYPE_ARGUMENT_LIST
              TYPE_PROJECTION[projectionKind=NONE]
                TYPE_REFERENCE
                  USER_TYPE
                    USER_TYPE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=kotlin]
                      REFERENCE_EXPRESSION[referencedName=annotation]
                    REFERENCE_EXPRESSION[referencedName=AnnotationRetention]
    CLASS_BODY
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationRetention.SOURCE, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=SOURCE, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationRetention.BINARY, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=BINARY, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationRetention.RUNTIME, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=RUNTIME, superNames=[]]
  CLASS[classId=kotlin/annotation/AnnotationTarget, fqName=kotlin.annotation.AnnotationTarget, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=true, name=AnnotationTarget, superNames=[Enum]]
    MODIFIER_LIST[public final enum]
    PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=AnnotationTarget]
      MODIFIER_LIST[private MustUseReturnValue]
      VALUE_PARAMETER_LIST
    SUPER_TYPE_LIST
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=kotlin]
            REFERENCE_EXPRESSION[referencedName=Enum]
            TYPE_ARGUMENT_LIST
              TYPE_PROJECTION[projectionKind=NONE]
                TYPE_REFERENCE
                  USER_TYPE
                    USER_TYPE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=kotlin]
                      REFERENCE_EXPRESSION[referencedName=annotation]
                    REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
    CLASS_BODY
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationTarget.CLASS, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=CLASS, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationTarget.ANNOTATION_CLASS, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=ANNOTATION_CLASS, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationTarget.TYPE_PARAMETER, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=TYPE_PARAMETER, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationTarget.PROPERTY, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=PROPERTY, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationTarget.FIELD, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=FIELD, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationTarget.LOCAL_VARIABLE, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=LOCAL_VARIABLE, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationTarget.VALUE_PARAMETER, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=VALUE_PARAMETER, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationTarget.CONSTRUCTOR, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=CONSTRUCTOR, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationTarget.FUNCTION, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=FUNCTION, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationTarget.PROPERTY_GETTER, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=PROPERTY_GETTER, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationTarget.PROPERTY_SETTER, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=PROPERTY_SETTER, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationTarget.TYPE, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=TYPE, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationTarget.EXPRESSION, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=EXPRESSION, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationTarget.FILE, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=FILE, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=kotlin.annotation.AnnotationTarget.TYPEALIAS, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=false, name=TYPEALIAS, superNames=[]]
        MODIFIER_LIST[]
          ANNOTATION_ENTRY[hasValueArguments=true, shortName=SinceKotlin]
            valueArguments: [ version -> "1.1" ]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=kotlin]
                  REFERENCE_EXPRESSION[referencedName=SinceKotlin]
            VALUE_ARGUMENT_LIST
              VALUE_ARGUMENT[isSpread=false]
                VALUE_ARGUMENT_NAME
                  REFERENCE_EXPRESSION[referencedName=version]
                STRING_TEMPLATE
                  LITERAL_STRING_TEMPLATE_ENTRY[text=1.1]
  CLASS[classId=kotlin/annotation/MustBeDocumented, fqName=kotlin.annotation.MustBeDocumented, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=true, name=MustBeDocumented, superNames=[Annotation]]
    MODIFIER_LIST[public final annotation]
      ANNOTATION_ENTRY[hasValueArguments=true, shortName=Target]
        valueArguments: [ allowedTargets -> [AnnotationTarget.ANNOTATION_CLASS] ]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=kotlin]
                REFERENCE_EXPRESSION[referencedName=annotation]
              REFERENCE_EXPRESSION[referencedName=Target]
        VALUE_ARGUMENT_LIST
          VALUE_ARGUMENT[isSpread=false]
            VALUE_ARGUMENT_NAME
              REFERENCE_EXPRESSION[referencedName=allowedTargets]
            COLLECTION_LITERAL_EXPRESSION[innerExpressionCount=1]
              DOT_QUALIFIED_EXPRESSION
                DOT_QUALIFIED_EXPRESSION
                  DOT_QUALIFIED_EXPRESSION
                    REFERENCE_EXPRESSION[referencedName=kotlin]
                    REFERENCE_EXPRESSION[referencedName=annotation]
                  REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
                REFERENCE_EXPRESSION[referencedName=ANNOTATION_CLASS]
    PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=MustBeDocumented]
      MODIFIER_LIST[public MustUseReturnValue]
      VALUE_PARAMETER_LIST
    SUPER_TYPE_LIST
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=kotlin]
            REFERENCE_EXPRESSION[referencedName=Annotation]
    CLASS_BODY
  CLASS[classId=kotlin/annotation/Repeatable, fqName=kotlin.annotation.Repeatable, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=true, name=Repeatable, superNames=[Annotation]]
    MODIFIER_LIST[public final annotation]
      ANNOTATION_ENTRY[hasValueArguments=true, shortName=Target]
        valueArguments: [ allowedTargets -> [AnnotationTarget.ANNOTATION_CLASS] ]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=kotlin]
                REFERENCE_EXPRESSION[referencedName=annotation]
              REFERENCE_EXPRESSION[referencedName=Target]
        VALUE_ARGUMENT_LIST
          VALUE_ARGUMENT[isSpread=false]
            VALUE_ARGUMENT_NAME
              REFERENCE_EXPRESSION[referencedName=allowedTargets]
            COLLECTION_LITERAL_EXPRESSION[innerExpressionCount=1]
              DOT_QUALIFIED_EXPRESSION
                DOT_QUALIFIED_EXPRESSION
                  DOT_QUALIFIED_EXPRESSION
                    REFERENCE_EXPRESSION[referencedName=kotlin]
                    REFERENCE_EXPRESSION[referencedName=annotation]
                  REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
                REFERENCE_EXPRESSION[referencedName=ANNOTATION_CLASS]
    PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=Repeatable]
      MODIFIER_LIST[public MustUseReturnValue]
      VALUE_PARAMETER_LIST
    SUPER_TYPE_LIST
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=kotlin]
            REFERENCE_EXPRESSION[referencedName=Annotation]
    CLASS_BODY
  CLASS[classId=kotlin/annotation/Retention, fqName=kotlin.annotation.Retention, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=true, name=Retention, superNames=[Annotation]]
    MODIFIER_LIST[public final annotation]
      ANNOTATION_ENTRY[hasValueArguments=true, shortName=Target]
        valueArguments: [ allowedTargets -> [AnnotationTarget.ANNOTATION_CLASS] ]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=kotlin]
                REFERENCE_EXPRESSION[referencedName=annotation]
              REFERENCE_EXPRESSION[referencedName=Target]
        VALUE_ARGUMENT_LIST
          VALUE_ARGUMENT[isSpread=false]
            VALUE_ARGUMENT_NAME
              REFERENCE_EXPRESSION[referencedName=allowedTargets]
            COLLECTION_LITERAL_EXPRESSION[innerExpressionCount=1]
              DOT_QUALIFIED_EXPRESSION
                DOT_QUALIFIED_EXPRESSION
                  DOT_QUALIFIED_EXPRESSION
                    REFERENCE_EXPRESSION[referencedName=kotlin]
                    REFERENCE_EXPRESSION[referencedName=annotation]
                  REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
                REFERENCE_EXPRESSION[referencedName=ANNOTATION_CLASS]
    PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=Retention]
      MODIFIER_LIST[public MustUseReturnValue]
      VALUE_PARAMETER_LIST
        VALUE_PARAMETER[fqName=kotlin.annotation.Retention.value, hasDefaultValue=true, hasValOrVar=true, isMutable=false, name=value]
          MODIFIER_LIST[public final MustUseReturnValue]
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=kotlin]
                REFERENCE_EXPRESSION[referencedName=annotation]
              REFERENCE_EXPRESSION[referencedName=AnnotationRetention]
          REFERENCE_EXPRESSION[referencedName=COMPILED_CODE]
    SUPER_TYPE_LIST
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=kotlin]
            REFERENCE_EXPRESSION[referencedName=Annotation]
    CLASS_BODY
  CLASS[classId=kotlin/annotation/Target, fqName=kotlin.annotation.Target, isClsStubCompiledToJvmDefaultImplementation=false, isInterface=false, isLocal=false, isTopLevel=true, name=Target, superNames=[Annotation]]
    MODIFIER_LIST[public final annotation]
      ANNOTATION_ENTRY[hasValueArguments=true, shortName=Target]
        valueArguments: [ allowedTargets -> [AnnotationTarget.ANNOTATION_CLASS] ]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=kotlin]
                REFERENCE_EXPRESSION[referencedName=annotation]
              REFERENCE_EXPRESSION[referencedName=Target]
        VALUE_ARGUMENT_LIST
          VALUE_ARGUMENT[isSpread=false]
            VALUE_ARGUMENT_NAME
              REFERENCE_EXPRESSION[referencedName=allowedTargets]
            COLLECTION_LITERAL_EXPRESSION[innerExpressionCount=1]
              DOT_QUALIFIED_EXPRESSION
                DOT_QUALIFIED_EXPRESSION
                  DOT_QUALIFIED_EXPRESSION
                    REFERENCE_EXPRESSION[referencedName=kotlin]
                    REFERENCE_EXPRESSION[referencedName=annotation]
                  REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
                REFERENCE_EXPRESSION[referencedName=ANNOTATION_CLASS]
      ANNOTATION_ENTRY[hasValueArguments=false, shortName=MustBeDocumented]
        valueArguments: [ ]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=kotlin]
                REFERENCE_EXPRESSION[referencedName=annotation]
              REFERENCE_EXPRESSION[referencedName=MustBeDocumented]
    PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=Target]
      MODIFIER_LIST[public MustUseReturnValue]
      VALUE_PARAMETER_LIST
        VALUE_PARAMETER[fqName=kotlin.annotation.Target.allowedTargets, hasDefaultValue=false, hasValOrVar=true, isMutable=false, name=allowedTargets]
          MODIFIER_LIST[public final vararg MustUseReturnValue]
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=kotlin]
                REFERENCE_EXPRESSION[referencedName=annotation]
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
    SUPER_TYPE_LIST
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=kotlin]
            REFERENCE_EXPRESSION[referencedName=Annotation]
    CLASS_BODY
