class org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1 extends org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure<org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1
  super_class: org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure
{
  final org.graalvm.compiler.core.test.ReentrantBlockIteratorTest this$0;
    descriptor: Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState val$voidState;
    descriptor: Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.util.ArrayList val$blocks;
    descriptor: Ljava/util/ArrayList;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.graalvm.compiler.core.test.ReentrantBlockIteratorTest, org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState, java.util.ArrayList);
    descriptor: (Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest;Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;Ljava/util/ArrayList;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1 this
         0: .line 215
            aload 0 /* this */
            aload 1
            putfield org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1.this$0:Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest;
            aload 0 /* this */
            aload 2
            putfield org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1.val$voidState:Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
            aload 0 /* this */
            aload 3
            putfield org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1.val$blocks:Ljava/util/ArrayList;
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure.<init>:()V
            return
        end local 0 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1;
    MethodParameters:
               Name  Flags
      this$0         final
      val$voidState  final
      val$blocks     final

  protected org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState getInitialState();
    descriptor: ()Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1 this
         0: .line 219
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1.val$voidState:Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
            areturn
        end local 0 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1;

  protected org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState processBlock(org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;)Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1 this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block block
        start local 2 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState currentState
         0: .line 225
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1.val$blocks:Ljava/util/ArrayList;
            aload 1 /* block */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 226
            aload 2 /* currentState */
            areturn
        end local 2 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState currentState
        end local 1 // org.graalvm.compiler.nodes.cfg.Block block
        end local 0 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1;
            0    2     1         block  Lorg/graalvm/compiler/nodes/cfg/Block;
            0    2     2  currentState  Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
    MethodParameters:
              Name  Flags
      block         
      currentState  

  protected org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState merge(org.graalvm.compiler.nodes.cfg.Block, java.util.List<org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState>);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List;)Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1 this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block merge
        start local 2 // java.util.List states
         0: .line 231
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1.val$voidState:Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
            areturn
        end local 2 // java.util.List states
        end local 1 // org.graalvm.compiler.nodes.cfg.Block merge
        end local 0 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1;
            0    1     1   merge  Lorg/graalvm/compiler/nodes/cfg/Block;
            0    1     2  states  Ljava/util/List<Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;>;
    Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List<Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;>;)Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
    MethodParameters:
        Name  Flags
      merge   
      states  

  protected org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState cloneState(org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState);
    descriptor: (Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;)Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1 this
        start local 1 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState oldState
         0: .line 236
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1.val$voidState:Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
            areturn
        end local 1 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState oldState
        end local 0 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1;
            0    1     1  oldState  Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
    MethodParameters:
          Name  Flags
      oldState  

  protected java.util.List<org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState> processLoop(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1 this
        start local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        start local 2 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState initialState
         0: .line 241
            aload 0 /* this */
            aload 1 /* loop */
            aload 2 /* initialState */
            invokestatic org.graalvm.compiler.phases.graph.ReentrantBlockIterator.processLoop:(Lorg/graalvm/compiler/phases/graph/ReentrantBlockIterator$BlockIteratorClosure;Lorg/graalvm/compiler/core/common/cfg/Loop;Ljava/lang/Object;)Lorg/graalvm/compiler/phases/graph/ReentrantBlockIterator$LoopInfo;
            getfield org.graalvm.compiler.phases.graph.ReentrantBlockIterator$LoopInfo.exitStates:Ljava/util/List;
            areturn
        end local 2 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState initialState
        end local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 0 // org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1;
            0    1     1          loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0    1     2  initialState  Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;)Ljava/util/List<Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;>;
    MethodParameters:
              Name  Flags
      loop          
      initialState  

  protected java.lang.Object processBlock(org.graalvm.compiler.nodes.cfg.Block, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState
            invokevirtual org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1.processBlock:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;)Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.Object merge(org.graalvm.compiler.nodes.cfg.Block, java.util.List);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast java.util.List
            invokevirtual org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1.merge:(Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List;)Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.util.List processLoop(org.graalvm.compiler.core.common.cfg.Loop, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState
            invokevirtual org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1.processLoop:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;)Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.Object getInitialState();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1.getInitialState:()Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.Object cloneState(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState
            invokevirtual org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1.cloneState:(Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;)Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/graalvm/compiler/phases/graph/ReentrantBlockIterator$BlockIteratorClosure<Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;>;
SourceFile: "ReentrantBlockIteratorTest.java"
EnclosingMethod: org.graalvm.compiler.core.test.ReentrantBlockIteratorTest.getVisitedBlocksInOrder:(Ljava/lang/String;)Ljava/util/List;
NestHost: org.graalvm.compiler.core.test.ReentrantBlockIteratorTest
InnerClasses:
  org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1
  VoidState = org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState
  public abstract BlockIteratorClosure = org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure of org.graalvm.compiler.phases.graph.ReentrantBlockIterator
  public LoopInfo = org.graalvm.compiler.phases.graph.ReentrantBlockIterator$LoopInfo of org.graalvm.compiler.phases.graph.ReentrantBlockIterator