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 Classes Modifier and Type Interface Description static class
MemberSubstitution.Substitution.Chain
A substitution chain allows for chaining multiple substitution steps for a byte code element being replaced.static interface
MemberSubstitution.Substitution.Factory
A factory for creating a substitution for an instrumented method.static class
MemberSubstitution.Substitution.ForFieldAccess
A substitution with a field access.static class
MemberSubstitution.Substitution.ForMethodInvocation
A substitution with a method invocation.static class
MemberSubstitution.Substitution.ForValue
A substitution that loads a fixed value.static class
MemberSubstitution.Substitution.Stubbing
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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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.
-
-
-
Method Detail
-
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.
-
-