Package net.bytebuddy.asm
Enum Class Advice.Dispatcher.RelocationHandler.ForValue
java.lang.Object
java.lang.Enum<Advice.Dispatcher.RelocationHandler.ForValue>
net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue
- All Implemented Interfaces:
Serializable,Comparable<Advice.Dispatcher.RelocationHandler.ForValue>,Constable
- Enclosing interface:
Advice.Dispatcher.RelocationHandler
public static enum Advice.Dispatcher.RelocationHandler.ForValue
extends Enum<Advice.Dispatcher.RelocationHandler.ForValue>
A relocation handler factory that triggers a relocation for a default or non-default value.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classA bound relocation handler forAdvice.Dispatcher.RelocationHandler.ForValue.protected classA relocation handler that checks for a value being a default value.protected classA relocation handler that checks for a value being a non-default value.Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionA relocation handler for aninttype or any compatible type.A relocation handler for aninttype or any compatible type.A relocation handler for anchartype or any compatible type.A relocation handler for adoubletype.A relocation handler for afloattype.A relocation handler for aninttype or any compatible type.A relocation handler for alongtype.A relocation handler for a reference type.A relocation handler for anshorttype or any compatible type. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final intAn opcode for loading a value of the represented type from an array.private final intThe opcode to check for a non-default value.private final intAn opcode for loading a value of the represented type from the local variable array.private final intThe opcode to check for a default value.private final intThe minimal required stack size to apply this relocation handler. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateForValue(int load, int arrayLoad, int defaultJump, int nonDefaultJump, int requiredSize) Creates a new relocation handler for a type's default or non-default value. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidconvertValue(org.objectweb.asm.MethodVisitor methodVisitor) Applies a value conversion prior to a applying a conditional jump.protected static Advice.Dispatcher.RelocationHandlerof(TypeDefinition typeDefinition, int index, boolean inverted) Resolves a relocation handler for a given type.Returns the enum constant of this class with the specified name.values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
BOOLEAN
A relocation handler for aninttype or any compatible type. -
BYTE
A relocation handler for aninttype or any compatible type. -
SHORT
A relocation handler for anshorttype or any compatible type. -
CHARACTER
A relocation handler for anchartype or any compatible type. -
INTEGER
A relocation handler for aninttype or any compatible type. -
LONG
A relocation handler for alongtype. -
FLOAT
A relocation handler for afloattype. -
DOUBLE
A relocation handler for adoubletype. -
REFERENCE
A relocation handler for a reference type.
-
-
Field Details
-
load
private final int loadAn opcode for loading a value of the represented type from the local variable array. -
arrayLoad
private final int arrayLoadAn opcode for loading a value of the represented type from an array. -
defaultJump
private final int defaultJumpThe opcode to check for a non-default value. -
nonDefaultJump
private final int nonDefaultJumpThe opcode to check for a default value. -
requiredSize
private final int requiredSizeThe minimal required stack size to apply this relocation handler.
-
-
Constructor Details
-
ForValue
private ForValue(int load, int arrayLoad, int defaultJump, int nonDefaultJump, int requiredSize) Creates a new relocation handler for a type's default or non-default value.- Parameters:
load- An opcode for loading a value of the represented type from the local variable array.arrayLoad- An opcode for loading a value of the represented type from an array.defaultJump- The opcode to check for a non-default value.nonDefaultJump- The opcode to check for a default value.requiredSize- The minimal required stack size to apply this relocation handler.
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-
of
protected static Advice.Dispatcher.RelocationHandler of(TypeDefinition typeDefinition, int index, boolean inverted) Resolves a relocation handler for a given type.- Parameters:
typeDefinition- The type to be resolved for a relocation attempt.index- The index in the array returned by the advice method that contains the value to be checked.inverted-trueif the relocation should be applied for any non-default value of a type.- Returns:
- An appropriate relocation handler.
-
convertValue
protected abstract void convertValue(org.objectweb.asm.MethodVisitor methodVisitor) Applies a value conversion prior to a applying a conditional jump.- Parameters:
methodVisitor- The method visitor to use.
-