Interface MemberSubstitution.Substitution.Chain.Step<U extends MemberSubstitution.Target>
- Type Parameters:
U- The type of the matched target.
- All Known Implementing Classes:
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.ForField.Read, MemberSubstitution.Substitution.Chain.Step.ForField.Write, MemberSubstitution.Substitution.Chain.Step.ForInvocation, MemberSubstitution.Substitution.Chain.Step.OfOriginalExpression, MemberSubstitution.Substitution.Chain.Step.Simple
- Enclosing class:
MemberSubstitution.Substitution.Chain<S extends MemberSubstitution.Target>
public static interface MemberSubstitution.Substitution.Chain.Step<U extends MemberSubstitution.Target>
Represents a step of a substitution chain.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceResolves a substitution for an instrumented method.static classA step that loads an argument to a method as the current chain value.static classA step that substitutes an argument of a given index with a compatible type.static classA step within a substitution chain that converts the current type to another type by casting.static classA step that invokes a delegation method based on annotations on the parameters of the targeted method.static classCreates a step for a field access.static classA step for invoking a method or constructor.static enumA step that executes the original method invocation or field access.static interfaceA resolved substitution step.static classA simple substitution step within a substitution chain. -
Method Summary
Modifier and TypeMethodDescriptionresolve(U target, 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.
-
Method Details
-
resolve
MemberSubstitution.Substitution.Chain.Step.Resolution resolve(U target, 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.- 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.
-