summaryrefslogtreecommitdiffstats
path: root/lldb/include
diff options
context:
space:
mode:
authorShafik Yaghmour <syaghmour@apple.com>2018-09-11 20:58:28 +0000
committerShafik Yaghmour <syaghmour@apple.com>2018-09-11 20:58:28 +0000
commit443e20ba325b6f1c5ecf2cd2470fc3e72b887e9b (patch)
tree63a9ecc29785560afad7dfea69bc514ff32516d5 /lldb/include
parent48e5b8b1a45aafb0b275758c80d5381bd3ce3659 (diff)
downloadbcm5719-llvm-443e20ba325b6f1c5ecf2cd2470fc3e72b887e9b.tar.gz
bcm5719-llvm-443e20ba325b6f1c5ecf2cd2470fc3e72b887e9b.zip
Refactoring std::function formatter to move core functionality into CPPLanguageRuntime
Patch by Shafik Yaghmour. Differential Revision: https://reviews.llvm.org/D51896 llvm-svn: 341991
Diffstat (limited to 'lldb/include')
-rw-r--r--lldb/include/lldb/Target/CPPLanguageRuntime.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/lldb/include/lldb/Target/CPPLanguageRuntime.h b/lldb/include/lldb/Target/CPPLanguageRuntime.h
index aae85f420ef..15c8de9afbe 100644
--- a/lldb/include/lldb/Target/CPPLanguageRuntime.h
+++ b/lldb/include/lldb/Target/CPPLanguageRuntime.h
@@ -24,6 +24,25 @@ namespace lldb_private {
class CPPLanguageRuntime : public LanguageRuntime {
public:
+ enum class LibCppStdFunctionCallableCase {
+ Lambda = 0,
+ CallableObject,
+ FreeOrMemberFunction,
+ Invalid
+ };
+
+ struct LibCppStdFunctionCallableInfo {
+ Symbol callable_symbol;
+ Address callable_address;
+ LineEntry callable_line_entry;
+ lldb::addr_t member__f_pointer_value = 0u;
+ LibCppStdFunctionCallableCase callable_case =
+ LibCppStdFunctionCallableCase::Invalid;
+ };
+
+ LibCppStdFunctionCallableInfo
+ FindLibCppStdFunctionCallableInfo(lldb::ValueObjectSP &valobj_sp);
+
~CPPLanguageRuntime() override;
lldb::LanguageType GetLanguageType() const override {
OpenPOWER on IntegriCloud