Package net.bytebuddy.asm
Class MemberSubstitution.Substitution.Chain.Step.ForDelegation.Dispatcher.ForDynamicInvocation.Resolved
- java.lang.Object
-
- net.bytebuddy.asm.MemberSubstitution.Substitution.Chain.Step.ForDelegation.Dispatcher.ForDynamicInvocation.Resolved
-
- All Implemented Interfaces:
MemberSubstitution.Substitution.Chain.Step.ForDelegation.Dispatcher.Resolved
- Enclosing class:
- MemberSubstitution.Substitution.Chain.Step.ForDelegation.Dispatcher.ForDynamicInvocation
@Enhance protected static class MemberSubstitution.Substitution.Chain.Step.ForDelegation.Dispatcher.ForDynamicInvocation.Resolved extends java.lang.Object implements MemberSubstitution.Substitution.Chain.Step.ForDelegation.Dispatcher.Resolved
A resolved dispatcher for a dynamically bound method invocation.
-
-
Field Summary
Fields Modifier and Type Field Description private MethodDescription.InDefinedShape
bootstrapMethod
The bootstrap method.private MethodDescription.InDefinedShape
delegate
The delegation target.private MemberSubstitution.Substitution.Chain.Step.ForDelegation.BootstrapArgumentResolver.Resolved
resolver
The bootstrap argument resolver to use.
-
Constructor Summary
Constructors Modifier Constructor Description protected
Resolved(MethodDescription.InDefinedShape bootstrapMethod, MethodDescription.InDefinedShape delegate, MemberSubstitution.Substitution.Chain.Step.ForDelegation.BootstrapArgumentResolver.Resolved resolver)
Creates a resolved dispatcher of a dynamic method dispatcher.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StackManipulation
apply(TypeDescription receiver, ByteCodeElement.Member original, JavaConstant.MethodHandle methodHandle)
Creates a stack manipulation for a given substitution target.StackManipulation
initialize()
-
-
-
Field Detail
-
bootstrapMethod
private final MethodDescription.InDefinedShape bootstrapMethod
The bootstrap method.
-
delegate
private final MethodDescription.InDefinedShape delegate
The delegation target.
-
resolver
private final MemberSubstitution.Substitution.Chain.Step.ForDelegation.BootstrapArgumentResolver.Resolved resolver
The bootstrap argument resolver to use.
-
-
Constructor Detail
-
Resolved
protected Resolved(MethodDescription.InDefinedShape bootstrapMethod, MethodDescription.InDefinedShape delegate, MemberSubstitution.Substitution.Chain.Step.ForDelegation.BootstrapArgumentResolver.Resolved resolver)
Creates a resolved dispatcher of a dynamic method dispatcher.- Parameters:
bootstrapMethod
- The bootstrap method.delegate
- The delegation target.resolver
- The bootstrap argument resolver to use.
-
-
Method Detail
-
initialize
public StackManipulation initialize()
- Specified by:
initialize
in interfaceMemberSubstitution.Substitution.Chain.Step.ForDelegation.Dispatcher.Resolved
-
apply
public StackManipulation apply(TypeDescription receiver, ByteCodeElement.Member original, JavaConstant.MethodHandle methodHandle)
Creates a stack manipulation for a given substitution target.- Specified by:
apply
in interfaceMemberSubstitution.Substitution.Chain.Step.ForDelegation.Dispatcher.Resolved
- Parameters:
receiver
- The type upon which the substituted element is invoked upon.original
- The substituted element.methodHandle
- A method handle that describes the invocation.- Returns:
- A stack manipulation that executes the represented delegation.
-
-