Package net.bytebuddy.asm
Class MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForAllArguments.Resolved
- java.lang.Object
-
- net.bytebuddy.asm.MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForAllArguments.Resolved
-
- All Implemented Interfaces:
MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.Resolved
- Enclosing class:
- MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForAllArguments
@Enhance protected static class MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForAllArguments.Resolved extends java.lang.Object implements MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.Resolved
A resolves offset mapping for an array containing all arguments.
-
-
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 boolean
includeSelf
true
if thethis
reference should be included in the created array, if available.private MethodDescription
instrumentedMethod
The instrumented method.private boolean
nullIfEmpty
true
ifnull
should be assigned to the parameter if no arguments are available.private MemberSubstitution.Source
source
The source providing the reference.private TypeDescription.Generic
targetComponentType
The component type of the annotated parameter.private Assigner.Typing
typing
The typing to use.
-
Constructor Summary
Constructors Modifier Constructor Description protected
Resolved(TypeDescription.Generic targetComponentType, Assigner.Typing typing, MemberSubstitution.Source source, boolean includeSelf, boolean nullIfEmpty, Assigner assigner, MethodDescription instrumentedMethod)
Creates a resolved version for an offset mapping of all arguments.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StackManipulation
apply(MemberSubstitution.Target target, 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
-
targetComponentType
private final TypeDescription.Generic targetComponentType
The component type of the annotated parameter.
-
typing
private final Assigner.Typing typing
The typing to use.
-
source
private final MemberSubstitution.Source source
The source providing the reference.
-
includeSelf
private final boolean includeSelf
true
if thethis
reference should be included in the created array, if available.
-
nullIfEmpty
private final boolean nullIfEmpty
true
ifnull
should be assigned to the parameter if no arguments are 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 targetComponentType, Assigner.Typing typing, MemberSubstitution.Source source, boolean includeSelf, boolean nullIfEmpty, Assigner assigner, MethodDescription instrumentedMethod)
Creates a resolved version for an offset mapping of all arguments.- Parameters:
targetComponentType
- The component type of the annotated parameter.typing
- The typing to use.source
- The source providing the reference.includeSelf
-true
if thethis
reference should be included in the created array, if available.nullIfEmpty
-true
ifnull
should be assigned to the parameter if no arguments are available.assigner
- The assigner to use.instrumentedMethod
- The instrumented method.
-
-
Method Detail
-
apply
public StackManipulation apply(MemberSubstitution.Target target, 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:
target
- The target member of invokedynamic invocation.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.
-
-