public class sun.invoke.anon.ConstantPoolVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.invoke.anon.ConstantPoolVisitor
  super_class: java.lang.Object
{
  public static final byte CONSTANT_None;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final byte CONSTANT_Utf8;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final byte CONSTANT_Integer;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final byte CONSTANT_Float;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final byte CONSTANT_Long;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final byte CONSTANT_Double;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final byte CONSTANT_Class;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final byte CONSTANT_String;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final byte CONSTANT_Fieldref;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  public static final byte CONSTANT_Methodref;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public static final byte CONSTANT_InterfaceMethodref;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  public static final byte CONSTANT_NameAndType;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  private static java.lang.String[] TAG_NAMES;
    descriptor: [Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 168
            bipush 13
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 169
            ldc "Empty"
            aastore
            dup
            iconst_1
         2: .line 170
            ldc "Utf8"
            aastore
            dup
            iconst_3
         3: .line 172
            ldc "Integer"
            aastore
            dup
            iconst_4
         4: .line 173
            ldc "Float"
            aastore
            dup
            iconst_5
         5: .line 174
            ldc "Long"
            aastore
            dup
            bipush 6
         6: .line 175
            ldc "Double"
            aastore
            dup
            bipush 7
         7: .line 176
            ldc "Class"
            aastore
            dup
            bipush 8
         8: .line 177
            ldc "String"
            aastore
            dup
            bipush 9
         9: .line 178
            ldc "Fieldref"
            aastore
            dup
            bipush 10
        10: .line 179
            ldc "Methodref"
            aastore
            dup
            bipush 11
        11: .line 180
            ldc "InterfaceMethodref"
            aastore
            dup
            bipush 12
        12: .line 181
            ldc "NameAndType"
            aastore
        13: .line 168
            putstatic sun.invoke.anon.ConstantPoolVisitor.TAG_NAMES:[Ljava/lang/String;
        14: .line 182
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.invoke.anon.ConstantPoolVisitor this
         0: .line 74
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.invoke.anon.ConstantPoolVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/invoke/anon/ConstantPoolVisitor;

  public void visitUTF8(int, byte, java.lang.String);
    descriptor: (IBLjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // sun.invoke.anon.ConstantPoolVisitor this
        start local 1 // int index
        start local 2 // byte tag
        start local 3 // java.lang.String utf8
         0: .line 84
            return
        end local 3 // java.lang.String utf8
        end local 2 // byte tag
        end local 1 // int index
        end local 0 // sun.invoke.anon.ConstantPoolVisitor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/invoke/anon/ConstantPoolVisitor;
            0    1     1  index  I
            0    1     2    tag  B
            0    1     3   utf8  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      index  
      tag    
      utf8   

  public void visitConstantValue(int, byte, java.lang.Object);
    descriptor: (IBLjava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // sun.invoke.anon.ConstantPoolVisitor this
        start local 1 // int index
        start local 2 // byte tag
        start local 3 // java.lang.Object value
         0: .line 102
            return
        end local 3 // java.lang.Object value
        end local 2 // byte tag
        end local 1 // int index
        end local 0 // sun.invoke.anon.ConstantPoolVisitor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/invoke/anon/ConstantPoolVisitor;
            0    1     1  index  I
            0    1     2    tag  B
            0    1     3  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      index  
      tag    
      value  

  public void visitConstantString(int, byte, java.lang.String, int);
    descriptor: (IBLjava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=5, args_size=5
        start local 0 // sun.invoke.anon.ConstantPoolVisitor this
        start local 1 // int index
        start local 2 // byte tag
        start local 3 // java.lang.String name
        start local 4 // int nameIndex
         0: .line 116
            return
        end local 4 // int nameIndex
        end local 3 // java.lang.String name
        end local 2 // byte tag
        end local 1 // int index
        end local 0 // sun.invoke.anon.ConstantPoolVisitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lsun/invoke/anon/ConstantPoolVisitor;
            0    1     1      index  I
            0    1     2        tag  B
            0    1     3       name  Ljava/lang/String;
            0    1     4  nameIndex  I
    MethodParameters:
           Name  Flags
      index      
      tag        
      name       
      nameIndex  

  public void visitDescriptor(int, byte, java.lang.String, java.lang.String, int, int);
    descriptor: (IBLjava/lang/String;Ljava/lang/String;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=7, args_size=7
        start local 0 // sun.invoke.anon.ConstantPoolVisitor this
        start local 1 // int index
        start local 2 // byte tag
        start local 3 // java.lang.String memberName
        start local 4 // java.lang.String signature
        start local 5 // int memberNameIndex
        start local 6 // int signatureIndex
         0: .line 132
            return
        end local 6 // int signatureIndex
        end local 5 // int memberNameIndex
        end local 4 // java.lang.String signature
        end local 3 // java.lang.String memberName
        end local 2 // byte tag
        end local 1 // int index
        end local 0 // sun.invoke.anon.ConstantPoolVisitor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lsun/invoke/anon/ConstantPoolVisitor;
            0    1     1            index  I
            0    1     2              tag  B
            0    1     3       memberName  Ljava/lang/String;
            0    1     4        signature  Ljava/lang/String;
            0    1     5  memberNameIndex  I
            0    1     6   signatureIndex  I
    MethodParameters:
                 Name  Flags
      index            
      tag              
      memberName       
      signature        
      memberNameIndex  
      signatureIndex   

  public void visitMemberRef(int, byte, java.lang.String, java.lang.String, java.lang.String, int, int);
    descriptor: (IBLjava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=8, args_size=8
        start local 0 // sun.invoke.anon.ConstantPoolVisitor this
        start local 1 // int index
        start local 2 // byte tag
        start local 3 // java.lang.String className
        start local 4 // java.lang.String memberName
        start local 5 // java.lang.String signature
        start local 6 // int classNameIndex
        start local 7 // int descriptorIndex
         0: .line 151
            return
        end local 7 // int descriptorIndex
        end local 6 // int classNameIndex
        end local 5 // java.lang.String signature
        end local 4 // java.lang.String memberName
        end local 3 // java.lang.String className
        end local 2 // byte tag
        end local 1 // int index
        end local 0 // sun.invoke.anon.ConstantPoolVisitor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lsun/invoke/anon/ConstantPoolVisitor;
            0    1     1            index  I
            0    1     2              tag  B
            0    1     3        className  Ljava/lang/String;
            0    1     4       memberName  Ljava/lang/String;
            0    1     5        signature  Ljava/lang/String;
            0    1     6   classNameIndex  I
            0    1     7  descriptorIndex  I
    MethodParameters:
                 Name  Flags
      index            
      tag              
      className        
      memberName       
      signature        
      classNameIndex   
      descriptorIndex  

  public static java.lang.String tagName(byte);
    descriptor: (B)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // byte tag
         0: .line 185
            aconst_null
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 186
            iload 0 /* tag */
            sipush 255
            iand
            getstatic sun.invoke.anon.ConstantPoolVisitor.TAG_NAMES:[Ljava/lang/String;
            arraylength
            if_icmpge 3
         2: .line 187
            getstatic sun.invoke.anon.ConstantPoolVisitor.TAG_NAMES:[Ljava/lang/String;
            iload 0 /* tag */
            aaload
            astore 1 /* name */
         3: .line 188
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* name */
            ifnonnull 5
         4: .line 189
            new java.lang.StringBuilder
            dup
            ldc "Unknown#"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* tag */
            sipush 255
            iand
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* name */
         5: .line 190
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            areturn
        end local 1 // java.lang.String name
        end local 0 // byte tag
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   tag  B
            1    6     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      tag   
}
SourceFile: "ConstantPoolVisitor.java"