public class net.bytebuddy.implementation.ToStringMethod$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.ToStringMethod$Appender
super_class: java.lang.Object
{
private final java.lang.String prefix;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String start;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String end;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String separator;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String definer;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<? extends net.bytebuddy.description.field.FieldDescription$InDefinedShape> fieldDescriptions;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<+Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;
protected void <init>(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.util.List<? extends net.bytebuddy.description.field.FieldDescription$InDefinedShape>);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield net.bytebuddy.implementation.ToStringMethod$Appender.prefix:Ljava/lang/String;
2: aload 0
aload 2
putfield net.bytebuddy.implementation.ToStringMethod$Appender.start:Ljava/lang/String;
3: aload 0
aload 3
putfield net.bytebuddy.implementation.ToStringMethod$Appender.end:Ljava/lang/String;
4: aload 0
aload 4
putfield net.bytebuddy.implementation.ToStringMethod$Appender.separator:Ljava/lang/String;
5: aload 0
aload 5
putfield net.bytebuddy.implementation.ToStringMethod$Appender.definer:Ljava/lang/String;
6: aload 0
aload 6
putfield net.bytebuddy.implementation.ToStringMethod$Appender.fieldDescriptions:Ljava/util/List;
7: return
end local 6 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 8 0 this Lnet/bytebuddy/implementation/ToStringMethod$Appender;
0 8 1 prefix Ljava/lang/String;
0 8 2 start Ljava/lang/String;
0 8 3 end Ljava/lang/String;
0 8 4 separator Ljava/lang/String;
0 8 5 definer Ljava/lang/String;
0 8 6 fieldDescriptions Ljava/util/List<+Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;
Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List<+Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;)V
MethodParameters:
Name Flags
prefix
start
end
separator
definer
fieldDescriptions
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=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokeinterface net.bytebuddy.description.method.MethodDescription.isStatic:()Z
ifeq 2
1: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "toString method must not be static: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
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
2: StackMap locals:
StackMap stack:
aload 3
invokeinterface net.bytebuddy.description.method.MethodDescription.getReturnType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
invokeinterface net.bytebuddy.description.type.TypeDescription$Generic.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
ldc Ljava/lang/String;
invokeinterface net.bytebuddy.description.type.TypeDescription.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 4
3: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "toString method does not return String-compatible type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
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
4: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
iconst_0
aload 0
getfield net.bytebuddy.implementation.ToStringMethod$Appender.fieldDescriptions:Ljava/util/List;
invokeinterface java.util.List.size:()I
bipush 7
imul
iconst_2
isub
invokestatic java.lang.Math.max:(II)I
bipush 10
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 5: aload 4
ldc Ljava/lang/StringBuilder;
invokestatic net.bytebuddy.description.type.TypeDescription$ForLoadedType.of:(Ljava/lang/Class;)Lnet/bytebuddy/description/type/TypeDescription;
invokestatic net.bytebuddy.implementation.bytecode.TypeCreation.of:(Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 4
getstatic net.bytebuddy.implementation.bytecode.Duplication.SINGLE:Lnet/bytebuddy/implementation/bytecode/Duplication;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: aload 4
new net.bytebuddy.implementation.bytecode.constant.TextConstant
dup
aload 0
getfield net.bytebuddy.implementation.ToStringMethod$Appender.prefix:Ljava/lang/String;
invokespecial net.bytebuddy.implementation.bytecode.constant.TextConstant.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: aload 4
getstatic net.bytebuddy.implementation.ToStringMethod.STRING_BUILDER_CONSTRUCTOR:Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;
invokestatic net.bytebuddy.implementation.bytecode.member.MethodInvocation.invoke:(Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;)Lnet/bytebuddy/implementation/bytecode/member/MethodInvocation$WithImplicitInvocationTargetType;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: aload 4
new net.bytebuddy.implementation.bytecode.constant.TextConstant
dup
aload 0
getfield net.bytebuddy.implementation.ToStringMethod$Appender.start:Ljava/lang/String;
invokespecial net.bytebuddy.implementation.bytecode.constant.TextConstant.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: aload 4
getstatic net.bytebuddy.implementation.ToStringMethod$ValueConsumer.STRING:Lnet/bytebuddy/implementation/ToStringMethod$ValueConsumer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: iconst_1
istore 5
start local 5 12: aload 0
getfield net.bytebuddy.implementation.ToStringMethod$Appender.fieldDescriptions:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 24
StackMap locals: net.bytebuddy.implementation.ToStringMethod$Appender org.objectweb.asm.MethodVisitor net.bytebuddy.implementation.Implementation$Context net.bytebuddy.description.method.MethodDescription java.util.List int top java.util.Iterator
StackMap stack:
13: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast net.bytebuddy.description.field.FieldDescription$InDefinedShape
astore 6
start local 6 14: iload 5
ifeq 17
15: iconst_0
istore 5
16: goto 19
17: StackMap locals: net.bytebuddy.implementation.ToStringMethod$Appender org.objectweb.asm.MethodVisitor net.bytebuddy.implementation.Implementation$Context net.bytebuddy.description.method.MethodDescription java.util.List int net.bytebuddy.description.field.FieldDescription$InDefinedShape java.util.Iterator
StackMap stack:
aload 4
new net.bytebuddy.implementation.bytecode.constant.TextConstant
dup
aload 0
getfield net.bytebuddy.implementation.ToStringMethod$Appender.separator:Ljava/lang/String;
invokespecial net.bytebuddy.implementation.bytecode.constant.TextConstant.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: aload 4
getstatic net.bytebuddy.implementation.ToStringMethod$ValueConsumer.STRING:Lnet/bytebuddy/implementation/ToStringMethod$ValueConsumer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: StackMap locals:
StackMap stack:
aload 4
new net.bytebuddy.implementation.bytecode.constant.TextConstant
dup
new java.lang.StringBuilder
dup
aload 6
invokeinterface net.bytebuddy.description.field.FieldDescription$InDefinedShape.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield net.bytebuddy.implementation.ToStringMethod$Appender.definer:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial net.bytebuddy.implementation.bytecode.constant.TextConstant.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: aload 4
getstatic net.bytebuddy.implementation.ToStringMethod$ValueConsumer.STRING:Lnet/bytebuddy/implementation/ToStringMethod$ValueConsumer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
21: aload 4
invokestatic net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.loadThis:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: aload 4
aload 6
invokestatic net.bytebuddy.implementation.bytecode.member.FieldAccess.forField:(Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;)Lnet/bytebuddy/implementation/bytecode/member/FieldAccess$Defined;
invokeinterface net.bytebuddy.implementation.bytecode.member.FieldAccess$Defined.read:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
23: aload 4
aload 6
invokeinterface net.bytebuddy.description.field.FieldDescription$InDefinedShape.getType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
invokeinterface net.bytebuddy.description.type.TypeDescription$Generic.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
invokestatic net.bytebuddy.implementation.ToStringMethod$ValueConsumer.of:(Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 24: StackMap locals: net.bytebuddy.implementation.ToStringMethod$Appender org.objectweb.asm.MethodVisitor net.bytebuddy.implementation.Implementation$Context net.bytebuddy.description.method.MethodDescription java.util.List int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
25: aload 4
new net.bytebuddy.implementation.bytecode.constant.TextConstant
dup
aload 0
getfield net.bytebuddy.implementation.ToStringMethod$Appender.end:Ljava/lang/String;
invokespecial net.bytebuddy.implementation.bytecode.constant.TextConstant.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
26: aload 4
getstatic net.bytebuddy.implementation.ToStringMethod$ValueConsumer.STRING:Lnet/bytebuddy/implementation/ToStringMethod$ValueConsumer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
27: aload 4
getstatic net.bytebuddy.implementation.ToStringMethod.TO_STRING:Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;
invokestatic net.bytebuddy.implementation.bytecode.member.MethodInvocation.invoke:(Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;)Lnet/bytebuddy/implementation/bytecode/member/MethodInvocation$WithImplicitInvocationTargetType;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
28: aload 4
getstatic net.bytebuddy.implementation.bytecode.member.MethodReturn.REFERENCE:Lnet/bytebuddy/implementation/bytecode/member/MethodReturn;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
29: new net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size
dup
new net.bytebuddy.implementation.bytecode.StackManipulation$Compound
dup
aload 4
invokespecial net.bytebuddy.implementation.bytecode.StackManipulation$Compound.<init>:(Ljava/util/List;)V
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
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 30 0 this Lnet/bytebuddy/implementation/ToStringMethod$Appender;
0 30 1 methodVisitor Lorg/objectweb/asm/MethodVisitor;
0 30 2 implementationContext Lnet/bytebuddy/implementation/Implementation$Context;
0 30 3 instrumentedMethod Lnet/bytebuddy/description/method/MethodDescription;
5 30 4 stackManipulations Ljava/util/List<Lnet/bytebuddy/implementation/bytecode/StackManipulation;>;
12 30 5 first Z
14 24 6 fieldDescription Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;
MethodParameters:
Name Flags
methodVisitor
implementationContext
instrumentedMethod
}
SourceFile: "ToStringMethod.java"
NestHost: net.bytebuddy.implementation.ToStringMethod
InnerClasses:
public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
public abstract InDefinedShape = net.bytebuddy.description.field.FieldDescription$InDefinedShape of net.bytebuddy.description.field.FieldDescription
public abstract InDefinedShape = net.bytebuddy.description.method.MethodDescription$InDefinedShape of net.bytebuddy.description.method.MethodDescription
public ForLoadedType = net.bytebuddy.description.type.TypeDescription$ForLoadedType of net.bytebuddy.description.type.TypeDescription
public abstract Generic = net.bytebuddy.description.type.TypeDescription$Generic of net.bytebuddy.description.type.TypeDescription
public abstract Context = net.bytebuddy.implementation.Implementation$Context of net.bytebuddy.implementation.Implementation
protected Appender = net.bytebuddy.implementation.ToStringMethod$Appender of net.bytebuddy.implementation.ToStringMethod
protected abstract ValueConsumer = net.bytebuddy.implementation.ToStringMethod$ValueConsumer of net.bytebuddy.implementation.ToStringMethod
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 abstract Defined = net.bytebuddy.implementation.bytecode.member.FieldAccess$Defined of net.bytebuddy.implementation.bytecode.member.FieldAccess
public abstract WithImplicitInvocationTargetType = net.bytebuddy.implementation.bytecode.member.MethodInvocation$WithImplicitInvocationTargetType of net.bytebuddy.implementation.bytecode.member.MethodInvocation
RuntimeVisibleAnnotations:
net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()