Package ghidra.trace.database.listing

# Interface InternalBaseCodeUnitsView<T extends TraceCodeUnit>

All Superinterfaces:
  `TraceBaseCodeUnitsView<T>`

All Known Subinterfaces:
  `InternalTraceBaseDefinedUnitsView<T>`, `InternalTraceDefinedDataView`

All Known Implementing Classes:
  `DBTraceCodeUnitsMemoryView`, `DBTraceCodeUnitsView`, `DBTraceDataMemoryView`, `DBTraceDataView`, `DBTraceDefinedDataMemoryView`, `DBTraceDefinedDataView`, `DBTraceDefinedUnitsMemoryView`, `DBTraceDefinedUnitsView`, `DBTraceInstructionsMemoryView`, `DBTraceInstructionsView`, `DBTraceUndefinedDataMemoryView`, `DBTraceUndefinedDataView`

public interface InternalBaseCodeUnitsView<T extends TraceCodeUnit> extends TraceBaseCodeUnitsView<T>

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default Iterable<? extends T>`
  `get(TracePlatform platform, long snap, Register register, boolean forward)`
  Get the live units whose start addresses are within the given register
  `default T`
  `getContaining(TracePlatform platform, long snap, Register register)`
  Get the unit which completely contains the given register
  `default T`
  `getForRegister(TracePlatform platform, long snap, Register register)`
  Get the unit (or component of a structure) which spans exactly the addresses of the given platform register
  `AddressSpace`
  `getSpace()`

  ### Methods inherited from interface ghidra.trace.model.listing.TraceBaseCodeUnitsView

  `containsAddress, coversRange, coversRange, get, get, get, get, get, get, getAddressSetView, getAddressSetView, getAfter, getAt, getBefore, getCeiling, getContaining, getContaining, getFloor, getForRegister, getIntersecting, getTrace, intersectsRange, intersectsRange, size`

- ## Method Details

  - ### getSpace

    AddressSpace getSpace()

  - ### getForRegister

    default T getForRegister(TracePlatform platform, long snap, Register register)
    Description copied from interface: `TraceBaseCodeUnitsView`
    Get the unit (or component of a structure) which spans exactly the addresses of the given platform register
    Specified by:
      `getForRegister` in interface `TraceBaseCodeUnitsView<T extends TraceCodeUnit>`
    Parameters:
      `platform` - the platform whose language defines the register
      `snap` - the snap
      `register` - the register
    Returns:
      the unit or `null`

  - ### getContaining

    default T getContaining(TracePlatform platform, long snap, Register register)
    Description copied from interface: `TraceBaseCodeUnitsView`
    Get the unit which completely contains the given register

    This does not descend into structures.

    Specified by:
      `getContaining` in interface `TraceBaseCodeUnitsView<T extends TraceCodeUnit>`
    Parameters:
      `platform` - the platform whose language defines the register
      `snap` - the snap during which the unit must be alive
      `register` - the register
    Returns:
      the unit or `unit`

  - ### get

    default Iterable<? extends T> get(TracePlatform platform, long snap, Register register, boolean forward)
    Description copied from interface: `TraceBaseCodeUnitsView`
    Get the live units whose start addresses are within the given register
    Specified by:
      `get` in interface `TraceBaseCodeUnitsView<T extends TraceCodeUnit>`
    Parameters:
      `platform` - the platform whose language defines the register
      `snap` - the snap during which the units must be alive
      `register` - the register
      `forward` - true to order the units by increasing address, false for descending
    Returns:
      the iterable of units