@HashCodeAndEqualsPlugin.Enhance public static class MemberSubstitution.Substitution.Chain.Step.Simple extends Object implements MemberSubstitution.Substitution.Chain.Step, MemberSubstitution.Substitution.Chain.Step.Resolution, MemberSubstitution.Substitution.Chain.Step.Factory
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
Constructor and Description |
---|
Simple(StackManipulation stackManipulation,
Type resultType)
Creates a new simple substitution step.
|
Simple(StackManipulation stackManipulation,
TypeDescription.Generic resultType)
Creates a new simple substitution step.
|
Modifier and Type | Method and Description |
---|---|
TypeDescription.Generic |
getResultType()
Returns the resulting type of the substitution or
void if no resulting value is applied. |
StackManipulation |
getStackManipulation()
Returns the stack manipulation to apply the substitution.
|
MemberSubstitution.Substitution.Chain.Step |
make(Assigner assigner,
Assigner.Typing typing,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod)
Creates a substitution step for an instrumented method.
|
static MemberSubstitution.Substitution.Chain.Step.Factory |
of(Object value)
Resolves a compile-time constant as the next step value.
|
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.
|
public Simple(StackManipulation stackManipulation, Type resultType)
stackManipulation
- The stack manipulation to apply.resultType
- The resulting type of applying the stack manipulation.public Simple(StackManipulation stackManipulation, TypeDescription.Generic resultType)
stackManipulation
- The stack manipulation to apply.resultType
- The resulting type of applying the stack manipulation.public static MemberSubstitution.Substitution.Chain.Step.Factory of(Object value)
value
- The compile-time constant to resolve.public MemberSubstitution.Substitution.Chain.Step make(Assigner assigner, Assigner.Typing typing, TypeDescription instrumentedType, MethodDescription instrumentedMethod)
make
in interface MemberSubstitution.Substitution.Chain.Step.Factory
assigner
- The assigner to use.typing
- The typing to use.instrumentedType
- The instrumented type.instrumentedMethod
- The instrumented method.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.public StackManipulation getStackManipulation()
getStackManipulation
in interface MemberSubstitution.Substitution.Chain.Step.Resolution
public TypeDescription.Generic getResultType()
void
if no resulting value is applied.getResultType
in interface MemberSubstitution.Substitution.Chain.Step.Resolution
void
if no resulting value is applied.Copyright © 2014–2024. All rights reserved.