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 class
MethodCall.ArgumentLoader.ForInstrumentedType.Factory
A 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 TypeDescription
instrumentedType
The 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.StackManipulation
toStackManipulation(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:
resolve
in 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:
toStackManipulation
in 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.
-
-