protected class MethodInvocation.Invocation extends Object implements MethodInvocation.WithImplicitInvocationTargetType
StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.LegalTrivial, StackManipulation.Size
Modifier | Constructor and Description |
---|---|
protected |
Invocation(MethodDescription methodDescription)
Creates an invocation of a given method on its declaring type as an invocation target.
|
protected |
Invocation(MethodDescription methodDescription,
TypeDescription typeDescription)
Creates an invocation of a given method on a given invocation target type.
|
Modifier and Type | Method and Description |
---|---|
StackManipulation.Size |
apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext)
Applies the stack manipulation that is described by this instance.
|
boolean |
equals(Object other) |
int |
hashCode() |
boolean |
isValid()
Determines if this stack manipulation is valid.
|
StackManipulation |
special(TypeDescription invocationTarget)
Transforms this method invocation into a special invocation on the given type.
|
String |
toString() |
StackManipulation |
virtual(TypeDescription invocationTarget)
Transforms this method invocation into a virtual (or interface) method invocation on the given type.
|
protected Invocation(MethodDescription methodDescription)
methodDescription
- The method to be invoked.protected Invocation(MethodDescription methodDescription, TypeDescription typeDescription)
methodDescription
- The method to be invoked.typeDescription
- The type on which this method is to be invoked.public boolean isValid()
StackManipulation
isValid
in interface StackManipulation
false
, this manipulation cannot be applied and should throw an exception.public StackManipulation.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Instrumentation.Context instrumentationContext)
StackManipulation
apply
in interface StackManipulation
methodVisitor
- The method visitor used to write the method implementation to.instrumentationContext
- The context of the current instrumentation.public StackManipulation virtual(TypeDescription invocationTarget)
MethodInvocation.WithImplicitInvocationTargetType
virtual
in interface MethodInvocation.WithImplicitInvocationTargetType
invocationTarget
- The type on which the method is to be invoked virtually on.public StackManipulation special(TypeDescription invocationTarget)
MethodInvocation.WithImplicitInvocationTargetType
special
in interface MethodInvocation.WithImplicitInvocationTargetType
invocationTarget
- The type on which the method is to be invoked specially on.Copyright © 2014. All rights reserved.