class com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer extends com.sun.tools.javac.comp.Flow$FlowAnalyzer
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer
super_class: com.sun.tools.javac.comp.Flow$FlowAnalyzer
{
com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> inferredThrownTypes;
descriptor: Lcom/sun/tools/javac/util/List;
flags: (0x0000)
Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
boolean inLambda;
descriptor: Z
flags: (0x0000)
final com.sun.tools.javac.comp.Flow this$0;
descriptor: Lcom/sun/tools/javac/comp/Flow;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.comp.Flow);
descriptor: (Lcom/sun/tools/javac/comp/Flow;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer this
0: .line 1625
aload 0 /* this */
aload 1
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
aload 0 /* this */
aload 1
invokespecial com.sun.tools.javac.comp.Flow$FlowAnalyzer.<init>:(Lcom/sun/tools/javac/comp/Flow;)V
return
end local 0 // com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Flow$LambdaFlowAnalyzer;
MethodParameters:
Name Flags
this$0 final
public void visitLambda(com.sun.tools.javac.tree.JCTree$JCLambda);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCLambda;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 // com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer this
start local 1 // com.sun.tools.javac.tree.JCTree$JCLambda tree
0: .line 1630
aload 1 /* tree */
getfield com.sun.tools.javac.tree.JCTree$JCLambda.type:Lcom/sun/tools/javac/code/Type;
ifnull 2
1: .line 1631
aload 1 /* tree */
getfield com.sun.tools.javac.tree.JCTree$JCLambda.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
ifne 3
StackMap locals:
StackMap stack:
2: aload 0 /* this */
getfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.inLambda:Z
ifeq 4
3: .line 1632
StackMap locals:
StackMap stack:
return
4: .line 1634
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
astore 2 /* prevCaught */
start local 2 // com.sun.tools.javac.util.List prevCaught
5: .line 1635
aload 0 /* this */
getfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
astore 3 /* prevThrown */
start local 3 // com.sun.tools.javac.util.List prevThrown
6: .line 1636
aload 0 /* this */
getfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
astore 4 /* prevPending */
start local 4 // com.sun.tools.javac.util.ListBuffer prevPending
7: .line 1637
aload 0 /* this */
iconst_1
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.inLambda:Z
8: .line 1639
aload 0 /* this */
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
9: .line 1640
aload 0 /* this */
aload 0 /* this */
getfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.throwableType:Lcom/sun/tools/javac/code/Type;
invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
10: .line 1641
aload 0 /* this */
invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
11: .line 1642
aload 0 /* this */
aload 1 /* tree */
getfield com.sun.tools.javac.tree.JCTree$JCLambda.body:Lcom/sun/tools/javac/tree/JCTree;
invokevirtual com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
12: .line 1643
aload 0 /* this */
aload 0 /* this */
getfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.inferredThrownTypes:Lcom/sun/tools/javac/util/List;
13: .line 1644
goto 20
StackMap locals: com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer com.sun.tools.javac.tree.JCTree$JCLambda com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.ListBuffer
StackMap stack: java.lang.Throwable
14: astore 5
15: .line 1645
aload 0 /* this */
aload 4 /* prevPending */
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
16: .line 1646
aload 0 /* this */
aload 2 /* prevCaught */
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
17: .line 1647
aload 0 /* this */
aload 3 /* prevThrown */
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
18: .line 1648
aload 0 /* this */
iconst_0
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.inLambda:Z
19: .line 1649
aload 5
athrow
20: .line 1645
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 4 /* prevPending */
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
21: .line 1646
aload 0 /* this */
aload 2 /* prevCaught */
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
22: .line 1647
aload 0 /* this */
aload 3 /* prevThrown */
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
23: .line 1648
aload 0 /* this */
iconst_0
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.inLambda:Z
24: .line 1650
return
end local 4 // com.sun.tools.javac.util.ListBuffer prevPending
end local 3 // com.sun.tools.javac.util.List prevThrown
end local 2 // com.sun.tools.javac.util.List prevCaught
end local 1 // com.sun.tools.javac.tree.JCTree$JCLambda tree
end local 0 // com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer this
LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/tools/javac/comp/Flow$LambdaFlowAnalyzer;
0 25 1 tree Lcom/sun/tools/javac/tree/JCTree$JCLambda;
5 25 2 prevCaught Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
6 25 3 prevThrown Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
7 25 4 prevPending Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;>;
Exception table:
from to target type
8 14 14 any
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=0, locals=2, args_size=2
start local 0 // com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer this
start local 1 // com.sun.tools.javac.tree.JCTree$JCClassDecl tree
0: .line 1654
return
end local 1 // com.sun.tools.javac.tree.JCTree$JCClassDecl tree
end local 0 // com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Flow$LambdaFlowAnalyzer;
0 1 1 tree Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
MethodParameters:
Name Flags
tree
}
SourceFile: "Flow.java"
NestHost: com.sun.tools.javac.comp.Flow
InnerClasses:
FlowAnalyzer = com.sun.tools.javac.comp.Flow$FlowAnalyzer of com.sun.tools.javac.comp.Flow
LambdaFlowAnalyzer = com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer of com.sun.tools.javac.comp.Flow
public JCClassDecl = com.sun.tools.javac.tree.JCTree$JCClassDecl of com.sun.tools.javac.tree.JCTree
public JCLambda = com.sun.tools.javac.tree.JCTree$JCLambda of com.sun.tools.javac.tree.JCTree