public interface jdk.internal.foreign.abi.SharedUtils$Allocator extends java.lang.AutoCloseable
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.internal.foreign.abi.SharedUtils$Allocator
  super_class: java.lang.Object
{
  public static final jdk.internal.foreign.abi.SharedUtils$Allocator THROWING_ALLOCATOR;
    descriptor: Ljdk/internal/foreign/abi/SharedUtils$Allocator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 369
            invokedynamic allocate()Ljdk/internal/foreign/abi/SharedUtils$Allocator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (JJ)Ljdk/incubator/foreign/MemorySegment;
                  jdk/internal/foreign/abi/SharedUtils$Allocator.lambda$0(JJ)Ljdk/incubator/foreign/MemorySegment; (6 itf)
                  (JJ)Ljdk/incubator/foreign/MemorySegment;
            putstatic jdk.internal.foreign.abi.SharedUtils$Allocator.THROWING_ALLOCATOR:Ljdk/internal/foreign/abi/SharedUtils$Allocator;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.incubator.foreign.MemorySegment allocate(jdk.incubator.foreign.MemoryLayout);
    descriptor: (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemorySegment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.internal.foreign.abi.SharedUtils$Allocator this
        start local 1 // jdk.incubator.foreign.MemoryLayout layout
         0: .line 372
            aload 0 /* this */
            aload 1 /* layout */
            invokeinterface jdk.incubator.foreign.MemoryLayout.byteSize:()J
            aload 1 /* layout */
            invokeinterface jdk.incubator.foreign.MemoryLayout.byteAlignment:()J
            invokeinterface jdk.internal.foreign.abi.SharedUtils$Allocator.allocate:(JJ)Ljdk/incubator/foreign/MemorySegment;
            areturn
        end local 1 // jdk.incubator.foreign.MemoryLayout layout
        end local 0 // jdk.internal.foreign.abi.SharedUtils$Allocator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/internal/foreign/abi/SharedUtils$Allocator;
            0    1     1  layout  Ljdk/incubator/foreign/MemoryLayout;
    MethodParameters:
        Name  Flags
      layout  

  public jdk.incubator.foreign.MemorySegment allocate(long);
    descriptor: (J)Ljdk/incubator/foreign/MemorySegment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.internal.foreign.abi.SharedUtils$Allocator this
        start local 1 // long size
         0: .line 376
            aload 0 /* this */
            lload 1 /* size */
            lconst_1
            invokeinterface jdk.internal.foreign.abi.SharedUtils$Allocator.allocate:(JJ)Ljdk/incubator/foreign/MemorySegment;
            areturn
        end local 1 // long size
        end local 0 // jdk.internal.foreign.abi.SharedUtils$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/foreign/abi/SharedUtils$Allocator;
            0    1     1  size  J
    MethodParameters:
      Name  Flags
      size  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // jdk.internal.foreign.abi.SharedUtils$Allocator this
         0: .line 380
            return
        end local 0 // jdk.internal.foreign.abi.SharedUtils$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/foreign/abi/SharedUtils$Allocator;

  public abstract jdk.incubator.foreign.MemorySegment allocate(long, long);
    descriptor: (JJ)Ljdk/incubator/foreign/MemorySegment;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      size   
      align  

  public static jdk.internal.foreign.abi.SharedUtils$Allocator ofScope(jdk.incubator.foreign.NativeScope);
    descriptor: (Ljdk/incubator/foreign/NativeScope;)Ljdk/internal/foreign/abi/SharedUtils$Allocator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.incubator.foreign.NativeScope scope
         0: .line 385
            new jdk.internal.foreign.abi.SharedUtils$Allocator$1
            dup
            aload 0 /* scope */
            invokespecial jdk.internal.foreign.abi.SharedUtils$Allocator$1.<init>:(Ljdk/incubator/foreign/NativeScope;)V
            areturn
        end local 0 // jdk.incubator.foreign.NativeScope scope
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  scope  Ljdk/incubator/foreign/NativeScope;
    MethodParameters:
       Name  Flags
      scope  

  private static jdk.incubator.foreign.MemorySegment lambda$0(long, long);
    descriptor: (JJ)Ljdk/incubator/foreign/MemorySegment;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // long size
        start local 2 // long align
         0: .line 369
            new java.lang.UnsupportedOperationException
            dup
            ldc "Null allocator"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // long align
        end local 0 // long size
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   size  J
            0    1     2  align  J
}
SourceFile: "SharedUtils.java"
NestHost: jdk.internal.foreign.abi.SharedUtils
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Allocator = jdk.internal.foreign.abi.SharedUtils$Allocator of jdk.internal.foreign.abi.SharedUtils
  jdk.internal.foreign.abi.SharedUtils$Allocator$1