Package ghidra.pcode.exec

# Class DefaultPcodeExecutorState<T>

java.lang.Object
ghidra.pcode.exec.AbstractPcodeExecutorState<T,T>
ghidra.pcode.exec.DefaultPcodeExecutorState<T>

Type Parameters:
  `T` - the type of values and addresses in the state

All Implemented Interfaces:
  `PcodeExecutorState<T>`, `PcodeExecutorStatePiece<T,T>`

Direct Known Subclasses:
  `BytesPcodeExecutorState`, `JitDefaultBytesPcodeExecutorState`

public class DefaultPcodeExecutorState<T> extends AbstractPcodeExecutorState<T,T>
A p-code executor state formed from a piece whose address and value types are the same

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface ghidra.pcode.exec.PcodeExecutorStatePiece

  `PcodeExecutorStatePiece.Reason`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final PcodeArithmetic<T>`
  `arithmetic`

  ### Fields inherited from class ghidra.pcode.exec.AbstractPcodeExecutorState

  `piece`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DefaultPcodeExecutorState(PcodeExecutorStatePiece<T,T> piece)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected T`
  `extractAddress(T value)`
  `PcodeExecutorState<T>`
  `fork(PcodeStateCallbacks cb)`
  Create a deep copy of this state

  ### Methods inherited from class ghidra.pcode.exec.AbstractPcodeExecutorState

  `clear, getArithmetic, getConcreteBuffer, getLanguage, getRegisterValues, getVar, getVar, getVarInternal, getVarInternal, setVar, setVar, setVarInternal, setVarInternal, streamPieces`

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

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface ghidra.pcode.exec.PcodeExecutorState

  `getAddressArithmetic, paired`

  ### Methods inherited from interface ghidra.pcode.exec.PcodeExecutorStatePiece

  `checkRange, getNextEntryInternal, getNextEntryInternal, getVar, getVar, getVar, inspectBigInteger, inspectByte, inspectConcrete, inspectInt, inspectLong, inspectRegisterValue, inspectShort, quantizeOffset, setBigInteger, setByte, setConcrete, setInt, setLong, setRegisterValue, setRegisterValue, setShort, setVar, setVar, setVar`

- ## Field Details

  - ### arithmetic

    protected final PcodeArithmetic<T> arithmetic

- ## Constructor Details

  - ### DefaultPcodeExecutorState

    public DefaultPcodeExecutorState(PcodeExecutorStatePiece<T,T> piece)

- ## Method Details

  - ### extractAddress

    protected T extractAddress(T value)
    Specified by:
      `extractAddress` in class `AbstractPcodeExecutorState<T,T>`

  - ### fork

    public PcodeExecutorState<T> fork(PcodeStateCallbacks cb)
    Description copied from interface: `PcodeExecutorStatePiece`
    Create a deep copy of this state
    Parameters:
      `cb` - callbacks to receive emulation events
    Returns:
      the copy