class com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache
super_class: java.lang.Object
{
private java.util.Map<com.sun.tools.javac.code.Symbol, com.sun.tools.javac.util.List<com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache$Entry>> cache;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType$SpeculativeCache$Entry;>;>;
final com.sun.tools.javac.comp.DeferredAttr$DeferredType this$1;
descriptor: Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.comp.DeferredAttr$DeferredType);
descriptor: (Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache.this$1:Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache.cache:Ljava/util/Map;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType$SpeculativeCache;
MethodParameters:
Name Flags
this$0 final
com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache$Entry get(com.sun.tools.javac.code.Symbol, com.sun.tools.javac.comp.Resolve$MethodResolutionPhase);
descriptor: (Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;)Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType$SpeculativeCache$Entry;
flags: (0x0000)
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache.cache:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.util.List
astore 3
start local 3 1: aload 3
ifnonnull 2
aconst_null
areturn
2: StackMap locals: com.sun.tools.javac.util.List
StackMap stack:
aload 3
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache com.sun.tools.javac.code.Symbol com.sun.tools.javac.comp.Resolve$MethodResolutionPhase com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache$Entry
astore 4
start local 4 4: aload 4
aload 2
invokevirtual com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache$Entry.matches:(Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;)Z
ifeq 5
aload 4
areturn
end local 4 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType$SpeculativeCache;
0 7 1 msym Lcom/sun/tools/javac/code/Symbol;
0 7 2 phase Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
1 7 3 entries Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType$SpeculativeCache$Entry;>;
4 5 4 e Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType$SpeculativeCache$Entry;
MethodParameters:
Name Flags
msym
phase
void put(com.sun.tools.javac.tree.JCTree, com.sun.tools.javac.comp.Attr$ResultInfo);
descriptor: (Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)V
flags: (0x0000)
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
invokeinterface com.sun.tools.javac.comp.Check$CheckContext.deferredAttrContext:()Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.msym:Lcom/sun/tools/javac/code/Symbol;
astore 3
start local 3 1: aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache.cache:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.util.List
astore 4
start local 4 2: aload 4
ifnonnull 4
3: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
astore 4
4: StackMap locals: com.sun.tools.javac.code.Symbol com.sun.tools.javac.util.List
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache.cache:Ljava/util/Map;
aload 3
aload 4
new com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache$Entry
dup
aload 0
aload 1
aload 2
invokespecial com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache$Entry.<init>:(Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType$SpeculativeCache;Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)V
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType$SpeculativeCache;
0 6 1 speculativeTree Lcom/sun/tools/javac/tree/JCTree;
0 6 2 resultInfo Lcom/sun/tools/javac/comp/Attr$ResultInfo;
1 6 3 msym Lcom/sun/tools/javac/code/Symbol;
2 6 4 entries Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType$SpeculativeCache$Entry;>;
MethodParameters:
Name Flags
speculativeTree
resultInfo
}
SourceFile: "DeferredAttr.java"
NestHost: com.sun.tools.javac.comp.DeferredAttr
InnerClasses:
ResultInfo = com.sun.tools.javac.comp.Attr$ResultInfo of com.sun.tools.javac.comp.Attr
public abstract CheckContext = com.sun.tools.javac.comp.Check$CheckContext of com.sun.tools.javac.comp.Check
DeferredAttrContext = com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext of com.sun.tools.javac.comp.DeferredAttr
public DeferredType = com.sun.tools.javac.comp.DeferredAttr$DeferredType of com.sun.tools.javac.comp.DeferredAttr
SpeculativeCache = com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache of com.sun.tools.javac.comp.DeferredAttr$DeferredType
Entry = com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache$Entry of com.sun.tools.javac.comp.DeferredAttr$DeferredType$SpeculativeCache
MethodResolutionPhase = com.sun.tools.javac.comp.Resolve$MethodResolutionPhase of com.sun.tools.javac.comp.Resolve