@HashCodeAndEqualsPlugin.Enhance protected static class AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.LambdaMethodImplementation.Appender extends Object implements ByteCodeAppender
Modifier and Type | Class and Description |
---|---|
protected static interface |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.LambdaMethodImplementation.Appender.Dispatcher
A dispatcher for a lambda expression's implementation.
|
ByteCodeAppender.Compound, ByteCodeAppender.Simple, ByteCodeAppender.Size
Modifier | Constructor and Description |
---|---|
protected |
Appender(MethodDescription targetMethod,
JavaConstant.MethodType specializedLambdaMethod,
List<FieldDescription.InDefinedShape> declaredFields,
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.LambdaMethodImplementation.Appender.Dispatcher dispatcher)
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.
|
protected static ByteCodeAppender |
of(MethodDescription targetMethod,
JavaConstant.MethodType specializedLambdaMethod,
List<FieldDescription.InDefinedShape> declaredFields,
JavaConstant.MethodHandle.HandleType handleType,
TypeDescription targetType)
Resolves an appropriate appender for this lambda expression.
|
protected Appender(MethodDescription targetMethod, JavaConstant.MethodType specializedLambdaMethod, List<FieldDescription.InDefinedShape> declaredFields, AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.LambdaMethodImplementation.Appender.Dispatcher dispatcher)
targetMethod
- The target method of the lambda expression.specializedLambdaMethod
- The specialized type of the lambda method.declaredFields
- The instrumented type's declared fields.dispatcher
- The dispatcher to use.protected static ByteCodeAppender of(MethodDescription targetMethod, JavaConstant.MethodType specializedLambdaMethod, List<FieldDescription.InDefinedShape> declaredFields, JavaConstant.MethodHandle.HandleType handleType, TypeDescription targetType)
targetMethod
- The target method of the lambda expression.specializedLambdaMethod
- The specialized type of the lambda method.declaredFields
- The instrumented type's declared fields.handleType
- The handle type of the lambda expression's method handle.targetType
- The target type that defines the lambda expression.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.Copyright © 2014–2022. All rights reserved.