PsiJetFileStubImpl[package=]
  PACKAGE_DIRECTIVE
  IMPORT_LIST
  CLASS[classId=/Annotations, fqName=Annotations, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=Annotations, superNames=[]]
    MODIFIER_LIST[public]
      ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=a]
    PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=Annotations]
      MODIFIER_LIST[private]
        ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
          CONSTRUCTOR_CALLEE
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=a]
      VALUE_PARAMETER_LIST
        VALUE_PARAMETER[fqName=Annotations.c1, hasDefaultValue=false, hasValOrVar=true, isMutable=false, name=c1]
          MODIFIER_LIST[private]
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
              ANNOTATION_TARGET[useSiteTarget=PROPERTY]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=a]
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
              ANNOTATION_TARGET[useSiteTarget=CONSTRUCTOR_PARAMETER]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=a]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=Int]
        VALUE_PARAMETER[fqName=Annotations.c2, hasDefaultValue=false, hasValOrVar=true, isMutable=false, name=c2]
          MODIFIER_LIST[]
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
              ANNOTATION_TARGET[useSiteTarget=PROPERTY]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=a]
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
              ANNOTATION_TARGET[useSiteTarget=CONSTRUCTOR_PARAMETER]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=a]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=Int]
    CLASS_BODY
      PROPERTY[fqName=Annotations.hasValueArguments, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=false, isVar=false, name=hasValueArguments]
        MODIFIER_LIST[]
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=a]
      FUN[fqName=Annotations.f, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=f]
        MODIFIER_LIST[protected]
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=a]
        VALUE_PARAMETER_LIST
      FUN[fqName=Annotations.inlineFun, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=false, isTopLevel=false, mayHaveContract=false, name=inlineFun]
        MODIFIER_LIST[inline]
        TYPE_PARAMETER_LIST
          TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
            MODIFIER_LIST[reified]
              ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=a]
          TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=F]
            MODIFIER_LIST[]
              ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=a]
        VALUE_PARAMETER_LIST
      FUN[fqName=Annotations.annotationWithVararg, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=annotationWithVararg]
        MODIFIER_LIST[private]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=i]
            MODIFIER_LIST[vararg]
              ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=a]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=Int]
      PROPERTY[fqName=Annotations.c, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=c]
        MODIFIER_LIST[private]
          ANNOTATION_ENTRY[hasValueArguments=true, shortName=b]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=b]
            VALUE_ARGUMENT_LIST
              VALUE_ARGUMENT[isSpread=false]
                DOT_QUALIFIED_EXPRESSION
                  REFERENCE_EXPRESSION[referencedName=E]
                  REFERENCE_EXPRESSION[referencedName=E1]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Int]
      FUN[fqName=Annotations.g, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=g]
        MODIFIER_LIST[public]
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=a]
          ANNOTATION_ENTRY[hasValueArguments=true, shortName=b]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=b]
            VALUE_ARGUMENT_LIST
              VALUE_ARGUMENT[isSpread=false]
                DOT_QUALIFIED_EXPRESSION
                  REFERENCE_EXPRESSION[referencedName=E]
                  REFERENCE_EXPRESSION[referencedName=E2]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p1]
            MODIFIER_LIST[]
              ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=a]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=E]
      PROPERTY[fqName=Annotations.withCustomAccessors, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=true, name=withCustomAccessors]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Int]
        PROPERTY_ACCESSOR[hasBody=false, hasNoExpressionBody=true, isGetter=true, mayHaveContract=false]
          MODIFIER_LIST[]
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=a]
        PROPERTY_ACCESSOR[hasBody=false, hasNoExpressionBody=true, isGetter=false, mayHaveContract=false]
          MODIFIER_LIST[private]
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=a]
      OBJECT_DECLARATION[classId=/Annotations.Companion, fqName=Annotations.Companion, isCompanion=true, isLocal=false, isObjectLiteral=false, isTopLevel=false, name=Companion, superNames=[]]
        MODIFIER_LIST[private companion]
          ANNOTATION_ENTRY[hasValueArguments=true, shortName=b]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=b]
            VALUE_ARGUMENT_LIST
              VALUE_ARGUMENT[isSpread=false]
                DOT_QUALIFIED_EXPRESSION
                  REFERENCE_EXPRESSION[referencedName=E]
                  REFERENCE_EXPRESSION[referencedName=E2]
        CLASS_BODY
          PROPERTY[fqName=Annotations.Companion.field, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=false, isVar=false, name=field]
            MODIFIER_LIST[]
              ANNOTATION_ENTRY[hasValueArguments=false, shortName=f]
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=f]
      CLASS[classId=/Annotations.Nested, fqName=Annotations.Nested, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=Nested, superNames=[]]
        PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=Nested]
          MODIFIER_LIST[private]
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=a]
            ANNOTATION_ENTRY[hasValueArguments=true, shortName=b]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=b]
              VALUE_ARGUMENT_LIST
                VALUE_ARGUMENT[isSpread=false]
                  DOT_QUALIFIED_EXPRESSION
                    REFERENCE_EXPRESSION[referencedName=E]
                    REFERENCE_EXPRESSION[referencedName=E1]
            ANNOTATION_ENTRY[hasValueArguments=true, shortName=b]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=b]
              VALUE_ARGUMENT_LIST
                VALUE_ARGUMENT[isSpread=false]
                  DOT_QUALIFIED_EXPRESSION
                    REFERENCE_EXPRESSION[referencedName=E]
                    REFERENCE_EXPRESSION[referencedName=E2]
          VALUE_PARAMETER_LIST
      CLASS[classId=/Annotations.En, fqName=Annotations.En, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=En, superNames=[]]
        MODIFIER_LIST[enum]
        CLASS_BODY
          ENUM_ENTRY[classId=null, fqName=Annotations.En.Entry1, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=true, isInterface=false, isLocal=false, isTopLevel=false, name=Entry1, superNames=[]]
          ENUM_ENTRY[classId=null, fqName=Annotations.En.Entry2, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=true, isInterface=false, isLocal=false, isTopLevel=false, name=Entry2, superNames=[]]
            MODIFIER_LIST[]
              ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=a]
              ANNOTATION_ENTRY[hasValueArguments=true, shortName=b]
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=b]
                VALUE_ARGUMENT_LIST
                  VALUE_ARGUMENT[isSpread=false]
                    DOT_QUALIFIED_EXPRESSION
                      REFERENCE_EXPRESSION[referencedName=E]
                      REFERENCE_EXPRESSION[referencedName=E2]
          ENUM_ENTRY[classId=null, fqName=Annotations.En.Entry3, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=true, isInterface=false, isLocal=false, isTopLevel=false, name=Entry3, superNames=[]]
            MODIFIER_LIST[]
              ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=a]
              ANNOTATION_ENTRY[hasValueArguments=false, shortName=c]
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=c]
      FUN[fqName=Annotations.types, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=types]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=param]
            TYPE_REFERENCE
              MODIFIER_LIST[]
                ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
                  CONSTRUCTOR_CALLEE
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=a]
                ANNOTATION_ENTRY[hasValueArguments=true, shortName=b]
                  CONSTRUCTOR_CALLEE
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=b]
                  VALUE_ARGUMENT_LIST
                    VALUE_ARGUMENT[isSpread=false]
                      DOT_QUALIFIED_EXPRESSION
                        REFERENCE_EXPRESSION[referencedName=E]
                        REFERENCE_EXPRESSION[referencedName=E1]
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=LongRange]
        TYPE_REFERENCE
          MODIFIER_LIST[]
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=a]
            ANNOTATION_ENTRY[hasValueArguments=true, shortName=b]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=b]
              VALUE_ARGUMENT_LIST
                VALUE_ARGUMENT[isSpread=false]
                  DOT_QUALIFIED_EXPRESSION
                    REFERENCE_EXPRESSION[referencedName=E]
                    REFERENCE_EXPRESSION[referencedName=E2]
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Unit]
      FUN[fqName=Annotations.foo, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=true, isTopLevel=false, mayHaveContract=false, name=foo]
        TYPE_REFERENCE
          MODIFIER_LIST[]
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
              ANNOTATION_TARGET[useSiteTarget=RECEIVER]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=a]
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Int]
        VALUE_PARAMETER_LIST
      PROPERTY[fqName=Annotations.receiverField, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=true, isTopLevel=false, isVar=false, name=receiverField]
        TYPE_REFERENCE
          MODIFIER_LIST[]
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
              ANNOTATION_TARGET[useSiteTarget=RECEIVER]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=a]
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Int]
        TYPE_REFERENCE
          NULLABLE_TYPE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=String]
        PROPERTY_ACCESSOR[hasBody=true, hasNoExpressionBody=false, isGetter=true, mayHaveContract=false]
          VALUE_PARAMETER_LIST
      PROPERTY[fqName=Annotations.getterField, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=getterField]
        MODIFIER_LIST[]
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
            ANNOTATION_TARGET[useSiteTarget=PROPERTY_GETTER]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=a]
        TYPE_REFERENCE
          NULLABLE_TYPE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=String]
      PROPERTY[fqName=Annotations.setterField, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=true, name=setterField]
        MODIFIER_LIST[]
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
            ANNOTATION_TARGET[useSiteTarget=PROPERTY_SETTER]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=a]
        TYPE_REFERENCE
          NULLABLE_TYPE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=String]
      PROPERTY[fqName=Annotations.ownField, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=ownField]
        MODIFIER_LIST[]
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
            ANNOTATION_TARGET[useSiteTarget=FIELD]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=a]
        TYPE_REFERENCE
          NULLABLE_TYPE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=String]
      PROPERTY[fqName=Annotations.setParam, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=true, name=setParam]
        MODIFIER_LIST[]
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
            ANNOTATION_TARGET[useSiteTarget=SETTER_PARAMETER]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=a]
        TYPE_REFERENCE
          NULLABLE_TYPE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=String]
      PROPERTY[fqName=Annotations.deleage, hasBackingField=null, hasDelegate=true, hasDelegateExpression=true, hasInitializer=false, hasReturnTypeRef=false, isExtension=false, isTopLevel=false, isVar=false, name=deleage]
        MODIFIER_LIST[]
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
            ANNOTATION_TARGET[useSiteTarget=PROPERTY_DELEGATE_FIELD]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=a]
      CLASS[classId=/Annotations.ClassWithConstructor, fqName=Annotations.ClassWithConstructor, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=ClassWithConstructor, superNames=[]]
        PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=ClassWithConstructor]
          VALUE_PARAMETER_LIST
            VALUE_PARAMETER[fqName=Annotations.ClassWithConstructor.b, hasDefaultValue=false, hasValOrVar=true, isMutable=false, name=b]
              MODIFIER_LIST[]
                ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
                  ANNOTATION_TARGET[useSiteTarget=CONSTRUCTOR_PARAMETER]
                  CONSTRUCTOR_CALLEE
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=a]
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=Int]
  CLASS[classId=/a, fqName=a, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=a, superNames=[]]
    MODIFIER_LIST[annotation]
      ANNOTATION_ENTRY[hasValueArguments=true, shortName=Target]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=Target]
        VALUE_ARGUMENT_LIST
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=PROPERTY]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=VALUE_PARAMETER]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=FUNCTION]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=CONSTRUCTOR]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=PROPERTY_GETTER]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=PROPERTY_SETTER]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=TYPE]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=CLASS]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=TYPE_PARAMETER]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=FIELD]
  CLASS[classId=/b, fqName=b, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=b, superNames=[]]
    MODIFIER_LIST[annotation]
      ANNOTATION_ENTRY[hasValueArguments=true, shortName=Target]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=Target]
        VALUE_ARGUMENT_LIST
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=PROPERTY]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=FUNCTION]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=CLASS]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=CONSTRUCTOR]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=TYPE]
      ANNOTATION_ENTRY[hasValueArguments=true, shortName=Retention]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=Retention]
        VALUE_ARGUMENT_LIST
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationRetention]
              REFERENCE_EXPRESSION[referencedName=SOURCE]
      ANNOTATION_ENTRY[hasValueArguments=false, shortName=Repeatable]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=Repeatable]
    PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=b]
      VALUE_PARAMETER_LIST
        VALUE_PARAMETER[fqName=b.e, hasDefaultValue=false, hasValOrVar=true, isMutable=false, name=e]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=E]
  CLASS[classId=/c, fqName=c, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=c, superNames=[]]
    MODIFIER_LIST[annotation]
      ANNOTATION_ENTRY[hasValueArguments=true, shortName=Target]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=Target]
        VALUE_ARGUMENT_LIST
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=PROPERTY]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=VALUE_PARAMETER]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=FUNCTION]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=CONSTRUCTOR]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=PROPERTY_GETTER]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=PROPERTY_SETTER]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=TYPE]
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=CLASS]
  CLASS[classId=/f, fqName=f, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=f, superNames=[]]
    MODIFIER_LIST[annotation]
      ANNOTATION_ENTRY[hasValueArguments=true, shortName=Target]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=Target]
        VALUE_ARGUMENT_LIST
          VALUE_ARGUMENT[isSpread=false]
            DOT_QUALIFIED_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=AnnotationTarget]
              REFERENCE_EXPRESSION[referencedName=FIELD]
  CLASS[classId=/E, fqName=E, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=E, superNames=[]]
    MODIFIER_LIST[enum]
    CLASS_BODY
      ENUM_ENTRY[classId=null, fqName=E.E1, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=true, isInterface=false, isLocal=false, isTopLevel=false, name=E1, superNames=[]]
      ENUM_ENTRY[classId=null, fqName=E.E2, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=true, isInterface=false, isLocal=false, isTopLevel=false, name=E2, superNames=[]]
