class com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter extends com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter
  super_class: com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy
{
  final com.sun.tools.javac.code.Symbol sym;
    descriptor: Lcom/sun/tools/javac/code/Symbol;
    flags: (0x0010) ACC_FINAL

  final com.sun.tools.javac.util.List<com.sun.tools.javac.jvm.ClassReader$CompoundAnnotationProxy> l;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0010) ACC_FINAL
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/jvm/ClassReader$CompoundAnnotationProxy;>;

  final javax.tools.JavaFileObject classFile;
    descriptor: Ljavax/tools/JavaFileObject;
    flags: (0x0010) ACC_FINAL

  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.code.Symbol, com.sun.tools.javac.util.List<com.sun.tools.javac.jvm.ClassReader$CompoundAnnotationProxy>);
    descriptor: (Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/util/List;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter this
        start local 2 // com.sun.tools.javac.code.Symbol sym
        start local 3 // com.sun.tools.javac.util.List l
         0: .line 2101
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
         1: .line 2102
            aload 0 /* this */
            aload 1
            aload 1
            getfield com.sun.tools.javac.jvm.ClassReader.currentOwner:Lcom/sun/tools/javac/code/Symbol;
            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 3
         2: .line 2103
            aload 1
            getfield com.sun.tools.javac.jvm.ClassReader.currentOwner:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.enclClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            goto 4
      StackMap locals: uninitialized-this com.sun.tools.javac.jvm.ClassReader com.sun.tools.javac.code.Symbol com.sun.tools.javac.util.List
      StackMap stack: uninitialized-this com.sun.tools.javac.jvm.ClassReader
         3: aload 1
            getfield com.sun.tools.javac.jvm.ClassReader.currentOwner:Lcom/sun/tools/javac/code/Symbol;
            checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
      StackMap locals: uninitialized-this com.sun.tools.javac.jvm.ClassReader com.sun.tools.javac.code.Symbol com.sun.tools.javac.util.List
      StackMap stack: uninitialized-this com.sun.tools.javac.jvm.ClassReader com.sun.tools.javac.code.Symbol$ClassSymbol
         4: invokespecial com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.<init>:(Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)V
         5: .line 2104
            aload 2 /* 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 8
            aload 2 /* sym */
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.MDL:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 8
         6: .line 2105
            aload 0 /* this */
            aload 2 /* sym */
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.sym:Lcom/sun/tools/javac/code/Symbol;
         7: .line 2106
            goto 9
         8: .line 2107
      StackMap locals: com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter com.sun.tools.javac.jvm.ClassReader com.sun.tools.javac.code.Symbol com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            aload 2 /* sym */
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.sym:Lcom/sun/tools/javac/code/Symbol;
         9: .line 2109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* l */
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.l:Lcom/sun/tools/javac/util/List;
        10: .line 2110
            aload 0 /* this */
            aload 1
            getfield com.sun.tools.javac.jvm.ClassReader.currentClassFile:Ljavax/tools/JavaFileObject;
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.classFile:Ljavax/tools/JavaFileObject;
        11: .line 2111
            return
        end local 3 // com.sun.tools.javac.util.List l
        end local 2 // com.sun.tools.javac.code.Symbol sym
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationCompleter;
            0   12     2   sym  Lcom/sun/tools/javac/code/Symbol;
            0   12     3     l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/jvm/ClassReader$CompoundAnnotationProxy;>;
    Signature: (Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/jvm/ClassReader$CompoundAnnotationProxy;>;)V
    MethodParameters:
        Name  Flags
      this$0  final
      sym     
      l       

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter this
         0: .line 2115
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.currentClassFile:Ljavax/tools/JavaFileObject;
            astore 1 /* previousClassFile */
        start local 1 // javax.tools.JavaFileObject previousClassFile
         1: .line 2117
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.classFile:Ljavax/tools/JavaFileObject;
            putfield com.sun.tools.javac.jvm.ClassReader.currentClassFile:Ljavax/tools/JavaFileObject;
         2: .line 2118
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.l:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.deproxyCompoundList:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 2 /* newList */
        start local 2 // com.sun.tools.javac.util.List newList
         3: .line 2119
            aload 2 /* newList */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter javax.tools.JavaFileObject com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Attribute$Compound
            astore 3 /* attr */
        start local 3 // com.sun.tools.javac.code.Attribute$Compound attr
         5: .line 2120
            aload 3 /* attr */
            getfield com.sun.tools.javac.code.Attribute$Compound.type:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.deprecatedType:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            if_acmpne 12
         6: .line 2121
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.sym:Lcom/sun/tools/javac/code/Symbol;
            dup
            getfield com.sun.tools.javac.code.Symbol.flags_field:J
            ldc 18014398509613056
            lor
            putfield com.sun.tools.javac.code.Symbol.flags_field:J
         7: .line 2122
            aload 3 /* attr */
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.forRemoval:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Attribute$Compound.member:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Attribute;
            astore 5 /* forRemoval */
        start local 5 // com.sun.tools.javac.code.Attribute forRemoval
         8: .line 2123
            aload 5 /* forRemoval */
            instanceof com.sun.tools.javac.code.Attribute$Constant
            ifeq 12
         9: .line 2124
            aload 5 /* forRemoval */
            checkcast com.sun.tools.javac.code.Attribute$Constant
            astore 6 /* c */
        start local 6 // com.sun.tools.javac.code.Attribute$Constant c
        10: .line 2125
            aload 6 /* c */
            getfield com.sun.tools.javac.code.Attribute$Constant.type:Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.booleanType:Lcom/sun/tools/javac/code/Type$JCPrimitiveType;
            if_acmpne 12
            aload 6 /* c */
            getfield com.sun.tools.javac.code.Attribute$Constant.value:Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ifeq 12
        11: .line 2126
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.sym:Lcom/sun/tools/javac/code/Symbol;
            dup
            getfield com.sun.tools.javac.code.Symbol.flags_field:J
            ldc 36028797018963968
            lor
            putfield com.sun.tools.javac.code.Symbol.flags_field:J
        end local 6 // com.sun.tools.javac.code.Attribute$Constant c
        end local 5 // com.sun.tools.javac.code.Attribute forRemoval
        end local 3 // com.sun.tools.javac.code.Attribute$Compound attr
        12: .line 2119
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        13: .line 2131
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.sym:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.annotationsPendingCompletion:()Z
            ifeq 16
        14: .line 2132
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.sym:Lcom/sun/tools/javac/code/Symbol;
            aload 2 /* newList */
            invokevirtual com.sun.tools.javac.code.Symbol.setDeclarationAttributes:(Lcom/sun/tools/javac/util/List;)V
        15: .line 2133
            goto 21
        16: .line 2134
      StackMap locals: com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter javax.tools.JavaFileObject com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.sym:Lcom/sun/tools/javac/code/Symbol;
            aload 2 /* newList */
            invokevirtual com.sun.tools.javac.code.Symbol.appendAttributes:(Lcom/sun/tools/javac/util/List;)V
        end local 2 // com.sun.tools.javac.util.List newList
        17: .line 2136
            goto 21
      StackMap locals: com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter javax.tools.JavaFileObject
      StackMap stack: java.lang.Throwable
        18: astore 7
        19: .line 2137
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            aload 1 /* previousClassFile */
            putfield com.sun.tools.javac.jvm.ClassReader.currentClassFile:Ljavax/tools/JavaFileObject;
        20: .line 2138
            aload 7
            athrow
        21: .line 2137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            aload 1 /* previousClassFile */
            putfield com.sun.tools.javac.jvm.ClassReader.currentClassFile:Ljavax/tools/JavaFileObject;
        22: .line 2139
            return
        end local 1 // javax.tools.JavaFileObject previousClassFile
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   23     0               this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationCompleter;
            1   23     1  previousClassFile  Ljavax/tools/JavaFileObject;
            3   17     2            newList  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Attribute$Compound;>;
            5   12     3               attr  Lcom/sun/tools/javac/code/Attribute$Compound;
            8   12     5         forRemoval  Lcom/sun/tools/javac/code/Attribute;
           10   12     6                  c  Lcom/sun/tools/javac/code/Attribute$Constant;
      Exception table:
        from    to  target  type
           1    18      18  any

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter this
         0: .line 2143
            new java.lang.StringBuilder
            dup
            ldc " ClassReader annotate "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.sym:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.sym:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.l:Lcom/sun/tools/javac/util/List;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationCompleter;
}
SourceFile: "ClassReader.java"
NestHost: com.sun.tools.javac.jvm.ClassReader
InnerClasses:
  public Compound = com.sun.tools.javac.code.Attribute$Compound of com.sun.tools.javac.code.Attribute
  public Constant = com.sun.tools.javac.code.Attribute$Constant of com.sun.tools.javac.code.Attribute
  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
  AnnotationCompleter = com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter of com.sun.tools.javac.jvm.ClassReader
  AnnotationDeproxy = com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy of com.sun.tools.javac.jvm.ClassReader
  CompoundAnnotationProxy = com.sun.tools.javac.jvm.ClassReader$CompoundAnnotationProxy of com.sun.tools.javac.jvm.ClassReader