summaryrefslogtreecommitdiff
path: root/lldb/include/lldb/Target/StackFrameRecognizer.h
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/include/lldb/Target/StackFrameRecognizer.h')
-rw-r--r--lldb/include/lldb/Target/StackFrameRecognizer.h26
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