class lombok.core.FieldAugment$ReflectionFieldAugment<T, F> extends lombok.core.FieldAugment<T, F>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: lombok.core.FieldAugment$ReflectionFieldAugment
super_class: lombok.core.FieldAugment
{
private final java.lang.Object lock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.reflect.Field field;
descriptor: Ljava/lang/reflect/Field;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Class<F> targetType;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<TF;>;
private final F defaultValue;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: TF;
void <init>(java.lang.reflect.Field, java.lang.Class<? super F>, );
descriptor: (Ljava/lang/reflect/Field;Ljava/lang/Class;Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial lombok.core.FieldAugment.<init>:()V
1: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield lombok.core.FieldAugment$ReflectionFieldAugment.lock:Ljava/lang/Object;
2: aload 0
aload 1
putfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
3: aload 0
aload 2
putfield lombok.core.FieldAugment$ReflectionFieldAugment.targetType:Ljava/lang/Class;
4: aload 0
aload 3
putfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Llombok/core/FieldAugment$ReflectionFieldAugment<TT;TF;>;
0 6 1 field Ljava/lang/reflect/Field;
0 6 2 targetType Ljava/lang/Class<-TF;>;
0 6 3 defaultValue TF;
Signature: (Ljava/lang/reflect/Field;Ljava/lang/Class<-TF;>;TF;)V
MethodParameters:
Name Flags
field
targetType
defaultValue
public F get();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ldc "object"
invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.lock:Ljava/lang/Object;
dup
astore 3
monitorenter
2: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.targetType:Ljava/lang/Class;
aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
aload 1
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 3: aload 3
monitorexit
4: goto 7
end local 2 StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object top java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 3
monitorexit
6: athrow
start local 2 7: StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object
StackMap stack:
aload 2
ifnonnull 8
aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
goto 9
StackMap locals:
StackMap stack:
8: aload 2
StackMap locals:
StackMap stack: java.lang.Object
9: areturn
end local 2 10: StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object
StackMap stack: java.lang.IllegalAccessException
astore 2
start local 2 11: new java.lang.IllegalStateException
dup
aload 2
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Llombok/core/FieldAugment$ReflectionFieldAugment<TT;TF;>;
0 12 1 object TT;
3 5 2 value TF;
7 10 2 value TF;
11 12 2 e Ljava/lang/IllegalAccessException;
Exception table:
from to target type
2 4 5 any
5 6 5 any
1 9 10 Class java.lang.IllegalAccessException
Signature: (TT;)TF;
MethodParameters:
Name Flags
object
public F getAndSet(T, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "object"
invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 2
ldc "value"
invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.lock:Ljava/lang/Object;
dup
astore 4
monitorenter
3: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.targetType:Ljava/lang/Class;
aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
aload 1
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 4: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
aload 1
aload 2
invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
5: aload 4
monitorexit
6: goto 9
end local 3 StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object top java.lang.Object
StackMap stack: java.lang.Throwable
7: aload 4
monitorexit
8: athrow
start local 3 9: StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object java.lang.Object
StackMap stack:
aload 3
ifnonnull 10
aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
goto 11
StackMap locals:
StackMap stack:
10: aload 3
StackMap locals:
StackMap stack: java.lang.Object
11: areturn
end local 3 12: StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object
StackMap stack: java.lang.IllegalAccessException
astore 3
start local 3 13: new java.lang.IllegalStateException
dup
aload 3
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Llombok/core/FieldAugment$ReflectionFieldAugment<TT;TF;>;
0 14 1 object TT;
0 14 2 value TF;
4 7 3 oldValue TF;
9 12 3 oldValue TF;
13 14 3 e Ljava/lang/IllegalAccessException;
Exception table:
from to target type
3 6 7 any
7 8 7 any
2 11 12 Class java.lang.IllegalAccessException
Signature: (TT;TF;)TF;
MethodParameters:
Name Flags
object
value
public F clear();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ldc "object"
invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.lock:Ljava/lang/Object;
dup
astore 3
monitorenter
2: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.targetType:Ljava/lang/Class;
aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
aload 1
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 3: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
aload 1
aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 3
monitorexit
5: goto 8
end local 2 StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object top java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
start local 2 8: StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object
StackMap stack:
aload 2
ifnonnull 9
aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
goto 10
StackMap locals:
StackMap stack:
9: aload 2
StackMap locals:
StackMap stack: java.lang.Object
10: areturn
end local 2 11: StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object
StackMap stack: java.lang.IllegalAccessException
astore 2
start local 2 12: new java.lang.IllegalStateException
dup
aload 2
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Llombok/core/FieldAugment$ReflectionFieldAugment<TT;TF;>;
0 13 1 object TT;
3 6 2 oldValue TF;
8 11 2 oldValue TF;
12 13 2 e Ljava/lang/IllegalAccessException;
Exception table:
from to target type
2 5 6 any
6 7 6 any
1 10 11 Class java.lang.IllegalAccessException
Signature: (TT;)TF;
MethodParameters:
Name Flags
object
public F compareAndClear(T, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "object"
invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 2
ldc "expected"
invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.lock:Ljava/lang/Object;
dup
astore 4
monitorenter
3: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.targetType:Ljava/lang/Class;
aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
aload 1
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 4: aload 2
aload 3
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
5: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
aload 1
aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
6: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
aload 4
monitorexit
7: areturn
8: StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
aload 4
monitorexit
9: goto 12
end local 3 StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object top java.lang.Object
StackMap stack: java.lang.Throwable
10: aload 4
monitorexit
11: athrow
start local 3 12: StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object java.lang.Object
StackMap stack:
aload 3
13: areturn
end local 3 14: StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object
StackMap stack: java.lang.IllegalAccessException
astore 3
start local 3 15: new java.lang.IllegalStateException
dup
aload 3
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Llombok/core/FieldAugment$ReflectionFieldAugment<TT;TF;>;
0 16 1 object TT;
0 16 2 expected TF;
4 10 3 oldValue TF;
12 14 3 oldValue TF;
15 16 3 e Ljava/lang/IllegalAccessException;
Exception table:
from to target type
3 7 10 any
8 9 10 any
10 11 10 any
2 7 14 Class java.lang.IllegalAccessException
8 13 14 Class java.lang.IllegalAccessException
Signature: (TT;TF;)TF;
MethodParameters:
Name Flags
object
expected
public F setIfAbsent(T, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "object"
invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 2
ldc "value"
invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.lock:Ljava/lang/Object;
dup
astore 3
monitorenter
3: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.targetType:Ljava/lang/Class;
aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
aload 1
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 4: aload 4
ifnull 6
aload 4
aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 6
aload 4
aload 3
monitorexit
5: areturn
6: StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
aload 1
aload 2
invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
7: aload 2
aload 3
monitorexit
8: areturn
end local 4 9: StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object java.lang.Object
StackMap stack: java.lang.Throwable
aload 3
monitorexit
10: athrow
11: StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object
StackMap stack: java.lang.IllegalAccessException
astore 3
start local 3 12: new java.lang.IllegalStateException
dup
aload 3
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Llombok/core/FieldAugment$ReflectionFieldAugment<TT;TF;>;
0 13 1 object TT;
0 13 2 value TF;
4 9 4 oldValue TF;
12 13 3 e Ljava/lang/IllegalAccessException;
Exception table:
from to target type
3 5 9 any
6 8 9 any
9 10 9 any
2 5 11 Class java.lang.IllegalAccessException
6 8 11 Class java.lang.IllegalAccessException
9 11 11 Class java.lang.IllegalAccessException
Signature: (TT;TF;)TF;
MethodParameters:
Name Flags
object
value
public F compareAndSet(T, F, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ldc "object"
invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 2
ldc "expected"
invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 3
ldc "value"
invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.lock:Ljava/lang/Object;
dup
astore 4
monitorenter
4: aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.targetType:Ljava/lang/Class;
aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
aload 1
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 5: aload 2
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 9
aload 5
ifnonnull 6
aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
goto 7
StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
6: aload 5
StackMap locals:
StackMap stack: java.lang.Object
7: aload 4
monitorexit
8: areturn
9: StackMap locals:
StackMap stack:
aload 0
getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
aload 1
aload 3
invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
10: aload 3
aload 4
monitorexit
11: areturn
end local 5 12: StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object java.lang.Object java.lang.Object
StackMap stack: java.lang.Throwable
aload 4
monitorexit
13: athrow
14: StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object java.lang.Object
StackMap stack: java.lang.IllegalAccessException
astore 4
start local 4 15: new java.lang.IllegalStateException
dup
aload 4
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Llombok/core/FieldAugment$ReflectionFieldAugment<TT;TF;>;
0 16 1 object TT;
0 16 2 expected TF;
0 16 3 value TF;
5 12 5 oldValue TF;
15 16 4 e Ljava/lang/IllegalAccessException;
Exception table:
from to target type
4 8 12 any
9 11 12 any
12 13 12 any
3 8 14 Class java.lang.IllegalAccessException
9 11 14 Class java.lang.IllegalAccessException
12 14 14 Class java.lang.IllegalAccessException
Signature: (TT;TF;TF;)TF;
MethodParameters:
Name Flags
object
expected
value
}
Signature: <T:Ljava/lang/Object;F:Ljava/lang/Object;>Llombok/core/FieldAugment<TT;TF;>;
SourceFile: "FieldAugment.java"
NestHost: lombok.core.FieldAugment
InnerClasses:
private ReflectionFieldAugment = lombok.core.FieldAugment$ReflectionFieldAugment of lombok.core.FieldAugment