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 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.this$0:Lcom/sun/tools/javac/comp/Annotate;
aload 0
invokespecial com.sun.tools.javac.tree.TreeScanner.<init>:()V
1: aload 0
aload 2
putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.attr:Lcom/sun/tools/javac/comp/Attr;
2: aload 0
aload 3
putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.check:Lcom/sun/tools/javac/comp/Check;
3: aload 0
aload 4
putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.tab:Lcom/sun/tools/javac/code/Symtab;
4: aload 0
aload 5
putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.typeEnvs:Lcom/sun/tools/javac/comp/TypeEnvs;
5: return
end local 5 end local 4 end local 3 end local 2 end local 0 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 0: aload 0
getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.repeatable:Lcom/sun/tools/javac/code/Attribute$Compound;
areturn
end local 0 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 0: aload 0
getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.target:Lcom/sun/tools/javac/code/Attribute$Compound;
areturn
end local 0 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 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.visitClassDef:(Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
1: return
end local 1 end local 0 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 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.env:Lcom/sun/tools/javac/comp/Env;
astore 2
start local 2 1: aload 0
aload 0
getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.typeEnvs:Lcom/sun/tools/javac/comp/TypeEnvs;
aload 1
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: aload 0
aload 1
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: 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: aload 0
aload 2
putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.env:Lcom/sun/tools/javac/comp/Env;
6: aload 3
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.env:Lcom/sun/tools/javac/comp/Env;
8: return
end local 2 end local 1 end local 0 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 start local 1 0: aload 1
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
start local 2 1: aload 2
ifnonnull 4
2: aload 0
getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.attr:Lcom/sun/tools/javac/comp/Attr;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCAnnotation.annotationType:Lcom/sun/tools/javac/tree/JCTree;
aload 0
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
3: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCAnnotation.annotationType:Lcom/sun/tools/javac/tree/JCTree;
aload 0
getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.check:Lcom/sun/tools/javac/comp/Check;
aload 1
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
aload 0
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
putfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
4: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 2
aload 0
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: aload 0
aload 0
getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.this$0:Lcom/sun/tools/javac/comp/Annotate;
aload 1
aload 0
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
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: goto 9
StackMap locals:
StackMap stack:
7: aload 2
aload 0
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: aload 0
aload 0
getfield com.sun.tools.javac.comp.Annotate$AnnotationTypeVisitor.this$0:Lcom/sun/tools/javac/comp/Annotate;
aload 1
aload 0
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
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: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 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