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 1413
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 1418
aload 1 /* tree */
getfield com.sun.tools.javac.tree.JCTree$JCLambda.type:Lcom/sun/tools/javac/code/Type;
ifnull 2
1: .line 1419
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 1420
StackMap locals:
StackMap stack:
return
4: .line 1422
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 1423
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 1424
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 1425
aload 0 /* this */
iconst_1
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.inLambda:Z
8: .line 1427
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 1428
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 1429
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 1430
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 1431
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 1432
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 1433
aload 0 /* this */
aload 4 /* prevPending */
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
16: .line 1434
aload 0 /* this */
aload 2 /* prevCaught */
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
17: .line 1435
aload 0 /* this */
aload 3 /* prevThrown */
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
18: .line 1436
aload 0 /* this */
iconst_0
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.inLambda:Z
19: .line 1437
aload 5
athrow
20: .line 1433
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 1434
aload 0 /* this */
aload 2 /* prevCaught */
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.caught:Lcom/sun/tools/javac/util/List;
22: .line 1435
aload 0 /* this */
aload 3 /* prevThrown */
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.thrown:Lcom/sun/tools/javac/util/List;
23: .line 1436
aload 0 /* this */
iconst_0
putfield com.sun.tools.javac.comp.Flow$LambdaFlowAnalyzer.inLambda:Z
24: .line 1438
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$FlowAnalyzer$FlowPendingExit;>;
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 1442
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