@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.Stepreceiver - 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–2023. All rights reserved.