diff options
Diffstat (limited to 'include/lldb/Core/SearchFilter.h')
-rw-r--r-- | include/lldb/Core/SearchFilter.h | 148 |
1 files changed, 88 insertions, 60 deletions
diff --git a/include/lldb/Core/SearchFilter.h b/include/lldb/Core/SearchFilter.h index 57f1b9c1a0a5..bbb7509cedb2 100644 --- a/include/lldb/Core/SearchFilter.h +++ b/include/lldb/Core/SearchFilter.h @@ -225,8 +225,10 @@ public: virtual void Dump (Stream *s) const; -protected: + lldb::SearchFilterSP + CopyForBreakpoint (Breakpoint &breakpoint); +protected: // These are utility functions to assist with the search iteration. They are used by the // default Search method. @@ -248,26 +250,40 @@ protected: const SymbolContext &context, Searcher &searcher); + virtual lldb::SearchFilterSP + DoCopyForBreakpoint (Breakpoint &breakpoint) = 0; + + void + SetTarget(lldb::TargetSP &target_sp) + { + m_target_sp = target_sp; + } + lldb::TargetSP m_target_sp; // Every filter has to be associated with a target for // now since you need a starting place for the search. }; //---------------------------------------------------------------------- -/// @class SearchFilterForNonModuleSpecificSearches SearchFilter.h "lldb/Core/SearchFilter.h" -/// @brief This is a SearchFilter that searches through all modules. It also consults the Target::ModuleIsExcludedForNonModuleSpecificSearches. +/// @class SearchFilterForUnconstrainedSearches SearchFilter.h "lldb/Core/SearchFilter.h" +/// @brief This is a SearchFilter that searches through all modules. It also consults the Target::ModuleIsExcludedForUnconstrainedSearches. //---------------------------------------------------------------------- -class SearchFilterForNonModuleSpecificSearches : +class SearchFilterForUnconstrainedSearches : public SearchFilter { public: - SearchFilterForNonModuleSpecificSearches (const lldb::TargetSP &targetSP) : SearchFilter(targetSP) {} - ~SearchFilterForNonModuleSpecificSearches () {} + SearchFilterForUnconstrainedSearches (const lldb::TargetSP &target_sp) : SearchFilter(target_sp) {} + ~SearchFilterForUnconstrainedSearches () {} - virtual bool - ModulePasses (const FileSpec &module_spec); + bool + ModulePasses (const FileSpec &module_spec) override; - virtual bool - ModulePasses (const lldb::ModuleSP &module_sp); + bool + ModulePasses (const lldb::ModuleSP &module_sp) override; + +protected: + lldb::SearchFilterSP + DoCopyForBreakpoint (Breakpoint &breakpoint) override; + }; //---------------------------------------------------------------------- @@ -301,32 +317,36 @@ public: const SearchFilterByModule& operator=(const SearchFilterByModule& rhs); - virtual bool - ModulePasses (const lldb::ModuleSP &module_sp); + bool + ModulePasses (const lldb::ModuleSP &module_sp) override; - virtual bool - ModulePasses (const FileSpec &spec); + bool + ModulePasses (const FileSpec &spec) override; - virtual bool - AddressPasses (Address &address); + bool + AddressPasses (Address &address) override; - virtual bool - CompUnitPasses (FileSpec &fileSpec); + bool + CompUnitPasses (FileSpec &fileSpec) override; - virtual bool - CompUnitPasses (CompileUnit &compUnit); + bool + CompUnitPasses (CompileUnit &compUnit) override; - virtual void - GetDescription(Stream *s); + void + GetDescription(Stream *s) override; - virtual uint32_t - GetFilterRequiredItems (); + uint32_t + GetFilterRequiredItems () override; - virtual void - Dump (Stream *s) const; + void + Dump (Stream *s) const override; - virtual void - Search (Searcher &searcher); + void + Search (Searcher &searcher) override; + +protected: + lldb::SearchFilterSP + DoCopyForBreakpoint (Breakpoint &breakpoint) override; private: FileSpec m_module_spec; @@ -358,32 +378,36 @@ public: const SearchFilterByModuleList& operator=(const SearchFilterByModuleList& rhs); - virtual bool - ModulePasses (const lldb::ModuleSP &module_sp); + bool + ModulePasses (const lldb::ModuleSP &module_sp) override; - virtual bool - ModulePasses (const FileSpec &spec); + bool + ModulePasses (const FileSpec &spec) override; - virtual bool - AddressPasses (Address &address); + bool + AddressPasses (Address &address) override; - virtual bool - CompUnitPasses (FileSpec &fileSpec); + bool + CompUnitPasses (FileSpec &fileSpec) override; - virtual bool - CompUnitPasses (CompileUnit &compUnit); + bool + CompUnitPasses (CompileUnit &compUnit) override; - virtual void - GetDescription(Stream *s); + void + GetDescription(Stream *s) override; - virtual uint32_t - GetFilterRequiredItems (); + uint32_t + GetFilterRequiredItems () override; - virtual void - Dump (Stream *s) const; + void + Dump (Stream *s) const override; - virtual void - Search (Searcher &searcher); + void + Search (Searcher &searcher) override; + +protected: + lldb::SearchFilterSP + DoCopyForBreakpoint (Breakpoint &breakpoint) override; private: FileSpecList m_module_spec_list; @@ -416,26 +440,30 @@ public: const SearchFilterByModuleListAndCU& operator=(const SearchFilterByModuleListAndCU& rhs); - virtual bool - AddressPasses (Address &address); + bool + AddressPasses (Address &address) override; - virtual bool - CompUnitPasses (FileSpec &fileSpec); + bool + CompUnitPasses (FileSpec &fileSpec) override; - virtual bool - CompUnitPasses (CompileUnit &compUnit); + bool + CompUnitPasses (CompileUnit &compUnit) override; - virtual void - GetDescription(Stream *s); + void + GetDescription(Stream *s) override; - virtual uint32_t - GetFilterRequiredItems (); + uint32_t + GetFilterRequiredItems () override; - virtual void - Dump (Stream *s) const; + void + Dump (Stream *s) const override; - virtual void - Search (Searcher &searcher); + void + Search (Searcher &searcher) override; + +protected: + lldb::SearchFilterSP + DoCopyForBreakpoint (Breakpoint &breakpoint) override; private: FileSpecList m_module_spec_list; |