abstract class com.sun.tools.javac.comp.ArgumentAttr$ArgumentType<T extends com.sun.tools.javac.tree.JCTree$JCExpression> extends com.sun.tools.javac.comp.DeferredAttr$DeferredType implements com.sun.tools.javac.comp.DeferredAttr$DeferredTypeCompleter
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.tools.javac.comp.ArgumentAttr$ArgumentType
super_class: com.sun.tools.javac.comp.DeferredAttr$DeferredType
{
T speculativeTree;
descriptor: Lcom/sun/tools/javac/tree/JCTree$JCExpression;
flags: (0x0000)
Signature: TT;
java.util.Map<com.sun.tools.javac.comp.Attr$ResultInfo, com.sun.tools.javac.code.Type> speculativeTypes;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/code/Type;>;
final com.sun.tools.javac.comp.ArgumentAttr this$0;
descriptor: Lcom/sun/tools/javac/comp/ArgumentAttr;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, T, java.util.Map<com.sun.tools.javac.comp.Attr$ResultInfo, com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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.ArgumentAttr$ArgumentType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
1: aload 0
aload 1
getfield com.sun.tools.javac.comp.ArgumentAttr.deferredAttr:Lcom/sun/tools/javac/comp/DeferredAttr;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
aload 2
aload 3
invokespecial com.sun.tools.javac.comp.DeferredAttr$DeferredType.<init>:(Lcom/sun/tools/javac/comp/DeferredAttr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;)V
2: aload 0
aload 4
putfield com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.speculativeTree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
3: aload 0
aload 5
putfield com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.speculativeTypes:Ljava/util/Map;
4: return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType<TT;>;
0 5 2 tree Lcom/sun/tools/javac/tree/JCTree$JCExpression;
0 5 3 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
0 5 4 speculativeTree TT;
0 5 5 speculativeTypes Ljava/util/Map<Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;TT;Ljava/util/Map<Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/code/Type;>;)V
MethodParameters:
Name Flags
this$0 final
tree
env
speculativeTree
speculativeTypes
final com.sun.tools.javac.comp.DeferredAttr$DeferredTypeCompleter completer();
descriptor: ()Lcom/sun/tools/javac/comp/DeferredAttr$DeferredTypeCompleter;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType<TT;>;
public final com.sun.tools.javac.code.Type complete(com.sun.tools.javac.comp.DeferredAttr$DeferredType, com.sun.tools.javac.comp.Attr$ResultInfo, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext);
descriptor: (Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;)Lcom/sun/tools/javac/code/Type;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
3: aload 3
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.mode:Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
getstatic com.sun.tools.javac.comp.DeferredAttr$AttrMode.SPECULATIVE:Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
if_acmpne 10
4: aload 2
getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
getstatic com.sun.tools.javac.code.Type.recoveryType:Lcom/sun/tools/javac/code/Type$JCNoType;
if_acmpne 6
5: aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
getfield com.sun.tools.javac.comp.ArgumentAttr.deferredAttr:Lcom/sun/tools/javac/comp/DeferredAttr;
getfield com.sun.tools.javac.comp.DeferredAttr.basicCompleter:Lcom/sun/tools/javac/comp/DeferredAttr$DeferredTypeCompleter;
aload 1
aload 2
aload 3
invokeinterface com.sun.tools.javac.comp.DeferredAttr$DeferredTypeCompleter.complete:(Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;)Lcom/sun/tools/javac/code/Type;
goto 7
6: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.overloadCheck:(Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;)Lcom/sun/tools/javac/code/Type;
7: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
astore 4
start local 4 8: aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.speculativeTypes:Ljava/util/Map;
aload 2
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 4
areturn
end local 4 10: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.env:Lcom/sun/tools/javac/comp/Env;
getfield com.sun.tools.javac.comp.Env.info:Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.AttrContext
getfield com.sun.tools.javac.comp.AttrContext.attributionMode:Lcom/sun/tools/javac/comp/DeferredAttr$AttributionMode;
getfield com.sun.tools.javac.comp.DeferredAttr$AttributionMode.isSpeculative:Z
ifne 12
11: aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
getfield com.sun.tools.javac.comp.ArgumentAttr.argumentTypeCache:Ljava/util/Map;
new com.sun.tools.javac.comp.ArgumentAttr$UniquePos
dup
aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
aload 1
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredType.tree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokespecial com.sun.tools.javac.comp.ArgumentAttr$UniquePos.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree;)V
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
12: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
getfield com.sun.tools.javac.comp.ArgumentAttr.deferredAttr:Lcom/sun/tools/javac/comp/DeferredAttr;
getfield com.sun.tools.javac.comp.DeferredAttr.basicCompleter:Lcom/sun/tools/javac/comp/DeferredAttr$DeferredTypeCompleter;
aload 1
aload 2
aload 3
invokeinterface com.sun.tools.javac.comp.DeferredAttr$DeferredTypeCompleter.complete:(Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;)Lcom/sun/tools/javac/code/Type;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType<TT;>;
0 13 1 dt Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType;
0 13 2 resultInfo Lcom/sun/tools/javac/comp/Attr$ResultInfo;
0 13 3 deferredAttrContext Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
8 10 4 t Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
dt
resultInfo
deferredAttrContext
com.sun.tools.javac.code.Type speculativeType(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/code/Type;
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.notPertinentToApplicability:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
aload 1
aload 2
invokespecial com.sun.tools.javac.comp.DeferredAttr$DeferredType.speculativeType:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;)Lcom/sun/tools/javac/code/Type;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.speculativeTypes:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: com.sun.tools.javac.comp.ArgumentAttr$ArgumentType com.sun.tools.javac.code.Symbol com.sun.tools.javac.comp.Resolve$MethodResolutionPhase top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 4: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.Attr$ResultInfo
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;
astore 5
start local 5 5: aload 5
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.phase:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
aload 2
if_acmpne 7
aload 5
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.msym:Lcom/sun/tools/javac/code/Symbol;
aload 1
if_acmpne 7
6: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
areturn
end local 5 end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType<TT;>;
0 9 1 msym Lcom/sun/tools/javac/code/Symbol;
0 9 2 phase Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
4 7 3 _entry Ljava/util/Map$Entry<Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/code/Type;>;
5 7 5 deferredAttrContext Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
MethodParameters:
Name Flags
msym
phase
com.sun.tools.javac.tree.JCTree speculativeTree(com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext);
descriptor: (Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;)Lcom/sun/tools/javac/tree/JCTree;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.notPertinentToApplicability:Ljava/util/Set;
aload 1
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.msym:Lcom/sun/tools/javac/code/Symbol;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
aload 1
invokespecial com.sun.tools.javac.comp.DeferredAttr$DeferredType.speculativeTree:(Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;)Lcom/sun/tools/javac/tree/JCTree;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.speculativeTree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
3: StackMap locals:
StackMap stack: com.sun.tools.javac.tree.JCTree
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType<TT;>;
0 4 1 deferredAttrContext Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
MethodParameters:
Name Flags
deferredAttrContext
abstract com.sun.tools.javac.code.Type overloadCheck(com.sun.tools.javac.comp.Attr$ResultInfo, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext);
descriptor: (Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;)Lcom/sun/tools/javac/code/Type;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
resultInfo
deferredAttrContext
abstract com.sun.tools.javac.comp.ArgumentAttr$ArgumentType<T> dup(T, com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType;
flags: (0x0400) ACC_ABSTRACT
Signature: (TT;Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;)Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType<TT;>;
MethodParameters:
Name Flags
tree
env
}
Signature: <T:Lcom/sun/tools/javac/tree/JCTree$JCExpression;>Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredTypeCompleter;
SourceFile: "ArgumentAttr.java"
NestHost: com.sun.tools.javac.comp.ArgumentAttr
InnerClasses:
abstract ArgumentType = com.sun.tools.javac.comp.ArgumentAttr$ArgumentType of com.sun.tools.javac.comp.ArgumentAttr
UniquePos = com.sun.tools.javac.comp.ArgumentAttr$UniquePos of com.sun.tools.javac.comp.ArgumentAttr
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
public final AttrMode = com.sun.tools.javac.comp.DeferredAttr$AttrMode of com.sun.tools.javac.comp.DeferredAttr
final AttributionMode = com.sun.tools.javac.comp.DeferredAttr$AttributionMode of com.sun.tools.javac.comp.DeferredAttr
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
abstract DeferredTypeCompleter = com.sun.tools.javac.comp.DeferredAttr$DeferredTypeCompleter of com.sun.tools.javac.comp.DeferredAttr
MethodResolutionPhase = com.sun.tools.javac.comp.Resolve$MethodResolutionPhase of com.sun.tools.javac.comp.Resolve
public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
public abstract Entry = java.util.Map$Entry of java.util.Map