Package net.bytebuddy.implementation
Class MethodCall.ArgumentLoader.ForField
- java.lang.Object
-
- net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForField
-
- All Implemented Interfaces:
MethodCall.ArgumentLoader
- Enclosing interface:
- MethodCall.ArgumentLoader
@Enhance public static class MethodCall.ArgumentLoader.ForField extends java.lang.Object implements MethodCall.ArgumentLoader
Loads the value of an existing field onto the operand stack.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classMethodCall.ArgumentLoader.ForField.ArgumentProviderAn argument provider for a field access.protected static classMethodCall.ArgumentLoader.ForField.FactoryA factory for an argument loaded that loads the value of an existing field as an argument.-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.MethodCall.ArgumentLoader
MethodCall.ArgumentLoader.ForField, MethodCall.ArgumentLoader.ForInstance, MethodCall.ArgumentLoader.ForInstrumentedType, MethodCall.ArgumentLoader.ForMethodCall, MethodCall.ArgumentLoader.ForMethodParameter, MethodCall.ArgumentLoader.ForMethodParameterArray, MethodCall.ArgumentLoader.ForMethodParameterArrayElement, MethodCall.ArgumentLoader.ForNullConstant, MethodCall.ArgumentLoader.ForStackManipulation, MethodCall.ArgumentLoader.ForThisReference
-
-
Field Summary
Fields Modifier and Type Field Description private FieldDescriptionfieldDescriptionThe field containing the loaded value.private MethodDescriptioninstrumentedMethodThe instrumented method.
-
Constructor Summary
Constructors Constructor Description ForField(FieldDescription fieldDescription, MethodDescription instrumentedMethod)Creates a new argument loader for loading an existing field.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StackManipulationtoStackManipulation(ParameterDescription target, Assigner assigner, Assigner.Typing typing)Loads the argument that is represented by this instance onto the operand stack.
-
-
-
Field Detail
-
fieldDescription
private final FieldDescription fieldDescription
The field containing the loaded value.
-
instrumentedMethod
private final MethodDescription instrumentedMethod
The instrumented method.
-
-
Constructor Detail
-
ForField
public ForField(FieldDescription fieldDescription, MethodDescription instrumentedMethod)
Creates a new argument loader for loading an existing field.- Parameters:
fieldDescription- The field containing the loaded value.instrumentedMethod- The instrumented method.
-
-
Method Detail
-
toStackManipulation
public StackManipulation toStackManipulation(ParameterDescription target, Assigner assigner, Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.- Specified by:
toStackManipulationin interfaceMethodCall.ArgumentLoader- Parameters:
target- The target parameter.assigner- The assigner to be used.typing- Indicates if dynamic type castings should be attempted for incompatible assignments.- Returns:
- The stack manipulation that loads the represented argument onto the stack.
-
-