Package net.bytebuddy.implementation
Class MethodCall.ArgumentLoader.ForInstrumentedType
- java.lang.Object
-
- net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForInstrumentedType
-
- All Implemented Interfaces:
MethodCall.ArgumentLoader,MethodCall.ArgumentLoader.ArgumentProvider
- Enclosing interface:
- MethodCall.ArgumentLoader
@Enhance public static class MethodCall.ArgumentLoader.ForInstrumentedType extends java.lang.Object implements MethodCall.ArgumentLoader, MethodCall.ArgumentLoader.ArgumentProvider
Loads the instrumented type onto the operand stack.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMethodCall.ArgumentLoader.ForInstrumentedType.FactoryA factory for an argument loader that supplies the instrumented type as an argument.-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.MethodCall.ArgumentLoader
MethodCall.ArgumentLoader.ArgumentProvider, 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 TypeDescriptioninstrumentedTypeThe instrumented type.
-
Constructor Summary
Constructors Constructor Description ForInstrumentedType(TypeDescription instrumentedType)Creates an argument loader for supporting the instrumented type as a type constant as an argument.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<MethodCall.ArgumentLoader>resolve(MethodDescription instrumentedMethod, MethodDescription invokedMethod)Resolves this provider to an argument loader for each provided argument.StackManipulationtoStackManipulation(ParameterDescription target, Assigner assigner, Assigner.Typing typing)Loads the argument that is represented by this instance onto the operand stack.
-
-
-
Field Detail
-
instrumentedType
private final TypeDescription instrumentedType
The instrumented type.
-
-
Constructor Detail
-
ForInstrumentedType
public ForInstrumentedType(TypeDescription instrumentedType)
Creates an argument loader for supporting the instrumented type as a type constant as an argument.- Parameters:
instrumentedType- The instrumented type.
-
-
Method Detail
-
resolve
public java.util.List<MethodCall.ArgumentLoader> resolve(MethodDescription instrumentedMethod, MethodDescription invokedMethod)
Resolves this provider to an argument loader for each provided argument.- Specified by:
resolvein interfaceMethodCall.ArgumentLoader.ArgumentProvider- Parameters:
instrumentedMethod- The instrumented method.invokedMethod- The invoked method.- Returns:
- A list of provided argument loaders.
-
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.
-
-