aboutsummaryrefslogtreecommitdiff
path: root/include/lldb/Core/SearchFilter.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Core/SearchFilter.h')
-rw-r--r--include/lldb/Core/SearchFilter.h148
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;