protected static class RebaseImplementationTarget.RebasedMethodSpecialMethodInvocation extends Object implements Implementation.SpecialMethodInvocation
Implementation.SpecialMethodInvocation
which invokes a rebased method
as given by a MethodRebaseResolver
.Implementation.SpecialMethodInvocation.Illegal, Implementation.SpecialMethodInvocation.Simple
StackManipulation.Compound, StackManipulation.LegalTrivial, StackManipulation.Size
Modifier | Constructor and Description |
---|---|
protected |
RebasedMethodSpecialMethodInvocation(MethodRebaseResolver.Resolution resolution,
TypeDescription instrumentedType)
Creates a special method invocation for a rebased method.
|
Modifier and Type | Method and Description |
---|---|
StackManipulation.Size |
apply(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext)
Applies the stack manipulation that is described by this instance.
|
boolean |
equals(Object other) |
MethodDescription |
getMethodDescription()
Returns the method that represents this special method invocation.
|
TypeDescription |
getTypeDescription()
Returns the target type the represented method is invoked on.
|
int |
hashCode() |
boolean |
isValid()
Determines if this stack manipulation is valid.
|
static Implementation.SpecialMethodInvocation |
of(MethodRebaseResolver.Resolution resolution,
TypeDescription instrumentedType)
Creates a special method invocation for a rebased method if such an invocation is possible or otherwise
returns an illegal special method invocation.
|
String |
toString() |
protected RebasedMethodSpecialMethodInvocation(MethodRebaseResolver.Resolution resolution, TypeDescription instrumentedType)
resolution
- The resolution of the rebased method.instrumentedType
- The instrumented type on which this method is to be invoked.public static Implementation.SpecialMethodInvocation of(MethodRebaseResolver.Resolution resolution, TypeDescription instrumentedType)
resolution
- The resolution of the rebased method.instrumentedType
- The instrumented type on which this method is to be invoked.public MethodDescription getMethodDescription()
Implementation.SpecialMethodInvocation
Implementation.Target
.getMethodDescription
in interface Implementation.SpecialMethodInvocation
public TypeDescription getTypeDescription()
Implementation.SpecialMethodInvocation
getTypeDescription
in interface Implementation.SpecialMethodInvocation
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, Implementation.Context implementationContext)
StackManipulation
apply
in interface StackManipulation
methodVisitor
- The method visitor used to write the method implementation to.implementationContext
- The context of the current implementation.Copyright © 2014–2015. All rights reserved.