diff options
Diffstat (limited to 'lldb/include/lldb/Target/StackFrameRecognizer.h')
-rw-r--r-- | lldb/include/lldb/Target/StackFrameRecognizer.h | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/lldb/include/lldb/Target/StackFrameRecognizer.h b/lldb/include/lldb/Target/StackFrameRecognizer.h index 2021ac5215f3..9c9105ac04e4 100644 --- a/lldb/include/lldb/Target/StackFrameRecognizer.h +++ b/lldb/include/lldb/Target/StackFrameRecognizer.h @@ -6,12 +6,13 @@ // //===----------------------------------------------------------------------===// -#ifndef liblldb_StackFrameRecognizer_h_ -#define liblldb_StackFrameRecognizer_h_ +#ifndef LLDB_TARGET_STACKFRAMERECOGNIZER_H +#define LLDB_TARGET_STACKFRAMERECOGNIZER_H #include "lldb/Core/ValueObject.h" #include "lldb/Core/ValueObjectList.h" #include "lldb/Symbol/VariableList.h" +#include "lldb/Target/StopInfo.h" #include "lldb/Utility/StructuredData.h" #include "lldb/lldb-private-forward.h" #include "lldb/lldb-public.h" @@ -33,10 +34,14 @@ public: virtual lldb::ValueObjectSP GetExceptionObject() { return lldb::ValueObjectSP(); } + virtual lldb::StackFrameSP GetMostRelevantFrame() { return nullptr; }; virtual ~RecognizedStackFrame(){}; + std::string GetStopDescription() { return m_stop_desc; } + protected: lldb::ValueObjectListSP m_arguments; + std::string m_stop_desc; }; /// \class StackFrameRecognizer @@ -85,7 +90,9 @@ public: lldb::StackFrameSP frame) override; private: - DISALLOW_COPY_AND_ASSIGN(ScriptedStackFrameRecognizer); + ScriptedStackFrameRecognizer(const ScriptedStackFrameRecognizer &) = delete; + const ScriptedStackFrameRecognizer & + operator=(const ScriptedStackFrameRecognizer &) = delete; }; /// \class StackFrameRecognizerManager @@ -97,7 +104,7 @@ class StackFrameRecognizerManager { public: static void AddRecognizer(lldb::StackFrameRecognizerSP recognizer, ConstString module, - ConstString symbol, + llvm::ArrayRef<ConstString> symbols, bool first_instruction_only = true); static void AddRecognizer(lldb::StackFrameRecognizerSP recognizer, @@ -105,10 +112,11 @@ public: lldb::RegularExpressionSP symbol, bool first_instruction_only = true); - static void ForEach( - std::function<void(uint32_t recognizer_id, std::string recognizer_name, - std::string module, std::string symbol, - bool regexp)> const &callback); + static void + ForEach(std::function<void(uint32_t recognizer_id, + std::string recognizer_name, std::string module, + llvm::ArrayRef<ConstString> symbols, + bool regexp)> const &callback); static bool RemoveRecognizerWithID(uint32_t recognizer_id); @@ -158,4 +166,4 @@ class ValueObjectRecognizerSynthesizedValue : public ValueObject { } // namespace lldb_private -#endif // liblldb_StackFrameRecognizer_h_ +#endif // LLDB_TARGET_STACKFRAMERECOGNIZER_H |