public class javassist.bytecode.SignatureAttribute$TypeParameter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javassist.bytecode.SignatureAttribute$TypeParameter
  super_class: java.lang.Object
{
  java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  javassist.bytecode.SignatureAttribute$ObjectType superClass;
    descriptor: Ljavassist/bytecode/SignatureAttribute$ObjectType;
    flags: (0x0000) 

  javassist.bytecode.SignatureAttribute$ObjectType[] superInterfaces;
    descriptor: [Ljavassist/bytecode/SignatureAttribute$ObjectType;
    flags: (0x0000) 

  void <init>(java.lang.String, int, int, javassist.bytecode.SignatureAttribute$ObjectType, javassist.bytecode.SignatureAttribute$ObjectType[]);
    descriptor: (Ljava/lang/String;IILjavassist/bytecode/SignatureAttribute$ObjectType;[Ljavassist/bytecode/SignatureAttribute$ObjectType;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
        start local 1 // java.lang.String sig
        start local 2 // int nb
        start local 3 // int ne
        start local 4 // javassist.bytecode.SignatureAttribute$ObjectType sc
        start local 5 // javassist.bytecode.SignatureAttribute$ObjectType[] si
         0: .line 377
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 378
            aload 0 /* this */
            aload 1 /* sig */
            iload 2 /* nb */
            iload 3 /* ne */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield javassist.bytecode.SignatureAttribute$TypeParameter.name:Ljava/lang/String;
         2: .line 379
            aload 0 /* this */
            aload 4 /* sc */
            putfield javassist.bytecode.SignatureAttribute$TypeParameter.superClass:Ljavassist/bytecode/SignatureAttribute$ObjectType;
         3: .line 380
            aload 0 /* this */
            aload 5 /* si */
            putfield javassist.bytecode.SignatureAttribute$TypeParameter.superInterfaces:[Ljavassist/bytecode/SignatureAttribute$ObjectType;
         4: .line 381
            return
        end local 5 // javassist.bytecode.SignatureAttribute$ObjectType[] si
        end local 4 // javassist.bytecode.SignatureAttribute$ObjectType sc
        end local 3 // int ne
        end local 2 // int nb
        end local 1 // java.lang.String sig
        end local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavassist/bytecode/SignatureAttribute$TypeParameter;
            0    5     1   sig  Ljava/lang/String;
            0    5     2    nb  I
            0    5     3    ne  I
            0    5     4    sc  Ljavassist/bytecode/SignatureAttribute$ObjectType;
            0    5     5    si  [Ljavassist/bytecode/SignatureAttribute$ObjectType;
    MethodParameters:
      Name  Flags
      sig   
      nb    
      ne    
      sc    
      si    

  public void <init>(java.lang.String, javassist.bytecode.SignatureAttribute$ObjectType, javassist.bytecode.SignatureAttribute$ObjectType[]);
    descriptor: (Ljava/lang/String;Ljavassist/bytecode/SignatureAttribute$ObjectType;[Ljavassist/bytecode/SignatureAttribute$ObjectType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
        start local 1 // java.lang.String name
        start local 2 // javassist.bytecode.SignatureAttribute$ObjectType superClass
        start local 3 // javassist.bytecode.SignatureAttribute$ObjectType[] superInterfaces
         0: .line 391
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 392
            aload 0 /* this */
            aload 1 /* name */
            putfield javassist.bytecode.SignatureAttribute$TypeParameter.name:Ljava/lang/String;
         2: .line 393
            aload 0 /* this */
            aload 2 /* superClass */
            putfield javassist.bytecode.SignatureAttribute$TypeParameter.superClass:Ljavassist/bytecode/SignatureAttribute$ObjectType;
         3: .line 394
            aload 3 /* superInterfaces */
            ifnonnull 5
         4: .line 395
            aload 0 /* this */
            iconst_0
            anewarray javassist.bytecode.SignatureAttribute$ObjectType
            putfield javassist.bytecode.SignatureAttribute$TypeParameter.superInterfaces:[Ljavassist/bytecode/SignatureAttribute$ObjectType;
            goto 6
         5: .line 397
      StackMap locals: javassist.bytecode.SignatureAttribute$TypeParameter java.lang.String javassist.bytecode.SignatureAttribute$ObjectType javassist.bytecode.SignatureAttribute$ObjectType[]
      StackMap stack:
            aload 0 /* this */
            aload 3 /* superInterfaces */
            putfield javassist.bytecode.SignatureAttribute$TypeParameter.superInterfaces:[Ljavassist/bytecode/SignatureAttribute$ObjectType;
         6: .line 398
      StackMap locals:
      StackMap stack:
            return
        end local 3 // javassist.bytecode.SignatureAttribute$ObjectType[] superInterfaces
        end local 2 // javassist.bytecode.SignatureAttribute$ObjectType superClass
        end local 1 // java.lang.String name
        end local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Ljavassist/bytecode/SignatureAttribute$TypeParameter;
            0    7     1             name  Ljava/lang/String;
            0    7     2       superClass  Ljavassist/bytecode/SignatureAttribute$ObjectType;
            0    7     3  superInterfaces  [Ljavassist/bytecode/SignatureAttribute$ObjectType;
    MethodParameters:
                 Name  Flags
      name             
      superClass       
      superInterfaces  

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
        start local 1 // java.lang.String name
         0: .line 407
            aload 0 /* this */
            aload 1 /* name */
            aconst_null
            aconst_null
            invokespecial javassist.bytecode.SignatureAttribute$TypeParameter.<init>:(Ljava/lang/String;Ljavassist/bytecode/SignatureAttribute$ObjectType;[Ljavassist/bytecode/SignatureAttribute$ObjectType;)V
         1: .line 408
            return
        end local 1 // java.lang.String name
        end local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/bytecode/SignatureAttribute$TypeParameter;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
         0: .line 414
            aload 0 /* this */
            getfield javassist.bytecode.SignatureAttribute$TypeParameter.name:Ljava/lang/String;
            areturn
        end local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/bytecode/SignatureAttribute$TypeParameter;

  public javassist.bytecode.SignatureAttribute$ObjectType getClassBound();
    descriptor: ()Ljavassist/bytecode/SignatureAttribute$ObjectType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
         0: .line 420
            aload 0 /* this */
            getfield javassist.bytecode.SignatureAttribute$TypeParameter.superClass:Ljavassist/bytecode/SignatureAttribute$ObjectType;
            areturn
        end local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/bytecode/SignatureAttribute$TypeParameter;

  public javassist.bytecode.SignatureAttribute$ObjectType[] getInterfaceBound();
    descriptor: ()[Ljavassist/bytecode/SignatureAttribute$ObjectType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
         0: .line 427
            aload 0 /* this */
            getfield javassist.bytecode.SignatureAttribute$TypeParameter.superInterfaces:[Ljavassist/bytecode/SignatureAttribute$ObjectType;
            areturn
        end local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/bytecode/SignatureAttribute$TypeParameter;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
         0: .line 434
            new java.lang.StringBuffer
            dup
            aload 0 /* this */
            invokevirtual javassist.bytecode.SignatureAttribute$TypeParameter.getName:()Ljava/lang/String;
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 1 /* sbuf */
        start local 1 // java.lang.StringBuffer sbuf
         1: .line 435
            aload 0 /* this */
            getfield javassist.bytecode.SignatureAttribute$TypeParameter.superClass:Ljavassist/bytecode/SignatureAttribute$ObjectType;
            ifnull 3
         2: .line 436
            aload 1 /* sbuf */
            ldc " extends "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield javassist.bytecode.SignatureAttribute$TypeParameter.superClass:Ljavassist/bytecode/SignatureAttribute$ObjectType;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 438
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 0 /* this */
            getfield javassist.bytecode.SignatureAttribute$TypeParameter.superInterfaces:[Ljavassist/bytecode/SignatureAttribute$ObjectType;
            arraylength
            istore 2 /* len */
        start local 2 // int len
         4: .line 439
            iload 2 /* len */
            ifle 13
         5: .line 440
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 12
         7: .line 441
      StackMap locals: int int
      StackMap stack:
            iload 3 /* i */
            ifgt 8
            aload 0 /* this */
            getfield javassist.bytecode.SignatureAttribute$TypeParameter.superClass:Ljavassist/bytecode/SignatureAttribute$ObjectType;
            ifnull 9
         8: .line 442
      StackMap locals:
      StackMap stack:
            aload 1 /* sbuf */
            ldc " & "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
            goto 10
         9: .line 444
      StackMap locals:
      StackMap stack:
            aload 1 /* sbuf */
            ldc " extends "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 446
      StackMap locals:
      StackMap stack:
            aload 1 /* sbuf */
            aload 0 /* this */
            getfield javassist.bytecode.SignatureAttribute$TypeParameter.superInterfaces:[Ljavassist/bytecode/SignatureAttribute$ObjectType;
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 440
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 7
        end local 3 // int i
        13: .line 450
      StackMap locals:
      StackMap stack:
            aload 1 /* sbuf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // int len
        end local 1 // java.lang.StringBuffer sbuf
        end local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljavassist/bytecode/SignatureAttribute$TypeParameter;
            1   14     1  sbuf  Ljava/lang/StringBuffer;
            4   14     2   len  I
            6   13     3     i  I

  static void toString(java.lang.StringBuffer, javassist.bytecode.SignatureAttribute$TypeParameter[]);
    descriptor: (Ljava/lang/StringBuffer;[Ljavassist/bytecode/SignatureAttribute$TypeParameter;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.StringBuffer sbuf
        start local 1 // javassist.bytecode.SignatureAttribute$TypeParameter[] tp
         0: .line 454
            aload 0 /* sbuf */
            bipush 60
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         1: .line 455
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 456
      StackMap locals: int
      StackMap stack:
            iload 2 /* i */
            ifle 5
         4: .line 457
            aload 0 /* sbuf */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 459
      StackMap locals:
      StackMap stack:
            aload 0 /* sbuf */
            aload 1 /* tp */
            iload 2 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
         6: .line 455
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 1 /* tp */
            arraylength
            if_icmplt 3
        end local 2 // int i
         8: .line 462
            aload 0 /* sbuf */
            bipush 62
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 463
            return
        end local 1 // javassist.bytecode.SignatureAttribute$TypeParameter[] tp
        end local 0 // java.lang.StringBuffer sbuf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  sbuf  Ljava/lang/StringBuffer;
            0   10     1    tp  [Ljavassist/bytecode/SignatureAttribute$TypeParameter;
            2    8     2     i  I
    MethodParameters:
      Name  Flags
      sbuf  
      tp    

  void encode(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
        start local 1 // java.lang.StringBuffer sb
         0: .line 466
            aload 1 /* sb */
            aload 0 /* this */
            getfield javassist.bytecode.SignatureAttribute$TypeParameter.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 467
            aload 0 /* this */
            getfield javassist.bytecode.SignatureAttribute$TypeParameter.superClass:Ljavassist/bytecode/SignatureAttribute$ObjectType;
            ifnonnull 3
         2: .line 468
            aload 1 /* sb */
            ldc ":Ljava/lang/Object;"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
            goto 5
         3: .line 470
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 471
            aload 0 /* this */
            getfield javassist.bytecode.SignatureAttribute$TypeParameter.superClass:Ljavassist/bytecode/SignatureAttribute$ObjectType;
            aload 1 /* sb */
            invokevirtual javassist.bytecode.SignatureAttribute$ObjectType.encode:(Ljava/lang/StringBuffer;)V
         5: .line 474
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         6: goto 10
         7: .line 475
      StackMap locals: int
      StackMap stack:
            aload 1 /* sb */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         8: .line 476
            aload 0 /* this */
            getfield javassist.bytecode.SignatureAttribute$TypeParameter.superInterfaces:[Ljavassist/bytecode/SignatureAttribute$ObjectType;
            iload 2 /* i */
            aaload
            aload 1 /* sb */
            invokevirtual javassist.bytecode.SignatureAttribute$ObjectType.encode:(Ljava/lang/StringBuffer;)V
         9: .line 474
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            aload 0 /* this */
            getfield javassist.bytecode.SignatureAttribute$TypeParameter.superInterfaces:[Ljavassist/bytecode/SignatureAttribute$ObjectType;
            arraylength
            if_icmplt 7
        end local 2 // int i
        11: .line 478
            return
        end local 1 // java.lang.StringBuffer sb
        end local 0 // javassist.bytecode.SignatureAttribute$TypeParameter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljavassist/bytecode/SignatureAttribute$TypeParameter;
            0   12     1    sb  Ljava/lang/StringBuffer;
            6   11     2     i  I
    MethodParameters:
      Name  Flags
      sb    
}
SourceFile: "SignatureAttribute.java"
NestHost: javassist.bytecode.SignatureAttribute
InnerClasses:
  public abstract ObjectType = javassist.bytecode.SignatureAttribute$ObjectType of javassist.bytecode.SignatureAttribute
  public TypeParameter = javassist.bytecode.SignatureAttribute$TypeParameter of javassist.bytecode.SignatureAttribute