class com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy implements com.sun.tools.javac.jvm.ClassReader$ProxyVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy
  super_class: java.lang.Object
{
  private com.sun.tools.javac.code.Symbol$ClassSymbol requestingOwner;
    descriptor: Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    flags: (0x0002) ACC_PRIVATE

  com.sun.tools.javac.code.Attribute result;
    descriptor: Lcom/sun/tools/javac/code/Attribute;
    flags: (0x0000) 

  com.sun.tools.javac.code.Type type;
    descriptor: Lcom/sun/tools/javac/code/Type;
    flags: (0x0000) 

  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.code.Symbol$ClassSymbol);
    descriptor: (Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol owner
         0: .line 2041
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 2042
            aload 0 /* this */
            aload 2 /* owner */
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.requestingOwner:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
         2: .line 2043
            return
        end local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol owner
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0    3     2  owner  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    MethodParameters:
        Name  Flags
      this$0  final
      owner   

  com.sun.tools.javac.util.List<com.sun.tools.javac.code.Attribute$Compound> deproxyCompoundList(com.sun.tools.javac.util.List<com.sun.tools.javac.jvm.ClassReader$CompoundAnnotationProxy>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 1 // com.sun.tools.javac.util.List pl
         0: .line 2047
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 2 /* buf */
        start local 2 // com.sun.tools.javac.util.ListBuffer buf
         1: .line 2048
            aload 1 /* pl */
            astore 3 /* l */
        start local 3 // com.sun.tools.javac.util.List l
         2: goto 5
         3: .line 2049
      StackMap locals: com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List
      StackMap stack:
            aload 2 /* buf */
            aload 0 /* this */
            aload 3 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.jvm.ClassReader$CompoundAnnotationProxy
            invokevirtual com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.deproxyCompound:(Lcom/sun/tools/javac/jvm/ClassReader$CompoundAnnotationProxy;)Lcom/sun/tools/javac/code/Attribute$Compound;
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
         4: .line 2048
            aload 3 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 3 /* l */
      StackMap locals:
      StackMap stack:
         5: aload 3 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 3
        end local 3 // com.sun.tools.javac.util.List l
         6: .line 2051
            aload 2 /* buf */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 2 // com.sun.tools.javac.util.ListBuffer buf
        end local 1 // com.sun.tools.javac.util.List pl
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0    7     1    pl  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/jvm/ClassReader$CompoundAnnotationProxy;>;
            1    7     2   buf  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Attribute$Compound;>;
            2    6     3     l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/jvm/ClassReader$CompoundAnnotationProxy;>;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/jvm/ClassReader$CompoundAnnotationProxy;>;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Attribute$Compound;>;
    MethodParameters:
      Name  Flags
      pl    

  com.sun.tools.javac.code.Attribute$Compound deproxyCompound(com.sun.tools.javac.jvm.ClassReader$CompoundAnnotationProxy);
    descriptor: (Lcom/sun/tools/javac/jvm/ClassReader$CompoundAnnotationProxy;)Lcom/sun/tools/javac/code/Attribute$Compound;
    flags: (0x0000) 
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 1 // com.sun.tools.javac.jvm.ClassReader$CompoundAnnotationProxy a
         0: .line 2055
            aload 0 /* this */
            aload 1 /* a */
            getfield com.sun.tools.javac.jvm.ClassReader$CompoundAnnotationProxy.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.resolvePossibleProxyType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 2 /* annotationType */
        start local 2 // com.sun.tools.javac.code.Type annotationType
         1: .line 2056
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 3 /* buf */
        start local 3 // com.sun.tools.javac.util.ListBuffer buf
         2: .line 2057
            aload 1 /* a */
            getfield com.sun.tools.javac.jvm.ClassReader$CompoundAnnotationProxy.values:Lcom/sun/tools/javac/util/List;
            astore 4 /* l */
        start local 4 // com.sun.tools.javac.util.List l
         3: .line 2058
            goto 7
         4: .line 2060
      StackMap locals: com.sun.tools.javac.code.Type com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            aload 2 /* annotationType */
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.Pair
            getfield com.sun.tools.javac.util.Pair.fst:Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.Name
            invokevirtual com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.findAccessMethod:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            astore 5 /* meth */
        start local 5 // com.sun.tools.javac.code.Symbol$MethodSymbol meth
         5: .line 2061
            aload 3 /* buf */
            new com.sun.tools.javac.util.Pair
            dup
            aload 5 /* meth */
            aload 0 /* this */
            aload 5 /* meth */
            getfield com.sun.tools.javac.code.Symbol$MethodSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.Pair
            getfield com.sun.tools.javac.util.Pair.snd:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Attribute
            invokevirtual com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.deproxy:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Attribute;)Lcom/sun/tools/javac/code/Attribute;
            invokespecial com.sun.tools.javac.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        end local 5 // com.sun.tools.javac.code.Symbol$MethodSymbol meth
         6: .line 2059
            aload 4 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* l */
         7: .line 2058
      StackMap locals:
      StackMap stack:
            aload 4 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 4
        end local 4 // com.sun.tools.javac.util.List l
         8: .line 2063
            new com.sun.tools.javac.code.Attribute$Compound
            dup
            aload 2 /* annotationType */
            aload 3 /* buf */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            invokespecial com.sun.tools.javac.code.Attribute$Compound.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;)V
            areturn
        end local 3 // com.sun.tools.javac.util.ListBuffer buf
        end local 2 // com.sun.tools.javac.code.Type annotationType
        end local 1 // com.sun.tools.javac.jvm.ClassReader$CompoundAnnotationProxy a
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0    9     1               a  Lcom/sun/tools/javac/jvm/ClassReader$CompoundAnnotationProxy;
            1    9     2  annotationType  Lcom/sun/tools/javac/code/Type;
            2    9     3             buf  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/util/Pair<Lcom/sun/tools/javac/code/Symbol$MethodSymbol;Lcom/sun/tools/javac/code/Attribute;>;>;
            3    8     4               l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/util/Pair<Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Attribute;>;>;
            5    6     5            meth  Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
    MethodParameters:
      Name  Flags
      a     

  com.sun.tools.javac.code.Symbol$MethodSymbol findAccessMethod(com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Name);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
    flags: (0x0000) 
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 1 // com.sun.tools.javac.code.Type container
        start local 2 // com.sun.tools.javac.util.Name name
         0: .line 2067
            aconst_null
            astore 3 /* failure */
        start local 3 // com.sun.tools.javac.code.Symbol$CompletionFailure failure
         1: .line 2069
            aload 1 /* container */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.members:()Lcom/sun/tools/javac/code/Scope$WriteableScope;
            aload 2 /* name */
            invokevirtual com.sun.tools.javac.code.Scope$WriteableScope.getSymbolsByName:(Lcom/sun/tools/javac/util/Name;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy com.sun.tools.javac.code.Type com.sun.tools.javac.util.Name com.sun.tools.javac.code.Symbol$CompletionFailure top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol
            astore 4 /* sym */
        start local 4 // com.sun.tools.javac.code.Symbol sym
         3: .line 2070
            aload 4 /* 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 6
            aload 4 /* sym */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.length:()I
            ifne 6
         4: .line 2071
            aload 4 /* sym */
            checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
         5: areturn
        end local 4 // com.sun.tools.javac.code.Symbol sym
         6: .line 2069
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 2073
            goto 10
      StackMap locals: com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy com.sun.tools.javac.code.Type com.sun.tools.javac.util.Name com.sun.tools.javac.code.Symbol$CompletionFailure
      StackMap stack: com.sun.tools.javac.code.Symbol$CompletionFailure
         8: astore 4 /* ex */
        start local 4 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
         9: .line 2074
            aload 4 /* ex */
            astore 3 /* failure */
        end local 4 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
        10: .line 2077
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.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$AnnotationDeproxy.requestingOwner:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            astore 4 /* prevSource */
        start local 4 // javax.tools.JavaFileObject prevSource
        11: .line 2079
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.lintClassfile:Z
            ifeq 27
        12: .line 2080
            aload 3 /* failure */
            ifnonnull 18
        13: .line 2081
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.log:Lcom/sun/tools/javac/util/Log;
            ldc "annotation.method.not.found"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        14: .line 2082
            aload 1 /* container */
            aastore
            dup
            iconst_1
        15: .line 2083
            aload 2 /* name */
            aastore
        16: .line 2081
            invokevirtual com.sun.tools.javac.util.Log.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
        17: .line 2084
            goto 27
        18: .line 2085
      StackMap locals: javax.tools.JavaFileObject
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.log:Lcom/sun/tools/javac/util/Log;
            ldc "annotation.method.not.found.reason"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        19: .line 2086
            aload 1 /* container */
            aastore
            dup
            iconst_1
        20: .line 2087
            aload 2 /* name */
            aastore
            dup
            iconst_2
        21: .line 2088
            aload 3 /* failure */
            invokevirtual com.sun.tools.javac.code.Symbol$CompletionFailure.getDetailValue:()Ljava/lang/Object;
            aastore
        22: .line 2085
            invokevirtual com.sun.tools.javac.util.Log.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
        23: .line 2091
            goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 5
        25: .line 2092
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.log:Lcom/sun/tools/javac/util/Log;
            aload 4 /* prevSource */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        26: .line 2093
            aload 5
            athrow
        27: .line 2092
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.log:Lcom/sun/tools/javac/util/Log;
            aload 4 /* prevSource */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        28: .line 2098
            new com.sun.tools.javac.code.Type$MethodType
            dup
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
        29: .line 2099
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.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.botType:Lcom/sun/tools/javac/code/Type;
        30: .line 2100
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
        31: .line 2101
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.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.methodClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
        32: .line 2098
            invokespecial com.sun.tools.javac.code.Type$MethodType.<init>:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
            astore 5 /* mt */
        start local 5 // com.sun.tools.javac.code.Type$MethodType mt
        33: .line 2102
            new com.sun.tools.javac.code.Symbol$MethodSymbol
            dup
            ldc 1025
            aload 2 /* name */
            aload 5 /* mt */
            aload 1 /* container */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokespecial com.sun.tools.javac.code.Symbol$MethodSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
            areturn
        end local 5 // com.sun.tools.javac.code.Type$MethodType mt
        end local 4 // javax.tools.JavaFileObject prevSource
        end local 3 // com.sun.tools.javac.code.Symbol$CompletionFailure failure
        end local 2 // com.sun.tools.javac.util.Name name
        end local 1 // com.sun.tools.javac.code.Type container
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   34     0        this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0   34     1   container  Lcom/sun/tools/javac/code/Type;
            0   34     2        name  Lcom/sun/tools/javac/util/Name;
            1   34     3     failure  Lcom/sun/tools/javac/code/Symbol$CompletionFailure;
            3    6     4         sym  Lcom/sun/tools/javac/code/Symbol;
            9   10     4          ex  Lcom/sun/tools/javac/code/Symbol$CompletionFailure;
           11   34     4  prevSource  Ljavax/tools/JavaFileObject;
           33   34     5          mt  Lcom/sun/tools/javac/code/Type$MethodType;
      Exception table:
        from    to  target  type
           1     5       8  Class com.sun.tools.javac.code.Symbol$CompletionFailure
           6     7       8  Class com.sun.tools.javac.code.Symbol$CompletionFailure
          11    24      24  any
    MethodParameters:
           Name  Flags
      container  
      name       

  com.sun.tools.javac.code.Attribute deproxy(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Attribute);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Attribute;)Lcom/sun/tools/javac/code/Attribute;
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 1 // com.sun.tools.javac.code.Type t
        start local 2 // com.sun.tools.javac.code.Attribute a
         0: .line 2108
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.type:Lcom/sun/tools/javac/code/Type;
            astore 3 /* oldType */
        start local 3 // com.sun.tools.javac.code.Type oldType
         1: .line 2110
            aload 0 /* this */
            aload 1 /* t */
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.type:Lcom/sun/tools/javac/code/Type;
         2: .line 2111
            aload 2 /* a */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Attribute.accept:(Lcom/sun/tools/javac/code/Attribute$Visitor;)V
         3: .line 2112
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.result:Lcom/sun/tools/javac/code/Attribute;
            astore 5
         4: .line 2114
            aload 0 /* this */
            aload 3 /* oldType */
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.type:Lcom/sun/tools/javac/code/Type;
         5: .line 2112
            aload 5
            areturn
         6: .line 2113
      StackMap locals: com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy com.sun.tools.javac.code.Type com.sun.tools.javac.code.Attribute com.sun.tools.javac.code.Type
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 2114
            aload 0 /* this */
            aload 3 /* oldType */
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.type:Lcom/sun/tools/javac/code/Type;
         8: .line 2115
            aload 4
            athrow
        end local 3 // com.sun.tools.javac.code.Type oldType
        end local 2 // com.sun.tools.javac.code.Attribute a
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0    9     1        t  Lcom/sun/tools/javac/code/Type;
            0    9     2        a  Lcom/sun/tools/javac/code/Attribute;
            1    9     3  oldType  Lcom/sun/tools/javac/code/Type;
      Exception table:
        from    to  target  type
           1     4       6  any
    MethodParameters:
      Name  Flags
      t     
      a     

  public void visitConstant(com.sun.tools.javac.code.Attribute$Constant);
    descriptor: (Lcom/sun/tools/javac/code/Attribute$Constant;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 1 // com.sun.tools.javac.code.Attribute$Constant value
         0: .line 2122
            aload 0 /* this */
            aload 1 /* value */
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.result:Lcom/sun/tools/javac/code/Attribute;
         1: .line 2123
            return
        end local 1 // com.sun.tools.javac.code.Attribute$Constant value
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0    2     1  value  Lcom/sun/tools/javac/code/Attribute$Constant;
    MethodParameters:
       Name  Flags
      value  

  public void visitClass(com.sun.tools.javac.code.Attribute$Class);
    descriptor: (Lcom/sun/tools/javac/code/Attribute$Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 1 // com.sun.tools.javac.code.Attribute$Class clazz
         0: .line 2126
            aload 0 /* this */
            aload 1 /* clazz */
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.result:Lcom/sun/tools/javac/code/Attribute;
         1: .line 2127
            return
        end local 1 // com.sun.tools.javac.code.Attribute$Class clazz
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0    2     1  clazz  Lcom/sun/tools/javac/code/Attribute$Class;
    MethodParameters:
       Name  Flags
      clazz  

  public void visitEnum(com.sun.tools.javac.code.Attribute$Enum);
    descriptor: (Lcom/sun/tools/javac/code/Attribute$Enum;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 1 // com.sun.tools.javac.code.Attribute$Enum e
         0: .line 2130
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 1 // com.sun.tools.javac.code.Attribute$Enum e
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0    1     1     e  Lcom/sun/tools/javac/code/Attribute$Enum;
    MethodParameters:
      Name  Flags
      e     

  public void visitCompound(com.sun.tools.javac.code.Attribute$Compound);
    descriptor: (Lcom/sun/tools/javac/code/Attribute$Compound;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 1 // com.sun.tools.javac.code.Attribute$Compound compound
         0: .line 2134
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 1 // com.sun.tools.javac.code.Attribute$Compound compound
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0    1     1  compound  Lcom/sun/tools/javac/code/Attribute$Compound;
    MethodParameters:
          Name  Flags
      compound  

  public void visitArray(com.sun.tools.javac.code.Attribute$Array);
    descriptor: (Lcom/sun/tools/javac/code/Attribute$Array;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 1 // com.sun.tools.javac.code.Attribute$Array array
         0: .line 2138
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 1 // com.sun.tools.javac.code.Attribute$Array array
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0    1     1  array  Lcom/sun/tools/javac/code/Attribute$Array;
    MethodParameters:
       Name  Flags
      array  

  public void visitError(com.sun.tools.javac.code.Attribute$Error);
    descriptor: (Lcom/sun/tools/javac/code/Attribute$Error;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 1 // com.sun.tools.javac.code.Attribute$Error e
         0: .line 2142
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 1 // com.sun.tools.javac.code.Attribute$Error e
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0    1     1     e  Lcom/sun/tools/javac/code/Attribute$Error;
    MethodParameters:
      Name  Flags
      e     

  public void visitEnumAttributeProxy(com.sun.tools.javac.jvm.ClassReader$EnumAttributeProxy);
    descriptor: (Lcom/sun/tools/javac/jvm/ClassReader$EnumAttributeProxy;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=8, args_size=2
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 1 // com.sun.tools.javac.jvm.ClassReader$EnumAttributeProxy proxy
         0: .line 2147
            aload 0 /* this */
            aload 1 /* proxy */
            getfield com.sun.tools.javac.jvm.ClassReader$EnumAttributeProxy.enumType:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.resolvePossibleProxyType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 2 /* enumType */
        start local 2 // com.sun.tools.javac.code.Type enumType
         1: .line 2148
            aload 2 /* enumType */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            astore 3 /* enumTypeSym */
        start local 3 // com.sun.tools.javac.code.Symbol$TypeSymbol enumTypeSym
         2: .line 2149
            aconst_null
            astore 4 /* enumerator */
        start local 4 // com.sun.tools.javac.code.Symbol$VarSymbol enumerator
         3: .line 2150
            aconst_null
            astore 5 /* failure */
        start local 5 // com.sun.tools.javac.code.Symbol$CompletionFailure failure
         4: .line 2152
            aload 3 /* enumTypeSym */
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.members:()Lcom/sun/tools/javac/code/Scope$WriteableScope;
            aload 1 /* proxy */
            getfield com.sun.tools.javac.jvm.ClassReader$EnumAttributeProxy.enumerator:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Scope$WriteableScope.getSymbolsByName:(Lcom/sun/tools/javac/util/Name;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 9
      StackMap locals: com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy com.sun.tools.javac.jvm.ClassReader$EnumAttributeProxy com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol$VarSymbol com.sun.tools.javac.code.Symbol$CompletionFailure top java.util.Iterator
      StackMap stack:
         5: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol
            astore 6 /* sym */
        start local 6 // com.sun.tools.javac.code.Symbol sym
         6: .line 2153
            aload 6 /* sym */
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.VAR:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 9
         7: .line 2154
            aload 6 /* sym */
            checkcast com.sun.tools.javac.code.Symbol$VarSymbol
            astore 4 /* enumerator */
         8: .line 2155
            goto 13
        end local 6 // com.sun.tools.javac.code.Symbol sym
         9: .line 2152
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 2158
            goto 13
        11: .line 2159
      StackMap locals: com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy com.sun.tools.javac.jvm.ClassReader$EnumAttributeProxy com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol$VarSymbol com.sun.tools.javac.code.Symbol$CompletionFailure
      StackMap stack: com.sun.tools.javac.code.Symbol$CompletionFailure
            astore 6 /* ex */
        start local 6 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
        12: .line 2160
            aload 6 /* ex */
            astore 5 /* failure */
        end local 6 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
        13: .line 2162
      StackMap locals:
      StackMap stack:
            aload 4 /* enumerator */
            ifnonnull 27
        14: .line 2163
            aload 5 /* failure */
            ifnull 20
        15: .line 2164
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.log:Lcom/sun/tools/javac/util/Log;
            ldc "unknown.enum.constant.reason"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        16: .line 2165
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.currentClassFile:Ljavax/tools/JavaFileObject;
            aastore
            dup
            iconst_1
            aload 3 /* enumTypeSym */
            aastore
            dup
            iconst_2
            aload 1 /* proxy */
            getfield com.sun.tools.javac.jvm.ClassReader$EnumAttributeProxy.enumerator:Lcom/sun/tools/javac/util/Name;
            aastore
            dup
            iconst_3
        17: .line 2166
            aload 5 /* failure */
            invokevirtual com.sun.tools.javac.code.Symbol$CompletionFailure.getDiagnostic:()Lcom/sun/tools/javac/util/JCDiagnostic;
            aastore
        18: .line 2164
            invokevirtual com.sun.tools.javac.util.Log.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
        19: .line 2167
            goto 23
        20: .line 2168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.log:Lcom/sun/tools/javac/util/Log;
            ldc "unknown.enum.constant"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        21: .line 2169
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.currentClassFile:Ljavax/tools/JavaFileObject;
            aastore
            dup
            iconst_1
            aload 3 /* enumTypeSym */
            aastore
            dup
            iconst_2
            aload 1 /* proxy */
            getfield com.sun.tools.javac.jvm.ClassReader$EnumAttributeProxy.enumerator:Lcom/sun/tools/javac/util/Name;
            aastore
        22: .line 2168
            invokevirtual com.sun.tools.javac.util.Log.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
        23: .line 2171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.sun.tools.javac.code.Attribute$Enum
            dup
            aload 3 /* enumTypeSym */
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
        24: .line 2172
            new com.sun.tools.javac.code.Symbol$VarSymbol
            dup
            lconst_0
            aload 1 /* proxy */
            getfield com.sun.tools.javac.jvm.ClassReader$EnumAttributeProxy.enumerator:Lcom/sun/tools/javac/util/Name;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.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.botType:Lcom/sun/tools/javac/code/Type;
            aload 3 /* enumTypeSym */
            invokespecial com.sun.tools.javac.code.Symbol$VarSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
            invokespecial com.sun.tools.javac.code.Attribute$Enum.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$VarSymbol;)V
        25: .line 2171
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.result:Lcom/sun/tools/javac/code/Attribute;
        26: .line 2173
            goto 28
        27: .line 2174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.sun.tools.javac.code.Attribute$Enum
            dup
            aload 3 /* enumTypeSym */
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            aload 4 /* enumerator */
            invokespecial com.sun.tools.javac.code.Attribute$Enum.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$VarSymbol;)V
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.result:Lcom/sun/tools/javac/code/Attribute;
        28: .line 2176
      StackMap locals:
      StackMap stack:
            return
        end local 5 // com.sun.tools.javac.code.Symbol$CompletionFailure failure
        end local 4 // com.sun.tools.javac.code.Symbol$VarSymbol enumerator
        end local 3 // com.sun.tools.javac.code.Symbol$TypeSymbol enumTypeSym
        end local 2 // com.sun.tools.javac.code.Type enumType
        end local 1 // com.sun.tools.javac.jvm.ClassReader$EnumAttributeProxy proxy
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0         this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0   29     1        proxy  Lcom/sun/tools/javac/jvm/ClassReader$EnumAttributeProxy;
            1   29     2     enumType  Lcom/sun/tools/javac/code/Type;
            2   29     3  enumTypeSym  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            3   29     4   enumerator  Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            4   29     5      failure  Lcom/sun/tools/javac/code/Symbol$CompletionFailure;
            6    9     6          sym  Lcom/sun/tools/javac/code/Symbol;
           12   13     6           ex  Lcom/sun/tools/javac/code/Symbol$CompletionFailure;
      Exception table:
        from    to  target  type
           4    10      11  Class com.sun.tools.javac.code.Symbol$CompletionFailure
    MethodParameters:
       Name  Flags
      proxy  

  public void visitClassAttributeProxy(com.sun.tools.javac.jvm.ClassReader$ClassAttributeProxy);
    descriptor: (Lcom/sun/tools/javac/jvm/ClassReader$ClassAttributeProxy;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 1 // com.sun.tools.javac.jvm.ClassReader$ClassAttributeProxy proxy
         0: .line 2180
            aload 0 /* this */
            aload 1 /* proxy */
            getfield com.sun.tools.javac.jvm.ClassReader$ClassAttributeProxy.classType:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.resolvePossibleProxyType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 2 /* classType */
        start local 2 // com.sun.tools.javac.code.Type classType
         1: .line 2181
            aload 0 /* this */
            new com.sun.tools.javac.code.Attribute$Class
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.types:Lcom/sun/tools/javac/code/Types;
            aload 2 /* classType */
            invokespecial com.sun.tools.javac.code.Attribute$Class.<init>:(Lcom/sun/tools/javac/code/Types;Lcom/sun/tools/javac/code/Type;)V
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.result:Lcom/sun/tools/javac/code/Attribute;
         2: .line 2182
            return
        end local 2 // com.sun.tools.javac.code.Type classType
        end local 1 // com.sun.tools.javac.jvm.ClassReader$ClassAttributeProxy proxy
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0    3     1      proxy  Lcom/sun/tools/javac/jvm/ClassReader$ClassAttributeProxy;
            1    3     2  classType  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
       Name  Flags
      proxy  

  public void visitArrayAttributeProxy(com.sun.tools.javac.jvm.ClassReader$ArrayAttributeProxy);
    descriptor: (Lcom/sun/tools/javac/jvm/ClassReader$ArrayAttributeProxy;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 1 // com.sun.tools.javac.jvm.ClassReader$ArrayAttributeProxy proxy
         0: .line 2185
            aload 1 /* proxy */
            getfield com.sun.tools.javac.jvm.ClassReader$ArrayAttributeProxy.values:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.length:()I
            istore 2 /* length */
        start local 2 // int length
         1: .line 2186
            iload 2 /* length */
            anewarray com.sun.tools.javac.code.Attribute
            astore 3 /* ats */
        start local 3 // com.sun.tools.javac.code.Attribute[] ats
         2: .line 2187
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.types:Lcom/sun/tools/javac/code/Types;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 4 /* elemtype */
        start local 4 // com.sun.tools.javac.code.Type elemtype
         3: .line 2188
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: .line 2189
            aload 1 /* proxy */
            getfield com.sun.tools.javac.jvm.ClassReader$ArrayAttributeProxy.values:Lcom/sun/tools/javac/util/List;
            astore 6 /* p */
        start local 6 // com.sun.tools.javac.util.List p
         5: goto 8
         6: .line 2190
      StackMap locals: com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy com.sun.tools.javac.jvm.ClassReader$ArrayAttributeProxy int com.sun.tools.javac.code.Attribute[] com.sun.tools.javac.code.Type int com.sun.tools.javac.util.List
      StackMap stack:
            aload 3 /* ats */
            iload 5 /* i */
            iinc 5 /* i */ 1
            aload 0 /* this */
            aload 4 /* elemtype */
            aload 6 /* p */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Attribute
            invokevirtual com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.deproxy:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Attribute;)Lcom/sun/tools/javac/code/Attribute;
            aastore
         7: .line 2189
            aload 6 /* p */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 6 /* p */
      StackMap locals:
      StackMap stack:
         8: aload 6 /* p */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 6
        end local 6 // com.sun.tools.javac.util.List p
         9: .line 2192
            aload 0 /* this */
            new com.sun.tools.javac.code.Attribute$Array
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.type:Lcom/sun/tools/javac/code/Type;
            aload 3 /* ats */
            invokespecial com.sun.tools.javac.code.Attribute$Array.<init>:(Lcom/sun/tools/javac/code/Type;[Lcom/sun/tools/javac/code/Attribute;)V
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.result:Lcom/sun/tools/javac/code/Attribute;
        10: .line 2193
            return
        end local 5 // int i
        end local 4 // com.sun.tools.javac.code.Type elemtype
        end local 3 // com.sun.tools.javac.code.Attribute[] ats
        end local 2 // int length
        end local 1 // com.sun.tools.javac.jvm.ClassReader$ArrayAttributeProxy proxy
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0   11     1     proxy  Lcom/sun/tools/javac/jvm/ClassReader$ArrayAttributeProxy;
            1   11     2    length  I
            2   11     3       ats  [Lcom/sun/tools/javac/code/Attribute;
            3   11     4  elemtype  Lcom/sun/tools/javac/code/Type;
            4   11     5         i  I
            5    9     6         p  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Attribute;>;
    MethodParameters:
       Name  Flags
      proxy  

  public void visitCompoundAnnotationProxy(com.sun.tools.javac.jvm.ClassReader$CompoundAnnotationProxy);
    descriptor: (Lcom/sun/tools/javac/jvm/ClassReader$CompoundAnnotationProxy;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 1 // com.sun.tools.javac.jvm.ClassReader$CompoundAnnotationProxy proxy
         0: .line 2196
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* proxy */
            invokevirtual com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.deproxyCompound:(Lcom/sun/tools/javac/jvm/ClassReader$CompoundAnnotationProxy;)Lcom/sun/tools/javac/code/Attribute$Compound;
            putfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.result:Lcom/sun/tools/javac/code/Attribute;
         1: .line 2197
            return
        end local 1 // com.sun.tools.javac.jvm.ClassReader$CompoundAnnotationProxy proxy
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0    2     1  proxy  Lcom/sun/tools/javac/jvm/ClassReader$CompoundAnnotationProxy;
    MethodParameters:
       Name  Flags
      proxy  

  com.sun.tools.javac.code.Type resolvePossibleProxyType(com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
        start local 1 // com.sun.tools.javac.code.Type t
         0: .line 2200
            aload 1 /* t */
            instanceof com.sun.tools.javac.jvm.ClassReader$ProxyType
            ifeq 12
         1: .line 2201
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.requestingOwner:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.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 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
         4: .line 2202
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            getfield com.sun.tools.javac.jvm.ClassReader.currentModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 2 /* prevCurrentModule */
        start local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol prevCurrentModule
         5: .line 2203
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.requestingOwner:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            putfield com.sun.tools.javac.jvm.ClassReader.currentModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
         6: .line 2205
            aload 1 /* t */
            checkcast com.sun.tools.javac.jvm.ClassReader$ProxyType
            invokevirtual com.sun.tools.javac.jvm.ClassReader$ProxyType.resolve:()Lcom/sun/tools/javac/code/Type;
            astore 4
         7: .line 2207
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            aload 2 /* prevCurrentModule */
            putfield com.sun.tools.javac.jvm.ClassReader.currentModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
         8: .line 2205
            aload 4
            areturn
         9: .line 2206
      StackMap locals: com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack: java.lang.Throwable
            astore 3
        10: .line 2207
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
            aload 2 /* prevCurrentModule */
            putfield com.sun.tools.javac.jvm.ClassReader.currentModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        11: .line 2208
            aload 3
            athrow
        end local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol prevCurrentModule
        12: .line 2210
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            areturn
        end local 1 // com.sun.tools.javac.code.Type t
        end local 0 // com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0               this  Lcom/sun/tools/javac/jvm/ClassReader$AnnotationDeproxy;
            0   13     1                  t  Lcom/sun/tools/javac/code/Type;
            5   12     2  prevCurrentModule  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
      Exception table:
        from    to  target  type
           6     7       9  any
    MethodParameters:
      Name  Flags
      t     
}
SourceFile: "ClassReader.java"
NestHost: com.sun.tools.javac.jvm.ClassReader
InnerClasses:
  public Array = com.sun.tools.javac.code.Attribute$Array of com.sun.tools.javac.code.Attribute
  public Class = com.sun.tools.javac.code.Attribute$Class of com.sun.tools.javac.code.Attribute
  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 Enum = com.sun.tools.javac.code.Attribute$Enum of com.sun.tools.javac.code.Attribute
  public Error = com.sun.tools.javac.code.Attribute$Error of com.sun.tools.javac.code.Attribute
  public abstract Visitor = com.sun.tools.javac.code.Attribute$Visitor 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 abstract WriteableScope = com.sun.tools.javac.code.Scope$WriteableScope of com.sun.tools.javac.code.Scope
  public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
  public CompletionFailure = com.sun.tools.javac.code.Symbol$CompletionFailure of com.sun.tools.javac.code.Symbol
  public MethodSymbol = com.sun.tools.javac.code.Symbol$MethodSymbol of com.sun.tools.javac.code.Symbol
  public ModuleSymbol = com.sun.tools.javac.code.Symbol$ModuleSymbol of com.sun.tools.javac.code.Symbol
  public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
  public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
  public MethodType = com.sun.tools.javac.code.Type$MethodType of com.sun.tools.javac.code.Type
  AnnotationDeproxy = com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy of com.sun.tools.javac.jvm.ClassReader
  ArrayAttributeProxy = com.sun.tools.javac.jvm.ClassReader$ArrayAttributeProxy of com.sun.tools.javac.jvm.ClassReader
  ClassAttributeProxy = com.sun.tools.javac.jvm.ClassReader$ClassAttributeProxy of com.sun.tools.javac.jvm.ClassReader
  CompoundAnnotationProxy = com.sun.tools.javac.jvm.ClassReader$CompoundAnnotationProxy of com.sun.tools.javac.jvm.ClassReader
  EnumAttributeProxy = com.sun.tools.javac.jvm.ClassReader$EnumAttributeProxy of com.sun.tools.javac.jvm.ClassReader
  private ProxyType = com.sun.tools.javac.jvm.ClassReader$ProxyType of com.sun.tools.javac.jvm.ClassReader
  abstract ProxyVisitor = com.sun.tools.javac.jvm.ClassReader$ProxyVisitor of com.sun.tools.javac.jvm.ClassReader