Package net.bytebuddy.asm
Class MemberSubstitution.Substitution.ForValue
java.lang.Object
net.bytebuddy.asm.MemberSubstitution.Substitution.ForValue
- All Implemented Interfaces:
MemberSubstitution.Substitution
,MemberSubstitution.Substitution.Factory
- Enclosing interface:
MemberSubstitution.Substitution
@Enhance
public static class MemberSubstitution.Substitution.ForValue
extends Object
implements MemberSubstitution.Substitution, MemberSubstitution.Substitution.Factory
A substitution that loads a fixed value.
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.bytebuddy.asm.MemberSubstitution.Substitution
MemberSubstitution.Substitution.Chain, MemberSubstitution.Substitution.Factory, MemberSubstitution.Substitution.ForFieldAccess, MemberSubstitution.Substitution.ForMethodInvocation, MemberSubstitution.Substitution.ForValue, MemberSubstitution.Substitution.Stubbing
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final StackManipulation
The stack manipulation to load the value that represents the substitution.private final TypeDescription.Generic
The type of the represented stack manipulation. -
Constructor Summary
ConstructorsConstructorDescriptionForValue
(StackManipulation stackManipulation, TypeDescription.Generic typeDescription) Creates a new substitution for loading a constant value. -
Method Summary
Modifier and TypeMethodDescriptionmake
(TypeDescription instrumentedType, MethodDescription instrumentedMethod, TypePool typePool) Creates a substitution for an instrumented method.resolve
(MemberSubstitution.Target target, TypeList.Generic parameters, TypeDescription.Generic result, JavaConstant.MethodHandle methodHandle, StackManipulation stackManipulation, int freeOffset) Resolves this substitution into a stack manipulation.
-
Field Details
-
stackManipulation
The stack manipulation to load the value that represents the substitution. -
typeDescription
The type of the represented stack manipulation.
-
-
Constructor Details
-
ForValue
Creates a new substitution for loading a constant value.- Parameters:
stackManipulation
- The stack manipulation to load the value that represents the substitution.typeDescription
- The type of the represented stack manipulation.
-
-
Method Details
-
make
public MemberSubstitution.Substitution make(TypeDescription instrumentedType, MethodDescription instrumentedMethod, TypePool typePool) Creates a substitution for an instrumented method.- Specified by:
make
in interfaceMemberSubstitution.Substitution.Factory
- Parameters:
instrumentedType
- The instrumented type.instrumentedMethod
- The instrumented method.typePool
- The type pool being used.- Returns:
- The substitution to apply within the instrumented method.
-
resolve
public StackManipulation resolve(MemberSubstitution.Target target, TypeList.Generic parameters, TypeDescription.Generic result, JavaConstant.MethodHandle methodHandle, StackManipulation stackManipulation, int freeOffset) Resolves this substitution into a stack manipulation.- Specified by:
resolve
in interfaceMemberSubstitution.Substitution
- Parameters:
target
- The target member of invokedynamic invocation.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.
-