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 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
FieldsModifier and TypeFieldDescriptionprivate final AssignerThe assigner to use.private final booleantrueif thethisreference should be included in the created array, if available.private final MethodDescriptionThe instrumented method.private final booleantrueifnullshould be assigned to the parameter if no arguments are available.private final MemberSubstitution.SourceThe source providing the reference.private final TypeDescription.GenericThe component type of the annotated parameter.private final Assigner.TypingThe typing to use. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedResolved(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
Modifier and TypeMethodDescriptionapply(TypeDescription receiver, ByteCodeElement.Member original, TypeList.Generic parameters, TypeDescription.Generic result, TypeDescription.Generic current, JavaConstant.MethodHandle methodHandle, Map<Integer, Integer> offsets, int offset) Applies this offset mapping.
-
Field Details
-
targetComponentType
The component type of the annotated parameter. -
typing
The typing to use. -
source
The source providing the reference. -
includeSelf
private final boolean includeSelftrueif thethisreference should be included in the created array, if available. -
nullIfEmpty
private final boolean nullIfEmptytrueifnullshould be assigned to the parameter if no arguments are available. -
assigner
The assigner to use. -
instrumentedMethod
The instrumented method.
-
-
Constructor Details
-
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 Details
-
apply
public StackManipulation apply(TypeDescription receiver, ByteCodeElement.Member original, TypeList.Generic parameters, TypeDescription.Generic result, TypeDescription.Generic current, JavaConstant.MethodHandle methodHandle, Map<Integer, Integer> offsets, int offset) Applies this offset mapping.- Specified by:
applyin 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.
-