public class net.bytebuddy.utility.JavaConstant$MethodType implements net.bytebuddy.utility.JavaConstant
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.utility.JavaConstant$MethodType
  super_class: java.lang.Object
{
  private static final net.bytebuddy.utility.JavaConstant$MethodType$Dispatcher DISPATCHER;
    descriptor: Lnet/bytebuddy/utility/JavaConstant$MethodType$Dispatcher;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final net.bytebuddy.description.type.TypeDescription returnType;
    descriptor: Lnet/bytebuddy/description/type/TypeDescription;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<? extends net.bytebuddy.description.type.TypeDescription> parameterTypes;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<+Lnet/bytebuddy/description/type/TypeDescription;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 66
            getstatic net.bytebuddy.utility.JavaConstant$MethodType$Dispatcher$CreationAction.INSTANCE:Lnet/bytebuddy/utility/JavaConstant$MethodType$Dispatcher$CreationAction;
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast net.bytebuddy.utility.JavaConstant$MethodType$Dispatcher
            putstatic net.bytebuddy.utility.JavaConstant$MethodType.DISPATCHER:Lnet/bytebuddy/utility/JavaConstant$MethodType$Dispatcher;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(net.bytebuddy.description.type.TypeDescription, java.util.List<? extends net.bytebuddy.description.type.TypeDescription>);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
        start local 1 // net.bytebuddy.description.type.TypeDescription returnType
        start local 2 // java.util.List parameterTypes
         0: .line 84
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 85
            aload 0 /* this */
            aload 1 /* returnType */
            putfield net.bytebuddy.utility.JavaConstant$MethodType.returnType:Lnet/bytebuddy/description/type/TypeDescription;
         2: .line 86
            aload 0 /* this */
            aload 2 /* parameterTypes */
            putfield net.bytebuddy.utility.JavaConstant$MethodType.parameterTypes:Ljava/util/List;
         3: .line 87
            return
        end local 2 // java.util.List parameterTypes
        end local 1 // net.bytebuddy.description.type.TypeDescription returnType
        end local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lnet/bytebuddy/utility/JavaConstant$MethodType;
            0    4     1      returnType  Lnet/bytebuddy/description/type/TypeDescription;
            0    4     2  parameterTypes  Ljava/util/List<+Lnet/bytebuddy/description/type/TypeDescription;>;
    Signature: (Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List<+Lnet/bytebuddy/description/type/TypeDescription;>;)V
    MethodParameters:
                Name  Flags
      returnType      
      parameterTypes  

  public static net.bytebuddy.utility.JavaConstant$MethodType ofLoaded(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Object methodType
         0: .line 96
            getstatic net.bytebuddy.utility.JavaType.METHOD_TYPE:Lnet/bytebuddy/utility/JavaType;
            aload 0 /* methodType */
            invokevirtual net.bytebuddy.utility.JavaType.isInstance:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 97
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expected method type object: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* methodType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 99
      StackMap locals:
      StackMap stack:
            getstatic net.bytebuddy.utility.JavaConstant$MethodType.DISPATCHER:Lnet/bytebuddy/utility/JavaConstant$MethodType$Dispatcher;
            aload 0 /* methodType */
            invokeinterface net.bytebuddy.utility.JavaConstant$MethodType$Dispatcher.returnType:(Ljava/lang/Object;)Ljava/lang/Class;
            getstatic net.bytebuddy.utility.JavaConstant$MethodType.DISPATCHER:Lnet/bytebuddy/utility/JavaConstant$MethodType$Dispatcher;
            aload 0 /* methodType */
            invokeinterface net.bytebuddy.utility.JavaConstant$MethodType$Dispatcher.parameterArray:(Ljava/lang/Object;)[Ljava/lang/Class;
            invokestatic net.bytebuddy.utility.JavaConstant$MethodType.of:(Ljava/lang/Class;[Ljava/lang/Class;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
            areturn
        end local 0 // java.lang.Object methodType
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  methodType  Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      methodType  

  public static net.bytebuddy.utility.JavaConstant$MethodType of(java.lang.Class<?>, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Class;[Ljava/lang/Class;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Class returnType
        start local 1 // java.lang.Class[] parameterType
         0: .line 110
            aload 0 /* returnType */
            invokestatic net.bytebuddy.description.type.TypeDescription$ForLoadedType.of:(Ljava/lang/Class;)Lnet/bytebuddy/description/type/TypeDescription;
            new net.bytebuddy.description.type.TypeList$ForLoadedTypes
            dup
            aload 1 /* parameterType */
            invokespecial net.bytebuddy.description.type.TypeList$ForLoadedTypes.<init>:([Ljava/lang/Class;)V
            invokestatic net.bytebuddy.utility.JavaConstant$MethodType.of:(Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
            areturn
        end local 1 // java.lang.Class[] parameterType
        end local 0 // java.lang.Class returnType
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0     returnType  Ljava/lang/Class<*>;
            0    1     1  parameterType  [Ljava/lang/Class;
    Signature: (Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    MethodParameters:
               Name  Flags
      returnType     
      parameterType  

  public static net.bytebuddy.utility.JavaConstant$MethodType of(net.bytebuddy.description.type.TypeDescription, java.util.List<? extends net.bytebuddy.description.type.TypeDescription>);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // net.bytebuddy.description.type.TypeDescription returnType
        start local 1 // java.util.List parameterTypes
         0: .line 121
            new net.bytebuddy.utility.JavaConstant$MethodType
            dup
            aload 0 /* returnType */
            aload 1 /* parameterTypes */
            invokespecial net.bytebuddy.utility.JavaConstant$MethodType.<init>:(Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List;)V
            areturn
        end local 1 // java.util.List parameterTypes
        end local 0 // net.bytebuddy.description.type.TypeDescription returnType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0      returnType  Lnet/bytebuddy/description/type/TypeDescription;
            0    1     1  parameterTypes  Ljava/util/List<+Lnet/bytebuddy/description/type/TypeDescription;>;
    Signature: (Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List<+Lnet/bytebuddy/description/type/TypeDescription;>;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    MethodParameters:
                Name  Flags
      returnType      
      parameterTypes  

  public static net.bytebuddy.utility.JavaConstant$MethodType of(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.reflect.Method method
         0: .line 131
            new net.bytebuddy.description.method.MethodDescription$ForLoadedMethod
            dup
            aload 0 /* method */
            invokespecial net.bytebuddy.description.method.MethodDescription$ForLoadedMethod.<init>:(Ljava/lang/reflect/Method;)V
            invokestatic net.bytebuddy.utility.JavaConstant$MethodType.of:(Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
            areturn
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  method  Ljava/lang/reflect/Method;
    MethodParameters:
        Name  Flags
      method  

  public static net.bytebuddy.utility.JavaConstant$MethodType of(java.lang.reflect.Constructor<?>);
    descriptor: (Ljava/lang/reflect/Constructor;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.reflect.Constructor constructor
         0: .line 141
            new net.bytebuddy.description.method.MethodDescription$ForLoadedConstructor
            dup
            aload 0 /* constructor */
            invokespecial net.bytebuddy.description.method.MethodDescription$ForLoadedConstructor.<init>:(Ljava/lang/reflect/Constructor;)V
            invokestatic net.bytebuddy.utility.JavaConstant$MethodType.of:(Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
            areturn
        end local 0 // java.lang.reflect.Constructor constructor
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  constructor  Ljava/lang/reflect/Constructor<*>;
    Signature: (Ljava/lang/reflect/Constructor<*>;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    MethodParameters:
             Name  Flags
      constructor  

  public static net.bytebuddy.utility.JavaConstant$MethodType of(net.bytebuddy.description.method.MethodDescription);
    descriptor: (Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // net.bytebuddy.description.method.MethodDescription methodDescription
         0: .line 151
            new net.bytebuddy.utility.JavaConstant$MethodType
            dup
            aload 0 /* methodDescription */
            invokeinterface net.bytebuddy.description.method.MethodDescription.getReturnType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
            invokeinterface net.bytebuddy.description.type.TypeDescription$Generic.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
            aload 0 /* methodDescription */
            invokeinterface net.bytebuddy.description.method.MethodDescription.getParameters:()Lnet/bytebuddy/description/method/ParameterList;
            invokeinterface net.bytebuddy.description.method.ParameterList.asTypeList:()Lnet/bytebuddy/description/type/TypeList$Generic;
            invokeinterface net.bytebuddy.description.type.TypeList$Generic.asErasures:()Lnet/bytebuddy/description/type/TypeList;
            invokespecial net.bytebuddy.utility.JavaConstant$MethodType.<init>:(Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List;)V
            areturn
        end local 0 // net.bytebuddy.description.method.MethodDescription methodDescription
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0  methodDescription  Lnet/bytebuddy/description/method/MethodDescription;
    MethodParameters:
                   Name  Flags
      methodDescription  

  public static net.bytebuddy.utility.JavaConstant$MethodType ofSetter(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.reflect.Field field
         0: .line 161
            new net.bytebuddy.description.field.FieldDescription$ForLoadedField
            dup
            aload 0 /* field */
            invokespecial net.bytebuddy.description.field.FieldDescription$ForLoadedField.<init>:(Ljava/lang/reflect/Field;)V
            invokestatic net.bytebuddy.utility.JavaConstant$MethodType.ofSetter:(Lnet/bytebuddy/description/field/FieldDescription;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
            areturn
        end local 0 // java.lang.reflect.Field field
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  field  Ljava/lang/reflect/Field;
    MethodParameters:
       Name  Flags
      field  

  public static net.bytebuddy.utility.JavaConstant$MethodType ofSetter(net.bytebuddy.description.field.FieldDescription);
    descriptor: (Lnet/bytebuddy/description/field/FieldDescription;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // net.bytebuddy.description.field.FieldDescription fieldDescription
         0: .line 171
            new net.bytebuddy.utility.JavaConstant$MethodType
            dup
            getstatic net.bytebuddy.description.type.TypeDescription.VOID:Lnet/bytebuddy/description/type/TypeDescription;
            aload 0 /* fieldDescription */
            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 java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokespecial net.bytebuddy.utility.JavaConstant$MethodType.<init>:(Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List;)V
            areturn
        end local 0 // net.bytebuddy.description.field.FieldDescription fieldDescription
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0  fieldDescription  Lnet/bytebuddy/description/field/FieldDescription;
    MethodParameters:
                  Name  Flags
      fieldDescription  

  public static net.bytebuddy.utility.JavaConstant$MethodType ofGetter(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.reflect.Field field
         0: .line 181
            new net.bytebuddy.description.field.FieldDescription$ForLoadedField
            dup
            aload 0 /* field */
            invokespecial net.bytebuddy.description.field.FieldDescription$ForLoadedField.<init>:(Ljava/lang/reflect/Field;)V
            invokestatic net.bytebuddy.utility.JavaConstant$MethodType.ofGetter:(Lnet/bytebuddy/description/field/FieldDescription;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
            areturn
        end local 0 // java.lang.reflect.Field field
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  field  Ljava/lang/reflect/Field;
    MethodParameters:
       Name  Flags
      field  

  public static net.bytebuddy.utility.JavaConstant$MethodType ofGetter(net.bytebuddy.description.field.FieldDescription);
    descriptor: (Lnet/bytebuddy/description/field/FieldDescription;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // net.bytebuddy.description.field.FieldDescription fieldDescription
         0: .line 191
            new net.bytebuddy.utility.JavaConstant$MethodType
            dup
            aload 0 /* fieldDescription */
            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 java.util.Collections.emptyList:()Ljava/util/List;
            invokespecial net.bytebuddy.utility.JavaConstant$MethodType.<init>:(Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List;)V
            areturn
        end local 0 // net.bytebuddy.description.field.FieldDescription fieldDescription
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0  fieldDescription  Lnet/bytebuddy/description/field/FieldDescription;
    MethodParameters:
                  Name  Flags
      fieldDescription  

  public static net.bytebuddy.utility.JavaConstant$MethodType ofConstant(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object instance
         0: .line 201
            aload 0 /* instance */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic net.bytebuddy.utility.JavaConstant$MethodType.ofConstant:(Ljava/lang/Class;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
            areturn
        end local 0 // java.lang.Object instance
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  instance  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      instance  

  public static net.bytebuddy.utility.JavaConstant$MethodType ofConstant(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class type
         0: .line 211
            aload 0 /* type */
            invokestatic net.bytebuddy.description.type.TypeDescription$ForLoadedType.of:(Ljava/lang/Class;)Lnet/bytebuddy/description/type/TypeDescription;
            invokestatic net.bytebuddy.utility.JavaConstant$MethodType.ofConstant:(Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
            areturn
        end local 0 // java.lang.Class type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  type  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    MethodParameters:
      Name  Flags
      type  

  public static net.bytebuddy.utility.JavaConstant$MethodType ofConstant(net.bytebuddy.description.type.TypeDescription);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/utility/JavaConstant$MethodType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // net.bytebuddy.description.type.TypeDescription typeDescription
         0: .line 221
            new net.bytebuddy.utility.JavaConstant$MethodType
            dup
            aload 0 /* typeDescription */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokespecial net.bytebuddy.utility.JavaConstant$MethodType.<init>:(Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List;)V
            areturn
        end local 0 // net.bytebuddy.description.type.TypeDescription typeDescription
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0  typeDescription  Lnet/bytebuddy/description/type/TypeDescription;
    MethodParameters:
                 Name  Flags
      typeDescription  

  public net.bytebuddy.description.type.TypeDescription getReturnType();
    descriptor: ()Lnet/bytebuddy/description/type/TypeDescription;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
         0: .line 230
            aload 0 /* this */
            getfield net.bytebuddy.utility.JavaConstant$MethodType.returnType:Lnet/bytebuddy/description/type/TypeDescription;
            areturn
        end local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/bytebuddy/utility/JavaConstant$MethodType;

  public net.bytebuddy.description.type.TypeList getParameterTypes();
    descriptor: ()Lnet/bytebuddy/description/type/TypeList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
         0: .line 239
            new net.bytebuddy.description.type.TypeList$Explicit
            dup
            aload 0 /* this */
            getfield net.bytebuddy.utility.JavaConstant$MethodType.parameterTypes:Ljava/util/List;
            invokespecial net.bytebuddy.description.type.TypeList$Explicit.<init>:(Ljava/util/List;)V
            areturn
        end local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/bytebuddy/utility/JavaConstant$MethodType;

  public java.lang.String getDescriptor();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
         0: .line 248
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 1 /* stringBuilder */
        start local 1 // java.lang.StringBuilder stringBuilder
         1: .line 249
            aload 0 /* this */
            getfield net.bytebuddy.utility.JavaConstant$MethodType.parameterTypes:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: net.bytebuddy.utility.JavaConstant$MethodType java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast net.bytebuddy.description.type.TypeDescription
            astore 2 /* parameterType */
        start local 2 // net.bytebuddy.description.type.TypeDescription parameterType
         3: .line 250
            aload 1 /* stringBuilder */
            aload 2 /* parameterType */
            invokeinterface net.bytebuddy.description.type.TypeDescription.getDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // net.bytebuddy.description.type.TypeDescription parameterType
         4: .line 249
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 252
            aload 1 /* stringBuilder */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield net.bytebuddy.utility.JavaConstant$MethodType.returnType:Lnet/bytebuddy/description/type/TypeDescription;
            invokeinterface net.bytebuddy.description.type.TypeDescription.getDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder stringBuilder
        end local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lnet/bytebuddy/utility/JavaConstant$MethodType;
            1    6     1  stringBuilder  Ljava/lang/StringBuilder;
            3    4     2  parameterType  Lnet/bytebuddy/description/type/TypeDescription;

  public java.lang.Object asConstantPoolValue();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
         0: .line 259
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            astore 1 /* stringBuilder */
        start local 1 // java.lang.StringBuilder stringBuilder
         1: .line 260
            aload 0 /* this */
            invokevirtual net.bytebuddy.utility.JavaConstant$MethodType.getParameterTypes:()Lnet/bytebuddy/description/type/TypeList;
            invokeinterface net.bytebuddy.description.type.TypeList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: net.bytebuddy.utility.JavaConstant$MethodType java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast net.bytebuddy.description.type.TypeDescription
            astore 2 /* parameterType */
        start local 2 // net.bytebuddy.description.type.TypeDescription parameterType
         3: .line 261
            aload 1 /* stringBuilder */
            aload 2 /* parameterType */
            invokeinterface net.bytebuddy.description.type.TypeDescription.getDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // net.bytebuddy.description.type.TypeDescription parameterType
         4: .line 260
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 263
            aload 1 /* stringBuilder */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual net.bytebuddy.utility.JavaConstant$MethodType.getReturnType:()Lnet/bytebuddy/description/type/TypeDescription;
            invokeinterface net.bytebuddy.description.type.TypeDescription.getDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.objectweb.asm.Type.getMethodType:(Ljava/lang/String;)Lorg/objectweb/asm/Type;
            areturn
        end local 1 // java.lang.StringBuilder stringBuilder
        end local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lnet/bytebuddy/utility/JavaConstant$MethodType;
            1    6     1  stringBuilder  Ljava/lang/StringBuilder;
            3    4     2  parameterType  Lnet/bytebuddy/description/type/TypeDescription;

  public net.bytebuddy.description.type.TypeDescription getType();
    descriptor: ()Lnet/bytebuddy/description/type/TypeDescription;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
         0: .line 270
            getstatic net.bytebuddy.utility.JavaType.METHOD_TYPE:Lnet/bytebuddy/utility/JavaType;
            invokevirtual net.bytebuddy.utility.JavaType.getTypeStub:()Lnet/bytebuddy/description/type/TypeDescription;
            areturn
        end local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/bytebuddy/utility/JavaConstant$MethodType;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
         0: .line 275
            aload 0 /* this */
            getfield net.bytebuddy.utility.JavaConstant$MethodType.returnType:Lnet/bytebuddy/description/type/TypeDescription;
            invokevirtual java.lang.Object.hashCode:()I
            istore 1 /* result */
        start local 1 // int result
         1: .line 276
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield net.bytebuddy.utility.JavaConstant$MethodType.parameterTypes:Ljava/util/List;
            invokeinterface java.util.List.hashCode:()I
            iadd
            istore 1 /* result */
         2: .line 277
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lnet/bytebuddy/utility/JavaConstant$MethodType;
            1    3     1  result  I

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
        start local 1 // java.lang.Object other
         0: .line 282
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 2
         1: .line 283
            iconst_1
            ireturn
         2: .line 285
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof net.bytebuddy.utility.JavaConstant$MethodType
            ifne 4
         3: .line 286
            iconst_0
            ireturn
         4: .line 288
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast net.bytebuddy.utility.JavaConstant$MethodType
            astore 2 /* methodType */
        start local 2 // net.bytebuddy.utility.JavaConstant$MethodType methodType
         5: .line 289
            aload 0 /* this */
            getfield net.bytebuddy.utility.JavaConstant$MethodType.parameterTypes:Ljava/util/List;
            aload 2 /* methodType */
            getfield net.bytebuddy.utility.JavaConstant$MethodType.parameterTypes:Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ifeq 6
            aload 0 /* this */
            getfield net.bytebuddy.utility.JavaConstant$MethodType.returnType:Lnet/bytebuddy/description/type/TypeDescription;
            aload 2 /* methodType */
            getfield net.bytebuddy.utility.JavaConstant$MethodType.returnType:Lnet/bytebuddy/description/type/TypeDescription;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 6
            iconst_1
            ireturn
      StackMap locals: net.bytebuddy.utility.JavaConstant$MethodType
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // net.bytebuddy.utility.JavaConstant$MethodType methodType
        end local 1 // java.lang.Object other
        end local 0 // net.bytebuddy.utility.JavaConstant$MethodType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lnet/bytebuddy/utility/JavaConstant$MethodType;
            0    7     1       other  Ljava/lang/Object;
            5    7     2  methodType  Lnet/bytebuddy/utility/JavaConstant$MethodType;
    MethodParameters:
       Name  Flags
      other  
}
SourceFile: "JavaConstant.java"
NestHost: net.bytebuddy.utility.JavaConstant
InnerClasses:
  public ForLoadedField = net.bytebuddy.description.field.FieldDescription$ForLoadedField of net.bytebuddy.description.field.FieldDescription
  public ForLoadedConstructor = net.bytebuddy.description.method.MethodDescription$ForLoadedConstructor of net.bytebuddy.description.method.MethodDescription
  public ForLoadedMethod = net.bytebuddy.description.method.MethodDescription$ForLoadedMethod of net.bytebuddy.description.method.MethodDescription
  public ForLoadedType = net.bytebuddy.description.type.TypeDescription$ForLoadedType of net.bytebuddy.description.type.TypeDescription
  public abstract Generic = net.bytebuddy.description.type.TypeDescription$Generic of net.bytebuddy.description.type.TypeDescription
  public Explicit = net.bytebuddy.description.type.TypeList$Explicit of net.bytebuddy.description.type.TypeList
  public ForLoadedTypes = net.bytebuddy.description.type.TypeList$ForLoadedTypes of net.bytebuddy.description.type.TypeList
  public abstract Generic = net.bytebuddy.description.type.TypeList$Generic of net.bytebuddy.description.type.TypeList
  public MethodType = net.bytebuddy.utility.JavaConstant$MethodType of net.bytebuddy.utility.JavaConstant
  protected abstract Dispatcher = net.bytebuddy.utility.JavaConstant$MethodType$Dispatcher of net.bytebuddy.utility.JavaConstant$MethodType
  public final CreationAction = net.bytebuddy.utility.JavaConstant$MethodType$Dispatcher$CreationAction of net.bytebuddy.utility.JavaConstant$MethodType$Dispatcher