Package net.bytebuddy.asm
Class MemberSubstitution.Substitution.Chain.Step.ForArgumentLoading
- java.lang.Object
-
- net.bytebuddy.asm.MemberSubstitution.Substitution.Chain.Step.ForArgumentLoading
-
- All Implemented Interfaces:
MemberSubstitution.Substitution.Chain.Step<MemberSubstitution.Target>
,MemberSubstitution.Substitution.Chain.Step.Factory<MemberSubstitution.Target>
- Enclosing interface:
- MemberSubstitution.Substitution.Chain.Step<U extends MemberSubstitution.Target>
@Enhance public static class MemberSubstitution.Substitution.Chain.Step.ForArgumentLoading extends java.lang.Object implements MemberSubstitution.Substitution.Chain.Step<MemberSubstitution.Target>, MemberSubstitution.Substitution.Chain.Step.Factory<MemberSubstitution.Target>
A step that loads an argument to a method as the current chain value.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
MemberSubstitution.Substitution.Chain.Step.ForArgumentLoading.OfInstrumentedMethod
A factory that resolves a given argument of the instrumented method.protected static class
MemberSubstitution.Substitution.Chain.Step.ForArgumentLoading.OfInstrumentedMethodThis
A factory that resolves thethis
reference of the instrumented method.-
Nested classes/interfaces inherited from interface net.bytebuddy.asm.MemberSubstitution.Substitution.Chain.Step
MemberSubstitution.Substitution.Chain.Step.Factory<V extends MemberSubstitution.Target>, 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
-
-
Field Summary
Fields Modifier and Type Field Description private int
index
The index of the argument to substitute.
-
Constructor Summary
Constructors Modifier Constructor Description protected
ForArgumentLoading(int index)
Creates an argument loading step.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description MemberSubstitution.Substitution.Chain.Step<MemberSubstitution.Target>
make(Assigner assigner, Assigner.Typing typing, TypeDescription instrumentedType, MethodDescription instrumentedMethod)
Creates a substitution step for an instrumented method.static MemberSubstitution.Substitution.Chain.Step.Factory<MemberSubstitution.Target>
ofInstrumentedMethod(int index)
Creates a factory that loads the argument for the instrumented method's parameter of the specified index.static MemberSubstitution.Substitution.Chain.Step.Factory<MemberSubstitution.Target>
ofTarget(int index)
Creates a factory that loads the argument for the targeted value's parameter of the specified index.static MemberSubstitution.Substitution.Chain.Step.Factory<MemberSubstitution.Target>
ofThis()
Creates a factory that loads thethis
reference of the instrumented method.MemberSubstitution.Substitution.Chain.Step.Resolution
resolve(MemberSubstitution.Target target, TypeList.Generic parameters, TypeDescription.Generic result, JavaConstant.MethodHandle methodHandle, StackManipulation stackManipulation, TypeDescription.Generic current, java.util.Map<java.lang.Integer,java.lang.Integer> offsets, int freeOffset)
Resolves this step of a substitution chain.
-
-
-
Method Detail
-
ofTarget
public static MemberSubstitution.Substitution.Chain.Step.Factory<MemberSubstitution.Target> ofTarget(int index)
Creates a factory that loads the argument for the targeted value's parameter of the specified index.- Parameters:
index
- The index to load.- Returns:
- An appropriate factory.
-
ofInstrumentedMethod
public static MemberSubstitution.Substitution.Chain.Step.Factory<MemberSubstitution.Target> ofInstrumentedMethod(int index)
Creates a factory that loads the argument for the instrumented method's parameter of the specified index.- Parameters:
index
- The index to load.- Returns:
- An appropriate factory.
-
ofThis
public static MemberSubstitution.Substitution.Chain.Step.Factory<MemberSubstitution.Target> ofThis()
Creates a factory that loads thethis
reference of the instrumented method.- Returns:
- An appropriate factory.
-
make
public MemberSubstitution.Substitution.Chain.Step<MemberSubstitution.Target> make(Assigner assigner, Assigner.Typing typing, TypeDescription instrumentedType, MethodDescription instrumentedMethod)
Creates a substitution step for an instrumented method.- Specified by:
make
in interfaceMemberSubstitution.Substitution.Chain.Step.Factory<MemberSubstitution.Target>
- Parameters:
assigner
- The assigner to use.typing
- The typing to use.instrumentedType
- The instrumented type.instrumentedMethod
- The instrumented method.- Returns:
- The substitution step to apply.
-
resolve
public MemberSubstitution.Substitution.Chain.Step.Resolution resolve(MemberSubstitution.Target target, TypeList.Generic parameters, TypeDescription.Generic result, JavaConstant.MethodHandle methodHandle, StackManipulation stackManipulation, TypeDescription.Generic current, java.util.Map<java.lang.Integer,java.lang.Integer> offsets, int freeOffset)
Resolves this step of a substitution chain.- Specified by:
resolve
in interfaceMemberSubstitution.Substitution.Chain.Step<MemberSubstitution.Target>
- Parameters:
target
- The target member of invokedynamic invocation.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.- Returns:
- A resolved substitution step for the supplied inputs.
-
-