class com.sun.tools.javac.jvm.ClassReader$11 extends com.sun.tools.javac.jvm.ClassReader$AttributeReader
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.jvm.ClassReader$11
  super_class: com.sun.tools.javac.jvm.ClassReader$AttributeReader
{
  final com.sun.tools.javac.jvm.ClassReader this$0;
    descriptor: Lcom/sun/tools/javac/jvm/ClassReader;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.sun.tools.javac.jvm.ClassReader, com.sun.tools.javac.jvm.ClassReader, com.sun.tools.javac.util.Name, com.sun.tools.javac.jvm.ClassFile$Version, java.util.Set);
    descriptor: (Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/jvm/ClassFile$Version;Ljava/util/Set;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.sun.tools.javac.jvm.ClassReader$11 this
        start local 3 // com.sun.tools.javac.util.Name $anonymous0
        start local 4 // com.sun.tools.javac.jvm.ClassFile$Version $anonymous1
        start local 5 // java.util.Set $anonymous2
         0: .line 947
            aload 0 /* this */
            aload 2
            putfield com.sun.tools.javac.jvm.ClassReader$11.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            aload 0 /* this */
            aload 1
            aload 3 /* $anonymous0 */
            aload 4 /* $anonymous1 */
            aload 5 /* $anonymous2 */
            invokespecial com.sun.tools.javac.jvm.ClassReader$AttributeReader.<init>:(Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/jvm/ClassFile$Version;Ljava/util/Set;)V
            return
        end local 5 // java.util.Set $anonymous2
        end local 4 // com.sun.tools.javac.jvm.ClassFile$Version $anonymous1
        end local 3 // com.sun.tools.javac.util.Name $anonymous0
        end local 0 // com.sun.tools.javac.jvm.ClassReader$11 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/sun/tools/javac/jvm/ClassReader$11;
            0    1     3  $anonymous0  Lcom/sun/tools/javac/util/Name;
            0    1     4  $anonymous1  Lcom/sun/tools/javac/jvm/ClassFile$Version;
            0    1     5  $anonymous2  Ljava/util/Set<Lcom/sun/tools/javac/jvm/ClassReader$AttributeKind;>;
    MethodParameters:
             Name  Flags
      this$0       final
      this$1       final
      $anonymous0  
      $anonymous1  
      $anonymous2  

  protected void read(com.sun.tools.javac.code.Symbol, int);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // com.sun.tools.javac.jvm.ClassReader$11 this
        start local 1 // com.sun.tools.javac.code.Symbol sym
        start local 2 // int attrLen
         0: .line 949
            aload 1 /* sym */
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.TYP:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 22
         1: .line 950
            aload 1 /* sym */
            checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
            astore 3 /* c */
        start local 3 // com.sun.tools.javac.code.Symbol$ClassSymbol c
         2: .line 951
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$11.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            iconst_1
            putfield com.sun.tools.javac.jvm.ClassReader.readingClassAttr:Z
         3: .line 953
            aload 3 /* c */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$ClassType
            astore 4 /* ct1 */
        start local 4 // com.sun.tools.javac.code.Type$ClassType ct1
         4: .line 954
            aload 3 /* c */
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$11.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.currentOwner:Lcom/sun/tools/javac/code/Symbol;
            if_acmpne 5
            iconst_1
            goto 6
      StackMap locals: com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Type$ClassType
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
         7: .line 955
            aload 4 /* ct1 */
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$11.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.poolReader:Lcom/sun/tools/javac/jvm/PoolReader;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$11.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            invokevirtual com.sun.tools.javac.jvm.ClassReader.nextChar:()C
            invokevirtual com.sun.tools.javac.jvm.PoolReader.getName:(I)Lcom/sun/tools/javac/util/Name;
         8: .line 956
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$11.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            invokedynamic map(Lcom/sun/tools/javac/jvm/ClassReader;)Lcom/sun/tools/javac/util/Name$NameMapper;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ([BII)Ljava/lang/Object;
                  com/sun/tools/javac/jvm/ClassReader.sigToTypeParams([BII)Lcom/sun/tools/javac/util/List; (5)
                  ([BII)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.Name.map:(Lcom/sun/tools/javac/util/Name$NameMapper;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.List
         9: .line 955
            putfield com.sun.tools.javac.code.Type$ClassType.typarams_field:Lcom/sun/tools/javac/util/List;
        10: .line 957
            aload 4 /* ct1 */
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$11.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            invokevirtual com.sun.tools.javac.jvm.ClassReader.sigToType:()Lcom/sun/tools/javac/code/Type;
            putfield com.sun.tools.javac.code.Type$ClassType.supertype_field:Lcom/sun/tools/javac/code/Type;
        11: .line 958
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 6 /* is */
        start local 6 // com.sun.tools.javac.util.ListBuffer is
        12: .line 959
            goto 14
      StackMap locals: com.sun.tools.javac.jvm.ClassReader$11 com.sun.tools.javac.code.Symbol int com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Type$ClassType top com.sun.tools.javac.util.ListBuffer
      StackMap stack:
        13: aload 6 /* is */
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$11.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            invokevirtual com.sun.tools.javac.jvm.ClassReader.sigToType:()Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
      StackMap locals:
      StackMap stack:
        14: aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$11.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.sigp:I
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$11.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.siglimit:I
            if_icmpne 13
        15: .line 960
            aload 4 /* ct1 */
            aload 6 /* is */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
        end local 6 // com.sun.tools.javac.util.ListBuffer is
        end local 4 // com.sun.tools.javac.code.Type$ClassType ct1
        16: .line 961
            goto 20
      StackMap locals: com.sun.tools.javac.jvm.ClassReader$11 com.sun.tools.javac.code.Symbol int com.sun.tools.javac.code.Symbol$ClassSymbol
      StackMap stack: java.lang.Throwable
        17: astore 7
        18: .line 962
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$11.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            iconst_0
            putfield com.sun.tools.javac.jvm.ClassReader.readingClassAttr:Z
        19: .line 963
            aload 7
            athrow
        20: .line 962
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$11.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            iconst_0
            putfield com.sun.tools.javac.jvm.ClassReader.readingClassAttr:Z
        end local 3 // com.sun.tools.javac.code.Symbol$ClassSymbol c
        21: .line 964
            goto 26
        22: .line 965
      StackMap locals:
      StackMap stack:
            aload 1 /* sym */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
            astore 3 /* thrown */
        start local 3 // com.sun.tools.javac.util.List thrown
        23: .line 966
            aload 1 /* sym */
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$11.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.poolReader:Lcom/sun/tools/javac/jvm/PoolReader;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$11.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            invokevirtual com.sun.tools.javac.jvm.ClassReader.nextChar:()C
            invokevirtual com.sun.tools.javac.jvm.PoolReader.getType:(I)Lcom/sun/tools/javac/code/Type;
            putfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
        24: .line 968
            aload 1 /* sym */
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 26
            aload 1 /* sym */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getThrownTypes:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 26
        25: .line 969
            aload 1 /* sym */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.asMethodType:()Lcom/sun/tools/javac/code/Type$MethodType;
            aload 3 /* thrown */
            putfield com.sun.tools.javac.code.Type$MethodType.thrown:Lcom/sun/tools/javac/util/List;
        end local 3 // com.sun.tools.javac.util.List thrown
        26: .line 972
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int attrLen
        end local 1 // com.sun.tools.javac.code.Symbol sym
        end local 0 // com.sun.tools.javac.jvm.ClassReader$11 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   27     0     this  Lcom/sun/tools/javac/jvm/ClassReader$11;
            0   27     1      sym  Lcom/sun/tools/javac/code/Symbol;
            0   27     2  attrLen  I
            2   21     3        c  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            4   16     4      ct1  Lcom/sun/tools/javac/code/Type$ClassType;
           12   16     6       is  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Type;>;
           23   26     3   thrown  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
      Exception table:
        from    to  target  type
           3    17      17  any
    MethodParameters:
         Name  Flags
      sym      
      attrLen  
}
SourceFile: "ClassReader.java"
EnclosingMethod: com.sun.tools.javac.jvm.ClassReader.initAttributeReaders:()V
NestHost: com.sun.tools.javac.jvm.ClassReader
InnerClasses:
  public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
  public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
  public ClassType = com.sun.tools.javac.code.Type$ClassType of com.sun.tools.javac.code.Type
  public MethodType = com.sun.tools.javac.code.Type$MethodType of com.sun.tools.javac.code.Type
  public final Version = com.sun.tools.javac.jvm.ClassFile$Version of com.sun.tools.javac.jvm.ClassFile
  com.sun.tools.javac.jvm.ClassReader$11
  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 NameMapper = com.sun.tools.javac.util.Name$NameMapper of com.sun.tools.javac.util.Name
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles