final class com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator extends com.sun.tools.javac.tree.TreeScanner
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator
super_class: com.sun.tools.javac.tree.TreeScanner
{
private final boolean sigOnly;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final com.sun.tools.javac.comp.Attr this$0;
descriptor: Lcom/sun/tools/javac/comp/Attr;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(com.sun.tools.javac.comp.Attr, boolean);
descriptor: (Lcom/sun/tools/javac/comp/Attr;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.this$0:Lcom/sun/tools/javac/comp/Attr;
aload 0
invokespecial com.sun.tools.javac.tree.TreeScanner.<init>:()V
1: aload 0
iload 2
putfield com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.sigOnly:Z
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/Attr$TypeAnnotationsValidator;
0 3 2 sigOnly Z
MethodParameters:
Name Flags
this$0 final
sigOnly
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=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.this$0:Lcom/sun/tools/javac/comp/Attr;
getfield com.sun.tools.javac.comp.Attr.chk:Lcom/sun/tools/javac/comp/Check;
aload 1
iconst_0
invokevirtual com.sun.tools.javac.comp.Check.validateTypeAnnotation:(Lcom/sun/tools/javac/tree/JCTree$JCAnnotation;Z)V
1: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeScanner.visitAnnotation:(Lcom/sun/tools/javac/tree/JCTree$JCAnnotation;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/Attr$TypeAnnotationsValidator;
0 3 1 tree Lcom/sun/tools/javac/tree/JCTree$JCAnnotation;
MethodParameters:
Name Flags
tree
public void visitAnnotatedType(com.sun.tools.javac.tree.JCTree$JCAnnotatedType);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCAnnotatedType;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCAnnotatedType.underlyingType:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
ifne 2
1: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeScanner.visitAnnotatedType:(Lcom/sun/tools/javac/tree/JCTree$JCAnnotatedType;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/Attr$TypeAnnotationsValidator;
0 3 1 tree Lcom/sun/tools/javac/tree/JCTree$JCAnnotatedType;
MethodParameters:
Name Flags
tree
public void visitTypeParameter(com.sun.tools.javac.tree.JCTree$JCTypeParameter);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCTypeParameter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.this$0:Lcom/sun/tools/javac/comp/Attr;
getfield com.sun.tools.javac.comp.Attr.chk:Lcom/sun/tools/javac/comp/Check;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCTypeParameter.annotations:Lcom/sun/tools/javac/util/List;
iconst_1
invokevirtual com.sun.tools.javac.comp.Check.validateTypeAnnotations:(Lcom/sun/tools/javac/util/List;Z)V
1: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCTypeParameter.bounds:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/util/List;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/Attr$TypeAnnotationsValidator;
0 3 1 tree Lcom/sun/tools/javac/tree/JCTree$JCTypeParameter;
MethodParameters:
Name Flags
tree
public void visitMethodDef(com.sun.tools.javac.tree.JCTree$JCMethodDecl);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.recvparam:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
ifnull 5
1: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.recvparam:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.vartype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
ifne 5
2: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.recvparam:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.mods:Lcom/sun/tools/javac/tree/JCTree$JCModifiers;
getfield com.sun.tools.javac.tree.JCTree$JCModifiers.annotations:Lcom/sun/tools/javac/util/List;
3: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.recvparam:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.vartype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
4: invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.checkForDeclarationAnnotations:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol;)V
5: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.restype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
ifnull 7
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.restype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
ifnull 7
6: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.restype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.restype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.validateAnnotatedType:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.sigOnly:Z
ifeq 15
8: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.mods:Lcom/sun/tools/javac/tree/JCTree$JCModifiers;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
9: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.restype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
10: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.typarams:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/util/List;)V
11: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.recvparam:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
12: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.params:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/util/List;)V
13: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.thrown:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/util/List;)V
14: goto 17
15: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.defaultValue:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
16: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.body:Lcom/sun/tools/javac/tree/JCTree$JCBlock;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/tools/javac/comp/Attr$TypeAnnotationsValidator;
0 18 1 tree Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;
MethodParameters:
Name Flags
tree
public void visitVarDef(com.sun.tools.javac.tree.JCTree$JCVariableDecl);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.sym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
ifnull 2
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.sym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.type:Lcom/sun/tools/javac/code/Type;
ifnull 2
aload 1
invokevirtual com.sun.tools.javac.tree.JCTree$JCVariableDecl.isImplicitlyTyped:()Z
ifne 2
1: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.vartype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.sym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.validateAnnotatedType:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.mods:Lcom/sun/tools/javac/tree/JCTree$JCModifiers;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
3: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.vartype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
4: aload 0
getfield com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.sigOnly:Z
ifne 6
5: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.init:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/comp/Attr$TypeAnnotationsValidator;
0 7 1 tree Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
MethodParameters:
Name Flags
tree final
public void visitTypeCast(com.sun.tools.javac.tree.JCTree$JCTypeCast);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCTypeCast;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCTypeCast.clazz:Lcom/sun/tools/javac/tree/JCTree;
ifnull 2
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCTypeCast.clazz:Lcom/sun/tools/javac/tree/JCTree;
getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
ifnull 2
1: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCTypeCast.clazz:Lcom/sun/tools/javac/tree/JCTree;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCTypeCast.clazz:Lcom/sun/tools/javac/tree/JCTree;
getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.validateAnnotatedType:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeScanner.visitTypeCast:(Lcom/sun/tools/javac/tree/JCTree$JCTypeCast;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/comp/Attr$TypeAnnotationsValidator;
0 4 1 tree Lcom/sun/tools/javac/tree/JCTree$JCTypeCast;
MethodParameters:
Name Flags
tree
public void visitTypeTest(com.sun.tools.javac.tree.JCTree$JCInstanceOf);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCInstanceOf;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCInstanceOf.pattern:Lcom/sun/tools/javac/tree/JCTree;
ifnull 2
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCInstanceOf.pattern:Lcom/sun/tools/javac/tree/JCTree;
instanceof com.sun.tools.javac.tree.JCTree$JCPattern
ifne 2
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCInstanceOf.pattern:Lcom/sun/tools/javac/tree/JCTree;
getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
ifnull 2
1: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCInstanceOf.pattern:Lcom/sun/tools/javac/tree/JCTree;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCInstanceOf.pattern:Lcom/sun/tools/javac/tree/JCTree;
getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.validateAnnotatedType:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeScanner.visitTypeTest:(Lcom/sun/tools/javac/tree/JCTree$JCInstanceOf;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/comp/Attr$TypeAnnotationsValidator;
0 4 1 tree Lcom/sun/tools/javac/tree/JCTree$JCInstanceOf;
MethodParameters:
Name Flags
tree
public void visitNewClass(com.sun.tools.javac.tree.JCTree$JCNewClass);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCNewClass;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewClass.clazz:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
ifnull 8
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewClass.clazz:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
ifnull 8
1: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewClass.clazz:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getstatic com.sun.tools.javac.tree.JCTree$Tag.ANNOTATED_TYPE:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifeq 5
2: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewClass.clazz:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
checkcast com.sun.tools.javac.tree.JCTree$JCAnnotatedType
getfield com.sun.tools.javac.tree.JCTree$JCAnnotatedType.annotations:Lcom/sun/tools/javac/util/List;
3: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewClass.clazz:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
4: invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.checkForDeclarationAnnotations:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol;)V
5: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewClass.def:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
ifnull 7
6: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewClass.def:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.mods:Lcom/sun/tools/javac/tree/JCTree$JCModifiers;
getfield com.sun.tools.javac.tree.JCTree$JCModifiers.annotations:Lcom/sun/tools/javac/util/List;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewClass.clazz:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.checkForDeclarationAnnotations:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol;)V
7: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewClass.clazz:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewClass.clazz:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.validateAnnotatedType:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeScanner.visitNewClass:(Lcom/sun/tools/javac/tree/JCTree$JCNewClass;)V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javac/comp/Attr$TypeAnnotationsValidator;
0 10 1 tree Lcom/sun/tools/javac/tree/JCTree$JCNewClass;
MethodParameters:
Name Flags
tree
public void visitNewArray(com.sun.tools.javac.tree.JCTree$JCNewArray);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCNewArray;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewArray.elemtype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
ifnull 6
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewArray.elemtype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
ifnull 6
1: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewArray.elemtype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getstatic com.sun.tools.javac.tree.JCTree$Tag.ANNOTATED_TYPE:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifeq 5
2: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewArray.elemtype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
checkcast com.sun.tools.javac.tree.JCTree$JCAnnotatedType
getfield com.sun.tools.javac.tree.JCTree$JCAnnotatedType.annotations:Lcom/sun/tools/javac/util/List;
3: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewArray.elemtype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
4: invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.checkForDeclarationAnnotations:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol;)V
5: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewArray.elemtype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewArray.elemtype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.validateAnnotatedType:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeScanner.visitNewArray:(Lcom/sun/tools/javac/tree/JCTree$JCNewArray;)V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/javac/comp/Attr$TypeAnnotationsValidator;
0 8 1 tree Lcom/sun/tools/javac/tree/JCTree$JCNewArray;
MethodParameters:
Name Flags
tree
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=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.sigOnly:Z
ifeq 5
1: 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.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
2: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.typarams:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/util/List;)V
3: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.extending:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
4: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.implementing:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/util/List;)V
5: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.defs:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator com.sun.tools.javac.tree.JCTree$JCClassDecl top java.util.Iterator
StackMap stack:
6: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree
astore 2
start local 2 7: aload 2
getstatic com.sun.tools.javac.tree.JCTree$Tag.CLASSDEF:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifeq 9
8: goto 10
9: StackMap locals: com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.tools.javac.tree.JCTree java.util.Iterator
StackMap stack:
aload 0
aload 2
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
end local 2 10: StackMap locals: com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator com.sun.tools.javac.tree.JCTree$JCClassDecl top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/javac/comp/Attr$TypeAnnotationsValidator;
0 12 1 tree Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
7 10 2 member Lcom/sun/tools/javac/tree/JCTree;
MethodParameters:
Name Flags
tree
public void visitBlock(com.sun.tools.javac.tree.JCTree$JCBlock);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCBlock;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.sigOnly:Z
ifne 2
1: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCBlock.stats:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.scan:(Lcom/sun/tools/javac/util/List;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/Attr$TypeAnnotationsValidator;
0 3 1 tree Lcom/sun/tools/javac/tree/JCTree$JCBlock;
MethodParameters:
Name Flags
tree
private void validateAnnotatedType(com.sun.tools.javac.tree.JCTree, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual com.sun.tools.javac.code.Type.isPrimitiveOrVoid:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
astore 3
start local 3 3: aload 2
astore 4
start local 4 4: iconst_1
istore 5
start local 5 5: goto 76
6: StackMap locals: com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type int
StackMap stack:
aload 3
getstatic com.sun.tools.javac.tree.JCTree$Tag.TYPEAPPLY:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifeq 17
7: aload 4
invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
astore 6
start local 6 8: aload 3
checkcast com.sun.tools.javac.tree.JCTree$JCTypeApply
invokevirtual com.sun.tools.javac.tree.JCTree$JCTypeApply.getTypeArguments:()Lcom/sun/tools/javac/util/List;
astore 7
start local 7 9: aload 7
invokevirtual com.sun.tools.javac.util.List.length:()I
ifle 16
10: aload 6
invokevirtual com.sun.tools.javac.util.List.length:()I
aload 7
invokevirtual com.sun.tools.javac.util.List.length:()I
if_icmpne 16
11: iconst_0
istore 8
start local 8 12: goto 15
13: StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.util.List int
StackMap stack:
aload 0
aload 7
iload 8
invokevirtual com.sun.tools.javac.util.List.get:(I)Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree
aload 6
iload 8
invokevirtual com.sun.tools.javac.util.List.get:(I)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.validateAnnotatedType:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
14: iinc 8 1
StackMap locals:
StackMap stack:
15: iload 8
aload 6
invokevirtual com.sun.tools.javac.util.List.length:()I
if_icmplt 13
end local 8 16: StackMap locals:
StackMap stack:
aload 3
checkcast com.sun.tools.javac.tree.JCTree$JCTypeApply
getfield com.sun.tools.javac.tree.JCTree$JCTypeApply.clazz:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
astore 3
end local 7 end local 6 17: StackMap locals:
StackMap stack:
aload 3
getstatic com.sun.tools.javac.tree.JCTree$Tag.SELECT:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifeq 23
18: aload 3
checkcast com.sun.tools.javac.tree.JCTree$JCFieldAccess
invokevirtual com.sun.tools.javac.tree.JCTree$JCFieldAccess.getExpression:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
astore 3
19: aload 4
ifnull 76
20: aload 4
getstatic com.sun.tools.javac.code.TypeTag.NONE:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 76
21: aload 4
invokevirtual com.sun.tools.javac.code.Type.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
astore 4
22: goto 76
StackMap locals:
StackMap stack:
23: aload 3
getstatic com.sun.tools.javac.tree.JCTree$Tag.ANNOTATED_TYPE:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifeq 38
24: aload 3
checkcast com.sun.tools.javac.tree.JCTree$JCAnnotatedType
astore 6
start local 6 25: aload 4
ifnull 26
aload 4
getstatic com.sun.tools.javac.code.TypeTag.NONE:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 36
26: StackMap locals: com.sun.tools.javac.tree.JCTree$JCAnnotatedType
StackMap stack:
aload 6
invokevirtual com.sun.tools.javac.tree.JCTree$JCAnnotatedType.getAnnotations:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.size:()I
iconst_1
if_icmpne 29
27: aload 0
getfield com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.this$0:Lcom/sun/tools/javac/comp/Attr;
getfield com.sun.tools.javac.comp.Attr.log:Lcom/sun/tools/javac/util/Log;
aload 6
getfield com.sun.tools.javac.tree.JCTree$JCAnnotatedType.underlyingType:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 6
invokevirtual com.sun.tools.javac.tree.JCTree$JCAnnotatedType.getAnnotations:()Lcom/sun/tools/javac/util/List;
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree$JCAnnotation
getfield com.sun.tools.javac.tree.JCTree$JCAnnotation.attribute:Lcom/sun/tools/javac/code/Attribute$Compound;
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.CantTypeAnnotateScoping1:(Lcom/sun/tools/javac/code/Attribute$Compound;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
28: goto 35
29: StackMap locals:
StackMap stack:
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 7
start local 7 30: aload 6
invokevirtual com.sun.tools.javac.tree.JCTree$JCAnnotatedType.getAnnotations:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 33
StackMap locals: com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type int com.sun.tools.javac.tree.JCTree$JCAnnotatedType com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
31: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree$JCAnnotation
astore 8
start local 8 32: aload 7
aload 8
getfield com.sun.tools.javac.tree.JCTree$JCAnnotation.attribute:Lcom/sun/tools/javac/code/Attribute$Compound;
invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
pop
end local 8 33: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 31
34: aload 0
getfield com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.this$0:Lcom/sun/tools/javac/comp/Attr;
getfield com.sun.tools.javac.comp.Attr.log:Lcom/sun/tools/javac/util/Log;
aload 6
getfield com.sun.tools.javac.tree.JCTree$JCAnnotatedType.underlyingType:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 7
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.CantTypeAnnotateScoping:(Ljava/util/List;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
end local 7 35: StackMap locals: com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type int com.sun.tools.javac.tree.JCTree$JCAnnotatedType
StackMap stack:
iconst_0
istore 5
36: StackMap locals:
StackMap stack:
aload 6
getfield com.sun.tools.javac.tree.JCTree$JCAnnotatedType.underlyingType:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
astore 3
end local 6 37: goto 76
StackMap locals:
StackMap stack:
38: aload 3
getstatic com.sun.tools.javac.tree.JCTree$Tag.IDENT:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifeq 41
39: iconst_0
istore 5
40: goto 76
StackMap locals:
StackMap stack:
41: aload 3
getstatic com.sun.tools.javac.tree.JCTree$Tag.WILDCARD:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifeq 48
42: aload 3
checkcast com.sun.tools.javac.tree.JCTree$JCWildcard
astore 6
start local 6 43: aload 6
invokevirtual com.sun.tools.javac.tree.JCTree$JCWildcard.getKind:()Lcom/sun/source/tree/Tree$Kind;
getstatic com.sun.source.tree.Tree$Kind.EXTENDS_WILDCARD:Lcom/sun/source/tree/Tree$Kind;
if_acmpeq 45
44: aload 6
invokevirtual com.sun.tools.javac.tree.JCTree$JCWildcard.getKind:()Lcom/sun/source/tree/Tree$Kind;
getstatic com.sun.source.tree.Tree$Kind.SUPER_WILDCARD:Lcom/sun/source/tree/Tree$Kind;
if_acmpne 46
45: StackMap locals: com.sun.tools.javac.tree.JCTree$JCWildcard
StackMap stack:
aload 0
aload 6
invokevirtual com.sun.tools.javac.tree.JCTree$JCWildcard.getBound:()Lcom/sun/tools/javac/tree/JCTree;
aload 6
invokevirtual com.sun.tools.javac.tree.JCTree$JCWildcard.getBound:()Lcom/sun/tools/javac/tree/JCTree;
getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.validateAnnotatedType:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
46: StackMap locals:
StackMap stack:
iconst_0
istore 5
end local 6 47: goto 76
StackMap locals:
StackMap stack:
48: aload 3
getstatic com.sun.tools.javac.tree.JCTree$Tag.TYPEARRAY:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifeq 53
49: aload 3
checkcast com.sun.tools.javac.tree.JCTree$JCArrayTypeTree
astore 6
start local 6 50: aload 0
aload 6
invokevirtual com.sun.tools.javac.tree.JCTree$JCArrayTypeTree.getType:()Lcom/sun/tools/javac/tree/JCTree;
aload 6
getfield com.sun.tools.javac.tree.JCTree$JCArrayTypeTree.elemtype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.validateAnnotatedType:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
51: iconst_0
istore 5
end local 6 52: goto 76
StackMap locals:
StackMap stack:
53: aload 3
getstatic com.sun.tools.javac.tree.JCTree$Tag.TYPEUNION:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifeq 61
54: aload 3
checkcast com.sun.tools.javac.tree.JCTree$JCTypeUnion
astore 6
start local 6 55: aload 6
invokevirtual com.sun.tools.javac.tree.JCTree$JCTypeUnion.getTypeAlternatives:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 58
StackMap locals: com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type int com.sun.tools.javac.tree.JCTree$JCTypeUnion top java.util.Iterator
StackMap stack:
56: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree
astore 7
start local 7 57: aload 0
aload 7
aload 7
getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.validateAnnotatedType:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
end local 7 58: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 56
59: iconst_0
istore 5
end local 6 60: goto 76
StackMap locals: com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type int
StackMap stack:
61: aload 3
getstatic com.sun.tools.javac.tree.JCTree$Tag.TYPEINTERSECTION:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifeq 69
62: aload 3
checkcast com.sun.tools.javac.tree.JCTree$JCTypeIntersection
astore 6
start local 6 63: aload 6
invokevirtual com.sun.tools.javac.tree.JCTree$JCTypeIntersection.getBounds:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 66
StackMap locals: com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type int com.sun.tools.javac.tree.JCTree$JCTypeIntersection top java.util.Iterator
StackMap stack:
64: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree
astore 7
start local 7 65: aload 0
aload 7
aload 7
getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.validateAnnotatedType:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
end local 7 66: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 64
67: iconst_0
istore 5
end local 6 68: goto 76
StackMap locals: com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type com.sun.tools.javac.tree.JCTree com.sun.tools.javac.code.Type int
StackMap stack:
69: aload 3
invokevirtual com.sun.tools.javac.tree.JCTree.getKind:()Lcom/sun/source/tree/Tree$Kind;
getstatic com.sun.source.tree.Tree$Kind.PRIMITIVE_TYPE:Lcom/sun/source/tree/Tree$Kind;
if_acmpeq 71
70: aload 3
invokevirtual com.sun.tools.javac.tree.JCTree.getKind:()Lcom/sun/source/tree/Tree$Kind;
getstatic com.sun.source.tree.Tree$Kind.ERRONEOUS:Lcom/sun/source/tree/Tree$Kind;
if_acmpne 73
71: StackMap locals:
StackMap stack:
iconst_0
istore 5
72: goto 76
73: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unexpected tree: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " with kind: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual com.sun.tools.javac.tree.JCTree.getKind:()Lcom/sun/source/tree/Tree$Kind;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
74: ldc " within: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " with kind: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual com.sun.tools.javac.tree.JCTree.getKind:()Lcom/sun/source/tree/Tree$Kind;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
75: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.javac.util.Assert.error:(Ljava/lang/String;)V
76: StackMap locals:
StackMap stack:
iload 5
ifne 6
77: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 78 0 this Lcom/sun/tools/javac/comp/Attr$TypeAnnotationsValidator;
0 78 1 errtree Lcom/sun/tools/javac/tree/JCTree;
0 78 2 type Lcom/sun/tools/javac/code/Type;
3 78 3 enclTr Lcom/sun/tools/javac/tree/JCTree;
4 78 4 enclTy Lcom/sun/tools/javac/code/Type;
5 78 5 repeat Z
8 17 6 tyargs Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
9 17 7 trargs Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;
12 16 8 i I
25 37 6 at Lcom/sun/tools/javac/tree/JCTree$JCAnnotatedType;
30 35 7 comps Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Attribute$Compound;>;
32 33 8 an Lcom/sun/tools/javac/tree/JCTree$JCAnnotation;
43 47 6 wc Lcom/sun/tools/javac/tree/JCTree$JCWildcard;
50 52 6 art Lcom/sun/tools/javac/tree/JCTree$JCArrayTypeTree;
55 60 6 ut Lcom/sun/tools/javac/tree/JCTree$JCTypeUnion;
57 58 7 t Lcom/sun/tools/javac/tree/JCTree;
63 68 6 it Lcom/sun/tools/javac/tree/JCTree$JCTypeIntersection;
65 66 7 t Lcom/sun/tools/javac/tree/JCTree;
MethodParameters:
Name Flags
errtree final
type final
private void checkForDeclarationAnnotations(com.sun.tools.javac.util.List<? extends com.sun.tools.javac.tree.JCTree$JCAnnotation>, com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree$JCAnnotation
astore 3
start local 3 2: aload 3
getfield com.sun.tools.javac.tree.JCTree$JCAnnotation.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
ifne 5
3: aload 0
getfield com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.this$0:Lcom/sun/tools/javac/comp/Attr;
getfield com.sun.tools.javac.comp.Attr.typeAnnotations:Lcom/sun/tools/javac/code/TypeAnnotations;
aload 3
getfield com.sun.tools.javac.tree.JCTree$JCAnnotation.attribute:Lcom/sun/tools/javac/code/Attribute$Compound;
aload 2
invokevirtual com.sun.tools.javac.code.TypeAnnotations.annotationTargetType:(Lcom/sun/tools/javac/code/Attribute$Compound;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.DECLARATION:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
if_acmpne 5
4: aload 0
getfield com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator.this$0:Lcom/sun/tools/javac/comp/Attr;
getfield com.sun.tools.javac.comp.Attr.log:Lcom/sun/tools/javac/util/Log;
aload 3
invokevirtual com.sun.tools.javac.tree.JCTree$JCAnnotation.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 3
getfield com.sun.tools.javac.tree.JCTree$JCAnnotation.type:Lcom/sun/tools/javac/code/Type;
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.AnnotationTypeNotApplicableToType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/comp/Attr$TypeAnnotationsValidator;
0 7 1 annotations Lcom/sun/tools/javac/util/List<+Lcom/sun/tools/javac/tree/JCTree$JCAnnotation;>;
0 7 2 sym Lcom/sun/tools/javac/code/Symbol;
2 5 3 ai Lcom/sun/tools/javac/tree/JCTree$JCAnnotation;
Signature: (Lcom/sun/tools/javac/util/List<+Lcom/sun/tools/javac/tree/JCTree$JCAnnotation;>;Lcom/sun/tools/javac/code/Symbol;)V
MethodParameters:
Name Flags
annotations
sym
}
SourceFile: "Attr.java"
NestHost: com.sun.tools.javac.comp.Attr
InnerClasses:
public final Kind = com.sun.source.tree.Tree$Kind of com.sun.source.tree.Tree
public Compound = com.sun.tools.javac.code.Attribute$Compound of com.sun.tools.javac.code.Attribute
public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
public final AnnotationType = com.sun.tools.javac.code.TypeAnnotations$AnnotationType of com.sun.tools.javac.code.TypeAnnotations
private final TypeAnnotationsValidator = com.sun.tools.javac.comp.Attr$TypeAnnotationsValidator of com.sun.tools.javac.comp.Attr
public Errors = com.sun.tools.javac.resources.CompilerProperties$Errors of com.sun.tools.javac.resources.CompilerProperties
public JCAnnotatedType = com.sun.tools.javac.tree.JCTree$JCAnnotatedType of com.sun.tools.javac.tree.JCTree
public JCAnnotation = com.sun.tools.javac.tree.JCTree$JCAnnotation of com.sun.tools.javac.tree.JCTree
public JCArrayTypeTree = com.sun.tools.javac.tree.JCTree$JCArrayTypeTree of com.sun.tools.javac.tree.JCTree
public JCBlock = com.sun.tools.javac.tree.JCTree$JCBlock 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 JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
public JCFieldAccess = com.sun.tools.javac.tree.JCTree$JCFieldAccess of com.sun.tools.javac.tree.JCTree
public JCInstanceOf = com.sun.tools.javac.tree.JCTree$JCInstanceOf of com.sun.tools.javac.tree.JCTree
public JCMethodDecl = com.sun.tools.javac.tree.JCTree$JCMethodDecl of com.sun.tools.javac.tree.JCTree
public JCModifiers = com.sun.tools.javac.tree.JCTree$JCModifiers of com.sun.tools.javac.tree.JCTree
public JCNewArray = com.sun.tools.javac.tree.JCTree$JCNewArray of com.sun.tools.javac.tree.JCTree
public JCNewClass = com.sun.tools.javac.tree.JCTree$JCNewClass of com.sun.tools.javac.tree.JCTree
public abstract JCPattern = com.sun.tools.javac.tree.JCTree$JCPattern of com.sun.tools.javac.tree.JCTree
public JCTypeApply = com.sun.tools.javac.tree.JCTree$JCTypeApply of com.sun.tools.javac.tree.JCTree
public JCTypeCast = com.sun.tools.javac.tree.JCTree$JCTypeCast of com.sun.tools.javac.tree.JCTree
public JCTypeIntersection = com.sun.tools.javac.tree.JCTree$JCTypeIntersection of com.sun.tools.javac.tree.JCTree
public JCTypeParameter = com.sun.tools.javac.tree.JCTree$JCTypeParameter of com.sun.tools.javac.tree.JCTree
public JCTypeUnion = com.sun.tools.javac.tree.JCTree$JCTypeUnion of com.sun.tools.javac.tree.JCTree
public JCVariableDecl = com.sun.tools.javac.tree.JCTree$JCVariableDecl of com.sun.tools.javac.tree.JCTree
public JCWildcard = com.sun.tools.javac.tree.JCTree$JCWildcard of com.sun.tools.javac.tree.JCTree
public final Tag = com.sun.tools.javac.tree.JCTree$Tag of com.sun.tools.javac.tree.JCTree
public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
public final Error = com.sun.tools.javac.util.JCDiagnostic$Error of com.sun.tools.javac.util.JCDiagnostic