Package net.bytebuddy.asm
Enum Advice.Dispatcher.RelocationHandler.ForValue
- java.lang.Object
-
- java.lang.Enum<Advice.Dispatcher.RelocationHandler.ForValue>
-
- net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<Advice.Dispatcher.RelocationHandler.ForValue>
,Advice.Dispatcher.RelocationHandler
- Enclosing interface:
- Advice.Dispatcher.RelocationHandler
public static enum Advice.Dispatcher.RelocationHandler.ForValue extends java.lang.Enum<Advice.Dispatcher.RelocationHandler.ForValue> implements Advice.Dispatcher.RelocationHandler
A relocation handler that triggers a relocation for a default or non-default value.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
Advice.Dispatcher.RelocationHandler.ForValue.Bound
A bound relocation handler forAdvice.Dispatcher.RelocationHandler.ForValue
.protected class
Advice.Dispatcher.RelocationHandler.ForValue.Inverted
An inverted version of the outer relocation handler.-
Nested classes/interfaces inherited from interface net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler
Advice.Dispatcher.RelocationHandler.Disabled, Advice.Dispatcher.RelocationHandler.ForType, Advice.Dispatcher.RelocationHandler.ForValue, Advice.Dispatcher.RelocationHandler.Relocation
-
-
Enum Constant Summary
Enum Constants Enum Constant Description DOUBLE
A relocation handler for adouble
type.FLOAT
A relocation handler for afloat
type.INTEGER
A relocation handler for anint
type or any compatible type.LONG
A relocation handler for along
type.REFERENCE
A relocation handler for a reference type.
-
Field Summary
Fields Modifier and Type Field Description private int
defaultJump
The opcode to check for a non-default value.private int
load
An opcode for loading a value of the represented type from the local variable array.private int
nonDefaultJump
The opcode to check for a default value.private int
requiredSize
The minimal required stack size to apply this relocation handler.
-
Constructor Summary
Constructors Modifier Constructor Description private
ForValue(int load, int defaultJump, int nonDefaultJump, int requiredSize)
Creates a new relocation handler for a type's default or non-default value.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Advice.Dispatcher.RelocationHandler.Bound
bind(MethodDescription instrumentedMethod, Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this relocation handler to a relocation dispatcher.protected abstract void
convertValue(org.objectweb.asm.MethodVisitor methodVisitor)
Applies a value conversion prior to a applying a conditional jump.protected static Advice.Dispatcher.RelocationHandler
of(TypeDefinition typeDefinition, boolean inverted)
Resolves a relocation handler for a given type.static Advice.Dispatcher.RelocationHandler.ForValue
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static Advice.Dispatcher.RelocationHandler.ForValue[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
INTEGER
public static final Advice.Dispatcher.RelocationHandler.ForValue INTEGER
A relocation handler for anint
type or any compatible type.
-
LONG
public static final Advice.Dispatcher.RelocationHandler.ForValue LONG
A relocation handler for along
type.
-
FLOAT
public static final Advice.Dispatcher.RelocationHandler.ForValue FLOAT
A relocation handler for afloat
type.
-
DOUBLE
public static final Advice.Dispatcher.RelocationHandler.ForValue DOUBLE
A relocation handler for adouble
type.
-
REFERENCE
public static final Advice.Dispatcher.RelocationHandler.ForValue REFERENCE
A relocation handler for a reference type.
-
-
Field Detail
-
load
private final int load
An opcode for loading a value of the represented type from the local variable array.
-
defaultJump
private final int defaultJump
The opcode to check for a non-default value.
-
nonDefaultJump
private final int nonDefaultJump
The opcode to check for a default value.
-
requiredSize
private final int requiredSize
The minimal required stack size to apply this relocation handler.
-
-
Constructor Detail
-
ForValue
private ForValue(int load, 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.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 Detail
-
values
public static Advice.Dispatcher.RelocationHandler.ForValue[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (Advice.Dispatcher.RelocationHandler.ForValue c : Advice.Dispatcher.RelocationHandler.ForValue.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static Advice.Dispatcher.RelocationHandler.ForValue valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
of
protected static Advice.Dispatcher.RelocationHandler of(TypeDefinition typeDefinition, boolean inverted)
Resolves a relocation handler for a given type.- Parameters:
typeDefinition
- The type to be resolved for a relocation attempt.inverted
-true
if 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.
-
bind
public Advice.Dispatcher.RelocationHandler.Bound bind(MethodDescription instrumentedMethod, Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this relocation handler to a relocation dispatcher.- Specified by:
bind
in interfaceAdvice.Dispatcher.RelocationHandler
- Parameters:
instrumentedMethod
- The instrumented method.relocation
- The relocation to apply.- Returns:
- A bound relocation handler.
-
-