public class com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor extends com.sun.tools.javac.tree.TreeScanner
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor
  super_class: com.sun.tools.javac.tree.TreeScanner
{
  private com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext> env;
    descriptor: Lcom/sun/tools/javac/comp/Env;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;

  private final com.sun.tools.javac.comp.Attr attr;
    descriptor: Lcom/sun/tools/javac/comp/Attr;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.comp.Check check;
    descriptor: Lcom/sun/tools/javac/comp/Check;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.code.Symtab tab;
    descriptor: Lcom/sun/tools/javac/code/Symtab;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.comp.TypeEnvs typeEnvs;
    descriptor: Lcom/sun/tools/javac/comp/TypeEnvs;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.sun.tools.javac.code.Attribute$Compound target;
    descriptor: Lcom/sun/tools/javac/code/Attribute$Compound;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.javac.code.Attribute$Compound repeatable;
    descriptor: Lcom/sun/tools/javac/code/Attribute$Compound;
    flags: (0x0002) ACC_PRIVATE

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

  public void <init>(com.sun.tools.javac.comp.Annotate, com.sun.tools.javac.comp.Attr, com.sun.tools.javac.comp.Check, com.sun.tools.javac.code.Symtab, com.sun.tools.javac.comp.TypeEnvs);
    descriptor: (Lcom/sun/tools/javac/comp/Annotate;Lcom/sun/tools/javac/comp/Attr;Lcom/sun/tools/javac/comp/Check;Lcom/sun/tools/javac/code/Symtab;Lcom/sun/tools/javac/comp/TypeEnvs;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor this
        start local 2 // com.sun.tools.javac.comp.Attr attr
        start local 3 // com.sun.tools.javac.comp.Check check
        start local 4 // com.sun.tools.javac.code.Symtab tab
        start local 5 // com.sun.tools.javac.comp.TypeEnvs typeEnvs
         0: .line 1215
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.this$0:Lcom/sun/tools/javac/comp/Annotate;
            aload 0 /* this */
            invokespecial com.sun.tools.javac.tree.TreeScanner.<init>:()V
         1: .line 1216
            aload 0 /* this */
            aload 2 /* attr */
            putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.attr:Lcom/sun/tools/javac/comp/Attr;
         2: .line 1217
            aload 0 /* this */
            aload 3 /* check */
            putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.check:Lcom/sun/tools/javac/comp/Check;
         3: .line 1218
            aload 0 /* this */
            aload 4 /* tab */
            putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.tab:Lcom/sun/tools/javac/code/Symtab;
         4: .line 1219
            aload 0 /* this */
            aload 5 /* typeEnvs */
            putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.typeEnvs:Lcom/sun/tools/javac/comp/TypeEnvs;
         5: .line 1220
            return
        end local 5 // com.sun.tools.javac.comp.TypeEnvs typeEnvs
        end local 4 // com.sun.tools.javac.code.Symtab tab
        end local 3 // com.sun.tools.javac.comp.Check check
        end local 2 // com.sun.tools.javac.comp.Attr attr
        end local 0 // com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeVisitor;
            0    6     2      attr  Lcom/sun/tools/javac/comp/Attr;
            0    6     3     check  Lcom/sun/tools/javac/comp/Check;
            0    6     4       tab  Lcom/sun/tools/javac/code/Symtab;
            0    6     5  typeEnvs  Lcom/sun/tools/javac/comp/TypeEnvs;
    MethodParameters:
          Name  Flags
      this$0    final
      attr      
      check     
      tab       
      typeEnvs  

  public com.sun.tools.javac.code.Attribute$Compound getRepeatable();
    descriptor: ()Lcom/sun/tools/javac/code/Attribute$Compound;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor this
         0: .line 1223
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.repeatable:Lcom/sun/tools/javac/code/Attribute$Compound;
            areturn
        end local 0 // com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeVisitor;

  public com.sun.tools.javac.code.Attribute$Compound getTarget();
    descriptor: ()Lcom/sun/tools/javac/code/Attribute$Compound;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor this
         0: .line 1227
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.target:Lcom/sun/tools/javac/code/Attribute$Compound;
            areturn
        end local 0 // com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeVisitor;

  public void scanAnnotationType(com.sun.tools.javac.tree.JCTree$JCClassDecl);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCClassDecl decl
         0: .line 1231
            aload 0 /* this */
            aload 1 /* decl */
            invokevirtual com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.visitClassDef:(Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
         1: .line 1232
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCClassDecl decl
        end local 0 // com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeVisitor;
            0    2     1  decl  Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
    MethodParameters:
      Name  Flags
      decl  

  public void visitClassDef(com.sun.tools.javac.tree.JCTree$JCClassDecl);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCClassDecl tree
         0: .line 1236
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.env:Lcom/sun/tools/javac/comp/Env;
            astore 2 /* prevEnv */
        start local 2 // com.sun.tools.javac.comp.Env prevEnv
         1: .line 1237
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.typeEnvs:Lcom/sun/tools/javac/comp/TypeEnvs;
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            invokevirtual com.sun.tools.javac.comp.TypeEnvs.get:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/comp/Env;
            putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.env:Lcom/sun/tools/javac/comp/Env;
         2: .line 1239
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.mods:Lcom/sun/tools/javac/tree/JCTree$JCModifiers;
            invokevirtual com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         3: .line 1241
            goto 7
      StackMap locals: com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.tools.javac.comp.Env
      StackMap stack: java.lang.Throwable
         4: astore 3
         5: .line 1242
            aload 0 /* this */
            aload 2 /* prevEnv */
            putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.env:Lcom/sun/tools/javac/comp/Env;
         6: .line 1243
            aload 3
            athrow
         7: .line 1242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* prevEnv */
            putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.env:Lcom/sun/tools/javac/comp/Env;
         8: .line 1244
            return
        end local 2 // com.sun.tools.javac.comp.Env prevEnv
        end local 1 // com.sun.tools.javac.tree.JCTree$JCClassDecl tree
        end local 0 // com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeVisitor;
            0    9     1     tree  Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
            1    9     2  prevEnv  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
      Exception table:
        from    to  target  type
           2     4       4  any
    MethodParameters:
      Name  Flags
      tree  

  public void visitAnnotation(com.sun.tools.javac.tree.JCTree$JCAnnotation);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCAnnotation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCAnnotation tree
         0: .line 1248
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCAnnotation.annotationType:Lcom/sun/tools/javac/tree/JCTree;
            getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
            astore 2 /* t */
        start local 2 // com.sun.tools.javac.code.Type t
         1: .line 1249
            aload 2 /* t */
            ifnonnull 4
         2: .line 1250
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.attr:Lcom/sun/tools/javac/comp/Attr;
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCAnnotation.annotationType:Lcom/sun/tools/javac/tree/JCTree;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.env:Lcom/sun/tools/javac/comp/Env;
            invokevirtual com.sun.tools.javac.comp.Attr.attribType:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/code/Type;
            astore 2 /* t */
         3: .line 1251
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCAnnotation.annotationType:Lcom/sun/tools/javac/tree/JCTree;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.check:Lcom/sun/tools/javac/comp/Check;
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCAnnotation.annotationType:Lcom/sun/tools/javac/tree/JCTree;
            invokevirtual com.sun.tools.javac.tree.JCTree.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            aload 2 /* t */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.tab:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.annotationType:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.comp.Check.checkType:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            dup
            astore 2 /* t */
            putfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
         4: .line 1254
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 2 /* t */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.tab:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.annotationTargetType:Lcom/sun/tools/javac/code/Type;
            if_acmpne 7
         5: .line 1255
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.this$0:Lcom/sun/tools/javac/comp/Annotate;
            aload 1 /* tree */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.tab:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.annotationTargetType:Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.env:Lcom/sun/tools/javac/comp/Env;
            invokevirtual com.sun.tools.javac.comp.Annotate.attributeAnnotation:(Lcom/sun/tools/javac/tree/JCTree$JCAnnotation;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/code/Attribute$Compound;
            putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.target:Lcom/sun/tools/javac/code/Attribute$Compound;
         6: .line 1256
            goto 9
      StackMap locals:
      StackMap stack:
         7: aload 2 /* t */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.tab:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.repeatableType:Lcom/sun/tools/javac/code/Type;
            if_acmpne 9
         8: .line 1257
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.this$0:Lcom/sun/tools/javac/comp/Annotate;
            aload 1 /* tree */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.tab:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.repeatableType:Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.env:Lcom/sun/tools/javac/comp/Env;
            invokevirtual com.sun.tools.javac.comp.Annotate.attributeAnnotation:(Lcom/sun/tools/javac/tree/JCTree$JCAnnotation;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/code/Attribute$Compound;
            putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.repeatable:Lcom/sun/tools/javac/code/Attribute$Compound;
         9: .line 1259
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.tools.javac.code.Type t
        end local 1 // com.sun.tools.javac.tree.JCTree$JCAnnotation tree
        end local 0 // com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeVisitor;
            0   10     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCAnnotation;
            1   10     2     t  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      tree  
}
SourceFile: "Annotate.java"
NestHost: com.sun.tools.javac.comp.Annotate
InnerClasses:
  public Compound = com.sun.tools.javac.code.Attribute$Compound of com.sun.tools.javac.code.Attribute
  public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
  public AnnotationTypeVisitor = com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor of com.sun.tools.javac.comp.Annotate
  public JCAnnotation = com.sun.tools.javac.tree.JCTree$JCAnnotation of com.sun.tools.javac.tree.JCTree
  public JCClassDecl = com.sun.tools.javac.tree.JCTree$JCClassDecl of com.sun.tools.javac.tree.JCTree
  public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic