class com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext
super_class: java.lang.Object
{
final com.sun.tools.javac.comp.DeferredAttr$AttrMode mode;
descriptor: Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
flags: (0x0010) ACC_FINAL
final com.sun.tools.javac.code.Symbol msym;
descriptor: Lcom/sun/tools/javac/code/Symbol;
flags: (0x0010) ACC_FINAL
final com.sun.tools.javac.comp.Resolve$MethodResolutionPhase phase;
descriptor: Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
flags: (0x0010) ACC_FINAL
final com.sun.tools.javac.comp.InferenceContext inferenceContext;
descriptor: Lcom/sun/tools/javac/comp/InferenceContext;
flags: (0x0010) ACC_FINAL
final com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext parent;
descriptor: Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
flags: (0x0010) ACC_FINAL
final com.sun.tools.javac.util.Warner warn;
descriptor: Lcom/sun/tools/javac/util/Warner;
flags: (0x0010) ACC_FINAL
java.util.ArrayList<com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode> deferredAttrNodes;
descriptor: Ljava/util/ArrayList;
flags: (0x0000)
Signature: Ljava/util/ArrayList<Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrNode;>;
final com.sun.tools.javac.comp.DeferredAttr this$0;
descriptor: Lcom/sun/tools/javac/comp/DeferredAttr;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.comp.DeferredAttr, com.sun.tools.javac.comp.DeferredAttr$AttrMode, com.sun.tools.javac.code.Symbol, com.sun.tools.javac.comp.Resolve$MethodResolutionPhase, com.sun.tools.javac.comp.InferenceContext, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext, com.sun.tools.javac.util.Warner);
descriptor: (Lcom/sun/tools/javac/comp/DeferredAttr;Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;Lcom/sun/tools/javac/comp/InferenceContext;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;)V
flags: (0x0000)
Code:
stack=3, locals=8, args_size=8
start local 0 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.this$0:Lcom/sun/tools/javac/comp/DeferredAttr;
1: aload 0
invokespecial java.lang.Object.<init>:()V
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.deferredAttrNodes:Ljava/util/ArrayList;
3: aload 0
aload 2
putfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.mode:Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
4: aload 0
aload 3
putfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.msym:Lcom/sun/tools/javac/code/Symbol;
5: aload 0
aload 4
putfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.phase:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
6: aload 0
aload 6
putfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.parent:Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
7: aload 0
aload 7
putfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.warn:Lcom/sun/tools/javac/util/Warner;
8: aload 0
aload 5
putfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.inferenceContext:Lcom/sun/tools/javac/comp/InferenceContext;
9: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
0 10 2 mode Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
0 10 3 msym Lcom/sun/tools/javac/code/Symbol;
0 10 4 phase Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
0 10 5 inferenceContext Lcom/sun/tools/javac/comp/InferenceContext;
0 10 6 parent Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
0 10 7 warn Lcom/sun/tools/javac/util/Warner;
MethodParameters:
Name Flags
this$0 final
mode
msym
phase
inferenceContext
parent
warn
void addDeferredAttrNode(com.sun.tools.javac.comp.DeferredAttr$DeferredType, com.sun.tools.javac.comp.Attr$ResultInfo, com.sun.tools.javac.comp.DeferredAttr$DeferredStuckPolicy);
descriptor: (Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredStuckPolicy;)V
flags: (0x0000)
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.deferredAttrNodes:Ljava/util/ArrayList;
new com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode
dup
aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.this$0:Lcom/sun/tools/javac/comp/DeferredAttr;
aload 1
aload 2
aload 3
invokespecial com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode.<init>:(Lcom/sun/tools/javac/comp/DeferredAttr;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredStuckPolicy;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
0 2 1 dt Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType;
0 2 2 resultInfo Lcom/sun/tools/javac/comp/Attr$ResultInfo;
0 2 3 deferredStuckPolicy Lcom/sun/tools/javac/comp/DeferredAttr$DeferredStuckPolicy;
MethodParameters:
Name Flags
dt final
resultInfo
deferredStuckPolicy
void complete();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=1
start local 0 0: goto 21
1: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 2: aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.deferredAttrNodes:Ljava/util/ArrayList;
invokestatic com.sun.tools.javac.util.List.from:(Ljava/lang/Iterable;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext int top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode
astore 2
start local 2 4: aload 2
aload 0
invokevirtual com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode.process:(Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;)Z
ifeq 7
5: aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.deferredAttrNodes:Ljava/util/ArrayList;
aload 2
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
6: iconst_1
istore 1
end local 2 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: iload 1
ifne 21
9: aload 0
invokevirtual com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.insideOverloadPhase:()Z
ifeq 15
10: aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.deferredAttrNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 13
StackMap locals:
StackMap stack:
11: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode
astore 2
start local 2 12: aload 2
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode.dt:Lcom/sun/tools/javac/comp/DeferredAttr$DeferredType;
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredType.tree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
putfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
end local 2 13: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: return
15: StackMap locals: com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext int
StackMap stack:
aload 0
invokevirtual com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.pickDeferredNode:()Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrNode;
astore 2
start local 2 16: aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.inferenceContext:Lcom/sun/tools/javac/comp/InferenceContext;
aload 2
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode.deferredStuckPolicy:Lcom/sun/tools/javac/comp/DeferredAttr$DeferredStuckPolicy;
invokeinterface com.sun.tools.javac.comp.DeferredAttr$DeferredStuckPolicy.stuckVars:()Ljava/util/Set;
invokestatic com.sun.tools.javac.util.List.from:(Ljava/lang/Iterable;)Lcom/sun/tools/javac/util/List;
aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.warn:Lcom/sun/tools/javac/util/Warner;
invokevirtual com.sun.tools.javac.comp.InferenceContext.solveAny:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/Warner;)V
17: aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.inferenceContext:Lcom/sun/tools/javac/comp/InferenceContext;
invokevirtual com.sun.tools.javac.comp.InferenceContext.notifyChange:()V
end local 2 18: goto 21
StackMap locals:
StackMap stack: com.sun.tools.javac.comp.Infer$GraphStrategy$NodeNotFoundException
19: pop
20: goto 22
end local 1 21: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.deferredAttrNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 1
22: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
2 21 1 progress Z
4 7 2 deferredAttrNode Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrNode;
12 13 2 deferredNode Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrNode;
16 18 2 toUnstuck Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrNode;
Exception table:
from to target type
15 18 19 Class com.sun.tools.javac.comp.Infer$GraphStrategy$NodeNotFoundException
public boolean insideOverloadPhase();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: aload 1
aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.this$0:Lcom/sun/tools/javac/comp/DeferredAttr;
getfield com.sun.tools.javac.comp.DeferredAttr.emptyDeferredAttrContext:Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
if_acmpne 3
2: iconst_0
ireturn
3: StackMap locals: com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext
StackMap stack:
aload 1
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 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.parent:Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
invokevirtual com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.insideOverloadPhase:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
1 6 1 dac Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode pickDeferredNode();
descriptor: ()Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrNode;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.buildStuckGraph:()Lcom/sun/tools/javac/util/List;
astore 1
start local 1 1: aload 1
invokestatic com.sun.tools.javac.util.GraphUtils.tarjan:(Ljava/lang/Iterable;)Lcom/sun/tools/javac/util/List;
iconst_0
invokevirtual com.sun.tools.javac.util.List.get:(I)Ljava/lang/Object;
checkcast com.sun.tools.javac.util.List
astore 2
start local 2 2: aload 2
invokevirtual com.sun.tools.javac.util.List.length:()I
iconst_1
if_icmpne 3
aload 2
iconst_0
invokevirtual com.sun.tools.javac.util.List.get:(I)Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext$StuckNode
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext$StuckNode.data:Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode
goto 4
StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.util.List
StackMap stack:
3: aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.deferredAttrNodes:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode
StackMap locals:
StackMap stack: com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode
4: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
1 5 1 stuckGraph Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext$StuckNode;>;
2 5 2 csn Lcom/sun/tools/javac/util/List<+Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext$StuckNode;>;
com.sun.tools.javac.util.List<com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext$StuckNode> buildStuckGraph();
descriptor: ()Lcom/sun/tools/javac/util/List;
flags: (0x0000)
Code:
stack=7, locals=7, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.this$0:Lcom/sun/tools/javac/comp/DeferredAttr;
getfield com.sun.tools.javac.comp.DeferredAttr.infer:Lcom/sun/tools/javac/comp/Infer;
aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.inferenceContext:Lcom/sun/tools/javac/comp/InferenceContext;
aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.warn:Lcom/sun/tools/javac/util/Warner;
invokevirtual com.sun.tools.javac.comp.Infer.doIncorporation:(Lcom/sun/tools/javac/comp/InferenceContext;Lcom/sun/tools/javac/util/Warner;)V
1: new com.sun.tools.javac.comp.Infer$GraphSolver$InferenceGraph
dup
2: new com.sun.tools.javac.comp.Infer$GraphSolver
dup
aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.this$0:Lcom/sun/tools/javac/comp/DeferredAttr;
getfield com.sun.tools.javac.comp.DeferredAttr.infer:Lcom/sun/tools/javac/comp/Infer;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.inferenceContext:Lcom/sun/tools/javac/comp/InferenceContext;
aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.this$0:Lcom/sun/tools/javac/comp/DeferredAttr;
getfield com.sun.tools.javac.comp.DeferredAttr.types:Lcom/sun/tools/javac/code/Types;
getfield com.sun.tools.javac.code.Types.noWarnings:Lcom/sun/tools/javac/util/Warner;
invokespecial com.sun.tools.javac.comp.Infer$GraphSolver.<init>:(Lcom/sun/tools/javac/comp/Infer;Lcom/sun/tools/javac/comp/InferenceContext;Lcom/sun/tools/javac/util/Warner;)V
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokespecial com.sun.tools.javac.comp.Infer$GraphSolver$InferenceGraph.<init>:(Lcom/sun/tools/javac/comp/Infer$GraphSolver;)V
astore 1
start local 1 3: aload 0
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.deferredAttrNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.stream:()Ljava/util/stream/Stream;
4: aload 0
invokedynamic apply(Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;)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/comp/DeferredAttr$DeferredAttrContext$StuckNode.<init>(Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrNode;)V (8)
(Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrNode;)Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext$StuckNode;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
5: invokestatic com.sun.tools.javac.util.List.collector:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast com.sun.tools.javac.util.List
6: astore 2
start local 2 7: aload 2
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 14
StackMap locals: com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext com.sun.tools.javac.comp.Infer$GraphSolver$InferenceGraph com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
8: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext$StuckNode
astore 3
start local 3 9: aload 2
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 13
StackMap locals: com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext com.sun.tools.javac.comp.Infer$GraphSolver$InferenceGraph com.sun.tools.javac.util.List com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext$StuckNode java.util.Iterator top java.util.Iterator
StackMap stack:
10: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext$StuckNode
astore 5
start local 5 11: aload 3
aload 5
if_acmpeq 13
aload 0
aload 1
aload 5
aload 3
invokevirtual com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.canInfluence:(Lcom/sun/tools/javac/comp/Infer$GraphSolver$InferenceGraph;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext$StuckNode;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext$StuckNode;)Z
ifeq 13
12: aload 3
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext$StuckNode.deps:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 5 13: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 3 14: StackMap locals: com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext com.sun.tools.javac.comp.Infer$GraphSolver$InferenceGraph com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
15: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
3 16 1 graph Lcom/sun/tools/javac/comp/Infer$GraphSolver$InferenceGraph;
7 16 2 nodes Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext$StuckNode;>;
9 14 3 sn1 Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext$StuckNode;
11 13 5 sn2 Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext$StuckNode;
Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext$StuckNode;>;
boolean canInfluence(com.sun.tools.javac.comp.Infer$GraphSolver$InferenceGraph, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext$StuckNode, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext$StuckNode);
descriptor: (Lcom/sun/tools/javac/comp/Infer$GraphSolver$InferenceGraph;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext$StuckNode;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext$StuckNode;)Z
flags: (0x0000)
Code:
stack=3, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext$StuckNode.data:Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode.deferredStuckPolicy:Lcom/sun/tools/javac/comp/DeferredAttr$DeferredStuckPolicy;
invokeinterface com.sun.tools.javac.comp.DeferredAttr$DeferredStuckPolicy.depVars:()Ljava/util/Set;
astore 4
start local 4 1: aload 3
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext$StuckNode.data:Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode
getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode.deferredStuckPolicy:Lcom/sun/tools/javac/comp/DeferredAttr$DeferredStuckPolicy;
invokeinterface com.sun.tools.javac.comp.DeferredAttr$DeferredStuckPolicy.stuckVars:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 10
StackMap locals: com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext com.sun.tools.javac.comp.Infer$GraphSolver$InferenceGraph com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext$StuckNode com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext$StuckNode java.util.Set top java.util.Iterator
StackMap stack:
2: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 5
start local 5 3: aload 1
aload 5
invokevirtual com.sun.tools.javac.comp.Infer$GraphSolver$InferenceGraph.findNode:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/comp/Infer$GraphSolver$InferenceGraph$Node;
astore 7
start local 7 4: aload 7
ifnull 10
5: aload 7
invokevirtual com.sun.tools.javac.comp.Infer$GraphSolver$InferenceGraph$Node.closure:()Ljava/util/Set;
astore 8
start local 8 6: aload 4
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
7: aload 1
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic apply(Lcom/sun/tools/javac/comp/Infer$GraphSolver$InferenceGraph;)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/comp/Infer$GraphSolver$InferenceGraph.findNode(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/comp/Infer$GraphSolver$InferenceGraph$Node; (5)
(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/comp/Infer$GraphSolver$InferenceGraph$Node;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
8: aload 8
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic test(Ljava/util/Set;)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
java/util/Set.contains(Ljava/lang/Object;)Z (9 itf)
(Lcom/sun/tools/javac/comp/Infer$GraphSolver$InferenceGraph$Node;)Z
invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
ifeq 10
9: iconst_1
ireturn
end local 8 end local 7 end local 5 10: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
11: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
0 12 1 graph Lcom/sun/tools/javac/comp/Infer$GraphSolver$InferenceGraph;
0 12 2 sn1 Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext$StuckNode;
0 12 3 sn2 Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext$StuckNode;
1 12 4 outputVars Ljava/util/Set<Lcom/sun/tools/javac/code/Type;>;
3 10 5 inputVar Lcom/sun/tools/javac/code/Type;
4 10 7 inputNode Lcom/sun/tools/javac/comp/Infer$GraphSolver$InferenceGraph$Node;
6 10 8 inputClosure Ljava/util/Set<Lcom/sun/tools/javac/comp/Infer$GraphSolver$InferenceGraph$Node;>;
MethodParameters:
Name Flags
graph
sn1
sn2
}
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 final AttrMode = com.sun.tools.javac.comp.DeferredAttr$AttrMode of com.sun.tools.javac.comp.DeferredAttr
DeferredAttrContext = com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext of com.sun.tools.javac.comp.DeferredAttr
StuckNode = com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext$StuckNode of com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext
DeferredAttrNode = com.sun.tools.javac.comp.DeferredAttr$DeferredAttrNode of com.sun.tools.javac.comp.DeferredAttr
abstract DeferredStuckPolicy = com.sun.tools.javac.comp.DeferredAttr$DeferredStuckPolicy of com.sun.tools.javac.comp.DeferredAttr
public DeferredType = com.sun.tools.javac.comp.DeferredAttr$DeferredType of com.sun.tools.javac.comp.DeferredAttr
GraphSolver = com.sun.tools.javac.comp.Infer$GraphSolver of com.sun.tools.javac.comp.Infer
InferenceGraph = com.sun.tools.javac.comp.Infer$GraphSolver$InferenceGraph of com.sun.tools.javac.comp.Infer$GraphSolver
Node = com.sun.tools.javac.comp.Infer$GraphSolver$InferenceGraph$Node of com.sun.tools.javac.comp.Infer$GraphSolver$InferenceGraph
abstract GraphStrategy = com.sun.tools.javac.comp.Infer$GraphStrategy of com.sun.tools.javac.comp.Infer
public NodeNotFoundException = com.sun.tools.javac.comp.Infer$GraphStrategy$NodeNotFoundException of com.sun.tools.javac.comp.Infer$GraphStrategy
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 TarjanNode = com.sun.tools.javac.util.GraphUtils$TarjanNode of com.sun.tools.javac.util.GraphUtils
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles