public class com.fasterxml.jackson.databind.ser.std.EnumSerializer extends com.fasterxml.jackson.databind.ser.std.StdScalarSerializer<java.lang.Enum<?>> implements com.fasterxml.jackson.databind.ser.ContextualSerializer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.fasterxml.jackson.databind.ser.std.EnumSerializer
  super_class: com.fasterxml.jackson.databind.ser.std.StdScalarSerializer
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  protected final com.fasterxml.jackson.databind.util.EnumValues _values;
    descriptor: Lcom/fasterxml/jackson/databind/util/EnumValues;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.Boolean _serializeAsIndex;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  public void <init>(com.fasterxml.jackson.databind.util.EnumValues, java.lang.Boolean);
    descriptor: (Lcom/fasterxml/jackson/databind/util/EnumValues;Ljava/lang/Boolean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.fasterxml.jackson.databind.ser.std.EnumSerializer this
        start local 1 // com.fasterxml.jackson.databind.util.EnumValues v
        start local 2 // java.lang.Boolean serializeAsIndex
         0: .line 60
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual com.fasterxml.jackson.databind.util.EnumValues.getEnumClass:()Ljava/lang/Class;
            iconst_0
            invokespecial com.fasterxml.jackson.databind.ser.std.StdScalarSerializer.<init>:(Ljava/lang/Class;Z)V
         1: .line 61
            aload 0 /* this */
            aload 1 /* v */
            putfield com.fasterxml.jackson.databind.ser.std.EnumSerializer._values:Lcom/fasterxml/jackson/databind/util/EnumValues;
         2: .line 62
            aload 0 /* this */
            aload 2 /* serializeAsIndex */
            putfield com.fasterxml.jackson.databind.ser.std.EnumSerializer._serializeAsIndex:Ljava/lang/Boolean;
         3: .line 63
            return
        end local 2 // java.lang.Boolean serializeAsIndex
        end local 1 // com.fasterxml.jackson.databind.util.EnumValues v
        end local 0 // com.fasterxml.jackson.databind.ser.std.EnumSerializer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;
            0    4     1                 v  Lcom/fasterxml/jackson/databind/util/EnumValues;
            0    4     2  serializeAsIndex  Ljava/lang/Boolean;
    MethodParameters:
                  Name  Flags
      v                 
      serializeAsIndex  

  public static com.fasterxml.jackson.databind.ser.std.EnumSerializer construct(java.lang.Class<?>, com.fasterxml.jackson.databind.SerializationConfig, com.fasterxml.jackson.databind.BeanDescription, com.fasterxml.jackson.annotation.JsonFormat$Value);
    descriptor: (Ljava/lang/Class;Lcom/fasterxml/jackson/databind/SerializationConfig;Lcom/fasterxml/jackson/databind/BeanDescription;Lcom/fasterxml/jackson/annotation/JsonFormat$Value;)Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // java.lang.Class enumClass
        start local 1 // com.fasterxml.jackson.databind.SerializationConfig config
        start local 2 // com.fasterxml.jackson.databind.BeanDescription beanDesc
        start local 3 // com.fasterxml.jackson.annotation.JsonFormat$Value format
         0: .line 79
            aload 1 /* config */
            aload 0 /* enumClass */
            invokestatic com.fasterxml.jackson.databind.util.EnumValues.constructFromName:(Lcom/fasterxml/jackson/databind/cfg/MapperConfig;Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/util/EnumValues;
            astore 4 /* v */
        start local 4 // com.fasterxml.jackson.databind.util.EnumValues v
         1: .line 80
            aload 0 /* enumClass */
            aload 3 /* format */
            iconst_1
            aconst_null
            invokestatic com.fasterxml.jackson.databind.ser.std.EnumSerializer._isShapeWrittenUsingIndex:(Ljava/lang/Class;Lcom/fasterxml/jackson/annotation/JsonFormat$Value;ZLjava/lang/Boolean;)Ljava/lang/Boolean;
            astore 5 /* serializeAsIndex */
        start local 5 // java.lang.Boolean serializeAsIndex
         2: .line 81
            new com.fasterxml.jackson.databind.ser.std.EnumSerializer
            dup
            aload 4 /* v */
            aload 5 /* serializeAsIndex */
            invokespecial com.fasterxml.jackson.databind.ser.std.EnumSerializer.<init>:(Lcom/fasterxml/jackson/databind/util/EnumValues;Ljava/lang/Boolean;)V
            areturn
        end local 5 // java.lang.Boolean serializeAsIndex
        end local 4 // com.fasterxml.jackson.databind.util.EnumValues v
        end local 3 // com.fasterxml.jackson.annotation.JsonFormat$Value format
        end local 2 // com.fasterxml.jackson.databind.BeanDescription beanDesc
        end local 1 // com.fasterxml.jackson.databind.SerializationConfig config
        end local 0 // java.lang.Class enumClass
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0         enumClass  Ljava/lang/Class<*>;
            0    3     1            config  Lcom/fasterxml/jackson/databind/SerializationConfig;
            0    3     2          beanDesc  Lcom/fasterxml/jackson/databind/BeanDescription;
            0    3     3            format  Lcom/fasterxml/jackson/annotation/JsonFormat$Value;
            1    3     4                 v  Lcom/fasterxml/jackson/databind/util/EnumValues;
            2    3     5  serializeAsIndex  Ljava/lang/Boolean;
    Signature: (Ljava/lang/Class<*>;Lcom/fasterxml/jackson/databind/SerializationConfig;Lcom/fasterxml/jackson/databind/BeanDescription;Lcom/fasterxml/jackson/annotation/JsonFormat$Value;)Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;
    MethodParameters:
           Name  Flags
      enumClass  
      config     
      beanDesc   
      format     

  public com.fasterxml.jackson.databind.JsonSerializer<?> createContextual(com.fasterxml.jackson.databind.SerializerProvider, com.fasterxml.jackson.databind.BeanProperty);
    descriptor: (Lcom/fasterxml/jackson/databind/SerializerProvider;Lcom/fasterxml/jackson/databind/BeanProperty;)Lcom/fasterxml/jackson/databind/JsonSerializer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.fasterxml.jackson.databind.ser.std.EnumSerializer this
        start local 1 // com.fasterxml.jackson.databind.SerializerProvider serializers
        start local 2 // com.fasterxml.jackson.databind.BeanProperty property
         0: .line 93
            aload 0 /* this */
            aload 1 /* serializers */
         1: .line 94
            aload 2 /* property */
            aload 0 /* this */
            invokevirtual com.fasterxml.jackson.databind.ser.std.EnumSerializer.handledType:()Ljava/lang/Class;
         2: .line 93
            invokevirtual com.fasterxml.jackson.databind.ser.std.EnumSerializer.findFormatOverrides:(Lcom/fasterxml/jackson/databind/SerializerProvider;Lcom/fasterxml/jackson/databind/BeanProperty;Ljava/lang/Class;)Lcom/fasterxml/jackson/annotation/JsonFormat$Value;
            astore 3 /* format */
        start local 3 // com.fasterxml.jackson.annotation.JsonFormat$Value format
         3: .line 95
            aload 3 /* format */
            ifnull 10
         4: .line 96
            aload 0 /* this */
            invokevirtual com.fasterxml.jackson.databind.ser.std.EnumSerializer.handledType:()Ljava/lang/Class;
            astore 4 /* type */
        start local 4 // java.lang.Class type
         5: .line 97
            aload 4 /* type */
         6: .line 98
            aload 3 /* format */
            iconst_0
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ser.std.EnumSerializer._serializeAsIndex:Ljava/lang/Boolean;
         7: .line 97
            invokestatic com.fasterxml.jackson.databind.ser.std.EnumSerializer._isShapeWrittenUsingIndex:(Ljava/lang/Class;Lcom/fasterxml/jackson/annotation/JsonFormat$Value;ZLjava/lang/Boolean;)Ljava/lang/Boolean;
            astore 5 /* serializeAsIndex */
        start local 5 // java.lang.Boolean serializeAsIndex
         8: .line 99
            aload 5 /* serializeAsIndex */
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ser.std.EnumSerializer._serializeAsIndex:Ljava/lang/Boolean;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 10
         9: .line 100
            new com.fasterxml.jackson.databind.ser.std.EnumSerializer
            dup
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ser.std.EnumSerializer._values:Lcom/fasterxml/jackson/databind/util/EnumValues;
            aload 5 /* serializeAsIndex */
            invokespecial com.fasterxml.jackson.databind.ser.std.EnumSerializer.<init>:(Lcom/fasterxml/jackson/databind/util/EnumValues;Ljava/lang/Boolean;)V
            areturn
        end local 5 // java.lang.Boolean serializeAsIndex
        end local 4 // java.lang.Class type
        10: .line 103
      StackMap locals: com.fasterxml.jackson.annotation.JsonFormat$Value
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // com.fasterxml.jackson.annotation.JsonFormat$Value format
        end local 2 // com.fasterxml.jackson.databind.BeanProperty property
        end local 1 // com.fasterxml.jackson.databind.SerializerProvider serializers
        end local 0 // com.fasterxml.jackson.databind.ser.std.EnumSerializer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;
            0   11     1       serializers  Lcom/fasterxml/jackson/databind/SerializerProvider;
            0   11     2          property  Lcom/fasterxml/jackson/databind/BeanProperty;
            3   11     3            format  Lcom/fasterxml/jackson/annotation/JsonFormat$Value;
            5   10     4              type  Ljava/lang/Class<*>;
            8   10     5  serializeAsIndex  Ljava/lang/Boolean;
    Exceptions:
      throws com.fasterxml.jackson.databind.JsonMappingException
    Signature: (Lcom/fasterxml/jackson/databind/SerializerProvider;Lcom/fasterxml/jackson/databind/BeanProperty;)Lcom/fasterxml/jackson/databind/JsonSerializer<*>;
    MethodParameters:
             Name  Flags
      serializers  
      property     

  public com.fasterxml.jackson.databind.util.EnumValues getEnumValues();
    descriptor: ()Lcom/fasterxml/jackson/databind/util/EnumValues;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.fasterxml.jackson.databind.ser.std.EnumSerializer this
         0: .line 112
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ser.std.EnumSerializer._values:Lcom/fasterxml/jackson/databind/util/EnumValues;
            areturn
        end local 0 // com.fasterxml.jackson.databind.ser.std.EnumSerializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;

  public final void serialize(java.lang.Enum<?>, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider);
    descriptor: (Ljava/lang/Enum;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.fasterxml.jackson.databind.ser.std.EnumSerializer this
        start local 1 // java.lang.Enum en
        start local 2 // com.fasterxml.jackson.core.JsonGenerator gen
        start local 3 // com.fasterxml.jackson.databind.SerializerProvider serializers
         0: .line 124
            aload 0 /* this */
            aload 3 /* serializers */
            invokevirtual com.fasterxml.jackson.databind.ser.std.EnumSerializer._serializeAsIndex:(Lcom/fasterxml/jackson/databind/SerializerProvider;)Z
            ifeq 3
         1: .line 125
            aload 2 /* gen */
            aload 1 /* en */
            invokevirtual java.lang.Enum.ordinal:()I
            invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeNumber:(I)V
         2: .line 126
            return
         3: .line 129
      StackMap locals:
      StackMap stack:
            aload 3 /* serializers */
            getstatic com.fasterxml.jackson.databind.SerializationFeature.WRITE_ENUMS_USING_TO_STRING:Lcom/fasterxml/jackson/databind/SerializationFeature;
            invokevirtual com.fasterxml.jackson.databind.SerializerProvider.isEnabled:(Lcom/fasterxml/jackson/databind/SerializationFeature;)Z
            ifeq 6
         4: .line 130
            aload 2 /* gen */
            aload 1 /* en */
            invokevirtual java.lang.Enum.toString:()Ljava/lang/String;
            invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeString:(Ljava/lang/String;)V
         5: .line 131
            return
         6: .line 133
      StackMap locals:
      StackMap stack:
            aload 2 /* gen */
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ser.std.EnumSerializer._values:Lcom/fasterxml/jackson/databind/util/EnumValues;
            aload 1 /* en */
            invokevirtual com.fasterxml.jackson.databind.util.EnumValues.serializedValueFor:(Ljava/lang/Enum;)Lcom/fasterxml/jackson/core/SerializableString;
            invokevirtual com.fasterxml.jackson.core.JsonGenerator.writeString:(Lcom/fasterxml/jackson/core/SerializableString;)V
         7: .line 134
            return
        end local 3 // com.fasterxml.jackson.databind.SerializerProvider serializers
        end local 2 // com.fasterxml.jackson.core.JsonGenerator gen
        end local 1 // java.lang.Enum en
        end local 0 // com.fasterxml.jackson.databind.ser.std.EnumSerializer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;
            0    8     1           en  Ljava/lang/Enum<*>;
            0    8     2          gen  Lcom/fasterxml/jackson/core/JsonGenerator;
            0    8     3  serializers  Lcom/fasterxml/jackson/databind/SerializerProvider;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Enum<*>;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V
    MethodParameters:
             Name  Flags
      en           
      gen          
      serializers  

  public com.fasterxml.jackson.databind.JsonNode getSchema(com.fasterxml.jackson.databind.SerializerProvider, java.lang.reflect.Type);
    descriptor: (Lcom/fasterxml/jackson/databind/SerializerProvider;Ljava/lang/reflect/Type;)Lcom/fasterxml/jackson/databind/JsonNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // com.fasterxml.jackson.databind.ser.std.EnumSerializer this
        start local 1 // com.fasterxml.jackson.databind.SerializerProvider provider
        start local 2 // java.lang.reflect.Type typeHint
         0: .line 145
            aload 0 /* this */
            aload 1 /* provider */
            invokevirtual com.fasterxml.jackson.databind.ser.std.EnumSerializer._serializeAsIndex:(Lcom/fasterxml/jackson/databind/SerializerProvider;)Z
            ifeq 2
         1: .line 146
            aload 0 /* this */
            ldc "integer"
            iconst_1
            invokevirtual com.fasterxml.jackson.databind.ser.std.EnumSerializer.createSchemaNode:(Ljava/lang/String;Z)Lcom/fasterxml/jackson/databind/node/ObjectNode;
            areturn
         2: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "string"
            iconst_1
            invokevirtual com.fasterxml.jackson.databind.ser.std.EnumSerializer.createSchemaNode:(Ljava/lang/String;Z)Lcom/fasterxml/jackson/databind/node/ObjectNode;
            astore 3 /* objectNode */
        start local 3 // com.fasterxml.jackson.databind.node.ObjectNode objectNode
         3: .line 149
            aload 2 /* typeHint */
            ifnull 11
         4: .line 150
            aload 1 /* provider */
            aload 2 /* typeHint */
            invokevirtual com.fasterxml.jackson.databind.SerializerProvider.constructType:(Ljava/lang/reflect/Type;)Lcom/fasterxml/jackson/databind/JavaType;
            astore 4 /* type */
        start local 4 // com.fasterxml.jackson.databind.JavaType type
         5: .line 151
            aload 4 /* type */
            invokevirtual com.fasterxml.jackson.databind.JavaType.isEnumType:()Z
            ifeq 11
         6: .line 152
            aload 3 /* objectNode */
            ldc "enum"
            invokevirtual com.fasterxml.jackson.databind.node.ObjectNode.putArray:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/node/ArrayNode;
            astore 5 /* enumNode */
        start local 5 // com.fasterxml.jackson.databind.node.ArrayNode enumNode
         7: .line 153
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ser.std.EnumSerializer._values:Lcom/fasterxml/jackson/databind/util/EnumValues;
            invokevirtual com.fasterxml.jackson.databind.util.EnumValues.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 10
      StackMap locals: com.fasterxml.jackson.databind.ser.std.EnumSerializer com.fasterxml.jackson.databind.SerializerProvider java.lang.reflect.Type com.fasterxml.jackson.databind.node.ObjectNode com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.node.ArrayNode top java.util.Iterator
      StackMap stack:
         8: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.fasterxml.jackson.core.SerializableString
            astore 6 /* value */
        start local 6 // com.fasterxml.jackson.core.SerializableString value
         9: .line 154
            aload 5 /* enumNode */
            aload 6 /* value */
            invokeinterface com.fasterxml.jackson.core.SerializableString.getValue:()Ljava/lang/String;
            invokevirtual com.fasterxml.jackson.databind.node.ArrayNode.add:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/node/ArrayNode;
            pop
        end local 6 // com.fasterxml.jackson.core.SerializableString value
        10: .line 153
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 5 // com.fasterxml.jackson.databind.node.ArrayNode enumNode
        end local 4 // com.fasterxml.jackson.databind.JavaType type
        11: .line 158
      StackMap locals: com.fasterxml.jackson.databind.ser.std.EnumSerializer com.fasterxml.jackson.databind.SerializerProvider java.lang.reflect.Type com.fasterxml.jackson.databind.node.ObjectNode
      StackMap stack:
            aload 3 /* objectNode */
            areturn
        end local 3 // com.fasterxml.jackson.databind.node.ObjectNode objectNode
        end local 2 // java.lang.reflect.Type typeHint
        end local 1 // com.fasterxml.jackson.databind.SerializerProvider provider
        end local 0 // com.fasterxml.jackson.databind.ser.std.EnumSerializer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;
            0   12     1    provider  Lcom/fasterxml/jackson/databind/SerializerProvider;
            0   12     2    typeHint  Ljava/lang/reflect/Type;
            3   12     3  objectNode  Lcom/fasterxml/jackson/databind/node/ObjectNode;
            5   11     4        type  Lcom/fasterxml/jackson/databind/JavaType;
            7   11     5    enumNode  Lcom/fasterxml/jackson/databind/node/ArrayNode;
            9   10     6       value  Lcom/fasterxml/jackson/core/SerializableString;
    MethodParameters:
          Name  Flags
      provider  
      typeHint  

  public void acceptJsonFormatVisitor(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper, com.fasterxml.jackson.databind.JavaType);
    descriptor: (Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatVisitorWrapper;Lcom/fasterxml/jackson/databind/JavaType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // com.fasterxml.jackson.databind.ser.std.EnumSerializer this
        start local 1 // com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor
        start local 2 // com.fasterxml.jackson.databind.JavaType typeHint
         0: .line 165
            aload 1 /* visitor */
            invokeinterface com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper.getProvider:()Lcom/fasterxml/jackson/databind/SerializerProvider;
            astore 3 /* serializers */
        start local 3 // com.fasterxml.jackson.databind.SerializerProvider serializers
         1: .line 166
            aload 0 /* this */
            aload 3 /* serializers */
            invokevirtual com.fasterxml.jackson.databind.ser.std.EnumSerializer._serializeAsIndex:(Lcom/fasterxml/jackson/databind/SerializerProvider;)Z
            ifeq 4
         2: .line 167
            aload 0 /* this */
            aload 1 /* visitor */
            aload 2 /* typeHint */
            getstatic com.fasterxml.jackson.core.JsonParser$NumberType.INT:Lcom/fasterxml/jackson/core/JsonParser$NumberType;
            invokevirtual com.fasterxml.jackson.databind.ser.std.EnumSerializer.visitIntFormat:(Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatVisitorWrapper;Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/core/JsonParser$NumberType;)V
         3: .line 168
            return
         4: .line 170
      StackMap locals: com.fasterxml.jackson.databind.SerializerProvider
      StackMap stack:
            aload 1 /* visitor */
            aload 2 /* typeHint */
            invokeinterface com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper.expectStringFormat:(Lcom/fasterxml/jackson/databind/JavaType;)Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonStringFormatVisitor;
            astore 4 /* stringVisitor */
        start local 4 // com.fasterxml.jackson.databind.jsonFormatVisitors.JsonStringFormatVisitor stringVisitor
         5: .line 171
            aload 4 /* stringVisitor */
            ifnull 19
         6: .line 172
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 5 /* enums */
        start local 5 // java.util.Set enums
         7: .line 175
            aload 3 /* serializers */
            ifnull 14
         8: .line 176
            aload 3 /* serializers */
            getstatic com.fasterxml.jackson.databind.SerializationFeature.WRITE_ENUMS_USING_TO_STRING:Lcom/fasterxml/jackson/databind/SerializationFeature;
            invokevirtual com.fasterxml.jackson.databind.SerializerProvider.isEnabled:(Lcom/fasterxml/jackson/databind/SerializationFeature;)Z
            ifeq 14
         9: .line 177
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ser.std.EnumSerializer._values:Lcom/fasterxml/jackson/databind/util/EnumValues;
            invokevirtual com.fasterxml.jackson.databind.util.EnumValues.enums:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 12
      StackMap locals: com.fasterxml.jackson.databind.ser.std.EnumSerializer com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.SerializerProvider com.fasterxml.jackson.databind.jsonFormatVisitors.JsonStringFormatVisitor java.util.Set top java.util.Iterator
      StackMap stack:
        10: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Enum
            astore 6 /* e */
        start local 6 // java.lang.Enum e
        11: .line 178
            aload 5 /* enums */
            aload 6 /* e */
            invokevirtual java.lang.Enum.toString:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.Enum e
        12: .line 177
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        13: .line 180
            goto 18
        14: .line 182
      StackMap locals: com.fasterxml.jackson.databind.ser.std.EnumSerializer com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.SerializerProvider com.fasterxml.jackson.databind.jsonFormatVisitors.JsonStringFormatVisitor java.util.Set
      StackMap stack:
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ser.std.EnumSerializer._values:Lcom/fasterxml/jackson/databind/util/EnumValues;
            invokevirtual com.fasterxml.jackson.databind.util.EnumValues.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 17
      StackMap locals: com.fasterxml.jackson.databind.ser.std.EnumSerializer com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.SerializerProvider com.fasterxml.jackson.databind.jsonFormatVisitors.JsonStringFormatVisitor java.util.Set top java.util.Iterator
      StackMap stack:
        15: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.fasterxml.jackson.core.SerializableString
            astore 6 /* value */
        start local 6 // com.fasterxml.jackson.core.SerializableString value
        16: .line 183
            aload 5 /* enums */
            aload 6 /* value */
            invokeinterface com.fasterxml.jackson.core.SerializableString.getValue:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // com.fasterxml.jackson.core.SerializableString value
        17: .line 182
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        18: .line 186
      StackMap locals: com.fasterxml.jackson.databind.ser.std.EnumSerializer com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper com.fasterxml.jackson.databind.JavaType com.fasterxml.jackson.databind.SerializerProvider com.fasterxml.jackson.databind.jsonFormatVisitors.JsonStringFormatVisitor java.util.Set
      StackMap stack:
            aload 4 /* stringVisitor */
            aload 5 /* enums */
            invokeinterface com.fasterxml.jackson.databind.jsonFormatVisitors.JsonStringFormatVisitor.enumTypes:(Ljava/util/Set;)V
        end local 5 // java.util.Set enums
        19: .line 188
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.fasterxml.jackson.databind.jsonFormatVisitors.JsonStringFormatVisitor stringVisitor
        end local 3 // com.fasterxml.jackson.databind.SerializerProvider serializers
        end local 2 // com.fasterxml.jackson.databind.JavaType typeHint
        end local 1 // com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor
        end local 0 // com.fasterxml.jackson.databind.ser.std.EnumSerializer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;
            0   20     1        visitor  Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatVisitorWrapper;
            0   20     2       typeHint  Lcom/fasterxml/jackson/databind/JavaType;
            1   20     3    serializers  Lcom/fasterxml/jackson/databind/SerializerProvider;
            5   20     4  stringVisitor  Lcom/fasterxml/jackson/databind/jsonFormatVisitors/JsonStringFormatVisitor;
            7   19     5          enums  Ljava/util/Set<Ljava/lang/String;>;
           11   12     6              e  Ljava/lang/Enum<*>;
           16   17     6          value  Lcom/fasterxml/jackson/core/SerializableString;
    Exceptions:
      throws com.fasterxml.jackson.databind.JsonMappingException
    MethodParameters:
          Name  Flags
      visitor   
      typeHint  

  protected final boolean _serializeAsIndex(com.fasterxml.jackson.databind.SerializerProvider);
    descriptor: (Lcom/fasterxml/jackson/databind/SerializerProvider;)Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.fasterxml.jackson.databind.ser.std.EnumSerializer this
        start local 1 // com.fasterxml.jackson.databind.SerializerProvider serializers
         0: .line 198
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ser.std.EnumSerializer._serializeAsIndex:Ljava/lang/Boolean;
            ifnull 2
         1: .line 199
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.ser.std.EnumSerializer._serializeAsIndex:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
         2: .line 201
      StackMap locals:
      StackMap stack:
            aload 1 /* serializers */
            getstatic com.fasterxml.jackson.databind.SerializationFeature.WRITE_ENUMS_USING_INDEX:Lcom/fasterxml/jackson/databind/SerializationFeature;
            invokevirtual com.fasterxml.jackson.databind.SerializerProvider.isEnabled:(Lcom/fasterxml/jackson/databind/SerializationFeature;)Z
            ireturn
        end local 1 // com.fasterxml.jackson.databind.SerializerProvider serializers
        end local 0 // com.fasterxml.jackson.databind.ser.std.EnumSerializer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;
            0    3     1  serializers  Lcom/fasterxml/jackson/databind/SerializerProvider;
    MethodParameters:
             Name  Flags
      serializers  

  protected static java.lang.Boolean _isShapeWrittenUsingIndex(java.lang.Class<?>, com.fasterxml.jackson.annotation.JsonFormat$Value, boolean, java.lang.Boolean);
    descriptor: (Ljava/lang/Class;Lcom/fasterxml/jackson/annotation/JsonFormat$Value;ZLjava/lang/Boolean;)Ljava/lang/Boolean;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // java.lang.Class enumClass
        start local 1 // com.fasterxml.jackson.annotation.JsonFormat$Value format
        start local 2 // boolean fromClass
        start local 3 // java.lang.Boolean defaultValue
         0: .line 212
            aload 1 /* format */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* format */
            invokevirtual com.fasterxml.jackson.annotation.JsonFormat$Value.getShape:()Lcom/fasterxml/jackson/annotation/JsonFormat$Shape;
      StackMap locals:
      StackMap stack: com.fasterxml.jackson.annotation.JsonFormat$Shape
         2: astore 4 /* shape */
        start local 4 // com.fasterxml.jackson.annotation.JsonFormat$Shape shape
         3: .line 213
            aload 4 /* shape */
            ifnonnull 5
         4: .line 214
            aload 3 /* defaultValue */
            areturn
         5: .line 217
      StackMap locals: com.fasterxml.jackson.annotation.JsonFormat$Shape
      StackMap stack:
            aload 4 /* shape */
            getstatic com.fasterxml.jackson.annotation.JsonFormat$Shape.ANY:Lcom/fasterxml/jackson/annotation/JsonFormat$Shape;
            if_acmpeq 6
            aload 4 /* shape */
            getstatic com.fasterxml.jackson.annotation.JsonFormat$Shape.SCALAR:Lcom/fasterxml/jackson/annotation/JsonFormat$Shape;
            if_acmpne 7
         6: .line 218
      StackMap locals:
      StackMap stack:
            aload 3 /* defaultValue */
            areturn
         7: .line 221
      StackMap locals:
      StackMap stack:
            aload 4 /* shape */
            getstatic com.fasterxml.jackson.annotation.JsonFormat$Shape.STRING:Lcom/fasterxml/jackson/annotation/JsonFormat$Shape;
            if_acmpeq 8
            aload 4 /* shape */
            getstatic com.fasterxml.jackson.annotation.JsonFormat$Shape.NATURAL:Lcom/fasterxml/jackson/annotation/JsonFormat$Shape;
            if_acmpne 9
         8: .line 222
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            areturn
         9: .line 225
      StackMap locals:
      StackMap stack:
            aload 4 /* shape */
            invokevirtual com.fasterxml.jackson.annotation.JsonFormat$Shape.isNumeric:()Z
            ifne 10
            aload 4 /* shape */
            getstatic com.fasterxml.jackson.annotation.JsonFormat$Shape.ARRAY:Lcom/fasterxml/jackson/annotation/JsonFormat$Shape;
            if_acmpne 11
        10: .line 226
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            areturn
        11: .line 229
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        12: .line 230
            ldc "Unsupported serialization shape (%s) for Enum %s, not supported as %s annotation"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        13: .line 231
            aload 4 /* shape */
            aastore
            dup
            iconst_1
            aload 0 /* enumClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            iload 2 /* fromClass */
            ifeq 14
            ldc "class"
            goto 15
      StackMap locals: java.lang.Class com.fasterxml.jackson.annotation.JsonFormat$Value int java.lang.Boolean com.fasterxml.jackson.annotation.JsonFormat$Shape
      StackMap stack: new 11 new 11 java.lang.String java.lang.Object[] java.lang.Object[] int
        14: ldc "property"
      StackMap locals: java.lang.Class com.fasterxml.jackson.annotation.JsonFormat$Value int java.lang.Boolean com.fasterxml.jackson.annotation.JsonFormat$Shape
      StackMap stack: new 11 new 11 java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
        15: aastore
        16: .line 229
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // com.fasterxml.jackson.annotation.JsonFormat$Shape shape
        end local 3 // java.lang.Boolean defaultValue
        end local 2 // boolean fromClass
        end local 1 // com.fasterxml.jackson.annotation.JsonFormat$Value format
        end local 0 // java.lang.Class enumClass
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0     enumClass  Ljava/lang/Class<*>;
            0   17     1        format  Lcom/fasterxml/jackson/annotation/JsonFormat$Value;
            0   17     2     fromClass  Z
            0   17     3  defaultValue  Ljava/lang/Boolean;
            3   17     4         shape  Lcom/fasterxml/jackson/annotation/JsonFormat$Shape;
    Signature: (Ljava/lang/Class<*>;Lcom/fasterxml/jackson/annotation/JsonFormat$Value;ZLjava/lang/Boolean;)Ljava/lang/Boolean;
    MethodParameters:
              Name  Flags
      enumClass     
      format        
      fromClass     
      defaultValue  

  public void serialize(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider);
    descriptor: (Ljava/lang/Object;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.Enum
            aload 2
            aload 3
            invokevirtual com.fasterxml.jackson.databind.ser.std.EnumSerializer.serialize:(Ljava/lang/Enum;Lcom/fasterxml/jackson/core/JsonGenerator;Lcom/fasterxml/jackson/databind/SerializerProvider;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException
}
Signature: Lcom/fasterxml/jackson/databind/ser/std/StdScalarSerializer<Ljava/lang/Enum<*>;>;Lcom/fasterxml/jackson/databind/ser/ContextualSerializer;
SourceFile: "EnumSerializer.java"
InnerClasses:
  public final Shape = com.fasterxml.jackson.annotation.JsonFormat$Shape of com.fasterxml.jackson.annotation.JsonFormat
  public Value = com.fasterxml.jackson.annotation.JsonFormat$Value of com.fasterxml.jackson.annotation.JsonFormat
  public final NumberType = com.fasterxml.jackson.core.JsonParser$NumberType of com.fasterxml.jackson.core.JsonParser
    RuntimeVisibleAnnotations: 
      com.fasterxml.jackson.databind.annotation.JacksonStdImpl()