class jdk.nashorn.internal.codegen.SplitIntoFunctions$SplitState
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.nashorn.internal.codegen.SplitIntoFunctions$SplitState
super_class: java.lang.Object
{
final jdk.nashorn.internal.ir.SplitNode splitNode;
descriptor: Ljdk/nashorn/internal/ir/SplitNode;
flags: (0x0010) ACC_FINAL
boolean hasReturn;
descriptor: Z
flags: (0x0000)
boolean hasBreak;
descriptor: Z
flags: (0x0000)
final java.util.List<jdk.nashorn.internal.ir.JumpStatement> jumpStatements;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Ljdk/nashorn/internal/ir/JumpStatement;>;
int getSplitStateIndex(jdk.nashorn.internal.ir.JumpStatement);
descriptor: (Ljdk/nashorn/internal/ir/JumpStatement;)I
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 // jdk.nashorn.internal.codegen.SplitIntoFunctions$SplitState this
start local 1 // jdk.nashorn.internal.ir.JumpStatement jump
0: .line 431
aload 1 /* jump */
instanceof jdk.nashorn.internal.ir.BreakNode
ifeq 3
aload 1 /* jump */
invokevirtual jdk.nashorn.internal.ir.JumpStatement.getLabelName:()Ljava/lang/String;
ifnonnull 3
1: .line 433
aload 0 /* this */
iconst_1
putfield jdk.nashorn.internal.codegen.SplitIntoFunctions$SplitState.hasBreak:Z
2: .line 434
iconst_1
ireturn
3: .line 437
StackMap locals:
StackMap stack:
iconst_0
istore 2 /* i */
start local 2 // int i
4: .line 438
aload 0 /* this */
getfield jdk.nashorn.internal.codegen.SplitIntoFunctions$SplitState.jumpStatements:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: jdk.nashorn.internal.codegen.SplitIntoFunctions$SplitState jdk.nashorn.internal.ir.JumpStatement int top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.ir.JumpStatement
astore 3 /* exJump */
start local 3 // jdk.nashorn.internal.ir.JumpStatement exJump
6: .line 439
aload 1 /* jump */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 3 /* exJump */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpne 8
aload 1 /* jump */
invokevirtual jdk.nashorn.internal.ir.JumpStatement.getLabelName:()Ljava/lang/String;
aload 3 /* exJump */
invokevirtual jdk.nashorn.internal.ir.JumpStatement.getLabelName:()Ljava/lang/String;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 8
7: .line 440
iload 2 /* i */
iconst_2
iadd
ireturn
8: .line 442
StackMap locals: jdk.nashorn.internal.codegen.SplitIntoFunctions$SplitState jdk.nashorn.internal.ir.JumpStatement int jdk.nashorn.internal.ir.JumpStatement java.util.Iterator
StackMap stack:
iinc 2 /* i */ 1
end local 3 // jdk.nashorn.internal.ir.JumpStatement exJump
9: .line 438
StackMap locals: jdk.nashorn.internal.codegen.SplitIntoFunctions$SplitState jdk.nashorn.internal.ir.JumpStatement int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
10: .line 444
aload 0 /* this */
getfield jdk.nashorn.internal.codegen.SplitIntoFunctions$SplitState.jumpStatements:Ljava/util/List;
aload 1 /* jump */
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: .line 445
iload 2 /* i */
iconst_2
iadd
ireturn
end local 2 // int i
end local 1 // jdk.nashorn.internal.ir.JumpStatement jump
end local 0 // jdk.nashorn.internal.codegen.SplitIntoFunctions$SplitState this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/nashorn/internal/codegen/SplitIntoFunctions$SplitState;
0 12 1 jump Ljdk/nashorn/internal/ir/JumpStatement;
4 12 2 i I
6 9 3 exJump Ljdk/nashorn/internal/ir/JumpStatement;
MethodParameters:
Name Flags
jump final
void <init>(jdk.nashorn.internal.ir.SplitNode);
descriptor: (Ljdk/nashorn/internal/ir/SplitNode;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 // jdk.nashorn.internal.codegen.SplitIntoFunctions$SplitState this
start local 1 // jdk.nashorn.internal.ir.SplitNode splitNode
0: .line 448
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 428
aload 0 /* this */
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield jdk.nashorn.internal.codegen.SplitIntoFunctions$SplitState.jumpStatements:Ljava/util/List;
2: .line 449
aload 0 /* this */
aload 1 /* splitNode */
putfield jdk.nashorn.internal.codegen.SplitIntoFunctions$SplitState.splitNode:Ljdk/nashorn/internal/ir/SplitNode;
3: .line 450
return
end local 1 // jdk.nashorn.internal.ir.SplitNode splitNode
end local 0 // jdk.nashorn.internal.codegen.SplitIntoFunctions$SplitState this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/codegen/SplitIntoFunctions$SplitState;
0 4 1 splitNode Ljdk/nashorn/internal/ir/SplitNode;
MethodParameters:
Name Flags
splitNode final
}
SourceFile: "SplitIntoFunctions.java"
NestHost: jdk.nashorn.internal.codegen.SplitIntoFunctions
InnerClasses:
private SplitState = jdk.nashorn.internal.codegen.SplitIntoFunctions$SplitState of jdk.nashorn.internal.codegen.SplitIntoFunctions