Package net.bytebuddy.asm
Class MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForArgument
- java.lang.Object
-
- net.bytebuddy.asm.MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForArgument
-
- All Implemented Interfaces:
MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping
- Enclosing interface:
- MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping
@Enhance public static class MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForArgument extends java.lang.Object implements MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping
An offset mapping that assigns an argument of either the instrumented method or the substituted expression.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classMemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForArgument.FactoryA factory for creating an offset mapping for a parameter value of either the instrumented method or the substituted element.protected static classMemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForArgument.ResolvedA resolved offset mapping to the parameter of either the instrumented method or the substituted element.-
Nested classes/interfaces inherited from interface net.bytebuddy.asm.MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping
MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForAllArguments, MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForArgument, MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForCurrent, MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForDynamicConstant, MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForField, MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForFieldHandle, MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForHandle, MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForOrigin, MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForSelfCallHandle, MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForStackManipulation, MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForStubValue, MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForThisReference
-
-
Field Summary
Fields Modifier and Type Field Description private intindexThe index of the parameter.private booleanoptionaltrueifnullor a primitive0should be assigned to the parameter if the provided index is not available.private MemberSubstitution.SourcesourceThe source providing the argument.private TypeDescription.GenerictargetTypeA description of the targeted type.private Assigner.TypingtypingThe typing to use ornullif the global typing setting should be applied.
-
Constructor Summary
Constructors Constructor Description ForArgument(TypeDescription.Generic targetType, int index, Assigner.Typing typing, MemberSubstitution.Source source, boolean optional)Creates a new offset mapping for an argument to either the substituted expression or the instrumented method.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.Resolvedresolve(Assigner assigner, Assigner.Typing typing, TypeDescription instrumentedType, MethodDescription instrumentedMethod)Resolves an offset mapping for a given instrumented method.
-
-
-
Field Detail
-
targetType
private final TypeDescription.Generic targetType
A description of the targeted type.
-
index
private final int index
The index of the parameter.
-
typing
@MaybeNull @ValueHandling(REVERSE_NULLABILITY) private final Assigner.Typing typing
The typing to use ornullif the global typing setting should be applied.
-
source
private final MemberSubstitution.Source source
The source providing the argument.
-
optional
private final boolean optional
trueifnullor a primitive0should be assigned to the parameter if the provided index is not available.
-
-
Constructor Detail
-
ForArgument
public ForArgument(TypeDescription.Generic targetType, int index, @MaybeNull Assigner.Typing typing, MemberSubstitution.Source source, boolean optional)
Creates a new offset mapping for an argument to either the substituted expression or the instrumented method.- Parameters:
targetType- A description of the targeted type.index- The index of the parameter.typing- The typing to use ornullif the global typing setting should be applied.source- The source providing the argument.optional-trueifnullor a primitive0should be assigned to the parameter if the provided index is not available.
-
-
Method Detail
-
resolve
public MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.Resolved resolve(Assigner assigner, Assigner.Typing typing, TypeDescription instrumentedType, MethodDescription instrumentedMethod)
Resolves an offset mapping for a given instrumented method.- Specified by:
resolvein interfaceMemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping- Parameters:
assigner- The assigner to use.typing- The typing to use if no explicit typing is specified.instrumentedType- The instrumented type.instrumentedMethod- The instrumented method.- Returns:
- A resolved version of this offset mapping.
-
-