public interface jdk.incubator.foreign.MemoryLayout extends java.lang.constant.Constable
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.incubator.foreign.MemoryLayout
  super_class: java.lang.Object
{
  public static final java.lang.String LAYOUT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "layout/name"

  public abstract java.util.Optional<? extends java.lang.constant.DynamicConstantDesc<? extends jdk.incubator.foreign.MemoryLayout>> describeConstable();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Optional<+Ljava/lang/constant/DynamicConstantDesc<+Ljdk/incubator/foreign/MemoryLayout;>;>;

  public abstract boolean hasSize();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract long bitSize();
    descriptor: ()J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public long byteSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.incubator.foreign.MemoryLayout this
         0: .line 244
            aload 0 /* this */
            invokeinterface jdk.incubator.foreign.MemoryLayout.bitSize:()J
         1: .line 245
            invokedynamic get()Ljava/util/function/Supplier;
              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:
                  ()Ljava/lang/Object;
                  jdk/incubator/foreign/MemoryLayout.lambda$0()Ljava/lang/RuntimeException; (6 itf)
                  ()Ljava/lang/RuntimeException;
         2: .line 244
            invokestatic jdk.internal.foreign.Utils.bitsToBytesOrThrow:(JLjava/util/function/Supplier;)J
            lreturn
        end local 0 // jdk.incubator.foreign.MemoryLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/incubator/foreign/MemoryLayout;

  public abstract java.util.Optional<java.lang.String> name();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Optional<Ljava/lang/String;>;

  public abstract jdk.incubator.foreign.MemoryLayout withName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      name  

  public abstract long bitAlignment();
    descriptor: ()J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public long byteAlignment();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.incubator.foreign.MemoryLayout this
         0: .line 311
            aload 0 /* this */
            invokeinterface jdk.incubator.foreign.MemoryLayout.bitAlignment:()J
         1: .line 312
            invokedynamic get()Ljava/util/function/Supplier;
              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:
                  ()Ljava/lang/Object;
                  jdk/incubator/foreign/MemoryLayout.lambda$1()Ljava/lang/RuntimeException; (6 itf)
                  ()Ljava/lang/RuntimeException;
         2: .line 311
            invokestatic jdk.internal.foreign.Utils.bitsToBytesOrThrow:(JLjava/util/function/Supplier;)J
            lreturn
        end local 0 // jdk.incubator.foreign.MemoryLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/incubator/foreign/MemoryLayout;

  public abstract jdk.incubator.foreign.MemoryLayout withBitAlignment(long);
    descriptor: (J)Ljdk/incubator/foreign/MemoryLayout;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      bitAlignment  

  public abstract java.util.Optional<java.lang.constant.Constable> attribute(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;)Ljava/util/Optional<Ljava/lang/constant/Constable;>;
    MethodParameters:
      Name  Flags
      name  

  public abstract jdk.incubator.foreign.MemoryLayout withAttribute(java.lang.String, java.lang.constant.Constable);
    descriptor: (Ljava/lang/String;Ljava/lang/constant/Constable;)Ljdk/incubator/foreign/MemoryLayout;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      name   
      value  

  public abstract java.util.stream.Stream<java.lang.String> attributes();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/stream/Stream<Ljava/lang/String;>;

  public long bitOffset(jdk.incubator.foreign.MemoryLayout$PathElement[]);
    descriptor: ([Ljdk/incubator/foreign/MemoryLayout$PathElement;)J
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.incubator.foreign.MemoryLayout this
        start local 1 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
         0: .line 362
            aload 0 /* this */
            invokedynamic applyAsLong()Ljava/util/function/ToLongFunction;
              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:
                  (Ljava/lang/Object;)J
                  jdk/incubator/foreign/MemoryLayout.bitSize()J (9 itf)
                  (Ljdk/incubator/foreign/MemoryLayout;)J
            invokestatic jdk.internal.foreign.LayoutPath.rootPath:(Ljdk/incubator/foreign/MemoryLayout;Ljava/util/function/ToLongFunction;)Ljdk/internal/foreign/LayoutPath;
            invokedynamic apply()Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/internal/foreign/LayoutPath.offset()J (5)
                  (Ljdk/internal/foreign/LayoutPath;)Ljava/lang/Long;
         1: .line 363
            getstatic jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind.SEQUENCE_ELEMENT:Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
            getstatic jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind.SEQUENCE_RANGE:Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
            aload 1 /* elements */
         2: .line 362
            invokestatic jdk.incubator.foreign.MemoryLayout.computePathOp:(Ljdk/internal/foreign/LayoutPath;Ljava/util/function/Function;Ljava/util/Set;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lreturn
        end local 1 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
        end local 0 // jdk.incubator.foreign.MemoryLayout this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/incubator/foreign/MemoryLayout;
            0    3     1  elements  [Ljdk/incubator/foreign/MemoryLayout$PathElement;
    MethodParameters:
          Name  Flags
      elements  

  public java.lang.invoke.MethodHandle bitOffsetHandle(jdk.incubator.foreign.MemoryLayout$PathElement[]);
    descriptor: ([Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.incubator.foreign.MemoryLayout this
        start local 1 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
         0: .line 394
            aload 0 /* this */
            invokedynamic applyAsLong()Ljava/util/function/ToLongFunction;
              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:
                  (Ljava/lang/Object;)J
                  jdk/incubator/foreign/MemoryLayout.bitSize()J (9 itf)
                  (Ljdk/incubator/foreign/MemoryLayout;)J
            invokestatic jdk.internal.foreign.LayoutPath.rootPath:(Ljdk/incubator/foreign/MemoryLayout;Ljava/util/function/ToLongFunction;)Ljdk/internal/foreign/LayoutPath;
            invokedynamic apply()Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/internal/foreign/LayoutPath.offsetHandle()Ljava/lang/invoke/MethodHandle; (5)
                  (Ljdk/internal/foreign/LayoutPath;)Ljava/lang/invoke/MethodHandle;
         1: .line 395
            getstatic jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind.SEQUENCE_RANGE:Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            aload 1 /* elements */
         2: .line 394
            invokestatic jdk.incubator.foreign.MemoryLayout.computePathOp:(Ljdk/internal/foreign/LayoutPath;Ljava/util/function/Function;Ljava/util/Set;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/Object;
            checkcast java.lang.invoke.MethodHandle
            areturn
        end local 1 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
        end local 0 // jdk.incubator.foreign.MemoryLayout this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/incubator/foreign/MemoryLayout;
            0    3     1  elements  [Ljdk/incubator/foreign/MemoryLayout$PathElement;
    MethodParameters:
          Name  Flags
      elements  

  public long byteOffset(jdk.incubator.foreign.MemoryLayout$PathElement[]);
    descriptor: ([Ljdk/incubator/foreign/MemoryLayout$PathElement;)J
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.incubator.foreign.MemoryLayout this
        start local 1 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
         0: .line 411
            aload 0 /* this */
            aload 1 /* elements */
            invokeinterface jdk.incubator.foreign.MemoryLayout.bitOffset:([Ljdk/incubator/foreign/MemoryLayout$PathElement;)J
            getstatic jdk.internal.foreign.Utils.bitsToBytesThrowOffset:Ljava/util/function/Supplier;
            invokestatic jdk.internal.foreign.Utils.bitsToBytesOrThrow:(JLjava/util/function/Supplier;)J
            lreturn
        end local 1 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
        end local 0 // jdk.incubator.foreign.MemoryLayout this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljdk/incubator/foreign/MemoryLayout;
            0    1     1  elements  [Ljdk/incubator/foreign/MemoryLayout$PathElement;
    MethodParameters:
          Name  Flags
      elements  

  public java.lang.invoke.MethodHandle byteOffsetHandle(jdk.incubator.foreign.MemoryLayout$PathElement[]);
    descriptor: ([Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.incubator.foreign.MemoryLayout this
        start local 1 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
         0: .line 446
            aload 0 /* this */
            aload 1 /* elements */
            invokeinterface jdk.incubator.foreign.MemoryLayout.bitOffsetHandle:([Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* mh */
        start local 2 // java.lang.invoke.MethodHandle mh
         1: .line 447
            aload 2 /* mh */
            getstatic jdk.internal.foreign.Utils.MH_bitsToBytesOrThrowForOffset:Ljava/lang/invoke/MethodHandle;
            invokestatic java.lang.invoke.MethodHandles.filterReturnValue:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* mh */
         2: .line 448
            aload 2 /* mh */
            areturn
        end local 2 // java.lang.invoke.MethodHandle mh
        end local 1 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
        end local 0 // jdk.incubator.foreign.MemoryLayout this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/incubator/foreign/MemoryLayout;
            0    3     1  elements  [Ljdk/incubator/foreign/MemoryLayout$PathElement;
            1    3     2        mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
          Name  Flags
      elements  

  public java.lang.invoke.VarHandle varHandle(java.lang.Class<?>, jdk.incubator.foreign.MemoryLayout$PathElement[]);
    descriptor: (Ljava/lang/Class;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/invoke/VarHandle;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.incubator.foreign.MemoryLayout this
        start local 1 // java.lang.Class carrier
        start local 2 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
         0: .line 487
            aload 1 /* carrier */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 488
            aload 0 /* this */
            invokedynamic applyAsLong()Ljava/util/function/ToLongFunction;
              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:
                  (Ljava/lang/Object;)J
                  jdk/incubator/foreign/MemoryLayout.bitSize()J (9 itf)
                  (Ljdk/incubator/foreign/MemoryLayout;)J
            invokestatic jdk.internal.foreign.LayoutPath.rootPath:(Ljdk/incubator/foreign/MemoryLayout;Ljava/util/function/ToLongFunction;)Ljdk/internal/foreign/LayoutPath;
            aload 1 /* carrier */
            invokedynamic apply(Ljava/lang/Class;)Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/incubator/foreign/MemoryLayout.lambda$7(Ljava/lang/Class;Ljdk/internal/foreign/LayoutPath;)Ljava/lang/invoke/VarHandle; (6 itf)
                  (Ljdk/internal/foreign/LayoutPath;)Ljava/lang/invoke/VarHandle;
         2: .line 489
            invokestatic java.util.Set.of:()Ljava/util/Set;
            aload 2 /* elements */
         3: .line 488
            invokestatic jdk.incubator.foreign.MemoryLayout.computePathOp:(Ljdk/internal/foreign/LayoutPath;Ljava/util/function/Function;Ljava/util/Set;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/Object;
            checkcast java.lang.invoke.VarHandle
            areturn
        end local 2 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
        end local 1 // java.lang.Class carrier
        end local 0 // jdk.incubator.foreign.MemoryLayout this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljdk/incubator/foreign/MemoryLayout;
            0    4     1   carrier  Ljava/lang/Class<*>;
            0    4     2  elements  [Ljdk/incubator/foreign/MemoryLayout$PathElement;
    Signature: (Ljava/lang/Class<*>;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/invoke/VarHandle;
    MethodParameters:
          Name  Flags
      carrier   
      elements  

  public jdk.incubator.foreign.MemoryLayout select(jdk.incubator.foreign.MemoryLayout$PathElement[]);
    descriptor: ([Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljdk/incubator/foreign/MemoryLayout;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.incubator.foreign.MemoryLayout this
        start local 1 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
         0: .line 502
            aload 0 /* this */
            invokedynamic applyAsLong()Ljava/util/function/ToLongFunction;
              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:
                  (Ljava/lang/Object;)J
                  jdk/incubator/foreign/MemoryLayout.lambda$8(Ljdk/incubator/foreign/MemoryLayout;)J (6 itf)
                  (Ljdk/incubator/foreign/MemoryLayout;)J
            invokestatic jdk.internal.foreign.LayoutPath.rootPath:(Ljdk/incubator/foreign/MemoryLayout;Ljava/util/function/ToLongFunction;)Ljdk/internal/foreign/LayoutPath;
            invokedynamic apply()Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/internal/foreign/LayoutPath.layout()Ljdk/incubator/foreign/MemoryLayout; (5)
                  (Ljdk/internal/foreign/LayoutPath;)Ljdk/incubator/foreign/MemoryLayout;
         1: .line 503
            getstatic jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind.SEQUENCE_ELEMENT_INDEX:Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
            getstatic jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind.SEQUENCE_RANGE:Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
            aload 1 /* elements */
         2: .line 502
            invokestatic jdk.incubator.foreign.MemoryLayout.computePathOp:(Ljdk/internal/foreign/LayoutPath;Ljava/util/function/Function;Ljava/util/Set;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/Object;
            checkcast jdk.incubator.foreign.MemoryLayout
            areturn
        end local 1 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
        end local 0 // jdk.incubator.foreign.MemoryLayout this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/incubator/foreign/MemoryLayout;
            0    3     1  elements  [Ljdk/incubator/foreign/MemoryLayout$PathElement;
    MethodParameters:
          Name  Flags
      elements  

  public jdk.incubator.foreign.MemoryLayout map(java.util.function.UnaryOperator<jdk.incubator.foreign.MemoryLayout>, jdk.incubator.foreign.MemoryLayout$PathElement[]);
    descriptor: (Ljava/util/function/UnaryOperator;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljdk/incubator/foreign/MemoryLayout;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.incubator.foreign.MemoryLayout this
        start local 1 // java.util.function.UnaryOperator op
        start local 2 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
         0: .line 519
            aload 1 /* op */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 520
            aload 0 /* this */
            invokedynamic applyAsLong()Ljava/util/function/ToLongFunction;
              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:
                  (Ljava/lang/Object;)J
                  jdk/incubator/foreign/MemoryLayout.lambda$10(Ljdk/incubator/foreign/MemoryLayout;)J (6 itf)
                  (Ljdk/incubator/foreign/MemoryLayout;)J
            invokestatic jdk.internal.foreign.LayoutPath.rootPath:(Ljdk/incubator/foreign/MemoryLayout;Ljava/util/function/ToLongFunction;)Ljdk/internal/foreign/LayoutPath;
            aload 1 /* op */
            invokedynamic apply(Ljava/util/function/UnaryOperator;)Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/incubator/foreign/MemoryLayout.lambda$11(Ljava/util/function/UnaryOperator;Ljdk/internal/foreign/LayoutPath;)Ljdk/incubator/foreign/MemoryLayout; (6 itf)
                  (Ljdk/internal/foreign/LayoutPath;)Ljdk/incubator/foreign/MemoryLayout;
         2: .line 521
            getstatic jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind.SEQUENCE_ELEMENT_INDEX:Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
            getstatic jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind.SEQUENCE_RANGE:Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
            aload 2 /* elements */
         3: .line 520
            invokestatic jdk.incubator.foreign.MemoryLayout.computePathOp:(Ljdk/internal/foreign/LayoutPath;Ljava/util/function/Function;Ljava/util/Set;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/Object;
            checkcast jdk.incubator.foreign.MemoryLayout
            areturn
        end local 2 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
        end local 1 // java.util.function.UnaryOperator op
        end local 0 // jdk.incubator.foreign.MemoryLayout this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljdk/incubator/foreign/MemoryLayout;
            0    4     1        op  Ljava/util/function/UnaryOperator<Ljdk/incubator/foreign/MemoryLayout;>;
            0    4     2  elements  [Ljdk/incubator/foreign/MemoryLayout$PathElement;
    Signature: (Ljava/util/function/UnaryOperator<Ljdk/incubator/foreign/MemoryLayout;>;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljdk/incubator/foreign/MemoryLayout;
    MethodParameters:
          Name  Flags
      op        
      elements  

  private static <Z> Z computePathOp(jdk.internal.foreign.LayoutPath, java.util.function.Function<jdk.internal.foreign.LayoutPath, Z>, java.util.Set<jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind>, jdk.incubator.foreign.MemoryLayout$PathElement[]);
    descriptor: (Ljdk/internal/foreign/LayoutPath;Ljava/util/function/Function;Ljava/util/Set;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/Object;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=7, locals=9, args_size=4
        start local 0 // jdk.internal.foreign.LayoutPath path
        start local 1 // java.util.function.Function finalizer
        start local 2 // java.util.Set badKinds
        start local 3 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
         0: .line 526
            aload 3 /* elements */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 527
            aload 3 /* elements */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: jdk.internal.foreign.LayoutPath java.util.function.Function java.util.Set jdk.incubator.foreign.MemoryLayout$PathElement[] top int int jdk.incubator.foreign.MemoryLayout$PathElement[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* e */
        start local 4 // jdk.incubator.foreign.MemoryLayout$PathElement e
         3: .line 528
            aload 4 /* e */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.internal.foreign.LayoutPath$PathElementImpl
            astore 8 /* pathElem */
        start local 8 // jdk.internal.foreign.LayoutPath$PathElementImpl pathElem
         4: .line 529
            aload 2 /* badKinds */
            aload 8 /* pathElem */
            invokevirtual jdk.internal.foreign.LayoutPath$PathElementImpl.kind:()Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 530
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid %s selection in layout path"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* pathElem */
            invokevirtual jdk.internal.foreign.LayoutPath$PathElementImpl.kind:()Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
            invokevirtual jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind.description:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 532
      StackMap locals: jdk.internal.foreign.LayoutPath java.util.function.Function java.util.Set jdk.incubator.foreign.MemoryLayout$PathElement[] jdk.incubator.foreign.MemoryLayout$PathElement int int jdk.incubator.foreign.MemoryLayout$PathElement[] jdk.internal.foreign.LayoutPath$PathElementImpl
      StackMap stack:
            aload 8 /* pathElem */
            aload 0 /* path */
            invokevirtual jdk.internal.foreign.LayoutPath$PathElementImpl.apply:(Ljdk/internal/foreign/LayoutPath;)Ljdk/internal/foreign/LayoutPath;
            astore 0 /* path */
        end local 8 // jdk.internal.foreign.LayoutPath$PathElementImpl pathElem
        end local 4 // jdk.incubator.foreign.MemoryLayout$PathElement e
         7: .line 527
            iinc 5 1
      StackMap locals: jdk.internal.foreign.LayoutPath java.util.function.Function java.util.Set jdk.incubator.foreign.MemoryLayout$PathElement[] top int int jdk.incubator.foreign.MemoryLayout$PathElement[]
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 2
         9: .line 534
            aload 1 /* finalizer */
            aload 0 /* path */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // jdk.incubator.foreign.MemoryLayout$PathElement[] elements
        end local 2 // java.util.Set badKinds
        end local 1 // java.util.function.Function finalizer
        end local 0 // jdk.internal.foreign.LayoutPath path
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       path  Ljdk/internal/foreign/LayoutPath;
            0   10     1  finalizer  Ljava/util/function/Function<Ljdk/internal/foreign/LayoutPath;TZ;>;
            0   10     2   badKinds  Ljava/util/Set<Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;>;
            0   10     3   elements  [Ljdk/incubator/foreign/MemoryLayout$PathElement;
            3    7     4          e  Ljdk/incubator/foreign/MemoryLayout$PathElement;
            4    7     8   pathElem  Ljdk/internal/foreign/LayoutPath$PathElementImpl;
    Signature: <Z:Ljava/lang/Object;>(Ljdk/internal/foreign/LayoutPath;Ljava/util/function/Function<Ljdk/internal/foreign/LayoutPath;TZ;>;Ljava/util/Set<Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;>;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)TZ;
    MethodParameters:
           Name  Flags
      path       
      finalizer  
      badKinds   
      elements   

  public abstract boolean isPadding();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      that  

  public abstract int hashCode();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public static jdk.incubator.foreign.MemoryLayout ofPaddingBits(long);
    descriptor: (J)Ljdk/incubator/foreign/MemoryLayout;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long size
         0: .line 683
            lload 0 /* size */
            invokestatic jdk.incubator.foreign.AbstractLayout.checkSize:(J)V
         1: .line 684
            new jdk.incubator.foreign.PaddingLayout
            dup
            lload 0 /* size */
            invokespecial jdk.incubator.foreign.PaddingLayout.<init>:(J)V
            areturn
        end local 0 // long size
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  size  J
    MethodParameters:
      Name  Flags
      size  

  public static jdk.incubator.foreign.ValueLayout ofValueBits(long, java.nio.ByteOrder);
    descriptor: (JLjava/nio/ByteOrder;)Ljdk/incubator/foreign/ValueLayout;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // long size
        start local 2 // java.nio.ByteOrder order
         0: .line 696
            aload 2 /* order */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 697
            lload 0 /* size */
            invokestatic jdk.incubator.foreign.AbstractLayout.checkSize:(J)V
         2: .line 698
            new jdk.incubator.foreign.ValueLayout
            dup
            aload 2 /* order */
            lload 0 /* size */
            invokespecial jdk.incubator.foreign.ValueLayout.<init>:(Ljava/nio/ByteOrder;J)V
            areturn
        end local 2 // java.nio.ByteOrder order
        end local 0 // long size
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   size  J
            0    3     2  order  Ljava/nio/ByteOrder;
    MethodParameters:
       Name  Flags
      size   
      order  

  public static jdk.incubator.foreign.SequenceLayout ofSequence(long, jdk.incubator.foreign.MemoryLayout);
    descriptor: (JLjdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/SequenceLayout;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // long elementCount
        start local 2 // jdk.incubator.foreign.MemoryLayout elementLayout
         0: .line 710
            lload 0 /* elementCount */
            iconst_1
            invokestatic jdk.incubator.foreign.AbstractLayout.checkSize:(JZ)V
         1: .line 711
            lload 0 /* elementCount */
            invokestatic java.util.OptionalLong.of:(J)Ljava/util/OptionalLong;
            astore 3 /* size */
        start local 3 // java.util.OptionalLong size
         2: .line 712
            new jdk.incubator.foreign.SequenceLayout
            dup
            aload 3 /* size */
            aload 2 /* elementLayout */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.incubator.foreign.MemoryLayout
            invokespecial jdk.incubator.foreign.SequenceLayout.<init>:(Ljava/util/OptionalLong;Ljdk/incubator/foreign/MemoryLayout;)V
            areturn
        end local 3 // java.util.OptionalLong size
        end local 2 // jdk.incubator.foreign.MemoryLayout elementLayout
        end local 0 // long elementCount
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0   elementCount  J
            0    3     2  elementLayout  Ljdk/incubator/foreign/MemoryLayout;
            2    3     3           size  Ljava/util/OptionalLong;
    MethodParameters:
               Name  Flags
      elementCount   
      elementLayout  

  public static jdk.incubator.foreign.SequenceLayout ofSequence(jdk.incubator.foreign.MemoryLayout);
    descriptor: (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/SequenceLayout;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.incubator.foreign.MemoryLayout elementLayout
         0: .line 722
            new jdk.incubator.foreign.SequenceLayout
            dup
            invokestatic java.util.OptionalLong.empty:()Ljava/util/OptionalLong;
            aload 0 /* elementLayout */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.incubator.foreign.MemoryLayout
            invokespecial jdk.incubator.foreign.SequenceLayout.<init>:(Ljava/util/OptionalLong;Ljdk/incubator/foreign/MemoryLayout;)V
            areturn
        end local 0 // jdk.incubator.foreign.MemoryLayout elementLayout
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  elementLayout  Ljdk/incubator/foreign/MemoryLayout;
    MethodParameters:
               Name  Flags
      elementLayout  

  public static jdk.incubator.foreign.GroupLayout ofStruct(jdk.incubator.foreign.MemoryLayout[]);
    descriptor: ([Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/GroupLayout;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.incubator.foreign.MemoryLayout[] elements
         0: .line 732
            aload 0 /* elements */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 733
            new jdk.incubator.foreign.GroupLayout
            dup
            getstatic jdk.incubator.foreign.GroupLayout$Kind.STRUCT:Ljdk/incubator/foreign/GroupLayout$Kind;
         2: .line 734
            aload 0 /* elements */
            invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
         3: .line 735
            invokedynamic apply()Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/Objects.requireNonNull(Ljava/lang/Object;)Ljava/lang/Object; (6)
                  (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemoryLayout;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         4: .line 736
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         5: .line 733
            invokespecial jdk.incubator.foreign.GroupLayout.<init>:(Ljdk/incubator/foreign/GroupLayout$Kind;Ljava/util/List;)V
            areturn
        end local 0 // jdk.incubator.foreign.MemoryLayout[] elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0  elements  [Ljdk/incubator/foreign/MemoryLayout;
    MethodParameters:
          Name  Flags
      elements  

  public static jdk.incubator.foreign.GroupLayout ofUnion(jdk.incubator.foreign.MemoryLayout[]);
    descriptor: ([Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/GroupLayout;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.incubator.foreign.MemoryLayout[] elements
         0: .line 746
            aload 0 /* elements */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 747
            new jdk.incubator.foreign.GroupLayout
            dup
            getstatic jdk.incubator.foreign.GroupLayout$Kind.UNION:Ljdk/incubator/foreign/GroupLayout$Kind;
         2: .line 748
            aload 0 /* elements */
            invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
         3: .line 749
            invokedynamic apply()Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/Objects.requireNonNull(Ljava/lang/Object;)Ljava/lang/Object; (6)
                  (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemoryLayout;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         4: .line 750
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         5: .line 747
            invokespecial jdk.incubator.foreign.GroupLayout.<init>:(Ljdk/incubator/foreign/GroupLayout$Kind;Ljava/util/List;)V
            areturn
        end local 0 // jdk.incubator.foreign.MemoryLayout[] elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0  elements  [Ljdk/incubator/foreign/MemoryLayout;
    MethodParameters:
          Name  Flags
      elements  

  private static java.lang.RuntimeException lambda$0();
    descriptor: ()Ljava/lang/RuntimeException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 245
            new java.lang.UnsupportedOperationException
            dup
            ldc "Cannot compute byte size; bit size is not a multiple of 8"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.RuntimeException lambda$1();
    descriptor: ()Ljava/lang/RuntimeException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 312
            new java.lang.UnsupportedOperationException
            dup
            ldc "Cannot compute byte alignment; bit alignment is not a multiple of 8"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.invoke.VarHandle lambda$7(java.lang.Class, jdk.internal.foreign.LayoutPath);
    descriptor: (Ljava/lang/Class;Ljdk/internal/foreign/LayoutPath;)Ljava/lang/invoke/VarHandle;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // jdk.internal.foreign.LayoutPath path
         0: .line 488
            aload 1 /* path */
            aload 0
            invokevirtual jdk.internal.foreign.LayoutPath.dereferenceHandle:(Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
            areturn
        end local 1 // jdk.internal.foreign.LayoutPath path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1  path  Ljdk/internal/foreign/LayoutPath;

  private static long lambda$8(jdk.incubator.foreign.MemoryLayout);
    descriptor: (Ljdk/incubator/foreign/MemoryLayout;)J
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.incubator.foreign.MemoryLayout l
         0: .line 502
            lconst_0
            lreturn
        end local 0 // jdk.incubator.foreign.MemoryLayout l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     l  Ljdk/incubator/foreign/MemoryLayout;

  private static long lambda$10(jdk.incubator.foreign.MemoryLayout);
    descriptor: (Ljdk/incubator/foreign/MemoryLayout;)J
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.incubator.foreign.MemoryLayout l
         0: .line 520
            lconst_0
            lreturn
        end local 0 // jdk.incubator.foreign.MemoryLayout l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     l  Ljdk/incubator/foreign/MemoryLayout;

  private static jdk.incubator.foreign.MemoryLayout lambda$11(java.util.function.UnaryOperator, jdk.internal.foreign.LayoutPath);
    descriptor: (Ljava/util/function/UnaryOperator;Ljdk/internal/foreign/LayoutPath;)Ljdk/incubator/foreign/MemoryLayout;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // jdk.internal.foreign.LayoutPath path
         0: .line 520
            aload 1 /* path */
            aload 0
            invokevirtual jdk.internal.foreign.LayoutPath.map:(Ljava/util/function/UnaryOperator;)Ljdk/incubator/foreign/MemoryLayout;
            areturn
        end local 1 // jdk.internal.foreign.LayoutPath path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1  path  Ljdk/internal/foreign/LayoutPath;
}
SourceFile: "MemoryLayout.java"
NestMembers:
  jdk.incubator.foreign.MemoryLayout$PathElement
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  final Kind = jdk.incubator.foreign.GroupLayout$Kind of jdk.incubator.foreign.GroupLayout
  public abstract PathElement = jdk.incubator.foreign.MemoryLayout$PathElement of jdk.incubator.foreign.MemoryLayout
  public PathElementImpl = jdk.internal.foreign.LayoutPath$PathElementImpl of jdk.internal.foreign.LayoutPath
  public final PathKind = jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind of jdk.internal.foreign.LayoutPath$PathElementImpl