Package net.bytebuddy.asm
Class MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForArgument.Resolved
- java.lang.Object
-
- net.bytebuddy.asm.MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForArgument.Resolved
-
- All Implemented Interfaces:
MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.Resolved
@Enhance protected static class MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForArgument.Resolved extends java.lang.Object implements MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.Resolved
A resolved offset mapping to the parameter of either the instrumented method or the substituted element.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.asm.MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.Resolved
MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.Resolved.ForStackManipulation
-
-
Field Summary
Fields Modifier and Type Field Description private Assigner
assigner
The assigner to use.private int
index
The index of the parameter.private MethodDescription
instrumentedMethod
The instrumented method.private boolean
optional
true
ifnull
or a primitive0
should be assigned to the parameter if the provided index is not available.private MemberSubstitution.Source
source
The source providing the argument.private TypeDescription.Generic
targetType
The targeted type.private Assigner.Typing
typing
The typing to use when assigning.
-
Constructor Summary
Constructors Modifier Constructor Description protected
Resolved(TypeDescription.Generic targetType, int index, Assigner.Typing typing, MemberSubstitution.Source source, boolean optional, Assigner assigner, MethodDescription instrumentedMethod)
Creates a resolved offset mapping for assigning a parameter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StackManipulation
apply(TypeDescription receiver, ByteCodeElement.Member original, TypeList.Generic parameters, TypeDescription.Generic result, TypeDescription.Generic current, JavaConstant.MethodHandle methodHandle, java.util.Map<java.lang.Integer,java.lang.Integer> offsets, int offset)
Applies this offset mapping.
-
-
-
Field Detail
-
targetType
private final TypeDescription.Generic targetType
The targeted type.
-
index
private final int index
The index of the parameter.
-
typing
private final Assigner.Typing typing
The typing to use when assigning.
-
source
private final MemberSubstitution.Source source
The source providing the argument.
-
optional
private final boolean optional
true
ifnull
or a primitive0
should be assigned to the parameter if the provided index is not available.
-
assigner
private final Assigner assigner
The assigner to use.
-
instrumentedMethod
private final MethodDescription instrumentedMethod
The instrumented method.
-
-
Constructor Detail
-
Resolved
protected Resolved(TypeDescription.Generic targetType, int index, Assigner.Typing typing, MemberSubstitution.Source source, boolean optional, Assigner assigner, MethodDescription instrumentedMethod)
Creates a resolved offset mapping for assigning a parameter.- Parameters:
targetType
- The targeted type.index
- The index of the parameter.typing
- The typing to use when assigning.source
- The source providing the argument.optional
-true
ifnull
or a primitive0
should be assigned to the parameter if the provided index is not available.assigner
- The assigner to use.instrumentedMethod
- The instrumented method.
-
-
Method Detail
-
apply
public StackManipulation apply(TypeDescription receiver, ByteCodeElement.Member original, TypeList.Generic parameters, TypeDescription.Generic result, TypeDescription.Generic current, JavaConstant.MethodHandle methodHandle, java.util.Map<java.lang.Integer,java.lang.Integer> offsets, int offset)
Applies this offset mapping.- Specified by:
apply
in interfaceMemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.Resolved
- Parameters:
receiver
- The target type of the invoked delegate.original
- The substituted element.parameters
- The parameters that are supplied to the substituted expression.result
- The resulting type of the substituted expression.current
- The type of the value that was produced by the previous step in the substitution chain.methodHandle
- A method handle that represents the substituted element.offsets
- The offsets of the supplied parameters.offset
- The offset of the value that was produced by the previous step.- Returns:
- An appropriate stack manipulation.
-
-