@HashCodeAndEqualsPlugin.Enhance protected static class Morph.Binder.RedirectionProxy extends StackManipulation.AbstractBase implements AuxiliaryType
Modifier and Type | Class and Description |
---|---|
protected static class |
Morph.Binder.RedirectionProxy.InstanceFieldConstructor
Creates an instance of the proxy when instrumenting an instance method.
|
protected static class |
Morph.Binder.RedirectionProxy.MethodCall
Implements a the method call of the morphing method.
|
protected static class |
Morph.Binder.RedirectionProxy.StaticFieldConstructor
Creates an instance of the proxy when instrumenting a static method.
|
AuxiliaryType.NamingStrategy, AuxiliaryType.SignatureRelevant
StackManipulation.AbstractBase, StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Simple, StackManipulation.Size, StackManipulation.Trivial
Modifier and Type | Field and Description |
---|---|
protected static String |
FIELD_NAME
The name of the field that carries an instance for invoking a super method on.
|
DEFAULT_TYPE_MODIFIER
Modifier | Constructor and Description |
---|---|
protected |
RedirectionProxy(TypeDescription morphingType,
TypeDescription instrumentedType,
Implementation.SpecialMethodInvocation specialMethodInvocation,
Assigner assigner,
boolean serializableProxy)
Creates a new redirection proxy.
|
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.
|
String |
getSuffix()
Produces a suffix that gives this auxiliary type a stable name.
|
DynamicType |
make(String auxiliaryTypeName,
ClassFileVersion classFileVersion,
MethodAccessorFactory methodAccessorFactory)
Creates a new auxiliary type.
|
isValid
protected static final String FIELD_NAME
protected RedirectionProxy(TypeDescription morphingType, TypeDescription instrumentedType, Implementation.SpecialMethodInvocation specialMethodInvocation, Assigner assigner, boolean serializableProxy)
morphingType
- The interface type that is implemented by the generated proxy.instrumentedType
- The type that is instrumented on which the super method is invoked.specialMethodInvocation
- The special method invocation to be executed by the morphing type via
an accessor on the instrumented type.assigner
- The assigner to use.serializableProxy
- true
if the proxy should be serializable.public String getSuffix()
getSuffix
in interface AuxiliaryType
public DynamicType make(String auxiliaryTypeName, ClassFileVersion classFileVersion, MethodAccessorFactory methodAccessorFactory)
make
in interface AuxiliaryType
auxiliaryTypeName
- The fully qualified binary name for this auxiliary type. The type should be in
the same package than the instrumented type this auxiliary type is providing services
to in order to allow package-private access.classFileVersion
- The class file version the auxiliary class should be written in.methodAccessorFactory
- A factory for accessor methods.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–2022. All rights reserved.