@HashCodeAndEqualsPlugin.Enhance public abstract static class MemberSubstitution.Substitution.Chain.Step.ForField extends Object implements MemberSubstitution.Substitution.Chain.Step
Modifier and Type | Class and Description |
---|---|
static class |
MemberSubstitution.Substitution.Chain.Step.ForField.Read
A step for reading a field.
|
static class |
MemberSubstitution.Substitution.Chain.Step.ForField.Write
A step for writing to a field.
|
MemberSubstitution.Substitution.Chain.Step.Factory, MemberSubstitution.Substitution.Chain.Step.ForArgumentLoading, MemberSubstitution.Substitution.Chain.Step.ForArgumentSubstitution, MemberSubstitution.Substitution.Chain.Step.ForAssignment, MemberSubstitution.Substitution.Chain.Step.ForDelegation, MemberSubstitution.Substitution.Chain.Step.ForField, MemberSubstitution.Substitution.Chain.Step.ForInvocation, MemberSubstitution.Substitution.Chain.Step.OfOriginalExpression, MemberSubstitution.Substitution.Chain.Step.Resolution, MemberSubstitution.Substitution.Chain.Step.Simple
Modifier and Type | Field and Description |
---|---|
protected Assigner |
assigner
The assigner to use.
|
protected FieldDescription |
fieldDescription
The field description accessed in this step.
|
protected Assigner.Typing |
typing
The typing to use when assigning.
|
Modifier | Constructor and Description |
---|---|
protected |
ForField(FieldDescription fieldDescription,
Assigner assigner,
Assigner.Typing typing)
Creates a new step for a field access.
|
Modifier and Type | Method and Description |
---|---|
protected abstract MemberSubstitution.Substitution.Chain.Step.Resolution |
doResolve(ByteCodeElement.Member original,
TypeList.Generic parameters,
Map<Integer,Integer> offsets,
StackManipulation stackManipulation)
Completes the resolution.
|
MemberSubstitution.Substitution.Chain.Step.Resolution |
resolve(TypeDescription receiver,
ByteCodeElement.Member original,
TypeList.Generic parameters,
TypeDescription.Generic result,
JavaConstant.MethodHandle methodHandle,
StackManipulation stackManipulation,
TypeDescription.Generic current,
Map<Integer,Integer> offsets,
int freeOffset)
Resolves this step of a substitution chain.
|
protected final FieldDescription fieldDescription
protected final Assigner assigner
protected final Assigner.Typing typing
protected ForField(FieldDescription fieldDescription, Assigner assigner, Assigner.Typing typing)
fieldDescription
- The field description accessed in this step.assigner
- The assigner to use.typing
- The typing to use when assigning.public MemberSubstitution.Substitution.Chain.Step.Resolution resolve(TypeDescription receiver, ByteCodeElement.Member original, TypeList.Generic parameters, TypeDescription.Generic result, JavaConstant.MethodHandle methodHandle, StackManipulation stackManipulation, TypeDescription.Generic current, Map<Integer,Integer> offsets, int freeOffset)
resolve
in interface MemberSubstitution.Substitution.Chain.Step
receiver
- The target result type of the substitution.original
- The byte code element that is currently substituted.parameters
- The parameters of the substituted element.result
- The resulting type of the substituted element.methodHandle
- A method handle of the stackManipulation invocation that is being substituted.stackManipulation
- The byte code instruction that is being substituted.current
- The current type of the applied substitution that is the top element on the operand stack.offsets
- The arguments of the substituted byte code element mapped to their local variable offsets.freeOffset
- The first free offset in the local variable array.protected abstract MemberSubstitution.Substitution.Chain.Step.Resolution doResolve(ByteCodeElement.Member original, TypeList.Generic parameters, Map<Integer,Integer> offsets, StackManipulation stackManipulation)
original
- The byte code element that is currently substituted.parameters
- The parameters of the substituted element.offsets
- The arguments of the substituted byte code element mapped to their local variable offsets.stackManipulation
- A stack manipulation to prepare the field access.Copyright © 2014–2024. All rights reserved.