LLDB mainline
|
#include "LibCxx.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/FormatEntity.h"
#include "lldb/DataFormatters/FormattersHelpers.h"
#include "lldb/DataFormatters/StringPrinter.h"
#include "lldb/DataFormatters/TypeSummary.h"
#include "lldb/DataFormatters/VectorIterator.h"
#include "lldb/Target/SectionLoadList.h"
#include "lldb/Target/Target.h"
#include "lldb/Utility/ConstString.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/Endian.h"
#include "lldb/Utility/Status.h"
#include "lldb/Utility/Stream.h"
#include "lldb/ValueObject/ValueObject.h"
#include "lldb/ValueObject/ValueObjectConstResult.h"
#include "Plugins/Language/CPlusPlus/CxxStringTypes.h"
#include "Plugins/Language/CPlusPlus/Generic.h"
#include "Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h"
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include "lldb/lldb-enumerations.h"
#include "lldb/lldb-forward.h"
#include <optional>
#include <tuple>
Go to the source code of this file.
Functions | |
static void | consumeInlineNamespace (llvm::StringRef &name) |
static ValueObjectSP | ExtractLibCxxStringData (ValueObject &valobj) |
static std::optional< std::pair< uint64_t, ValueObjectSP > > | ExtractLibcxxStringInfo (ValueObject &valobj) |
Determine the size in bytes of valobj (a libc++ std::string object) and extract its data payload. | |
template<StringPrinter::StringElementType element_type> | |
static bool | LibcxxStringSummaryProvider (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &summary_options, std::string prefix_token) |
template<StringPrinter::StringElementType element_type> | |
static bool | formatStringImpl (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &summary_options, std::string prefix_token) |
static std::tuple< bool, ValueObjectSP, size_t > | LibcxxExtractStringViewData (ValueObject &valobj) |
template<StringPrinter::StringElementType element_type> | |
static bool | formatStringViewImpl (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &summary_options, std::string prefix_token) |
static bool | LibcxxChronoTimePointSecondsSummaryProvider (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &options, const char *fmt) |
static bool | LibcxxChronoTimepointDaysSummaryProvider (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &options, const char *fmt) |
|
static |
Definition at line 40 of file LibCxx.cpp.
Referenced by lldb_private::formatters::isStdTemplate().
|
static |
Definition at line 463 of file LibCxx.cpp.
References lldb_private::formatters::GetFirstValueOfLibCXXCompressedPair(), and lldb_private::formatters::GetValueOrOldCompressedPair().
Referenced by ExtractLibcxxStringInfo().
|
static |
Determine the size in bytes of valobj
(a libc++ std::string object) and extract its data payload.
Return the size + payload pair.
Definition at line 479 of file LibCxx.cpp.
References lldb_private::DataFormatters, ExtractLibCxxStringData(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::GetLog(), l, LLDB_INVALID_OFFSET, and LLDB_LOG_ERROR.
Referenced by LibcxxStringSummaryProvider(), and lldb_private::formatters::LibcxxWStringSummaryProvider().
|
static |
Definition at line 607 of file LibCxx.cpp.
References lldb_private::StreamString::GetData(), and LibcxxStringSummaryProvider().
Referenced by lldb_private::formatters::LibcxxStringSummaryProviderASCII(), lldb_private::formatters::LibcxxStringSummaryProviderUTF16(), and lldb_private::formatters::LibcxxStringSummaryProviderUTF32().
|
static |
Definition at line 662 of file LibCxx.cpp.
References LibcxxExtractStringViewData(), and lldb_private::formatters::StringBufferSummaryProvider().
Referenced by lldb_private::formatters::LibcxxStringViewSummaryProviderASCII(), lldb_private::formatters::LibcxxStringViewSummaryProviderUTF16(), and lldb_private::formatters::LibcxxStringViewSummaryProviderUTF32().
|
static |
Definition at line 790 of file LibCxx.cpp.
References lldb_private::ValueObject::GetChildMemberWithName(), and lldb_private::Stream::Printf().
Referenced by lldb_private::formatters::LibcxxChronoLocalDaysSummaryProvider(), and lldb_private::formatters::LibcxxChronoSysDaysSummaryProvider().
|
static |
Definition at line 734 of file LibCxx.cpp.
References lldb_private::ValueObject::GetChildMemberWithName(), and lldb_private::Stream::Printf().
Referenced by lldb_private::formatters::LibcxxChronoLocalSecondsSummaryProvider(), and lldb_private::formatters::LibcxxChronoSysSecondsSummaryProvider().
|
static |
Definition at line 642 of file LibCxx.cpp.
References lldb_private::formatters::GetChildMemberWithName().
Referenced by formatStringViewImpl(), and lldb_private::formatters::LibcxxWStringViewSummaryProvider().
|
static |
Definition at line 593 of file LibCxx.cpp.
References ExtractLibcxxStringInfo(), and lldb_private::formatters::StringBufferSummaryProvider().
Referenced by formatStringImpl().