LLDB mainline
|
General Outline: The AddressResolver is a Searcher. More...
#include "lldb/Core/AddressResolver.h"
Public Types | |
enum | MatchType { Exact , Regexp , Glob } |
Public Types inherited from lldb_private::Searcher | |
enum | CallbackReturn { eCallbackReturnStop = 0 , eCallbackReturnContinue , eCallbackReturnPop } |
Public Member Functions | |
AddressResolver () | |
~AddressResolver () override | |
virtual void | ResolveAddress (SearchFilter &filter) |
virtual void | ResolveAddressInModules (SearchFilter &filter, ModuleList &modules) |
void | GetDescription (Stream *s) override=0 |
Prints a canonical description for the searcher to the stream s. | |
std::vector< AddressRange > & | GetAddressRanges () |
size_t | GetNumberOfAddresses () |
AddressRange & | GetAddressRangeAtIndex (size_t idx) |
Public Member Functions inherited from lldb_private::Searcher | |
Searcher () | |
virtual | ~Searcher () |
virtual CallbackReturn | SearchCallback (SearchFilter &filter, SymbolContext &context, Address *addr)=0 |
virtual lldb::SearchDepth | GetDepth ()=0 |
virtual void | GetDescription (Stream *s) |
Prints a canonical description for the searcher to the stream s. | |
Protected Attributes | |
std::vector< AddressRange > | m_address_ranges |
Private Member Functions | |
AddressResolver (const AddressResolver &)=delete | |
const AddressResolver & | operator= (const AddressResolver &)=delete |
General Outline: The AddressResolver is a Searcher.
This class works with SearchFilter to resolve function names and source file locations to their concrete addresses.
In that protocol, the SearchFilter asks the question "At what depth of the symbol context descent do you want your callback to get called?" of the filter. The resolver answers this question (in the GetDepth method) and provides the resolution callback.
Definition at line 33 of file AddressResolver.h.
Enumerator | |
---|---|
Exact | |
Regexp | |
Glob |
Definition at line 35 of file AddressResolver.h.
|
default |
|
overridedefault |
|
privatedelete |
AddressRange & AddressResolver::GetAddressRangeAtIndex | ( | size_t | idx | ) |
Definition at line 41 of file AddressResolver.cpp.
References m_address_ranges.
Referenced by lldb_private::Module::FindAddressesForLine().
std::vector< AddressRange > & AddressResolver::GetAddressRanges | ( | ) |
Definition at line 33 of file AddressResolver.cpp.
References m_address_ranges.
|
overridepure virtual |
Prints a canonical description for the searcher to the stream s.
[in] | s | Stream to which the output is copied. |
Reimplemented from lldb_private::Searcher.
Implemented in lldb_private::AddressResolverFileLine.
size_t AddressResolver::GetNumberOfAddresses | ( | ) |
Definition at line 37 of file AddressResolver.cpp.
References m_address_ranges.
Referenced by lldb_private::Module::FindAddressesForLine().
|
privatedelete |
|
virtual |
Definition at line 29 of file AddressResolver.cpp.
References lldb_private::SearchFilter::Search().
Referenced by lldb_private::Module::FindAddressesForLine().
|
virtual |
Definition at line 24 of file AddressResolver.cpp.
References lldb_private::SearchFilter::SearchInModuleList().
|
protected |
Definition at line 55 of file AddressResolver.h.
Referenced by GetAddressRangeAtIndex(), GetAddressRanges(), GetNumberOfAddresses(), and lldb_private::AddressResolverFileLine::SearchCallback().