public abstract class io.vertx.codegen.TypeParamInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.vertx.codegen.TypeParamInfo
  super_class: java.lang.Object
{
  protected final int index;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

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

  private static volatile int[] $SWITCH_TABLE$javax$lang$model$element$ElementKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public static io.vertx.codegen.TypeParamInfo create(java.lang.reflect.TypeVariable);
    descriptor: (Ljava/lang/reflect/TypeVariable;)Lio/vertx/codegen/TypeParamInfo;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // java.lang.reflect.TypeVariable typeVariable
         0: .line 16
            aload 0 /* typeVariable */
            invokeinterface java.lang.reflect.TypeVariable.getGenericDeclaration:()Ljava/lang/reflect/GenericDeclaration;
            astore 1 /* decl */
        start local 1 // java.lang.reflect.GenericDeclaration decl
         1: .line 17
            aload 1 /* decl */
            invokeinterface java.lang.reflect.GenericDeclaration.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
            astore 2 /* typeParams */
        start local 2 // java.lang.reflect.TypeVariable[] typeParams
         2: .line 18
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         3: goto 13
         4: .line 19
      StackMap locals: java.lang.reflect.GenericDeclaration java.lang.reflect.TypeVariable[] int
      StackMap stack:
            aload 2 /* typeParams */
            iload 3 /* index */
            aaload
            aload 0 /* typeVariable */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
         5: .line 20
            aload 1 /* decl */
            instanceof java.lang.Class
            ifeq 8
         6: .line 21
            aload 1 /* decl */
            checkcast java.lang.Class
            astore 4 /* classDecl */
        start local 4 // java.lang.Class classDecl
         7: .line 22
            new io.vertx.codegen.TypeParamInfo$Class
            dup
            aload 4 /* classDecl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            iload 3 /* index */
            aload 0 /* typeVariable */
            invokeinterface java.lang.reflect.TypeVariable.getName:()Ljava/lang/String;
            invokespecial io.vertx.codegen.TypeParamInfo$Class.<init>:(Ljava/lang/String;ILjava/lang/String;)V
            areturn
        end local 4 // java.lang.Class classDecl
         8: .line 23
      StackMap locals:
      StackMap stack:
            aload 1 /* decl */
            instanceof java.lang.reflect.Method
            ifeq 11
         9: .line 24
            aload 1 /* decl */
            checkcast java.lang.reflect.Method
            astore 4 /* methodDecl */
        start local 4 // java.lang.reflect.Method methodDecl
        10: .line 25
            new io.vertx.codegen.TypeParamInfo$Method
            dup
            aload 4 /* methodDecl */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 4 /* methodDecl */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            iload 3 /* index */
            aload 0 /* typeVariable */
            invokeinterface java.lang.reflect.TypeVariable.getName:()Ljava/lang/String;
            invokespecial io.vertx.codegen.TypeParamInfo$Method.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
            areturn
        end local 4 // java.lang.reflect.Method methodDecl
        11: .line 27
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        12: .line 18
      StackMap locals:
      StackMap stack:
            iinc 3 /* index */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* index */
            aload 2 /* typeParams */
            arraylength
            if_icmplt 4
        end local 3 // int index
        14: .line 31
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 2 // java.lang.reflect.TypeVariable[] typeParams
        end local 1 // java.lang.reflect.GenericDeclaration decl
        end local 0 // java.lang.reflect.TypeVariable typeVariable
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0  typeVariable  Ljava/lang/reflect/TypeVariable;
            1   15     1          decl  Ljava/lang/reflect/GenericDeclaration;
            2   15     2    typeParams  [Ljava/lang/reflect/TypeVariable;
            3   14     3         index  I
            7    8     4     classDecl  Ljava/lang/Class;
           10   11     4    methodDecl  Ljava/lang/reflect/Method;
    MethodParameters:
              Name  Flags
      typeVariable  

  public static io.vertx.codegen.TypeParamInfo create(javax.lang.model.element.TypeParameterElement);
    descriptor: (Ljavax/lang/model/element/TypeParameterElement;)Lio/vertx/codegen/TypeParamInfo;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // javax.lang.model.element.TypeParameterElement paramElt
         0: .line 35
            aload 0 /* paramElt */
            invokeinterface javax.lang.model.element.TypeParameterElement.getGenericElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.Parameterizable
            astore 1 /* genericElt */
        start local 1 // javax.lang.model.element.Parameterizable genericElt
         1: .line 36
            aload 1 /* genericElt */
            invokeinterface javax.lang.model.element.Parameterizable.getTypeParameters:()Ljava/util/List;
            aload 0 /* paramElt */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 2 /* index */
        start local 2 // int index
         2: .line 37
            invokestatic io.vertx.codegen.TypeParamInfo.$SWITCH_TABLE$javax$lang$model$element$ElementKind:()[I
            aload 1 /* genericElt */
            invokeinterface javax.lang.model.element.Parameterizable.getKind:()Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iaload
            lookupswitch { // 3
                    3: 3
                    5: 3
                   11: 8
              default: 14
          }
         3: .line 40
      StackMap locals: javax.lang.model.element.Parameterizable int
      StackMap stack:
            aload 1 /* genericElt */
            checkcast javax.lang.model.element.TypeElement
            astore 3 /* typeElt */
        start local 3 // javax.lang.model.element.TypeElement typeElt
         4: .line 41
            new io.vertx.codegen.TypeParamInfo$Class
            dup
         5: .line 42
            aload 3 /* typeElt */
            invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            iload 2 /* index */
         6: .line 43
            aload 0 /* paramElt */
            invokeinterface javax.lang.model.element.TypeParameterElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
         7: .line 41
            invokespecial io.vertx.codegen.TypeParamInfo$Class.<init>:(Ljava/lang/String;ILjava/lang/String;)V
            areturn
        end local 3 // javax.lang.model.element.TypeElement typeElt
         8: .line 46
      StackMap locals:
      StackMap stack:
            aload 1 /* genericElt */
            checkcast javax.lang.model.element.ExecutableElement
            astore 3 /* methodElt */
        start local 3 // javax.lang.model.element.ExecutableElement methodElt
         9: .line 47
            aload 3 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.TypeElement
            astore 4 /* typeElt */
        start local 4 // javax.lang.model.element.TypeElement typeElt
        10: .line 48
            new io.vertx.codegen.TypeParamInfo$Method
            dup
        11: .line 49
            aload 4 /* typeElt */
            invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            aload 3 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            iload 2 /* index */
        12: .line 50
            aload 0 /* paramElt */
            invokeinterface javax.lang.model.element.TypeParameterElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
        13: .line 48
            invokespecial io.vertx.codegen.TypeParamInfo$Method.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
            areturn
        end local 4 // javax.lang.model.element.TypeElement typeElt
        end local 3 // javax.lang.model.element.ExecutableElement methodElt
        14: .line 53
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* genericElt */
            invokeinterface javax.lang.model.element.Parameterizable.getKind:()Ljavax/lang/model/element/ElementKind;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // int index
        end local 1 // javax.lang.model.element.Parameterizable genericElt
        end local 0 // javax.lang.model.element.TypeParameterElement paramElt
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0    paramElt  Ljavax/lang/model/element/TypeParameterElement;
            1   15     1  genericElt  Ljavax/lang/model/element/Parameterizable;
            2   15     2       index  I
            4    8     3     typeElt  Ljavax/lang/model/element/TypeElement;
            9   14     3   methodElt  Ljavax/lang/model/element/ExecutableElement;
           10   14     4     typeElt  Ljavax/lang/model/element/TypeElement;
    MethodParameters:
          Name  Flags
      paramElt  

  public void <init>(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.codegen.TypeParamInfo this
        start local 1 // int index
        start local 2 // java.lang.String name
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 61
            aload 0 /* this */
            iload 1 /* index */
            putfield io.vertx.codegen.TypeParamInfo.index:I
         2: .line 62
            aload 0 /* this */
            aload 2 /* name */
            putfield io.vertx.codegen.TypeParamInfo.name:Ljava/lang/String;
         3: .line 63
            return
        end local 2 // java.lang.String name
        end local 1 // int index
        end local 0 // io.vertx.codegen.TypeParamInfo this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/vertx/codegen/TypeParamInfo;
            0    4     1  index  I
            0    4     2   name  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      index  
      name   

  public abstract boolean isMethod();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public boolean isClass();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.TypeParamInfo this
         0: .line 68
            aload 0 /* this */
            invokevirtual io.vertx.codegen.TypeParamInfo.isMethod:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // io.vertx.codegen.TypeParamInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/codegen/TypeParamInfo;

  public int getIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.TypeParamInfo this
         0: .line 133
            aload 0 /* this */
            getfield io.vertx.codegen.TypeParamInfo.index:I
            ireturn
        end local 0 // io.vertx.codegen.TypeParamInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/TypeParamInfo;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.TypeParamInfo this
         0: .line 137
            aload 0 /* this */
            getfield io.vertx.codegen.TypeParamInfo.name:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.codegen.TypeParamInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/TypeParamInfo;

  static int[] $SWITCH_TABLE$javax$lang$model$element$ElementKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 13
            getstatic io.vertx.codegen.TypeParamInfo.$SWITCH_TABLE$javax$lang$model$element$ElementKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic javax.lang.model.element.ElementKind.values:()[Ljavax/lang/model/element/ElementKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic javax.lang.model.element.ElementKind.ANNOTATION_TYPE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iconst_4
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic javax.lang.model.element.ElementKind.CLASS:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic javax.lang.model.element.ElementKind.CONSTRUCTOR:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 12
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic javax.lang.model.element.ElementKind.ENUM:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic javax.lang.model.element.ElementKind.ENUM_CONSTANT:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic javax.lang.model.element.ElementKind.EXCEPTION_PARAMETER:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 10
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic javax.lang.model.element.ElementKind.FIELD:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 7
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic javax.lang.model.element.ElementKind.INSTANCE_INIT:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 14
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic javax.lang.model.element.ElementKind.INTERFACE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iconst_5
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic javax.lang.model.element.ElementKind.LOCAL_VARIABLE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 9
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic javax.lang.model.element.ElementKind.METHOD:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 11
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic javax.lang.model.element.ElementKind.OTHER:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 16
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic javax.lang.model.element.ElementKind.PACKAGE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iconst_1
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic javax.lang.model.element.ElementKind.PARAMETER:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 8
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic javax.lang.model.element.ElementKind.RESOURCE_VARIABLE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 17
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic javax.lang.model.element.ElementKind.STATIC_INIT:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 13
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic javax.lang.model.element.ElementKind.TYPE_PARAMETER:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 15
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            dup
            putstatic io.vertx.codegen.TypeParamInfo.$SWITCH_TABLE$javax$lang$model$element$ElementKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
}
SourceFile: "TypeParamInfo.java"
NestMembers:
  io.vertx.codegen.TypeParamInfo$Class  io.vertx.codegen.TypeParamInfo$Method
InnerClasses:
  public Class = io.vertx.codegen.TypeParamInfo$Class of io.vertx.codegen.TypeParamInfo
  public Method = io.vertx.codegen.TypeParamInfo$Method of io.vertx.codegen.TypeParamInfo