Package net.bytebuddy.asm
Interface MemberSubstitution.Substitution
- All Known Implementing Classes:
MemberSubstitution.Substitution.Chain
,MemberSubstitution.Substitution.ForFieldAccess
,MemberSubstitution.Substitution.ForMethodInvocation
,MemberSubstitution.Substitution.ForValue
,MemberSubstitution.Substitution.Stubbing
- Enclosing class:
MemberSubstitution
public static interface MemberSubstitution.Substitution
A substitution replaces or enhances an interaction with a field or method within an instrumented method.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic class
A substitution chain allows for chaining multiple substitution steps for a byte code element being replaced.static interface
A factory for creating a substitution for an instrumented method.static class
A substitution with a field access.static class
A substitution with a method invocation.static class
A substitution that loads a fixed value.static enum
A substitution that drops any field or method access and returns the expected return type's default value, i.enull
or zero for primitive types. -
Method Summary
Modifier and TypeMethodDescriptionresolve
(TypeDescription receiver, ByteCodeElement.Member original, TypeList.Generic parameters, TypeDescription.Generic result, JavaConstant.MethodHandle methodHandle, StackManipulation stackManipulation, int freeOffset) Resolves this substitution into a stack manipulation.
-
Method Details
-
resolve
StackManipulation resolve(TypeDescription receiver, ByteCodeElement.Member original, TypeList.Generic parameters, TypeDescription.Generic result, JavaConstant.MethodHandle methodHandle, StackManipulation stackManipulation, int freeOffset) Resolves this substitution into a stack manipulation.- Parameters:
receiver
- The target type on which a member is accessed.original
- The field, method or constructor that is substituted.parameters
- All parameters that serve as input to this access.result
- The result that is expected from the interaction orvoid
if no result is expected.methodHandle
- A method handle describing the substituted expression.stackManipulation
- The original byte code expression that is being executed.freeOffset
- The first free offset of the local variable array that can be used for storing values.- Returns:
- A stack manipulation that represents the access.
-