@HashCodeAndEqualsPlugin.Enhance protected static class AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.LambdaMethodImplementation.Appender extends java.lang.Object implements ByteCodeAppender
ByteCodeAppender.Compound, ByteCodeAppender.Simple, ByteCodeAppender.Size
Modifier and Type | Field and Description |
---|---|
private java.util.List<FieldDescription.InDefinedShape> |
declaredFields
The instrumented type's declared fields.
|
private JavaConstant.MethodType |
specializedLambdaMethod
The specialized type of the lambda method.
|
private MethodDescription |
targetMethod
The target method of the lambda expression.
|
Modifier | Constructor and Description |
---|---|
protected |
Appender(MethodDescription targetMethod,
JavaConstant.MethodType specializedLambdaMethod,
java.util.List<FieldDescription.InDefinedShape> declaredFields)
Creates an appender of a lambda expression's functional method.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
apply(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
private final MethodDescription targetMethod
private final JavaConstant.MethodType specializedLambdaMethod
private final java.util.List<FieldDescription.InDefinedShape> declaredFields
protected Appender(MethodDescription targetMethod, JavaConstant.MethodType specializedLambdaMethod, java.util.List<FieldDescription.InDefinedShape> declaredFields)
targetMethod
- The target method of the lambda expression.specializedLambdaMethod
- The specialized type of the lambda method.declaredFields
- The instrumented type's declared fields.public ByteCodeAppender.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)
apply
in interface ByteCodeAppender
methodVisitor
- The method visitor to which the byte code appender writes its code to.implementationContext
- The implementation context of the current type creation process.instrumentedMethod
- The method that is the target of the instrumentation.