public class com.sun.tools.javac.code.TypeAnnotations
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.javac.code.TypeAnnotations
super_class: java.lang.Object
{
protected static final com.sun.tools.javac.util.Context$Key<com.sun.tools.javac.code.TypeAnnotations> typeAnnosKey;
descriptor: Lcom/sun/tools/javac/util/Context$Key;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Signature: Lcom/sun/tools/javac/util/Context$Key<Lcom/sun/tools/javac/code/TypeAnnotations;>;
final com.sun.tools.javac.util.Log log;
descriptor: Lcom/sun/tools/javac/util/Log;
flags: (0x0010) ACC_FINAL
final com.sun.tools.javac.util.Names names;
descriptor: Lcom/sun/tools/javac/util/Names;
flags: (0x0010) ACC_FINAL
final com.sun.tools.javac.code.Symtab syms;
descriptor: Lcom/sun/tools/javac/code/Symtab;
flags: (0x0010) ACC_FINAL
final com.sun.tools.javac.comp.Annotate annotate;
descriptor: Lcom/sun/tools/javac/comp/Annotate;
flags: (0x0010) ACC_FINAL
final com.sun.tools.javac.comp.Attr attr;
descriptor: Lcom/sun/tools/javac/comp/Attr;
flags: (0x0010) ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.sun.tools.javac.util.Context$Key
dup
invokespecial com.sun.tools.javac.util.Context$Key.<init>:()V
putstatic com.sun.tools.javac.code.TypeAnnotations.typeAnnosKey:Lcom/sun/tools/javac/util/Context$Key;
return
LocalVariableTable:
Start End Slot Name Signature
public static com.sun.tools.javac.code.TypeAnnotations instance(com.sun.tools.javac.util.Context);
descriptor: (Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/TypeAnnotations;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getstatic com.sun.tools.javac.code.TypeAnnotations.typeAnnosKey:Lcom/sun/tools/javac/util/Context$Key;
invokevirtual com.sun.tools.javac.util.Context.get:(Lcom/sun/tools/javac/util/Context$Key;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.TypeAnnotations
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new com.sun.tools.javac.code.TypeAnnotations
dup
aload 0
invokespecial com.sun.tools.javac.code.TypeAnnotations.<init>:(Lcom/sun/tools/javac/util/Context;)V
astore 1
3: StackMap locals: com.sun.tools.javac.code.TypeAnnotations
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lcom/sun/tools/javac/util/Context;
1 4 1 instance Lcom/sun/tools/javac/code/TypeAnnotations;
MethodParameters:
Name Flags
context
protected void <init>(com.sun.tools.javac.util.Context);
descriptor: (Lcom/sun/tools/javac/util/Context;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
getstatic com.sun.tools.javac.code.TypeAnnotations.typeAnnosKey:Lcom/sun/tools/javac/util/Context$Key;
aload 0
invokevirtual com.sun.tools.javac.util.Context.put:(Lcom/sun/tools/javac/util/Context$Key;Ljava/lang/Object;)V
2: aload 0
aload 1
invokestatic com.sun.tools.javac.util.Names.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Names;
putfield com.sun.tools.javac.code.TypeAnnotations.names:Lcom/sun/tools/javac/util/Names;
3: aload 0
aload 1
invokestatic com.sun.tools.javac.util.Log.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Log;
putfield com.sun.tools.javac.code.TypeAnnotations.log:Lcom/sun/tools/javac/util/Log;
4: aload 0
aload 1
invokestatic com.sun.tools.javac.code.Symtab.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Symtab;
putfield com.sun.tools.javac.code.TypeAnnotations.syms:Lcom/sun/tools/javac/code/Symtab;
5: aload 0
aload 1
invokestatic com.sun.tools.javac.comp.Annotate.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/Annotate;
putfield com.sun.tools.javac.code.TypeAnnotations.annotate:Lcom/sun/tools/javac/comp/Annotate;
6: aload 0
aload 1
invokestatic com.sun.tools.javac.comp.Attr.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/Attr;
putfield com.sun.tools.javac.code.TypeAnnotations.attr:Lcom/sun/tools/javac/comp/Attr;
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/javac/code/TypeAnnotations;
0 8 1 context Lcom/sun/tools/javac/util/Context;
MethodParameters:
Name Flags
context
public void organizeTypeAnnotationsSignatures(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.tree.JCTree$JCClassDecl);
descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.annotate:Lcom/sun/tools/javac/comp/Annotate;
aload 0
aload 1
aload 2
invokedynamic run(Lcom/sun/tools/javac/code/TypeAnnotations;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/sun/tools/javac/code/TypeAnnotations.lambda$0(Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V (7)
()V
invokevirtual com.sun.tools.javac.comp.Annotate.afterTypes:(Ljava/lang/Runnable;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/code/TypeAnnotations;
0 2 1 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
0 2 2 tree Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
MethodParameters:
Name Flags
env final
tree final
public void validateTypeAnnotationsSignatures(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.tree.JCTree$JCClassDecl);
descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.annotate:Lcom/sun/tools/javac/comp/Annotate;
aload 0
aload 1
aload 2
invokedynamic run(Lcom/sun/tools/javac/code/TypeAnnotations;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/sun/tools/javac/code/TypeAnnotations.lambda$1(Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V (7)
()V
invokevirtual com.sun.tools.javac.comp.Annotate.validate:(Ljava/lang/Runnable;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/code/TypeAnnotations;
0 2 1 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
0 2 2 tree Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
MethodParameters:
Name Flags
env final
tree final
public void organizeTypeAnnotationsBodies(com.sun.tools.javac.tree.JCTree$JCClassDecl);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions
dup
aload 0
iconst_0
invokespecial com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.<init>:(Lcom/sun/tools/javac/code/TypeAnnotations;Z)V
aload 1
invokevirtual com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/code/TypeAnnotations;
0 2 1 tree Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
MethodParameters:
Name Flags
tree
public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Attribute> annotationTargets(com.sun.tools.javac.code.Symbol$TypeSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.getAnnotationTypeMetadata:()Lcom/sun/tools/javac/comp/Annotate$AnnotationTypeMetadata;
invokevirtual com.sun.tools.javac.comp.Annotate$AnnotationTypeMetadata.getTarget:()Lcom/sun/tools/javac/code/Attribute$Compound;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: com.sun.tools.javac.code.Attribute$Compound
StackMap stack:
aload 2
aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.value:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.code.Attribute$Compound.member:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Attribute;
astore 3
start local 3 4: aload 3
instanceof com.sun.tools.javac.code.Attribute$Array
ifne 6
5: aconst_null
areturn
6: StackMap locals: com.sun.tools.javac.code.Attribute
StackMap stack:
aload 3
checkcast com.sun.tools.javac.code.Attribute$Array
invokevirtual com.sun.tools.javac.code.Attribute$Array.getValue:()Lcom/sun/tools/javac/util/List;
astore 4
start local 4 7: aload 4
invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/sun/tools/javac/code/TypeAnnotations.lambda$2(Lcom/sun/tools/javac/code/Attribute;)Z (6)
(Lcom/sun/tools/javac/code/Attribute;)Z
invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
ifeq 9
8: aconst_null
areturn
9: StackMap locals: com.sun.tools.javac.util.List
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javac/code/TypeAnnotations;
0 10 1 tsym Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
1 10 2 atTarget Lcom/sun/tools/javac/code/Attribute$Compound;
4 10 3 atValue Lcom/sun/tools/javac/code/Attribute;
7 10 4 targets Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Attribute;>;
Signature: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Attribute;>;
MethodParameters:
Name Flags
tsym
public com.sun.tools.javac.code.TypeAnnotations$AnnotationType annotationTargetType(com.sun.tools.javac.code.Attribute$Compound, com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Attribute$Compound;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.sun.tools.javac.code.Attribute$Compound.type:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.isAnnotationType:()Z
ifne 2
1: getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.NONE:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.tools.javac.code.Attribute$Compound.type:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.TypeAnnotations.annotationTargets:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/util/List;
astore 3
start local 3 3: aload 3
ifnonnull 5
4: getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.DECLARATION:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
goto 8
5: StackMap locals: com.sun.tools.javac.util.List
StackMap stack:
aload 3
invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
6: aload 0
aload 2
invokedynamic apply(Lcom/sun/tools/javac/code/TypeAnnotations;Lcom/sun/tools/javac/code/Symbol;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/sun/tools/javac/code/TypeAnnotations.lambda$3(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Attribute;)Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType; (7)
(Lcom/sun/tools/javac/code/Attribute;)Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
7: getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.NONE:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
aload 0
invokedynamic apply(Lcom/sun/tools/javac/code/TypeAnnotations;)Ljava/util/function/BinaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
com/sun/tools/javac/code/TypeAnnotations.combineAnnotationType(Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;)Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType; (7)
(Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;)Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
invokeinterface java.util.stream.Stream.reduce:(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.TypeAnnotations$AnnotationType
8: StackMap locals:
StackMap stack: com.sun.tools.javac.code.TypeAnnotations$AnnotationType
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javac/code/TypeAnnotations;
0 9 1 a Lcom/sun/tools/javac/code/Attribute$Compound;
0 9 2 s Lcom/sun/tools/javac/code/Symbol;
3 9 3 targets Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Attribute;>;
MethodParameters:
Name Flags
a
s
private com.sun.tools.javac.code.TypeAnnotations$AnnotationType combineAnnotationType(com.sun.tools.javac.code.TypeAnnotations$AnnotationType, com.sun.tools.javac.code.TypeAnnotations$AnnotationType);
descriptor: (Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;)Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.NONE:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
if_acmpne 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 2
getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.NONE:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
if_acmpne 4
3: aload 1
areturn
4: StackMap locals:
StackMap stack:
aload 1
aload 2
if_acmpeq 6
5: getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.BOTH:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
areturn
6: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/code/TypeAnnotations;
0 7 1 at1 Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
0 7 2 at2 Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
MethodParameters:
Name Flags
at1
at2
private com.sun.tools.javac.code.TypeAnnotations$AnnotationType targetToAnnotationType(com.sun.tools.javac.code.Attribute, com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Attribute;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.sun.tools.javac.code.Attribute$Enum
astore 3
start local 3 1: aload 3
getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.TYPE:Lcom/sun/tools/javac/util/Name;
if_acmpne 4
2: aload 2
getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$Kind.TYP:Lcom/sun/tools/javac/code/Kinds$Kind;
if_acmpne 48
3: getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.DECLARATION:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
areturn
4: StackMap locals: com.sun.tools.javac.code.Attribute$Enum
StackMap stack:
aload 3
getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.FIELD:Lcom/sun/tools/javac/util/Name;
if_acmpeq 5
aload 3
getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.RECORD_COMPONENT:Lcom/sun/tools/javac/util/Name;
if_acmpne 8
5: StackMap locals:
StackMap stack:
aload 2
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 48
6: aload 2
getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
if_acmpeq 48
7: getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.DECLARATION:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
areturn
8: StackMap locals:
StackMap stack:
aload 3
getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.METHOD:Lcom/sun/tools/javac/util/Name;
if_acmpne 12
9: aload 2
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 48
10: aload 2
invokevirtual com.sun.tools.javac.code.Symbol.isConstructor:()Z
ifne 48
11: getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.DECLARATION:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
areturn
12: StackMap locals:
StackMap stack:
aload 3
getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.PARAMETER:Lcom/sun/tools/javac/util/Name;
if_acmpne 17
13: aload 2
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 48
14: aload 2
getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
if_acmpne 48
15: aload 2
invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
ldc 8589934592
land
lconst_0
lcmp
ifeq 48
16: getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.DECLARATION:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
areturn
17: StackMap locals:
StackMap stack:
aload 3
getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.CONSTRUCTOR:Lcom/sun/tools/javac/util/Name;
if_acmpne 21
18: aload 2
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 48
19: aload 2
invokevirtual com.sun.tools.javac.code.Symbol.isConstructor:()Z
ifeq 48
20: getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.DECLARATION:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
areturn
21: StackMap locals:
StackMap stack:
aload 3
getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.LOCAL_VARIABLE:Lcom/sun/tools/javac/util/Name;
if_acmpne 26
22: aload 2
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 48
23: aload 2
getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
if_acmpne 48
24: aload 2
invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
ldc 8589934592
land
lconst_0
lcmp
ifne 48
25: getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.DECLARATION:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
areturn
26: StackMap locals:
StackMap stack:
aload 3
getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.ANNOTATION_TYPE:Lcom/sun/tools/javac/util/Name;
if_acmpne 30
27: aload 2
getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$Kind.TYP:Lcom/sun/tools/javac/code/Kinds$Kind;
if_acmpne 48
28: aload 2
invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
ldc 8192
land
lconst_0
lcmp
ifeq 48
29: getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.DECLARATION:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
areturn
30: StackMap locals:
StackMap stack:
aload 3
getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.PACKAGE:Lcom/sun/tools/javac/util/Name;
if_acmpne 33
31: aload 2
getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$Kind.PCK:Lcom/sun/tools/javac/code/Kinds$Kind;
if_acmpne 48
32: getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.DECLARATION:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
areturn
33: StackMap locals:
StackMap stack:
aload 3
getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.TYPE_USE:Lcom/sun/tools/javac/util/Name;
if_acmpne 40
34: aload 2
getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$Kind.TYP:Lcom/sun/tools/javac/code/Kinds$Kind;
if_acmpeq 39
35: aload 2
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_acmpeq 39
36: aload 2
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 38
aload 2
invokevirtual com.sun.tools.javac.code.Symbol.isConstructor:()Z
ifne 38
37: aload 2
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
getstatic com.sun.tools.javac.code.TypeTag.VOID:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 39
38: StackMap locals:
StackMap stack:
aload 2
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 48
aload 2
invokevirtual com.sun.tools.javac.code.Symbol.isConstructor:()Z
ifeq 48
39: StackMap locals:
StackMap stack:
getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.TYPE:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
areturn
40: StackMap locals:
StackMap stack:
aload 3
getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.TYPE_PARAMETER:Lcom/sun/tools/javac/util/Name;
if_acmpeq 48
41: aload 3
getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.MODULE:Lcom/sun/tools/javac/util/Name;
if_acmpne 44
42: aload 2
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 48
43: getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.DECLARATION:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
areturn
44: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "annotationTargetType(): unrecognized Attribute name "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
45: ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
getfield com.sun.tools.javac.code.Attribute$Enum.value:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
46: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.javac.util.Assert.error:(Ljava/lang/String;)V
47: getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.DECLARATION:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
areturn
48: StackMap locals:
StackMap stack:
getstatic com.sun.tools.javac.code.TypeAnnotations$AnnotationType.NONE:Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lcom/sun/tools/javac/code/TypeAnnotations;
0 49 1 a Lcom/sun/tools/javac/code/Attribute;
0 49 2 s Lcom/sun/tools/javac/code/Symbol;
1 49 3 e Lcom/sun/tools/javac/code/Attribute$Enum;
MethodParameters:
Name Flags
a
s
private void lambda$0(com.sun.tools.javac.comp.Env, com.sun.tools.javac.tree.JCTree$JCClassDecl);
descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=5, args_size=3
start local 0 0: aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.log:Lcom/sun/tools/javac/util/Log;
aload 1
getfield com.sun.tools.javac.comp.Env.toplevel:Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
astore 3
start local 3 1: new com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions
dup
aload 0
iconst_1
invokespecial com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.<init>:(Lcom/sun/tools/javac/code/TypeAnnotations;Z)V
aload 2
invokevirtual com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
2: goto 6
StackMap locals: com.sun.tools.javac.code.TypeAnnotations com.sun.tools.javac.comp.Env com.sun.tools.javac.tree.JCTree$JCClassDecl javax.tools.JavaFileObject
StackMap stack: java.lang.Throwable
3: astore 4
4: aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.log:Lcom/sun/tools/javac/util/Log;
aload 3
invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
pop
5: aload 4
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.log:Lcom/sun/tools/javac/util/Log;
aload 3
invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
pop
end local 3 7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/javac/code/TypeAnnotations;
1 7 3 oldSource Ljavax/tools/JavaFileObject;
Exception table:
from to target type
1 3 3 any
private void lambda$1(com.sun.tools.javac.comp.Env, com.sun.tools.javac.tree.JCTree$JCClassDecl);
descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=5, args_size=3
start local 0 0: aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.log:Lcom/sun/tools/javac/util/Log;
aload 1
getfield com.sun.tools.javac.comp.Env.toplevel:Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
astore 3
start local 3 1: aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.attr:Lcom/sun/tools/javac/comp/Attr;
aload 2
iconst_1
invokevirtual com.sun.tools.javac.comp.Attr.validateTypeAnnotations:(Lcom/sun/tools/javac/tree/JCTree;Z)V
2: goto 6
StackMap locals: com.sun.tools.javac.code.TypeAnnotations com.sun.tools.javac.comp.Env com.sun.tools.javac.tree.JCTree$JCClassDecl javax.tools.JavaFileObject
StackMap stack: java.lang.Throwable
3: astore 4
4: aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.log:Lcom/sun/tools/javac/util/Log;
aload 3
invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
pop
5: aload 4
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.TypeAnnotations.log:Lcom/sun/tools/javac/util/Log;
aload 3
invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
pop
end local 3 7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/javac/code/TypeAnnotations;
1 7 3 oldSource Ljavax/tools/JavaFileObject;
Exception table:
from to target type
1 3 3 any
private static boolean lambda$2(com.sun.tools.javac.code.Attribute);
descriptor: (Lcom/sun/tools/javac/code/Attribute;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.sun.tools.javac.code.Attribute$Enum
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a Lcom/sun/tools/javac/code/Attribute;
private com.sun.tools.javac.code.TypeAnnotations$AnnotationType lambda$3(com.sun.tools.javac.code.Symbol, com.sun.tools.javac.code.Attribute);
descriptor: (Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Attribute;)Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 2
aload 1
invokevirtual com.sun.tools.javac.code.TypeAnnotations.targetToAnnotationType:(Lcom/sun/tools/javac/code/Attribute;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/TypeAnnotations$AnnotationType;
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/TypeAnnotations;
0 1 2 attr Lcom/sun/tools/javac/code/Attribute;
}
SourceFile: "TypeAnnotations.java"
NestMembers:
com.sun.tools.javac.code.TypeAnnotations$AnnotationType com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions$1
InnerClasses:
public Array = com.sun.tools.javac.code.Attribute$Array of com.sun.tools.javac.code.Attribute
public Compound = com.sun.tools.javac.code.Attribute$Compound of com.sun.tools.javac.code.Attribute
public Enum = com.sun.tools.javac.code.Attribute$Enum 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 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 final AnnotationType = com.sun.tools.javac.code.TypeAnnotations$AnnotationType of com.sun.tools.javac.code.TypeAnnotations
private TypeAnnotationPositions = com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions of com.sun.tools.javac.code.TypeAnnotations
public AnnotationTypeMetadata = com.sun.tools.javac.comp.Annotate$AnnotationTypeMetadata of com.sun.tools.javac.comp.Annotate
public JCClassDecl = com.sun.tools.javac.tree.JCTree$JCClassDecl of com.sun.tools.javac.tree.JCTree
public JCCompilationUnit = com.sun.tools.javac.tree.JCTree$JCCompilationUnit of com.sun.tools.javac.tree.JCTree
public Key = com.sun.tools.javac.util.Context$Key of com.sun.tools.javac.util.Context
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles