LLDB mainline
|
#include "lldb/DataFormatters/StringPrinter.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Target/Language.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/Target.h"
#include "lldb/Utility/Status.h"
#include "lldb/ValueObject/ValueObject.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/ConvertUTF.h"
#include <cctype>
#include <locale>
#include <memory>
Go to the source code of this file.
Classes | |
class | DecodedCharBuffer |
DecodedCharBuffer stores the decoded contents of a single character. More... | |
Namespaces | |
namespace | lldb_private |
A class that represents a running process on the host machine. | |
namespace | lldb_private::formatters |
Typedefs | |
using | GetPrintableElementType = StringPrinter::GetPrintableElementType |
using | StringElementType = StringPrinter::StringElementType |
using | EscapingHelper = std::function< DecodedCharBuffer(uint8_t *, uint8_t *, uint8_t *&)> |
Functions | |
template<StringElementType type> | |
static DecodedCharBuffer | GetPrintableImpl (uint8_t *buffer, uint8_t *buffer_end, uint8_t *&next, StringPrinter::EscapeStyle escape_style) |
static bool | isprint32 (char32_t codepoint) |
DecodedCharBuffer | attemptASCIIEscape (llvm::UTF32 c, StringPrinter::EscapeStyle escape_style) |
template<> | |
DecodedCharBuffer | GetPrintableImpl< StringElementType::ASCII > (uint8_t *buffer, uint8_t *buffer_end, uint8_t *&next, StringPrinter::EscapeStyle escape_style) |
template<> | |
DecodedCharBuffer | GetPrintableImpl< StringElementType::UTF8 > (uint8_t *buffer, uint8_t *buffer_end, uint8_t *&next, StringPrinter::EscapeStyle escape_style) |
static DecodedCharBuffer | GetPrintable (StringElementType type, uint8_t *buffer, uint8_t *buffer_end, uint8_t *&next, StringPrinter::EscapeStyle escape_style) |
static EscapingHelper | GetDefaultEscapingHelper (GetPrintableElementType elem_type, StringPrinter::EscapeStyle escape_style) |
template<typename SourceDataType > | |
static bool | DumpEncodedBufferToStream (GetPrintableElementType style, llvm::ConversionResult(*ConvertFunction)(const SourceDataType **, const SourceDataType *, llvm::UTF8 **, llvm::UTF8 *, llvm::ConversionFlags), const StringPrinter::ReadBufferAndDumpToStreamOptions &dump_options) |
Read a string encoded in accordance with. | |
template<typename SourceDataType > | |
static bool | lldb_private::formatters::ReadEncodedBufferAndDumpToStream (StringElementType elem_type, const StringPrinter::ReadStringAndDumpToStreamOptions &options, llvm::ConversionResult(*ConvertFunction)(const SourceDataType **, const SourceDataType *, llvm::UTF8 **, llvm::UTF8 *, llvm::ConversionFlags)) |
template<> | |
bool | lldb_private::formatters::StringPrinter::ReadStringAndDumpToStream< StringElementType::UTF8 > (const ReadStringAndDumpToStreamOptions &options) |
template<> | |
bool | lldb_private::formatters::StringPrinter::ReadStringAndDumpToStream< StringElementType::UTF16 > (const ReadStringAndDumpToStreamOptions &options) |
template<> | |
bool | lldb_private::formatters::StringPrinter::ReadStringAndDumpToStream< StringElementType::UTF32 > (const ReadStringAndDumpToStreamOptions &options) |
template<> | |
bool | lldb_private::formatters::StringPrinter::ReadStringAndDumpToStream< StringElementType::ASCII > (const ReadStringAndDumpToStreamOptions &options) |
template<> | |
bool | lldb_private::formatters::StringPrinter::ReadBufferAndDumpToStream< StringElementType::UTF8 > (const ReadBufferAndDumpToStreamOptions &options) |
template<> | |
bool | lldb_private::formatters::StringPrinter::ReadBufferAndDumpToStream< StringElementType::UTF16 > (const ReadBufferAndDumpToStreamOptions &options) |
template<> | |
bool | lldb_private::formatters::StringPrinter::ReadBufferAndDumpToStream< StringElementType::UTF32 > (const ReadBufferAndDumpToStreamOptions &options) |
template<> | |
bool | lldb_private::formatters::StringPrinter::ReadBufferAndDumpToStream< StringElementType::ASCII > (const ReadBufferAndDumpToStreamOptions &options) |
using EscapingHelper = std::function<DecodedCharBuffer(uint8_t *, uint8_t *, uint8_t *&)> |
Definition at line 58 of file StringPrinter.cpp.
Definition at line 28 of file StringPrinter.cpp.
Definition at line 29 of file StringPrinter.cpp.
DecodedCharBuffer attemptASCIIEscape | ( | llvm::UTF32 | c, |
StringPrinter::EscapeStyle | escape_style | ||
) |
Definition at line 96 of file StringPrinter.cpp.
Referenced by GetPrintableImpl< StringElementType::ASCII >(), and GetPrintableImpl< StringElementType::UTF8 >().
|
static |
Read a string encoded in accordance with.
SourceDataType | from a host-side LLDB buffer, then pretty-print it to a stream using style . |
Definition at line 256 of file StringPrinter.cpp.
References lldb_private::formatters::StringPrinter::DumpToStreamOptions::GetBinaryZeroIsTerminator(), lldb_private::formatters::StringPrinter::ReadBufferAndDumpToStreamOptions::GetData(), GetDefaultEscapingHelper(), lldb_private::formatters::StringPrinter::DumpToStreamOptions::GetEscapeNonPrintables(), lldb_private::formatters::StringPrinter::DumpToStreamOptions::GetEscapeStyle(), lldb_private::formatters::StringPrinter::ReadBufferAndDumpToStreamOptions::GetIsTruncated(), lldb_private::formatters::StringPrinter::DumpToStreamOptions::GetPrefixToken(), lldb_private::formatters::StringPrinter::DumpToStreamOptions::GetQuote(), lldb_private::formatters::StringPrinter::DumpToStreamOptions::GetSourceSize(), lldb_private::formatters::StringPrinter::DumpToStreamOptions::GetStream(), lldb_private::formatters::StringPrinter::DumpToStreamOptions::GetSuffixToken(), and lldb_private::Stream::Printf().
Referenced by lldb_private::formatters::ReadEncodedBufferAndDumpToStream(), lldb_private::formatters::StringPrinter::ReadBufferAndDumpToStream< StringElementType::UTF16 >(), and lldb_private::formatters::StringPrinter::ReadBufferAndDumpToStream< StringElementType::UTF32 >().
|
static |
Definition at line 237 of file StringPrinter.cpp.
References GetPrintable().
Referenced by DumpEncodedBufferToStream().
|
static |
Definition at line 218 of file StringPrinter.cpp.
References GetPrintableImpl< StringElementType::ASCII >(), and GetPrintableImpl< StringElementType::UTF8 >().
Referenced by GetDefaultEscapingHelper().
|
static |
DecodedCharBuffer GetPrintableImpl< StringElementType::ASCII > | ( | uint8_t * | buffer, |
uint8_t * | buffer_end, | ||
uint8_t *& | next, | ||
StringPrinter::EscapeStyle | escape_style | ||
) |
Definition at line 136 of file StringPrinter.cpp.
References attemptASCIIEscape(), DecodedCharBuffer::GetSize(), and lldbassert.
Referenced by GetPrintable(), and GetPrintableImpl< StringElementType::UTF8 >().
DecodedCharBuffer GetPrintableImpl< StringElementType::UTF8 > | ( | uint8_t * | buffer, |
uint8_t * | buffer_end, | ||
uint8_t *& | next, | ||
StringPrinter::EscapeStyle | escape_style | ||
) |
Definition at line 169 of file StringPrinter.cpp.
References attemptASCIIEscape(), GetPrintableImpl< StringElementType::ASCII >(), DecodedCharBuffer::GetSize(), isprint32(), lldbassert, and UNUSED_IF_ASSERT_DISABLED.
Referenced by GetPrintable().
|
static |
Definition at line 69 of file StringPrinter.cpp.
Referenced by GetPrintableImpl< StringElementType::UTF8 >().