Package net.bytebuddy.asm
Class MemberSubstitution.Replacement.Binding.Resolved
java.lang.Object
net.bytebuddy.asm.MemberSubstitution.Replacement.Binding.Resolved
- All Implemented Interfaces:
MemberSubstitution.Replacement.Binding
- Enclosing interface:
- MemberSubstitution.Replacement.Binding
@Enhance
public static class MemberSubstitution.Replacement.Binding.Resolved
extends Object
implements MemberSubstitution.Replacement.Binding
A binding that was resolved for an actual substitution.
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.bytebuddy.asm.MemberSubstitution.Replacement.Binding
MemberSubstitution.Replacement.Binding.Resolved, MemberSubstitution.Replacement.Binding.Unresolved
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final MethodDescription
The instrumented method.private final TypeDescription
The instrumented type.private final MemberSubstitution.Substitution
The substitution to apply.private final ByteCodeElement
The field or method that was accessed.private final TypeDescription
The type on which a field or method was accessed. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Resolved
(TypeDescription instrumentedType, MethodDescription instrumentedMethod, TypeDescription targetType, ByteCodeElement target, MemberSubstitution.Substitution substitution) Creates a new resolved binding. -
Method Summary
Modifier and TypeMethodDescriptionboolean
isBound()
Returnstrue
if this binding is resolved.make
(TypeList.Generic parameters, TypeDescription.Generic result, int freeOffset) Creates a stack manipulation that represents the substitution.
-
Field Details
-
instrumentedType
The instrumented type. -
instrumentedMethod
The instrumented method. -
targetType
The type on which a field or method was accessed. -
target
The field or method that was accessed. -
substitution
The substitution to apply.
-
-
Constructor Details
-
Resolved
protected Resolved(TypeDescription instrumentedType, MethodDescription instrumentedMethod, TypeDescription targetType, ByteCodeElement target, MemberSubstitution.Substitution substitution) Creates a new resolved binding.- Parameters:
instrumentedType
- The instrumented type.instrumentedMethod
- The instrumented method.targetType
- The type on which a field or method was accessed.target
- The field or method that was accessed.substitution
- The substitution to apply.
-
-
Method Details
-
isBound
public boolean isBound()Returnstrue
if this binding is resolved.- Specified by:
isBound
in interfaceMemberSubstitution.Replacement.Binding
- Returns:
true
if this binding is resolved.
-
make
public StackManipulation make(TypeList.Generic parameters, TypeDescription.Generic result, int freeOffset) Creates a stack manipulation that represents the substitution. This method can only be called for actually bound bindings.- Specified by:
make
in interfaceMemberSubstitution.Replacement.Binding
- Parameters:
parameters
- The parameters that are accessible to the substitution target.result
- The result that is expected from the substitution target orvoid
if none is expected.freeOffset
- The first offset that can be used for storing local variables.- Returns:
- A stack manipulation that represents the replacement.
-