Package ghidra.pcode.emu.jit.analysis

# Enum Class JitAllocationModel.NoHandler

java.lang.Object
java.lang.Enum<JitAllocationModel.NoHandler>
ghidra.pcode.emu.jit.analysis.JitAllocationModel.NoHandler

All Implemented Interfaces:
  `JitAllocationModel.VarHandler`, `Serializable`, `Comparable<JitAllocationModel.NoHandler>`, `Constable`

Enclosing class:
  `JitAllocationModel`

public static enum JitAllocationModel.NoHandler extends Enum<JitAllocationModel.NoHandler> implements JitAllocationModel.VarHandler
A dummy handler for values/variables that are not allocated in JVM locals

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `INSTANCE`
  Singleton

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `generateDeclCode(JitCodeGenerator gen, org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.MethodVisitor rv)`
  If needed, emit bytecode at the top of the `run` method.
  `void`
  `generateInitCode(JitCodeGenerator gen, org.objectweb.asm.MethodVisitor iv)`
  Emit bytecode into the class constructor.
  `void`
  `generateLoadCode(JitCodeGenerator gen, JitType type, TypeConversions.Ext ext, org.objectweb.asm.MethodVisitor rv)`
  Emit bytecode to load the varnode's value onto the JVM stack.
  `void`
  `generateStoreCode(JitCodeGenerator gen, JitType type, TypeConversions.Ext ext, org.objectweb.asm.MethodVisitor rv)`
  Emit bytecode to load the varnode's value onto the JVM stack.
  `JitType`
  `type()`
  Get the p-code type of the variable this handler handles.
  `static JitAllocationModel.NoHandler`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static JitAllocationModel.NoHandler[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods inherited from class java.lang.Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods inherited from class java.lang.Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### INSTANCE

    public static final JitAllocationModel.NoHandler INSTANCE
    Singleton

- ## Method Details

  - ### values

    public static JitAllocationModel.NoHandler[] 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

    public static JitAllocationModel.NoHandler valueOf(String name)
    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

  - ### type

    public JitType type()
    Description copied from interface: `JitAllocationModel.VarHandler`
    Get the p-code type of the variable this handler handles.
    Specified by:
      `type` in interface `JitAllocationModel.VarHandler`
    Returns:
      the type

  - ### generateInitCode

    public void generateInitCode(JitCodeGenerator gen, org.objectweb.asm.MethodVisitor iv)
    Description copied from interface: `JitAllocationModel.VarHandler`
    Emit bytecode into the class constructor.
    Specified by:
      `generateInitCode` in interface `JitAllocationModel.VarHandler`
    Parameters:
      `gen` - the code generator
      `iv` - the visitor for the class constructor

  - ### generateDeclCode

    public void generateDeclCode(JitCodeGenerator gen, org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.MethodVisitor rv)
    Description copied from interface: `JitAllocationModel.VarHandler`
    If needed, emit bytecode at the top of the `run` method.
    Specified by:
      `generateDeclCode` in interface `JitAllocationModel.VarHandler`
    Parameters:
      `gen` - the code generator
      `start` - a label at the top of the method
      `end` - a label at the end of the method
      `rv` - the visitor for the run method

  - ### generateLoadCode

    public void generateLoadCode(JitCodeGenerator gen, JitType type, TypeConversions.Ext ext, org.objectweb.asm.MethodVisitor rv)
    Description copied from interface: `JitAllocationModel.VarHandler`
    Emit bytecode to load the varnode's value onto the JVM stack.
    Specified by:
      `generateLoadCode` in interface `JitAllocationModel.VarHandler`
    Parameters:
      `gen` - the code generator
      `type` - the p-code type of the value expected on the JVM stack by the proceeding bytecode
      `ext` - the kind of extension to apply when adjusting from JVM size to varnode size
      `rv` - the visitor for the `run` method

  - ### generateStoreCode

    public void generateStoreCode(JitCodeGenerator gen, JitType type, TypeConversions.Ext ext, org.objectweb.asm.MethodVisitor rv)
    Description copied from interface: `JitAllocationModel.VarHandler`
    Emit bytecode to load the varnode's value onto the JVM stack.
    Specified by:
      `generateStoreCode` in interface `JitAllocationModel.VarHandler`
    Parameters:
      `gen` - the code generator
      `type` - the p-code type of the value produced on the JVM stack by the preceding bytecode
      `ext` - the kind of extension to apply when adjusting from varnode size to JVM size
      `rv` - the visitor for the `run` method