Package net.bytebuddy.asm
Class MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForThisReference.Resolved
java.lang.Object
net.bytebuddy.asm.MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForThisReference.Resolved
- All Implemented Interfaces:
MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.Resolved
- Enclosing class:
MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForThisReference
@Enhance
protected static class MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.ForThisReference.Resolved
extends Object
implements MemberSubstitution.Substitution.Chain.Step.ForDelegation.OffsetMapping.Resolved
A resolved offset mapping for resolving the
this reference.-
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 MethodDescriptionThe instrumented method.private final booleantrueifnullor a primitive0should be assigned to the parameter if nothisreference is available.private final MemberSubstitution.SourceThe source providing the reference.private final TypeDescription.GenericThe targeted type.private final Assigner.TypingThe typing to use.. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedResolved(TypeDescription.Generic targetType, Assigner.Typing typing, MemberSubstitution.Source source, boolean optional, Assigner assigner, MethodDescription instrumentedMethod) Creates a resolved offset mapping for assigning thethisreference. -
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
-
targetType
The targeted type. -
typing
The typing to use.. -
source
The source providing the reference. -
optional
private final boolean optionaltrueifnullor a primitive0should be assigned to the parameter if nothisreference is available. -
assigner
The assigner to use. -
instrumentedMethod
The instrumented method.
-
-
Constructor Details
-
Resolved
protected Resolved(TypeDescription.Generic targetType, Assigner.Typing typing, MemberSubstitution.Source source, boolean optional, Assigner assigner, MethodDescription instrumentedMethod) Creates a resolved offset mapping for assigning thethisreference.- Parameters:
targetType- The targeted type.typing- The typing to use.source- The source providing the reference.optional-trueifnullor a primitive0should be assigned to the parameter if nothisreference is 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.
-