public class net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender implements net.bytebuddy.implementation.bytecode.ByteCodeAppender
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender
super_class: java.lang.Object
{
private final net.bytebuddy.description.method.MethodDescription targetMethod;
descriptor: Lnet/bytebuddy/description/method/MethodDescription;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final net.bytebuddy.utility.JavaConstant$MethodType specializedLambdaMethod;
descriptor: Lnet/bytebuddy/utility/JavaConstant$MethodType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<net.bytebuddy.description.field.FieldDescription$InDefinedShape> declaredFields;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;
protected void <init>(net.bytebuddy.description.method.MethodDescription, net.bytebuddy.utility.JavaConstant$MethodType, java.util.List<net.bytebuddy.description.field.FieldDescription$InDefinedShape>);
descriptor: (Lnet/bytebuddy/description/method/MethodDescription;Lnet/bytebuddy/utility/JavaConstant$MethodType;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender.targetMethod:Lnet/bytebuddy/description/method/MethodDescription;
2: aload 0
aload 2
putfield net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender.specializedLambdaMethod:Lnet/bytebuddy/utility/JavaConstant$MethodType;
3: aload 0
aload 3
putfield net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender.declaredFields:Ljava/util/List;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lnet/bytebuddy/agent/builder/AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender;
0 5 1 targetMethod Lnet/bytebuddy/description/method/MethodDescription;
0 5 2 specializedLambdaMethod Lnet/bytebuddy/utility/JavaConstant$MethodType;
0 5 3 declaredFields Ljava/util/List<Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;
Signature: (Lnet/bytebuddy/description/method/MethodDescription;Lnet/bytebuddy/utility/JavaConstant$MethodType;Ljava/util/List<Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;)V
MethodParameters:
Name Flags
targetMethod
specializedLambdaMethod
declaredFields
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=11, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender.targetMethod:Lnet/bytebuddy/description/method/MethodDescription;
invokeinterface net.bytebuddy.description.method.MethodDescription.isConstructor:()Z
ifeq 2
1: new net.bytebuddy.implementation.bytecode.StackManipulation$Compound
dup
iconst_2
anewarray net.bytebuddy.implementation.bytecode.StackManipulation
dup
iconst_0
aload 0
getfield net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender.targetMethod:Lnet/bytebuddy/description/method/MethodDescription;
invokeinterface net.bytebuddy.description.method.MethodDescription.getDeclaringType:()Lnet/bytebuddy/description/type/TypeDefinition;
invokeinterface net.bytebuddy.description.type.TypeDefinition.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
invokestatic net.bytebuddy.implementation.bytecode.TypeCreation.of:(Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
aastore
dup
iconst_1
getstatic net.bytebuddy.implementation.bytecode.Duplication.SINGLE:Lnet/bytebuddy/implementation/bytecode/Duplication;
aastore
invokespecial net.bytebuddy.implementation.bytecode.StackManipulation$Compound.<init>:([Lnet/bytebuddy/implementation/bytecode/StackManipulation;)V
goto 3
2: StackMap locals:
StackMap stack:
getstatic net.bytebuddy.implementation.bytecode.StackManipulation$Trivial.INSTANCE:Lnet/bytebuddy/implementation/bytecode/StackManipulation$Trivial;
3: StackMap locals:
StackMap stack: net.bytebuddy.implementation.bytecode.StackManipulation
astore 4
start local 4 4: new java.util.ArrayList
dup
aload 0
getfield net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender.declaredFields:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_2
imul
iconst_1
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 5: aload 0
getfield net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender.declaredFields:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 9
StackMap locals: net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender org.objectweb.asm.MethodVisitor net.bytebuddy.implementation.Implementation$Context net.bytebuddy.description.method.MethodDescription net.bytebuddy.implementation.bytecode.StackManipulation java.util.List top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast net.bytebuddy.description.field.FieldDescription$InDefinedShape
astore 6
start local 6 7: aload 5
invokestatic net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.loadThis:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: aload 5
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
end local 6 9: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
10: new java.util.ArrayList
dup
aload 3
invokeinterface net.bytebuddy.description.method.MethodDescription.getParameters:()Lnet/bytebuddy/description/method/ParameterList;
invokeinterface net.bytebuddy.description.method.ParameterList.size:()I
iconst_2
imul
invokespecial java.util.ArrayList.<init>:(I)V
astore 6
start local 6 11: aload 3
invokeinterface net.bytebuddy.description.method.MethodDescription.getParameters:()Lnet/bytebuddy/description/method/ParameterList;
invokeinterface net.bytebuddy.description.method.ParameterList.iterator:()Ljava/util/Iterator;
astore 8
goto 18
StackMap locals: net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender org.objectweb.asm.MethodVisitor net.bytebuddy.implementation.Implementation$Context net.bytebuddy.description.method.MethodDescription net.bytebuddy.implementation.bytecode.StackManipulation java.util.List java.util.List top java.util.Iterator
StackMap stack:
12: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast net.bytebuddy.description.method.ParameterDescription
astore 7
start local 7 13: aload 6
aload 7
invokestatic net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.load:(Lnet/bytebuddy/description/method/ParameterDescription;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: aload 6
getstatic net.bytebuddy.implementation.bytecode.assign.Assigner.DEFAULT:Lnet/bytebuddy/implementation/bytecode/assign/Assigner;
aload 7
invokeinterface net.bytebuddy.description.method.ParameterDescription.getType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
15: aload 0
getfield net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender.specializedLambdaMethod:Lnet/bytebuddy/utility/JavaConstant$MethodType;
invokevirtual net.bytebuddy.utility.JavaConstant$MethodType.getParameterTypes:()Lnet/bytebuddy/description/type/TypeList;
aload 7
invokeinterface net.bytebuddy.description.method.ParameterDescription.getIndex:()I
invokeinterface net.bytebuddy.description.type.TypeList.get:(I)Ljava/lang/Object;
checkcast net.bytebuddy.description.type.TypeDescription
invokeinterface net.bytebuddy.description.type.TypeDescription.asGenericType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
16: getstatic net.bytebuddy.implementation.bytecode.assign.Assigner$Typing.DYNAMIC:Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;
17: invokeinterface net.bytebuddy.implementation.bytecode.assign.Assigner.assign:(Lnet/bytebuddy/description/type/TypeDescription$Generic;Lnet/bytebuddy/description/type/TypeDescription$Generic;Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 18: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
19: new net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size
dup
20: new net.bytebuddy.implementation.bytecode.StackManipulation$Compound
dup
bipush 6
anewarray net.bytebuddy.implementation.bytecode.StackManipulation
dup
iconst_0
21: aload 4
aastore
dup
iconst_1
22: new net.bytebuddy.implementation.bytecode.StackManipulation$Compound
dup
aload 5
invokespecial net.bytebuddy.implementation.bytecode.StackManipulation$Compound.<init>:(Ljava/util/List;)V
aastore
dup
iconst_2
23: new net.bytebuddy.implementation.bytecode.StackManipulation$Compound
dup
aload 6
invokespecial net.bytebuddy.implementation.bytecode.StackManipulation$Compound.<init>:(Ljava/util/List;)V
aastore
dup
iconst_3
24: aload 0
getfield net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender.targetMethod:Lnet/bytebuddy/description/method/MethodDescription;
invokestatic net.bytebuddy.implementation.bytecode.member.MethodInvocation.invoke:(Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/member/MethodInvocation$WithImplicitInvocationTargetType;
aastore
dup
iconst_4
25: getstatic net.bytebuddy.implementation.bytecode.assign.Assigner.DEFAULT:Lnet/bytebuddy/implementation/bytecode/assign/Assigner;
aload 0
getfield net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender.targetMethod:Lnet/bytebuddy/description/method/MethodDescription;
invokeinterface net.bytebuddy.description.method.MethodDescription.isConstructor:()Z
ifeq 27
26: aload 0
getfield net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender.targetMethod:Lnet/bytebuddy/description/method/MethodDescription;
invokeinterface net.bytebuddy.description.method.MethodDescription.getDeclaringType:()Lnet/bytebuddy/description/type/TypeDefinition;
invokeinterface net.bytebuddy.description.type.TypeDefinition.asGenericType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
goto 28
27: StackMap locals: net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender org.objectweb.asm.MethodVisitor net.bytebuddy.implementation.Implementation$Context net.bytebuddy.description.method.MethodDescription net.bytebuddy.implementation.bytecode.StackManipulation java.util.List java.util.List
StackMap stack: new 19 new 19 new 20 new 20 net.bytebuddy.implementation.bytecode.StackManipulation[] net.bytebuddy.implementation.bytecode.StackManipulation[] int net.bytebuddy.implementation.bytecode.assign.Assigner
aload 0
getfield net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender.targetMethod:Lnet/bytebuddy/description/method/MethodDescription;
invokeinterface net.bytebuddy.description.method.MethodDescription.getReturnType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
28: StackMap locals: net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender org.objectweb.asm.MethodVisitor net.bytebuddy.implementation.Implementation$Context net.bytebuddy.description.method.MethodDescription net.bytebuddy.implementation.bytecode.StackManipulation java.util.List java.util.List
StackMap stack: new 19 new 19 new 20 new 20 net.bytebuddy.implementation.bytecode.StackManipulation[] net.bytebuddy.implementation.bytecode.StackManipulation[] int net.bytebuddy.implementation.bytecode.assign.Assigner net.bytebuddy.description.type.TypeDescription$Generic
aload 0
getfield net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender.specializedLambdaMethod:Lnet/bytebuddy/utility/JavaConstant$MethodType;
invokevirtual net.bytebuddy.utility.JavaConstant$MethodType.getReturnType:()Lnet/bytebuddy/description/type/TypeDescription;
invokeinterface net.bytebuddy.description.type.TypeDescription.asGenericType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
29: getstatic net.bytebuddy.implementation.bytecode.assign.Assigner$Typing.DYNAMIC:Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;
30: invokeinterface net.bytebuddy.implementation.bytecode.assign.Assigner.assign:(Lnet/bytebuddy/description/type/TypeDescription$Generic;Lnet/bytebuddy/description/type/TypeDescription$Generic;Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
aastore
dup
iconst_5
31: aload 0
getfield net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender.specializedLambdaMethod:Lnet/bytebuddy/utility/JavaConstant$MethodType;
invokevirtual net.bytebuddy.utility.JavaConstant$MethodType.getReturnType:()Lnet/bytebuddy/description/type/TypeDescription;
invokestatic net.bytebuddy.implementation.bytecode.member.MethodReturn.of:(Lnet/bytebuddy/description/type/TypeDefinition;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
aastore
invokespecial net.bytebuddy.implementation.bytecode.StackManipulation$Compound.<init>:([Lnet/bytebuddy/implementation/bytecode/StackManipulation;)V
32: 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
33: invokespecial net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size.<init>:(II)V
areturn
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 34 0 this Lnet/bytebuddy/agent/builder/AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender;
0 34 1 methodVisitor Lorg/objectweb/asm/MethodVisitor;
0 34 2 implementationContext Lnet/bytebuddy/implementation/Implementation$Context;
0 34 3 instrumentedMethod Lnet/bytebuddy/description/method/MethodDescription;
4 34 4 preparation Lnet/bytebuddy/implementation/bytecode/StackManipulation;
5 34 5 fieldAccess Ljava/util/List<Lnet/bytebuddy/implementation/bytecode/StackManipulation;>;
7 9 6 fieldDescription Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;
11 34 6 parameterAccess Ljava/util/List<Lnet/bytebuddy/implementation/bytecode/StackManipulation;>;
13 18 7 parameterDescription Lnet/bytebuddy/description/method/ParameterDescription;
MethodParameters:
Name Flags
methodVisitor
implementationContext
instrumentedMethod
}
SourceFile: "AgentBuilder.java"
NestHost: net.bytebuddy.agent.builder.AgentBuilder
InnerClasses:
public abstract LambdaInstrumentationStrategy = net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy of net.bytebuddy.agent.builder.AgentBuilder
protected LambdaInstanceFactory = net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory of net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy
protected LambdaMethodImplementation = net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation of net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory
protected Appender = net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation$Appender of net.bytebuddy.agent.builder.AgentBuilder$LambdaInstrumentationStrategy$LambdaInstanceFactory$LambdaMethodImplementation
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 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 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 final Typing = net.bytebuddy.implementation.bytecode.assign.Assigner$Typing of net.bytebuddy.implementation.bytecode.assign.Assigner
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 MethodType = net.bytebuddy.utility.JavaConstant$MethodType of net.bytebuddy.utility.JavaConstant
RuntimeVisibleAnnotations:
net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()