public class net.bytebuddy.ByteBuddy$EnumerationImplementation$ValuesMethodAppender 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$ValuesMethodAppender
  super_class: java.lang.Object
{
  private final net.bytebuddy.description.type.TypeDescription instrumentedType;
    descriptor: Lnet/bytebuddy/description/type/TypeDescription;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>(net.bytebuddy.description.type.TypeDescription);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation$ValuesMethodAppender this
        start local 1 // net.bytebuddy.description.type.TypeDescription instrumentedType
         0: .line 1358
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1359
            aload 0 /* this */
            aload 1 /* instrumentedType */
            putfield net.bytebuddy.ByteBuddy$EnumerationImplementation$ValuesMethodAppender.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
         2: .line 1360
            return
        end local 1 // net.bytebuddy.description.type.TypeDescription instrumentedType
        end local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation$ValuesMethodAppender this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lnet/bytebuddy/ByteBuddy$EnumerationImplementation$ValuesMethodAppender;
            0    3     1  instrumentedType  Lnet/bytebuddy/description/type/TypeDescription;
    MethodParameters:
                  Name  Flags
      instrumentedType  

  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=9, locals=6, args_size=4
        start local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation$ValuesMethodAppender 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 1366
            aload 0 /* this */
            getfield net.bytebuddy.ByteBuddy$EnumerationImplementation$ValuesMethodAppender.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
            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
            astore 4 /* valuesField */
        start local 4 // net.bytebuddy.description.field.FieldDescription valuesField
         1: .line 1367
            getstatic net.bytebuddy.description.type.TypeDescription$Generic.OBJECT:Lnet/bytebuddy/description/type/TypeDescription$Generic;
            invokeinterface net.bytebuddy.description.type.TypeDescription$Generic.getDeclaredMethods:()Lnet/bytebuddy/description/method/MethodList;
            ldc "clone"
            invokestatic net.bytebuddy.matcher.ElementMatchers.named:(Ljava/lang/String;)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
            invokeinterface net.bytebuddy.description.method.MethodList.getOnly:()Ljava/lang/Object;
            checkcast net.bytebuddy.description.method.MethodDescription
            astore 5 /* cloneMethod */
        start local 5 // net.bytebuddy.description.method.MethodDescription cloneMethod
         2: .line 1368
            new net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size
            dup
            new net.bytebuddy.implementation.bytecode.StackManipulation$Compound
            dup
            iconst_4
            anewarray net.bytebuddy.implementation.bytecode.StackManipulation
            dup
            iconst_0
         3: .line 1369
            aload 4 /* valuesField */
            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;
            aastore
            dup
            iconst_1
         4: .line 1370
            aload 5 /* cloneMethod */
            invokestatic net.bytebuddy.implementation.bytecode.member.MethodInvocation.invoke:(Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/member/MethodInvocation$WithImplicitInvocationTargetType;
            aload 4 /* valuesField */
            invokeinterface net.bytebuddy.description.field.FieldDescription.getType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
            invokeinterface net.bytebuddy.description.type.TypeDescription$Generic.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
            invokeinterface net.bytebuddy.implementation.bytecode.member.MethodInvocation$WithImplicitInvocationTargetType.virtual:(Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
            aastore
            dup
            iconst_2
         5: .line 1371
            aload 4 /* valuesField */
            invokeinterface net.bytebuddy.description.field.FieldDescription.getType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
            invokeinterface net.bytebuddy.description.type.TypeDescription$Generic.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
            invokestatic net.bytebuddy.implementation.bytecode.assign.TypeCasting.to:(Lnet/bytebuddy/description/type/TypeDefinition;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
            aastore
            dup
            iconst_3
         6: .line 1372
            getstatic net.bytebuddy.implementation.bytecode.member.MethodReturn.REFERENCE:Lnet/bytebuddy/implementation/bytecode/member/MethodReturn;
            aastore
            invokespecial net.bytebuddy.implementation.bytecode.StackManipulation$Compound.<init>:([Lnet/bytebuddy/implementation/bytecode/StackManipulation;)V
         7: .line 1373
            aload 1 /* methodVisitor */
            aload 2 /* implementationContext */
            invokevirtual net.bytebuddy.implementation.bytecode.StackManipulation$Compound.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
         8: .line 1368
            invokespecial net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size.<init>:(II)V
            areturn
        end local 5 // net.bytebuddy.description.method.MethodDescription cloneMethod
        end local 4 // net.bytebuddy.description.field.FieldDescription valuesField
        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$ValuesMethodAppender this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0                   this  Lnet/bytebuddy/ByteBuddy$EnumerationImplementation$ValuesMethodAppender;
            0    9     1          methodVisitor  Lorg/objectweb/asm/MethodVisitor;
            0    9     2  implementationContext  Lnet/bytebuddy/implementation/Implementation$Context;
            0    9     3     instrumentedMethod  Lnet/bytebuddy/description/method/MethodDescription;
            1    9     4            valuesField  Lnet/bytebuddy/description/field/FieldDescription;
            2    9     5            cloneMethod  Lnet/bytebuddy/description/method/MethodDescription;
    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 ValuesMethodAppender = net.bytebuddy.ByteBuddy$EnumerationImplementation$ValuesMethodAppender 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 InGenericShape = net.bytebuddy.description.method.MethodDescription$InGenericShape 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 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()