class com.sun.tools.javac.comp.Flow$AliveAnalyzer extends com.sun.tools.javac.comp.Flow$BaseAnalyzer
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.comp.Flow$AliveAnalyzer
super_class: com.sun.tools.javac.comp.Flow$BaseAnalyzer
{
private com.sun.tools.javac.comp.Flow$Liveness alive;
descriptor: Lcom/sun/tools/javac/comp/Flow$Liveness;
flags: (0x0002) ACC_PRIVATE
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 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
aload 0
invokespecial com.sun.tools.javac.comp.Flow$BaseAnalyzer.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
MethodParameters:
Name Flags
this$0 final
void markDead();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.sun.tools.javac.comp.Flow$Liveness.DEAD:Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
void scanDef(com.sun.tools.javac.tree.JCTree);
descriptor: (Lcom/sun/tools/javac/tree/JCTree;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStat:(Lcom/sun/tools/javac/tree/JCTree;)V
1: aload 1
ifnull 5
aload 1
getstatic com.sun.tools.javac.tree.JCTree$Tag.BLOCK:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifeq 5
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
getstatic com.sun.tools.javac.comp.Flow$Liveness.DEAD:Lcom/sun/tools/javac/comp/Flow$Liveness;
if_acmpne 5
2: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.log:Lcom/sun/tools/javac/util/Log;
aload 1
invokevirtual com.sun.tools.javac.tree.JCTree.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
3: getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.InitializerMustBeAbleToCompleteNormally:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
4: invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 6 1 tree Lcom/sun/tools/javac/tree/JCTree;
MethodParameters:
Name Flags
tree
void scanStat(com.sun.tools.javac.tree.JCTree);
descriptor: (Lcom/sun/tools/javac/tree/JCTree;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
getstatic com.sun.tools.javac.comp.Flow$Liveness.DEAD:Lcom/sun/tools/javac/comp/Flow$Liveness;
if_acmpne 3
aload 1
ifnull 3
1: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.log:Lcom/sun/tools/javac/util/Log;
aload 1
invokevirtual com.sun.tools.javac.tree.JCTree.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.UnreachableStmt:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
2: aload 1
getstatic com.sun.tools.javac.tree.JCTree$Tag.SKIP:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifne 3
aload 0
getstatic com.sun.tools.javac.comp.Flow$Liveness.RECOVERY:Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 5 1 tree Lcom/sun/tools/javac/tree/JCTree;
MethodParameters:
Name Flags
tree
void scanStats(com.sun.tools.javac.util.List<? extends com.sun.tools.javac.tree.JCTree$JCStatement>);
descriptor: (Lcom/sun/tools/javac/util/List;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 6
1: aload 1
astore 2
start local 2 2: goto 5
3: StackMap locals: com.sun.tools.javac.util.List
StackMap stack:
aload 0
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStat:(Lcom/sun/tools/javac/tree/JCTree;)V
4: aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 2
StackMap locals:
StackMap stack:
5: aload 2
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 3
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 7 1 trees Lcom/sun/tools/javac/util/List<+Lcom/sun/tools/javac/tree/JCTree$JCStatement;>;
2 6 2 l Lcom/sun/tools/javac/util/List<+Lcom/sun/tools/javac/tree/JCTree$JCStatement;>;
Signature: (Lcom/sun/tools/javac/util/List<+Lcom/sun/tools/javac/tree/JCTree$JCStatement;>;)V
MethodParameters:
Name Flags
trees
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=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
ifnonnull 1
return
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
astore 2
start local 2 2: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
astore 3
start local 3 3: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
astore 4
start local 4 4: aload 0
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
5: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
invokevirtual com.sun.tools.javac.code.Lint.augment:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Lint;
putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
6: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.defs:Lcom/sun/tools/javac/util/List;
astore 5
start local 5 7: goto 13
8: StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.tools.javac.comp.Flow$Liveness com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Lint com.sun.tools.javac.util.List
StackMap stack:
aload 5
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree
getstatic com.sun.tools.javac.tree.JCTree$Tag.METHODDEF:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifne 12
9: aload 5
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree
invokestatic com.sun.tools.javac.tree.TreeInfo.flags:(Lcom/sun/tools/javac/tree/JCTree;)J
ldc 8
land
lconst_0
lcmp
ifeq 12
10: aload 0
aload 5
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanDef:(Lcom/sun/tools/javac/tree/JCTree;)V
11: aload 0
iconst_0
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.clearPendingExits:(Z)V
12: StackMap locals:
StackMap stack:
aload 5
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 5
StackMap locals:
StackMap stack:
13: aload 5
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 8
end local 5 14: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.defs:Lcom/sun/tools/javac/util/List;
astore 5
start local 5 15: goto 21
16: StackMap locals:
StackMap stack:
aload 5
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree
getstatic com.sun.tools.javac.tree.JCTree$Tag.METHODDEF:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifne 20
17: aload 5
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree
invokestatic com.sun.tools.javac.tree.TreeInfo.flags:(Lcom/sun/tools/javac/tree/JCTree;)J
ldc 8
land
lconst_0
lcmp
ifne 20
18: aload 0
aload 5
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanDef:(Lcom/sun/tools/javac/tree/JCTree;)V
19: aload 0
iconst_0
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.clearPendingExits:(Z)V
20: StackMap locals:
StackMap stack:
aload 5
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 5
StackMap locals:
StackMap stack:
21: aload 5
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 16
end local 5 22: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.defs:Lcom/sun/tools/javac/util/List;
astore 5
start local 5 23: goto 27
24: StackMap locals:
StackMap stack:
aload 5
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree
getstatic com.sun.tools.javac.tree.JCTree$Tag.METHODDEF:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifeq 26
25: aload 0
aload 5
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
26: StackMap locals:
StackMap stack:
aload 5
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 5
StackMap locals:
StackMap stack:
27: aload 5
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 24
end local 5 28: goto 34
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.tools.javac.comp.Flow$Liveness com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Lint
StackMap stack: java.lang.Throwable
29: astore 6
30: aload 0
aload 3
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
31: aload 0
aload 2
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
32: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
aload 4
putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
33: aload 6
athrow
34: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
35: aload 0
aload 2
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
36: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
aload 4
putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
37: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 38 1 tree Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
2 38 2 alivePrev Lcom/sun/tools/javac/comp/Flow$Liveness;
3 38 3 pendingExitsPrev Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;>;
4 38 4 lintPrev Lcom/sun/tools/javac/code/Lint;
7 14 5 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree;>;
15 22 5 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree;>;
23 28 5 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree;>;
Exception table:
from to target type
6 29 29 any
MethodParameters:
Name Flags
tree
public void visitMethodDef(com.sun.tools.javac.tree.JCTree$JCMethodDecl);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.body:Lcom/sun/tools/javac/tree/JCTree$JCBlock;
ifnonnull 1
return
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
astore 2
start local 2 2: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.sym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
invokevirtual com.sun.tools.javac.code.Lint.augment:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Lint;
putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
3: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
invokevirtual com.sun.tools.javac.util.ListBuffer.isEmpty:()Z
invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
4: aload 0
getstatic com.sun.tools.javac.comp.Flow$Liveness.ALIVE:Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
5: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.body:Lcom/sun/tools/javac/tree/JCTree$JCBlock;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStat:(Lcom/sun/tools/javac/tree/JCTree;)V
6: aload 1
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
getstatic com.sun.tools.javac.comp.Flow$Liveness.DEAD:Lcom/sun/tools/javac/comp/Flow$Liveness;
if_acmpeq 7
iconst_1
goto 8
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCMethodDecl com.sun.tools.javac.code.Lint
StackMap stack: com.sun.tools.javac.tree.JCTree$JCMethodDecl
7: iconst_0
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCMethodDecl com.sun.tools.javac.code.Lint
StackMap stack: com.sun.tools.javac.tree.JCTree$JCMethodDecl int
8: putfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.completesNormally:Z
9: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
getstatic com.sun.tools.javac.comp.Flow$Liveness.ALIVE:Lcom/sun/tools/javac/comp/Flow$Liveness;
if_acmpne 11
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.sym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
getfield com.sun.tools.javac.code.Symbol$MethodSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
getstatic com.sun.tools.javac.code.TypeTag.VOID:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 11
10: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.log:Lcom/sun/tools/javac/util/Log;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.body:Lcom/sun/tools/javac/tree/JCTree$JCBlock;
invokestatic com.sun.tools.javac.tree.TreeInfo.diagEndPos:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.MissingRetStmt:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
11: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.clearPendingExits:(Z)V
12: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 3
14: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
aload 2
putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
15: aload 3
athrow
16: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
aload 2
putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
17: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 18 1 tree Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;
2 18 2 lintPrev Lcom/sun/tools/javac/code/Lint;
Exception table:
from to target type
4 13 13 any
MethodParameters:
Name Flags
tree
private void clearPendingExits(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
astore 2
start local 2 1: aload 0
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
2: goto 9
3: StackMap locals: com.sun.tools.javac.util.List
StackMap stack:
aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit
astore 3
start local 3 4: aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 2
5: iload 1
ifeq 6
aload 3
getfield com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit.tree:Lcom/sun/tools/javac/tree/JCTree;
getstatic com.sun.tools.javac.tree.JCTree$Tag.RETURN:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifne 7
6: StackMap locals: com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.log:Lcom/sun/tools/javac/util/Log;
aload 3
getfield com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit.tree:Lcom/sun/tools/javac/tree/JCTree;
invokevirtual com.sun.tools.javac.tree.JCTree.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
invokevirtual com.sun.tools.javac.util.Log.hasErrorOn:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;)Z
ifne 7
iconst_0
goto 8
StackMap locals:
StackMap stack:
7: iconst_1
8: StackMap locals:
StackMap stack: int
invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
end local 3 9: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 3
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 11 1 inMethod Z
1 11 2 exits Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;>;
4 9 3 exit Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;
MethodParameters:
Name Flags
inMethod
public void visitVarDef(com.sun.tools.javac.tree.JCTree$JCVariableDecl);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.init:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
ifnull 9
1: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
astore 2
start local 2 2: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.sym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
invokevirtual com.sun.tools.javac.code.Lint.augment:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Lint;
putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
3: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.init:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
4: goto 8
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCVariableDecl com.sun.tools.javac.code.Lint
StackMap stack: java.lang.Throwable
5: astore 3
6: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
aload 2
putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
7: aload 3
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
aload 2
putfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 10 1 tree Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
2 9 2 lintPrev Lcom/sun/tools/javac/code/Lint;
Exception table:
from to target type
3 5 5 any
MethodParameters:
Name Flags
tree
public void visitBlock(com.sun.tools.javac.tree.JCTree$JCBlock);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCBlock;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCBlock.stats:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStats:(Lcom/sun/tools/javac/util/List;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 2 1 tree Lcom/sun/tools/javac/tree/JCTree$JCBlock;
MethodParameters:
Name Flags
tree
public void visitDoLoop(com.sun.tools.javac.tree.JCTree$JCDoWhileLoop);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCDoWhileLoop;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
astore 2
start local 2 1: aload 0
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
2: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCDoWhileLoop.body:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStat:(Lcom/sun/tools/javac/tree/JCTree;)V
3: aload 0
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
aload 0
aload 1
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.resolveContinues:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/comp/Flow$Liveness;
invokevirtual com.sun.tools.javac.comp.Flow$Liveness.or:(Lcom/sun/tools/javac/comp/Flow$Liveness;)Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
4: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCDoWhileLoop.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
5: aload 0
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCDoWhileLoop.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isTrue:()Z
ifeq 6
iconst_0
goto 7
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCDoWhileLoop com.sun.tools.javac.util.ListBuffer
StackMap stack: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.comp.Flow$Liveness
6: iconst_1
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCDoWhileLoop com.sun.tools.javac.util.ListBuffer
StackMap stack: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.comp.Flow$Liveness int
7: invokevirtual com.sun.tools.javac.comp.Flow$Liveness.and:(Z)Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
8: aload 0
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.resolveBreaks:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;)Lcom/sun/tools/javac/comp/Flow$Liveness;
invokevirtual com.sun.tools.javac.comp.Flow$Liveness.or:(Lcom/sun/tools/javac/comp/Flow$Liveness;)Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 10 1 tree Lcom/sun/tools/javac/tree/JCTree$JCDoWhileLoop;
1 10 2 prevPendingExits Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;>;
MethodParameters:
Name Flags
tree
public void visitWhileLoop(com.sun.tools.javac.tree.JCTree$JCWhileLoop);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCWhileLoop;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
astore 2
start local 2 1: aload 0
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
2: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCWhileLoop.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
3: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCWhileLoop.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isFalse:()Z
ifeq 4
iconst_0
goto 5
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCWhileLoop com.sun.tools.javac.util.ListBuffer
StackMap stack: com.sun.tools.javac.comp.Flow$AliveAnalyzer
4: iconst_1
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCWhileLoop com.sun.tools.javac.util.ListBuffer
StackMap stack: com.sun.tools.javac.comp.Flow$AliveAnalyzer int
5: invokestatic com.sun.tools.javac.comp.Flow$Liveness.from:(Z)Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
6: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCWhileLoop.body:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStat:(Lcom/sun/tools/javac/tree/JCTree;)V
7: aload 0
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
aload 0
aload 1
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.resolveContinues:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/comp/Flow$Liveness;
invokevirtual com.sun.tools.javac.comp.Flow$Liveness.or:(Lcom/sun/tools/javac/comp/Flow$Liveness;)Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
8: aload 0
aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.resolveBreaks:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;)Lcom/sun/tools/javac/comp/Flow$Liveness;
9: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCWhileLoop.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isTrue:()Z
ifeq 10
iconst_0
goto 11
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCWhileLoop com.sun.tools.javac.util.ListBuffer
StackMap stack: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.comp.Flow$Liveness
10: iconst_1
11: StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCWhileLoop com.sun.tools.javac.util.ListBuffer
StackMap stack: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.comp.Flow$Liveness int
invokevirtual com.sun.tools.javac.comp.Flow$Liveness.or:(Z)Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 13 1 tree Lcom/sun/tools/javac/tree/JCTree$JCWhileLoop;
1 13 2 prevPendingExits Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;>;
MethodParameters:
Name Flags
tree
public void visitForLoop(com.sun.tools.javac.tree.JCTree$JCForLoop);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCForLoop;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
astore 2
start local 2 1: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCForLoop.init:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStats:(Lcom/sun/tools/javac/util/List;)V
2: aload 0
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
3: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCForLoop.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
ifnull 9
4: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCForLoop.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
5: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCForLoop.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isFalse:()Z
ifeq 6
iconst_0
goto 7
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCForLoop com.sun.tools.javac.util.ListBuffer
StackMap stack: com.sun.tools.javac.comp.Flow$AliveAnalyzer
6: iconst_1
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCForLoop com.sun.tools.javac.util.ListBuffer
StackMap stack: com.sun.tools.javac.comp.Flow$AliveAnalyzer int
7: invokestatic com.sun.tools.javac.comp.Flow$Liveness.from:(Z)Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getstatic com.sun.tools.javac.comp.Flow$Liveness.ALIVE:Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
10: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCForLoop.body:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStat:(Lcom/sun/tools/javac/tree/JCTree;)V
11: aload 0
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
aload 0
aload 1
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.resolveContinues:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/comp/Flow$Liveness;
invokevirtual com.sun.tools.javac.comp.Flow$Liveness.or:(Lcom/sun/tools/javac/comp/Flow$Liveness;)Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
12: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCForLoop.step:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/util/List;)V
13: aload 0
aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.resolveBreaks:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;)Lcom/sun/tools/javac/comp/Flow$Liveness;
14: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCForLoop.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
ifnull 15
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCForLoop.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isTrue:()Z
ifne 15
iconst_1
goto 16
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCForLoop com.sun.tools.javac.util.ListBuffer
StackMap stack: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.comp.Flow$Liveness
15: iconst_0
16: StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCForLoop com.sun.tools.javac.util.ListBuffer
StackMap stack: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.comp.Flow$Liveness int
invokevirtual com.sun.tools.javac.comp.Flow$Liveness.or:(Z)Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
17: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 18 1 tree Lcom/sun/tools/javac/tree/JCTree$JCForLoop;
1 18 2 prevPendingExits Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;>;
MethodParameters:
Name Flags
tree
public void visitForeachLoop(com.sun.tools.javac.tree.JCTree$JCEnhancedForLoop);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCEnhancedForLoop;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCEnhancedForLoop.var:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.visitVarDef:(Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;)V
1: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
astore 2
start local 2 2: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCEnhancedForLoop.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
3: aload 0
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
4: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCEnhancedForLoop.body:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStat:(Lcom/sun/tools/javac/tree/JCTree;)V
5: aload 0
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
aload 0
aload 1
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.resolveContinues:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/comp/Flow$Liveness;
invokevirtual com.sun.tools.javac.comp.Flow$Liveness.or:(Lcom/sun/tools/javac/comp/Flow$Liveness;)Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
6: aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.resolveBreaks:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;)Lcom/sun/tools/javac/comp/Flow$Liveness;
pop
7: aload 0
getstatic com.sun.tools.javac.comp.Flow$Liveness.ALIVE:Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 9 1 tree Lcom/sun/tools/javac/tree/JCTree$JCEnhancedForLoop;
2 9 2 prevPendingExits Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;>;
MethodParameters:
Name Flags
tree
public void visitLabelled(com.sun.tools.javac.tree.JCTree$JCLabeledStatement);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCLabeledStatement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
astore 2
start local 2 1: aload 0
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
2: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCLabeledStatement.body:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStat:(Lcom/sun/tools/javac/tree/JCTree;)V
3: aload 0
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.resolveBreaks:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;)Lcom/sun/tools/javac/comp/Flow$Liveness;
invokevirtual com.sun.tools.javac.comp.Flow$Liveness.or:(Lcom/sun/tools/javac/comp/Flow$Liveness;)Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 5 1 tree Lcom/sun/tools/javac/tree/JCTree$JCLabeledStatement;
1 5 2 prevPendingExits Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;>;
MethodParameters:
Name Flags
tree
public void visitSwitch(com.sun.tools.javac.tree.JCTree$JCSwitch);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCSwitch;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
astore 2
start local 2 1: aload 0
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
2: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCSwitch.selector:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
3: iconst_0
istore 3
start local 3 4: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCSwitch.cases:Lcom/sun/tools/javac/util/List;
astore 4
start local 4 5: goto 29
6: StackMap locals: com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.util.List
StackMap stack:
aload 0
getstatic com.sun.tools.javac.comp.Flow$Liveness.ALIVE:Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
7: aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree$JCCase
astore 5
start local 5 8: aload 5
getfield com.sun.tools.javac.tree.JCTree$JCCase.pats:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 10
9: iconst_1
istore 3
goto 14
10: StackMap locals: com.sun.tools.javac.tree.JCTree$JCCase
StackMap stack:
aload 5
getfield com.sun.tools.javac.tree.JCTree$JCCase.pats:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 13
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCSwitch com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.util.List com.sun.tools.javac.tree.JCTree$JCCase top java.util.Iterator
StackMap stack:
11: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree$JCExpression
astore 6
start local 6 12: aload 0
aload 6
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
end local 6 13: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCSwitch com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.util.List com.sun.tools.javac.tree.JCTree$JCCase
StackMap stack:
aload 0
aload 5
getfield com.sun.tools.javac.tree.JCTree$JCCase.stats:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStats:(Lcom/sun/tools/javac/util/List;)V
15: aload 5
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
getstatic com.sun.tools.javac.comp.Flow$Liveness.DEAD:Lcom/sun/tools/javac/comp/Flow$Liveness;
if_acmpeq 16
iconst_1
goto 17
StackMap locals:
StackMap stack: com.sun.tools.javac.tree.JCTree$JCCase
16: iconst_0
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCSwitch com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.util.List com.sun.tools.javac.tree.JCTree$JCCase
StackMap stack: com.sun.tools.javac.tree.JCTree$JCCase int
17: putfield com.sun.tools.javac.tree.JCTree$JCCase.completesNormally:Z
18: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
getstatic com.sun.tools.javac.comp.Flow$Liveness.DEAD:Lcom/sun/tools/javac/comp/Flow$Liveness;
if_acmpeq 21
aload 5
getfield com.sun.tools.javac.tree.JCTree$JCCase.caseKind:Lcom/sun/source/tree/CaseTree$CaseKind;
getstatic com.sun.tools.javac.tree.JCTree$JCCase.RULE:Lcom/sun/source/tree/CaseTree$CaseKind;
if_acmpne 21
19: aload 0
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 1
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanSyntheticBreak:(Lcom/sun/tools/javac/tree/TreeMaker;Lcom/sun/tools/javac/tree/JCTree;)V
20: aload 0
getstatic com.sun.tools.javac.comp.Flow$Liveness.DEAD:Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
21: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
getstatic com.sun.tools.javac.comp.Flow$Liveness.ALIVE:Lcom/sun/tools/javac/comp/Flow$Liveness;
if_acmpne 28
22: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
getstatic com.sun.tools.javac.code.Lint$LintCategory.FALLTHROUGH:Lcom/sun/tools/javac/code/Lint$LintCategory;
invokevirtual com.sun.tools.javac.code.Lint.isEnabled:(Lcom/sun/tools/javac/code/Lint$LintCategory;)Z
ifeq 28
23: aload 5
getfield com.sun.tools.javac.tree.JCTree$JCCase.stats:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 28
aload 4
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 28
24: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.log:Lcom/sun/tools/javac/util/Log;
getstatic com.sun.tools.javac.code.Lint$LintCategory.FALLTHROUGH:Lcom/sun/tools/javac/code/Lint$LintCategory;
25: aload 4
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree$JCCase
invokevirtual com.sun.tools.javac.tree.JCTree$JCCase.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
26: getstatic com.sun.tools.javac.resources.CompilerProperties$Warnings.PossibleFallThroughIntoCase:Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
27: invokevirtual com.sun.tools.javac.util.Log.warning:(Lcom/sun/tools/javac/code/Lint$LintCategory;Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Warning;)V
end local 5 28: StackMap locals:
StackMap stack:
aload 4
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 4
StackMap locals:
StackMap stack:
29: aload 4
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 6
end local 4 30: iload 3
ifne 32
31: aload 0
getstatic com.sun.tools.javac.comp.Flow$Liveness.ALIVE:Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
32: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.resolveBreaks:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;)Lcom/sun/tools/javac/comp/Flow$Liveness;
invokevirtual com.sun.tools.javac.comp.Flow$Liveness.or:(Lcom/sun/tools/javac/comp/Flow$Liveness;)Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
33: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 34 1 tree Lcom/sun/tools/javac/tree/JCTree$JCSwitch;
1 34 2 prevPendingExits Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;>;
4 34 3 hasDefault Z
5 30 4 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCase;>;
8 28 5 c Lcom/sun/tools/javac/tree/JCTree$JCCase;
12 13 6 pat Lcom/sun/tools/javac/tree/JCTree$JCExpression;
MethodParameters:
Name Flags
tree
public void visitSwitchExpression(com.sun.tools.javac.tree.JCTree$JCSwitchExpression);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
astore 2
start local 2 1: aload 0
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
2: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCSwitchExpression.selector:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
3: aconst_null
astore 3
start local 3 4: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCSwitchExpression.selector:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
astore 4
start local 4 5: aload 4
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flags:()J
ldc 16384
land
lconst_0
lcmp
ifeq 13
6: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
7: invokedynamic accepts()Lcom/sun/tools/javac/util/Filter;
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
com/sun/tools/javac/comp/Flow$AliveAnalyzer.lambda$0(Lcom/sun/tools/javac/code/Symbol;)Z (6)
(Lcom/sun/tools/javac/code/Symbol;)Z
8: astore 5
start local 5 9: aload 4
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.members:()Lcom/sun/tools/javac/code/Scope$WriteableScope;
aload 5
invokevirtual com.sun.tools.javac.code.Scope$WriteableScope.getSymbols:(Lcom/sun/tools/javac/util/Filter;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
goto 12
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCSwitchExpression com.sun.tools.javac.util.ListBuffer java.util.Set com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.util.Filter top java.util.Iterator
StackMap stack:
10: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
astore 6
start local 6 11: aload 3
aload 6
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 6 12: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 5 13: StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCSwitchExpression com.sun.tools.javac.util.ListBuffer java.util.Set com.sun.tools.javac.code.Symbol$TypeSymbol
StackMap stack:
iconst_0
istore 5
start local 5 14: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
astore 6
start local 6 15: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCSwitchExpression.cases:Lcom/sun/tools/javac/util/List;
astore 7
start local 7 16: goto 45
17: StackMap locals: int com.sun.tools.javac.comp.Flow$Liveness com.sun.tools.javac.util.List
StackMap stack:
aload 0
getstatic com.sun.tools.javac.comp.Flow$Liveness.ALIVE:Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
18: aload 7
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree$JCCase
astore 8
start local 8 19: aload 8
getfield com.sun.tools.javac.tree.JCTree$JCCase.pats:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 21
20: iconst_1
istore 5
goto 30
21: StackMap locals: com.sun.tools.javac.tree.JCTree$JCCase
StackMap stack:
aload 8
getfield com.sun.tools.javac.tree.JCTree$JCCase.pats:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 29
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCSwitchExpression com.sun.tools.javac.util.ListBuffer java.util.Set com.sun.tools.javac.code.Symbol$TypeSymbol int com.sun.tools.javac.comp.Flow$Liveness com.sun.tools.javac.util.List com.sun.tools.javac.tree.JCTree$JCCase top java.util.Iterator
StackMap stack:
22: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree$JCExpression
astore 9
start local 9 23: aload 0
aload 9
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
24: aload 3
ifnull 29
25: aload 9
getstatic com.sun.tools.javac.tree.JCTree$Tag.IDENT:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifeq 27
26: aload 3
aload 9
checkcast com.sun.tools.javac.tree.JCTree$JCIdent
getfield com.sun.tools.javac.tree.JCTree$JCIdent.name:Lcom/sun/tools/javac/util/Name;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
27: StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCSwitchExpression com.sun.tools.javac.util.ListBuffer java.util.Set com.sun.tools.javac.code.Symbol$TypeSymbol int com.sun.tools.javac.comp.Flow$Liveness com.sun.tools.javac.util.List com.sun.tools.javac.tree.JCTree$JCCase com.sun.tools.javac.tree.JCTree$JCExpression java.util.Iterator
StackMap stack:
aload 9
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
ifnull 29
28: aload 3
aload 9
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.constValue:()Ljava/lang/Object;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
end local 9 29: StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCSwitchExpression com.sun.tools.javac.util.ListBuffer java.util.Set com.sun.tools.javac.code.Symbol$TypeSymbol int com.sun.tools.javac.comp.Flow$Liveness com.sun.tools.javac.util.List com.sun.tools.javac.tree.JCTree$JCCase top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
30: StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCSwitchExpression com.sun.tools.javac.util.ListBuffer java.util.Set com.sun.tools.javac.code.Symbol$TypeSymbol int com.sun.tools.javac.comp.Flow$Liveness com.sun.tools.javac.util.List com.sun.tools.javac.tree.JCTree$JCCase
StackMap stack:
aload 0
aload 8
getfield com.sun.tools.javac.tree.JCTree$JCCase.stats:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStats:(Lcom/sun/tools/javac/util/List;)V
31: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
getstatic com.sun.tools.javac.comp.Flow$Liveness.ALIVE:Lcom/sun/tools/javac/comp/Flow$Liveness;
if_acmpne 41
32: aload 8
getfield com.sun.tools.javac.tree.JCTree$JCCase.caseKind:Lcom/sun/source/tree/CaseTree$CaseKind;
getstatic com.sun.tools.javac.tree.JCTree$JCCase.RULE:Lcom/sun/source/tree/CaseTree$CaseKind;
if_acmpne 37
33: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.log:Lcom/sun/tools/javac/util/Log;
aload 8
getfield com.sun.tools.javac.tree.JCTree$JCCase.body:Lcom/sun/tools/javac/tree/JCTree;
invokestatic com.sun.tools.javac.tree.TreeInfo.diagEndPos:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
34: getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.RuleCompletesNormally:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
35: invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
36: goto 41
StackMap locals:
StackMap stack:
37: aload 7
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 41
38: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.log:Lcom/sun/tools/javac/util/Log;
aload 1
invokestatic com.sun.tools.javac.tree.TreeInfo.diagEndPos:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
39: getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.SwitchExpressionCompletesNormally:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
40: invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
41: StackMap locals:
StackMap stack:
aload 8
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
getstatic com.sun.tools.javac.comp.Flow$Liveness.DEAD:Lcom/sun/tools/javac/comp/Flow$Liveness;
if_acmpeq 42
iconst_1
goto 43
StackMap locals:
StackMap stack: com.sun.tools.javac.tree.JCTree$JCCase
42: iconst_0
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCSwitchExpression com.sun.tools.javac.util.ListBuffer java.util.Set com.sun.tools.javac.code.Symbol$TypeSymbol int com.sun.tools.javac.comp.Flow$Liveness com.sun.tools.javac.util.List com.sun.tools.javac.tree.JCTree$JCCase
StackMap stack: com.sun.tools.javac.tree.JCTree$JCCase int
43: putfield com.sun.tools.javac.tree.JCTree$JCCase.completesNormally:Z
end local 8 44: aload 7
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 7
StackMap locals:
StackMap stack:
45: aload 7
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 17
end local 7 46: aload 3
ifnull 47
aload 3
invokeinterface java.util.Set.isEmpty:()Z
ifne 50
StackMap locals:
StackMap stack:
47: iload 5
ifne 50
48: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCSwitchExpression.selector:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCSwitchExpression.cases:Lcom/sun/tools/javac/util/List;
invokestatic com.sun.tools.javac.tree.TreeInfo.isErrorEnumSwitch:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/util/List;)Z
ifne 50
49: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.log:Lcom/sun/tools/javac/util/Log;
aload 1
getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.NotExhaustive:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
50: StackMap locals:
StackMap stack:
aload 0
aload 6
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
51: aload 0
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.resolveYields:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;)Lcom/sun/tools/javac/comp/Flow$Liveness;
invokevirtual com.sun.tools.javac.comp.Flow$Liveness.or:(Lcom/sun/tools/javac/comp/Flow$Liveness;)Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
52: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 53 1 tree Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;
1 53 2 prevPendingExits Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;>;
4 53 3 constants Ljava/util/Set<Ljava/lang/Object;>;
5 53 4 selectorSym Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
9 13 5 enumConstantFilter Lcom/sun/tools/javac/util/Filter<Lcom/sun/tools/javac/code/Symbol;>;
11 12 6 s Lcom/sun/tools/javac/code/Symbol;
14 53 5 hasDefault Z
15 53 6 prevAlive Lcom/sun/tools/javac/comp/Flow$Liveness;
16 46 7 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCase;>;
19 44 8 c Lcom/sun/tools/javac/tree/JCTree$JCCase;
23 29 9 pat Lcom/sun/tools/javac/tree/JCTree$JCExpression;
MethodParameters:
Name Flags
tree
public void visitTry(com.sun.tools.javac.tree.JCTree$JCTry);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCTry;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
astore 2
start local 2 1: aload 0
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
2: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCTry.resources:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 12
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree
astore 3
start local 3 4: aload 3
instanceof com.sun.tools.javac.tree.JCTree$JCVariableDecl
ifeq 8
5: aload 3
checkcast com.sun.tools.javac.tree.JCTree$JCVariableDecl
astore 5
start local 5 6: aload 0
aload 5
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.visitVarDef:(Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;)V
end local 5 7: goto 12
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.tree.JCTree java.util.Iterator
StackMap stack:
8: aload 3
instanceof com.sun.tools.javac.tree.JCTree$JCExpression
ifeq 11
9: aload 0
aload 3
checkcast com.sun.tools.javac.tree.JCTree$JCExpression
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
10: goto 12
11: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 12: StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
13: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCTry.body:Lcom/sun/tools/javac/tree/JCTree$JCBlock;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStat:(Lcom/sun/tools/javac/tree/JCTree;)V
14: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
astore 3
start local 3 15: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCTry.catchers:Lcom/sun/tools/javac/util/List;
astore 4
start local 4 16: goto 23
17: StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.comp.Flow$Liveness com.sun.tools.javac.util.List
StackMap stack:
aload 0
getstatic com.sun.tools.javac.comp.Flow$Liveness.ALIVE:Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
18: aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree$JCCatch
getfield com.sun.tools.javac.tree.JCTree$JCCatch.param:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
astore 5
start local 5 19: aload 0
aload 5
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
20: aload 0
aload 4
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree$JCCatch
getfield com.sun.tools.javac.tree.JCTree$JCCatch.body:Lcom/sun/tools/javac/tree/JCTree$JCBlock;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStat:(Lcom/sun/tools/javac/tree/JCTree;)V
21: aload 3
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
invokevirtual com.sun.tools.javac.comp.Flow$Liveness.or:(Lcom/sun/tools/javac/comp/Flow$Liveness;)Lcom/sun/tools/javac/comp/Flow$Liveness;
astore 3
end local 5 22: aload 4
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 4
StackMap locals:
StackMap stack:
23: aload 4
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 17
end local 4 24: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCTry.finalizer:Lcom/sun/tools/javac/tree/JCTree$JCBlock;
ifnull 43
25: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
astore 4
start local 4 26: aload 0
aload 2
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
27: aload 0
getstatic com.sun.tools.javac.comp.Flow$Liveness.ALIVE:Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
28: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCTry.finalizer:Lcom/sun/tools/javac/tree/JCTree$JCBlock;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStat:(Lcom/sun/tools/javac/tree/JCTree;)V
29: aload 1
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
getstatic com.sun.tools.javac.comp.Flow$Liveness.DEAD:Lcom/sun/tools/javac/comp/Flow$Liveness;
if_acmpeq 30
iconst_1
goto 31
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.comp.Flow$Liveness com.sun.tools.javac.util.ListBuffer
StackMap stack: com.sun.tools.javac.tree.JCTree$JCTry
30: iconst_0
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCTry com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.comp.Flow$Liveness com.sun.tools.javac.util.ListBuffer
StackMap stack: com.sun.tools.javac.tree.JCTree$JCTry int
31: putfield com.sun.tools.javac.tree.JCTree$JCTry.finallyCanCompleteNormally:Z
32: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
getstatic com.sun.tools.javac.comp.Flow$Liveness.DEAD:Lcom/sun/tools/javac/comp/Flow$Liveness;
if_acmpne 40
33: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.lint:Lcom/sun/tools/javac/code/Lint;
getstatic com.sun.tools.javac.code.Lint$LintCategory.FINALLY:Lcom/sun/tools/javac/code/Lint$LintCategory;
invokevirtual com.sun.tools.javac.code.Lint.isEnabled:(Lcom/sun/tools/javac/code/Lint$LintCategory;)Z
ifeq 49
34: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
getfield com.sun.tools.javac.comp.Flow.log:Lcom/sun/tools/javac/util/Log;
getstatic com.sun.tools.javac.code.Lint$LintCategory.FINALLY:Lcom/sun/tools/javac/code/Lint$LintCategory;
35: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCTry.finalizer:Lcom/sun/tools/javac/tree/JCTree$JCBlock;
invokestatic com.sun.tools.javac.tree.TreeInfo.diagEndPos:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
36: getstatic com.sun.tools.javac.resources.CompilerProperties$Warnings.FinallyCannotComplete:Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
37: invokevirtual com.sun.tools.javac.util.Log.warning:(Lcom/sun/tools/javac/code/Lint$LintCategory;Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Warning;)V
38: goto 49
39: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
aload 4
invokevirtual com.sun.tools.javac.util.ListBuffer.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
40: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.sun.tools.javac.util.ListBuffer.nonEmpty:()Z
ifne 39
41: aload 0
aload 3
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
end local 4 42: goto 49
43: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
44: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
astore 4
start local 4 45: aload 0
aload 2
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
46: goto 48
StackMap locals: com.sun.tools.javac.util.ListBuffer
StackMap stack:
47: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
aload 4
invokevirtual com.sun.tools.javac.util.ListBuffer.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
StackMap locals:
StackMap stack:
48: aload 4
invokevirtual com.sun.tools.javac.util.ListBuffer.nonEmpty:()Z
ifne 47
end local 4 49: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 50 1 tree Lcom/sun/tools/javac/tree/JCTree$JCTry;
1 50 2 prevPendingExits Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;>;
4 12 3 resource Lcom/sun/tools/javac/tree/JCTree;
6 7 5 vdecl Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
15 50 3 aliveEnd Lcom/sun/tools/javac/comp/Flow$Liveness;
16 24 4 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCatch;>;
19 22 5 param Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
26 42 4 exits Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;>;
45 49 4 exits Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;>;
MethodParameters:
Name Flags
tree
public void visitIf(com.sun.tools.javac.tree.JCTree$JCIf);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCIf;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCIf.cond:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
1: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCIf.thenpart:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStat:(Lcom/sun/tools/javac/tree/JCTree;)V
2: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCIf.elsepart:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
ifnull 8
3: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
astore 2
start local 2 4: aload 0
getstatic com.sun.tools.javac.comp.Flow$Liveness.ALIVE:Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
5: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCIf.elsepart:Lcom/sun/tools/javac/tree/JCTree$JCStatement;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStat:(Lcom/sun/tools/javac/tree/JCTree;)V
6: aload 0
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
aload 2
invokevirtual com.sun.tools.javac.comp.Flow$Liveness.or:(Lcom/sun/tools/javac/comp/Flow$Liveness;)Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
end local 2 7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
getstatic com.sun.tools.javac.comp.Flow$Liveness.ALIVE:Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 10 1 tree Lcom/sun/tools/javac/tree/JCTree$JCIf;
4 7 2 aliveAfterThen Lcom/sun/tools/javac/comp/Flow$Liveness;
MethodParameters:
Name Flags
tree
public void visitBreak(com.sun.tools.javac.tree.JCTree$JCBreak);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCBreak;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit
dup
aload 1
invokespecial com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit.<init>:(Lcom/sun/tools/javac/tree/JCTree;)V
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.recordExit:(Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 2 1 tree Lcom/sun/tools/javac/tree/JCTree$JCBreak;
MethodParameters:
Name Flags
tree
public void visitYield(com.sun.tools.javac.tree.JCTree$JCYield);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCYield;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCYield.value:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
1: aload 0
new com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit
dup
aload 1
invokespecial com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit.<init>:(Lcom/sun/tools/javac/tree/JCTree;)V
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.recordExit:(Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 3 1 tree Lcom/sun/tools/javac/tree/JCTree$JCYield;
MethodParameters:
Name Flags
tree
public void visitContinue(com.sun.tools.javac.tree.JCTree$JCContinue);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCContinue;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit
dup
aload 1
invokespecial com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit.<init>:(Lcom/sun/tools/javac/tree/JCTree;)V
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.recordExit:(Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 2 1 tree Lcom/sun/tools/javac/tree/JCTree$JCContinue;
MethodParameters:
Name Flags
tree
public void visitReturn(com.sun.tools.javac.tree.JCTree$JCReturn);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCReturn;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCReturn.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
1: aload 0
new com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit
dup
aload 1
invokespecial com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit.<init>:(Lcom/sun/tools/javac/tree/JCTree;)V
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.recordExit:(Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 3 1 tree Lcom/sun/tools/javac/tree/JCTree$JCReturn;
MethodParameters:
Name Flags
tree
public void visitThrow(com.sun.tools.javac.tree.JCTree$JCThrow);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCThrow;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCThrow.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
1: aload 0
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.markDead:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 3 1 tree Lcom/sun/tools/javac/tree/JCTree$JCThrow;
MethodParameters:
Name Flags
tree
public void visitApply(com.sun.tools.javac.tree.JCTree$JCMethodInvocation);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodInvocation.meth:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
1: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCMethodInvocation.args:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/util/List;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 3 1 tree Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;
MethodParameters:
Name Flags
tree
public void visitNewClass(com.sun.tools.javac.tree.JCTree$JCNewClass);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCNewClass;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewClass.encl:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
1: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewClass.args:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/util/List;)V
2: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewClass.def:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
ifnull 4
3: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCNewClass.def:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 5 1 tree Lcom/sun/tools/javac/tree/JCTree$JCNewClass;
MethodParameters:
Name Flags
tree
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=5, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCLambda.type:Lcom/sun/tools/javac/code/Type;
ifnull 3
1: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCLambda.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
ifeq 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
astore 2
start local 2 4: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
astore 3
start local 3 5: aload 0
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
6: aload 0
getstatic com.sun.tools.javac.comp.Flow$Liveness.ALIVE:Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
7: aload 0
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCLambda.body:Lcom/sun/tools/javac/tree/JCTree;
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scanStat:(Lcom/sun/tools/javac/tree/JCTree;)V
8: aload 1
aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
getstatic com.sun.tools.javac.comp.Flow$Liveness.DEAD:Lcom/sun/tools/javac/comp/Flow$Liveness;
if_acmpeq 9
iconst_1
goto 10
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCLambda com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.comp.Flow$Liveness
StackMap stack: com.sun.tools.javac.tree.JCTree$JCLambda
9: iconst_0
StackMap locals: com.sun.tools.javac.comp.Flow$AliveAnalyzer com.sun.tools.javac.tree.JCTree$JCLambda com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.comp.Flow$Liveness
StackMap stack: com.sun.tools.javac.tree.JCTree$JCLambda int
10: putfield com.sun.tools.javac.tree.JCTree$JCLambda.canCompleteNormally:Z
11: goto 16
12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
13: aload 0
aload 2
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
14: aload 0
aload 3
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
15: aload 4
athrow
16: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
17: aload 0
aload 3
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
18: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 19 1 tree Lcom/sun/tools/javac/tree/JCTree$JCLambda;
4 19 2 prevPending Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;>;
5 19 3 prevAlive Lcom/sun/tools/javac/comp/Flow$Liveness;
Exception table:
from to target type
5 12 12 any
MethodParameters:
Name Flags
tree
public void visitModuleDef(com.sun.tools.javac.tree.JCTree$JCModuleDecl);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 1 1 tree Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
MethodParameters:
Name Flags
tree
public void analyzeTree(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.tree.TreeMaker);
descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/TreeMaker;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 1
getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
aload 2
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.analyzeTree:(Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/tree/TreeMaker;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/comp/Flow$AliveAnalyzer;
0 2 1 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
0 2 2 make Lcom/sun/tools/javac/tree/TreeMaker;
Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/tree/TreeMaker;)V
MethodParameters:
Name Flags
env
make
public void analyzeTree(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.tree.JCTree, com.sun.tools.javac.tree.TreeMaker);
descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/tree/TreeMaker;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
aload 1
putfield com.sun.tools.javac.comp.Flow.attrEnv:Lcom/sun/tools/javac/comp/Env;
1: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
aload 3
putfield com.sun.tools.javac.comp.Flow.make:Lcom/sun/tools/javac/tree/TreeMaker;
2: aload 0
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
3: aload 0
getstatic com.sun.tools.javac.comp.Flow$Liveness.ALIVE:Lcom/sun/tools/javac/comp/Flow$Liveness;
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.alive:Lcom/sun/tools/javac/comp/Flow$Liveness;
4: aload 0
aload 2
invokevirtual com.sun.tools.javac.comp.Flow$AliveAnalyzer.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
5: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 4
7: aload 0
aconst_null
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
8: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
aconst_null
putfield com.sun.tools.javac.comp.Flow.make:Lcom/sun/tools/javac/tree/TreeMaker;
9: aload 4
athrow
10: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
11: aload 0
getfield com.sun.tools.javac.comp.Flow$AliveAnalyzer.this$0:Lcom/sun/tools/javac/comp/Flow;
aconst_null
putfield com.sun.tools.javac.comp.Flow.make:Lcom/sun/tools/javac/tree/TreeMaker;
12: return
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/Flow$AliveAnalyzer;
0 13 1 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
0 13 2 tree Lcom/sun/tools/javac/tree/JCTree;
0 13 3 make Lcom/sun/tools/javac/tree/TreeMaker;
Exception table:
from to target type
0 6 6 any
Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/tree/TreeMaker;)V
MethodParameters:
Name Flags
env
tree
make
private static boolean lambda$0(com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
ldc 16384
land
lconst_0
lcmp
ifeq 1
aload 0
getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$Kind.VAR:Lcom/sun/tools/javac/code/Kinds$Kind;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 s Lcom/sun/tools/javac/code/Symbol;
}
SourceFile: "Flow.java"
NestHost: com.sun.tools.javac.comp.Flow
InnerClasses:
public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
public final LintCategory = com.sun.tools.javac.code.Lint$LintCategory of com.sun.tools.javac.code.Lint
public abstract WriteableScope = com.sun.tools.javac.code.Scope$WriteableScope of com.sun.tools.javac.code.Scope
public MethodSymbol = com.sun.tools.javac.code.Symbol$MethodSymbol of com.sun.tools.javac.code.Symbol
public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
AliveAnalyzer = com.sun.tools.javac.comp.Flow$AliveAnalyzer of com.sun.tools.javac.comp.Flow
abstract BaseAnalyzer = com.sun.tools.javac.comp.Flow$BaseAnalyzer of com.sun.tools.javac.comp.Flow
PendingExit = com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit of com.sun.tools.javac.comp.Flow$BaseAnalyzer
abstract Liveness = com.sun.tools.javac.comp.Flow$Liveness of com.sun.tools.javac.comp.Flow
public Errors = com.sun.tools.javac.resources.CompilerProperties$Errors of com.sun.tools.javac.resources.CompilerProperties
public Warnings = com.sun.tools.javac.resources.CompilerProperties$Warnings of com.sun.tools.javac.resources.CompilerProperties
public JCBlock = com.sun.tools.javac.tree.JCTree$JCBlock of com.sun.tools.javac.tree.JCTree
public JCBreak = com.sun.tools.javac.tree.JCTree$JCBreak of com.sun.tools.javac.tree.JCTree
public JCCase = com.sun.tools.javac.tree.JCTree$JCCase of com.sun.tools.javac.tree.JCTree
public JCCatch = com.sun.tools.javac.tree.JCTree$JCCatch of com.sun.tools.javac.tree.JCTree
public JCClassDecl = com.sun.tools.javac.tree.JCTree$JCClassDecl of com.sun.tools.javac.tree.JCTree
public JCContinue = com.sun.tools.javac.tree.JCTree$JCContinue of com.sun.tools.javac.tree.JCTree
public JCDoWhileLoop = com.sun.tools.javac.tree.JCTree$JCDoWhileLoop of com.sun.tools.javac.tree.JCTree
public JCEnhancedForLoop = com.sun.tools.javac.tree.JCTree$JCEnhancedForLoop of com.sun.tools.javac.tree.JCTree
public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
public JCForLoop = com.sun.tools.javac.tree.JCTree$JCForLoop of com.sun.tools.javac.tree.JCTree
public JCIdent = com.sun.tools.javac.tree.JCTree$JCIdent of com.sun.tools.javac.tree.JCTree
public JCIf = com.sun.tools.javac.tree.JCTree$JCIf of com.sun.tools.javac.tree.JCTree
public JCLabeledStatement = com.sun.tools.javac.tree.JCTree$JCLabeledStatement of com.sun.tools.javac.tree.JCTree
public JCLambda = com.sun.tools.javac.tree.JCTree$JCLambda of com.sun.tools.javac.tree.JCTree
public JCMethodDecl = com.sun.tools.javac.tree.JCTree$JCMethodDecl of com.sun.tools.javac.tree.JCTree
public JCMethodInvocation = com.sun.tools.javac.tree.JCTree$JCMethodInvocation of com.sun.tools.javac.tree.JCTree
public JCModuleDecl = com.sun.tools.javac.tree.JCTree$JCModuleDecl of com.sun.tools.javac.tree.JCTree
public JCNewClass = com.sun.tools.javac.tree.JCTree$JCNewClass of com.sun.tools.javac.tree.JCTree
public JCReturn = com.sun.tools.javac.tree.JCTree$JCReturn of com.sun.tools.javac.tree.JCTree
public abstract JCStatement = com.sun.tools.javac.tree.JCTree$JCStatement of com.sun.tools.javac.tree.JCTree
public JCSwitch = com.sun.tools.javac.tree.JCTree$JCSwitch of com.sun.tools.javac.tree.JCTree
public JCSwitchExpression = com.sun.tools.javac.tree.JCTree$JCSwitchExpression of com.sun.tools.javac.tree.JCTree
public JCThrow = com.sun.tools.javac.tree.JCTree$JCThrow of com.sun.tools.javac.tree.JCTree
public JCTry = com.sun.tools.javac.tree.JCTree$JCTry of com.sun.tools.javac.tree.JCTree
public JCVariableDecl = com.sun.tools.javac.tree.JCTree$JCVariableDecl of com.sun.tools.javac.tree.JCTree
public JCWhileLoop = com.sun.tools.javac.tree.JCTree$JCWhileLoop of com.sun.tools.javac.tree.JCTree
public JCYield = com.sun.tools.javac.tree.JCTree$JCYield of com.sun.tools.javac.tree.JCTree
public final Tag = com.sun.tools.javac.tree.JCTree$Tag of com.sun.tools.javac.tree.JCTree
public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
public final Error = com.sun.tools.javac.util.JCDiagnostic$Error of com.sun.tools.javac.util.JCDiagnostic
public final Warning = com.sun.tools.javac.util.JCDiagnostic$Warning of com.sun.tools.javac.util.JCDiagnostic
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles