Package ghidra.pcode.exec.trace.data

# Class DefaultPcodeTraceMemoryAccess

java.lang.Object
ghidra.pcode.exec.trace.data.AbstractPcodeTraceDataAccess
ghidra.pcode.exec.trace.data.DefaultPcodeTraceMemoryAccess

All Implemented Interfaces:
  `InternalPcodeTraceDataAccess`, `PcodeTraceDataAccess`, `PcodeTraceMemoryAccess`

public class DefaultPcodeTraceMemoryAccess extends AbstractPcodeTraceDataAccess implements PcodeTraceMemoryAccess
The default data-access shim for trace memory

- ## Field Summary

  ### Fields inherited from class ghidra.pcode.exec.trace.data.AbstractPcodeTraceDataAccess

  `mm, platform, snap, viewport`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `DefaultPcodeTraceMemoryAccess(TracePlatform platform, long snap, TraceTimeViewport viewport)`
  Construct a shim

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected TraceMemoryOperations`
  `getMemoryOps(boolean createIfAbsent)`
  Get the interface for accessing trace memory or registers
  `<T> TracePropertyMapOperations<T>`
  `getPropertyOps(String name, Class<T> type, boolean createIfAbsent)`
  `protected Address`
  `toOverlay(Address address)`
  If this shim is associated with a (register) overlay space, translate the given address into it
  `protected AddressRange`
  `toOverlay(AddressRange range)`
  `protected AddressSetView`
  `toOverlay(AddressSetView set)`

  ### Methods inherited from class ghidra.pcode.exec.trace.data.AbstractPcodeTraceDataAccess

  `getBytes, getLanguage, getPlatform, getPropertyAccess, getSnap, getViewport, getViewportState, intersectUnknown, intersectViewKnown, putBytes, setState, translate`

  ### 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.trace.data.PcodeTraceDataAccess

  `getBytes, getLanguage, getPropertyAccess, getViewportState, intersectUnknown, intersectViewKnown, putBytes, setState, translate`

- ## Constructor Details

  - ### DefaultPcodeTraceMemoryAccess

    protected DefaultPcodeTraceMemoryAccess(TracePlatform platform, long snap, TraceTimeViewport viewport)
    Construct a shim
    Parameters:
      `platform` - the associated platform
      `snap` - the associated snap
      `viewport` - the viewport, set to the same snapshot

- ## Method Details

  - ### getMemoryOps

    protected TraceMemoryOperations getMemoryOps(boolean createIfAbsent)
    Description copied from class: `AbstractPcodeTraceDataAccess`
    Get the interface for accessing trace memory or registers
    Specified by:
      `getMemoryOps` in class `AbstractPcodeTraceDataAccess`
    Parameters:
      `createIfAbsent` - in the case of registers, whether to create the missing space
    Returns:
      the operations, or null

  - ### getPropertyOps

    public <T> TracePropertyMapOperations<T> getPropertyOps(String name, Class<T> type, boolean createIfAbsent)
    Specified by:
      `getPropertyOps` in interface `InternalPcodeTraceDataAccess`

  - ### toOverlay

    protected Address toOverlay(Address address)
    Description copied from class: `AbstractPcodeTraceDataAccess`
    If this shim is associated with a (register) overlay space, translate the given address into it
    Specified by:
      `toOverlay` in class `AbstractPcodeTraceDataAccess`
    Parameters:
      `address` - the physical (register) address
    Returns:
      the overlay address

  - ### toOverlay

    protected AddressRange toOverlay(AddressRange range)
    Specified by:
      `toOverlay` in class `AbstractPcodeTraceDataAccess`
    Parameters:
      `range` - the physical range
    Returns:
      the overlay range
    See Also:
      - `AbstractPcodeTraceDataAccess.toOverlay(Address)`

  - ### toOverlay

    protected AddressSetView toOverlay(AddressSetView set)
    Specified by:
      `toOverlay` in class `AbstractPcodeTraceDataAccess`
    Parameters:
      `set` -
    Returns:
    See Also:
      - `AbstractPcodeTraceDataAccess.toOverlay(Address)`