Package ghidra.pcode.exec

# Class BytesPcodeExecutorStatePiece

java.lang.Object
ghidra.pcode.exec.AbstractLongOffsetPcodeExecutorStatePiece<byte[],byte[],S>
ghidra.pcode.exec.AbstractBytesPcodeExecutorStatePiece<BytesPcodeExecutorStateSpace<Void>>
ghidra.pcode.exec.BytesPcodeExecutorStatePiece

All Implemented Interfaces:
  `PcodeExecutorStatePiece<byte[],byte[]>`

public class BytesPcodeExecutorStatePiece extends AbstractBytesPcodeExecutorStatePiece<BytesPcodeExecutorStateSpace<Void>>
A plain concrete state piece without any backing objects

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class ghidra.pcode.exec.AbstractBytesPcodeExecutorStatePiece

  `AbstractBytesPcodeExecutorStatePiece.StateMemBuffer`

  ## Nested classes/interfaces inherited from class ghidra.pcode.exec.AbstractLongOffsetPcodeExecutorStatePiece

  `AbstractLongOffsetPcodeExecutorStatePiece.AbstractSpaceMap<S>, AbstractLongOffsetPcodeExecutorStatePiece.CacheingSpaceMap<B,S>, AbstractLongOffsetPcodeExecutorStatePiece.SimpleSpaceMap<S>`

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

  `PcodeExecutorStatePiece.Reason`

- ## Field Summary

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

  `spaceMap`

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

  `addressArithmetic, arithmetic, language, uniqueSpace`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  ``
  `BytesPcodeExecutorStatePiece(Language language)`
  Construct a state for the given language
  `protected`
  `BytesPcodeExecutorStatePiece(Language language, AbstractLongOffsetPcodeExecutorStatePiece.AbstractSpaceMap<BytesPcodeExecutorStateSpace<Void>> spaceMap)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `BytesPcodeExecutorStatePiece`
  `fork()`
  Create a deep copy of this state
  `protected AbstractLongOffsetPcodeExecutorStatePiece.AbstractSpaceMap<BytesPcodeExecutorStateSpace<Void>>`
  `newSpaceMap()`
  A factory method for this state's space map.

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

  `clear, getConcreteBuffer, getForSpace, getFromSpace, getRegisterValuesFromSpace, setInSpace`

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

  `getAddressArithmetic, getArithmetic, getFromNullSpace, getLanguage, getRegisterValues, getUnique, getVar, getVar, setUnique, setVar, setVar`

  ### 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.PcodeExecutorStatePiece

  `checkRange, getVar, getVar, getVar, quantizeOffset, setVar, setVar, setVar`

- ## Constructor Details

  - ### BytesPcodeExecutorStatePiece

    public BytesPcodeExecutorStatePiece(Language language)
    Construct a state for the given language
    Parameters:
      `language` - the language (used for its memory model)

  - ### BytesPcodeExecutorStatePiece

    protected BytesPcodeExecutorStatePiece(Language language, AbstractLongOffsetPcodeExecutorStatePiece.AbstractSpaceMap<BytesPcodeExecutorStateSpace<Void>> spaceMap)

- ## Method Details

  - ### fork

    public BytesPcodeExecutorStatePiece fork()
    Description copied from interface: `PcodeExecutorStatePiece`
    Create a deep copy of this state
    Returns:
      the copy

  - ### newSpaceMap

    protected AbstractLongOffsetPcodeExecutorStatePiece.AbstractSpaceMap<BytesPcodeExecutorStateSpace<Void>> newSpaceMap()
    Description copied from class: `AbstractBytesPcodeExecutorStatePiece`
    A factory method for this state's space map.

    Because most of the special logic for extensions is placed in the "state space," i.e., an object assigned to a particular address space in the state's language, this factory method must provide the map to create and maintain those spaces. That map will in turn be the factory of the spaces themselves, allowing extensions to provide additional read/write logic.

    Specified by:
      `newSpaceMap` in class `AbstractBytesPcodeExecutorStatePiece<BytesPcodeExecutorStateSpace<Void>>`
    Returns:
      the new space map