public class net.bytebuddy.implementation.FieldAccessor$ForSetter$Appender implements net.bytebuddy.implementation.bytecode.ByteCodeAppender
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.bytebuddy.implementation.FieldAccessor$ForSetter$Appender
super_class: java.lang.Object
{
private final net.bytebuddy.description.type.TypeDescription instrumentedType;
descriptor: Lnet/bytebuddy/description/type/TypeDescription;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final T initialized;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: TT;
private final net.bytebuddy.implementation.FieldAccessor$FieldLocation$Prepared fieldLocation;
descriptor: Lnet/bytebuddy/implementation/FieldAccessor$FieldLocation$Prepared;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final net.bytebuddy.implementation.FieldAccessor$ForSetter this$1;
descriptor: Lnet/bytebuddy/implementation/FieldAccessor$ForSetter;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
protected void <init>(net.bytebuddy.description.type.TypeDescription, T, net.bytebuddy.implementation.FieldAccessor$FieldLocation$Prepared);
descriptor: (Lnet/bytebuddy/implementation/FieldAccessor$ForSetter;Lnet/bytebuddy/description/type/TypeDescription;Ljava/lang/Object;Lnet/bytebuddy/implementation/FieldAccessor$FieldLocation$Prepared;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield net.bytebuddy.implementation.FieldAccessor$ForSetter$Appender.this$1:Lnet/bytebuddy/implementation/FieldAccessor$ForSetter;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield net.bytebuddy.implementation.FieldAccessor$ForSetter$Appender.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
2: aload 0
aload 3
putfield net.bytebuddy.implementation.FieldAccessor$ForSetter$Appender.initialized:Ljava/lang/Object;
3: aload 0
aload 4
putfield net.bytebuddy.implementation.FieldAccessor$ForSetter$Appender.fieldLocation:Lnet/bytebuddy/implementation/FieldAccessor$FieldLocation$Prepared;
4: return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lnet/bytebuddy/implementation/FieldAccessor$ForSetter$Appender;
0 5 2 instrumentedType Lnet/bytebuddy/description/type/TypeDescription;
0 5 3 initialized TT;
0 5 4 fieldLocation Lnet/bytebuddy/implementation/FieldAccessor$FieldLocation$Prepared;
Signature: (Lnet/bytebuddy/description/type/TypeDescription;TT;Lnet/bytebuddy/implementation/FieldAccessor$FieldLocation$Prepared;)V
MethodParameters:
Name Flags
this$0 final
instrumentedType
initialized
fieldLocation
public net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size apply(org.objectweb.asm.MethodVisitor, net.bytebuddy.implementation.Implementation$Context, net.bytebuddy.description.method.MethodDescription);
descriptor: (Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/Implementation$Context;Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender$Size;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield net.bytebuddy.implementation.FieldAccessor$ForSetter$Appender.fieldLocation:Lnet/bytebuddy/implementation/FieldAccessor$FieldLocation$Prepared;
aload 3
invokeinterface net.bytebuddy.implementation.FieldAccessor$FieldLocation$Prepared.resolve:(Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/description/field/FieldDescription;
astore 4
start local 4 1: aload 4
invokeinterface net.bytebuddy.description.field.FieldDescription.isStatic:()Z
ifne 3
aload 3
invokeinterface net.bytebuddy.description.method.MethodDescription.isStatic:()Z
ifeq 3
2: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Cannot set instance field "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: net.bytebuddy.description.field.FieldDescription
StackMap stack:
aload 4
invokeinterface net.bytebuddy.description.field.FieldDescription.isFinal:()Z
ifeq 5
aload 3
invokeinterface net.bytebuddy.description.method.MethodDescription.isMethod:()Z
ifeq 5
4: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Cannot set final field "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield net.bytebuddy.implementation.FieldAccessor$ForSetter$Appender.this$1:Lnet/bytebuddy/implementation/FieldAccessor$ForSetter;
aload 0
getfield net.bytebuddy.implementation.FieldAccessor$ForSetter$Appender.initialized:Ljava/lang/Object;
aload 4
aload 0
getfield net.bytebuddy.implementation.FieldAccessor$ForSetter$Appender.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
aload 3
invokevirtual net.bytebuddy.implementation.FieldAccessor$ForSetter.resolve:(Ljava/lang/Object;Lnet/bytebuddy/description/field/FieldDescription;Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
astore 5
start local 5 6: aload 5
invokeinterface net.bytebuddy.implementation.bytecode.StackManipulation.isValid:()Z
ifne 8
7: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Set value cannot be assigned to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: net.bytebuddy.implementation.bytecode.StackManipulation
StackMap stack:
new net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size
dup
9: new net.bytebuddy.implementation.bytecode.StackManipulation$Compound
dup
iconst_4
anewarray net.bytebuddy.implementation.bytecode.StackManipulation
dup
iconst_0
10: aload 3
invokeinterface net.bytebuddy.description.method.MethodDescription.isStatic:()Z
ifeq 12
11: getstatic net.bytebuddy.implementation.bytecode.StackManipulation$Trivial.INSTANCE:Lnet/bytebuddy/implementation/bytecode/StackManipulation$Trivial;
goto 13
12: StackMap locals: net.bytebuddy.implementation.FieldAccessor$ForSetter$Appender org.objectweb.asm.MethodVisitor net.bytebuddy.implementation.Implementation$Context net.bytebuddy.description.method.MethodDescription net.bytebuddy.description.field.FieldDescription net.bytebuddy.implementation.bytecode.StackManipulation
StackMap stack: new 8 new 8 new 9 new 9 net.bytebuddy.implementation.bytecode.StackManipulation[] net.bytebuddy.implementation.bytecode.StackManipulation[] int
invokestatic net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.loadThis:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
StackMap locals: net.bytebuddy.implementation.FieldAccessor$ForSetter$Appender org.objectweb.asm.MethodVisitor net.bytebuddy.implementation.Implementation$Context net.bytebuddy.description.method.MethodDescription net.bytebuddy.description.field.FieldDescription net.bytebuddy.implementation.bytecode.StackManipulation
StackMap stack: new 8 new 8 new 9 new 9 net.bytebuddy.implementation.bytecode.StackManipulation[] net.bytebuddy.implementation.bytecode.StackManipulation[] int net.bytebuddy.implementation.bytecode.StackManipulation
13: aastore
dup
iconst_1
14: aload 5
aastore
dup
iconst_2
15: aload 4
invokestatic net.bytebuddy.implementation.bytecode.member.FieldAccess.forField:(Lnet/bytebuddy/description/field/FieldDescription;)Lnet/bytebuddy/implementation/bytecode/member/FieldAccess$Defined;
invokeinterface net.bytebuddy.implementation.bytecode.member.FieldAccess$Defined.write:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
aastore
dup
iconst_3
16: aload 0
getfield net.bytebuddy.implementation.FieldAccessor$ForSetter$Appender.this$1:Lnet/bytebuddy/implementation/FieldAccessor$ForSetter;
getfield net.bytebuddy.implementation.FieldAccessor$ForSetter.terminationHandler:Lnet/bytebuddy/implementation/FieldAccessor$ForSetter$TerminationHandler;
aload 3
invokevirtual net.bytebuddy.implementation.FieldAccessor$ForSetter$TerminationHandler.resolve:(Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
aastore
invokespecial net.bytebuddy.implementation.bytecode.StackManipulation$Compound.<init>:([Lnet/bytebuddy/implementation/bytecode/StackManipulation;)V
17: aload 1
aload 2
invokevirtual net.bytebuddy.implementation.bytecode.StackManipulation$Compound.apply:(Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/Implementation$Context;)Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;
invokevirtual net.bytebuddy.implementation.bytecode.StackManipulation$Size.getMaximalSize:()I
aload 3
invokeinterface net.bytebuddy.description.method.MethodDescription.getStackSize:()I
18: invokespecial net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size.<init>:(II)V
areturn
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 19 0 this Lnet/bytebuddy/implementation/FieldAccessor$ForSetter$Appender;
0 19 1 methodVisitor Lorg/objectweb/asm/MethodVisitor;
0 19 2 implementationContext Lnet/bytebuddy/implementation/Implementation$Context;
0 19 3 instrumentedMethod Lnet/bytebuddy/description/method/MethodDescription;
1 19 4 fieldDescription Lnet/bytebuddy/description/field/FieldDescription;
6 19 5 stackManipulation Lnet/bytebuddy/implementation/bytecode/StackManipulation;
MethodParameters:
Name Flags
methodVisitor
implementationContext
instrumentedMethod
}
SourceFile: "FieldAccessor.java"
NestHost: net.bytebuddy.implementation.FieldAccessor
InnerClasses:
public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
protected abstract FieldLocation = net.bytebuddy.implementation.FieldAccessor$FieldLocation of net.bytebuddy.implementation.FieldAccessor
public abstract Prepared = net.bytebuddy.implementation.FieldAccessor$FieldLocation$Prepared of net.bytebuddy.implementation.FieldAccessor$FieldLocation
protected abstract ForSetter = net.bytebuddy.implementation.FieldAccessor$ForSetter of net.bytebuddy.implementation.FieldAccessor
protected Appender = net.bytebuddy.implementation.FieldAccessor$ForSetter$Appender of net.bytebuddy.implementation.FieldAccessor$ForSetter
protected abstract TerminationHandler = net.bytebuddy.implementation.FieldAccessor$ForSetter$TerminationHandler of net.bytebuddy.implementation.FieldAccessor$ForSetter
public abstract Context = net.bytebuddy.implementation.Implementation$Context of net.bytebuddy.implementation.Implementation
public Size = net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size of net.bytebuddy.implementation.bytecode.ByteCodeAppender
public Compound = net.bytebuddy.implementation.bytecode.StackManipulation$Compound of net.bytebuddy.implementation.bytecode.StackManipulation
public Size = net.bytebuddy.implementation.bytecode.StackManipulation$Size of net.bytebuddy.implementation.bytecode.StackManipulation
public final Trivial = net.bytebuddy.implementation.bytecode.StackManipulation$Trivial of net.bytebuddy.implementation.bytecode.StackManipulation
public abstract Defined = net.bytebuddy.implementation.bytecode.member.FieldAccess$Defined of net.bytebuddy.implementation.bytecode.member.FieldAccess
RuntimeVisibleAnnotations:
net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance(includeSyntheticFields = true)