class sun.reflect.UnsafeFieldAccessorFactory
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.reflect.UnsafeFieldAccessorFactory
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.reflect.UnsafeFieldAccessorFactory this
0: .line 31
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // sun.reflect.UnsafeFieldAccessorFactory this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/reflect/UnsafeFieldAccessorFactory;
static sun.reflect.FieldAccessor newFieldAccessor(java.lang.reflect.Field, boolean);
descriptor: (Ljava/lang/reflect/Field;Z)Lsun/reflect/FieldAccessor;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=8, args_size=2
start local 0 // java.lang.reflect.Field field
start local 1 // boolean override
0: .line 33
aload 0 /* field */
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
astore 2 /* type */
start local 2 // java.lang.Class type
1: .line 34
aload 0 /* field */
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
istore 3 /* isStatic */
start local 3 // boolean isStatic
2: .line 35
aload 0 /* field */
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
istore 4 /* isFinal */
start local 4 // boolean isFinal
3: .line 36
aload 0 /* field */
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isVolatile:(I)Z
istore 5 /* isVolatile */
start local 5 // boolean isVolatile
4: .line 37
iload 4 /* isFinal */
ifne 5
iload 5 /* isVolatile */
ifne 5
iconst_0
goto 6
StackMap locals: java.lang.reflect.Field int java.lang.Class int int int
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: istore 6 /* isQualified */
start local 6 // boolean isQualified
7: .line 38
iload 4 /* isFinal */
ifeq 9
iload 3 /* isStatic */
ifne 8
iload 1 /* override */
ifne 9
StackMap locals: int
StackMap stack:
8: iconst_1
goto 10
StackMap locals:
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 7 /* isReadOnly */
start local 7 // boolean isReadOnly
11: .line 39
iload 3 /* isStatic */
ifeq 48
12: .line 43
getstatic sun.reflect.UnsafeFieldAccessorImpl.unsafe:Lsun/misc/Unsafe;
aload 0 /* field */
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
invokevirtual sun.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
13: .line 45
iload 6 /* isQualified */
ifne 31
14: .line 46
aload 2 /* type */
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 16
15: .line 47
new sun.reflect.UnsafeStaticBooleanFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeStaticBooleanFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
16: .line 48
StackMap locals: int
StackMap stack:
aload 2 /* type */
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 18
17: .line 49
new sun.reflect.UnsafeStaticByteFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeStaticByteFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
18: .line 50
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 20
19: .line 51
new sun.reflect.UnsafeStaticShortFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeStaticShortFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
20: .line 52
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 22
21: .line 53
new sun.reflect.UnsafeStaticCharacterFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeStaticCharacterFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
22: .line 54
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 24
23: .line 55
new sun.reflect.UnsafeStaticIntegerFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeStaticIntegerFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
24: .line 56
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 26
25: .line 57
new sun.reflect.UnsafeStaticLongFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeStaticLongFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
26: .line 58
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 28
27: .line 59
new sun.reflect.UnsafeStaticFloatFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeStaticFloatFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
28: .line 60
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 30
29: .line 61
new sun.reflect.UnsafeStaticDoubleFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeStaticDoubleFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
30: .line 63
StackMap locals:
StackMap stack:
new sun.reflect.UnsafeStaticObjectFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeStaticObjectFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
31: .line 66
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 33
32: .line 67
new sun.reflect.UnsafeQualifiedStaticBooleanFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedStaticBooleanFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
33: .line 68
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 35
34: .line 69
new sun.reflect.UnsafeQualifiedStaticByteFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedStaticByteFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
35: .line 70
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 37
36: .line 71
new sun.reflect.UnsafeQualifiedStaticShortFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedStaticShortFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
37: .line 72
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 39
38: .line 73
new sun.reflect.UnsafeQualifiedStaticCharacterFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedStaticCharacterFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
39: .line 74
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 41
40: .line 75
new sun.reflect.UnsafeQualifiedStaticIntegerFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedStaticIntegerFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
41: .line 76
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 43
42: .line 77
new sun.reflect.UnsafeQualifiedStaticLongFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedStaticLongFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
43: .line 78
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 45
44: .line 79
new sun.reflect.UnsafeQualifiedStaticFloatFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedStaticFloatFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
45: .line 80
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 47
46: .line 81
new sun.reflect.UnsafeQualifiedStaticDoubleFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedStaticDoubleFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
47: .line 83
StackMap locals:
StackMap stack:
new sun.reflect.UnsafeQualifiedStaticObjectFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedStaticObjectFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
48: .line 87
StackMap locals:
StackMap stack:
iload 6 /* isQualified */
ifne 66
49: .line 88
aload 2 /* type */
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 51
50: .line 89
new sun.reflect.UnsafeBooleanFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeBooleanFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
51: .line 90
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 53
52: .line 91
new sun.reflect.UnsafeByteFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeByteFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
53: .line 92
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 55
54: .line 93
new sun.reflect.UnsafeShortFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeShortFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
55: .line 94
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 57
56: .line 95
new sun.reflect.UnsafeCharacterFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeCharacterFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
57: .line 96
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 59
58: .line 97
new sun.reflect.UnsafeIntegerFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeIntegerFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
59: .line 98
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 61
60: .line 99
new sun.reflect.UnsafeLongFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeLongFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
61: .line 100
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 63
62: .line 101
new sun.reflect.UnsafeFloatFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeFloatFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
63: .line 102
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 65
64: .line 103
new sun.reflect.UnsafeDoubleFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeDoubleFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
65: .line 105
StackMap locals:
StackMap stack:
new sun.reflect.UnsafeObjectFieldAccessorImpl
dup
aload 0 /* field */
invokespecial sun.reflect.UnsafeObjectFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
areturn
66: .line 108
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 68
67: .line 109
new sun.reflect.UnsafeQualifiedBooleanFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedBooleanFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
68: .line 110
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 70
69: .line 111
new sun.reflect.UnsafeQualifiedByteFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedByteFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
70: .line 112
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 72
71: .line 113
new sun.reflect.UnsafeQualifiedShortFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedShortFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
72: .line 114
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 74
73: .line 115
new sun.reflect.UnsafeQualifiedCharacterFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedCharacterFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
74: .line 116
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 76
75: .line 117
new sun.reflect.UnsafeQualifiedIntegerFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedIntegerFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
76: .line 118
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 78
77: .line 119
new sun.reflect.UnsafeQualifiedLongFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedLongFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
78: .line 120
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 80
79: .line 121
new sun.reflect.UnsafeQualifiedFloatFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedFloatFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
80: .line 122
StackMap locals:
StackMap stack:
aload 2 /* type */
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 82
81: .line 123
new sun.reflect.UnsafeQualifiedDoubleFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedDoubleFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
82: .line 125
StackMap locals:
StackMap stack:
new sun.reflect.UnsafeQualifiedObjectFieldAccessorImpl
dup
aload 0 /* field */
iload 7 /* isReadOnly */
invokespecial sun.reflect.UnsafeQualifiedObjectFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;Z)V
areturn
end local 7 // boolean isReadOnly
end local 6 // boolean isQualified
end local 5 // boolean isVolatile
end local 4 // boolean isFinal
end local 3 // boolean isStatic
end local 2 // java.lang.Class type
end local 1 // boolean override
end local 0 // java.lang.reflect.Field field
LocalVariableTable:
Start End Slot Name Signature
0 83 0 field Ljava/lang/reflect/Field;
0 83 1 override Z
1 83 2 type Ljava/lang/Class;
2 83 3 isStatic Z
3 83 4 isFinal Z
4 83 5 isVolatile Z
7 83 6 isQualified Z
11 83 7 isReadOnly Z
MethodParameters:
Name Flags
field
override
}
SourceFile: "UnsafeFieldAccessorFactory.java"