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.
  • Enum Constant Details

  • Field Details

    • load

      private final int load
      An opcode for loading a value of the represented type from the local variable array.
    • arrayLoad

      private final int arrayLoad
      An opcode for loading a value of the represented type from an 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 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 name
      NullPointerException - 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 - 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.