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 java.lang.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
Fields Modifier and Type Field Description private MethodDescription
instrumentedMethod
The instrumented method.private TypeDescription
instrumentedType
The instrumented type.private MemberSubstitution.Substitution
substitution
The substitution to apply.private ByteCodeElement
target
The field or method that was accessed.private TypeDescription
targetType
The type on which a field or method was accessed.
-
Constructor Summary
Constructors Modifier Constructor Description protected
Resolved(TypeDescription instrumentedType, MethodDescription instrumentedMethod, TypeDescription targetType, ByteCodeElement target, MemberSubstitution.Substitution substitution)
Creates a new resolved binding.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isBound()
Returnstrue
if this binding is resolved.StackManipulation
make(TypeList.Generic parameters, TypeDescription.Generic result, int freeOffset)
Creates a stack manipulation that represents the substitution.
-
-
-
Field Detail
-
instrumentedType
private final TypeDescription instrumentedType
The instrumented type.
-
instrumentedMethod
private final MethodDescription instrumentedMethod
The instrumented method.
-
targetType
private final TypeDescription targetType
The type on which a field or method was accessed.
-
target
private final ByteCodeElement target
The field or method that was accessed.
-
substitution
private final MemberSubstitution.Substitution substitution
The substitution to apply.
-
-
Constructor Detail
-
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 Detail
-
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.
-
-