@HashCodeAndEqualsPlugin.Enhance public static class MethodCallProxy.AssignableSignatureCall extends Object implements StackManipulation
MethodCallProxy
for a given method an pushes such an object onto the call stack. For this purpose, all arguments of the proxied method
are loaded onto the stack what is only possible if this instance is used from a method with an identical signature such
as the target method itself.StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Size, StackManipulation.Trivial
Constructor and Description |
---|
AssignableSignatureCall(Implementation.SpecialMethodInvocation specialMethodInvocation,
boolean serializable)
Creates an operand stack assignment that creates a
MethodCallProxy for the
targetMethod and pushes this proxy object onto the stack. |
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 |
isValid()
Determines if this stack manipulation is valid.
|
public AssignableSignatureCall(Implementation.SpecialMethodInvocation specialMethodInvocation, boolean serializable)
MethodCallProxy
for the
targetMethod
and pushes this proxy object onto the stack.specialMethodInvocation
- The special method invocation which should be invoked by the created method
call proxy.serializable
- Determines if the generated proxy should be serializableProxy.public boolean isValid()
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)
apply
in interface StackManipulation
methodVisitor
- The method visitor used to write the method implementation to.implementationContext
- The context of the current implementation.Copyright © 2014–2018. All rights reserved.