Package net.bytebuddy.implementation.bind
@ByDefault
package net.bytebuddy.implementation.bind
The types and classes of this package are responsible for binding a method call to calling another method.
-
ClassDescriptionImplementation of an
MethodDelegationBinder.AmbiguityResolver
that resolves two conflicting bindings by considering most-specific types of target method parameters in the same manner as the Java compiler resolves bindings of overloaded method.This token is used to mark a one-to-one binding of a source method parameter to a target method parameter.A representation of the precedence of a most specific primitive type in the Java programming language.This ambiguity resolver matches that method out of two methods that is declared by the more specific type.A method delegation binder is responsible for creating a method binding for a source method to a target method.Implementations of this interface are able to attempt the resolution of two successful bindings of a method to two different target methods in order to identify a dominating binding.A chain ofMethodDelegationBinder.AmbiguityResolver
s that are applied in the given order until two bindings can be resolved.An ambiguity resolver that always resolves in the specified direction.An ambiguity resolver that does not attempt to resolve a conflicting binding.A resolution state of an attempt to resolve two conflicting bindings.A binding resolver is responsible to choose a method binding between several possible candidates.A default implementation of a binding resolver that fully relies on anMethodDelegationBinder.AmbiguityResolver
.Binds a method using another resolver and prints the selected binding to aPrintStream
.A binding resolver that only binds a method if it has a unique binding.A binding attempt created by aMethodDelegationBinder
.A mutable builder that allows to compose aMethodDelegationBinder.MethodBinding
by adding parameter bindings incrementally.A method binding that was created by aMethodDelegationBinder.MethodBinding.Builder
.Representation of an attempt to bind a source method to a target method that is not applicable.Implementations are used as delegates for invoking a method that was bound using aMethodDelegationBinder
.A simple method invocation that merely uses the most general form of method invocation as provided byMethodInvocation
.A method invocation that enforces a virtual invocation that is dispatched on a given type.A binding attempt for a single parameter.An anonymous binding of a target method parameter.A singleton representation of an illegal binding for a method parameter.A uniquely identifiable parameter binding for a target method.A helper class that allows to identify a best binding for a given type and source method choosing from a list of given target methods by using a givenMethodDelegationBinder
and anMethodDelegationBinder.AmbiguityResolver
.A method delegation that was compiled to a target method.A compiled method delegation binder that only yields illegal bindings.A termination handler is responsible for terminating a method delegation.Responsible for creating aStackManipulation
that is applied after the interception method is applied.Implementation of anMethodDelegationBinder.AmbiguityResolver
that resolves conflicting bindings by considering equality of a target method's name as an indicator for a dominant binding.ThisMethodDelegationBinder.AmbiguityResolver
selects the method with more arguments.