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 AssignerassignerThe assigner to use.private booleanincludeSelftrueif thethisreference should be included in the created array, if available.private MethodDescriptioninstrumentedMethodThe instrumented method.private booleannullIfEmptytrueifnullshould be assigned to the parameter if no arguments are available.private MemberSubstitution.SourcesourceThe source providing the reference.private TypeDescription.GenerictargetComponentTypeThe component type of the annotated parameter.private Assigner.TypingtypingThe typing to use.
-
Constructor Summary
Constructors Modifier Constructor Description protectedResolved(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 StackManipulationapply(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
trueif thethisreference should be included in the created array, if available.
-
nullIfEmpty
private final boolean nullIfEmpty
trueifnullshould 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-trueif thethisreference should be included in the created array, if available.nullIfEmpty-trueifnullshould 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:
applyin 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.
-
-