LLDB mainline
lldb_private::AddressResolver Class Referenceabstract

General Outline: The AddressResolver is a Searcher. More...

#include "lldb/Core/AddressResolver.h"

Inheritance diagram for lldb_private::AddressResolver:
[legend]

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 ()
AddressRangeGetAddressRangeAtIndex (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

Protected Attributes

std::vector< AddressRangem_address_ranges

Private Member Functions

 AddressResolver (const AddressResolver &)=delete
const AddressResolveroperator= (const AddressResolver &)=delete

Detailed Description

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.

Member Enumeration Documentation

◆ MatchType

Enumerator
Exact 
Regexp 
Glob 

Definition at line 35 of file AddressResolver.h.

Constructor & Destructor Documentation

◆ AddressResolver() [1/2]

AddressResolver::AddressResolver ( )
default

◆ ~AddressResolver()

AddressResolver::~AddressResolver ( )
overridedefault

◆ AddressResolver() [2/2]

lldb_private::AddressResolver::AddressResolver ( const AddressResolver & )
privatedelete

References AddressResolver().

Member Function Documentation

◆ GetAddressRangeAtIndex()

AddressRange & AddressResolver::GetAddressRangeAtIndex ( size_t idx)

Definition at line 41 of file AddressResolver.cpp.

References m_address_ranges.

Referenced by lldb_private::Module::FindAddressesForLine().

◆ GetAddressRanges()

std::vector< AddressRange > & AddressResolver::GetAddressRanges ( )

Definition at line 33 of file AddressResolver.cpp.

References m_address_ranges.

◆ GetDescription()

void lldb_private::AddressResolver::GetDescription ( Stream * s)
overridepure virtual

Prints a canonical description for the searcher to the stream s.

Parameters
[in]sStream to which the output is copied.

Reimplemented from lldb_private::Searcher.

Implemented in lldb_private::AddressResolverFileLine.

◆ GetNumberOfAddresses()

size_t AddressResolver::GetNumberOfAddresses ( )

Definition at line 37 of file AddressResolver.cpp.

References m_address_ranges.

Referenced by lldb_private::Module::FindAddressesForLine().

◆ operator=()

const AddressResolver & lldb_private::AddressResolver::operator= ( const AddressResolver & )
privatedelete

References AddressResolver().

◆ ResolveAddress()

void AddressResolver::ResolveAddress ( SearchFilter & filter)
virtual

◆ ResolveAddressInModules()

void AddressResolver::ResolveAddressInModules ( SearchFilter & filter,
ModuleList & modules )
virtual

Member Data Documentation

◆ m_address_ranges

std::vector<AddressRange> lldb_private::AddressResolver::m_address_ranges
protected

The documentation for this class was generated from the following files: