public final class com.oracle.svm.hosted.image.NativeImageHeap$Phase
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.svm.hosted.image.NativeImageHeap$Phase
  super_class: java.lang.Object
{
  private com.oracle.svm.hosted.image.NativeImageHeap$Phase$PhaseValue value;
    descriptor: Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 735
            ldc Lcom/oracle/svm/hosted/image/NativeImageHeap;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.svm.hosted.image.NativeImageHeap$Phase.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.oracle.svm.hosted.image.NativeImageHeap$Phase factory();
    descriptor: ()Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 737
            new com.oracle.svm.hosted.image.NativeImageHeap$Phase
            dup
            invokespecial com.oracle.svm.hosted.image.NativeImageHeap$Phase.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean isBefore();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.image.NativeImageHeap$Phase this
         0: .line 741
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeImageHeap$Phase.value:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
            getstatic com.oracle.svm.hosted.image.NativeImageHeap$Phase$PhaseValue.BEFORE:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.svm.hosted.image.NativeImageHeap$Phase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;

  public void allow();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.image.NativeImageHeap$Phase this
         0: .line 745
            getstatic com.oracle.svm.hosted.image.NativeImageHeap$Phase.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeImageHeap$Phase.value:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
            getstatic com.oracle.svm.hosted.image.NativeImageHeap$Phase$PhaseValue.BEFORE:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can not allow while in phase "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeImageHeap$Phase.value:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
            invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$Phase$PhaseValue.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 746
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.svm.hosted.image.NativeImageHeap$Phase$PhaseValue.ALLOWED:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
            putfield com.oracle.svm.hosted.image.NativeImageHeap$Phase.value:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
         2: .line 747
            return
        end local 0 // com.oracle.svm.hosted.image.NativeImageHeap$Phase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;

  void disallow();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.image.NativeImageHeap$Phase this
         0: .line 750
            getstatic com.oracle.svm.hosted.image.NativeImageHeap$Phase.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeImageHeap$Phase.value:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
            getstatic com.oracle.svm.hosted.image.NativeImageHeap$Phase$PhaseValue.ALLOWED:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can not disallow while in phase "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeImageHeap$Phase.value:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
            invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$Phase$PhaseValue.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 751
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.svm.hosted.image.NativeImageHeap$Phase$PhaseValue.AFTER:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
            putfield com.oracle.svm.hosted.image.NativeImageHeap$Phase.value:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
         2: .line 752
            return
        end local 0 // com.oracle.svm.hosted.image.NativeImageHeap$Phase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;

  public boolean isAllowed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.image.NativeImageHeap$Phase this
         0: .line 755
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeImageHeap$Phase.value:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
            getstatic com.oracle.svm.hosted.image.NativeImageHeap$Phase$PhaseValue.ALLOWED:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.svm.hosted.image.NativeImageHeap$Phase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.image.NativeImageHeap$Phase this
         0: .line 760
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeImageHeap$Phase.value:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
            invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$Phase$PhaseValue.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.oracle.svm.hosted.image.NativeImageHeap$Phase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.image.NativeImageHeap$Phase this
         0: .line 763
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 764
            aload 0 /* this */
            getstatic com.oracle.svm.hosted.image.NativeImageHeap$Phase$PhaseValue.BEFORE:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
            putfield com.oracle.svm.hosted.image.NativeImageHeap$Phase.value:Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase$PhaseValue;
         2: .line 765
            return
        end local 0 // com.oracle.svm.hosted.image.NativeImageHeap$Phase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/svm/hosted/image/NativeImageHeap$Phase;
}
SourceFile: "NativeImageHeap.java"
NestHost: com.oracle.svm.hosted.image.NativeImageHeap
InnerClasses:
  protected final Phase = com.oracle.svm.hosted.image.NativeImageHeap$Phase of com.oracle.svm.hosted.image.NativeImageHeap
  private final PhaseValue = com.oracle.svm.hosted.image.NativeImageHeap$Phase$PhaseValue of com.oracle.svm.hosted.image.NativeImageHeap$Phase