aboutsummaryrefslogtreecommitdiff
path: root/source/DataFormatters/CXXFunctionPointer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/DataFormatters/CXXFunctionPointer.cpp')
-rw-r--r--source/DataFormatters/CXXFunctionPointer.cpp75
1 files changed, 33 insertions, 42 deletions
diff --git a/source/DataFormatters/CXXFunctionPointer.cpp b/source/DataFormatters/CXXFunctionPointer.cpp
index c9e0ccb29698..41e9d4b382b3 100644
--- a/source/DataFormatters/CXXFunctionPointer.cpp
+++ b/source/DataFormatters/CXXFunctionPointer.cpp
@@ -1,4 +1,4 @@
-//===-- CXXFormatterFunctions.cpp---------------------------------*- C++ -*-===//
+//===-- CXXFunctionPointer.cpp-----------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -20,47 +20,38 @@ using namespace lldb;
using namespace lldb_private;
using namespace lldb_private::formatters;
-bool
-lldb_private::formatters::CXXFunctionPointerSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options)
-{
- std::string destination;
- StreamString sstr;
- AddressType func_ptr_address_type = eAddressTypeInvalid;
- addr_t func_ptr_address = valobj.GetPointerValue (&func_ptr_address_type);
- if (func_ptr_address != 0 && func_ptr_address != LLDB_INVALID_ADDRESS)
- {
- switch (func_ptr_address_type)
- {
- case eAddressTypeInvalid:
- case eAddressTypeFile:
- case eAddressTypeHost:
- break;
-
- case eAddressTypeLoad:
- {
- ExecutionContext exe_ctx (valobj.GetExecutionContextRef());
-
- Address so_addr;
- Target *target = exe_ctx.GetTargetPtr();
- if (target && target->GetSectionLoadList().IsEmpty() == false)
- {
- if (target->GetSectionLoadList().ResolveLoadAddress(func_ptr_address, so_addr))
- {
- so_addr.Dump (&sstr,
- exe_ctx.GetBestExecutionContextScope(),
- Address::DumpStyleResolvedDescription,
- Address::DumpStyleSectionNameOffset);
- }
- }
- }
- break;
+bool lldb_private::formatters::CXXFunctionPointerSummaryProvider(
+ ValueObject &valobj, Stream &stream, const TypeSummaryOptions &options) {
+ std::string destination;
+ StreamString sstr;
+ AddressType func_ptr_address_type = eAddressTypeInvalid;
+ addr_t func_ptr_address = valobj.GetPointerValue(&func_ptr_address_type);
+ if (func_ptr_address != 0 && func_ptr_address != LLDB_INVALID_ADDRESS) {
+ switch (func_ptr_address_type) {
+ case eAddressTypeInvalid:
+ case eAddressTypeFile:
+ case eAddressTypeHost:
+ break;
+
+ case eAddressTypeLoad: {
+ ExecutionContext exe_ctx(valobj.GetExecutionContextRef());
+
+ Address so_addr;
+ Target *target = exe_ctx.GetTargetPtr();
+ if (target && target->GetSectionLoadList().IsEmpty() == false) {
+ if (target->GetSectionLoadList().ResolveLoadAddress(func_ptr_address,
+ so_addr)) {
+ so_addr.Dump(&sstr, exe_ctx.GetBestExecutionContextScope(),
+ Address::DumpStyleResolvedDescription,
+ Address::DumpStyleSectionNameOffset);
}
+ }
+ } break;
}
- if (sstr.GetSize() > 0)
- {
- stream.Printf("(%s)", sstr.GetData());
- return true;
- }
- else
- return false;
+ }
+ if (sstr.GetSize() > 0) {
+ stream.Printf("(%s)", sstr.GetData());
+ return true;
+ } else
+ return false;
}