Interface PcodeTracePropertyAccess<T>

Type Parameters:
T - the type of the property's values
All Known Implementing Classes:
DefaultPcodeTracePropertyAccess

public interface PcodeTracePropertyAccess<T>
A trace-property access shim for a specific property
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Clear the property's value across a range
    get(Address address)
    Get the property's value at the given address
    getEntry(Address address)
    Get the property's entry at the given address
    Returns the language.
    boolean
    Check if the trace has allocated property space for the given address space
    void
    put(AddressRange range, T value)
    Set the property's value at the given range
    void
    put(Address address, T value)
    Set the property's value at the given address
  • Method Details

    • getLanguage

      Language getLanguage()
      Returns the language.
      Returns:
      the language
    • get

      T get(Address address)
      Get the property's value at the given address

      This may search for the same property from other related data sources, e.g., from mapped static images.

      Parameters:
      address - the address
      Returns:
      the value, or null if not set
    • getEntry

      Map.Entry<AddressRange,T> getEntry(Address address)
      Get the property's entry at the given address
      Parameters:
      address - the address
      Returns:
      the entry, or null if not set
    • put

      void put(Address address, T value)
      Set the property's value at the given address

      The value is effective for future snapshots up to but excluding the next snapshot where another value is set at the same address.

      Parameters:
      address - the address
      value - the value to set
    • put

      void put(AddressRange range, T value)
      Set the property's value at the given range

      The value is effective for future snapshots up to but excluding the next snapshot where another value is set at the same address.

      Parameters:
      range - the range
      value - the value to set
    • clear

      void clear(AddressRange range)
      Clear the property's value across a range
      Parameters:
      range - the range
    • hasSpace

      boolean hasSpace(AddressSpace space)
      Check if the trace has allocated property space for the given address space

      This is available for optimizations when it may take effort to compute an address. If the space is not allocated, then no matter the offset, the property will not have a value. Clients can check this method to avoid the address computation, if they already know the address space.

      Parameters:
      space - the address space
      Returns:
      true if there is a property space