public abstract class com.sun.tools.javac.jvm.ClassReader$AttributeReader
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.tools.javac.jvm.ClassReader$AttributeReader
  super_class: java.lang.Object
{
  protected final com.sun.tools.javac.util.Name name;
    descriptor: Lcom/sun/tools/javac/util/Name;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final com.sun.tools.javac.jvm.ClassFile$Version version;
    descriptor: Lcom/sun/tools/javac/jvm/ClassFile$Version;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.util.Set<com.sun.tools.javac.jvm.ClassReader$AttributeKind> kinds;
    descriptor: Ljava/util/Set;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/Set<Lcom/sun/tools/javac/jvm/ClassReader$AttributeKind;>;

  final com.sun.tools.javac.jvm.ClassReader this$0;
    descriptor: Lcom/sun/tools/javac/jvm/ClassReader;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  protected void <init>(com.sun.tools.javac.util.Name, com.sun.tools.javac.jvm.ClassFile$Version, java.util.Set<com.sun.tools.javac.jvm.ClassReader$AttributeKind>);
    descriptor: (Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/jvm/ClassFile$Version;Ljava/util/Set;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AttributeReader this
        start local 2 // com.sun.tools.javac.util.Name name
        start local 3 // com.sun.tools.javac.jvm.ClassFile$Version version
        start local 4 // java.util.Set kinds
         0: .line 974
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 975
            aload 0 /* this */
            aload 2 /* name */
            putfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.name:Lcom/sun/tools/javac/util/Name;
         2: .line 976
            aload 0 /* this */
            aload 3 /* version */
            putfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.version:Lcom/sun/tools/javac/jvm/ClassFile$Version;
         3: .line 977
            aload 0 /* this */
            aload 4 /* kinds */
            putfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.kinds:Ljava/util/Set;
         4: .line 978
            return
        end local 4 // java.util.Set kinds
        end local 3 // com.sun.tools.javac.jvm.ClassFile$Version version
        end local 2 // com.sun.tools.javac.util.Name name
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AttributeReader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/sun/tools/javac/jvm/ClassReader$AttributeReader;
            0    5     2     name  Lcom/sun/tools/javac/util/Name;
            0    5     3  version  Lcom/sun/tools/javac/jvm/ClassFile$Version;
            0    5     4    kinds  Ljava/util/Set<Lcom/sun/tools/javac/jvm/ClassReader$AttributeKind;>;
    Signature: (Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/jvm/ClassFile$Version;Ljava/util/Set<Lcom/sun/tools/javac/jvm/ClassReader$AttributeKind;>;)V
    MethodParameters:
         Name  Flags
      this$0   final
      name     
      version  
      kinds    

  protected boolean accepts(com.sun.tools.javac.jvm.ClassReader$AttributeKind);
    descriptor: (Lcom/sun/tools/javac/jvm/ClassReader$AttributeKind;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AttributeReader this
        start local 1 // com.sun.tools.javac.jvm.ClassReader$AttributeKind kind
         0: .line 981
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.kinds:Ljava/util/Set;
            aload 1 /* kind */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 14
         1: .line 982
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.majorVersion:I
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.version:Lcom/sun/tools/javac/jvm/ClassFile$Version;
            getfield com.sun.tools.javac.jvm.ClassFile$Version.major:I
            if_icmpgt 2
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.majorVersion:I
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.version:Lcom/sun/tools/javac/jvm/ClassFile$Version;
            getfield com.sun.tools.javac.jvm.ClassFile$Version.major:I
            if_icmpne 3
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.minorVersion:I
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.version:Lcom/sun/tools/javac/jvm/ClassFile$Version;
            getfield com.sun.tools.javac.jvm.ClassFile$Version.minor:I
            if_icmplt 3
         2: .line 983
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         3: .line 985
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.lintClassfile:Z
            ifeq 14
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.warnedAttrs:Ljava/util/Set;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.name:Lcom/sun/tools/javac/util/Name;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 14
         4: .line 986
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.log:Lcom/sun/tools/javac/util/Log;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.currentClassFile:Ljavax/tools/JavaFileObject;
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            astore 2 /* prev */
        start local 2 // javax.tools.JavaFileObject prev
         5: .line 988
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.code.Lint$LintCategory.CLASSFILE:Lcom/sun/tools/javac/code/Lint$LintCategory;
            aconst_null
            ldc "future.attr"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 989
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.name:Lcom/sun/tools/javac/util/Name;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.version:Lcom/sun/tools/javac/jvm/ClassFile$Version;
            getfield com.sun.tools.javac.jvm.ClassFile$Version.major:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.version:Lcom/sun/tools/javac/jvm/ClassFile$Version;
            getfield com.sun.tools.javac.jvm.ClassFile$Version.minor:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.majorVersion:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.minorVersion:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         7: .line 988
            invokevirtual com.sun.tools.javac.util.Log.warning:(Lcom/sun/tools/javac/code/Lint$LintCategory;Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 990
            goto 12
      StackMap locals: com.sun.tools.javac.jvm.ClassReader$AttributeReader com.sun.tools.javac.jvm.ClassReader$AttributeKind javax.tools.JavaFileObject
      StackMap stack: java.lang.Throwable
         9: astore 3
        10: .line 991
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.log:Lcom/sun/tools/javac/util/Log;
            aload 2 /* prev */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        11: .line 992
            aload 3
            athrow
        12: .line 991
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.log:Lcom/sun/tools/javac/util/Log;
            aload 2 /* prev */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        13: .line 993
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.warnedAttrs:Ljava/util/Set;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AttributeReader.name:Lcom/sun/tools/javac/util/Name;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // javax.tools.JavaFileObject prev
        14: .line 996
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // com.sun.tools.javac.jvm.ClassReader$AttributeKind kind
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AttributeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/sun/tools/javac/jvm/ClassReader$AttributeReader;
            0   15     1  kind  Lcom/sun/tools/javac/jvm/ClassReader$AttributeKind;
            5   14     2  prev  Ljavax/tools/JavaFileObject;
      Exception table:
        from    to  target  type
           5     9       9  any
    MethodParameters:
      Name  Flags
      kind  

  protected abstract void read(com.sun.tools.javac.code.Symbol, int);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;I)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      sym      
      attrLen  
}
SourceFile: "ClassReader.java"
NestHost: com.sun.tools.javac.jvm.ClassReader
InnerClasses:
  public final LintCategory = com.sun.tools.javac.code.Lint$LintCategory of com.sun.tools.javac.code.Lint
  public final Version = com.sun.tools.javac.jvm.ClassFile$Version of com.sun.tools.javac.jvm.ClassFile
  protected final AttributeKind = com.sun.tools.javac.jvm.ClassReader$AttributeKind of com.sun.tools.javac.jvm.ClassReader
  protected abstract AttributeReader = com.sun.tools.javac.jvm.ClassReader$AttributeReader of com.sun.tools.javac.jvm.ClassReader
  public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic