public final class jdk.internal.foreign.CABI extends java.lang.Enum<jdk.internal.foreign.CABI>
  minor version: 0
  major version: 59
  flags: flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ANNOTATION
  this_class: jdk.internal.foreign.CABI
  super_class: java.lang.Enum
{
  public static final jdk.internal.foreign.CABI SysV;
    descriptor: Ljdk/internal/foreign/CABI;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final jdk.internal.foreign.CABI Win64;
    descriptor: Ljdk/internal/foreign/CABI;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final jdk.internal.foreign.CABI AArch64;
    descriptor: Ljdk/internal/foreign/CABI;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  private static final jdk.internal.foreign.CABI current;
    descriptor: Ljdk/internal/foreign/CABI;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.internal.foreign.CABI[] ENUM$VALUES;
    descriptor: [Ljdk/internal/foreign/CABI;
    flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=0
         0: .line 33
            new jdk.internal.foreign.CABI
            dup
            ldc "SysV"
            iconst_0
            invokespecial jdk.internal.foreign.CABI.<init>:(Ljava/lang/String;I)V
            putstatic jdk.internal.foreign.CABI.SysV:Ljdk/internal/foreign/CABI;
         1: .line 34
            new jdk.internal.foreign.CABI
            dup
            ldc "Win64"
            iconst_1
            invokespecial jdk.internal.foreign.CABI.<init>:(Ljava/lang/String;I)V
            putstatic jdk.internal.foreign.CABI.Win64:Ljdk/internal/foreign/CABI;
         2: .line 35
            new jdk.internal.foreign.CABI
            dup
            ldc "AArch64"
            iconst_2
            invokespecial jdk.internal.foreign.CABI.<init>:(Ljava/lang/String;I)V
            putstatic jdk.internal.foreign.CABI.AArch64:Ljdk/internal/foreign/CABI;
            iconst_3
            anewarray jdk.internal.foreign.CABI
            dup
            iconst_0
            getstatic jdk.internal.foreign.CABI.SysV:Ljdk/internal/foreign/CABI;
            aastore
            dup
            iconst_1
            getstatic jdk.internal.foreign.CABI.Win64:Ljdk/internal/foreign/CABI;
            aastore
            dup
            iconst_2
            getstatic jdk.internal.foreign.CABI.AArch64:Ljdk/internal/foreign/CABI;
            aastore
            putstatic jdk.internal.foreign.CABI.ENUM$VALUES:[Ljdk/internal/foreign/CABI;
         3: .line 40
            ldc "os.arch"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* arch */
        start local 0 // java.lang.String arch
         4: .line 41
            ldc "os.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* os */
        start local 1 // java.lang.String os
         5: .line 42
            getstatic jdk.incubator.foreign.MemoryLayouts.ADDRESS:Ljdk/incubator/foreign/ValueLayout;
            invokevirtual jdk.incubator.foreign.ValueLayout.bitSize:()J
            lstore 2 /* addressSize */
        start local 2 // long addressSize
         6: .line 45
            aload 0 /* arch */
            ldc "amd64"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            aload 0 /* arch */
            ldc "x86_64"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
      StackMap locals: java.lang.String java.lang.String long
      StackMap stack:
         7: lload 2 /* addressSize */
            ldc 64
            lcmp
            ifne 13
         8: .line 46
            aload 1 /* os */
            ldc "Windows"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 11
         9: .line 47
            getstatic jdk.internal.foreign.CABI.Win64:Ljdk/internal/foreign/CABI;
            putstatic jdk.internal.foreign.CABI.current:Ljdk/internal/foreign/CABI;
        10: .line 48
            goto 19
        11: .line 49
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.foreign.CABI.SysV:Ljdk/internal/foreign/CABI;
            putstatic jdk.internal.foreign.CABI.current:Ljdk/internal/foreign/CABI;
        12: .line 51
            goto 19
      StackMap locals:
      StackMap stack:
        13: aload 0 /* arch */
            ldc "aarch64"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 52
            getstatic jdk.internal.foreign.CABI.AArch64:Ljdk/internal/foreign/CABI;
            putstatic jdk.internal.foreign.CABI.current:Ljdk/internal/foreign/CABI;
        15: .line 53
            goto 19
        16: .line 54
      StackMap locals:
      StackMap stack:
            new java.lang.ExceptionInInitializerError
            dup
        17: .line 55
            new java.lang.StringBuilder
            dup
            ldc "Unsupported os, arch, or address size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* os */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* arch */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 2 /* addressSize */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 54
            invokespecial java.lang.ExceptionInInitializerError.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // long addressSize
        end local 1 // java.lang.String os
        end local 0 // java.lang.String arch
        19: .line 57
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            4   19     0         arch  Ljava/lang/String;
            5   19     1           os  Ljava/lang/String;
            6   19     2  addressSize  J

  private void <init>(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.internal.foreign.CABI this
         0: .line 32
            aload 0 /* this */
            aload 1
            iload 2
            invokespecial java.lang.Enum.<init>:(Ljava/lang/String;I)V
            return
        end local 0 // jdk.internal.foreign.CABI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/foreign/CABI;
    MethodParameters:
               Name  Flags
      $enum$name     
      $enum$ordinal  

  public static jdk.internal.foreign.CABI current();
    descriptor: ()Ljdk/internal/foreign/CABI;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 60
            getstatic jdk.internal.foreign.CABI.current:Ljdk/internal/foreign/CABI;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static jdk.internal.foreign.CABI[] values();
    descriptor: ()[Ljdk/internal/foreign/CABI;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=0
         0: .line 1
            getstatic jdk.internal.foreign.CABI.ENUM$VALUES:[Ljdk/internal/foreign/CABI;
            dup
            astore 0
            iconst_0
            aload 0
            arraylength
            dup
            istore 1
            anewarray jdk.internal.foreign.CABI
            dup
            astore 2
            iconst_0
            iload 1
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
            aload 2
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static jdk.internal.foreign.CABI valueOf(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/foreign/CABI;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 1
            ldc Ljdk/internal/foreign/CABI;
            aload 0
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            checkcast jdk.internal.foreign.CABI
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
      Name  Flags
      name  
}
Signature: Ljava/lang/Enum<Ljdk/internal/foreign/CABI;>;
SourceFile: "CABI.java"