abstract class jdk.incubator.foreign.AbstractLayout implements jdk.incubator.foreign.MemoryLayout
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: jdk.incubator.foreign.AbstractLayout
super_class: java.lang.Object
{
private final java.util.OptionalLong size;
descriptor: Ljava/util/OptionalLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final long alignment;
descriptor: J
flags: (0x0010) ACC_FINAL
final java.util.Map<java.lang.String, java.lang.constant.Constable> attributes;
descriptor: Ljava/util/Map;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/constant/Constable;>;
static final java.lang.constant.ClassDesc CD_MEMORY_LAYOUT;
descriptor: Ljava/lang/constant/ClassDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.ClassDesc CD_VALUE_LAYOUT;
descriptor: Ljava/lang/constant/ClassDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.ClassDesc CD_SEQUENCE_LAYOUT;
descriptor: Ljava/lang/constant/ClassDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.ClassDesc CD_GROUP_LAYOUT;
descriptor: Ljava/lang/constant/ClassDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.ClassDesc CD_BYTEORDER;
descriptor: Ljava/lang/constant/ClassDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.ClassDesc CD_FUNCTION_DESC;
descriptor: Ljava/lang/constant/ClassDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.ClassDesc CD_Constable;
descriptor: Ljava/lang/constant/ClassDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.ConstantDesc BIG_ENDIAN;
descriptor: Ljava/lang/constant/ConstantDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.ConstantDesc LITTLE_ENDIAN;
descriptor: Ljava/lang/constant/ConstantDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.MethodHandleDesc MH_PADDING;
descriptor: Ljava/lang/constant/MethodHandleDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.MethodHandleDesc MH_VALUE;
descriptor: Ljava/lang/constant/MethodHandleDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.MethodHandleDesc MH_SIZED_SEQUENCE;
descriptor: Ljava/lang/constant/MethodHandleDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.MethodHandleDesc MH_UNSIZED_SEQUENCE;
descriptor: Ljava/lang/constant/MethodHandleDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.MethodHandleDesc MH_STRUCT;
descriptor: Ljava/lang/constant/MethodHandleDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.MethodHandleDesc MH_UNION;
descriptor: Ljava/lang/constant/MethodHandleDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.MethodHandleDesc MH_VOID_FUNCTION;
descriptor: Ljava/lang/constant/MethodHandleDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.MethodHandleDesc MH_FUNCTION;
descriptor: Ljava/lang/constant/MethodHandleDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.MethodHandleDesc MH_WITH_BIT_ALIGNMENT;
descriptor: Ljava/lang/constant/MethodHandleDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.constant.MethodHandleDesc MH_WITH_ATTRIBUTE;
descriptor: Ljava/lang/constant/MethodHandleDesc;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=0, args_size=0
0: ldc Ljdk/incubator/foreign/MemoryLayout;
invokevirtual java.lang.Class.describeConstable:()Ljava/util/Optional;
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.constant.ClassDesc
putstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
1: ldc Ljdk/incubator/foreign/ValueLayout;
invokevirtual java.lang.Class.describeConstable:()Ljava/util/Optional;
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.constant.ClassDesc
putstatic jdk.incubator.foreign.AbstractLayout.CD_VALUE_LAYOUT:Ljava/lang/constant/ClassDesc;
2: ldc Ljdk/incubator/foreign/SequenceLayout;
invokevirtual java.lang.Class.describeConstable:()Ljava/util/Optional;
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.constant.ClassDesc
putstatic jdk.incubator.foreign.AbstractLayout.CD_SEQUENCE_LAYOUT:Ljava/lang/constant/ClassDesc;
3: ldc Ljdk/incubator/foreign/GroupLayout;
invokevirtual java.lang.Class.describeConstable:()Ljava/util/Optional;
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.constant.ClassDesc
putstatic jdk.incubator.foreign.AbstractLayout.CD_GROUP_LAYOUT:Ljava/lang/constant/ClassDesc;
4: ldc Ljava/nio/ByteOrder;
invokevirtual java.lang.Class.describeConstable:()Ljava/util/Optional;
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.constant.ClassDesc
putstatic jdk.incubator.foreign.AbstractLayout.CD_BYTEORDER:Ljava/lang/constant/ClassDesc;
5: ldc Ljdk/incubator/foreign/FunctionDescriptor;
invokevirtual java.lang.Class.describeConstable:()Ljava/util/Optional;
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.constant.ClassDesc
putstatic jdk.incubator.foreign.AbstractLayout.CD_FUNCTION_DESC:Ljava/lang/constant/ClassDesc;
6: ldc Ljava/lang/constant/Constable;
invokevirtual java.lang.Class.describeConstable:()Ljava/util/Optional;
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.constant.ClassDesc
putstatic jdk.incubator.foreign.AbstractLayout.CD_Constable:Ljava/lang/constant/ClassDesc;
7: getstatic java.lang.constant.ConstantDescs.BSM_GET_STATIC_FINAL:Ljava/lang/constant/DirectMethodHandleDesc;
ldc "BIG_ENDIAN"
getstatic jdk.incubator.foreign.AbstractLayout.CD_BYTEORDER:Ljava/lang/constant/ClassDesc;
iconst_1
anewarray java.lang.constant.ConstantDesc
dup
iconst_0
getstatic jdk.incubator.foreign.AbstractLayout.CD_BYTEORDER:Ljava/lang/constant/ClassDesc;
aastore
invokestatic java.lang.constant.DynamicConstantDesc.ofNamed:(Ljava/lang/constant/DirectMethodHandleDesc;Ljava/lang/String;Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ConstantDesc;)Ljava/lang/constant/DynamicConstantDesc;
putstatic jdk.incubator.foreign.AbstractLayout.BIG_ENDIAN:Ljava/lang/constant/ConstantDesc;
8: getstatic java.lang.constant.ConstantDescs.BSM_GET_STATIC_FINAL:Ljava/lang/constant/DirectMethodHandleDesc;
ldc "LITTLE_ENDIAN"
getstatic jdk.incubator.foreign.AbstractLayout.CD_BYTEORDER:Ljava/lang/constant/ClassDesc;
iconst_1
anewarray java.lang.constant.ConstantDesc
dup
iconst_0
getstatic jdk.incubator.foreign.AbstractLayout.CD_BYTEORDER:Ljava/lang/constant/ClassDesc;
aastore
invokestatic java.lang.constant.DynamicConstantDesc.ofNamed:(Ljava/lang/constant/DirectMethodHandleDesc;Ljava/lang/String;Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ConstantDesc;)Ljava/lang/constant/DynamicConstantDesc;
putstatic jdk.incubator.foreign.AbstractLayout.LITTLE_ENDIAN:Ljava/lang/constant/ConstantDesc;
9: getstatic java.lang.constant.DirectMethodHandleDesc$Kind.INTERFACE_STATIC:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
ldc "ofPaddingBits"
10: getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
iconst_1
anewarray java.lang.constant.ClassDesc
dup
iconst_0
getstatic java.lang.constant.ConstantDescs.CD_long:Ljava/lang/constant/ClassDesc;
aastore
invokestatic java.lang.constant.MethodTypeDesc.of:(Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc;
11: invokestatic java.lang.constant.MethodHandleDesc.ofMethod:(Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/constant/DirectMethodHandleDesc;
putstatic jdk.incubator.foreign.AbstractLayout.MH_PADDING:Ljava/lang/constant/MethodHandleDesc;
12: getstatic java.lang.constant.DirectMethodHandleDesc$Kind.INTERFACE_STATIC:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
ldc "ofValueBits"
13: getstatic jdk.incubator.foreign.AbstractLayout.CD_VALUE_LAYOUT:Ljava/lang/constant/ClassDesc;
iconst_2
anewarray java.lang.constant.ClassDesc
dup
iconst_0
getstatic java.lang.constant.ConstantDescs.CD_long:Ljava/lang/constant/ClassDesc;
aastore
dup
iconst_1
getstatic jdk.incubator.foreign.AbstractLayout.CD_BYTEORDER:Ljava/lang/constant/ClassDesc;
aastore
invokestatic java.lang.constant.MethodTypeDesc.of:(Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc;
14: invokestatic java.lang.constant.MethodHandleDesc.ofMethod:(Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/constant/DirectMethodHandleDesc;
putstatic jdk.incubator.foreign.AbstractLayout.MH_VALUE:Ljava/lang/constant/MethodHandleDesc;
15: getstatic java.lang.constant.DirectMethodHandleDesc$Kind.INTERFACE_STATIC:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
ldc "ofSequence"
16: getstatic jdk.incubator.foreign.AbstractLayout.CD_SEQUENCE_LAYOUT:Ljava/lang/constant/ClassDesc;
iconst_2
anewarray java.lang.constant.ClassDesc
dup
iconst_0
getstatic java.lang.constant.ConstantDescs.CD_long:Ljava/lang/constant/ClassDesc;
aastore
dup
iconst_1
getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
aastore
invokestatic java.lang.constant.MethodTypeDesc.of:(Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc;
17: invokestatic java.lang.constant.MethodHandleDesc.ofMethod:(Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/constant/DirectMethodHandleDesc;
putstatic jdk.incubator.foreign.AbstractLayout.MH_SIZED_SEQUENCE:Ljava/lang/constant/MethodHandleDesc;
18: getstatic java.lang.constant.DirectMethodHandleDesc$Kind.INTERFACE_STATIC:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
ldc "ofSequence"
19: getstatic jdk.incubator.foreign.AbstractLayout.CD_SEQUENCE_LAYOUT:Ljava/lang/constant/ClassDesc;
iconst_1
anewarray java.lang.constant.ClassDesc
dup
iconst_0
getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
aastore
invokestatic java.lang.constant.MethodTypeDesc.of:(Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc;
20: invokestatic java.lang.constant.MethodHandleDesc.ofMethod:(Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/constant/DirectMethodHandleDesc;
putstatic jdk.incubator.foreign.AbstractLayout.MH_UNSIZED_SEQUENCE:Ljava/lang/constant/MethodHandleDesc;
21: getstatic java.lang.constant.DirectMethodHandleDesc$Kind.INTERFACE_STATIC:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
ldc "ofStruct"
22: getstatic jdk.incubator.foreign.AbstractLayout.CD_GROUP_LAYOUT:Ljava/lang/constant/ClassDesc;
iconst_1
anewarray java.lang.constant.ClassDesc
dup
iconst_0
getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
invokeinterface java.lang.constant.ClassDesc.arrayType:()Ljava/lang/constant/ClassDesc;
aastore
invokestatic java.lang.constant.MethodTypeDesc.of:(Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc;
23: invokestatic java.lang.constant.MethodHandleDesc.ofMethod:(Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/constant/DirectMethodHandleDesc;
putstatic jdk.incubator.foreign.AbstractLayout.MH_STRUCT:Ljava/lang/constant/MethodHandleDesc;
24: getstatic java.lang.constant.DirectMethodHandleDesc$Kind.INTERFACE_STATIC:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
ldc "ofUnion"
25: getstatic jdk.incubator.foreign.AbstractLayout.CD_GROUP_LAYOUT:Ljava/lang/constant/ClassDesc;
iconst_1
anewarray java.lang.constant.ClassDesc
dup
iconst_0
getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
invokeinterface java.lang.constant.ClassDesc.arrayType:()Ljava/lang/constant/ClassDesc;
aastore
invokestatic java.lang.constant.MethodTypeDesc.of:(Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc;
26: invokestatic java.lang.constant.MethodHandleDesc.ofMethod:(Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/constant/DirectMethodHandleDesc;
putstatic jdk.incubator.foreign.AbstractLayout.MH_UNION:Ljava/lang/constant/MethodHandleDesc;
27: getstatic java.lang.constant.DirectMethodHandleDesc$Kind.STATIC:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
getstatic jdk.incubator.foreign.AbstractLayout.CD_FUNCTION_DESC:Ljava/lang/constant/ClassDesc;
ldc "ofVoid"
28: getstatic jdk.incubator.foreign.AbstractLayout.CD_FUNCTION_DESC:Ljava/lang/constant/ClassDesc;
iconst_1
anewarray java.lang.constant.ClassDesc
dup
iconst_0
getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
invokeinterface java.lang.constant.ClassDesc.arrayType:()Ljava/lang/constant/ClassDesc;
aastore
invokestatic java.lang.constant.MethodTypeDesc.of:(Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc;
29: invokestatic java.lang.constant.MethodHandleDesc.ofMethod:(Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/constant/DirectMethodHandleDesc;
putstatic jdk.incubator.foreign.AbstractLayout.MH_VOID_FUNCTION:Ljava/lang/constant/MethodHandleDesc;
30: getstatic java.lang.constant.DirectMethodHandleDesc$Kind.STATIC:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
getstatic jdk.incubator.foreign.AbstractLayout.CD_FUNCTION_DESC:Ljava/lang/constant/ClassDesc;
ldc "of"
31: getstatic jdk.incubator.foreign.AbstractLayout.CD_FUNCTION_DESC:Ljava/lang/constant/ClassDesc;
iconst_2
anewarray java.lang.constant.ClassDesc
dup
iconst_0
getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
aastore
dup
iconst_1
getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
invokeinterface java.lang.constant.ClassDesc.arrayType:()Ljava/lang/constant/ClassDesc;
aastore
invokestatic java.lang.constant.MethodTypeDesc.of:(Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc;
32: invokestatic java.lang.constant.MethodHandleDesc.ofMethod:(Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/constant/DirectMethodHandleDesc;
putstatic jdk.incubator.foreign.AbstractLayout.MH_FUNCTION:Ljava/lang/constant/MethodHandleDesc;
33: getstatic java.lang.constant.DirectMethodHandleDesc$Kind.INTERFACE_VIRTUAL:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
ldc "withBitAlignment"
34: getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
iconst_1
anewarray java.lang.constant.ClassDesc
dup
iconst_0
getstatic java.lang.constant.ConstantDescs.CD_long:Ljava/lang/constant/ClassDesc;
aastore
invokestatic java.lang.constant.MethodTypeDesc.of:(Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc;
35: invokestatic java.lang.constant.MethodHandleDesc.ofMethod:(Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/constant/DirectMethodHandleDesc;
putstatic jdk.incubator.foreign.AbstractLayout.MH_WITH_BIT_ALIGNMENT:Ljava/lang/constant/MethodHandleDesc;
36: getstatic java.lang.constant.DirectMethodHandleDesc$Kind.INTERFACE_VIRTUAL:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
ldc "withAttribute"
37: getstatic jdk.incubator.foreign.AbstractLayout.CD_MEMORY_LAYOUT:Ljava/lang/constant/ClassDesc;
iconst_2
anewarray java.lang.constant.ClassDesc
dup
iconst_0
getstatic java.lang.constant.ConstantDescs.CD_String:Ljava/lang/constant/ClassDesc;
aastore
dup
iconst_1
getstatic jdk.incubator.foreign.AbstractLayout.CD_Constable:Ljava/lang/constant/ClassDesc;
aastore
invokestatic java.lang.constant.MethodTypeDesc.of:(Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc;
38: invokestatic java.lang.constant.MethodHandleDesc.ofMethod:(Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/constant/DirectMethodHandleDesc;
putstatic jdk.incubator.foreign.AbstractLayout.MH_WITH_ATTRIBUTE:Ljava/lang/constant/MethodHandleDesc;
39: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.util.OptionalLong, long, java.util.Map<java.lang.String, java.lang.constant.Constable>);
descriptor: (Ljava/util/OptionalLong;JLjava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.incubator.foreign.AbstractLayout.size:Ljava/util/OptionalLong;
2: aload 0
lload 2
putfield jdk.incubator.foreign.AbstractLayout.alignment:J
3: aload 0
aload 4
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
putfield jdk.incubator.foreign.AbstractLayout.attributes:Ljava/util/Map;
4: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/foreign/AbstractLayout;
0 5 1 size Ljava/util/OptionalLong;
0 5 2 alignment J
0 5 4 attributes Ljava/util/Map<Ljava/lang/String;Ljava/lang/constant/Constable;>;
Signature: (Ljava/util/OptionalLong;JLjava/util/Map<Ljava/lang/String;Ljava/lang/constant/Constable;>;)V
MethodParameters:
Name Flags
size
alignment
attributes
public jdk.incubator.foreign.AbstractLayout withName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/incubator/foreign/AbstractLayout;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
ldc "layout/name"
aload 1
invokevirtual jdk.incubator.foreign.AbstractLayout.withAttribute:(Ljava/lang/String;Ljava/lang/constant/Constable;)Ljdk/incubator/foreign/AbstractLayout;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/foreign/AbstractLayout;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public final java.util.Optional<java.lang.String> name();
descriptor: ()Ljava/util/Optional;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "layout/name"
invokevirtual jdk.incubator.foreign.AbstractLayout.attribute:(Ljava/lang/String;)Ljava/util/Optional;
ldc Ljava/lang/String;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
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;
java/lang/Class.cast(Ljava/lang/Object;)Ljava/lang/Object; (5)
(Ljava/lang/constant/Constable;)Ljava/lang/String;
invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/foreign/AbstractLayout;
Signature: ()Ljava/util/Optional<Ljava/lang/String;>;
public java.util.Optional<java.lang.constant.Constable> attribute(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield jdk.incubator.foreign.AbstractLayout.attributes:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.constant.Constable
invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/foreign/AbstractLayout;
0 2 1 name Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/util/Optional<Ljava/lang/constant/Constable;>;
MethodParameters:
Name Flags
name
public java.util.stream.Stream<java.lang.String> attributes();
descriptor: ()Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.foreign.AbstractLayout.attributes:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/foreign/AbstractLayout;
Signature: ()Ljava/util/stream/Stream<Ljava/lang/String;>;
public jdk.incubator.foreign.AbstractLayout withAttribute(java.lang.String, java.lang.constant.Constable);
descriptor: (Ljava/lang/String;Ljava/lang/constant/Constable;)Ljdk/incubator/foreign/AbstractLayout;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: new java.util.HashMap
dup
aload 0
getfield jdk.incubator.foreign.AbstractLayout.attributes:Ljava/util/Map;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
astore 3
start local 3 2: aload 3
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
aload 0
getfield jdk.incubator.foreign.AbstractLayout.alignment:J
aload 3
invokevirtual jdk.incubator.foreign.AbstractLayout.dup:(JLjava/util/Map;)Ljdk/incubator/foreign/AbstractLayout;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/foreign/AbstractLayout;
0 4 1 name Ljava/lang/String;
0 4 2 value Ljava/lang/constant/Constable;
2 4 3 newAttributes Ljava/util/Map<Ljava/lang/String;Ljava/lang/constant/Constable;>;
MethodParameters:
Name Flags
name
value
abstract jdk.incubator.foreign.AbstractLayout dup(long, java.util.Map<java.lang.String, java.lang.constant.Constable>);
descriptor: (JLjava/util/Map;)Ljdk/incubator/foreign/AbstractLayout;
flags: (0x0400) ACC_ABSTRACT
Signature: (JLjava/util/Map<Ljava/lang/String;Ljava/lang/constant/Constable;>;)Ljdk/incubator/foreign/AbstractLayout;
MethodParameters:
Name Flags
alignment
annos
public jdk.incubator.foreign.AbstractLayout withBitAlignment(long);
descriptor: (J)Ljdk/incubator/foreign/AbstractLayout;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokevirtual jdk.incubator.foreign.AbstractLayout.checkAlignment:(J)V
1: aload 0
lload 1
aload 0
getfield jdk.incubator.foreign.AbstractLayout.attributes:Ljava/util/Map;
invokevirtual jdk.incubator.foreign.AbstractLayout.dup:(JLjava/util/Map;)Ljdk/incubator/foreign/AbstractLayout;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/foreign/AbstractLayout;
0 2 1 alignmentBits J
MethodParameters:
Name Flags
alignmentBits
void checkAlignment(long);
descriptor: (J)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: lload 1
lload 1
lconst_1
lsub
land
lconst_0
lcmp
ifne 2
1: lload 1
ldc 8
lcmp
ifge 3
2: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid alignment: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/foreign/AbstractLayout;
0 4 1 alignmentBitCount J
MethodParameters:
Name Flags
alignmentBitCount
static void checkSize(long);
descriptor: (J)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: lload 0
iconst_0
invokestatic jdk.incubator.foreign.AbstractLayout.checkSize:(JZ)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 size J
MethodParameters:
Name Flags
size
static void checkSize(long, boolean);
descriptor: (JZ)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 2 0: lload 0
lconst_0
lcmp
iflt 1
iload 2
ifne 2
lload 0
lconst_0
lcmp
ifne 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid size for layout: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 size J
0 3 2 includeZero Z
MethodParameters:
Name Flags
size
includeZero
public final long bitAlignment();
descriptor: ()J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.foreign.AbstractLayout.alignment:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/foreign/AbstractLayout;
public boolean hasSize();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.foreign.AbstractLayout.size:Ljava/util/OptionalLong;
invokevirtual java.util.OptionalLong.isPresent:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/foreign/AbstractLayout;
public long bitSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.foreign.AbstractLayout.size:Ljava/util/OptionalLong;
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/AbstractLayout.badSizeException()Ljava/lang/UnsupportedOperationException; (6)
()Ljava/lang/UnsupportedOperationException;
invokevirtual java.util.OptionalLong.orElseThrow:(Ljava/util/function/Supplier;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/foreign/AbstractLayout;
static java.util.OptionalLong optSize(jdk.incubator.foreign.MemoryLayout);
descriptor: (Ljdk/incubator/foreign/MemoryLayout;)Ljava/util/OptionalLong;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast jdk.incubator.foreign.AbstractLayout
getfield jdk.incubator.foreign.AbstractLayout.size:Ljava/util/OptionalLong;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 layout Ljdk/incubator/foreign/MemoryLayout;
MethodParameters:
Name Flags
layout
private static java.lang.UnsupportedOperationException badSizeException();
descriptor: ()Ljava/lang/UnsupportedOperationException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.UnsupportedOperationException
dup
ldc "Cannot compute size of a layout which is, or depends on a sequence layout with unspecified size"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
java.lang.String decorateLayoutString(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.incubator.foreign.AbstractLayout.name:()Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifeq 2
1: ldc "%s(%s)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 0
invokevirtual jdk.incubator.foreign.AbstractLayout.name:()Ljava/util/Optional;
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 1
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.incubator.foreign.AbstractLayout.hasNaturalAlignment:()Z
ifne 4
3: new java.lang.StringBuilder
dup
aload 0
getfield jdk.incubator.foreign.AbstractLayout.alignment:J
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "%"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.foreign.AbstractLayout.attributes:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifne 9
5: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.incubator.foreign.AbstractLayout.attributes:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
6: 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/incubator/foreign/AbstractLayout.lambda$2(Ljava/util/Map$Entry;)Ljava/lang/String; (6)
(Ljava/util/Map$Entry;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
7: ldc ","
ldc "["
ldc "]"
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
9: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/incubator/foreign/AbstractLayout;
0 10 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
<T> java.lang.constant.DynamicConstantDesc<T> decorateLayoutConstant(java.lang.constant.DynamicConstantDesc<T>);
descriptor: (Ljava/lang/constant/DynamicConstantDesc;)Ljava/lang/constant/DynamicConstantDesc;
flags: (0x0000)
Code:
stack=8, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.incubator.foreign.AbstractLayout.hasNaturalAlignment:()Z
ifne 4
1: getstatic java.lang.constant.ConstantDescs.BSM_INVOKE:Ljava/lang/constant/DirectMethodHandleDesc;
ldc "withBitAlignment"
aload 1
invokevirtual java.lang.constant.DynamicConstantDesc.constantType:()Ljava/lang/constant/ClassDesc;
iconst_3
anewarray java.lang.constant.ConstantDesc
dup
iconst_0
getstatic jdk.incubator.foreign.AbstractLayout.MH_WITH_BIT_ALIGNMENT:Ljava/lang/constant/MethodHandleDesc;
aastore
dup
iconst_1
2: aload 1
aastore
dup
iconst_2
aload 0
invokevirtual jdk.incubator.foreign.AbstractLayout.bitAlignment:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
3: invokestatic java.lang.constant.DynamicConstantDesc.ofNamed:(Ljava/lang/constant/DirectMethodHandleDesc;Ljava/lang/String;Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ConstantDesc;)Ljava/lang/constant/DynamicConstantDesc;
astore 1
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.foreign.AbstractLayout.attributes:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: jdk.incubator.foreign.AbstractLayout java.lang.constant.DynamicConstantDesc top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 6: getstatic java.lang.constant.ConstantDescs.BSM_INVOKE:Ljava/lang/constant/DirectMethodHandleDesc;
ldc "withAttribute"
aload 1
invokevirtual java.lang.constant.DynamicConstantDesc.constantType:()Ljava/lang/constant/ClassDesc;
iconst_4
anewarray java.lang.constant.ConstantDesc
dup
iconst_0
getstatic jdk.incubator.foreign.AbstractLayout.MH_WITH_ATTRIBUTE:Ljava/lang/constant/MethodHandleDesc;
aastore
dup
iconst_1
7: aload 1
aastore
dup
iconst_2
aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.constant.ConstantDesc
aastore
dup
iconst_3
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.constant.Constable
invokeinterface java.lang.constant.Constable.describeConstable:()Ljava/util/Optional;
invokevirtual java.util.Optional.orElseThrow:()Ljava/lang/Object;
checkcast java.lang.constant.ConstantDesc
aastore
8: invokestatic java.lang.constant.DynamicConstantDesc.ofNamed:(Ljava/lang/constant/DirectMethodHandleDesc;Ljava/lang/String;Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ConstantDesc;)Ljava/lang/constant/DynamicConstantDesc;
astore 1
end local 2 9: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
10: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/incubator/foreign/AbstractLayout;
0 11 1 desc Ljava/lang/constant/DynamicConstantDesc<TT;>;
6 9 2 e Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/constant/Constable;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/constant/DynamicConstantDesc<TT;>;)Ljava/lang/constant/DynamicConstantDesc<TT;>;
MethodParameters:
Name Flags
desc
boolean hasNaturalAlignment();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.foreign.AbstractLayout.size:Ljava/util/OptionalLong;
invokevirtual java.util.OptionalLong.isPresent:()Z
ifeq 1
aload 0
getfield jdk.incubator.foreign.AbstractLayout.size:Ljava/util/OptionalLong;
invokevirtual java.util.OptionalLong.getAsLong:()J
aload 0
getfield jdk.incubator.foreign.AbstractLayout.alignment:J
lcmp
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/foreign/AbstractLayout;
public boolean isPadding();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof jdk.incubator.foreign.PaddingLayout
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/foreign/AbstractLayout;
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.foreign.AbstractLayout.attributes:Ljava/util/Map;
invokeinterface java.util.Map.hashCode:()I
aload 0
getfield jdk.incubator.foreign.AbstractLayout.alignment:J
invokestatic java.lang.Long.hashCode:(J)I
ishl
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/foreign/AbstractLayout;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.incubator.foreign.AbstractLayout
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.foreign.AbstractLayout.attributes:Ljava/util/Map;
aload 1
checkcast jdk.incubator.foreign.AbstractLayout
getfield jdk.incubator.foreign.AbstractLayout.attributes:Ljava/util/Map;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 7
5: aload 0
getfield jdk.incubator.foreign.AbstractLayout.alignment:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 1
checkcast jdk.incubator.foreign.AbstractLayout
getfield jdk.incubator.foreign.AbstractLayout.alignment:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 7
6: iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/incubator/foreign/AbstractLayout;
0 8 1 other Ljava/lang/Object;
MethodParameters:
Name Flags
other
public 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: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual jdk.incubator.foreign.AbstractLayout.withAttribute:(Ljava/lang/String;Ljava/lang/constant/Constable;)Ljdk/incubator/foreign/AbstractLayout;
areturn
LocalVariableTable:
Start End Slot Name Signature
public jdk.incubator.foreign.MemoryLayout withBitAlignment(long);
descriptor: (J)Ljdk/incubator/foreign/MemoryLayout;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=2
0: aload 0
lload 1
invokevirtual jdk.incubator.foreign.AbstractLayout.withBitAlignment:(J)Ljdk/incubator/foreign/AbstractLayout;
areturn
LocalVariableTable:
Start End Slot Name Signature
public jdk.incubator.foreign.MemoryLayout withName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual jdk.incubator.foreign.AbstractLayout.withName:(Ljava/lang/String;)Ljdk/incubator/foreign/AbstractLayout;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String lambda$2(java.util.Map$Entry);
descriptor: (Ljava/util/Map$Entry;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/constant/Constable;>;
}
SourceFile: "AbstractLayout.java"
InnerClasses:
public final Kind = java.lang.constant.DirectMethodHandleDesc$Kind of java.lang.constant.DirectMethodHandleDesc
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map