public abstract class com.sun.tools.classfile.Attribute
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.tools.classfile.Attribute
  super_class: java.lang.Object
{
  public static final java.lang.String AnnotationDefault;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "AnnotationDefault"

  public static final java.lang.String BootstrapMethods;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "BootstrapMethods"

  public static final java.lang.String CharacterRangeTable;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "CharacterRangeTable"

  public static final java.lang.String Code;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Code"

  public static final java.lang.String ConstantValue;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ConstantValue"

  public static final java.lang.String CompilationID;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "CompilationID"

  public static final java.lang.String Deprecated;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Deprecated"

  public static final java.lang.String EnclosingMethod;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "EnclosingMethod"

  public static final java.lang.String Exceptions;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Exceptions"

  public static final java.lang.String InnerClasses;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "InnerClasses"

  public static final java.lang.String LineNumberTable;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "LineNumberTable"

  public static final java.lang.String LocalVariableTable;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "LocalVariableTable"

  public static final java.lang.String LocalVariableTypeTable;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "LocalVariableTypeTable"

  public static final java.lang.String MethodParameters;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "MethodParameters"

  public static final java.lang.String Module;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Module"

  public static final java.lang.String ModuleHashes;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ModuleHashes"

  public static final java.lang.String ModuleMainClass;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ModuleMainClass"

  public static final java.lang.String ModulePackages;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ModulePackages"

  public static final java.lang.String ModuleResolution;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ModuleResolution"

  public static final java.lang.String ModuleTarget;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ModuleTarget"

  public static final java.lang.String NestHost;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "NestHost"

  public static final java.lang.String NestMembers;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "NestMembers"

  public static final java.lang.String RuntimeVisibleAnnotations;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "RuntimeVisibleAnnotations"

  public static final java.lang.String RuntimeInvisibleAnnotations;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "RuntimeInvisibleAnnotations"

  public static final java.lang.String RuntimeVisibleParameterAnnotations;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "RuntimeVisibleParameterAnnotations"

  public static final java.lang.String RuntimeInvisibleParameterAnnotations;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "RuntimeInvisibleParameterAnnotations"

  public static final java.lang.String RuntimeVisibleTypeAnnotations;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "RuntimeVisibleTypeAnnotations"

  public static final java.lang.String RuntimeInvisibleTypeAnnotations;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "RuntimeInvisibleTypeAnnotations"

  public static final java.lang.String Signature;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Signature"

  public static final java.lang.String SourceDebugExtension;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SourceDebugExtension"

  public static final java.lang.String SourceFile;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SourceFile"

  public static final java.lang.String SourceID;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "SourceID"

  public static final java.lang.String StackMap;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "StackMap"

  public static final java.lang.String StackMapTable;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "StackMapTable"

  public static final java.lang.String Synthetic;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Synthetic"

  public final int attribute_name_index;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int attribute_length;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public static com.sun.tools.classfile.Attribute read(com.sun.tools.classfile.ClassReader);
    descriptor: (Lcom/sun/tools/classfile/ClassReader;)Lcom/sun/tools/classfile/Attribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.classfile.ClassReader cr
         0: .line 156
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readAttribute:()Lcom/sun/tools/classfile/Attribute;
            areturn
        end local 0 // com.sun.tools.classfile.ClassReader cr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    cr  Lcom/sun/tools/classfile/ClassReader;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      cr    

  protected void <init>(int, int);
    descriptor: (II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.classfile.Attribute this
        start local 1 // int name_index
        start local 2 // int length
         0: .line 159
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 160
            aload 0 /* this */
            iload 1 /* name_index */
            putfield com.sun.tools.classfile.Attribute.attribute_name_index:I
         2: .line 161
            aload 0 /* this */
            iload 2 /* length */
            putfield com.sun.tools.classfile.Attribute.attribute_length:I
         3: .line 162
            return
        end local 2 // int length
        end local 1 // int name_index
        end local 0 // com.sun.tools.classfile.Attribute this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/sun/tools/classfile/Attribute;
            0    4     1  name_index  I
            0    4     2      length  I
    MethodParameters:
            Name  Flags
      name_index  
      length      

  public java.lang.String getName(com.sun.tools.classfile.ConstantPool);
    descriptor: (Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.classfile.Attribute this
        start local 1 // com.sun.tools.classfile.ConstantPool constant_pool
         0: .line 165
            aload 1 /* constant_pool */
            aload 0 /* this */
            getfield com.sun.tools.classfile.Attribute.attribute_name_index:I
            invokevirtual com.sun.tools.classfile.ConstantPool.getUTF8Value:(I)Ljava/lang/String;
            areturn
        end local 1 // com.sun.tools.classfile.ConstantPool constant_pool
        end local 0 // com.sun.tools.classfile.Attribute this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lcom/sun/tools/classfile/Attribute;
            0    1     1  constant_pool  Lcom/sun/tools/classfile/ConstantPool;
    Exceptions:
      throws com.sun.tools.classfile.ConstantPoolException
    MethodParameters:
               Name  Flags
      constant_pool  

  public abstract <R, D> R accept(com.sun.tools.classfile.Attribute$Visitor<R, D>, );
    descriptor: (Lcom/sun/tools/classfile/Attribute$Visitor;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <R:Ljava/lang/Object;D:Ljava/lang/Object;>(Lcom/sun/tools/classfile/Attribute$Visitor<TR;TD;>;TD;)TR;
    MethodParameters:
         Name  Flags
      visitor  
      data     

  public int byteLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.classfile.Attribute this
         0: .line 171
            bipush 6
            aload 0 /* this */
            getfield com.sun.tools.classfile.Attribute.attribute_length:I
            iadd
            ireturn
        end local 0 // com.sun.tools.classfile.Attribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/classfile/Attribute;
}
SourceFile: "Attribute.java"
NestMembers:
  com.sun.tools.classfile.Attribute$Factory  com.sun.tools.classfile.Attribute$Visitor
InnerClasses:
  public Factory = com.sun.tools.classfile.Attribute$Factory of com.sun.tools.classfile.Attribute
  public abstract Visitor = com.sun.tools.classfile.Attribute$Visitor of com.sun.tools.classfile.Attribute