Package net.bytebuddy.asm
Class ClassVisitorFactory.ConstantTranslator
- java.lang.Object
-
- net.bytebuddy.asm.ClassVisitorFactory.ConstantTranslator
-
- All Implemented Interfaces:
ByteCodeAppender
- Enclosing class:
- ClassVisitorFactory<T>
@Enhance protected static class ClassVisitorFactory.ConstantTranslator extends java.lang.Object implements ByteCodeAppender
A method to translate a constant value from one namespace to another.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.bytecode.ByteCodeAppender
ByteCodeAppender.Compound, ByteCodeAppender.Simple, ByteCodeAppender.Size
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
NAME
The name of the method.private java.lang.Class<?>
sourceConstantDynamic
TheConstantDynamic
type in the original namespace.private java.lang.Class<?>
sourceHandle
TheHandle
type in the original namespace.private java.lang.Class<?>
sourceType
TheType
type in the original namespace.private java.lang.Class<?>
targetConstantDynamic
TheConstantDynamic
type in the targeted namespace.private java.lang.Class<?>
targetHandle
TheHandle
type in the targeted namespace.private java.lang.Class<?>
targetType
TheType
type in the targeted namespace.
-
Constructor Summary
Constructors Modifier Constructor Description protected
ConstantTranslator(java.lang.Class<?> sourceHandle, java.lang.Class<?> targetHandle, java.lang.Class<?> sourceType, java.lang.Class<?> targetType, java.lang.Class<?> sourceConstantDynamic, java.lang.Class<?> targetConstantDynamic)
Creates a new constant translator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ByteCodeAppender.Size
apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
-
-
-
Field Detail
-
NAME
protected static final java.lang.String NAME
The name of the method.- See Also:
- Constant Field Values
-
sourceHandle
@MaybeNull @ValueHandling(REVERSE_NULLABILITY) private final java.lang.Class<?> sourceHandle
TheHandle
type in the original namespace.
-
targetHandle
@MaybeNull @ValueHandling(REVERSE_NULLABILITY) private final java.lang.Class<?> targetHandle
TheHandle
type in the targeted namespace.
-
sourceType
@MaybeNull @ValueHandling(REVERSE_NULLABILITY) private final java.lang.Class<?> sourceType
TheType
type in the original namespace.
-
targetType
@MaybeNull @ValueHandling(REVERSE_NULLABILITY) private final java.lang.Class<?> targetType
TheType
type in the targeted namespace.
-
sourceConstantDynamic
@MaybeNull @ValueHandling(REVERSE_NULLABILITY) private final java.lang.Class<?> sourceConstantDynamic
TheConstantDynamic
type in the original namespace.
-
targetConstantDynamic
@MaybeNull @ValueHandling(REVERSE_NULLABILITY) private final java.lang.Class<?> targetConstantDynamic
TheConstantDynamic
type in the targeted namespace.
-
-
Constructor Detail
-
ConstantTranslator
protected ConstantTranslator(@MaybeNull java.lang.Class<?> sourceHandle, @MaybeNull java.lang.Class<?> targetHandle, @MaybeNull java.lang.Class<?> sourceType, @MaybeNull java.lang.Class<?> targetType, @MaybeNull java.lang.Class<?> sourceConstantDynamic, @MaybeNull java.lang.Class<?> targetConstantDynamic)
Creates a new constant translator.- Parameters:
sourceHandle
- TheHandle
type in the original namespace.targetHandle
- TheHandle
type in the targeted namespace.sourceType
- TheType
type in the original namespace.targetType
- TheType
type in the targeted namespace.sourceConstantDynamic
- TheConstantDynamic
type in the original namespace.targetConstantDynamic
- TheConstantDynamic
type in the targeted namespace.
-
-
Method Detail
-
apply
public ByteCodeAppender.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.- Specified by:
apply
in interfaceByteCodeAppender
- Parameters:
methodVisitor
- The method visitor to which the byte code appender writes its code to.implementationContext
- The implementation context of the current type creation process.instrumentedMethod
- The method that is the target of the instrumentation.- Returns:
- The required size for the applied byte code to run.
-
-