final class java.lang.invoke.VarHandles
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.lang.invoke.VarHandles
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/VarHandles;
static java.lang.invoke.VarHandle makeFieldHandle(java.lang.invoke.MemberName, java.lang.Class<?>, java.lang.Class<?>, boolean);
descriptor: (Ljava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;Z)Ljava/lang/invoke/VarHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.lang.invoke.MemberName.isStatic:()Z
ifne 48
1: aload 0
invokestatic java.lang.invoke.MethodHandleNatives.objectFieldOffset:(Ljava/lang/invoke/MemberName;)J
lstore 4
start local 4 2: aload 2
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 7
3: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 5
iload 3
ifne 5
4: new java.lang.invoke.VarHandleObjects$FieldInstanceReadOnly
dup
aload 1
lload 4
aload 2
invokespecial java.lang.invoke.VarHandleObjects$FieldInstanceReadOnly.<init>:(Ljava/lang/Class;JLjava/lang/Class;)V
goto 6
5: StackMap locals: long
StackMap stack:
new java.lang.invoke.VarHandleObjects$FieldInstanceReadWrite
dup
aload 1
lload 4
aload 2
invokespecial java.lang.invoke.VarHandleObjects$FieldInstanceReadWrite.<init>:(Ljava/lang/Class;JLjava/lang/Class;)V
6: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleObjects$FieldInstanceReadOnly
areturn
7: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 12
8: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 10
iload 3
ifne 10
9: new java.lang.invoke.VarHandleBooleans$FieldInstanceReadOnly
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleBooleans$FieldInstanceReadOnly.<init>:(Ljava/lang/Class;J)V
goto 11
10: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleBooleans$FieldInstanceReadWrite
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleBooleans$FieldInstanceReadWrite.<init>:(Ljava/lang/Class;J)V
11: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleBooleans$FieldInstanceReadOnly
areturn
12: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 17
13: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 15
iload 3
ifne 15
14: new java.lang.invoke.VarHandleBytes$FieldInstanceReadOnly
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleBytes$FieldInstanceReadOnly.<init>:(Ljava/lang/Class;J)V
goto 16
15: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleBytes$FieldInstanceReadWrite
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleBytes$FieldInstanceReadWrite.<init>:(Ljava/lang/Class;J)V
16: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleBytes$FieldInstanceReadOnly
areturn
17: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 22
18: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 20
iload 3
ifne 20
19: new java.lang.invoke.VarHandleShorts$FieldInstanceReadOnly
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleShorts$FieldInstanceReadOnly.<init>:(Ljava/lang/Class;J)V
goto 21
20: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleShorts$FieldInstanceReadWrite
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleShorts$FieldInstanceReadWrite.<init>:(Ljava/lang/Class;J)V
21: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleShorts$FieldInstanceReadOnly
areturn
22: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 27
23: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 25
iload 3
ifne 25
24: new java.lang.invoke.VarHandleChars$FieldInstanceReadOnly
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleChars$FieldInstanceReadOnly.<init>:(Ljava/lang/Class;J)V
goto 26
25: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.<init>:(Ljava/lang/Class;J)V
26: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleChars$FieldInstanceReadOnly
areturn
27: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 32
28: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 30
iload 3
ifne 30
29: new java.lang.invoke.VarHandleInts$FieldInstanceReadOnly
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleInts$FieldInstanceReadOnly.<init>:(Ljava/lang/Class;J)V
goto 31
30: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleInts$FieldInstanceReadWrite
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleInts$FieldInstanceReadWrite.<init>:(Ljava/lang/Class;J)V
31: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleInts$FieldInstanceReadOnly
areturn
32: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 37
33: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 35
iload 3
ifne 35
34: new java.lang.invoke.VarHandleLongs$FieldInstanceReadOnly
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleLongs$FieldInstanceReadOnly.<init>:(Ljava/lang/Class;J)V
goto 36
35: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleLongs$FieldInstanceReadWrite
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleLongs$FieldInstanceReadWrite.<init>:(Ljava/lang/Class;J)V
36: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleLongs$FieldInstanceReadOnly
areturn
37: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 42
38: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 40
iload 3
ifne 40
39: new java.lang.invoke.VarHandleFloats$FieldInstanceReadOnly
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleFloats$FieldInstanceReadOnly.<init>:(Ljava/lang/Class;J)V
goto 41
40: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleFloats$FieldInstanceReadWrite
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleFloats$FieldInstanceReadWrite.<init>:(Ljava/lang/Class;J)V
41: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleFloats$FieldInstanceReadOnly
areturn
42: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 47
43: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 45
iload 3
ifne 45
44: new java.lang.invoke.VarHandleDoubles$FieldInstanceReadOnly
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleDoubles$FieldInstanceReadOnly.<init>:(Ljava/lang/Class;J)V
goto 46
45: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleDoubles$FieldInstanceReadWrite
dup
aload 1
lload 4
invokespecial java.lang.invoke.VarHandleDoubles$FieldInstanceReadWrite.<init>:(Ljava/lang/Class;J)V
46: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleDoubles$FieldInstanceReadOnly
areturn
47: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 4 48: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
invokevirtual jdk.internal.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
ifeq 50
49: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
invokevirtual jdk.internal.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
50: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.invoke.MethodHandleNatives.staticFieldBase:(Ljava/lang/invoke/MemberName;)Ljava/lang/Object;
astore 4
start local 4 51: aload 0
invokestatic java.lang.invoke.MethodHandleNatives.staticFieldOffset:(Ljava/lang/invoke/MemberName;)J
lstore 5
start local 5 52: aload 2
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 57
53: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 55
iload 3
ifne 55
54: new java.lang.invoke.VarHandleObjects$FieldStaticReadOnly
dup
aload 4
lload 5
aload 2
invokespecial java.lang.invoke.VarHandleObjects$FieldStaticReadOnly.<init>:(Ljava/lang/Object;JLjava/lang/Class;)V
goto 56
55: StackMap locals: java.lang.Object long
StackMap stack:
new java.lang.invoke.VarHandleObjects$FieldStaticReadWrite
dup
aload 4
lload 5
aload 2
invokespecial java.lang.invoke.VarHandleObjects$FieldStaticReadWrite.<init>:(Ljava/lang/Object;JLjava/lang/Class;)V
56: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleObjects$FieldStaticReadOnly
areturn
57: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 62
58: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 60
iload 3
ifne 60
59: new java.lang.invoke.VarHandleBooleans$FieldStaticReadOnly
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleBooleans$FieldStaticReadOnly.<init>:(Ljava/lang/Object;J)V
goto 61
60: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleBooleans$FieldStaticReadWrite
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleBooleans$FieldStaticReadWrite.<init>:(Ljava/lang/Object;J)V
61: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleBooleans$FieldStaticReadOnly
areturn
62: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 67
63: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 65
iload 3
ifne 65
64: new java.lang.invoke.VarHandleBytes$FieldStaticReadOnly
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleBytes$FieldStaticReadOnly.<init>:(Ljava/lang/Object;J)V
goto 66
65: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleBytes$FieldStaticReadWrite
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleBytes$FieldStaticReadWrite.<init>:(Ljava/lang/Object;J)V
66: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleBytes$FieldStaticReadOnly
areturn
67: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 72
68: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 70
iload 3
ifne 70
69: new java.lang.invoke.VarHandleShorts$FieldStaticReadOnly
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleShorts$FieldStaticReadOnly.<init>:(Ljava/lang/Object;J)V
goto 71
70: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleShorts$FieldStaticReadWrite
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleShorts$FieldStaticReadWrite.<init>:(Ljava/lang/Object;J)V
71: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleShorts$FieldStaticReadOnly
areturn
72: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 77
73: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 75
iload 3
ifne 75
74: new java.lang.invoke.VarHandleChars$FieldStaticReadOnly
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleChars$FieldStaticReadOnly.<init>:(Ljava/lang/Object;J)V
goto 76
75: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleChars$FieldStaticReadWrite
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleChars$FieldStaticReadWrite.<init>:(Ljava/lang/Object;J)V
76: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleChars$FieldStaticReadOnly
areturn
77: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 82
78: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 80
iload 3
ifne 80
79: new java.lang.invoke.VarHandleInts$FieldStaticReadOnly
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleInts$FieldStaticReadOnly.<init>:(Ljava/lang/Object;J)V
goto 81
80: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleInts$FieldStaticReadWrite
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleInts$FieldStaticReadWrite.<init>:(Ljava/lang/Object;J)V
81: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleInts$FieldStaticReadOnly
areturn
82: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 87
83: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 85
iload 3
ifne 85
84: new java.lang.invoke.VarHandleLongs$FieldStaticReadOnly
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleLongs$FieldStaticReadOnly.<init>:(Ljava/lang/Object;J)V
goto 86
85: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleLongs$FieldStaticReadWrite
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleLongs$FieldStaticReadWrite.<init>:(Ljava/lang/Object;J)V
86: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleLongs$FieldStaticReadOnly
areturn
87: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 92
88: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 90
iload 3
ifne 90
89: new java.lang.invoke.VarHandleFloats$FieldStaticReadOnly
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleFloats$FieldStaticReadOnly.<init>:(Ljava/lang/Object;J)V
goto 91
90: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleFloats$FieldStaticReadWrite
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleFloats$FieldStaticReadWrite.<init>:(Ljava/lang/Object;J)V
91: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleFloats$FieldStaticReadOnly
areturn
92: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 97
93: aload 0
invokevirtual java.lang.invoke.MemberName.isFinal:()Z
ifeq 95
iload 3
ifne 95
94: new java.lang.invoke.VarHandleDoubles$FieldStaticReadOnly
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleDoubles$FieldStaticReadOnly.<init>:(Ljava/lang/Object;J)V
goto 96
95: StackMap locals:
StackMap stack:
new java.lang.invoke.VarHandleDoubles$FieldStaticReadWrite
dup
aload 4
lload 5
invokespecial java.lang.invoke.VarHandleDoubles$FieldStaticReadWrite.<init>:(Ljava/lang/Object;J)V
96: StackMap locals:
StackMap stack: java.lang.invoke.VarHandleDoubles$FieldStaticReadOnly
areturn
97: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 98 0 f Ljava/lang/invoke/MemberName;
0 98 1 refc Ljava/lang/Class<*>;
0 98 2 type Ljava/lang/Class<*>;
0 98 3 isWriteAllowedOnFinalFields Z
2 48 4 foffset J
51 98 4 base Ljava/lang/Object;
52 98 5 foffset J
Signature: (Ljava/lang/invoke/MemberName;Ljava/lang/Class<*>;Ljava/lang/Class<*>;Z)Ljava/lang/invoke/VarHandle;
MethodParameters:
Name Flags
f
refc
type
isWriteAllowedOnFinalFields
static java.lang.invoke.VarHandle makeArrayElementHandle(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.isArray:()Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "not an array: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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:
aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 1
start local 1 3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
invokevirtual jdk.internal.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
istore 2
start local 2 4: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 0
invokevirtual jdk.internal.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
istore 3
start local 3 5: bipush 31
iload 3
invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
isub
istore 4
start local 4 6: aload 1
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 8
7: new java.lang.invoke.VarHandleObjects$Array
dup
iload 2
iload 4
aload 0
invokespecial java.lang.invoke.VarHandleObjects$Array.<init>:(IILjava/lang/Class;)V
areturn
8: StackMap locals: java.lang.Class java.lang.Class int int int
StackMap stack:
aload 1
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 10
9: new java.lang.invoke.VarHandleBooleans$Array
dup
iload 2
iload 4
invokespecial java.lang.invoke.VarHandleBooleans$Array.<init>:(II)V
areturn
10: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 12
11: new java.lang.invoke.VarHandleBytes$Array
dup
iload 2
iload 4
invokespecial java.lang.invoke.VarHandleBytes$Array.<init>:(II)V
areturn
12: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 14
13: new java.lang.invoke.VarHandleShorts$Array
dup
iload 2
iload 4
invokespecial java.lang.invoke.VarHandleShorts$Array.<init>:(II)V
areturn
14: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 16
15: new java.lang.invoke.VarHandleChars$Array
dup
iload 2
iload 4
invokespecial java.lang.invoke.VarHandleChars$Array.<init>:(II)V
areturn
16: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 18
17: new java.lang.invoke.VarHandleInts$Array
dup
iload 2
iload 4
invokespecial java.lang.invoke.VarHandleInts$Array.<init>:(II)V
areturn
18: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 20
19: new java.lang.invoke.VarHandleLongs$Array
dup
iload 2
iload 4
invokespecial java.lang.invoke.VarHandleLongs$Array.<init>:(II)V
areturn
20: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 22
21: new java.lang.invoke.VarHandleFloats$Array
dup
iload 2
iload 4
invokespecial java.lang.invoke.VarHandleFloats$Array.<init>:(II)V
areturn
22: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 24
23: new java.lang.invoke.VarHandleDoubles$Array
dup
iload 2
iload 4
invokespecial java.lang.invoke.VarHandleDoubles$Array.<init>:(II)V
areturn
24: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 arrayClass Ljava/lang/Class<*>;
3 25 1 componentType Ljava/lang/Class<*>;
4 25 2 aoffset I
5 25 3 ascale I
6 25 4 ashift I
Signature: (Ljava/lang/Class<*>;)Ljava/lang/invoke/VarHandle;
MethodParameters:
Name Flags
arrayClass
static java.lang.invoke.VarHandle byteArrayViewHandle(java.lang.Class<?>, boolean);
descriptor: (Ljava/lang/Class;Z)Ljava/lang/invoke/VarHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Class.isArray:()Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "not an array: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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:
aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 2
start local 2 3: aload 2
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 5
4: new java.lang.invoke.VarHandleByteArrayAsLongs$ArrayHandle
dup
iload 1
invokespecial java.lang.invoke.VarHandleByteArrayAsLongs$ArrayHandle.<init>:(Z)V
areturn
5: StackMap locals: java.lang.Class
StackMap stack:
aload 2
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 7
6: new java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle
dup
iload 1
invokespecial java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle.<init>:(Z)V
areturn
7: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 9
8: new java.lang.invoke.VarHandleByteArrayAsShorts$ArrayHandle
dup
iload 1
invokespecial java.lang.invoke.VarHandleByteArrayAsShorts$ArrayHandle.<init>:(Z)V
areturn
9: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 11
10: new java.lang.invoke.VarHandleByteArrayAsChars$ArrayHandle
dup
iload 1
invokespecial java.lang.invoke.VarHandleByteArrayAsChars$ArrayHandle.<init>:(Z)V
areturn
11: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 13
12: new java.lang.invoke.VarHandleByteArrayAsDoubles$ArrayHandle
dup
iload 1
invokespecial java.lang.invoke.VarHandleByteArrayAsDoubles$ArrayHandle.<init>:(Z)V
areturn
13: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 15
14: new java.lang.invoke.VarHandleByteArrayAsFloats$ArrayHandle
dup
iload 1
invokespecial java.lang.invoke.VarHandleByteArrayAsFloats$ArrayHandle.<init>:(Z)V
areturn
15: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 viewArrayClass Ljava/lang/Class<*>;
0 16 1 be Z
3 16 2 viewComponentType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Z)Ljava/lang/invoke/VarHandle;
MethodParameters:
Name Flags
viewArrayClass
be
static java.lang.invoke.VarHandle makeByteBufferViewHandle(java.lang.Class<?>, boolean);
descriptor: (Ljava/lang/Class;Z)Ljava/lang/invoke/VarHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Class.isArray:()Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "not an array: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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:
aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 2
start local 2 3: aload 2
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 5
4: new java.lang.invoke.VarHandleByteArrayAsLongs$ByteBufferHandle
dup
iload 1
invokespecial java.lang.invoke.VarHandleByteArrayAsLongs$ByteBufferHandle.<init>:(Z)V
areturn
5: StackMap locals: java.lang.Class
StackMap stack:
aload 2
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 7
6: new java.lang.invoke.VarHandleByteArrayAsInts$ByteBufferHandle
dup
iload 1
invokespecial java.lang.invoke.VarHandleByteArrayAsInts$ByteBufferHandle.<init>:(Z)V
areturn
7: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 9
8: new java.lang.invoke.VarHandleByteArrayAsShorts$ByteBufferHandle
dup
iload 1
invokespecial java.lang.invoke.VarHandleByteArrayAsShorts$ByteBufferHandle.<init>:(Z)V
areturn
9: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 11
10: new java.lang.invoke.VarHandleByteArrayAsChars$ByteBufferHandle
dup
iload 1
invokespecial java.lang.invoke.VarHandleByteArrayAsChars$ByteBufferHandle.<init>:(Z)V
areturn
11: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 13
12: new java.lang.invoke.VarHandleByteArrayAsDoubles$ByteBufferHandle
dup
iload 1
invokespecial java.lang.invoke.VarHandleByteArrayAsDoubles$ByteBufferHandle.<init>:(Z)V
areturn
13: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 15
14: new java.lang.invoke.VarHandleByteArrayAsFloats$ByteBufferHandle
dup
iload 1
invokespecial java.lang.invoke.VarHandleByteArrayAsFloats$ByteBufferHandle.<init>:(Z)V
areturn
15: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 viewArrayClass Ljava/lang/Class<*>;
0 16 1 be Z
3 16 2 viewComponentType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Z)Ljava/lang/invoke/VarHandle;
MethodParameters:
Name Flags
viewArrayClass
be
}
SourceFile: "VarHandles.java"
InnerClasses:
final Array = java.lang.invoke.VarHandleBooleans$Array of java.lang.invoke.VarHandleBooleans
FieldInstanceReadOnly = java.lang.invoke.VarHandleBooleans$FieldInstanceReadOnly of java.lang.invoke.VarHandleBooleans
final FieldInstanceReadWrite = java.lang.invoke.VarHandleBooleans$FieldInstanceReadWrite of java.lang.invoke.VarHandleBooleans
FieldStaticReadOnly = java.lang.invoke.VarHandleBooleans$FieldStaticReadOnly of java.lang.invoke.VarHandleBooleans
final FieldStaticReadWrite = java.lang.invoke.VarHandleBooleans$FieldStaticReadWrite of java.lang.invoke.VarHandleBooleans
final ArrayHandle = java.lang.invoke.VarHandleByteArrayAsChars$ArrayHandle of java.lang.invoke.VarHandleByteArrayAsChars
final ByteBufferHandle = java.lang.invoke.VarHandleByteArrayAsChars$ByteBufferHandle of java.lang.invoke.VarHandleByteArrayAsChars
final ArrayHandle = java.lang.invoke.VarHandleByteArrayAsDoubles$ArrayHandle of java.lang.invoke.VarHandleByteArrayAsDoubles
final ByteBufferHandle = java.lang.invoke.VarHandleByteArrayAsDoubles$ByteBufferHandle of java.lang.invoke.VarHandleByteArrayAsDoubles
final ArrayHandle = java.lang.invoke.VarHandleByteArrayAsFloats$ArrayHandle of java.lang.invoke.VarHandleByteArrayAsFloats
final ByteBufferHandle = java.lang.invoke.VarHandleByteArrayAsFloats$ByteBufferHandle of java.lang.invoke.VarHandleByteArrayAsFloats
final ArrayHandle = java.lang.invoke.VarHandleByteArrayAsInts$ArrayHandle of java.lang.invoke.VarHandleByteArrayAsInts
final ByteBufferHandle = java.lang.invoke.VarHandleByteArrayAsInts$ByteBufferHandle of java.lang.invoke.VarHandleByteArrayAsInts
final ArrayHandle = java.lang.invoke.VarHandleByteArrayAsLongs$ArrayHandle of java.lang.invoke.VarHandleByteArrayAsLongs
final ByteBufferHandle = java.lang.invoke.VarHandleByteArrayAsLongs$ByteBufferHandle of java.lang.invoke.VarHandleByteArrayAsLongs
final ArrayHandle = java.lang.invoke.VarHandleByteArrayAsShorts$ArrayHandle of java.lang.invoke.VarHandleByteArrayAsShorts
final ByteBufferHandle = java.lang.invoke.VarHandleByteArrayAsShorts$ByteBufferHandle of java.lang.invoke.VarHandleByteArrayAsShorts
final Array = java.lang.invoke.VarHandleBytes$Array of java.lang.invoke.VarHandleBytes
FieldInstanceReadOnly = java.lang.invoke.VarHandleBytes$FieldInstanceReadOnly of java.lang.invoke.VarHandleBytes
final FieldInstanceReadWrite = java.lang.invoke.VarHandleBytes$FieldInstanceReadWrite of java.lang.invoke.VarHandleBytes
FieldStaticReadOnly = java.lang.invoke.VarHandleBytes$FieldStaticReadOnly of java.lang.invoke.VarHandleBytes
final FieldStaticReadWrite = java.lang.invoke.VarHandleBytes$FieldStaticReadWrite of java.lang.invoke.VarHandleBytes
final Array = java.lang.invoke.VarHandleChars$Array of java.lang.invoke.VarHandleChars
FieldInstanceReadOnly = java.lang.invoke.VarHandleChars$FieldInstanceReadOnly of java.lang.invoke.VarHandleChars
final FieldInstanceReadWrite = java.lang.invoke.VarHandleChars$FieldInstanceReadWrite of java.lang.invoke.VarHandleChars
FieldStaticReadOnly = java.lang.invoke.VarHandleChars$FieldStaticReadOnly of java.lang.invoke.VarHandleChars
final FieldStaticReadWrite = java.lang.invoke.VarHandleChars$FieldStaticReadWrite of java.lang.invoke.VarHandleChars
final Array = java.lang.invoke.VarHandleDoubles$Array of java.lang.invoke.VarHandleDoubles
FieldInstanceReadOnly = java.lang.invoke.VarHandleDoubles$FieldInstanceReadOnly of java.lang.invoke.VarHandleDoubles
final FieldInstanceReadWrite = java.lang.invoke.VarHandleDoubles$FieldInstanceReadWrite of java.lang.invoke.VarHandleDoubles
FieldStaticReadOnly = java.lang.invoke.VarHandleDoubles$FieldStaticReadOnly of java.lang.invoke.VarHandleDoubles
final FieldStaticReadWrite = java.lang.invoke.VarHandleDoubles$FieldStaticReadWrite of java.lang.invoke.VarHandleDoubles
final Array = java.lang.invoke.VarHandleFloats$Array of java.lang.invoke.VarHandleFloats
FieldInstanceReadOnly = java.lang.invoke.VarHandleFloats$FieldInstanceReadOnly of java.lang.invoke.VarHandleFloats
final FieldInstanceReadWrite = java.lang.invoke.VarHandleFloats$FieldInstanceReadWrite of java.lang.invoke.VarHandleFloats
FieldStaticReadOnly = java.lang.invoke.VarHandleFloats$FieldStaticReadOnly of java.lang.invoke.VarHandleFloats
final FieldStaticReadWrite = java.lang.invoke.VarHandleFloats$FieldStaticReadWrite of java.lang.invoke.VarHandleFloats
final Array = java.lang.invoke.VarHandleInts$Array of java.lang.invoke.VarHandleInts
FieldInstanceReadOnly = java.lang.invoke.VarHandleInts$FieldInstanceReadOnly of java.lang.invoke.VarHandleInts
final FieldInstanceReadWrite = java.lang.invoke.VarHandleInts$FieldInstanceReadWrite of java.lang.invoke.VarHandleInts
FieldStaticReadOnly = java.lang.invoke.VarHandleInts$FieldStaticReadOnly of java.lang.invoke.VarHandleInts
final FieldStaticReadWrite = java.lang.invoke.VarHandleInts$FieldStaticReadWrite of java.lang.invoke.VarHandleInts
final Array = java.lang.invoke.VarHandleLongs$Array of java.lang.invoke.VarHandleLongs
FieldInstanceReadOnly = java.lang.invoke.VarHandleLongs$FieldInstanceReadOnly of java.lang.invoke.VarHandleLongs
final FieldInstanceReadWrite = java.lang.invoke.VarHandleLongs$FieldInstanceReadWrite of java.lang.invoke.VarHandleLongs
FieldStaticReadOnly = java.lang.invoke.VarHandleLongs$FieldStaticReadOnly of java.lang.invoke.VarHandleLongs
final FieldStaticReadWrite = java.lang.invoke.VarHandleLongs$FieldStaticReadWrite of java.lang.invoke.VarHandleLongs
final Array = java.lang.invoke.VarHandleObjects$Array of java.lang.invoke.VarHandleObjects
FieldInstanceReadOnly = java.lang.invoke.VarHandleObjects$FieldInstanceReadOnly of java.lang.invoke.VarHandleObjects
final FieldInstanceReadWrite = java.lang.invoke.VarHandleObjects$FieldInstanceReadWrite of java.lang.invoke.VarHandleObjects
FieldStaticReadOnly = java.lang.invoke.VarHandleObjects$FieldStaticReadOnly of java.lang.invoke.VarHandleObjects
final FieldStaticReadWrite = java.lang.invoke.VarHandleObjects$FieldStaticReadWrite of java.lang.invoke.VarHandleObjects
final Array = java.lang.invoke.VarHandleShorts$Array of java.lang.invoke.VarHandleShorts
FieldInstanceReadOnly = java.lang.invoke.VarHandleShorts$FieldInstanceReadOnly of java.lang.invoke.VarHandleShorts
final FieldInstanceReadWrite = java.lang.invoke.VarHandleShorts$FieldInstanceReadWrite of java.lang.invoke.VarHandleShorts
FieldStaticReadOnly = java.lang.invoke.VarHandleShorts$FieldStaticReadOnly of java.lang.invoke.VarHandleShorts
final FieldStaticReadWrite = java.lang.invoke.VarHandleShorts$FieldStaticReadWrite of java.lang.invoke.VarHandleShorts