public class lombok.permit.Permit
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: lombok.permit.Permit
super_class: java.lang.Object
{
private static final long ACCESSIBLE_OVERRIDE_FIELD_OFFSET;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.IllegalAccessException INIT_ERROR;
descriptor: Ljava/lang/IllegalAccessException;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.misc.Unsafe UNSAFE;
descriptor: Lsun/misc/Unsafe;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=0
0: ldc Lsun/misc/Unsafe;
ldc "theUnsafe"
invokestatic lombok.permit.Permit.reflectiveStaticFieldAccess:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
checkcast sun.misc.Unsafe
putstatic lombok.permit.Permit.UNSAFE:Lsun/misc/Unsafe;
1: invokestatic lombok.permit.Permit.getOverrideFieldOffset:()J
lstore 0
start local 0 2: aconst_null
astore 2
start local 2 3: goto 8
end local 2 end local 0 StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 3
start local 3 5: aconst_null
pop
6: ldc -1
lstore 0
start local 0 7: aload 3
astore 2
end local 3 start local 2 8: StackMap locals: long java.lang.Throwable
StackMap stack:
lload 0
putstatic lombok.permit.Permit.ACCESSIBLE_OVERRIDE_FIELD_OFFSET:J
9: aload 2
ifnonnull 10
aconst_null
putstatic lombok.permit.Permit.INIT_ERROR:Ljava/lang/IllegalAccessException;
goto 13
10: StackMap locals:
StackMap stack:
aload 2
instanceof java.lang.IllegalAccessException
ifeq 11
aload 2
checkcast java.lang.IllegalAccessException
putstatic lombok.permit.Permit.INIT_ERROR:Ljava/lang/IllegalAccessException;
goto 13
11: StackMap locals:
StackMap stack:
new java.lang.IllegalAccessException
dup
ldc "Cannot initialize Unsafe-based permit"
invokespecial java.lang.IllegalAccessException.<init>:(Ljava/lang/String;)V
putstatic lombok.permit.Permit.INIT_ERROR:Ljava/lang/IllegalAccessException;
12: getstatic lombok.permit.Permit.INIT_ERROR:Ljava/lang/IllegalAccessException;
aload 2
invokevirtual java.lang.IllegalAccessException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
end local 2 end local 0 13: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
2 4 0 g J
7 13 0 g J
3 4 2 ex Ljava/lang/Throwable;
8 13 2 ex Ljava/lang/Throwable;
5 8 3 t Ljava/lang/Throwable;
Exception table:
from to target type
1 3 4 Class java.lang.Throwable
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
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 Llombok/permit/Permit;
public static <T extends java.lang.reflect.AccessibleObject> T setAccessible();
descriptor: (Ljava/lang/reflect/AccessibleObject;)Ljava/lang/reflect/AccessibleObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic lombok.permit.Permit.INIT_ERROR:Ljava/lang/IllegalAccessException;
ifnonnull 3
1: getstatic lombok.permit.Permit.UNSAFE:Lsun/misc/Unsafe;
aload 0
getstatic lombok.permit.Permit.ACCESSIBLE_OVERRIDE_FIELD_OFFSET:J
iconst_1
invokevirtual sun.misc.Unsafe.putBoolean:(Ljava/lang/Object;JZ)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual java.lang.reflect.AccessibleObject.setAccessible:(Z)V
4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 accessor TT;
Signature: <T:Ljava/lang/reflect/AccessibleObject;>(TT;)TT;
MethodParameters:
Name Flags
accessor
private static long getOverrideFieldOffset();
descriptor: ()J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=0
0: aconst_null
astore 0
start local 0 1: aconst_null
astore 1
start local 1 2: ldc Ljava/lang/reflect/AccessibleObject;
ldc "override"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 0
3: goto 6
StackMap locals: java.lang.reflect.Field java.lang.Throwable
StackMap stack: java.lang.Throwable
4: astore 2
start local 2 5: aload 2
astore 1
end local 2 6: StackMap locals:
StackMap stack:
aload 0
ifnull 8
7: getstatic lombok.permit.Permit.UNSAFE:Lsun/misc/Unsafe;
aload 0
invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
lreturn
8: StackMap locals:
StackMap stack:
getstatic lombok.permit.Permit.UNSAFE:Lsun/misc/Unsafe;
ldc Llombok/permit/Permit$Fake;
ldc "override"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
9: lreturn
10: StackMap locals:
StackMap stack: java.lang.Throwable
pop
11: aload 1
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 12 0 f Ljava/lang/reflect/Field;
2 12 1 saved Ljava/lang/Throwable;
5 6 2 t Ljava/lang/Throwable;
Exception table:
from to target type
2 3 4 Class java.lang.Throwable
8 9 10 Class java.lang.Throwable
Exceptions:
throws java.lang.Throwable
public static java.lang.reflect.Method getMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
astore 4
start local 4 2: goto 7
3: StackMap locals: java.lang.reflect.Method java.lang.Class
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 3
4: goto 8
5: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
6: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 0
7: StackMap locals:
StackMap stack:
aload 0
ifnonnull 3
8: StackMap locals:
StackMap stack:
aload 3
ifnonnull 9
new java.lang.NoSuchMethodException
dup
new java.lang.StringBuilder
dup
aload 4
invokevirtual java.lang.Class.getName:()Ljava/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 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "(args)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 3
invokestatic lombok.permit.Permit.setAccessible:(Ljava/lang/reflect/AccessibleObject;)Ljava/lang/reflect/AccessibleObject;
checkcast java.lang.reflect.Method
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 c Ljava/lang/Class<*>;
0 10 1 mName Ljava/lang/String;
0 10 2 parameterTypes [Ljava/lang/Class;
1 10 3 m Ljava/lang/reflect/Method;
2 10 4 oc Ljava/lang/Class<*>;
Exception table:
from to target type
3 4 5 Class java.lang.NoSuchMethodException
Exceptions:
throws java.lang.NoSuchMethodException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
c
mName
parameterTypes
public static java.lang.reflect.Field getField(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
astore 3
start local 3 2: goto 7
3: StackMap locals: java.lang.reflect.Field java.lang.Class
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 2
4: goto 8
5: StackMap locals:
StackMap stack: java.lang.NoSuchFieldException
pop
6: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 0
7: StackMap locals:
StackMap stack:
aload 0
ifnonnull 3
8: StackMap locals:
StackMap stack:
aload 2
ifnonnull 9
new java.lang.NoSuchFieldException
dup
new java.lang.StringBuilder
dup
aload 3
invokevirtual java.lang.Class.getName:()Ljava/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 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NoSuchFieldException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 2
invokestatic lombok.permit.Permit.setAccessible:(Ljava/lang/reflect/AccessibleObject;)Ljava/lang/reflect/AccessibleObject;
checkcast java.lang.reflect.Field
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 c Ljava/lang/Class<*>;
0 10 1 fName Ljava/lang/String;
1 10 2 f Ljava/lang/reflect/Field;
2 10 3 oc Ljava/lang/Class<*>;
Exception table:
from to target type
3 4 5 Class java.lang.NoSuchFieldException
Exceptions:
throws java.lang.NoSuchFieldException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/reflect/Field;
MethodParameters:
Name Flags
c
fName
public static java.lang.reflect.Field permissiveGetField(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic lombok.permit.Permit.getField:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
pop
3: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 c Ljava/lang/Class<*>;
0 4 1 fName Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/reflect/Field;
MethodParameters:
Name Flags
c
fName
public static <T> T permissiveReadField(java.lang.Class<T>, java.lang.reflect.Field, );
descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
pop
3: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 type Ljava/lang/Class<TT;>;
0 4 1 f Ljava/lang/reflect/Field;
0 4 2 instance Ljava/lang/Object;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/reflect/Field;Ljava/lang/Object;)TT;
MethodParameters:
Name Flags
type
f
instance
public static <T> java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<T>, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
invokestatic lombok.permit.Permit.setAccessible:(Ljava/lang/reflect/AccessibleObject;)Ljava/lang/reflect/AccessibleObject;
checkcast java.lang.reflect.Constructor
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c Ljava/lang/Class<TT;>;
0 1 1 parameterTypes [Ljava/lang/Class;
Exceptions:
throws java.lang.NoSuchMethodException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<TT;>;
MethodParameters:
Name Flags
c
parameterTypes
private static reflectiveStaticFieldAccess(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 2
start local 2 1: aload 2
iconst_1
invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
2: aload 2
aconst_null
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
3: areturn
end local 2 4: StackMap locals:
StackMap stack: java.lang.Exception
pop
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 c Ljava/lang/Class<*>;
0 6 1 fName Ljava/lang/String;
1 4 2 f Ljava/lang/reflect/Field;
Exception table:
from to target type
0 3 4 Class java.lang.Exception
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/Object;
MethodParameters:
Name Flags
c
fName
}
SourceFile: "Permit.java"
NestMembers:
lombok.permit.Permit$Fake
InnerClasses:
Fake = lombok.permit.Permit$Fake of lombok.permit.Permit