public class net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender implements net.bytebuddy.implementation.bytecode.ByteCodeAppender
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender
  super_class: java.lang.Object
{
  private final java.util.List<java.lang.String> values;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  protected void <init>(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender this
        start local 1 // java.util.List values
         0: .line 1393
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1394
            aload 0 /* this */
            aload 1 /* values */
            putfield net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender.values:Ljava/util/List;
         2: .line 1395
            return
        end local 1 // java.util.List values
        end local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lnet/bytebuddy/ByteBuddy$EnumerationImplementation$InitializationAppender;
            0    3     1  values  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
        Name  Flags
      values  

  public net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size apply(org.objectweb.asm.MethodVisitor, net.bytebuddy.implementation.Implementation$Context, net.bytebuddy.description.method.MethodDescription);
    descriptor: (Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/Implementation$Context;Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender$Size;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=12, args_size=4
        start local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender this
        start local 1 // org.objectweb.asm.MethodVisitor methodVisitor
        start local 2 // net.bytebuddy.implementation.Implementation$Context implementationContext
        start local 3 // net.bytebuddy.description.method.MethodDescription instrumentedMethod
         0: .line 1401
            aload 3 /* instrumentedMethod */
            invokeinterface net.bytebuddy.description.method.MethodDescription.getDeclaringType:()Lnet/bytebuddy/description/type/TypeDefinition;
            invokeinterface net.bytebuddy.description.type.TypeDefinition.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
            astore 4 /* instrumentedType */
        start local 4 // net.bytebuddy.description.type.TypeDescription instrumentedType
         1: .line 1402
            aload 4 /* instrumentedType */
            invokeinterface net.bytebuddy.description.type.TypeDescription.getDeclaredMethods:()Lnet/bytebuddy/description/method/MethodList;
         2: .line 1403
            invokestatic net.bytebuddy.matcher.ElementMatchers.isConstructor:()Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic net.bytebuddy.matcher.ElementMatchers.takesArguments:([Ljava/lang/Class;)Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            invokeinterface net.bytebuddy.matcher.ElementMatcher$Junction.and:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            invokeinterface net.bytebuddy.description.method.MethodList.filter:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/FilterableList;
            checkcast net.bytebuddy.description.method.MethodList
         3: .line 1404
            invokeinterface net.bytebuddy.description.method.MethodList.getOnly:()Ljava/lang/Object;
            checkcast net.bytebuddy.description.method.MethodDescription
         4: .line 1402
            astore 5 /* enumConstructor */
        start local 5 // net.bytebuddy.description.method.MethodDescription enumConstructor
         5: .line 1405
            iconst_0
            istore 6 /* ordinal */
        start local 6 // int ordinal
         6: .line 1406
            getstatic net.bytebuddy.implementation.bytecode.StackManipulation$Trivial.INSTANCE:Lnet/bytebuddy/implementation/bytecode/StackManipulation$Trivial;
            astore 7 /* stackManipulation */
        start local 7 // net.bytebuddy.implementation.bytecode.StackManipulation stackManipulation
         7: .line 1407
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender.values:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 8 /* enumerationFields */
        start local 8 // java.util.List enumerationFields
         8: .line 1408
            aload 0 /* this */
            getfield net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender.values:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 20
      StackMap locals: net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender org.objectweb.asm.MethodVisitor net.bytebuddy.implementation.Implementation$Context net.bytebuddy.description.method.MethodDescription net.bytebuddy.description.type.TypeDescription net.bytebuddy.description.method.MethodDescription int net.bytebuddy.implementation.bytecode.StackManipulation java.util.List top java.util.Iterator
      StackMap stack:
         9: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* value */
        start local 9 // java.lang.String value
        10: .line 1409
            aload 4 /* instrumentedType */
            invokeinterface net.bytebuddy.description.type.TypeDescription.getDeclaredFields:()Lnet/bytebuddy/description/field/FieldList;
            aload 9 /* value */
            invokestatic net.bytebuddy.matcher.ElementMatchers.named:(Ljava/lang/String;)Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            invokeinterface net.bytebuddy.description.field.FieldList.filter:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/FilterableList;
            checkcast net.bytebuddy.description.field.FieldList
            invokeinterface net.bytebuddy.description.field.FieldList.getOnly:()Ljava/lang/Object;
            checkcast net.bytebuddy.description.field.FieldDescription
            astore 11 /* fieldDescription */
        start local 11 // net.bytebuddy.description.field.FieldDescription fieldDescription
        11: .line 1410
            new net.bytebuddy.implementation.bytecode.StackManipulation$Compound
            dup
            bipush 7
            anewarray net.bytebuddy.implementation.bytecode.StackManipulation
            dup
            iconst_0
            aload 7 /* stackManipulation */
            aastore
            dup
            iconst_1
        12: .line 1411
            aload 4 /* instrumentedType */
            invokestatic net.bytebuddy.implementation.bytecode.TypeCreation.of:(Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
            aastore
            dup
            iconst_2
        13: .line 1412
            getstatic net.bytebuddy.implementation.bytecode.Duplication.SINGLE:Lnet/bytebuddy/implementation/bytecode/Duplication;
            aastore
            dup
            iconst_3
        14: .line 1413
            new net.bytebuddy.implementation.bytecode.constant.TextConstant
            dup
            aload 9 /* value */
            invokespecial net.bytebuddy.implementation.bytecode.constant.TextConstant.<init>:(Ljava/lang/String;)V
            aastore
            dup
            iconst_4
        15: .line 1414
            iload 6 /* ordinal */
            iinc 6 /* ordinal */ 1
            invokestatic net.bytebuddy.implementation.bytecode.constant.IntegerConstant.forValue:(I)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
            aastore
            dup
            iconst_5
        16: .line 1415
            aload 5 /* enumConstructor */
            invokestatic net.bytebuddy.implementation.bytecode.member.MethodInvocation.invoke:(Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/member/MethodInvocation$WithImplicitInvocationTargetType;
            aastore
            dup
            bipush 6
        17: .line 1416
            aload 11 /* fieldDescription */
            invokestatic net.bytebuddy.implementation.bytecode.member.FieldAccess.forField:(Lnet/bytebuddy/description/field/FieldDescription;)Lnet/bytebuddy/implementation/bytecode/member/FieldAccess$Defined;
            invokeinterface net.bytebuddy.implementation.bytecode.member.FieldAccess$Defined.write:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
        18: .line 1410
            aastore
            invokespecial net.bytebuddy.implementation.bytecode.StackManipulation$Compound.<init>:([Lnet/bytebuddy/implementation/bytecode/StackManipulation;)V
            astore 7 /* stackManipulation */
        19: .line 1417
            aload 8 /* enumerationFields */
            aload 11 /* fieldDescription */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // net.bytebuddy.description.field.FieldDescription fieldDescription
        end local 9 // java.lang.String value
        20: .line 1408
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        21: .line 1419
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender.values:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 9 /* fieldGetters */
        start local 9 // java.util.List fieldGetters
        22: .line 1420
            aload 8 /* enumerationFields */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 25
      StackMap locals: net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender org.objectweb.asm.MethodVisitor net.bytebuddy.implementation.Implementation$Context net.bytebuddy.description.method.MethodDescription net.bytebuddy.description.type.TypeDescription net.bytebuddy.description.method.MethodDescription int net.bytebuddy.implementation.bytecode.StackManipulation java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        23: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast net.bytebuddy.description.field.FieldDescription
            astore 10 /* fieldDescription */
        start local 10 // net.bytebuddy.description.field.FieldDescription fieldDescription
        24: .line 1421
            aload 9 /* fieldGetters */
            aload 10 /* fieldDescription */
            invokestatic net.bytebuddy.implementation.bytecode.member.FieldAccess.forField:(Lnet/bytebuddy/description/field/FieldDescription;)Lnet/bytebuddy/implementation/bytecode/member/FieldAccess$Defined;
            invokeinterface net.bytebuddy.implementation.bytecode.member.FieldAccess$Defined.read:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // net.bytebuddy.description.field.FieldDescription fieldDescription
        25: .line 1420
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        26: .line 1423
            new net.bytebuddy.implementation.bytecode.StackManipulation$Compound
            dup
            iconst_3
            anewarray net.bytebuddy.implementation.bytecode.StackManipulation
            dup
            iconst_0
        27: .line 1424
            aload 7 /* stackManipulation */
            aastore
            dup
            iconst_1
        28: .line 1425
            aload 4 /* instrumentedType */
            invokeinterface net.bytebuddy.description.type.TypeDescription.asGenericType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
            invokestatic net.bytebuddy.implementation.bytecode.collection.ArrayFactory.forType:(Lnet/bytebuddy/description/type/TypeDescription$Generic;)Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory;
            aload 9 /* fieldGetters */
            invokevirtual net.bytebuddy.implementation.bytecode.collection.ArrayFactory.withValues:(Ljava/util/List;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
            aastore
            dup
            iconst_2
        29: .line 1426
            aload 4 /* instrumentedType */
            invokeinterface net.bytebuddy.description.type.TypeDescription.getDeclaredFields:()Lnet/bytebuddy/description/field/FieldList;
            ldc "$VALUES"
            invokestatic net.bytebuddy.matcher.ElementMatchers.named:(Ljava/lang/String;)Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            invokeinterface net.bytebuddy.description.field.FieldList.filter:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/FilterableList;
            checkcast net.bytebuddy.description.field.FieldList
            invokeinterface net.bytebuddy.description.field.FieldList.getOnly:()Ljava/lang/Object;
            checkcast net.bytebuddy.description.field.FieldDescription$InDefinedShape
            invokestatic net.bytebuddy.implementation.bytecode.member.FieldAccess.forField:(Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;)Lnet/bytebuddy/implementation/bytecode/member/FieldAccess$Defined;
            invokeinterface net.bytebuddy.implementation.bytecode.member.FieldAccess$Defined.write:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
        30: .line 1423
            aastore
            invokespecial net.bytebuddy.implementation.bytecode.StackManipulation$Compound.<init>:([Lnet/bytebuddy/implementation/bytecode/StackManipulation;)V
            astore 7 /* stackManipulation */
        31: .line 1428
            new net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size
            dup
            aload 7 /* stackManipulation */
            aload 1 /* methodVisitor */
            aload 2 /* implementationContext */
            invokeinterface net.bytebuddy.implementation.bytecode.StackManipulation.apply:(Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/Implementation$Context;)Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;
            invokevirtual net.bytebuddy.implementation.bytecode.StackManipulation$Size.getMaximalSize:()I
            aload 3 /* instrumentedMethod */
            invokeinterface net.bytebuddy.description.method.MethodDescription.getStackSize:()I
            invokespecial net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size.<init>:(II)V
            areturn
        end local 9 // java.util.List fieldGetters
        end local 8 // java.util.List enumerationFields
        end local 7 // net.bytebuddy.implementation.bytecode.StackManipulation stackManipulation
        end local 6 // int ordinal
        end local 5 // net.bytebuddy.description.method.MethodDescription enumConstructor
        end local 4 // net.bytebuddy.description.type.TypeDescription instrumentedType
        end local 3 // net.bytebuddy.description.method.MethodDescription instrumentedMethod
        end local 2 // net.bytebuddy.implementation.Implementation$Context implementationContext
        end local 1 // org.objectweb.asm.MethodVisitor methodVisitor
        end local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   32     0                   this  Lnet/bytebuddy/ByteBuddy$EnumerationImplementation$InitializationAppender;
            0   32     1          methodVisitor  Lorg/objectweb/asm/MethodVisitor;
            0   32     2  implementationContext  Lnet/bytebuddy/implementation/Implementation$Context;
            0   32     3     instrumentedMethod  Lnet/bytebuddy/description/method/MethodDescription;
            1   32     4       instrumentedType  Lnet/bytebuddy/description/type/TypeDescription;
            5   32     5        enumConstructor  Lnet/bytebuddy/description/method/MethodDescription;
            6   32     6                ordinal  I
            7   32     7      stackManipulation  Lnet/bytebuddy/implementation/bytecode/StackManipulation;
            8   32     8      enumerationFields  Ljava/util/List<Lnet/bytebuddy/description/field/FieldDescription;>;
           10   20     9                  value  Ljava/lang/String;
           11   20    11       fieldDescription  Lnet/bytebuddy/description/field/FieldDescription;
           22   32     9           fieldGetters  Ljava/util/List<Lnet/bytebuddy/implementation/bytecode/StackManipulation;>;
           24   25    10       fieldDescription  Lnet/bytebuddy/description/field/FieldDescription;
    MethodParameters:
                       Name  Flags
      methodVisitor          
      implementationContext  
      instrumentedMethod     
}
SourceFile: "ByteBuddy.java"
NestHost: net.bytebuddy.ByteBuddy
InnerClasses:
  protected EnumerationImplementation = net.bytebuddy.ByteBuddy$EnumerationImplementation of net.bytebuddy.ByteBuddy
  protected InitializationAppender = net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender of net.bytebuddy.ByteBuddy$EnumerationImplementation
  public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public abstract InDefinedShape = net.bytebuddy.description.field.FieldDescription$InDefinedShape of net.bytebuddy.description.field.FieldDescription
  public abstract InDefinedShape = net.bytebuddy.description.method.MethodDescription$InDefinedShape of net.bytebuddy.description.method.MethodDescription
  public abstract Generic = net.bytebuddy.description.type.TypeDescription$Generic of net.bytebuddy.description.type.TypeDescription
  public abstract Context = net.bytebuddy.implementation.Implementation$Context of net.bytebuddy.implementation.Implementation
  public Size = net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size of net.bytebuddy.implementation.bytecode.ByteCodeAppender
  public Compound = net.bytebuddy.implementation.bytecode.StackManipulation$Compound of net.bytebuddy.implementation.bytecode.StackManipulation
  public Size = net.bytebuddy.implementation.bytecode.StackManipulation$Size of net.bytebuddy.implementation.bytecode.StackManipulation
  public final Trivial = net.bytebuddy.implementation.bytecode.StackManipulation$Trivial of net.bytebuddy.implementation.bytecode.StackManipulation
  public abstract Defined = net.bytebuddy.implementation.bytecode.member.FieldAccess$Defined of net.bytebuddy.implementation.bytecode.member.FieldAccess
  public abstract WithImplicitInvocationTargetType = net.bytebuddy.implementation.bytecode.member.MethodInvocation$WithImplicitInvocationTargetType of net.bytebuddy.implementation.bytecode.member.MethodInvocation
  public abstract Junction = net.bytebuddy.matcher.ElementMatcher$Junction of net.bytebuddy.matcher.ElementMatcher
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()