LLDB mainline
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
lldb_private::SearchFilterByModule Class Reference

This is a SearchFilter that restricts the search to a given module. More...

#include "lldb/Core/SearchFilter.h"

Inheritance diagram for lldb_private::SearchFilterByModule:
Inheritance graph
[legend]

Public Member Functions

 SearchFilterByModule (const lldb::TargetSP &targetSP, const FileSpec &module)
 The basic constructor takes a Target, which gives the space to search, and the module to restrict the search to.
 
 ~SearchFilterByModule () override
 
bool ModulePasses (const lldb::ModuleSP &module_sp) override
 Call this method with a Module to see if that module passes the filter.
 
bool ModulePasses (const FileSpec &spec) override
 Call this method with a file spec to see if that spec passes the filter.
 
bool AddressPasses (Address &address) override
 Call this method with a Address to see if address passes the filter.
 
void GetDescription (Stream *s) override
 Prints a canonical description for the search filter to the stream s.
 
uint32_t GetFilterRequiredItems () override
 This determines which items are REQUIRED for the filter to pass.
 
void Dump (Stream *s) const override
 Standard "Dump" method. At present it does nothing.
 
void Search (Searcher &searcher) override
 Call this method to do the search using the Searcher.
 
StructuredData::ObjectSP SerializeToStructuredData () override
 
- Public Member Functions inherited from lldb_private::SearchFilter
 SearchFilter (const lldb::TargetSP &target_sp)
 The basic constructor takes a Target, which gives the space to search.
 
 SearchFilter (const lldb::TargetSP &target_sp, unsigned char filterType)
 
virtual ~SearchFilter ()
 
virtual bool ModulePasses (const FileSpec &spec)
 Call this method with a file spec to see if that spec passes the filter.
 
virtual bool ModulePasses (const lldb::ModuleSP &module_sp)
 Call this method with a Module to see if that module passes the filter.
 
virtual bool AddressPasses (Address &addr)
 Call this method with a Address to see if address passes the filter.
 
virtual bool CompUnitPasses (FileSpec &fileSpec)
 Call this method with a FileSpec to see if file spec passes the filter as the name of a compilation unit.
 
virtual bool CompUnitPasses (CompileUnit &compUnit)
 Call this method with a CompileUnit to see if comp unit passes the filter.
 
virtual bool FunctionPasses (Function &function)
 Call this method with a Function to see if function passes the filter.
 
virtual void Search (Searcher &searcher)
 Call this method to do the search using the Searcher.
 
virtual void SearchInModuleList (Searcher &searcher, ModuleList &modules)
 Call this method to do the search using the Searcher in the module list modules.
 
virtual uint32_t GetFilterRequiredItems ()
 This determines which items are REQUIRED for the filter to pass.
 
virtual void GetDescription (Stream *s)
 Prints a canonical description for the search filter to the stream s.
 
virtual void Dump (Stream *s) const
 Standard "Dump" method. At present it does nothing.
 
lldb::SearchFilterSP CreateCopy (lldb::TargetSP &target_sp)
 
virtual StructuredData::ObjectSP SerializeToStructuredData ()
 
enum FilterTy GetFilterTy ()
 
const char * GetFilterName ()
 

Static Public Member Functions

static lldb::SearchFilterSP CreateFromStructuredData (const lldb::TargetSP &target_sp, const StructuredData::Dictionary &data_dict, Status &error)
 
- Static Public Member Functions inherited from lldb_private::SearchFilter
static lldb::SearchFilterSP CreateFromStructuredData (const lldb::TargetSP &target_sp, const StructuredData::Dictionary &data_dict, Status &error)
 
static const char * GetSerializationKey ()
 
static const char * GetSerializationSubclassKey ()
 
static const char * GetSerializationSubclassOptionsKey ()
 
static const char * FilterTyToName (enum FilterTy)
 
static FilterTy NameToFilterTy (llvm::StringRef name)
 

Protected Member Functions

lldb::SearchFilterSP DoCreateCopy () override
 
- Protected Member Functions inherited from lldb_private::SearchFilter
StructuredData::DictionarySP WrapOptionsDict (StructuredData::DictionarySP options_dict_sp)
 
void SerializeFileSpecList (StructuredData::DictionarySP &options_dict_sp, OptionNames name, FileSpecList &file_list)
 
Searcher::CallbackReturn DoModuleIteration (const SymbolContext &context, Searcher &searcher)
 
Searcher::CallbackReturn DoModuleIteration (const lldb::ModuleSP &module_sp, Searcher &searcher)
 
Searcher::CallbackReturn DoCUIteration (const lldb::ModuleSP &module_sp, const SymbolContext &context, Searcher &searcher)
 
Searcher::CallbackReturn DoFunctionIteration (Function *function, const SymbolContext &context, Searcher &searcher)
 
virtual lldb::SearchFilterSP DoCreateCopy ()=0
 
void SetTarget (lldb::TargetSP &target_sp)
 

Private Attributes

FileSpec m_module_spec
 

Additional Inherited Members

- Public Types inherited from lldb_private::SearchFilter
enum  FilterTy {
  Unconstrained = 0 , Exception , ByModule , ByModules ,
  ByModulesAndCU , LastKnownFilterType = ByModulesAndCU , UnknownFilter
}
 
- Static Public Attributes inherited from lldb_private::SearchFilter
static const char * g_ty_to_name [LastKnownFilterType+2]
 
- Protected Types inherited from lldb_private::SearchFilter
enum  OptionNames { ModList = 0 , CUList , LanguageName , LastOptionName }
 
- Static Protected Member Functions inherited from lldb_private::SearchFilter
static const char * GetKey (enum OptionNames enum_value)
 
- Protected Attributes inherited from lldb_private::SearchFilter
lldb::TargetSP m_target_sp
 
- Static Protected Attributes inherited from lldb_private::SearchFilter
static const char * g_option_names [LastOptionName]
 

Detailed Description

This is a SearchFilter that restricts the search to a given module.

Definition at line 314 of file SearchFilter.h.

Constructor & Destructor Documentation

◆ SearchFilterByModule()

SearchFilterByModule::SearchFilterByModule ( const lldb::TargetSP targetSP,
const FileSpec module 
)

The basic constructor takes a Target, which gives the space to search, and the module to restrict the search to.

Parameters
[in]targetSPThe Target that provides the module list to search.
[in]moduleThe Module that limits the search.

Definition at line 391 of file SearchFilter.cpp.

◆ ~SearchFilterByModule()

SearchFilterByModule::~SearchFilterByModule ( )
overridedefault

Member Function Documentation

◆ AddressPasses()

bool SearchFilterByModule::AddressPasses ( Address addr)
overridevirtual

Call this method with a Address to see if address passes the filter.

Parameters
[in]addrThe address to check against the filter.
Returns
true if address passes, and false otherwise.
Note
the default implementation always returns true.

Reimplemented from lldb_private::SearchFilter.

Definition at line 406 of file SearchFilter.cpp.

◆ CreateFromStructuredData()

SearchFilterSP SearchFilterByModule::CreateFromStructuredData ( const lldb::TargetSP target_sp,
const StructuredData::Dictionary data_dict,
Status error 
)
static

◆ DoCreateCopy()

SearchFilterSP SearchFilterByModule::DoCreateCopy ( )
overrideprotectedvirtual

Implements lldb_private::SearchFilter.

Definition at line 451 of file SearchFilter.cpp.

◆ Dump()

void SearchFilterByModule::Dump ( Stream s) const
overridevirtual

Standard "Dump" method. At present it does nothing.

Reimplemented from lldb_private::SearchFilter.

Definition at line 449 of file SearchFilter.cpp.

◆ GetDescription()

void SearchFilterByModule::GetDescription ( Stream s)
overridevirtual

Prints a canonical description for the search filter to the stream s.

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

Reimplemented from lldb_private::SearchFilter.

Definition at line 440 of file SearchFilter.cpp.

References lldb_private::ConstString::AsCString(), lldb_private::FileSpec::GetFilename(), m_module_spec, and lldb_private::Stream::PutCString().

◆ GetFilterRequiredItems()

uint32_t SearchFilterByModule::GetFilterRequiredItems ( )
overridevirtual

This determines which items are REQUIRED for the filter to pass.

For instance, if you are filtering by Compilation Unit, obviously symbols that have no compilation unit can't pass So return eSymbolContextCU and search callbacks can then short cut the search to avoid looking at things that obviously won't pass.

Returns
The required elements for the search, which is an or'ed together set of lldb:SearchContextItem enum's.

Reimplemented from lldb_private::SearchFilter.

Definition at line 445 of file SearchFilter.cpp.

◆ ModulePasses() [1/2]

bool SearchFilterByModule::ModulePasses ( const FileSpec spec)
overridevirtual

Call this method with a file spec to see if that spec passes the filter.

Parameters
[in]specThe file spec to check against the filter.
Returns
true if spec passes, and false otherwise.
Note
the default implementation always returns true.

Reimplemented from lldb_private::SearchFilter.

Definition at line 402 of file SearchFilter.cpp.

References m_module_spec, and lldb_private::FileSpec::Match().

◆ ModulePasses() [2/2]

bool SearchFilterByModule::ModulePasses ( const lldb::ModuleSP module_sp)
overridevirtual

Call this method with a Module to see if that module passes the filter.

Parameters
[in]module_spThe Module to check against the filter.
Returns
true if module passes, and false otherwise.
Note
the default implementation always returns true.

Reimplemented from lldb_private::SearchFilter.

Definition at line 397 of file SearchFilter.cpp.

References m_module_spec, and lldb_private::FileSpec::Match().

◆ Search()

void SearchFilterByModule::Search ( Searcher searcher)
overridevirtual

◆ SerializeToStructuredData()

StructuredData::ObjectSP SearchFilterByModule::SerializeToStructuredData ( )
overridevirtual

Member Data Documentation

◆ m_module_spec

FileSpec lldb_private::SearchFilterByModule::m_module_spec
private

Definition at line 353 of file SearchFilter.h.

Referenced by GetDescription(), ModulePasses(), Search(), and SerializeToStructuredData().


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