public class net.bytebuddy.ByteBuddy$RecordConstructorStrategy$Appender implements net.bytebuddy.implementation.bytecode.ByteCodeAppender
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.bytebuddy.ByteBuddy$RecordConstructorStrategy$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
protected void <init>(net.bytebuddy.description.type.TypeDescription);
descriptor: (Lnet/bytebuddy/description/type/TypeDescription;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 // net.bytebuddy.ByteBuddy$RecordConstructorStrategy$Appender this
start local 1 // net.bytebuddy.description.type.TypeDescription instrumentedType
0: .line 1557
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 1558
aload 0 /* this */
aload 1 /* instrumentedType */
putfield net.bytebuddy.ByteBuddy$RecordConstructorStrategy$Appender.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
2: .line 1559
return
end local 1 // net.bytebuddy.description.type.TypeDescription instrumentedType
end local 0 // net.bytebuddy.ByteBuddy$RecordConstructorStrategy$Appender this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lnet/bytebuddy/ByteBuddy$RecordConstructorStrategy$Appender;
0 3 1 instrumentedType Lnet/bytebuddy/description/type/TypeDescription;
MethodParameters:
Name Flags
instrumentedType
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=7, locals=8, args_size=4
start local 0 // net.bytebuddy.ByteBuddy$RecordConstructorStrategy$Appender this
start local 1 // org.objectweb.asm.MethodVisitor methodVisitor
start local 2 // net.bytebuddy.implementation.Implementation$Context implementationContext
start local 3 // net.bytebuddy.description.method.MethodDescription instrumentedMethod
0: .line 1565
aload 3 /* instrumentedMethod */
invokeinterface net.bytebuddy.description.method.MethodDescription.isMethod:()Z
ifeq 8
1: .line 1566
new net.bytebuddy.implementation.bytecode.ByteCodeAppender$Simple
dup
iconst_3
anewarray net.bytebuddy.implementation.bytecode.StackManipulation
dup
iconst_0
2: .line 1567
invokestatic net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.loadThis:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
aastore
dup
iconst_1
3: .line 1568
aload 0 /* this */
getfield net.bytebuddy.ByteBuddy$RecordConstructorStrategy$Appender.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
invokeinterface net.bytebuddy.description.type.TypeDescription.getDeclaredFields:()Lnet/bytebuddy/description/field/FieldList;
aload 3 /* instrumentedMethod */
invokeinterface net.bytebuddy.description.method.MethodDescription.getName:()Ljava/lang/String;
invokestatic net.bytebuddy.matcher.ElementMatchers.named:(Ljava/lang/String;)Lnet/bytebuddy/matcher/ElementMatcher$Junction;
invokeinterface net.bytebuddy.description.field.FieldList.filter:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/FilterableList;
checkcast net.bytebuddy.description.field.FieldList
invokeinterface net.bytebuddy.description.field.FieldList.getOnly:()Ljava/lang/Object;
checkcast net.bytebuddy.description.field.FieldDescription$InDefinedShape
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;
aastore
dup
iconst_2
4: .line 1569
aload 3 /* instrumentedMethod */
invokeinterface net.bytebuddy.description.method.MethodDescription.getReturnType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
invokestatic net.bytebuddy.implementation.bytecode.member.MethodReturn.of:(Lnet/bytebuddy/description/type/TypeDefinition;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
5: .line 1566
aastore
invokespecial net.bytebuddy.implementation.bytecode.ByteCodeAppender$Simple.<init>:([Lnet/bytebuddy/implementation/bytecode/StackManipulation;)V
6: .line 1570
aload 1 /* methodVisitor */
aload 2 /* implementationContext */
aload 3 /* instrumentedMethod */
invokevirtual net.bytebuddy.implementation.bytecode.ByteCodeAppender$Simple.apply:(Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/Implementation$Context;Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender$Size;
7: .line 1566
areturn
8: .line 1572
StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 0 /* this */
getfield net.bytebuddy.ByteBuddy$RecordConstructorStrategy$Appender.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
invokeinterface net.bytebuddy.description.type.TypeDescription.getRecordComponents:()Lnet/bytebuddy/description/type/RecordComponentList;
invokeinterface net.bytebuddy.description.type.RecordComponentList.size:()I
iconst_3
imul
iconst_2
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 4 /* stackManipulations */
start local 4 // java.util.List stackManipulations
9: .line 1573
aload 4 /* stackManipulations */
invokestatic net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.loadThis:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: .line 1574
aload 4 /* stackManipulations */
new net.bytebuddy.description.method.MethodDescription$Latent
dup
getstatic net.bytebuddy.utility.JavaType.RECORD:Lnet/bytebuddy/utility/JavaType;
invokevirtual net.bytebuddy.utility.JavaType.getTypeStub:()Lnet/bytebuddy/description/type/TypeDescription;
new net.bytebuddy.description.method.MethodDescription$Token
dup
iconst_1
invokespecial net.bytebuddy.description.method.MethodDescription$Token.<init>:(I)V
invokespecial net.bytebuddy.description.method.MethodDescription$Latent.<init>:(Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/description/method/MethodDescription$Token;)V
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
11: .line 1575
iconst_1
istore 5 /* offset */
start local 5 // int offset
12: .line 1576
aload 0 /* this */
getfield net.bytebuddy.ByteBuddy$RecordConstructorStrategy$Appender.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
invokeinterface net.bytebuddy.description.type.TypeDescription.getRecordComponents:()Lnet/bytebuddy/description/type/RecordComponentList;
invokeinterface net.bytebuddy.description.type.RecordComponentList.iterator:()Ljava/util/Iterator;
astore 7
goto 23
StackMap locals: net.bytebuddy.ByteBuddy$RecordConstructorStrategy$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.type.RecordComponentDescription$InDefinedShape
astore 6 /* recordComponent */
start local 6 // net.bytebuddy.description.type.RecordComponentDescription$InDefinedShape recordComponent
14: .line 1577
aload 4 /* stackManipulations */
invokestatic net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.loadThis:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: .line 1578
aload 4 /* stackManipulations */
aload 6 /* recordComponent */
invokeinterface net.bytebuddy.description.type.RecordComponentDescription$InDefinedShape.getType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
invokestatic net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.of:(Lnet/bytebuddy/description/type/TypeDefinition;)Lnet/bytebuddy/implementation/bytecode/member/MethodVariableAccess;
iload 5 /* offset */
invokevirtual net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.loadFrom:(I)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: .line 1579
aload 4 /* stackManipulations */
aload 0 /* this */
getfield net.bytebuddy.ByteBuddy$RecordConstructorStrategy$Appender.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
invokeinterface net.bytebuddy.description.type.TypeDescription.getDeclaredFields:()Lnet/bytebuddy/description/field/FieldList;
17: .line 1580
aload 6 /* recordComponent */
invokeinterface net.bytebuddy.description.type.RecordComponentDescription$InDefinedShape.getActualName:()Ljava/lang/String;
invokestatic net.bytebuddy.matcher.ElementMatchers.named:(Ljava/lang/String;)Lnet/bytebuddy/matcher/ElementMatcher$Junction;
invokeinterface net.bytebuddy.description.field.FieldList.filter:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/FilterableList;
checkcast net.bytebuddy.description.field.FieldList
18: .line 1581
invokeinterface net.bytebuddy.description.field.FieldList.getOnly:()Ljava/lang/Object;
checkcast net.bytebuddy.description.field.FieldDescription$InDefinedShape
19: .line 1579
invokestatic net.bytebuddy.implementation.bytecode.member.FieldAccess.forField:(Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;)Lnet/bytebuddy/implementation/bytecode/member/FieldAccess$Defined;
20: .line 1581
invokeinterface net.bytebuddy.implementation.bytecode.member.FieldAccess$Defined.write:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
21: .line 1579
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: .line 1582
iload 5 /* offset */
aload 6 /* recordComponent */
invokeinterface net.bytebuddy.description.type.RecordComponentDescription$InDefinedShape.getType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
invokeinterface net.bytebuddy.description.type.TypeDescription$Generic.getStackSize:()Lnet/bytebuddy/implementation/bytecode/StackSize;
invokevirtual net.bytebuddy.implementation.bytecode.StackSize.getSize:()I
iadd
istore 5 /* offset */
end local 6 // net.bytebuddy.description.type.RecordComponentDescription$InDefinedShape recordComponent
23: .line 1576
StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
24: .line 1584
aload 4 /* stackManipulations */
getstatic net.bytebuddy.implementation.bytecode.member.MethodReturn.VOID:Lnet/bytebuddy/implementation/bytecode/member/MethodReturn;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
25: .line 1585
new net.bytebuddy.implementation.bytecode.ByteCodeAppender$Simple
dup
aload 4 /* stackManipulations */
invokespecial net.bytebuddy.implementation.bytecode.ByteCodeAppender$Simple.<init>:(Ljava/util/List;)V
aload 1 /* methodVisitor */
aload 2 /* implementationContext */
aload 3 /* instrumentedMethod */
invokevirtual net.bytebuddy.implementation.bytecode.ByteCodeAppender$Simple.apply:(Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/Implementation$Context;Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender$Size;
areturn
end local 5 // int offset
end local 4 // java.util.List stackManipulations
end local 3 // net.bytebuddy.description.method.MethodDescription instrumentedMethod
end local 2 // net.bytebuddy.implementation.Implementation$Context implementationContext
end local 1 // org.objectweb.asm.MethodVisitor methodVisitor
end local 0 // net.bytebuddy.ByteBuddy$RecordConstructorStrategy$Appender this
LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lnet/bytebuddy/ByteBuddy$RecordConstructorStrategy$Appender;
0 26 1 methodVisitor Lorg/objectweb/asm/MethodVisitor;
0 26 2 implementationContext Lnet/bytebuddy/implementation/Implementation$Context;
0 26 3 instrumentedMethod Lnet/bytebuddy/description/method/MethodDescription;
9 26 4 stackManipulations Ljava/util/List<Lnet/bytebuddy/implementation/bytecode/StackManipulation;>;
12 26 5 offset I
14 23 6 recordComponent Lnet/bytebuddy/description/type/RecordComponentDescription$InDefinedShape;
MethodParameters:
Name Flags
methodVisitor
implementationContext
instrumentedMethod
}
SourceFile: "ByteBuddy.java"
NestHost: net.bytebuddy.ByteBuddy
InnerClasses:
protected final RecordConstructorStrategy = net.bytebuddy.ByteBuddy$RecordConstructorStrategy of net.bytebuddy.ByteBuddy
protected Appender = net.bytebuddy.ByteBuddy$RecordConstructorStrategy$Appender of net.bytebuddy.ByteBuddy$RecordConstructorStrategy
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 Latent = net.bytebuddy.description.method.MethodDescription$Latent of net.bytebuddy.description.method.MethodDescription
public Token = net.bytebuddy.description.method.MethodDescription$Token of net.bytebuddy.description.method.MethodDescription
public abstract InDefinedShape = net.bytebuddy.description.type.RecordComponentDescription$InDefinedShape of net.bytebuddy.description.type.RecordComponentDescription
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
public Simple = net.bytebuddy.implementation.bytecode.ByteCodeAppender$Simple of net.bytebuddy.implementation.bytecode.ByteCodeAppender
public Size = net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size of net.bytebuddy.implementation.bytecode.ByteCodeAppender
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
public abstract Junction = net.bytebuddy.matcher.ElementMatcher$Junction of net.bytebuddy.matcher.ElementMatcher
RuntimeVisibleAnnotations:
net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()