Interface TraceSymbolWithAddressView<T extends TraceSymbol>

Type Parameters:
T - the type of symbols in the view
All Superinterfaces:
TraceSymbolView<T>
All Known Subinterfaces:
TraceSymbolWithAddressNoDuplicatesView<T>
All Known Implementing Classes:
DBTraceSymbolMultipleTypesWithAddressNoDuplicatesView, DBTraceSymbolMultipleTypesWithAddressView

public interface TraceSymbolWithAddressView<T extends TraceSymbol> extends TraceSymbolView<T>
A symbol view for things with an address in stack or register space, but not associated with a trace thread.

NOTE: This class is somewhat vestigial. It would be used to index parameters, locals, and global variables by their storage addresses. However, functions (and thus parameters and locals) are no longer supported. Furthermore, global variables are not fully implemented, yet.

Implementation Notes:
If this is later used for global variables, we might need to consider that the variable is no longer implicitly bound in time by a parent function. We might remove this and use TraceSymbolWithLocationView instead. Even if we brought back function support, being able to query by those implicit bounds would probably be useful.
  • Method Details

    • getChildWithNameAt

      T getChildWithNameAt(String name, Address address, TraceNamespaceSymbol parent)
      Get the child of the given parent having the given name at the given address.
      Parameters:
      name - the name of the symbol
      address - the address of the symbol
      parent - the parent namespace
      Returns:
      the symbol, or null
    • getGlobalWithNameAt

      default T getGlobalWithNameAt(String name, Address address)
      A shorthand for getChildWithNameAt(String, Address, TraceNamespaceSymbol) where parent is the global namespace.
      Parameters:
      name - the name of the symbol
      address - the address of the symbol
      Returns:
      the symbol, or null
    • getIntersecting

      Collection<? extends T> getIntersecting(AddressRange range, boolean includeDynamicSymbols)
      Get symbols in this view intersecting the given address range.
      Parameters:
      range - the range
      includeDynamicSymbols - true to include dynamically-generated symbols
      Returns:
      the symbols in this view satisfying the query
    • getAt

      Collection<? extends T> getAt(Address address, boolean includeDynamicSymbols)
      Get symbols in this view containing the given address.
      Parameters:
      address - the address of the symbol
      includeDynamicSymbols - true to include dynamically-generated symbols
      Returns:
      the symbols in this view satisfying the query
    • hasAt

      default boolean hasAt(Address address, boolean includeDynamicSymbols)
      Check if this view contains any symbols at the given address.
      Parameters:
      address - the address of the symbol
      includeDynamicSymbols - true to include dynamically-generated symbols
      Returns:
      true if any symbols in this view satisfy the query