Package ghidra.trace.model.symbol
Interface TraceSymbolWithLocationView<T extends TraceSymbol>
- Type Parameters:
T- the type of symbols in the view
- All Superinterfaces:
TraceSymbolView<T>
- All Known Subinterfaces:
TraceLabelSymbolView
- All Known Implementing Classes:
DBTraceLabelSymbolView,DBTraceSymbolMultipleTypesWithLocationView
A symbol view for things bound by an address range and lifespan.
NOTE: We may eventually drop the thread parameter from these methods, as we
transition to using register-space overlays.
-
Method Summary
Modifier and TypeMethodDescriptiondefault Collection<? extends T> Get symbols in this view at the given point.default Collection<? extends T> getAt(long snap, TraceThread thread, Register register, boolean includeDynamicSymbols) Get symbols in this view at the given register's min address.default Collection<? extends T> getAt(TracePlatform platform, long snap, TraceThread thread, Register register, boolean includeDynamicSymbols) Get symbols in this view at the given register's min address.getChildWithNameAt(String name, long snap, Address address, TraceNamespaceSymbol parent) Get the child of the given parent having the given name at the given point.default TgetChildWithNameAt(String name, long snap, TraceThread thread, Register register, TraceNamespaceSymbol parent) Get the child of the given parent having the given name at the given register's min address.default TgetChildWithNameAt(String name, TracePlatform platform, long snap, TraceThread thread, Register register, TraceNamespaceSymbol parent) Get the child of the given parent having the given name at the given register's min address.default TgetGlobalWithNameAt(String name, long snap, Address address) A shorthand forgetChildWithNameAt(String, long, Address, TraceNamespaceSymbol)where parent is the global namespace.default Collection<? extends T> getIntersecting(TracePlatform platform, Lifespan span, TraceThread thread, Register register, boolean includeDynamicSymbols, boolean forward) Get symbols in this view intersecting the given register.Collection<? extends T> getIntersecting(Lifespan span, AddressRange range, boolean includeDynamicSymbols, boolean forward) Get symbols in this view intersecting the given box.default Collection<? extends T> getIntersecting(Lifespan span, TraceThread thread, Register register, boolean includeDynamicSymbols, boolean forward) Get symbols in this view intersecting the given register.default booleanCheck if this view contains any symbols at the given point.Methods inherited from interface ghidra.trace.model.symbol.TraceSymbolView
getAll, getChildren, getChildrenNamed, getGlobals, getGlobalsNamed, getManager, getNamed, getTrace, getWithMatchingName, scanByName, size
-
Method Details
-
getChildWithNameAt
Get the child of the given parent having the given name at the given point.- Parameters:
name- the name of the symbolsnap- the snapshot keyaddress- the address of the symbolparent- the parent namespace- Returns:
- the symbol, or null
-
getChildWithNameAt
default T getChildWithNameAt(String name, TracePlatform platform, long snap, TraceThread thread, Register register, TraceNamespaceSymbol parent) Get the child of the given parent having the given name at the given register's min address.- Parameters:
name- the name of the symbolplatform- the platform defining the registersnap- the snapshot keythread- the threadregister- the register whose min address to checkparent- the parent namespace- Returns:
- the symbol, or null
-
getChildWithNameAt
default T getChildWithNameAt(String name, long snap, TraceThread thread, Register register, TraceNamespaceSymbol parent) Get the child of the given parent having the given name at the given register's min address.- Parameters:
name- the name of the symbolsnap- the snapshot keythread- the threadregister- the register whose min address to checkparent- the parent namespace- Returns:
- the symbol, or null
-
getGlobalWithNameAt
A shorthand forgetChildWithNameAt(String, long, Address, TraceNamespaceSymbol)where parent is the global namespace.- Parameters:
name- the name of the symbolsnap- the snapshot keyaddress- the address of the symbol- Returns:
- the symbol, or null
-
getIntersecting
Collection<? extends T> getIntersecting(Lifespan span, AddressRange range, boolean includeDynamicSymbols, boolean forward) Get symbols in this view intersecting the given box.- Parameters:
span- the time bound of the boxrange- the address bound of the boxincludeDynamicSymbols- true to include dynamically-generated symbolsforward- true if the collection should be ordered forward by address, false for backward by address.- Returns:
- the symbols in this view satisfying the query
-
getIntersecting
default Collection<? extends T> getIntersecting(TracePlatform platform, Lifespan span, TraceThread thread, Register register, boolean includeDynamicSymbols, boolean forward) Get symbols in this view intersecting the given register.- Parameters:
platform- the platform defining the registerspan- the time bound of the boxthread- the threadregister- the registerincludeDynamicSymbols- true to include dynamically-generated symbolsforward- true if the collection should be ordered forward by address, false for backward by address.- Returns:
- the symbols in this view satisfying the query
-
getIntersecting
default Collection<? extends T> getIntersecting(Lifespan span, TraceThread thread, Register register, boolean includeDynamicSymbols, boolean forward) Get symbols in this view intersecting the given register.- Parameters:
span- the time bound of the boxthread- the threadregister- the registerincludeDynamicSymbols- true to include dynamically-generated symbolsforward- true if the collection should be ordered forward by address, false for backward by address.- Returns:
- the symbols in this view satisfying the query
-
getAt
Get symbols in this view at the given point.The result will be ordered with the primary symbol first.
- Parameters:
snap- the snapshot keyaddress- the address of the symbolsincludeDynamicSymbols- true to include dynamically-generated symbols- Returns:
- the symbols in this view satisfying the query
-
getAt
default Collection<? extends T> getAt(TracePlatform platform, long snap, TraceThread thread, Register register, boolean includeDynamicSymbols) Get symbols in this view at the given register's min address.The result will be ordered with the primary symbol first.
- Parameters:
platform- the platform defining the registersnap- the snapshot keythread- the threadregister- the registerincludeDynamicSymbols- true to include dynamically-generated symbols- Returns:
- the symbols in this view satisfying the query
-
getAt
default Collection<? extends T> getAt(long snap, TraceThread thread, Register register, boolean includeDynamicSymbols) Get symbols in this view at the given register's min address.The result will be ordered with the primary symbol first.
- Parameters:
snap- the snapshot keythread- the threadregister- the registerincludeDynamicSymbols- true to include dynamically-generated symbols- Returns:
- the symbols in this view satisfying the query
-
hasAt
Check if this view contains any symbols at the given point.- Parameters:
snap- the snapshot keyaddress- the address of the symbolsincludeDynamicSymbols- true to include dynamically-generated symbols- Returns:
- true if any symbols in this view satisfy the query
-