Package net.bytebuddy.agent.builder
Class AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.BridgeMethodImplementation
java.lang.Object
net.bytebuddy.agent.builder.AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.BridgeMethodImplementation
- All Implemented Interfaces:
InstrumentedType.Prepareable
,Implementation
- Enclosing class:
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory
@Enhance
protected static class AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.BridgeMethodImplementation
extends Object
implements Implementation
Implements an explicit bridge method for a lambda expression.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.BridgeMethodImplementation.Appender
An appender for implementing a bridge method for a lambda expression.Nested classes/interfaces inherited from interface net.bytebuddy.implementation.Implementation
Implementation.Composable, Implementation.Compound, Implementation.Context, Implementation.Simple, Implementation.SpecialMethodInvocation, Implementation.Target
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.scaffold.InstrumentedType.Prepareable
InstrumentedType.Prepareable.NoOp
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final JavaConstant.MethodType
The actual type of the lambda expression's functional method.private final String
The name of the lambda expression's functional method. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
BridgeMethodImplementation
(String lambdaMethodName, JavaConstant.MethodType lambdaMethod) Creates a new bridge method implementation for a lambda expression. -
Method Summary
Modifier and TypeMethodDescriptionappender
(Implementation.Target implementationTarget) Creates a byte code appender that determines the implementation of the instrumented type's methods.prepare
(InstrumentedType instrumentedType) Prepares a given instrumented type.
-
Field Details
-
lambdaMethodName
The name of the lambda expression's functional method. -
lambdaMethod
The actual type of the lambda expression's functional method.
-
-
Constructor Details
-
BridgeMethodImplementation
Creates a new bridge method implementation for a lambda expression.- Parameters:
lambdaMethodName
- The name of the lambda expression's functional method.lambdaMethod
- The actual type of the lambda expression's functional method.
-
-
Method Details
-
appender
Creates a byte code appender that determines the implementation of the instrumented type's methods.- Specified by:
appender
in interfaceImplementation
- Parameters:
implementationTarget
- The target of the current implementation.- Returns:
- A byte code appender for implementing methods delegated to this implementation. This byte code appender
is also responsible for handling methods that were added by this implementation on the call to
InstrumentedType.Prepareable.prepare(InstrumentedType)
.
-
prepare
Prepares a given instrumented type.- Specified by:
prepare
in interfaceInstrumentedType.Prepareable
- Parameters:
instrumentedType
- The instrumented type in its current form.- Returns:
- The prepared instrumented type.
-