abstract class com.sun.tools.javac.comp.Flow$BaseAnalyzer<P extends com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit> extends com.sun.tools.javac.tree.TreeScanner
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.tools.javac.comp.Flow$BaseAnalyzer
super_class: com.sun.tools.javac.tree.TreeScanner
{
com.sun.tools.javac.util.ListBuffer<P> pendingExits;
descriptor: Lcom/sun/tools/javac/util/ListBuffer;
flags: (0x0000)
Signature: Lcom/sun/tools/javac/util/ListBuffer<TP;>;
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.sun.tools.javac.tree.TreeScanner.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer<TP;>;
abstract void markDead();
descriptor: ()V
flags: (0x0400) ACC_ABSTRACT
void recordExit();
descriptor: (Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Flow$BaseAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
aload 1
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
1: aload 0
invokevirtual com.sun.tools.javac.comp.Flow$BaseAnalyzer.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$BaseAnalyzer<TP;>;
0 3 1 pe TP;
Signature: (TP;)V
MethodParameters:
Name Flags
pe
private boolean resolveJump(com.sun.tools.javac.tree.JCTree, com.sun.tools.javac.util.ListBuffer<P>, com.sun.tools.javac.comp.Flow$BaseAnalyzer$JumpKind);
descriptor: (Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$JumpKind;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 0
getfield com.sun.tools.javac.comp.Flow$BaseAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
astore 5
start local 5 2: aload 0
aload 2
putfield com.sun.tools.javac.comp.Flow$BaseAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
3: goto 12
4: StackMap locals: int 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.comp.Flow$BaseAnalyzer$PendingExit
astore 6
start local 6 5: aload 6
getfield com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit.tree:Lcom/sun/tools/javac/tree/JCTree;
aload 3
getfield com.sun.tools.javac.comp.Flow$BaseAnalyzer$JumpKind.treeTag:Lcom/sun/tools/javac/tree/JCTree$Tag;
invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
ifeq 10
6: aload 3
aload 6
getfield com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit.tree:Lcom/sun/tools/javac/tree/JCTree;
invokevirtual com.sun.tools.javac.comp.Flow$BaseAnalyzer$JumpKind.getTarget:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/tree/JCTree;
aload 1
if_acmpne 10
7: aload 6
invokevirtual com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit.resolveJump:()V
8: iconst_1
istore 4
9: goto 11
10: StackMap locals: com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Flow$BaseAnalyzer.pendingExits:Lcom/sun/tools/javac/util/ListBuffer;
aload 6
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
end local 6 11: 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:
12: aload 5
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 4
13: iload 4
ireturn
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 14 0 this Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer<TP;>;
0 14 1 tree Lcom/sun/tools/javac/tree/JCTree;
0 14 2 oldPendingExits Lcom/sun/tools/javac/util/ListBuffer<TP;>;
0 14 3 jk Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$JumpKind;
1 14 4 resolved Z
2 14 5 exits Lcom/sun/tools/javac/util/List<TP;>;
5 11 6 exit TP;
Signature: (Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer<TP;>;Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$JumpKind;)Z
MethodParameters:
Name Flags
tree
oldPendingExits
jk
boolean resolveContinues(com.sun.tools.javac.tree.JCTree);
descriptor: (Lcom/sun/tools/javac/tree/JCTree;)Z
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
getstatic com.sun.tools.javac.comp.Flow$BaseAnalyzer$JumpKind.CONTINUE:Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$JumpKind;
invokevirtual com.sun.tools.javac.comp.Flow$BaseAnalyzer.resolveJump:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$JumpKind;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer<TP;>;
0 1 1 tree Lcom/sun/tools/javac/tree/JCTree;
MethodParameters:
Name Flags
tree
boolean resolveBreaks(com.sun.tools.javac.tree.JCTree, com.sun.tools.javac.util.ListBuffer<P>);
descriptor: (Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;)Z
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic com.sun.tools.javac.comp.Flow$BaseAnalyzer$JumpKind.BREAK:Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$JumpKind;
invokevirtual com.sun.tools.javac.comp.Flow$BaseAnalyzer.resolveJump:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer;Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$JumpKind;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer<TP;>;
0 1 1 tree Lcom/sun/tools/javac/tree/JCTree;
0 1 2 oldPendingExits Lcom/sun/tools/javac/util/ListBuffer<TP;>;
Signature: (Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/ListBuffer<TP;>;)Z
MethodParameters:
Name Flags
tree
oldPendingExits
public void scan(com.sun.tools.javac.tree.JCTree);
descriptor: (Lcom/sun/tools/javac/tree/JCTree;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 4
1: aload 1
getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
ifnull 3
2: aload 1
getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
getstatic com.sun.tools.javac.code.Type.stuckType:Lcom/sun/tools/javac/code/Type$JCNoType;
if_acmpeq 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeScanner.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$BaseAnalyzer<TP;>;
0 5 1 tree Lcom/sun/tools/javac/tree/JCTree;
MethodParameters:
Name Flags
tree
public void visitPackageDef(com.sun.tools.javac.tree.JCTree$JCPackageDecl);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCPackageDecl;)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$BaseAnalyzer<TP;>;
0 1 1 tree Lcom/sun/tools/javac/tree/JCTree$JCPackageDecl;
MethodParameters:
Name Flags
tree
}
Signature: <P:Lcom/sun/tools/javac/comp/Flow$BaseAnalyzer$PendingExit;>Lcom/sun/tools/javac/tree/TreeScanner;
SourceFile: "Flow.java"
NestHost: com.sun.tools.javac.comp.Flow
InnerClasses:
abstract BaseAnalyzer = com.sun.tools.javac.comp.Flow$BaseAnalyzer of com.sun.tools.javac.comp.Flow
abstract JumpKind = com.sun.tools.javac.comp.Flow$BaseAnalyzer$JumpKind of com.sun.tools.javac.comp.Flow$BaseAnalyzer
PendingExit = com.sun.tools.javac.comp.Flow$BaseAnalyzer$PendingExit of com.sun.tools.javac.comp.Flow$BaseAnalyzer
public JCPackageDecl = com.sun.tools.javac.tree.JCTree$JCPackageDecl of com.sun.tools.javac.tree.JCTree
public final Tag = com.sun.tools.javac.tree.JCTree$Tag of com.sun.tools.javac.tree.JCTree