Class RebaseImplementationTarget.RebasedMethodInvocation
- java.lang.Object
-
- net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.AbstractBase
-
- net.bytebuddy.dynamic.scaffold.inline.RebaseImplementationTarget.RebasedMethodInvocation
-
- All Implemented Interfaces:
StackManipulation
,Implementation.SpecialMethodInvocation
- Enclosing class:
- RebaseImplementationTarget
protected static class RebaseImplementationTarget.RebasedMethodInvocation extends Implementation.SpecialMethodInvocation.AbstractBase
AImplementation.SpecialMethodInvocation
which invokes a rebased method as given by aMethodRebaseResolver
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.Implementation.SpecialMethodInvocation
Implementation.SpecialMethodInvocation.AbstractBase, Implementation.SpecialMethodInvocation.Illegal, Implementation.SpecialMethodInvocation.Simple
-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.bytecode.StackManipulation
StackManipulation.Compound, StackManipulation.Size, StackManipulation.Trivial
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
RebasedMethodInvocation(MethodDescription methodDescription, TypeDescription instrumentedType, StackManipulation stackManipulation)
Creates a new rebased method invocation.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StackManipulation.Size
apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext)
Applies the stack manipulation that is described by this instance.MethodDescription
getMethodDescription()
Returns the method that represents this special method invocation.TypeDescription
getTypeDescription()
Returns the target type the represented method is invoked on.protected static Implementation.SpecialMethodInvocation
of(MethodDescription resolvedMethod, TypeDescription instrumentedType, StackManipulation additionalArguments)
Creates a special method invocation for the given method.-
Methods inherited from class net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.AbstractBase
equals, hashCode, isValid
-
-
-
-
Constructor Detail
-
RebasedMethodInvocation
protected RebasedMethodInvocation(MethodDescription methodDescription, TypeDescription instrumentedType, StackManipulation stackManipulation)
Creates a new rebased method invocation.- Parameters:
methodDescription
- The method to invoke via a special method invocation.instrumentedType
- The instrumented type on which the method should be invoked on.stackManipulation
- The stack manipulation to execute in order to invoke the rebased method.
-
-
Method Detail
-
of
protected static Implementation.SpecialMethodInvocation of(MethodDescription resolvedMethod, TypeDescription instrumentedType, StackManipulation additionalArguments)
Creates a special method invocation for the given method.- Parameters:
resolvedMethod
- The rebased method to be invoked.instrumentedType
- The instrumented type on which the method is to be invoked if it is non-static.additionalArguments
- Any additional arguments that are to be provided to the rebased method.- Returns:
- A special method invocation of the rebased method.
-
getMethodDescription
public MethodDescription getMethodDescription()
Description copied from interface:Implementation.SpecialMethodInvocation
Returns the method that represents this special method invocation. This method can be different even for equal special method invocations, dependant on the method that was used to request such an invocation by the means of aImplementation.Target
.- Returns:
- The method description that describes this instances invocation target.
-
getTypeDescription
public TypeDescription getTypeDescription()
Description copied from interface:Implementation.SpecialMethodInvocation
Returns the target type the represented method is invoked on.- Returns:
- The type the represented method is invoked on.
-
apply
public StackManipulation.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext)
Description copied from interface:StackManipulation
Applies the stack manipulation that is described by this instance.- Parameters:
methodVisitor
- The method visitor used to write the method implementation to.implementationContext
- The context of the current implementation.- Returns:
- The changes to the size of the operand stack that are implied by this stack manipulation.
-
-