aboutsummaryrefslogtreecommitdiffstats
path: root/include/lldb/Breakpoint/BreakpointResolverFileRegex.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Breakpoint/BreakpointResolverFileRegex.h')
-rw-r--r--include/lldb/Breakpoint/BreakpointResolverFileRegex.h80
1 files changed, 43 insertions, 37 deletions
diff --git a/include/lldb/Breakpoint/BreakpointResolverFileRegex.h b/include/lldb/Breakpoint/BreakpointResolverFileRegex.h
index ce67c2dc98ec..0429e264774e 100644
--- a/include/lldb/Breakpoint/BreakpointResolverFileRegex.h
+++ b/include/lldb/Breakpoint/BreakpointResolverFileRegex.h
@@ -1,4 +1,5 @@
-//===-- BreakpointResolverFileRegex.h ----------------------------*- C++ -*-===//
+//===-- BreakpointResolverFileRegex.h ----------------------------*- C++
+//-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -21,57 +22,62 @@
namespace lldb_private {
//----------------------------------------------------------------------
-/// @class BreakpointResolverFileRegex BreakpointResolverFileRegex.h "lldb/Breakpoint/BreakpointResolverFileRegex.h"
-/// @brief This class sets breakpoints by file and line. Optionally, it will look for inlined
+/// @class BreakpointResolverFileRegex BreakpointResolverFileRegex.h
+/// "lldb/Breakpoint/BreakpointResolverFileRegex.h"
+/// @brief This class sets breakpoints by file and line. Optionally, it will
+/// look for inlined
/// instances of the file and line specification.
//----------------------------------------------------------------------
-class BreakpointResolverFileRegex :
- public BreakpointResolver
-{
+class BreakpointResolverFileRegex : public BreakpointResolver {
public:
- BreakpointResolverFileRegex (Breakpoint *bkpt,
- RegularExpression &regex,
- const std::unordered_set<std::string> &func_name_set,
- bool exact_match);
+ BreakpointResolverFileRegex(
+ Breakpoint *bkpt, RegularExpression &regex,
+ const std::unordered_set<std::string> &func_name_set, bool exact_match);
- ~BreakpointResolverFileRegex() override;
+ static BreakpointResolver *
+ CreateFromStructuredData(Breakpoint *bkpt,
+ const StructuredData::Dictionary &options_dict,
+ Error &error);
- Searcher::CallbackReturn
- SearchCallback (SearchFilter &filter,
- SymbolContext &context,
- Address *addr,
- bool containing) override;
+ StructuredData::ObjectSP SerializeToStructuredData() override;
- Searcher::Depth
- GetDepth () override;
+ ~BreakpointResolverFileRegex() override;
- void
- GetDescription (Stream *s) override;
+ Searcher::CallbackReturn SearchCallback(SearchFilter &filter,
+ SymbolContext &context, Address *addr,
+ bool containing) override;
- void
- Dump (Stream *s) const override;
-
- void
- AddFunctionName(const char *func_name);
+ Searcher::Depth GetDepth() override;
- /// Methods for support type inquiry through isa, cast, and dyn_cast:
- static inline bool classof(const BreakpointResolverFileRegex *) { return true; }
- static inline bool classof(const BreakpointResolver *V) {
- return V->getResolverID() == BreakpointResolver::FileRegexResolver;
- }
+ void GetDescription(Stream *s) override;
- lldb::BreakpointResolverSP
- CopyForBreakpoint (Breakpoint &breakpoint) override;
+ void Dump(Stream *s) const override;
+
+ void AddFunctionName(const char *func_name);
+
+ /// Methods for support type inquiry through isa, cast, and dyn_cast:
+ static inline bool classof(const BreakpointResolverFileRegex *) {
+ return true;
+ }
+ static inline bool classof(const BreakpointResolver *V) {
+ return V->getResolverID() == BreakpointResolver::FileRegexResolver;
+ }
+
+ lldb::BreakpointResolverSP CopyForBreakpoint(Breakpoint &breakpoint) override;
protected:
- friend class Breakpoint;
- RegularExpression m_regex; // This is the line expression that we are looking for.
- bool m_exact_match; // If true, then if the source we match is in a comment, we won't set a location there.
- std::unordered_set<std::string> m_function_names; // Limit the search to functions in the comp_unit passed in.
+ friend class Breakpoint;
+ RegularExpression
+ m_regex; // This is the line expression that we are looking for.
+ bool m_exact_match; // If true, then if the source we match is in a comment,
+ // we won't set a location there.
+ std::unordered_set<std::string> m_function_names; // Limit the search to
+ // functions in the
+ // comp_unit passed in.
private:
- DISALLOW_COPY_AND_ASSIGN(BreakpointResolverFileRegex);
+ DISALLOW_COPY_AND_ASSIGN(BreakpointResolverFileRegex);
};
} // namespace lldb_private