protected static class RebaseImplementationTarget.RebasedMethodInvocation extends Implementation.SpecialMethodInvocation.AbstractBase
Implementation.SpecialMethodInvocation
which invokes a rebased method
as given by a MethodRebaseResolver
.Implementation.SpecialMethodInvocation.AbstractBase, Implementation.SpecialMethodInvocation.Illegal, Implementation.SpecialMethodInvocation.Simple
StackManipulation.Compound, StackManipulation.Size, StackManipulation.Trivial
Modifier | Constructor and Description |
---|---|
protected |
RebasedMethodInvocation(MethodDescription methodDescription,
TypeDescription instrumentedType,
StackManipulation stackManipulation)
Creates a new rebased method invocation.
|
Modifier and Type | Method and Description |
---|---|
StackManipulation.Size |
apply(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.
|
equals, hashCode, isValid
protected RebasedMethodInvocation(MethodDescription methodDescription, TypeDescription instrumentedType, StackManipulation stackManipulation)
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.protected static Implementation.SpecialMethodInvocation of(MethodDescription resolvedMethod, TypeDescription instrumentedType, StackManipulation additionalArguments)
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.public MethodDescription getMethodDescription()
Implementation.SpecialMethodInvocation
Implementation.Target
.public TypeDescription getTypeDescription()
Implementation.SpecialMethodInvocation
public StackManipulation.Size apply(MethodVisitor methodVisitor, Implementation.Context implementationContext)
StackManipulation
methodVisitor
- The method visitor used to write the method implementation to.implementationContext
- The context of the current implementation.Copyright © 2014–2017. All rights reserved.