@HashCodeAndEqualsPlugin.Enhance(includeSyntheticFields=true) protected class FieldProxy.Binder.AccessorProxy extends Object implements AuxiliaryType, StackManipulation
AuxiliaryType.NamingStrategy, AuxiliaryType.SignatureRelevant
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 stores the accessed instance if any.
|
DEFAULT_TYPE_MODIFIER
Modifier | Constructor and Description |
---|---|
protected |
AccessorProxy(FieldDescription fieldDescription,
TypeDescription instrumentedType,
FieldProxy.Binder.FieldResolver fieldResolver,
Assigner assigner,
boolean serializableProxy) |
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.
|
DynamicType |
make(String auxiliaryTypeName,
ClassFileVersion classFileVersion,
MethodAccessorFactory methodAccessorFactory)
Creates a new auxiliary type.
|
protected static final String FIELD_NAME
protected AccessorProxy(FieldDescription fieldDescription, TypeDescription instrumentedType, FieldProxy.Binder.FieldResolver fieldResolver, Assigner assigner, boolean serializableProxy)
fieldDescription
- The field that is being accessed.instrumentedType
- The type which is accessed.fieldResolver
- The field resolver to use.assigner
- The assigner to use.serializableProxy
- true
if the generated proxy should be serializable.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 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–2021. All rights reserved.