Package ghidra.trace.util

# Enum Class TraceRegisterUtils

java.lang.Object
java.lang.Enum<TraceRegisterUtils>
ghidra.trace.util.TraceRegisterUtils

All Implemented Interfaces:
  `Serializable`, `Comparable<TraceRegisterUtils>`, `Constable`

public enum TraceRegisterUtils extends Enum<TraceRegisterUtils>

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static ByteBuffer`
  `bufferForValue(Register register, RegisterValue value)`
  `static RegisterValue`
  `combineWithTraceBaseRegisterValue(RegisterValue rv, TracePlatform platform, long snap, TraceMemorySpace regs, boolean requireKnown)`
  `static RegisterValue`
  `combineWithTraceParentRegisterValue(Register parent, RegisterValue rv, TracePlatform platform, long snap, TraceMemorySpace regs, boolean requireKnown)`
  `static int`
  `computeMaskOffset(Register reg)`
  `static int`
  `computeMaskOffset(RegisterValue value)`
  `static RegisterValue`
  `encodeValueRepresentationHackPointer(Register register, TraceData data, String representation)`
  `static RegisterValue`
  `finishBuffer(ByteBuffer buf, Register register)`
  `static int`
  `getFrameLevel(Trace trace, AddressSpace space)`
  `static AddressRange`
  `getOverlayRange(AddressSpace space, AddressRange range)`
  `static AddressSetView`
  `getOverlaySet(AddressSpace space, AddressSetView set)`
  `static AddressRange`
  `getPhysicalRange(AddressRange range)`
  `static AddressSetView`
  `getPhysicalSet(AddressSetView set)`
  Convert a set in an overlay space to the corresponding set in its physical space
  `static AddressSpace`
  `getRegisterAddressSpace(TraceRegisterContainer cont, boolean createIfAbsent)`
  `static AddressSpace`
  `getRegisterAddressSpace(TraceStackFrame frame, boolean createIfAbsent)`
  `static AddressSpace`
  `getRegisterAddressSpace(TraceThread thread, int frameLevel, boolean createIfAbsent)`
  `static TraceRegisterContainer`
  `getRegisterContainer(TraceStackFrame frame)`
  `static TraceRegisterContainer`
  `getRegisterContainer(TraceObject object, int frameLevel)`
  `static TraceRegisterContainer`
  `getRegisterContainer(TraceThread thread, int frameLevel)`
  `static TraceThread`
  `getThread(Trace trace, AddressSpace space)`
  `static boolean`
  `isByteBound(Register register)`
  `static byte[]`
  `padOrTruncate(byte[] arr, int length)`
  `static ByteBuffer`
  `prepareBuffer(Register register)`
  `static AddressRange`
  `rangeForRegister(Register register)`
  `static Set<Register>`
  `registersIntersecting(Language language, AddressSetView set)`
  `static void`
  `requireByteBound(Register register)`
  `static TraceData`
  `seekComponent(TraceData data, AddressRange range)`
  `static TraceData`
  `seekComponent(TraceData data, Register reg)`
  `static TraceRegisterUtils`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static TraceRegisterUtils[]`
  `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`

- ## Method Details

  - ### values

    public static TraceRegisterUtils[] 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 TraceRegisterUtils 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

  - ### registersIntersecting

    public static Set<Register> registersIntersecting(Language language, AddressSetView set)

  - ### rangeForRegister

    public static AddressRange rangeForRegister(Register register)

  - ### getOverlayRange

    public static AddressRange getOverlayRange(AddressSpace space, AddressRange range)

  - ### getOverlaySet

    public static AddressSetView getOverlaySet(AddressSpace space, AddressSetView set)

  - ### getPhysicalRange

    public static AddressRange getPhysicalRange(AddressRange range)

  - ### getPhysicalSet

    public static AddressSetView getPhysicalSet(AddressSetView set)
    Convert a set in an overlay space to the corresponding set in its physical space
    Parameters:
      `set` - a set contained entirely in one space
    Returns:
      the physical set

  - ### padOrTruncate

    public static byte[] padOrTruncate(byte[] arr, int length)

  - ### bufferForValue

    public static ByteBuffer bufferForValue(Register register, RegisterValue value)

  - ### computeMaskOffset

    public static int computeMaskOffset(Register reg)

  - ### computeMaskOffset

    public static int computeMaskOffset(RegisterValue value)

  - ### seekComponent

    public static TraceData seekComponent(TraceData data, AddressRange range)

  - ### seekComponent

    public static TraceData seekComponent(TraceData data, Register reg)

  - ### encodeValueRepresentationHackPointer

    public static RegisterValue encodeValueRepresentationHackPointer(Register register, TraceData data, String representation) throws DataTypeEncodeException
    Throws:
      `DataTypeEncodeException`

  - ### combineWithTraceParentRegisterValue

    public static RegisterValue combineWithTraceParentRegisterValue(Register parent, RegisterValue rv, TracePlatform platform, long snap, TraceMemorySpace regs, boolean requireKnown)

  - ### combineWithTraceBaseRegisterValue

    public static RegisterValue combineWithTraceBaseRegisterValue(RegisterValue rv, TracePlatform platform, long snap, TraceMemorySpace regs, boolean requireKnown)

  - ### prepareBuffer

    public static ByteBuffer prepareBuffer(Register register)

  - ### finishBuffer

    public static RegisterValue finishBuffer(ByteBuffer buf, Register register)

  - ### isByteBound

    public static boolean isByteBound(Register register)

  - ### requireByteBound

    public static void requireByteBound(Register register)

  - ### getRegisterContainer

    public static TraceRegisterContainer getRegisterContainer(TraceThread thread, int frameLevel)

  - ### getRegisterContainer

    public static TraceRegisterContainer getRegisterContainer(TraceStackFrame frame)

  - ### getRegisterContainer

    public static TraceRegisterContainer getRegisterContainer(TraceObject object, int frameLevel)

  - ### getRegisterAddressSpace

    public static AddressSpace getRegisterAddressSpace(TraceRegisterContainer cont, boolean createIfAbsent)

  - ### getRegisterAddressSpace

    public static AddressSpace getRegisterAddressSpace(TraceThread thread, int frameLevel, boolean createIfAbsent)

  - ### getRegisterAddressSpace

    public static AddressSpace getRegisterAddressSpace(TraceStackFrame frame, boolean createIfAbsent)

  - ### getThread

    public static TraceThread getThread(Trace trace, AddressSpace space)

  - ### getFrameLevel

    public static int getFrameLevel(Trace trace, AddressSpace space)