Package ghidra.pcode.exec

# Enum Class PcodeArithmetic.Purpose

java.lang.Object
java.lang.Enum<PcodeArithmetic.Purpose>
ghidra.pcode.exec.PcodeArithmetic.Purpose

All Implemented Interfaces:
  `Serializable`, `Comparable<PcodeArithmetic.Purpose>`, `Constable`

Enclosing interface:
  `PcodeArithmetic<T>`

public static enum PcodeArithmetic.Purpose extends Enum<PcodeArithmetic.Purpose>
Reasons for requiring a concrete value

- ## 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
  `BRANCH`
  The value will be used as the address of an indirect branch
  `BY_DEF`
  The p-code specification defines the operand as a constant
  `CONDITION`
  The value is needed to decide a conditional branch
  `CONTEXT`
  The value is needed for disassembly context
  `DECODE`
  The value is needed to parse an instruction
  `INSPECT`
  The user or a tool is inspecting the value
  `LOAD`
  The value will be used as the address of a value to load
  `OTHER`
  Some other reason, perhaps for userop library use
  `STORE`
  The value will be used as the address of a value to store

- ## Method Summary

  Modifier and Type
  Method
  Description
  `PcodeExecutorStatePiece.Reason`
  `reason()`
  `static PcodeArithmetic.Purpose`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static PcodeArithmetic.Purpose[]`
  `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

  - ### DECODE

    public static final PcodeArithmetic.Purpose DECODE
    The value is needed to parse an instruction

  - ### CONTEXT

    public static final PcodeArithmetic.Purpose CONTEXT
    The value is needed for disassembly context

  - ### CONDITION

    public static final PcodeArithmetic.Purpose CONDITION
    The value is needed to decide a conditional branch

  - ### BRANCH

    public static final PcodeArithmetic.Purpose BRANCH
    The value will be used as the address of an indirect branch

  - ### LOAD

    public static final PcodeArithmetic.Purpose LOAD
    The value will be used as the address of a value to load

  - ### STORE

    public static final PcodeArithmetic.Purpose STORE
    The value will be used as the address of a value to store

  - ### BY_DEF

    public static final PcodeArithmetic.Purpose BY_DEF
    The p-code specification defines the operand as a constant

  - ### OTHER

    public static final PcodeArithmetic.Purpose OTHER
    Some other reason, perhaps for userop library use

  - ### INSPECT

    public static final PcodeArithmetic.Purpose INSPECT
    The user or a tool is inspecting the value

- ## Method Details

  - ### values

    public static PcodeArithmetic.Purpose[] 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 PcodeArithmetic.Purpose 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

  - ### reason

    public PcodeExecutorStatePiece.Reason reason()