public abstract class org.graalvm.compiler.phases.common.LoweringPhase$Frame<T extends org.graalvm.compiler.phases.common.LoweringPhase$Frame<?>>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.phases.common.LoweringPhase$Frame
  super_class: java.lang.Object
{
  protected final org.graalvm.compiler.nodes.cfg.Block block;
    descriptor: Lorg/graalvm/compiler/nodes/cfg/Block;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  final T parent;
    descriptor: Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
    flags: (0x0010) ACC_FINAL
    Signature: TT;

  org.graalvm.compiler.nodes.cfg.Block dominated;
    descriptor: Lorg/graalvm/compiler/nodes/cfg/Block;
    flags: (0x0000) 

  final org.graalvm.compiler.nodes.cfg.Block alwaysReachedBlock;
    descriptor: Lorg/graalvm/compiler/nodes/cfg/Block;
    flags: (0x0010) ACC_FINAL

  public void <init>(org.graalvm.compiler.nodes.cfg.Block, );
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.LoweringPhase$Frame this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block block
        start local 2 // org.graalvm.compiler.phases.common.LoweringPhase$Frame parent
         0: .line 595
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 596
            aload 0 /* this */
            aload 1 /* block */
            putfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
         2: .line 597
            aload 0 /* this */
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPostdominator:()Lorg/graalvm/compiler/nodes/cfg/Block;
            putfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.alwaysReachedBlock:Lorg/graalvm/compiler/nodes/cfg/Block;
         3: .line 598
            aload 0 /* this */
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getFirstDominated:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            putfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.dominated:Lorg/graalvm/compiler/nodes/cfg/Block;
         4: .line 599
            aload 0 /* this */
            aload 2 /* parent */
            putfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.parent:Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
         5: .line 600
            return
        end local 2 // org.graalvm.compiler.phases.common.LoweringPhase$Frame parent
        end local 1 // org.graalvm.compiler.nodes.cfg.Block block
        end local 0 // org.graalvm.compiler.phases.common.LoweringPhase$Frame this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<TT;>;
            0    6     1   block  Lorg/graalvm/compiler/nodes/cfg/Block;
            0    6     2  parent  TT;
    Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;TT;)V
    MethodParameters:
        Name  Flags
      block   
      parent  

  public org.graalvm.compiler.phases.common.LoweringPhase$Frame<?> enterAlwaysReached(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.LoweringPhase$Frame this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block b
         0: .line 603
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.phases.common.LoweringPhase$Frame.enter:(Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
            areturn
        end local 1 // org.graalvm.compiler.nodes.cfg.Block b
        end local 0 // org.graalvm.compiler.phases.common.LoweringPhase$Frame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<TT;>;
            0    1     1     b  Lorg/graalvm/compiler/nodes/cfg/Block;
    Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<*>;
    MethodParameters:
      Name  Flags
      b     

  public abstract org.graalvm.compiler.phases.common.LoweringPhase$Frame<?> enter(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<*>;
    MethodParameters:
      Name  Flags
      b     

  public abstract void preprocess();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void postprocess();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
Signature: <T:Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<*>;>Ljava/lang/Object;
SourceFile: "LoweringPhase.java"
NestHost: org.graalvm.compiler.phases.common.LoweringPhase
InnerClasses:
  public abstract Frame = org.graalvm.compiler.phases.common.LoweringPhase$Frame of org.graalvm.compiler.phases.common.LoweringPhase