public abstract class org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure<StateT>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure this
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/graph/ReentrantBlockIterator$BlockIteratorClosure<TStateT;>;

  protected abstract StateT getInitialState();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: ()TStateT;

  protected abstract StateT processBlock(org.graalvm.compiler.nodes.cfg.Block, );
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;TStateT;)TStateT;
    MethodParameters:
              Name  Flags
      block         
      currentState  

  protected abstract StateT merge(org.graalvm.compiler.nodes.cfg.Block, java.util.List<StateT>);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List;)Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List<TStateT;>;)TStateT;
    MethodParameters:
        Name  Flags
      merge   
      states  

  protected abstract StateT cloneState();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (TStateT;)TStateT;
    MethodParameters:
          Name  Flags
      oldState  

  protected abstract java.util.List<StateT> processLoop(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, StateT);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;TStateT;)Ljava/util/List<TStateT;>;
    MethodParameters:
              Name  Flags
      loop          
      initialState  
}
Signature: <StateT:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "ReentrantBlockIterator.java"
NestHost: org.graalvm.compiler.phases.graph.ReentrantBlockIterator
InnerClasses:
  public abstract BlockIteratorClosure = org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure of org.graalvm.compiler.phases.graph.ReentrantBlockIterator